in the city
Latest Blog Activity From The Fixer
Dust in the fan
My Thinkpad T60p is a pretty nice machine, but it’s been running ridiculously hot; hot enough that I’ve had to throttle the speed down to keep it from melting and/or burning me. I finally got sufficiently annoyed at it that last night I got the maintenance manual from Lenovo/IBM’s support site, took it apart and cleaned the fan. The exhaust vent was in fact completely clogged with caked-on dust, and after a small adventure in finding all the screws, it’s running much better. 50 degrees cooler, in fact, and that’s without throttling the cpu speed down at all. Excellent!
Microsoft's Mojave experiment
There’s been a bunch of press about Microsoft’s Mojave experiment, where they presented Vista to some naive users, telling them it was actually a new operating system, code-named ‘Mojave’. Unsurprisingly, it rated better than Vista, even though it was just a copy of Vista. This is actually a very valuable experiment, since it tells us exactly how much the placebo effect controls perceptions of a new operating system, and the bar which Microsoft must exceed in order to actually make improvements to their operating system. Microsoft claims a pre-demo rating of 4.4 for Vista and a post-demo rating of 8.5 for Mojave, so now I know that anything less than a doubling of user ratings for Microsoft’s next OS means it actually got worse ;-)
I regularly install lots of different operating systems for testing purposes. Yesterday I installed OpenSolaris 2008.05; I had high hopes for this one, since the stated goal was to bring a modern interface to the Solaris kernel and goodies like DTrace and ZFS.
So I went to assign it a static IP, so I could access it over the network reliably. Great, I thought, a Gnome interface; I know what to do with that. I click System→Administration→Network, only to see a dialog box that basically just says “this doesn’t work”. Okay, okay, so I follow the directions to disable network auto-magic and let me have control again. I start the network administration panel again, set up the network address, then click “Enable interface.” Nice and straightforward. (On later reflection, this may not be what I wanted to do, as taking manual control in this way entails setting lots of other things, too, like the fact that I now have to tell Solaris that it should be using DNS to resolve hostnames to IP addresses; it’s been over 15 years since I last had a computer where I didn’t want DNS resolution to work, and that’s because I only had one computer and no Internet connection at home.)
Well, except for the fact that it didn’t work. The network interface had actually disappeared. Fine, so I’ll reboot on the theory that OpenSolaris has a half-assed Gnome install just like Solaris 10 did — but there is no reboot option, and I’m not about to fumble around trying to figure it out from the command line, so I just hit the shutdown option instead, wait 5 minutes for it to give me any feedback that it’s doing anything, watch the error message about being unable to unmount /export/home because it’s in use go by, before it finally shuts down.
Restarting and logging in again presented me with an error about not being able to resolve my hostname, and suggested adding it to /etc/hosts. That’s weird – I explicitly added it in the network administration app; I went back and checked, but it’s gone now. Trying to add it there just doesn’t work. I guess that means it’s vi from the command line again.
Starting the package manager reveals more oddities; there is at least a GUI package manager now, but it’s … not as good as the command line. Finding the package I want to install is nearly impossible, because every program is named SUNWfbar or something like that. Dr Sn, dnt y knw ts vry hrd t rd wth n vwls, lt aln srch fr smthng? Seriously, I thought the days of such cryptic filenames went away with DOS.
Some time ago, BBC Top Gear went back in history and tried to find the first car manufactured with a steering wheel and pedals in the now conventional locations; while looking for it, they found a bunch of real oddities. OpenSolaris still has a spark advance lever and a choke knob and a steering tiller; upgrading the engine from a V8 to a V12 is nice, guys, and the leather seats are a nice touch, but I still can’t drive it.
Perl use lib
I recently had occasion to break up an overly-large Perl script into a couple of modules, but I didn’t particularly want to install the modules anyplace. For one thing, I’m still working on them, but I also want to use a current (working!) version in production. Keeping the modules next to the script seemed like a nice straightforward thing to do, and it even worked, so long as the current working directory was the same as the directory the script and its modules were located in, but didn’t work so well from a different directory.
The solution is the FindBin module, which has some heuristics to find where the currently running script is actually located, and make that directory available to the rest of the program as a nice neat variable. Here’s what bit me; the syntax to actually make use of this looks like this:
use FindBin; use lib "$FindBin::Bin";
What I failed to notice is that the second line is NOT a fill-in-the-name-of-your-library-here thing, it’s a literal thing. It is supposed to be followed by code that actually loads the libraries you want, only now it will look in the same directory as where the script is loaded from as well.
use FindBin; use lib "$FindBin::Bin"; use MyLibrary; use MyOtherLibrary;
“use lib” is not a command to load a library, it’s a “pragma”, which alters the way Perl works. Yet another bit of the whale guts in Perl, I suppose. Since I don’t write in Perl all that often, I suppose I really ought to dig out my copy of the camel book and keep it in a more accessible place so I don’t embarrass myself like this every time I try.
Quickcam STX on Ubuntu
I just bought a Logitech Quickcam Communicate STX for teleconferencing with Skype 2.0 beta on Ubuntu 7.10. Getting it working was …. trivial. True Plug-and-Play; I didn’t even need a driver CD, it just worked as soon as I plugged it in. Hurray!