I was just chatting with my good friend, Corndog, and we were both lamenting how we have a similar issue when it comes to coding projects. We get these great ideas, but once the interest starts to wane off, we stop working on it for a while. What eventually happens is you have a lot of projects that aren’t getting updated regularly.
It’s not that I don’t enjoy coding, it’s that my organizational skills really need some work. One thing I’ve discovered recently that helps me a lot, personally, is to use lists. Instead of having tiny chores that need to be tended to that I randomly recall about when I’m doing something boring, I can write them down and then when I get some time to tackle stuff like that, I’ve already got a good list of things to tend to.
I’m hoping the same thing will help me with all my projects. One large problem with working on them is that they are all fairly large in nature. And when you go months on end without working on them, by the time you do come around to starting up again, you look at your code and wonder what the crap you were smoking, and want to start over from scratch to optimize it. But once you get halfway through that you either lose focus of where you were going with that or just satiate the bug enough, and move onto something else. Basically what is happening is you get lots of pockets of interest where you want to work on something, but because you aren’t organized, you tend to just idle furiously, never accomplishing anything.
So, here’s to hoping this will help. Im installing trac on my home server. It’s one of those things that I’ve been meaning to install for an embarrassingly long time, now. In fact, I actually use it at work, and while we were chatting, I remembered how much it helps. The thing I like about it is when I hit some downtime or just want to work on something different for a while, I can go to the Active Tickets page and remember those small little tweaks that I wanted to fix, and get them finally taken care of.
My belief is that if I can do the same here, but on a bit of a larger scale. The major hurdle with starting and re-starting on these large projects is their size. You get the bug to work on something, but if you run down a mental tally of what you want to work on it’s usually summed up in a week of four-hour sessions of majorly reworking an old site that’s been down for two years. I figure that I can use trac to break down the project into smaller chunks so I’m not biting off more than I can chew. So, for example, instead of thinking “I need to finish importing the Bible Dictionary into the database, and setup scripts to query it,” just add some tickets to trac for smaller parts like, “import data”, “setup fulltext indexes”, “write views” and “write stored procedures.” That’s a lot easier to handle.
Now I’m sure to most people who read this, that would be common sense. Well, to some people, common sense comes naturally. Me? Regular expressions. Talk about a trade-off.