I have a bad habit of starting a pet project and never really finishing it. I mostly blame my love of coming up with a solution, since it isn’t really counterbalanced with a love of implementing a solution. This has led to a graveyard of git repositories, ‘design documents’ and random hardware. So, with this website I would like to try a different approach.

The first thing I would like to do is start small. Many of my previous projects, including my university assignments, were handled as if everything needed to be ready at the same time, and that there was really no value in doing things piecemeal. But since there are no marks to be awarded here, and no real deadlines to meet I am able to deliver small improvements to this website as they’re finished, and in any order I please. It will still be important that I set small, achievable goals though, just as a means of motivating myself.

Next, I’m going to start by trying to develop the most core functionality first, rather than the most fun or interesting. One of the bad habits I have developed during my time at university is to simply play around with the fun stuff rather than tackling the actual problem. This even occurred as recently as last semester where I spent a few weeks casually working on a neat little set of helper tools for a graph theory course using only the built in functions in the JDK. This was a fun little exercise, but it didn’t help one bit when it actually came time to work on the assignments for that course. In a way I’ve already started doing this, currently this website is just static HTML that I’m updating manually, that is, the most core functionality I could possibly deliver was words on a website, and I’ve delivered that. Three cheers for small victories!

And finally, documentation. Writing and maintaining proper documentation is one of those things that I have felt my university courses have neglected to really sell me on over the years, and it’s not been until recently that I’ve been part of a rather large team that heavily documents the goings-on of the project that I’ve truly come to appreciate a searchable source of information relating to a project. Maybe going so far as to have a confluence instance running is a bit overkill for something like this, but I feel that by simply writing about what I’m doing and keeping a small notebook full of ideas should be sufficient in the meantime.

Hopefully this will lead to me not only being able to finish a project for once, but for it to actually be pretty good.