Installing Xandros

I finally got the new case from NewEgg the other day and Sarah's new PC is up and running. I installed Xandros Desktop 3.0 OCE on it yesterday and set about configuring it. I'm finishing up my configuration and customization today.

I'm going to post several entries about my experience with Xandros over the next week or two. I'll probably write an article summing them up later. Today, I'm a bit frustrated, so I'm going to talk about the bad part of my experience. I'll get to the good part later.

The first problem I ran into was configuring the e-mail client. Xandros uses Thunderbird as the default mail client, but also includes KMail. I decided that I'd set Sarah up with KMail, because (1) that's what I use, so I know how it works and (2) it integrates with the KDE address book, which integrates with KOrganizer, and all of them integrate with Kontact. I figured that this would be a snap, because I know that KDE includes a a control center module to set the default mail client, web browser, and so forth. The only problem was, Xandros removed that module! For a minute, I thought I was loosing my mind. But a quick trip to the Xandros forums confirmed that, yes, they had removed the module and nobody knew how to change the setting without it. Talk about a kick in the head.

The second problem was when I started trying to install software from the "unsupported Debian sources." The Xandros Network application actually has a checkbox to include Debian's APT sources when searching for packages. This is nice, because Xandros has a somewhat limited archive, and I wanted to get K3B and KOffice, among other things. The only problem was that a few of the packages I got from the Debian repositories, namely K3B and KOffice, didn't work. Oh, they installed without any problems, they just didn't run right. For instance, k3bsetup didn't run at all and KWord was fine untill I tried to press the right or left arrow buttons to move the cursor, at which point it would crash. In fact, after another trip to the Xandros forums, I even heard complaints that installing the KOffice packages from Debian had messed up some people's entire installations. How true that is, I don't know, but it did not inspire confidence.

So, it looks like if I want K3B and KOffice, I have to build them myself from source. What a pain. That also means that I need to figure out how to make a Debian package, because otherwise I'll be installing things outside the system package manager, which, in my experience, is usually a bad idea.

Oh, you know what else was lovely? When I installed the kernel sources (I needed them to build the drivers for my wireless card), the package dumped them in /usr/src without bothering to extract the archive. They were sitting right there in a bzip2 compressed tarball. And when I extracted them, they didn't include a config file. I was able to just copy the config file from /boot, but the point is that I shouldn't have to.

Banned by Slashdot!

Apparently Akregator was acting up this afternoon. Either that, or the Slashdot guys are just as bad at coding as they are at story editing. That probably isn't possible, though.

I've had Kontact up and running for a few days now, and when I checked it a couple of minutes ago, I had four entries from Slashdot saying I'd been banned for hammering their server. Basically, they ban anyone who requests their RSS feed more than once every 30 minutes. I have no problem with that policy - it's a hight-traffic site and bandwidth is expensive - but I was a bit confused because Akregator is configured to request all feeds once every 60 minutes. So what gives?

I guess it's not a big deal. I turned off updating on the Slashdot feed so they should automatically un-ban me after 72 hours. Plus every article worth reading gets run on OSNews too, so it's not like I'm going to miss anything.

Still an Opera user

It seems that the upgrade to 8.0 final fixed my CPU-sucking problem with Opera. Or maybe it's the fact that I started over with a fresh config directory. It's hard to tell. Over the years, I've found that sometimes Opera behaves better if you start with a clean configuration.

The new version is nice, but no nicer than the 7.6 beta release, if you ask me. The new tab interface is the only reason I stayed with the beta releases rather than reverting to the 7.54 stable version. It's also kind of cool that they added a spell checker, but it's not half as good as the one Konqueror has. Opera just has a regular, on-demand spell checking utility, whereas Konqueror highlights misspelled words as you type. The "recycle bin" for closed tabs is creative and comes in handy every now and then, but it's not exactly a killer feature. Likewise, the new, stripped-down default interface is nice, but it isn't much different from what I had set up myself.

