• Trying to figure out if I'm doing something wrong or if I've found a bug.

For the last two days, I've been trying to figure out how to use the getid3 library. I integrated it with CodeIgniter and build a simple interface to edit Eponymous 4 MP3s online. There's no documentation, and the demo scripts included in the package are minimal and not very instructive.

I ran into a problem with URL information getting wiped out when I make an update. I managed to fix the URL writing, only to discover the year went missing. The only way to get both to work was to set the library to write ID3v.2.4 tags, which is not a widely adopted version of the specification. My dealings with ID3 tags are all abstracted through software. MP3Tag is my editor of choice, and it pretty much shields me from the minutiae of dealing with the specification. It's only when I'm trying to build my own tag writing tool do I find the differences between the versions confounding.

Let's take the example of Sony Sound Forge.

Sound Forge would sometimes complain about MP3s I would open up, and I would just pass it off as a Unicode thing. Sound Forge 8 supported ID3v2.2, which uses an ISO-8859-1 (Latin-1) encoding, and I have a lot of files with Japanese tags in UTF-8. Sound Forge 9 supports ID3v2.3, but sometimes, it still would complain, even with English-tagged files. I discovered today that files I tag in MP3Tag wrote v.2.4 tags instead of v.2.3, and that would make Sound Forge complain. (Thankfully, an option in the preferences allows me to write out v2.3.)

I'm not sure what kind of problems might pop up if my online tag editor writes only v2.4. tags, but I would prefer to use v2.3, since it seems to be the most common. I'm fairly sure the problem I encountered today with AWOL tags is a bug, because I went into the library, moved a line and fixed the problem with URLs and years writing at the same time. If I can hack a solution, then it's a pretty serious problem.

  • Overly long Christmas concerts, especially on an empty stomach

At noon, I went to the state capitol to hear a large crowd of tuba players perform Christmas carols. I was hoping it would be a half-hour set, because I was getting hungry. Around 12:20, I wasn't concerned about the length of the concert. But then they players kept playing and playing and playing. Toward the midpoint of the concert, the carols got a bit more obscure, and the playing got murkier. When I checked my watch again, it was 12:45, and my stomach was rumbling. I had started to make snide remarks at the 12:15 mark, but when I saw the concert had really gone longer than I expected, I let that hipster snark fly.

People started clapping in tempo with "Jingle Bells", so I had to be a dick and clap at a faster tempo. When the conductor attempted to address the audience, I critiqued his inability to project by calling him not a singer. I hummed a pedal tone at the fundamental during "O Come, O Come Emmanuel", because really, no performance of that carol can go without one. I joked that I'd pay to hear these players do "Carol of the Bells", only to eat my words when they got around to doing it.

I didn't really want to tear away from debugging the ID3 thing, but we were going to lunch afterward. We were out for three hours. I don't ever stay late in the office on a Friday, but I didn't want to leave till I had a solution for the ID3 problem.

Also, the server at the restaurant took his sweet time with everything. He maybe earned 15 percent of that compulsory 18 percent gratuity.

I think I would have had a better time if I had not gone at all.

  • Waiting for UPS to fish out a package

The moment I saw a notice on my door that UPS tried to make a delivery yesterday, I groaned. I wondered why my mom would send a package through UP(O)S, and this time of year, they're worse than ever. The slip indicated I could leave my signature, and the package would be delivered even if I weren't present. So that's what I did.

Of course, I came home hours later than usual, having battled an ID3 problem and attended a too-long concert, and I found another frakking slip on my door. The deliveryman (intentionally sexist to remain grammatically correct) used the slip to create modern art, because I couldn't figure out heads or tails what he'd do next. He marked that a third attempt would be made but scratched that out. He marked the package would be left at the office but scratched that out. Then he circled that a third attempt would be made and marked a time I would not be at home. Fuck — make up your mind.

My mom left a message on my answering machine asking if I got the package, and I called her back to say yes and no — they kept delivering it, and they kept taking it back. I told her she would get better service from the Post Office. Man — how bad do you have to be that the federal government can do a better job than you?

I decided to call UPS and do the dreaded will call. That meant heading out in the middle of nowhere, then waiting in a cramped lobby while the drivers unload the truck to find the package in question. I got there at 7:25 p.m. and didn't get my package till 8:10 p.m. I should be thankful — some people showed up only to be told the driver wouldn't be back till 9 p.m.

Showing up on Saturday at 9 a.m. would have been another option, but I've had packages get back on the truck before. As Double-A would say about her dog, "Not the brightest bulb on the planet."

UPS reminds me of software with such rigid, bad interfaces that any deviation from a set procedure produces unwanted or no results. Kind of like Finale. Or Internet Explorer 6. I don't think I've ever encountered a delivery service that does so much to make receiving packages such a difficult endeavor.