Well, this has been an interesting day.
After publishing Eugenia
So, now, I plan to slowly implement Eugenia’s interface using the existing Kamidake code base. This is the wisest way to do it, of course, rather than trying to reinvent everything from scratch. It’ll be less painful than keeping up with bug reports on code I’m unfamiliar with.
This goes to prove one of Joel Spolsky‘s major theorems, though: Never rewrite large amounts of working code, if you can help it. Kludgy code may be messy, but it works. Any time you’ll save down the road by using cleaner code will probably be negated by the amount of time you’ll spend rewriting code. And code rewrites are rarely straightforward; they will introduce bugs as well.
Obviously, this rule isn’t ironclad, but it agrees with my experience. I’ll change Kamidake slowly, not all at once.
Meanwhile, though I’d scheduled time for piano practicing and writing tonight, I watched a college football game with Dad. I enjoyed myself, though, and family time is important. I’ll just have to reschedule the rest of the week to fit in a bit more writing time, and a chance to practice piano.