One of these days I’ll learn to take a compliment

Today, in spite of how busy we are we got the word from our new boss Nancy that we all had to go to the monthly division meeting. (Ok, here’s where I prove how little attention I pay to the heirarchy: I don’t know if Nancy is Dave’s boss, or Mike’s boss, and I don’t know what slice of the company that meeting is really for, but let’s just call it ‘division’ for now.) I never go to these things, but first we got a message from Nancy saying she expected everybody there, and then another message from Dave saying he’d gotten the word that no matter how busy we were, we should make every effort to get there.

It was the typical boring monthly meeting – announcing all the anniversaries and stuff. But then they started handing out these enormous plaques to people who’d recently gotten patents. I’ve seen these plaques on people’s desks before, but I’ve never seen them handed out. And I’ve only ever seen them on pretty senior people’s desks. I wasn’t expecting one – my patent was awarded months and months ago, and besides I’m a lowly contractor. But I got one, and it had little tags for both of my patents. My boss, Dave, got one as well, with the same two tags.

Afterwards, Nancy told me that the whole reason she’d made the meeting mandatory was to make sure that Dave and I went, because neither of us were prone to going to these meetings.

Getting the plaque was surprising enough, but even more surprising was for the rest of the day people were coming up and congratulating me. Now, I’m not thrilled about the concept of software patents at all, so I didn’t really know what to say. At first, I was saying stuff like “Oh, it wasn’t such a big deal” or “I’m not too proud of it”. But then I thought that probably isn’t very gracious of me, and might be insulting to other people who’ve gotten patents or who want them and haven’t gotten them yet. So then I started just saying “Thanks” and leaving it at that. But still later, some fellow software developers came up to to congratulate/razz me, and I decided the best response was that it was a team effort and I feel sad that we couldn’t credit everybody on the patent. I also told one of the developers that one of the things she did, an automatic “matcher” algorithm, was definitely worth a patent and she should apply for one herself.

Take a deep breath, and wait.

Ok, I’ve delivered a version of the code I’m working on with all the bits hooked together so that it should be test-able. Now I have to wait for a build to be produced so that I can install it on a test machine and start finding out all the ways it’s broken.

Since it’s going to be at least a couple of hours before the build is done, I’m going to go home and relax, try to not watch any election stuff, and relax before I start Stage 2 Of Hell tomorrow.

Ever been so tired and overstressed you can’t sleep?

I’ve been exhausted for days now – I feel like I can’t keep my eyes open. It’s accumulated lack of sleep and stress from this project I’m on – I’ve put in over 55 hours a week for about 2 months now.

Last night I went to bed early to try and get some rest. But I found myself lying in bed awake in the middle of the night, worrying that if I didn’t get back to sleep soon I’d been even more tired and wouldn’t be able to finish the work I promised to get finished by Monday.

Believe me, that’s not conducive to getting back to sleep. It’s a great cycle of stress leading to lack of sleep leading to stress.

I want my weekends back. Although the first weekend I get off after this project is done will probably be spent comatose.

More discoveries

Somebody broke the build badly at work. Sometime two or three days ago, they split a library JAR into two JARs, but didn’t update the Makefiles for all the places that relied on the JAR. I didn’t discover this until today because up until now I wasn’t relying on anything new in the JAR, and so hadn’t noticed that I was using an old copy of the original JAR. Because I had to use the new stuff in the JAR to complete what I am working on today, I ended up going to work to fix the build. Which meant a long, long cycle of doing “clearmake clean; clearmake” to make sure things were really fixed.

Java has a very bad habit of deciding that a source file it just compiled two minutes ago needs to be recompiled. So it can be compiling stuff in package “foo”, but because package “foo” uses some stuff from package “bar”, it might suddenly decide to recompile something in “bar”. This is a problem because I recently added something to a package called “dcms” that meant it needed to include a new jar file in its CLASSPATH. But I didn’t know that a package called “ai”, which uses a file from “dcms”, would suddenly decide it needs to compile a file from “dcms”, and therefore the CLASSPATH in “ai”‘s Makefile needs this new jar as well. Or, if you’re a clearer thinker, you change the CLASSPATH in “ai”‘s Makefile so that it’s looking at “dcms.jar” instead of “src/dcms”. Unfortunately we’ve all had this bad habit of including paths to source in the Makefiles of other modules. I think we’re eventually going to end up with a monster “include everything” CLASSPATH in all Makefiles. Ugh.

Another discovery is that SpamKarma2’s “RBL check” seems to be hanging until it times out. I’m not sure if that’s due to the move, or maybe the RBL server is down? I don’t know how to check that. I spent way too much time this morning tracking down every missing “auto_increment” column in every table, and I think I have them all now, but maybe I missed one?

Another discovery is that the only version of php4-gd for my Debian system requires a lot of X Windows libraries to be installed. I had no intention of installing X Windows stuff on this system, since it will never have a graphic head on it. But on the other hand, without php4-gd, I don’t have a CAPTCHA check for SpamKarma2, which means I have to look a bit more carefully at marginal spam.

Learned two things so far today

When you move your blog to a new host:

  1. If your want your Powerbook to see the dns change, issue the command lookupd -flushcache
  2. When you move a database from MySQL 5 to MySQL 4 using the compatibility mode of mysqldump, it doesn’t move the auto_increment attribute, and you have to restore it using alter table wp_posts change id ID bigint(20) auto_increment;