Test Tweaks [09/08/2007 08:39:43]
I'm up to 17 of 27 personal test cases passing, and that's despite missing my spanish practice yesterday.
There are a couple issues holding me back from 100%, and after thinking about my priorities, I decided I need to make some changes:
1. Drop pirate from the "all software tests passing" test.
This was a hard decision. When I said I wanted all my unit tests passing, I knew I'd be going through and killing off a bunch of dead code I no longer care about. Unfortunately, I do care about pirate (a python compiler for the parrot virtual machine), and I do want it to work, and all but maybe one or two of the pirate test cases are failing - because parrot has moved out from under it.
The problems have to do with the PMC's - the actual objects written in C that run on the parrot VM. I worked through the K&R book on C a few months ago so that I could better understand this code, but even so, I just don't have time yet to stay on top of this when parrot itself is such a moving target, nor do I have the time yet to effectively lead a volunteer project.
In short, I do want to bring pirate into my circle of control, but I have other priorities I need to handle first.
2. Use OmniOutliner for the Note/Task List Tests
I have five or six failing tests that all hinge on having my notes and tasks organized, prioritized, and estimated.
I wrote them in very abstract terms, so I don't really need to change any wording, but I do need to change my expectations.
I'd intended to dust off some old code for a web-based notes system I made when I first read Getting Things Done.
I still really want to get that code working, but it, too, is going to have to wait, especially since I discovered it was prototype code with zero test cases!
I'll use OmniOutliner instead. It's an awesome outliner (multiple columns!), and I think it's flexible enough to handle the management of all my tasks and notes, at least for now.
Basically, this is a case of do the simplest thing that could possibly work. And of course, I can always use it as the starting point for a database import later, since Omni stores everything in XML.
3. Find a third party app for the piano accuracy test.
Actually, the test is just to record and graph my piano accuracy, along with a bunch of other metrics. But until just now, I didn't actually have a way to measure my accuracy. I was going to add some code to turcanator to do this.
But... A few minutes of googling turned up synthesia, which is a guitar-hero style game (for piano) that also supports MIDI. It says its only for windows and OS 10.4, but I just tried it, and it worked fine on my laptop (running panther).
It's a very different experience compared turcanator - in synthesia, the song moves whether you get it right or not, whereas in turcanator, the song stays in place and your cursor moves only as quickly as you match the notes (though you can try to keep up with the auto-player, which also has a cursor). They compliment each other nicely, and I'm going to use turcanator for practice and synthesia for testing.
4. Replace Blog traffic metric with email subscribers.
Traffic is a meaningless metric to begin with. Does it mean hits? Unique IPs? Either way, my blog is under constant attack by spammers, so the numbers are all off.
This metric is also meaningless because I don't really have a blog that I'm trying to popularize yet. I would like to get back into serious writing and build a popular site, but this site isn't it, and more importantly, that project is just too far outside my circle of control right now.
Anyway, when I do get to that point, I want to focus on a mailing list. I'll probably have a blog, too, but email is still the killer app, and it's also much easier to track. So I'm going to replace the traffic metric with my email subscriber count. And of course, since I don't have a mailing list at the moment, I'll just record zero every day as a reminder, and problem solved.
That's basically it. With those four changes, I think I can have my first full green day by the end of this week.
