One of the challenges when working on any software system is working out the database design and structure of the code.

My son is making a car paperwork tracking database website allowing tracking of service history and so on. Not a bad idea.

I made the mistake of going a bit "meta" on him and saying "car" is "vehicle".

He now has "car" or "bike" as a setting and is working on changing scripts and database tables to change to vehicle and not "car".

At this stage it its a couple of tables and half a dozen cgi files, but even now is a lot of hassle. It really does stress the need to "step back" in anything you do and consider how meta it can get,

Hopefully he can launch this soon - it looks cool, and "Bikey McBikeface" already has a place as vehicle type "bicycle"...


  1. Before he touches the code he should spend a couple of days deciding what what this thing will actually be. What problems is it trying to solve? Is it a car paperwork tracking database or a vehicle paperwork tracking database? Will it be further developed?

    Treat it like a proper project, even if its small nature means the stages are compressed, it's a good mindset to get into early on. Then commit to the design and plan how to write and deploy it to the design specifications.

    This helps to avoid situations like you describe where things are changing as you write.

    1. Oh I know, but there is something to be said for trying out a concept as part of that decision process, some times :-) You have to be prepared to throw it away and start again with a proper design though.

  2. Sounds handy - I run a couple of spreadsheets to track my vehicles. Would he like a copy to analyse how I do it?

    1. Another thought (and maybe mission creep here) is that I use a site called Fuelly to track my MPG for each car also. May be interesting to combine the two as it tracks how much I spend on fuel as well as therefore the TCO for the vehicle.


Comments are moderated purely to filter out obvious spam, but it means they may not show immediately.


There are lots of ways to debug stuff, but at the end of the day it is all a bit of a detective story. Looking for clues, testing an hypothe...