It's also nice that they thought to redo the preferences dialog, but I don't think it's any better than before. In fact, it might even be worse. In previous versions, they has the old-fashioned list box on the left that you used to change between the preferences pages, much like Mozilla. Now they have a tabbed dialog. The only problem is that they have only four tabs, the last of which is an "advanced" tab that just contains the familiar old list box, except moved out of sight. It seems pretty pointless to me. I would have preferred if they'd spent the time on a menu editor or search editor. Or maybe they could have fixed printing.

Of course, the best part is that they didn't make me pay for this upgrade - my old registration code worked! I'm glad they did this, because I'm not sure I could justify paying for this upgrade. The new version is great, but it just doesn't feel like they've added much that I care about. It feels kind of like upgrading Microsoft Office - sure, the new version is better and has more features, but why pay again when the old one does everything I want?

Windows long-cuts

There are many days when I think that Windows really isn't all that bad. Then there are days like today.

I was trying to write a simple, graphical wrapper around some configuration scripts today. Nothing fancy - just copy a couple files, write and merge a few registry files, and make a shortcut. I'm doing it in Visual Basic 6, because we're "standardized" on Visual Basic and VB.NET is out of the question because I need this to run without any installation on Windows NT 4 SP6 up to Windows XP. Pretty much the only purpose of this program is to help configure a software package that we're distributing to people who think that the big blue "E" on their desktop is "the internet," so requiring an installation for the configuration program would kind of defeat the purpose. Anyway, I got almost the whole thing done in an afternoon. The only hard part was reminding myself how Visual Basic's built-in file access functions work, because I always use the Microsoft scripting runtime.

Then I remembered that I needed to create a shortcut programmatically, since the path will be different on different networks. I figured this would be pretty easy - just get out my trusty Win32 API reference and I'll be done in a couple of minutes. Windows shortcut files (also known as "shell links") are pretty common, so there must be an API call to make them, right?

Well, apparently not. It turns out that it's surprisingly complicated to make a shell link in Windows. The most common solution was to use the Windows Script Host, but that didn't work on my test NT4 system. I also found a few very confusing references to using the SHFileOperation API call to copy the file to the "Recent Files" directory and then to your destination directory, but that didn't seem to work on my development XP system. Eventually, I found some posts on working with shortcuts using the COM (or OLE, or whatever the hell they were calling it at the time) interface to the shell32.dll library. It was either that, or call the same functions directly through API declares, which would have been very ugly. Of course, by the time I figured this out, I had to go to a meeting, so I didn't actually get it working.

What I'd like to know is why couldn't Window shell link files be as nice as GNOME and KDE desktop files? Windows links are (relatively) big binary files that, in most cases, only store a two or three pieces of useful information. KDE desktop files, on the other hand, do basically the same thing, but are plain text and can fit in ten lines. You don't even need a library to write desktop files - you can do it by hand if you want to. Why can't it be that simple in Windows?

File non-types

Why can't we have a decent file typing system on UNIX? I made some changes to LnBlog and now, for some reason, Konqueror thinks that my ChangeLog is Java source code. What?!? I'm not a Java programmer, but I'm pretty sure a ChangeLog doesn't look like Java code. Even worse, in a fit of optimism I actually tried to use the 'file' command (use file - what was I thinking?!?) to check the file type, and it told me the ChangeLog was "ASCII C++ program text." Oddly enough, it actually got most of the other files right, aside from some PHP templates it thought were ASCII text and those CSS files it thought were C source code.

You learn something new every day

