Is it worth it?

I got into this internet thing early enough that I got myself a damn good domain name. I was the original owner of canoe.com, a name I chose because it represented something I used to love doing. Also, at that time, you had to sort of justify why you needed a domain name, and so my story to Internic was that I was planning to set up a public access network called “Community Access Node Open to Everyone”. (Internic was the one and only domain registrar at the time.) I originally tried to register canoe.net, but it either got lost or rejected, so I tried canoe.com, and it worked.
Continue reading “Is it worth it?”

They’re doing it again

As I wrote about in Rants and Revelations » Dear Boss, my boss has a stick up his ass about my DocumentCache, and blames it for any problems with the cinlib long before any evidence comes in, and continues to do so time after time years after the last time it was actually a problem.

So yesterday we were discussing a problem and Tony asked for something new to be put in the DocumentCache, and the head of QA starts saying “I don’t want you guys messing with DocumentCache so close to the release date because it always seems to be causing problems”. AAARRGGGGHHHH!!!! I patiently explained that, no, the DocumentCache hasn’t had a bug against it in three years, it’s just a matter of perception because every time there is a bug anywhere near that part of the code “somebody” (I didn’t say Dave’s name) thinks it’s a DocumentCache bug even though it never turns out to be the case that it is.

The next time I write something that caches something, I’m not going to use the word “Cache” in its name. I’m going to call it the XMLPuppyAndKittenPlayground or something.

Note to self

If you want to find a picture you saw yesterday, and now the picture has been removed from the web site that you saw it on for copyright reasons, *and* you haven’t exited Firefox in many weeks, *and* you have had a web page open on one page that is constantly showing you different parts of the world in Google Maps in hybrid mode, DO NOT try to find the picture by going to your .mozilla/firefox/*/Cache directory and typing “kuickshow *”.

After my screen filled with several hundred images, mostly Google Map tiles, it started getting really slow. My CPU was pegged, I was swapping heavily, and still images were appearing. The mouse was moving, but nothing was responding to clicks or keyboard presses. I went to another machine, ssh’ed in and did a “killall kuickshow”, but the load average was still over 8. I waited a while for it to drop down to under 1.0, but my display was still unresponsive. Eventually I gave up waiting for it to recover and rebooted.

Of course, my Cache directory is now nearly empty and I’ll never find that picture again.

icewm is not my favourite window manager

Update: I’m a fucking idiot. Turns out I was calling JFrame.setDefaultLookAndFeelDecorated(true); when I should have been calling JDialog.setDefaultLookAndFeelDecorated(true);. All fixed now.

There is a complex interaction between X Windows window managers and Java’s look and feel manager. And it is currently driving me crazy.

Our project choose the “Ice”, aka “icewm” as our window manager. We choose it because

  1. It is very lightweight
  2. It was relatively easy to strip out all the stuff we don’t want
  3. It had translation files so it would automatically display in all the languages we support

On the downside, it also looks very “Windows 3.1″ish, and it’s stupid as hell. The thing that’s currently driving me nuts is that when you use JOptionPane.show.*Dialog to display simple dialogs, Ice insists on putting close and iconify icons on the dialog. Two problems with that

  • The icons overlap the title meaning you can’t read the last word in the title.
  • If you’re dumb enough to actually iconify the dialog, it’s damn near impossible to find it again, and since it is modal, you’re basically stuck until you can figure out where it went.

So here I am trying to figure out how to make JOptionPane tell Ice to stop doing this. JOptionPane.setDefaultLookAndFeelDecorated(true) doesn’t seem to do anything. I discovered in my own dialogs that use my own subclass of JDialog, I can achieve something a little less horrible by calling setUndecorated(true); and getRootPane().setWindowDecorationStyle(JRootPane.FRAME); which gets rid of Ice’s title bar and replaces it with a Java-style title bar that only has a close icon on it.

I downloaded the JDK source code to see if there was anyway I could do something similar in JOptionPane. There are a couple of methods in JOptionPane that look promising, but of course Sun made them private so I can’t override them. I could replace JOptionPane entirely, but that’s probably a gross violation of the license that I downloaded the JDK source under.

I’m hoping that next release I can convince the powers that be to switch to XFCE or something else that looks a little more modern and perhaps will listen to the window manager hints from Java.

Sigh.

Whew!

I suddenly discovered I couldn’t reach my colo box. It wasn’t answering on any of the ports it’s supposed to be. But I didn’t get any indication that anything was going wrong before hand, and I couldn’t ping the IP one before mine, so I was was hoping it was a problem at Time Warner’s data center and not with my box. I called my colo provider, but didn’t get an answer. Ah good, I thought, ever the optimist, that means they’re working on the problem.

But the minutes turned into hours, and I still couldn’t get through to my box, nor was anybody answering the phone. But after nearly three hours of downtime, mail started flowing again! I could reach my web sites! And the IP one before mine became pingable. And it appears that they didn’t have to reboot my box to do it. My 65 day uptime survives. Yah!