My PC Has Turned To The Dark Side

Star Wars: Knights of the Old Republic is a great game, but it’s still pissing me off mightily. Why? Simple, it seems like I can’t go five minutes without the stupid thing crashing on me… It crashes when it loads new areas. It crashes at the start of cutscenes. It crashes if I look at it funny.

It’s somehow related to the video drivers, since the debug dump is almost always in ‘atiogl.dll’ or something like that, the ATI OpenGL subsystem. Reverting to the previous version of the ATI Catalyst drivers helps; it now only crashes every dozen or so area changes instead of every other one. Except that there’s a bug in that version of the drivers that makes the frame rate choppy…

Ugh, this is part of what’s driving people to develop and play games on consoles like the X-box instead. Its version of KoToR certainly doesn’t have these problems…

Update: Although the latest ATI Catalyst drivers are version 4.6, I apparently have to go back *four* whole releases to 4.2 if I want KOTOR to be stable and run smoothly. Wheee…

The New Old Version

Firefox 0.9 is out now, for better or for worse (good: bugs fixed, bad: hideous new default theme).

On the Windows version, they made a slight goof though. It looks like it imports all of the previous configuration settings, but the version of the browser reported in the user agent string is one of those settings, so it continues to identify itself as Firefox/0.8 if you do an upgrade from 0.8. OOPS.

The OS X version seems to report the correct version after an upgrade, though.

If someone really needs to tell the ‘fake’ 0.8s apart from the real 0.8s, the ‘fake’ 0.8s also have ‘Gecko/20040614’ as part of the user agent string.

A Mystery

Hmmm, I seem to have a stowaway on my Windows partition. A drive was making odd sounds so I went to check the Event Viewer for any warnings (it turned out just to be the image preview application doing very inefficient I/O) and I noticed a start message for a device driver named ‘nenum13E’. Odd. It doesn’t have a meaningful service description associated with it, either. Strange. Google turns up nothing, so it’s not a well-known program, and could be a randomly-generated name. Suspicious. And it runs out of a temporary directory. *Very* suspicious.

A virus scan doesn’t note anything unusual, though. The other major possibility is spyware, but neither Ad-Aware nor Spybot pick anything up either. That’s unlikely anyway since I’ve always been up-to-date on security patches and don’t use that system very much for browsing.

It should be safe enough to delete it, since nothing system-critical should be running out of a temporary directory. :-P I’m still curious as to what it actually is, though…

Expresso

Although I’m not using anything wireless right now, Apple’s recently-announced Airport Express device looks pretty nifty. Not for the AirTunes feature though; I don’t even have a stereo system (my computers *are* my home audio system) so that’s just marketing fluff to me.

No, what really interests me is being able to have a wireless USB printer server. I’ve often considered getting a printer, but I’m running out of USB ports, a hub would make the wiring mess even worse, and I don’t really have anywhere to put it that’s convenient and near the rest of the computers. With just this device though, I could stick the printer anywhere.

It also acts as a WiFi-to-Ethernet bridge, which has two added bonuses. I could set up a whole second network around the printer and the Airport Express would take care of integrating it into the existing one. Plus, I could also take it on the road and use it as a mobile access point so that I can always roam with the laptop regardless of whether or not the person or place I’m visiting even has WiFi (as long as they’ve at least got an Ethernet port free, of course).

I suppose it would help if I actually get a wireless card first though…

Oh Sure, Now You Tell Me

When I bought my iBook, I didn’t get many of the options or accessories with it. In particular, I didn’t get the Bluetooth module since I don’t have any other Bluetooth devices anyway.

I was recently investigating upgrade options though (I’ve got some new parts for ‘ekosiak’ on the way now), and I was curious just how much the Bluetooth module would cost, since one way of getting Net connectivity on the road would be to use a cell phone with Bluetooth capabilities as the connection. I was unable to determine how much it would cost though, because much to my surprise, it *can’t* be purchased separately at all.

It looks like the Bluetooth module is something that can only be ordered at the same time as the system itself, and the dealer has to install it. What really annoys me though is that there was no indication at the time I bought the iBook that this was the case. It was labelled ‘Bluetooth-ready’ in that you could add in the Bluetooth module, which to me implied that it was an upgrade that could be done at any time.

It’s not a fatal problem as there are third-party modules available (though then they take up a USB slot), and maybe I can convince a local dealer to order and install it separately anyway, but it’s still frustrating to discover this kind of information after-the-fact…

Progress

My scanner is attached to the dual-boot XP/Debian box, and up till now I’ve done all of my scanning under Windows. I was curious if I could get it to work under Linux too though, to avoid having to reboot just to scan something.

