Then I realized it might be fun to crank something out like that for myself. As fast as humanly possible. Like four hours or less. Could I do it?
I started to ask myself what it is that takes the longest for me. It's almost always the data access code, and more specifically, the test code to make sure it all works. I know that I test wrong by normal standards, in that my data access code is always dependent on the business objects that call it as containers. So a method that gets data from a table of users is called by a User object, and expects a User object from the data call. Most "experts" would say that's bad design.
So if I can let go of the intense testing, maybe I'll give it a try.