I guess sometimes it does pay to read the installation scripts. While trouble-shooting my installation of Opera 8.0 beta 3, I came across a link in the Opera forums to the pre-announcement build of Opera 8.0 final. (They announced the Windows version on OSNews, but they haven't always released the Linux version at the same time.) I downloaded it and, instead of directly running the installer as root, commenced building a Slackware package, as I do for just about everything I install.

Well, after having problems with the third beta release of Opera 8, I decided that instead of installing to a prefix and then grepping for any files that contain a wrong path, I would just look at the install.sh script and see if I could simply modify it to use a destination directory in addition to an install prefix. You know, on the off chance that I somehow screwed up the last installation when I made the package. Well, it turns out that the install script already supports a destination directory, it just isn't documented in the help message. It turns out that you can just run:
install.sh DESTDIR=/path/to/destdir

Imagine my surprise! Here I've been, editing the launcher script like an idiot for years when there was already an option to do what I want! Live and learn, I guess.

Sigh...no upgrade for me

I was hoping to get that new system put together today, but no joy. I got all the hardware yesterday except for one key item - the case. That was shipped separately and it arrived today. The only problem was, it was broken. And by "broken," I mean the front panel was smashed and one side had a big dent in it. In other words, it was completely unusable. This is the first problem I've ever had with Newegg, so I was a little taken aback. I filled out an online return request and I'll FedEx the box back tomorrow, so we'll see how it goes.

I guess it's just as well, since I wouldn't have had much time to set up the new system anyway. I was playing around with Xandros 3.0 OCE a little this week while I was in the office (because at work I have a fast PC and a copy of VMware), and while it looks nice, it's going to need a little work before I let Sarah use it.

First, the good parts. The Xandros File Manager (abgreviated XFM, not to be confused with the venerable X File and application Manager, also abbreviated XFM) seems pretty nice. I didn't try out any of the network functionality, as we won't really be needing it, but for a mixed Windows/UNIX environment, I imagine it would be pretty handy. The desktop is a rebranded KDE 3.3.0 and has a very polished, professional look to it. The kicker panel is slim, with a Window XP kind of look to it. There are the familiar quick launch buttons for things like Firefox and Thunderbird, with a small two-desktop pager and the lock and logout buttons. The applications menu is very spare compared to a stock KDE installation. It's not even half the size of mine and also has a very Windows look to it.

I don't know if the paid editions are any different, but Xandros doesn't ship an awful lot of software with the OCE. I can't really argue with what they do ship, though. It comes with Firefox for web browsing, Thunderbird and KMail for e-mail, OpenOffice, Kontact, XMMS and Xine for media, and other good things. Not the variety I'm used to, but the smaller number of choices is definitely a lot easier for new users. I'm sure Sarah will find it less confusing to, say, play a video with just Xine than on my system, which has about six different video players to choose from.

On the down side, I'll definitely have to install some missing things. For one thing, the new system will be getting the same brand of wireless NIC that I use, so I may have to build the drivers for it (unless it get autodetected and configured with ndiswrapper). This means I'll have to install GCC, which isn't installed by default. I may also need to install the kernel soures with that. In addition, I'm going to want to give Sarah the 2.0 beta of OpenOffice, as well as K3B. Of course, K3B isn't shipped because part of the "demo" nature of Xandros OCE is that the integrated CD/DVD burning only supports speeds of up to 4x. I'll also want to add MP3 support, which I've heard isn't included by default. Add in a few more games (I managed to get Sarah hooked on LBreakOut2 some time last year) and possibly KOffice (she really doesn't like OpenOffice 1.1 on her current machine, so another choice is good), and you've probably got at least a good afternoon's worth of work once you include configuration and file migration.

I guess I'll we'll find out how it goes some time next week. Sigh....

Another Windows user down?

As I mentioned to in my last post, I ordered some hardware from Newegg yesterday. It's for a system upgrade for my wife Sarah. She's currently using an old AT-based 400MHz Celeron system with 96MB of memory that's running Windows 98, first edition. I couldn't get Win98SE to run correctly on it - some incompatibility with the PCI bus, if I recall correctly.

After a fair amount of debate, she finally agreed to let me put whatever I want on it. Currently, I'm planning to try Xandros Desktop 3.0, Open Circulation Edition. I figure if Scott Granneman likes it that much, it's worth a try. It sounds like it would be good for her, and it's KDE-based, so I can leverage my own experience for any desktop configuration issues. Failing that, I may try Ubuntu.

Of course, her mother thinks I'm out of my mind. Why, I'm not sure. She broke out the old canards about being incompatible with everyone else, particularly with regard to Microsoft Office, but that's about it. Apparently she's under the impression that "everybody" uses MS Office and that if you don't, you'll be incompatible with them basically be left out in the cold. Of course, this is nonsense. OpenOffice can handle pretty much anything you're likely to come across in everyday non-technical business. And regardless of that, the only thing Office is really compatible with is itself. We use Office 97 at work, and if you check the "open" file dialog in Word, pretty much all it understands are documents for various versions of Word and WordPerfect and several varieties of plain text. Compare this to the range of file formats supported by AbiWord or KWord and you come away feeling like Microsoft short-changed you.

It will be good to get her on software that is 1) completely legal and 2) designed during this century. It'll also be good to get her off Internet Explorer. I'm hoping maybe it will be made easier by the fact that she's already come across one site that worked in Opera but not IE. It used the CSS :hover pseudo-element (is that the right term?) to dynamically display a pop-down, and IE only supports :hover on links.

