Personal Development

May’s Monthly Review

It’s eye-opening to review your progress towards your goals every so often. GTD advocates will push for the weekly review. I try to use my Saturday mornings to go through my non-urgent snail mail, enter my monetary transactions into GnuCash, and update my calendar. I’m still pretty new to using GTD techniques, but I already know I can make huge progress. And while the weekly review is great, I know that I need to also schedule other reviews to keep myself on track, especially when I miss a week or two…or three. Maybe four.

That’s how May was for me. I wasn’t nearly as productive as I have been in previous months. I wasn’t keeping on top of things. I meant to keep a list of items on a pad of paper with me, but I almost never had it updated or nearby.

I did manage to make a simple game, as I mentioned in the Learning Kyra series. In the last article, I mentioned that I was considering the project complete and moving on. Apparently I didn’t listen to myself. I’ve already changed it a bit, and I’ve decided that I will continue to work on it until it is fully polished. Menus, levels, etc.

I unfortunately haven’t touched this project in weeks.

So I can see that this month wasn’t very productive, and yet I did manage to do certain things regularly. In fact, if I was this productive years ago, I would have been happy. So what went right?

The Unix utility calendar was an amazing tool for keeping me on track. It’s a command line tool similar to the Mac application Remind, which was covered at a few months back. Basically, you enter a date, a tab, and single line into a file called calendar in your home directory. When you run calendar, it will tell you what’s going on that day, and you can also set it to tell you what happens for an arbitrary number of days or on a specific date. A portion of my calendar file:

Mon PROGRAM: 2 Hour
Tue PROGRAM: 2 Hour
*/SunLast Chicago Indie Gamer Meeting (last Sunday of month)
6/11/05 Game in a Day: Theme == Fusion
6/12/05 Game in a Day: Theme == Fusion
7/16/05 Game in a Day: Theme == Ghosts
7/17/05 Game in a Day: Theme == Ghosts

8/20/05 Dentist Appointment @ 9AM

So as you can see, I have set aside Mondays and Tuesdays for programming a couple of hours a day. I also have some specific dates. This coming June 11th and 12th are the dates for Game in a Day. I also have a dentist appointment on August 20th. The last Sunday of every month is the Chicago Indie Game Developer’s meetup.

Ok, so now they are all in a file, but that’s not entirely useful by itself. What is useful is that the command calendar can be set to run whenever I login to a shell on my Gnu/Linux system. I added the following line in my .bash_profile:

calendar -l 7

Using “-A 7” would do the same. When I login to a shell, it will output what will happen for the next week. For today, for example, calendar -l 7 outputs:

Jun 02* DLC: Meeting
Jun 02 Open Source Seminar
Jun 03 PAYDAY!!!
Jun 06* PROGRAM: 2 Hour
Jun 07* PROGRAM: 2 Hour

Since I am always using my computer, this tool is great. Every day I am aware of the coming week. Even if I am not updating my own paper calendar, I always update the computer listing. I’ve been using it for months, and I keep track of appointments, weddings, and deadlines with ease. Even when I am having a poor productivity month, I will at least not forget important birthdays or anniversaries. Which reminds me…

And the fact that I am being reminded of anything means that I am keeping things in my head when they should be down on paper. Therefore, I’ve dedicated June as the month when I improve on my ability to track goals and progress.