If you don’t hear from me after today…

…it’s because I’ve had to commit Seppuku to appease our Japanese customers.

A few days ago, based on a code review (which I unfortunately did on our 5.0 code base instead of the 3.6 code that they are using) and an examination of the customer logs, I confidently said that this mysterious changing value that they are seeing is due to one of them mucking around with changing values in Webmin. I found at least one case where that had happened, and like House my default assumption is that the user is always lying, because that’s usually the case. My confidence was reported up the line by my boss, and from him to the Japanese support people, and from them to the customer.

So yesterday I was taking another look at the logs, and I found that as well as the case where they had messed around with the values themselves, I found another case where the values had changed “spontaneously”. Oh oh. And then I remembered the cache of these values I’d put in in 3.1, and how hard it had been to get everybody who used the cache to understand that if they used the cache they had to listen for a particular message, and when they got that message they had to call a method to flush and reload the cache, and how some of the other developers don’t seem to get the concept of Singletons and how something they call in one thread can affect something that happens after that thread is dead and another one spawned off, and because of that in 4.0 I’d gotten rid of the cache entirely.

After apologizing, I’m going to have some backporting to do.

Why is it that when called on to apologize to the touchy Japanese customers I feel this Basil Fawlty voice in the back of my mind saying “Don’t mention the war” over and over again? I have trouble reconciling the delicate sensibilities of the Japanese and with the brutal butchers who bayonetted Canadian nurses in Hong Kong at Christmas 1941 or who casually beheaded surrendered prisoners being force marched in Bataan. I guess that’s not very culturally sensitive of me.

First of the month meme

Andy somebody did a “post the first line from your first post of each month” so I figured I’d copy it.

  • I had a list a mile long of things I wanted to accomplish this vacation, including writing up a faq about the imminent loss of the DAFIF data, adding some more data to my extended GPX file, and writing a tach book entry program for my flying club.
  • The TiVo picked up a Masterpiece Theatre that I caught a bit of last night.
  • MacShack called to say that the replacement hinge finally came in, so I reluctantly brought my Powerbook in.
  • The NTSB Probable Cause report is out for the Bill Law fatal crash.
  • A few months ago, I was thinking about going to Oshkosh this year.
  • I’m starting to think that I won’t be able to host my application on Linode at all.
  • You scored 90 Canada speak and 91 Canadianess!
  • I feel like my life for the last few weeks revolved around packing boxes, and for the next few months or years it’s going to revolve around unpacking boxes.
  • Years ago, UPS would attempt to deliver during the day, and if you missed it, you could phone up and find out your local depot, and after 8pm or so, after the trucks had returned, you could go down to the depot and pick it up.
  • Since I got my new keyboard, one of my co-workers broke her wrist and she bought one.
  • It’s our first year in the new neighbourhood.
  • A few weeks ago my physiotherapist gave me some exercises for my wrist, which I damaged in a kayaking injury.

If I had a bit more patience, I’d make those links to the original posts. But I’m lazy.

Today’s touching song lyric

I don’t know why, maybe the season, but I nearly cried when this one came on my iPod. I’ve always liked it, today it just grabbed my attention extra hard.

Hold on to young friends we made of old
And cleave to the women that keep us whole,
And keep a warm fire
For all our friends who come in from the cold;
We love them all as brothers
And we don’t have to know their names
We know this must sound different,
But for us it always stays the same.

Today’s interesting discoveries

1) You can’t even count on your own project’s QA team members not to lie and say “I didn’t change anything” when they really mean “I manually edited this vital configuration file and totally botched the syntax of the start time parameter”.

2) If you need to get a screen dump of the login screen on a machine that isn’t network attached, and so therefore you can’t just use VNC to do it, you can do


chvt 7 ; sleep 5 ; XAUTHORITY=/var/gdm/:0.Xauth DISPLAY=:0.0 xwd -root > login.xwd

You youngsters might want to use the import program instead of xwd if it’s available. But then you’ll never know the joys of stringing together a half dozen pnm commands and getting it right the first time. Damn kids. Get off my lawn.

Firefox 1.5 really dropped the ball

Vicki and I both upgraded to Firefox 1.5 (on Mac OS X) in the last couple of weeks. Vicki went first, and she had a problem with something that went away when she uninstalled all the extensions she uses and reinstalled them. Then after a short time she found it was so unstable that she switched to Safari. Then I noticed that I couldn’t get Flash to work on any site. I tried uninstalling FlashBlock, and that didn’t help. I tried upgrading to Flash 8, and that didn’t help. Eventually I discovered that if I go into my profiles directory (in ~/Library/Application Support/Firefox/Profiles/foo) and deleted all the extensions related files and directories, Flash worked again. I installed FlashBlock and the Google Toolbar, but I can’t seem to find the BugMeNot extension. Oh well, I guess I’ll have to do that the old fashioned way.

But it seems like Firefox really screwed up when it comes to upgrading when you have extensions installed.