Anyway, we'll see how it goes after the new hardware gets here. I'll probably have plenty to write about over the next few weeks!

@$#% Opera!

I really need to upgrade my system so that I can try different web browsers. I've been using the Linux version of Opera for several years now because it was the only decent browser that ran well on my aging AMD K6, but it's really been starting to piss me off lately.

The thing is, I really like Opera, and have for a while. I liked it so much that I actually paid for a license to version 6.0 and then paid again to upgrade to 7.0. It's very fast and has a pretty good user interface.

The problem is that it doesn't feel like Opera is making progress. There are lots of little things that are missing or haven't worked right for a long time. Allow me to give a few examples.

  • It took them until version 7.60beta to get printing right. Then, in the 8.0beta releases, I started having trouble again.
  • There is no configuration interface to the address bar search functionality.
  • There is no user interface for configuring the menu bar, although it can be done using the INI files.
  • There is no single font changing, like the "larger" or "smaller" menu items in IE or Firefox. There's a setting for the minimum font size, individual settings for each text element, and a "zoom" feature, which scales the entire page. I find this somewhat annoying.
  • There is no ad blocking functionality and Opera won't add one because, apparently, they feel it's hipocritical to have an ad blocker when they have banner ads in the freeware version. Of course, as a paying customer, I frankly don't give a damn how they feel about it. I want an ad blocker!

