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;

Glass “whiteboard”

Back when I worked for Frontier/Global Crossing, my cow orkers who had window offices often used them as whiteboards. That impressed me as such a good idea that when I went to SunGard and had a window office, I started doing the same thing myself.

Today, I needed to hash out some big diagrams, transaction diagrams and XML with a couple of other guys, and since none of us had very big whiteboards in our office, I suggested we use the windows in the break room. The people I was meeting with didn’t believe me at first, but went along with it once I demostrated that it wipes off as easily as on a whiteboard. But everybody who came into the break room while we were at work stared in disbelief and made sarcastic remarks.

Is using a window as a whiteboard really that unusual?

Some network benchmarks

I wanted to see how fast my rack is. Now, I think that one of my shares is doing a bittorrent at the same time, so this is a conservative test. For most of these, I’m doing a wget of the Rochester Road Runner speed test file at http://speedtest.rochester.rr.com/testlarge.zro

  • From RR.com to my home machine: 19:12:13 (392.85 KB/s)
  • From RR.com to my rack: 19:02:44 (493.74 KB/s)
  • From my rack to my home machine: 20:00:30 (364.74 KB/s)

(Yeah, I know the times and the given KB/s values don’t make sense. I just report them as wget reports them.)

That’s not bad. I think it shows that the rack system can keep the 10BaseT network connection pretty saturated. Both up and down.