I had no idea what was necessary to get it working in Linux though. I vaguely remember there being a device driver for this model mentioned on some USB compatibility list, and I remembered something called SANE that had to do with scanning, though I couldn’t remember if it was a program or library or what, and I hadn’t the foggiest idea if there were any kind of GUI frontends that would make using it easier or what they’d be called. Normally you have to get a half-dozen prerequisites installed and configured correctly before something new like this will work.

So, I figured I’d work backwards, find the program I’d mainly use, figure out its prerequisites, get them, find and fulfill their prerequisites, and so on. Since I was already in a KDE session, I browsed through the menus looking for something useful, and quickly found the ‘Kooka’ Scan/OCR program under the graphics menu. I launched it to see what it would complain about, and it presented me with a prompt to select which device to scan with, with the Epson model I have already pre-selected. After confirming that, I got a window similar to the Windows scanner software, with a number of option and buttons. I hit the Preview Scan button, and lo and behold, a scanned image of the reference card I had on the scanner showed up.

Well, that was a bit easier than expected. It’s a pleasant surprise when something Just Works when you’re normally used to having to install and tweak complex configurations manually. If the usability of Linux distros keeps improving like this, that desktop market might not be so far out of reach after all…

Okay, Maybe I Don’t Want It All

It feels weird not wearing a ring after so long. I never realized how often I’d subconsciously fiddle with it with my thumb, and I catch myself doing it and finding nothing there. After sticking my hand in a garbage bag, there’s often a slight panic as I sense the ring missing after pulling the hand out, before I remind myself that I didn’t put it on in the first place. Ah, the forces of habit…

Yesterday’s lesson:

Don’t select whole categories of packages in Debian. It’s just a Really Bad Idea.

I wiped Slackware off of my Athlon system so that I could free up some disk space for XP. I rarey ever use Linux on it anymore now that I have two other systems running it, so there’s no sense in letting it hog 100 of the 140 gigs, especially when I have to frequently clean up files to keep from running out of space in the XP partition.

I do still occasionally use Linux on it though, so I left a 40 gig partition and put Debian on it. Slackware’s great on the server, but I wanted to experiment more with other distros with better desktop support. The basic install went smoothly enough, and it was up and running in no time.

Of course, I can’t leave things well enough alone… I pulled up ‘aptitude’ and started browsing the package listings, seeing if there was anything interesting. Since it was getting late and I was impatient and wanted to let the installs run overnight, I decided I’d just select the whole ‘admin’ and ‘base’ categories and sort out the useful bits in the morning.

Oh, that was a mistake… In the morning I discovered that the downloads and installs had aborted partway through due to errors. And that there were now some 50+ package conflicts. And that there were six gazillion settings irrelevant to me that wanted to be configured. And that even after working out the conflicts, there were still installation errors. And after working out those errors, the system plodded along slowly under the weight of some 400-odd processes, when idle. And programs were still generating numerous error reports and mailing them to me. Oops.

So, rather than try to trim things back to what I actually needed, I just reinstalled from scratch again. Now I’ll be a bit more careful about what packages I select…

Taking Exception

Today’s lesson:

Exceptions are hard.

OOP-style exceptions in languages like C++, that is. I’ve been thinking of ways I could better use them in my own code, and it’s more complex than it first appears. Raymond Chen, a fairly well-respected programmer (even if he does work at Microsoft), discussed this recently and posed a bit of a puzzle, and if even he and other highly-experienced people can’t agree on proper solutions, what hope is there for a poor slob like me? :-P

The Honeymoon Is Over

Okay, I’ve had it. I’ve been able to tolerate the little flaws, the imperfections that you learn to work around or live with, but this is the straw that broke the camel’s back. Once you’ve reached a certain point of frustration, there’s just no hope of salvaging what you had.

This PocketPC sucks as an MP3 player.

Oh it worked ‘reasonably’ well for a while. It did its job, playing songs in random order, so what could there possibly be to complain about? Aside from the low capacity, that is. And that trying to add whole directories to the playlist would often crash the player, requiring that the files be added one-by-one instead. And the stutter at the start of many songs if I dared try the power-saving mode in order to get a decent lifetime. And that in order to protect the screen I have to keep it in its case, making using the controls difficult. And a half-dozen other little quirks that pop up from time to time.

And then today, after docking it at the office like I’ve done a hundred times before, *something* got corrupted. Now it’ll only play one song and stop. Re-examining the playlist puts garbage in it. Launching it through an association in the File Explorer causes a memory fault. And I just don’t care anymore.

Today’s lesson:

Nailing your head to the coffee table is more fun than fiddling with glitchy PocketPC software.

Logs (Big and Heavy, But Not Wood)

Today’s Tip:

One of the Windows worms currently running amok is annoying in that it uses a buffer overrun exploit via a very long URL. Not a problem for a Linux system, but this makes the web server logs balloon in size and makes them a pain to browse manually.

Fortunately, it can be mitigated a bit. Changing the “%r” in any LogFormat lines in Apache’s httpd.conf to “%!414r” completely trims out any URLs which are considered too long.

Yes, More InstallShield

Tip for the day:

Trying to enable detailed logging to track down problems manually either through extra script commands or trying to pass through command-line parameters through all the layers was annoying, but there’s apparently a way to enable the logging permanently:

Go to the HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer registry key, and add a string value named “Logging” with the value “voicewarmup”. Log files will then always be generated, in the %TEMP% directory.

Google Ogles E-Mail

It turned out to be a pleasant surprise that Google’s e-mail service wasn’t an April Fool’s Day joke after all, but it’s already raising its share of controversy.

The main controversy seems to be over the plan to show ads based on the content of the e-mail you’re currently reading. The normal gut reaction to this is that it’s an intrusion into our privacy, since after all the e-mails are meant to be read only by the recipient, not Google.

Really though, this is a red herring. As long as the e-mail is being stored by Google, there’s no guarantee of any kind of privacy to begin with. Google claims that the scan results are kept private and people are saying that that’s not enough and they don’t trust Google to stick to that, but by the same argument there’s no reason to trust them even if they weren’t scanning them for ad targetting. For all we know, the Google admins could print out randomly picked e-mails and laugh at them over coffee.

It also depends on how well it works in practice. It would be kind of tacky if an e-mail about Uncle Bob dying of cancer gets accompanied by ads for funeral services…

The other major issue is that any old e-mail will be retained by Google indefinitely. This is more a matter of control than privacy, and it’s much more debatable. If I want to delete an e-mail, does Google have the right to retain it in its archives, even though it may not show up in my inbox anymore? The e-mail is arguably my intellectual property, but it’s also Google’s equipment. Presumably the agreement we’ll have to accept to use Gmail will give them this right, but is it a right they can even legitimately demand?

I dunno, I’m not an IP lawyer… :-P

In any event, it’s good that all of this is getting aired out now, so that people are aware of what they’re getting into. Lawsuits to block it and/or force it to change seem a little extreme, though. There’s always the simple answer, too: if you don’t like it, don’t use it…

Burn Baby Burn II

It’s probably about time I actually got around to getting a DVD burner. I’ve been avoiding them for a while due to compatibility concerns and new developments and such, but it seems to have finally gotten to a point I’m comfortable with now that current burners support both + and -, R and RW. Sure, there’s talk of the dual-layer burners soon and blu-ray down the road, but there’ll probably be an initial ‘glitchy’ period while kinks are worked out that would delay things further yet. I don’t really *need* dual layer anyway; this is mostly for data backup and archival and recorded video, not copying, so I don’t care about fitting whole movies and special features and such on them. I’m glad I waited until the +/- problems were (mostly) sorted out, but I can’t wait forever…

Now I just have to decide on which burner. Sony’s are highly recommended, but expensive, and I’d also prefer one in an external enclosure with both FireWire and USB interfaces, so I can swap it around among all the systems. LaCie makes a whole bunch that fit that bill, but I haven’t heard any reviews yet. And I can always take an internal one from, say, HP and stick it in a separate enclosure.

Time for more research…

First You Get The Karma, Then You Get The Power, Then You Get The Women…

While I was browsing Slashdot during lunch on Friday, I was surprised to see drop-list boxes suddenly appear at the end of comments I was viewing. A quick scan for further information revealed that apparently I had been selected to be a Slashdot moderator!

So what, right? After all they’re automatically and randomly selected, it only lasts three days, and you only get five points to spend adjusting comment scores. It’s not like the site admins themselves personally anointed me and invited me to their country club. :-P

What was actually interesting about it was the effect that it had on my own reading habits. Normally I just skim along looking at the highly-ranked comments that display automatically, and any with titles that contain something that catches my eye. Continuing to do that didn’t really give me any opportunities to spend points though, since most of them were already highly ranked and the few other threads that I delved into just weren’t very interesting. I obviously had to start reading more threads if I was going to find anything to moderate.

At first I got all idealistic and figured hey, I’ll check out all of the later, neglected threads where somebody may have posted something extremely important but was ignored since most people have moved on. Of course, there were a few problems with that… One is that there are a *lot* of such comments, often in isolation, and it’s not obvious from the subject alone whether it’ll be worth checking out. Also, they often didn’t really have anything interesting to say after all. There’s probably a point at which everything worth saying has already been said, and beyond that it’s just bitches, whines, complaints, and such.