There have, of course, been many "revolutionary" new additions to Opera since I started using it. I even use some of the small ones. However, the big things are the "web suite" features, like the e-mail client (which I don't like), the RSS aggregator, and the chat application. These are all well and good, but I don't want a web suite - I want a web browser. I already have an e-mail client and an RSS reader - KMail and Akregator, and they're part of a PIM suite that integrates with my entire desktop. The only reason I don't use the web browser that goes with them is that it's slower than molasses on a cold day in January.

The problem I just had, though, was the last straw. I couldn't log into my Newegg account in Opera. After putting in my user ID and password, I got to the "processing login" page and was never redirected. I don't know why. Maybe it's related to the cache problem I had a few minutes before, where Opera showed me an old version of my shopping cart. (I've had cache mishaps in Opera for years, although they don't happen too often.)

I think it's just time for a change. Opera is nice, and there are a lot of features in it that I like, but it feels like it just isn't getting any better. Or, rather, it's not getting better in a way that matters to me. And with Firefox and it's massive number of useful extensions (I really miss the web developer toolbar when I'm using Opera), Opera just doesn't feel like as obvious a decision as it used to.

I always feel a little sad when I start moving away from a piece of software that I've loved for a long time, but it's always proved to be for the best. I suppose it will probably be the same way with Opera. Of course, I have to upgrade my system before it's feasible to switch, so maybe Opera 8.0 final (or even 8.1) will be good enough to keep me a loyal user. But I'm not going to hold my breath. On the up side, if I do drop Opera, I'll be moving to Firefox or Konqueror, both of which are old friends, so it won't be as jarring a change as usual.

I love emulation

Emulation is great. No need to dual-boot or go out and find a replacement for hardware that broke down years ago. Just fire up an emulator and you've got a whole different platform running in a convenient little window on your desktop.

Although video game emulators like ZSNES and MAME are nice, my current favorites are DOSBox and QEMU. DOSBox is a DOS emulator, kind of like DOSEMU, but more focused on games. I currently use it for exactly one thing - playing Bandit Kings of Ancient China, one of Koei's classic strategy games. This was literally the first PC game I ever bought. I got it and a copy of Tetris from a game store back around 1991 or 1992. I've since lost the copy of Tetris (which was the only program I ever bought that came with a 5.25" floppy disk), but I jealously guarded the Bandit Kings disks for years. They finally went bad a few years ago, but fortunately I had a backup of the game files, so I can still play my original copy. In fact, I even still have the instruction manual and poster that came with it. For some reason, I just never get tired of that game.

QEMU is cool for an entirely different reason. It's an open-source "process emulator" that supports full system emulation. In other words, you can use it kind of like VMWare, meaning you can install an old copy of Windows onto a file on your hard drive. This is a very handy thing to be able to do. For one thing, it allows you to use all that old Windows-only software you probably have lying around. It's also very nice for testing purposes if you're a web developer, since you will almost definitely want to test your pages in Internet Explorer. And after all, Wine is a big pain in the neck to install and configure, while installing a virtual copy of Windows is pretty simple. Also, you can have multiple QEMU disk images with different versions of Windows and Internet Explorer. I don't think you can do that with Wine.

The only problem with these programs is that they require more CPU power than I really have. My trusty 500MHz AMD K6 has served me well, but it can't really handle heavy emulation. However, QEMU does have an "accelerator" kernel module which is supposed to speed things up considerably. Unfortunately, the accelerator module is not free software and is only available in binary form. Plus it only works with the current CVS, not the any of the stable releases. Oh well. I'm compiling the CVS source now, so we'll see how it works. Hopefully I won't need it once I finally get around to upgrading my system.

Not an automount article

You know what I need to write an article about? Automount. It's a great feature, it's very useful in these days of removable USB drives, and yet nobody seems to know about it.

If you don't know about automount, it's simply a feature whereby you can configure devices to be mounted on demand. So if, for example, you have an NFS share that you only access every once in a while, you can set up automount to handle it and then every time you access the mount point, if the share isn't mount, the system will mount it for you. And after the share is unused for a certain amount of time, it gets unmounted automatically. This magic happens through the combination of the kernel level autofs filesystem and the userland automount daemon.

This is really great for USB thumb drives. You can set it up so that you just stick the drive in a USB port, open it up in a file manager, do your stuff, close the file manager, and after two seconds the drive is cleanly unmounted and you just yank it out. Of course, there can be some complications. For one thing, this doesn't work if you're using a 2.4 series kernel and have multiple USB storage devices. To make this really work, you need udev, which is only supported on 2.6 kernels. That's because USB storage device names are not static - the first device you plug in gets the first available device name. Udev, however, lets the kernel assign static names to particular devices based on things like device serial numbers. Of course, it might be possible to fake this out in a 2.4 kernel by using hotplug and sniffing the output of dmesg, but that's not the easiest or most pleasant way to do things.

I wonder why it is that automount isn't more widely used by Linux distributors? Is it just because they like to handle things on the desktop level rather than the system level? I've heard that many distributions do things like automatically creating icons on the desktop when you plug in a USB stick, but, as a Slackware user, I've never actually seen it. I guess the thinking is that by using D-BUS or hotplug or whatever they use to do that, they can achieve greater flexibility than simply mounting. Maybe they see things like the Windows XP device dialog box as a goal. Although I'm not actually too fond of that feature of XP, I guess it might be useful to people new to computers.