If I ran Apple…

…I’d do two things to improve the iTunes/iPod/ITMS experience:

  1. I’d license Pandora’s algorithm for suggesting similar music, because the suggestions that they’ve recently started showing in iTunes are not anywhere near as good as Pandora’s and
  2. I’d make the liner notes available to scroll through the way that Podcasts have information you can scroll through on the iPod. I’d especially like to see the lyrics.

We’ll call that a tie, shall we?

The controlled test turned out to not show the symptoms at all. So now the QA person is going to have to figure out what he did to get it into the state where he saw the problem. I suspect that the database wasn’t in the state he thought it was in, and the problem is going to devolve into another finger pointing exercise, this time between the other group (the guys who send us the playlists) and a third person in our group (the guy responsible for accepting those playlists and putting them in the database). That one won’t be nearly as much fun, because Tony (the guy responsible for accepting the playlists) doesn’t have anywhere near the ego that I do.

Programming and Ego

In my experience, most good programmers, and some not so good programmers, have an ego about it. I certainly do. Sometimes my ego writes checks that my ability can’t cash, but normally it doesn’t cause problems. Much.

The biggest problem is that when people say there are problems in my code, my immediate reaction is disbelief, annoyance or anger. I know there are bits of the code, especially the bits I inherited from others, but also some of my own, that are bug ridden and questionable, and I don’t react that way to those. But there are other areas I’m proud of, sometimes justifiably. And when somebody says something is wrong with those, I flare up internally. I try to catch that before I express it, and sometimes I succeed. Sure, QA sometimes reports a bug because they tested something wrong. But they have a job to do, and they do find stuff that I missed distressingly often.

The worst problem is when my ego clashes with that of another programmer. Right now I’m in a bit of an ego battle with another programmer. He says that a certain method in my database code that he’s supposed to call every night is returning the wrong values. I say that’s impossible because that method was tested last year, and it hasn’t changed in two years. (It’s dead simple, too, just a select * from playables where end_effective >= ?) He says “here are some log files that show your method returning the wrong values every day until the 28th”. I say “wait a second, those log files show that you didn’t even call my method until the 28th!” He says that’s because he turned on full debugging on the 28th. And that’s where it sits. Tomorrow we have the show down. The QA person has set up a test case, and tomorrow we all meet in the lab to examine the log files and database together.

It should be fun. Unless it turns out the problem is in my code, in which case I’ll have to go into a 2 week sulk. Anybody taking bets?

Upgrade nearly painless

The WordPress SpamKarma plugin was complaining about invalid SQL syntax. A little investigation showed that SpamKarma was expecting MySQL 4.0 or newer, but reluctantly allowed you to use MySQL 3.x as long as you accepted there might be some problems. I’d had other problems with the old versions of software that were part of Fedora Core 3.

I decided it was time to upgrade to Fedora Core 4. I don’t know for sure, but I think I’ve been on FC3 for a couple of years now. I would rather upgrade to Debian Sarge, since this machine is really just a server now, and I hardly ever use X Windows on it. But that would require too much work. It appeared I could upgrade from FC3 to FC4 using yum, with minimum downtime, so I set aside some time today to do it.

The upgrade is now finished. It was surprisingly smoothly, except for one thing. Inn won’t run. I can’t even rebuild the history files with makehistory – it dies with a SEGV. I’ve tried all sorts of things, and I’ve tried writing to Russ, the main developer. I have a bad feeling that I’m going to have to switch to installing from source, and I don’t want to lose the advantages that you get when you let somebody else (in this case, the Fedora team) manage the upgrades and dependencies.