For quite sometime now, I’ve been developing all the projects I’ve been working on directly on my machine. This is handy for a number of reasons, the most important of those reasons being that I don’t have to be online while I’m working and I don’t have to upload to any servers.
For some time I’ve been toying with the idea of building my own, custom data access layer. Sure there are plenty out there. Some of them are HUGE (just think PEAR::DB, or ADOdb), which isn’t a bad thing in and of itself if, and only if, they still perform well. I believe ADOdb performs pretty well, but I’ve not actually run the benchmarks to confirm this, so I won’t enter in to that argument. A quick Google search will bring up plenty of articles discussing the pros and cons of Database Abstraction Layers.
Lately, I’ve been toying with the idea of developing a bunch of tools that will make my professional life just a little bit easier to manage. The most important of these is a timesheeting system and an automated invoicing system.