I mentioned a couple of weeks ago about how I'd like to endeavor in a one-man hackathon, where you hole up somewhere and crank out a complete project, start to finish. I was looking at my calendar, and thought, crap, this weekend is the only one I've got available for some time, so I figured I'd book a hotel near Pittsburgh, and make a weekend of it (with a stop at Ikea before coming home).
Well, like a dumbass, I didn't book right away, so the good hotels were all sold-out by the time I got around to booking. Duh. Annoyed with myself, I figured I'd try to do what I could at home, knowing full well that it wouldn't be a very well focused effort.
Last week, during two lunches out, I did what I'd describe as pre-production. I sketched out on paper (stuff made from dead trees) the basic user interface and flow of stuff. This helped me reach a lot of clarity about how I was going to build it, without getting too far in the weeds over what the implementation would look like.
Saturday, I decided to spend much of the day in the library. I got up early with Simon, so Diana could have a day to sleep in. I finally got rolling around 11:30, stopped to buy a burrito, and found a quiet table. It was not a super-productive effort. The prototype of the core functionality I built had a lot of cruft, which is to say that most of it needed to be rewritten. As such, I think I managed to code 15 unit tests, and didn't get very far. On top of that, I forgot my power supply, and only got 4.5 hours of work time. That weird bug in Visual Studio, where it churns the CPU, is less obvious on the new laptop because the fans ever crank up, so it really zapped me.
Sunday, I got to work after Simon went down for his nap, and all told, I worked on it for about four hours. In the evening, we cracked open a couple bottles of wine, so there would be no evening coding for me. But getting beyond the mess also meant that I got a lot more done. Total unit test count was 36, which is not bad considering the four hours I had today.
Overall, it wasn't the effort I hoped for, locked in a room somewhere, but the more important thing is that I got started on it. That brings me a lot of satisfaction. Now I feel like it's a project I can deliver and finish.
So what is it? I codenamed it "ServerMetric." It's a relatively simple system that aggregates little bits of data that you can view in a dashboard view. I think I've built something like it at least four times in various jobs. There are some interesting sharing aspects to it as well. I have use for it myself, and I think others may be able to use it as well. The tech analyst all seem to think that a la carte service apps are the future of IT spending, so I suppose we'll see if they're right.
The goal now is to finish it with the initial feature set, make it live, see if I can sell it, and then we'll see what happens. Maybe it's a business, maybe it isn't. It's something I've wanted to build for awhile. It even has a clever name that I'll save, for now.