I’m currently writing a new content management system (CMS) that I will be replacing my current WordPress installation with. I had written one before, way back in 2003, and was actually pretty happy with it. But as WordPress gained in popularity, I didn’t want to get left behind, so I jumped onto the WordPress bandwagon and became one of the millions of WordPress users out there.
Another reason for my switch was that I was afraid I’d need more features than I had available. Writing these new features were deemed too troublesome for me, and I thought that if somebody else was willing to do them, why not just let that somebody else do it?
But four years on, and the artist in me is getting increasingly indignant: I should be using my own software, not somebody else’s.
This past month I’ve been keeping myself busy playing Pro Evolution Soccer (PES 2008) and catching up on some reading. But apparently it wasn’t enough to prevent my mind from wandering into thoughts of re-writing my CMS. And so I did.
The CMS is coming along pretty well, and many of the features that I had in my old program have already been written into it. But I noticed one aspect of my coding style that bothered me: whenever I finished coding one aspect of the system, I would suddenly become unsure of what to do with myself.
I’d then either mindlessly StumbleUpon sites or go play some PES. It is only after a number of hours are up before I would finally get back to coding. It was when I was having a shower that a solution to this problem came up: I could use a change log.
A change log is simply a list of changes that a developer notes down when writing a program. For example, it could contain bug fixes, new features, or improvements to existing ones. Change logs often come together with new versions of software.
The idea of having a personal change log hit me: what if we could have “versions” of ourselves? Being a work-in-progress, I suppose you could call me the perpetual Donn v. 2008b (substituting 2008 for whatever year it is).
Objectifying your life will help you look at things more systematically. Though you may think that it removes the emotional aspect of living your life, take it that it is the removal of emotions at the planning level. The actual living of your life will still be filled with emotions and relationships and other spontaneous things like ringing the bell at Long John Silver’s.
You could keep a “bug reporting journal”, where you list down all your quirks and things you’d like to improve upon, and have lists for what bugs the next version of you will iron out, as well as the new features you’ll be introducing into your life (“Donn v. 2008.1b will have six-pack abs”).
Every time you reach a milestone, a version where the bugs you’d plan to iron out and the features you’d planned to implement are achieved, you can list it all down in a change log, and then see “where to next”.