A guide to overcomplicating things, taken from my experiences recently:
- Become the webmaster for a church website.
- Add a new “Listen to Sermons” section to the website where MP3s of sermons go. People just browse sermons by directory structure.
- Decide that it’s not good enough, and re-write it using a MySQL database.
- Decide that it’s too much hassle to follow the process of ripping CDs and uploading them every single time, and write a shell script to do it. Because of the database, sermons still have to be added using a special page on the website.
- Decide that the shell script isn’t good enough, and re-write it again using Python – the primary benefit being, this can talk directly to the database and add sermons without having to go to a special page on the website.
- Move the website to another hosting provider, who don’t provide remote access to the MySQL database.
- Remove the database section of the script and go back to the special page on the website.
- Think “There must be a way of solving this problem with XML”…
- Implement an XML-RPC web service, and modify the Python script to call it to add a sermon.
I kid you not – I am currently working on the last one in that list!
The good thing about being solely responsible for a site is that you can just make a solution as ridiculously overblown as you like (well, within reason…) 🙂