Productivity Tools

I am very interested in how people choose, set and achieve their goals. How they remain focused when times get tough, and how they get back on track when they lose their way. I am also interested in the tools, tricks and tips that people have for enhancing their productivity. Here are some of the tools that I use.

Getting Things Done

I have been a long time fan of ‘Getting Things Done‘ or GTD, which is the work-life management system by David Allen. I would recommend David Allen’s book to everyone who wishes to organise their life, or increase their productivity. In his book, David Allen talks about having a trusted system to record your projects and next actions. Over the last 20 years, I have changed my trusted system a number of times, as software systems and the internet change with time. I am currently using Microsoft Office’s To Do simply because I am forced to use a range of other Microsoft products in my working life.

Habit Tracking

I am a scientist by training, and a scientist by nature, which means that I like data. The more data you collect, the more data you can analyze, which in turn enables you to identify trends, problems, basically patterns of all different sorts.

For a number of years now, I have extended this data collection into my every day life. I find it useful to collect various bits of information about my day-to-day life, such as what exercise I am doing, how well I am eating, sleeping etc.

I have developed a website that allows me (and anyone else) to quickly and easily record such information.


When I am starting a new project or want to re-evaluate my goals I often find it helpful to jot my thoughts down. Over the years I have used a number of different means to record my thoughts; from simple pencil and paper to a variety of software options including text files, emails, electronic organisers, wikis and journal software (both free and commercial). I am very happy with my current solution. I am now using WordPress as my personal diary software.

For those not aware, WordPress is a very powerful and very popular blogging application. Some would argue that WordPress is designed specifically for internet use, not private use, and it is far too powerful to simply be used as a diary program. However, the program is free and open source, and simple to install*, it has great import/export abilities, as well as cataloguing, tagging, searching, easy editing – everything you would want in a good piece of journal software really. Also, in this age of mobile devices, it has one of the coolest Android Apps that I have seen.

*Simple is of course a relative term. WordPress is incredibly simple to install, under the proviso that you have a VPS running a web-server running, and that web-server is equipped with PHP scripting abilities, and you have root access to a MySQL database.

Goal Setting and Mentors

I think that it is very valuable to set SMART goals. In order to achieve your goals I also believe that it is vitally important to record these goals, review AND RE-WRITE them regularly. Goals are quite different to the “next actions” discussed above. It is important to review both goals and next actions regularly, but for quite different reasons. The idea behind GTD is to get all your next actions into a trusted system, so that they don’t have to be kept in your head. When you have time to do some next actions, you review your trusted system, and figure out what actions to perform. With goal setting, it is vitally important to hard-wire your goals into your head, so that you know them at both a conscious and sub-conscious level. One of the best ways to do this is to re-read your goals every day, however an even better way is to re-write your goals every day – without looking at what you have written the previous day. If you can’t remember what your goals were yesterday, then chances are you are not that serious about achieving them. There is lots of advice on the net about achieving your goals, but not so much on choosing your goals. I think the most common way that people choose goals is to observe others around them, and try and emulate certain behaviours or obtain certain outcomes that others have achieved. This is where I believe that mentoring can have an important role to play. I am using the word ‘mentor’ somewhat loosely, and probably quite differently to how a lot of people might use the word. I think that it is useful to have at least one mentor for every goal that you are trying to achieve. Suppose that you would like to achieve goal X. It seems to me fairly sensible to try and find somebody who has achieved X, and talk to them, ask them questions, let them make your goal clearer and more tangible. You might discover something useful, and you might avoid some of the pitfalls of those that have gone before.

Version Control System

I first wrote about version control on my website when it was an incredibly uncommon thing, and the commercial or open source systems available for version control were clunky, hard to learn and hard to use. Since then all major tech companies bundle version control with most of their products (like Microsoft Office, Google docs, etc).

I still use the open-source git as my main version control system. It is not easy to use, but it is certainly powerful.

I have a version control system on my list of productivity tools, because the knowledge that any of your work is able to be retrieved at any point in the future gives you a great level of freedom, and allows for more creative actions to be taken. For example, perhaps you think you can replace a whole block of code with a simple one-line command that you have just learnt. You may be hesitant, because of the time and effort put into the original block of code. With version control, you have nothing to fear. You commit your work, delete the block of code, and see what happens. You know that at any point, you can get that code back at the click of a button. I find it difficult (and scary) to believe that I wrote a PhD thesis using the old ad-hoc version control of (very occasionally) manually backing up my files in a directory with a date in the directory name. Which brings me to my next productivity tool:


It is very well to have a version control system to be able to review/recreate your work from any time in the past, but it is very important to realise that this is an archive and NOT a backup. At first glance, the version control system might seem like a backup, but it is simple to see the difference by thinking about what would happen if you wanted to look at an old version of a file, but discovered that the hard disk containing your repository had been corrupted. This old version would be gone forever, because it was only contained in the primary, active repository. This repository needs to be backed up. Another analogy is that of a state library. They contain many archives, but if the library burns down these are gone forever, UNLESS they have a copy (or back up) at some other location.

One of the very important criteria that I have discovered for a backup system is automation. If the backup system is not completely automatic then, in general, it simply will not be maintained. But testing that your automated backup system actually works is another matter, and is an area where I am certainly remiss. On several occasions I have found my various backup systems to be lacking only when I have required them due to some unforeseen digital catastrophy.