↓ Skip to Content
When I switched this blog from WordPress to Jekyll I ended up writing a bunch of Jekyll plugins to make the transition easier. I've updated the code section with the first plugin - jekyll-archive-page.
It's nothing too fancy, and the code isn't very elegant, but it gets the job done.
I currently work as a freelance software engineer. Although my work hasn't changed too much since I started, how I organise myself has.
This is a short post about how I currently get things done & my current work setup. I've always found it interesting to see how other people work, but I always want to be able to look back and see how my setup has changed over time.
My tasks generally fall into the following buckets:
As work comes in I'll have to make a decision on how important it is, based on what it is and what I'm already doing. For example, if I'm working on a fix for one project and an email about tweaking text comes in, I'll put it off until I'm done. However, if a site is down or something is seriously broken I'll drop what I'm doing to fix it.
I've kept this for the last few years. There's room for improvement, but so far I've found it to be the most efficient system for me.
Work on whatever I have going on. Getting up early allows me to get important work done before everyone else wakes up and starts adding more.
I'll check my org-agenda first to see what's due, and then work on any other priority items. I prefer to work on something that I can get done before 8 so that I've started my day in a good way.
Every day is a little different. Sometimes everything goes smoothly and I have a nice, efficient day. Other times everything starts going wrong and my plan goes straight out the window.
I've simplified my setup in recent years, and it currently has very few components:
Emacs + org-mode - For things I need to think about harder I'll use some paper to sketch out notes, but that's pretty much it.
I have a directory for client projects, and each client has their own org
file. I also have directories for my own projects, and an
for keeping track of incoming items and things that don't really belong
All my org files are synced using DropBox.
The majority of my projects are web-based, so my setup is tailored towards making that more efficient. Like my organisation system, I've tried to keep things simple.
My editor of choice is emacs - see my list of emacs extensions for an idea
of what I have installed. My
.emacs.d is also synced using DropBox so that
whether I'm on my laptop or desktop I have pretty much the same environment.
I also use emacs for tracking my time, although for some clients I use Harvest.
PHP development tools include phpunit and behat for testing, and phing for automating things (such as testing and deployment). Everything lives in source control where possible. I prefer git as it's easier to get small repositories setup quickly.
I use a couple of other tools to keep me in line:
I first started using Beeminder back in April of 2012, and since then it's become an important part of my toolset. I still fall off the road more often than I'd like, but overall it's made a very positive impact.
Over time I've noticed certain patterns emerging in the Beeminder goals I've tried:
Sort of. But in a good way.
I've found it difficult to accept that I have very little discipline in some areas of my life. Some things require constant effort, Beeminder acts as a nice kick up the bum for when I start slipping back into bad habits.
So far it's worked out pretty well.
The Pomodoro technique has gained a lot of attention in recent years. It's incredibly simple, requires virtually nothing to get started, and it fits in well with just about any organisational system.
As its popularity has increased, so have the number of Pomodoro apps available - which is where the Pomodoro Apps Guide comes in. I've tried to cover the main categories (online, desktop and mobile) as well as give a little rundown about the app.
The full guide can be viewed here: Pomodoro Apps - it's still very much a work in progress, so I'll be adding new apps as I go.