So next I started delving into the longer threads near the middle of the comments, where I encountered the next problem: decision paralysis. Sure, there were plenty of on-topic comments to choose from, but does this one really count as ‘insightful’ enough? Sure, this guy posted a bit of useful information, but with people posting so furiously there’s a lot of overlap, and maybe someone else has posted even more and really deserves the points. Or maybe not. And this post looks interesting, but it’s not really my area of expertise, so how do I know for sure? For all I know someone else is going to come along and post “No, you’re full of shit because…”

So, instead, I went to the shorter, 3-5 comment threads near the middle of the pack and spent points on posts in those instead. That seemed like a reasonable compromise between finding neglected posts and trying to avoid redundant information or overly long, meandering threads.

And now all my points are gone and I never did get those women…

Hidden Quakes

Another game that I’ve recently discovered I have the Mac version of is Quake 3. I knew there was a Mac version of it, but I didn’t know if it was on the discs that I had. I found the CD case and examined it, but it didn’t say *anything* at all about what platforms were supported. So, figuring it was worth a shot anyway, I slapped the CD into the iBook and sure enough, a Mac installer was right there.

I also have Team Arena, since it was the Quake Gold package, but right on the front of its CD it says “Windows 95/98/ME/2000/NT4”. Oh well. But maybe… Sure enough, after sticking it in, there was a Mac installer for it too.

Things get even stranger though. The first thing you do after installing any game nowadays is to go and grab the patches, right? Q3 was still running in Classic mode and was a bit choppy, so I hoped there would at least be a native OS X patch. Well, off to idsoftware.com I went, but oddly enough I couldn’t find any Mac patches at all. There were Linux and Windows patches to bring it to 1.31, but nothing for the Mac. Well, maybe the 1.30 included in the Gold package really is the final version for the Mac, I thought.

After poking around a bit though, there was a file named “Patches and Updates blah blah blah.html”, and it had a URL to quake3world.com’s files section. After a quick visit there I could see that they were actually up to 1.32 for the Linux and Windows versions, but there was only a beta version of a patch to 1.31 for the Mac. It was, however, a broken link. Well goodie. Starting from the front page of fileplanet.com I worked down to the Quake 3 files and, lo and behold, there was what I really wanted: a final, official 1.32 point release for Mac OS X. Ugh, it just had to be FilePlanet…

You’d think that the company’s own site would be the place to go for the latest updates. Or that the biggest fansites would have working links to the right places. No wonder people are wary of gaming on the Mac if they’re going to treat it like the red-headed stepchild…

Sharp As Fresh Fruit

One of the languages I neglected to mention in a previous entry was C#, the new offering from Microsoft and a big part of the .NET framework that is apparently to be the foundation of everything they do from now on. I didn’t really know very much about it at the time and, well, I still don’t, but I have to figure out if it’s worth the research.

Despite the initial suspicion you might have about anything coming from MS, C# sounds great — an object-oriented language with a large standard library that covers the most common requirements, that integrates easily into other object oriented frameworks and is platform-independent via a virtual machine and JIT compiling and… Oh wait. I think I’ve heard this story before.

On the surface C# really does seem like Java 2.0. There’s nothing really ‘wrong’ with the language, but its existence seems a bit redundant. Microsoft got slapped around by Sun when they tried to fiddle with Java, so they went off and made their own clone of it. Still, choice is good, and I’m sure there are numerous little subtleties where you can argue that one is better than the other, but I’m not an OOP expert so they’re largely lost on me.

What’s going to be important to me are two things: 1) Am I going to *have* to know it, and 2) Can I even use it? The first point is simply business; if five years down the road it’s going to be hard to find a job *without* ‘C#’ on the resume, then it’s probably worth knowing. The same could have been said about Java and it didn’t really turn out that way, but Microsoft is pushing hard on C# and .NET and they’re the proverbial 900-pound gorilla…

The second point is a bit more important. Currently, despite the promises of portability, the only real implementation of the framework and compiler is on, well, Microsoft OSes. There is an open source implementation in progress for other systems, called Mono, but it’s still in the early stages. For MacOS X there’s an environment from Microsoft themselves, but it doesn’t look well-supported (I can’t even get it to build). Certainly anything new has its growing pains, but at the moment, if I were forced to choose for an important project, Java certainly has a more mature development environment.

So, for the moment, I’m still fairly undecided on whether learning C# would be worth it. It seems unnecessary, with Java already out there, but it might be the next ‘wave of the future’ in professional circles. This doesn’t really affect me work-wise at the moment since we’re still heavily focused on C for portability and reliability (I imagine C# support for MVS mainframes is still a ways off…), but I still don’t want to feel like I’m falling behind. Looks like it’s wait-and-see for the moment…