If you ever see me…

…pick up a pair of vice grips and head towards the bathroom, just shoot me. I just can’t seem to get it right.

The downstairs powder room sink drains really slowly, and Vicki says it started after the carolling party. I tried plungering it, and didn’t help. (Plungering sinks is a bit of a waste of time anyway, because all it does it blow water out of the overflow hole.) So I tried taking the trap off. Didn’t find anything blocking it, so I tried to put it back on. And I couldn’t get the damn thing to stop leaking no matter how hard I tightened it. Then I discovered that in tightening it, I’d managed to knock a big chunk out the the trap. So I went to the hardware store to buy a replacement trap.

While I was there, I picked up a replacment for the handle and arm of the upstairs en-suite toilet. The current one keeps falling off the arm thingy all the time.

When I got home, I put the trap on, but because I forgot to buy teflon tape it still leaks a bit. And of course it didn’t fix the real problem – the blockage is evidently further down.

Then I tried the replacement for the handle. The existing one has a bend in it, but when I tried to bend the new one, I bent it at one of the holes and broke it. So off I went to the hardware store, and bought the exact same type again. And when I carefully bent it at the non-hole part, it broke again. Of course it wasn’t until then that Vicki mentioned to me that there are bendy type arms and non-bendy type arms. Who knew?

Rather than making ANOTHER trip to Myers hardware, I pushed the existing handle on the existing arm on as hard as I could, and hoped that can hold for a while.

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.

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.