The Mambo CMS has a built-in module for content syndication through RSS, OPML, ATOM, and other feed types. Unfortunately, it is configured to push new content URLs without the search engine-optimized (SEO) modification. So while your content URLs may be fine, anyone who links to your site from your feeds will be using a dynamic, non-SEO link. Here’s how to hack the component to make it work properly in Mambo 4.5.4.
Open up the /components/com_rss/rss.php file with a text editor and skip down to line 212. You should see this:
$item_link = $mosConfig_live_site .'/index.php?option=com_content&task=view&id='. $row->id .'&Itemid='. $mainframe->getItemid( $row->id );
That’s the line that forms URLs for your content. The standard, built-in Mambo SEO function changes this URL to something simpler that search engines can more easily follow and index. If you’re using this function (and not some other third-party SEO/SEF hack), you will have to replace the above line with this one in order to get SEO URLs in your feeds:
$item_link = $mosConfig_live_site .'/content/view/'. $row->id .'/'. $mainframe->getItemid( $row->id );
Save and close the file, then check your feeds to make sure the addresses are being written properly.
Discuss this article or get technical support on our forum.
Copyright 2006 Jem Matzan.
A warning
Following most of the directions in this guide will alter your operating system in ways that are not supported by Novell. This article will show you how to modify SLED 10, and force it to depart from the standard configuration. All of these hacks have been tested and are believed to do no harm to your software; there are always possibilities, though.
Installing non-distribution software
SUSE Linux Enterprise Desktop 10 doesn’t come with very many software packages, especially if your job involves software development, Web design, or desktop publishing. Fortunately, you can use packages from SUSE Linux 10.1 to fill the gaps. The procedure is as follows:
- Click the Computer menu in the lower left, then select More Applications. Click the System link on the left, then YaST in the right pane (you’ll probably have to scroll down a little to see it).
- Enter your root password and press Enter.
- Click the Installation Source icon in the right pane.
- Click the Add button, and select HTTP from the drop-down list.
- A dialogue for entering a new installation server should appear. In the server field, type this in:
mirrors.kernel.org/opensuse/distribution/SL-10.1/inst-source
- Click OK. It will be several minutes before the server is properly registered with your machine. Depending on your location, your Internet connection speed, and the traffic level of the server, it could take quite a while for this process to complete.
- Repeat this process for the following server address:
mirrors.kernel.org/opensuse/distribution/SL-10.1/non-oss-inst-source
- Afterward you’ll be presented with a license agreement. Click “Yes, I Agree to the Software License” if you do agree (or if you don’t agree and don’t care, and just want to get on with adding software).
- Click the “Refresh On or Off” button, then click Finish.
- You’ll find yourself back in the main YaST screen. To install extra software, click the Software Management icon on the left, then either search or browse for the packages you want to install. Click Accept to install them.
I tested a few different packages to make sure that this process would work. There are, however, thousands of software packages in the SUSE Linux 10.1 repository, so it is possible that some programs may not work properly with SUSE Linux Enterprise Desktop 10.
If you continue with the rest of the instructions in this guide, upon restarting your computer you will more easily be able to install new software packages through ZENworks instead of having to go into YaST.
Installing the Java Development Kit
If you’re going to be doing any Java programming on a SLED 10 machine, you need to have a JDK. Most people prefer to use the most recent version of the Sun JDK, as opposed to older editions or JDKs released by other companies or open source projects. For that reason, this guide will only cover the Sun Microsystems Java 5.0 Development Kit.
Installing the JDK 1.4.2 is quite simple. Just go to your Computer menu in the lower left, then click on Install Software on the right side of the menu. It may take a few moments for ZENworks to connect to the software servers. When it’s ready, type in “Java” in the search field, then press Enter. Select the java-1_4_2-sun-devel package, plus any other similar packages that you may need for your projects, then click the Install button and follow the on-screen directions from there.
The Java 5.0 development kit is not available through standard SLED 10 channels. If you would like to install it anyway, first remove the old 1.4.2 packages by following this process:
- Click the Computer menu, then select More Applications.
- Click the System link in the left pane of the ensuing dialogue, then click on YaST in the right-hand pane (you may have to scroll down a bit to see it).
- Input your root password when prompted.
- When YaST comes up, click the Software Management icon in the right pane. Type “sun” into the search field, then press Enter.
- Mark the 1.4.2 packages in the right pane for removal (click them twice; the garbage can icon should be next to each of them when they are properly marked for removal), and click the checkbox next to the 1.5.0 packages that you need. then click Accept. A window may come up to warn you that the 1.4.2 JRE is required for OpenOffice.org (this is irrelevant because you’re replacing the 1.4.2 JRE with a newer version, but YaST doesn’t know that). Select the option labeled “Ignore this requirement generally” and then click the “OK – Try Again” button.
- When installation is complete, you can close YaST, or install your favorite Java IDE from the Software Management area of YaST as described above.
You don’t have to restart your computer for the JDK changes to take effect, but if any programs that require the JDK or JRE are currently running, you will have to restart them.
Video playback: DVDs, Windows Media, and QuickTime
SLED 10 already has a number of multimedia codecs installed, but you won’t be able to play commercial DVD discs or Windows Media files, and you won’t be able to watch video clips through your Web browser. Be warned that following the processes in this section may violate copyright- and patent-related laws in your country. It is your responsibility to verify that this software is not illegal before you attempt the below procedure; proceed at your own risk.
First you need to install the decryption library. Here are the instructions for 32-bit SLED 10:
- If you’re using the 32-bit version of SLED 10, download and install the libdvdcss RPM from this address (just click the link if you’re using Firefox in SLED 10 right now): http://download.videolan.org/pub/libdvdcss/1.2.9/rpm/libdvdcss2-1.2.9-1.i386.rpm.
- Click OK in the Firefox file dialogue. The default option should be to install the package with ZENworks.
- Click Install in the ensuing ZENworks window.
If you are on the 64-bit version of SLED 10, the process is more difficult. You’ll have to install from source:
- Click this link to download the DeCSS code: http://download.videolan.org/pub/libdvdcss/1.2.9/libdvdcss-1.2.9.tar.gz
- When Firefox asks what you’d like to do with the file, select the Save To Disk option. The file isn’t very big, so it should download almost immediately. You can close the Web browser now.
- Open a terminal by clicking the Computer menu in the lower left, then selecting More Applications. Click the System link on the left, then Gnome Terminal in the right pane.
- Type this command to switch to root permissions:
su
- It’ll ask for your root password — go ahead and type it in, then press Enter.
- Now you need to switch to the directory that Firefox downloaded the file to:
cd Desktop
- Next, decompress the file you just downloaded. Type this in:
gzip -d libdvdcss-1.2.9.tar.gz
- Then unpack it from its archive by using this command:
tar xvf libdvdcss-1.2.9.tar
- The file will un-tar to its own directory, so you can now safely delete the tar archive:
rm libdvdcss-1.2.9.tar
- Now you need to compile the DVD decoding library. Change to the directory first:
cd libdvdcss-1.2.9
- And then run the configure program with this command (don’t leave out the dot and slash):
./configure
- When it’s done configuring, run the make command to build the files:
make
- Finally, it’s time to install the library:
make install
The remaining instructions are valid for both the 32-bit and 64-bit versions of SLED. The next step is to modify ZENworks so that it uses checksums instead of signatures for repository verification:
- Open up a terminal window by clicking the Computer menu, then More Applications. Click the System link on the left, then the Gnome Terminal icon on the right.
- Switch to root permissions by typing this command:
su
- Copy and paste in the following command:
rug set-prefs security-level checksum
- Close the terminal — you don’t need to use it again for this article.
Next, fix the disabled Xine libraries so that they support DVD playback:
- Start YaST by clicking the Computer menu, then More Applications, then the System link in the left pane, and the YaST icon in the right pane (scroll down a bit to see it).
- Enter your root password when prompted.
- Click the Installation Source icon in the right pane.
- Click the Add button, then select HTTP from the drop-down list.
- In the ensuing dialogue, copy and paste this address into the server field:
packman.unixheads.com/suse/10.1
- Click OK, then close the Installation Source window.
- If you wish to install the Windows Media codecs and a Firefox plugin for watching video clips, click on the Software Management icon in the main YaST window. Search for the following terms:
w32codec-all
mplayerplug-in
libffmpeg0
- Click Accept, then agree to install the dependent packages. You’ll probably have to have your SLED 10 installation discs available to complete this step.
- Continue to follow the on-screen instructions until installation is complete. Close YaST when you’re done.
- Right-click the ZENworks update icon in the lower right corner. It should look like a globe with two arrows going around it, or a yellow circle with a white exclamation mark in the middle. A popup menu will come up; in it, select Refresh. It will take several minutes for ZENworks to check for updates.
- Once ZENworks is finished looking for updates, the notification icon will turn into an orange circle with an exclamation mark in the middle. Click on it to bring up the ZENworks update tool.
- When all of the updates are found, they will be presented for your inspection. De-select the Kino package if it appears in the list; this update seems to have trouble in SLED 10 as of this writing. Click Install once you’ve done that.
- A dependency list will come up next. All it’s doing is showing you what will be removed and/or installed. Click OK to proceed.
- When all updates have been applied, click Close, then close the ZENworks updater. You now have the ability to play encrypted DVD movies, play Windows Media files, and watch videos on the Web.
Disabling the annoying Synaptics touchpad scroll feature
Of all of the “features” that I have ever been annoyed by, the Synaptics touchpad scroll areas is the most infuriating. If you have a Synaptics touchpad (most laptop computers do) and find that you are getting odd behavior in your Web browser, you probably need to disable the scroll feature of the Synaptics driver. This option reserves the bottom and right sides of your touchpad for scroll wheel functions. So moving up and down the right side of your touchpad will scroll up and down, and moving sideways along the bottom will act like a side scroll wheel. In a Web browser, the side scroll makes you go back and forward in your page history. Most people aren’t used to this “feature,” so it seems more like a bug — a very annoying one at that. To disable it, you need the KSynaptics package:
- Make sure the SUSE Linux 10.1 sources have been added as per the above instructions. If you have not restarted your computer since the beginning of this guide, it might be a good idea to do that now, so that ZENworks has a chance to enable all of the updates you applied (some of them require a restart).
- When you’re back at the SLED 10 desktop, click your Computer menu, then select Install Software. In the search field, type in KSynaptics and press enter.
- Click the checkbox next to the KSynaptics entry, then click Install.
- Follow any remaining on-screen instructions to install the package. When it’s complete, you can close ZENworks.
- Open your Computer menu, then click More Applications. You should see a Touch Pad icon near the top of the right pane in the New Applications section. Click on it.
- Click on the Scrolling tab at the top of the KSynaptics window. Un-check all of the checkboxes in this screen, then click Apply, then OK. The scrolling feature is now disabled.
Discuss this article or get technical support on our forum.
Copyright 2006 Jem Matzan.
Transferring single objects
If you only have a handful of individual files or directories to transfer, it’s probably easiest to send them one at a time via secure shell (OpenSSH). Every GNU/Linux distribution includes OpenSSH, but not all of them run the SSH daemon (which allows you to connect to the computer via SSH) by default. Starting the daemon is as simple as typing sshd in a root terminal. You can also configure your distribution to start OpenSSH at boot time; each distro handles startup scripts differently, so you’ll have to consult your distro’s documentation to learn how to do that.
Once the secure shell daemon is started, other computers can connect to your machine from a terminal window by using the ssh command, or you can copy files over a secure connection by using scp. The latter works just like the regular cp command does, except you have to give it an address for at least one of the files:
scp picture.jpg 192.168.1.101:/home/user/pictures/
In the above example, a file called picture.jpg is transferred to the network machine with the address 192.168.1.101 in the /home/user/pictures/ directory. By default, scp copies the target file or directory to the home directory of whatever user you’re logged in as; you can specify a different location by adding the path after the colon following the address.
By using your /etc/hosts file, you can create a nickname for the remote machine you’re copying files to. Just start a new line in the file, type in the IP address of the machine you want to nickname, then press the tab key once and type in the name you’d like to call it:
192.168.1.101 laptop
In the next example, we’ll use the laptop nickname instead of the address, specify a different user than the one currently logged into the terminal we’re copying from, and copy an entire directory instead of just one file:
scp -r /home/user/pictures/ user2@laptop:/home/user2/
The -r switch means recursive, which tells scp to copy the directory and everything in it. The above command will create a pictures directory to the /home/user/ directory on the laptop computer, and copy all of the contents of the local machine’s /home/user/pictures/ directory to it. So what do you do if the remote machine already has a /home/user/pictures/ directory, but you still want to copy everything in the local machine’s pictures directory? You use a wildcard:
scp /home/user/pictures/* laptop:/home/user/pictures/
Complex transfers
There are many networking technologies that could be used to transfer a large number of files in several directories (CVS, FTP, NFS), but for what we’re doing, most of them don’t make as much sense as rsync.
rsync is a lot like scp, except it’s designed for doing complex transfers. If your laptop and desktop computer share pretty much the same software, /home directory structure, and data, rsync will intelligently update it. If rsync finds duplicate files on the remote machine, it will check to see which file is newer and update the remote file if it is out of date. If the file or directory doesn’t exist, rsync creates it. You can also set rsync to delete any files on the remote machine that are not detected on the local machine, but this can be dangerous, so we won’t use that switch in any examples.
Like with OpenSSH, in order to use rsync for file transfers, you must start a daemon on the remote machine. The command is rsyncd, and you can of course add it to your operating system’s startup script if you like. The examples below do not require the rsync daemon; they use OpenSSH for the file transfers instead, so you’ll have to run the SSH daemon. You can specify which software to use for the file transfers by using either one (SSH) or two (rsync) colons after the remote host name or IP address. The examples that follow all use one colon.
The simplest way to use rsync is to synchronize the /home directories of two computers that have the same users and file system structures:
rsync -arvuz /home/user/ 192.168.1.101:/home/user/
Just like with SSH, you can use /etc/hosts to create a nickname for the IP address of the remote machine, and you can also specify other users with the @ symbol. The -arvuz flags mean (in order) that you’re going to keep user and group file permissions; recursively copy the /home/user/ directory and all files and directories therein; verbosely show which files are transferred or updated; ignore identical files that have the same timestamp; and compress the data to use less bandwidth over the network.
What if you only want to transfer important files and directories — not the whole /home/user/ directory? There are two ways. If you’re copying the same directories in your /home dir each time, you can create a simple script to save yourself all of the typing. Open up your favorite text editor and create a file called sync_laptop.sh and put this into it, substituting your own directories for the ones in the example:
rsync -arvuz '/home/user/pictures /home/user/documents /home/user/jokes' laptop:
When it’s saved, make it executable with chmod +x. The above command won’t work with directories that are more than one level in, so /home/user/pictures/summer/ won’t work. Neither can you copy files to anywhere other than the remote /home directory using the above example. You could add a new line to the script for each buried directory that you want to transfer, but there’s a more efficient way to do it.
First, create a directory in your user’s home dir called sync. Change to the sync directory and create symlinks to all of the directories that you want to transfer. Make sure you treat the sync dir as though it were your home directory when you create the destination links. You may have to create directories within the /home/user/sync/ dir if they are more than one level in:
ln -sf /home/user/documents ./documents
mkdir .gconf
mkdir .gconf/apps
ln -sf /home/user/.gconf/apps/evolution ./.gconf/apps/evolution
ln -sf /home/user/.evolution ./.evolution
mkdir pictures
mkdir pictures/summer
ln -sf /home/user/pictures/summer ./pictures/summer
Now create the script that will do the transfers; call it sync_laptop.sh and put it in your user’s home directory:
# This script syncs a remote computer to this one
cd /home/user/
# Uncomment the next command if you'd like to copy all of
# the files (not directories) in your home dir to the remote machine.
# cp * ./sync/
rsync -arLuvz /home/user/sync/ laptop:/home/user
The -L switch tells rsync to treat your symlinks as though they were real directories.
Save the script, then make it executable by using chmod +x on it. When you run the script, your laptop will be updated with all of those files and directories from your desktop machine. The first time you do this it will take a while, but each subsequent sync will take less time because rsync will not overwrite files that have not changed.
To reverse the process, do the same thing for your laptop computer, but remember to change the IP address or nickname of the remote machine.
By the way — the above example will copy over your email accounts, address books, saved email, and all other Novell Evolution data to the remote machine. If you’re setting up a new laptop computer, this can make moving your Evolution data much simpler.
Further reading
The examples and advice above are simplified for home use. Both OpenSSH and rsync are capable of much more advanced tasks. There are also different techniques and approaches for the processes outlined in our examples. The first and best place to look for more information on these programs is their respective manual pages. If you’re looking for more examples than the ones here and in the man pages, a Google search for the exact switches and options you want to use will turn up more information.
Discuss this article or get technical support on our forum.
Copyright 2006 Jem Matzan.
Most common laptop OS problems
Any modern (released within the last 6 months) desktop GNU/Linux distribution will almost certainly mostly work. It will install, boot, and the majority of your devices will work without incident. But there are some hardware components that consistently cause trouble:
- Modems — or more specifically, “winmodems.” Such devices often achieve much of their functionality from proprietary Windows-only drivers or other software. Good modems rely on hardware for everything. PCMCIA modems are more frequently supported in GNU/Linux than internal modems are, so if you really need a modem and the one built into your computer doesn’t work, you can buy a PCMCIA replacement for a reasonable price.
- Wireless network cards. Before you buy a computer with onboard wireless networking, check the network chip against this list from the linux-wlan project. It’s a little out of date, but the information is still good. There are other projects to accommodate other wireless NICs, like Intel’s Centrino chips (the IPW2100 and IPW2200); and the madwifi project for Atheros-based cards. Some manufacturers of AMD-based laptop computers (and non-Centrino Intel laptops) use proprietary wireless LAN chips that are as-yet unsupported in the Linux kernel. One common workaround is to use the NDISwrapper to make Windows wireless network drivers work in GNU/Linux. If none of these solutions will work to your satisfaction, you can buy a Linux-compatible (using an Atheros or Prism 2/2.5/3 chip) wireless LAN PCMCIA card for around US $60-$80. Commercial GNU/Linux distributions are likely to have all of the above-mentioned wireless drivers and workarounds already installed — including NDISwrapper. Non-commercial distros will probably require more legwork on your part.
- Video cards. Laptop video chips are always significantly different than their desktop counterparts, and driver development can occasionally fall behind. If you buy a top-end laptop computer with the latest ATI or Nvidia graphics processor, you may have to wait a while before you can have hardware 3D acceleration. If you want to check, ATI provides a compatibility list, but it can’t be directly linked to. To see it, click here, then click on Linux Display Drivers and Software, then Notebooks With ATI Graphics, then ATI Proprietary Linux x86 Display Drivers, then RELEASE NOTES, then ATI Mobility Product support. For Nvidia, click here, then click on the topmost driver — that’s always the most recent release — then click on Supported Products List in the box on the left.
- Special keys. All of those fancy keys and buttons on your laptop computer that aren’t part of the standard keyboard set — things like a sleep or suspend button, multimedia controls, and Web and email buttons — might not work in GNU/Linux. Many people don’t use these extra buttons anyway, so this isn’t a big deal. Certainly if there is no support for the power-saving functions of your computer (see the next point for more information), the corresponding buttons will not work.
- Power-saving, suspend, and sleep functions. I haven’t found a good way to figure out if a computer will support these functions in GNU/Linux without actually installing it. All of the ACPI resources I’ve found are light on details or out of date. Your best bet is to do a Google search for the laptop model you’re interested in and Linux. There’s also this site, which documents which distros have been tested with various laptop computers. Or go to some of the more popular GNU/Linux discussion forums and see if anyone else has experience with the machine you want to buy. Sometimes you just have to take a risk, and if ACPI ends up being a no-go, it will be supported eventually — very often in the next release of your distribution of choice.
What makes a good laptop OS?
If you’re really motivated, you can make just about any modern operating system work to some degree. It’s usually a good idea to go with an OS that you know isn’t going to give you trouble when you’re in the field or otherwise dependent on your notebook computer and don’t have the time to spend messing with problems.
Commercial desktop GNU/Linux distributions are always going to trump the free ones when it comes to automatic device detection, proprietary hardware drivers, and time spent installing and configuring everything. Aside from supporting the above-mentioned problematic hardware, it’s also nice to have some of the proprietary extras that most computer users are accustomed to.
You may not be able to use your desktop distribution on your laptop computer. I, for instance, use Gentoo and FreeBSD on my workstation, but have SUSE OSS 10.0 on my laptop at the moment. I like a challenging operating system, but when I’m on my laptop computer, I need to focus on work before the battery runs out. I also need to be able to find open wireless networks quickly, and SUSE’s NetApplet makes that happen. Aside from SUSE Linux, here are some excellent distributions that are generally laptop-friendly:
Mandriva Linux: Like SUSE, Mandriva has a NetApplet-like utility for finding and joining wireless networks. Mandriva PowerPack Edition comes with all of the software that you’ll need, has decent support for ACPI, video card, and proprietary wireless NIC hardware. Installs quickly, but requires large and frequent updates.
Linspire: This distro used to have a laptop edition, but apparently its laptop-specific functionality has been integrated into the main distro. Linspire also has a NetApplet-like utility for detecting and joining wireless networks. It installs quickly and seldom requires updates, but the software packages in its Click N Run database are sometimes several versions old. Speaking of CNR, you will have to pay an annual membership fee for it.
Xandros: It’s like Linspire, only the CNR-like application installer has far fewer programs than Linspire. Xandros seems to have superior wireless networking capabilities than the others.
Your favorite distro here: Every time I recommend distributions, people complain that I didn’t include theirs (hello Ubuntu trolls!). Like I said above, you can make just about anything work if you’re willing to sacrifice time and possibly functionality. But that’s not really why we have laptop computers, is it?
Discuss this article or get technical support on our forum.
Copyright 2006 Jem Matzan.
The Battle for Wesnoth
This is the premiere turn-based strategy game for GNU/Linux. If you’re already familiar with games like Crystal Warriors or Military Madness, The Battle for Wesnoth will be very familiar. If you’re new to the genre but enjoy strategy games, you’ll fall in love with Wesnoth by the time the tutorials are over.
The Battle for Wesnoth is not so much a game in itself as it is a framework for game campaigns. The standard distribution comes with four rather lengthy campaigns, each with interesting storylines, excellent music, and challenging and attractive maps. Each campaign has three difficulty levels, so the replayability factor is fairly high. I’ve been through the default campaign three times already, each time learning new strategies and tactics.
In addition to the standard campaign set, there are tons of other that you can download from within the game. I’ve found most of them to be buggy or non-working, and the majority of the downloadable campaigns do not have the depth and attention to detail that the standard set does.
Flobopuyo
I think I speak for humanity when I say that I am all Tetrised out. But Tetris’s legacy extends beyond the game itself; one of the biggest games to evolve from it was Sega’s Puyo Puyo. Instead of Tetris-like shapes, two-part colored blobs are dropped from above. Connect four or more of them, and they are eliminated; as a consequence, a “garbage” blob is sent over to your opponent’s side as well. If, in the process of connecting four blobs, other blobs are rearranged to form another set of four, your opponent gets a whole row of garbage blobs. The idea is to get your opponent to overflow his screen, just like in Tetris.
Although there are several Puyo Puyo clones on GNU/Linux (and at least one Java-based version on the Web), the best one I’ve found is easily Flobopuyo. It has all of the same features as the original Sega game, except the paper-thin storyline is absent and there are no cut-scenes between levels. The music is substandard, but there’s an option to turn it off; the graphics are the best of any Puyo Puyo clone I’ve yet seen. I do wish that there was an online or network option; perhaps this will be introduced in a future release.
Despite its simplicity, Flobopuyo is embarrassingly addictive. Even after you’re sick of it, the addiction comes back to haunt you a few days later.
Unreal Tournament 2004
Who hasn’t heard of the Unreal Tournament first-person shooter series? Starting with a late revision of the original game, then carrying on to UT2003 and beyond, the game is playable on GNU/Linux. UT2004 has several game modes that involve a variety of different missions and objectives — not just traditional deathmatch.
UT2004 stands out among its predecessors and competitors because of its great music, graphics, player control, weapon selection, and online play. I used to love playing UT2004 online, but the prevalence of cheating (aimbots, speed hacks) and the switch to a wireless network connection (which introduces too much latency) has caused my participation to dwindle. Still, in offline “instant action” or single-player tournament mode, it’s a heck of a lot of fun.
If you don’t want to spend money on the game, you can download a playable demo from the Unreal Tournament site linked above. The demo includes most of the best levels for each game mode, and is able to play online.
Chromium BSU
Another classic arcade game type is the overhead-scrolling space shooter. Basically you’re in a spaceship advancing forward, and you have to both defend yourself from enemy attacks and defeat level bosses. A variety of different armor and weapon enhancements are also offered as you go along. If you’ve ever owned a game console system or spent any time at an arcade in the late 1980s, you have played one of these kinds of games before.
Chromium BSU is a spectacular modern incarnation of the overhead scrolling shooter. The graphics, sound, and music are outstanding, and the gameplay is challenging but not impossible. There are a few unique elements that I have found in Chromium BSU that most other overhead scrollers don’t have. The first is, you can’t let any of the enemy ships past you; each one will cost you one extra life. That makes the gameplay much more challenging, but you’re also given something else that you don’t see in a lot of space shooters: damage leeway. If you can’t put enough bullets into a ship to kill it, just run into it and endure a little ship damage. You also don’t have to worry too much about dodging enemy fire. Lastly, you have limited ammunition — I have never seen that in this kind of game before.
There is one redeeming element to the game’s high level of challenge: the ability to start the game at the last level you completed. So if you get sick of playing after reaching level 2, you can quit the game and come back to it tomorrow and start at level 2. Sure beats feeding quarters to a machine.
Honorable mentions
It’s not really a game per se, but I’m excited about the new GGZ Gaming Zone (GGZ), a free software competitor of the MSN Gaming Zone that Windows users have free access to. GGZ includes many card, board, and arcade games that you can play online against other people, or by yourself against the computer. Unfortunately, the service is unknown to most desktop GNU/Linux users; every time I log onto the service, there are few or no people logged in.
Nexuiz is a free software clone of Quake 3. It’s improved dramatically since I last reviewed it, but my hands are too used to the feel of the controls in UT2004, so I have trouble adjusting. While we’re talking about first-person shooters, Doom 3 is worth mentioning. A lot of people like the Doom series; personally, I do not like games that try to induce heart attacks in their players.
Lastly, for all of the fantasy massively-multiplayer online role-playing game (MMORPG) fanatics, there is PlaneShift. It looks like an awesome game, but I only recently installed it and haven’t had the chance to get involved with it yet. So far though, it looks like it’ll find its way into my gaming time.
Discuss this article or get technical support on our forum.
Copyright 2006 Jem Matzan.
Versora overview
Versora specializes in migration software. You can migrate databases, servers, and other programs from Microsoft-centric platforms to GNU/Linux-based solutions. Progression Desktop is their consumer-grade product. It’s usually priced at US $30, but if you get it through Linspire it’s half that price, or a quarter the price if you’re a Click N Run Gold member.
So what does Progression Desktop do? Basically it moves all of the superficial settings and user data from a Windows system to GNU/Linux. This includes desktop theme, wallpaper, desktop icons, screen saver, keyboard and mouse settings, sound scheme, email, contacts, Web bookmarks, default home page, and documents that you’ve created with various programs.
Linspire overview
Linspire (formerly known as LindowsOS) is an easy to install and easy to use Debian-based GNU/Linux distribution (click here for my review of version 5.0). It’s kind of like the America Online of GNU/Linux; while it’s perfect for beginners, it’s expensive compared to other competing solutions and you can grow out of it quickly if you have a mind for more advanced systems.
Linspire includes an unusual number of proprietary extras: ATI and Nvidia video drivers, the Java Runtime Environment, Flash and PDF browser plugins, and the capability of legally adding DVD playback capabilities. It’s a tight, polished, well-designed desktop operating system package. The only downside is, to achieve full functionality you have to buy a software subscription. The base operating system cost is US $50 — and that includes many programs right off the bat — but if you want access to the Linspire Click N Run (CNR) database, you have to pay another $20 (or $50 for a Gold membership with more benefits) per year.
Putting it to the test
Click here for a screen shot of Versora Progresssion Desktop in action.
I downloaded the Versora Progression Desktop ISO that Linspire provides through CNR, and wrote it to a blank CD. The version I tested was 1.2.2, and I also downloaded the most recent Linspire release — 5.0.59. I already had an updated and fully configured version of Windows XP Professional on its own hard drive, but just to make the utility work a little harder, I customized the desktop theme and menu. I also added Microsoft Outlook XP, OpenOffice.org 2.01, Corel WordPerfect Office 12, Mozilla Firefox, and I dumped a DVD full of articles (in HTML format), pictures, and various other projects (in WordPerfect, MS Word, OpenOffice.org/StarOffice, and plain text format) into the My Documents directory. In other words, it’s like a normal Windows installation, complete with software and data. I also made sure that I had hundreds of email messages in Outlook, along with a few saved contacts and appointments. Internet Explorer and Firefox both had saved bookmarks in them.
I put in the Versora CD and installed Progression Desktop. The install took only a couple of minutes. Selecting data for migration was easy — applicable programs were detected and data was correctly recognized. Progression Desktop heaped all of my data and settings into one 283MB file, which I put onto a CD-R disc. I wondered, though, what I would do if I’d had so much data that the file wouldn’t fit onto a CD. I guess I’d have to move up to a DVD-R, or maybe transfer it to my laptop computer over the network. I could also have left it on the drive, since I was installing Linspire on a separate hard drive. So if you have a lot of data, be prepared for a large file and plan ahead for getting it to your new OS.
Screen shots: Linspire before importing settings and Linspire after.
On the Linspire side, I installed Progression Desktop through CNR after the operating system was installed and updated. I put the CD with the backup file and navigated to it through the Progression Desktop file dialogue. It was a little difficult to find the CD in the filesystem hierarchy; if I’d had no GNU/Linux experience, I could have spent an hour looking for the right location.
One the file was selected and loaded, I was given the option of selecting multiple valid migration options if I had several programs installed. I could selectively restore data in case I didn’t want some of it, and I chose, for instance, to move all of my Outlook data to Evolution instead of putting all of my email in KMail and my contacts and calendar entries in some other program. I also chose Mozilla Firefox over Konqueror for my bookmarks and default homepage transfer.
Everything that I had elected to backup on Windows was properly restored on Linspire — even Windows desktop icons for programs that I didn’t have on Linspire. The only hassle I ran into was the default location for depositing documents saved from Windows. Progression Desktop saves them to your current user’s home directory, but Linspire doesn’t give direct access to that location through its My Computer desktop icon — you have to navigate to it in a more roundabout fashion.
Conclusions and developer recommendations
Overall, the product worked exactly as advertised. Everything that means anything to me in Windows was transferred to Linspire with the least possible effort. The only complaint I have is that Progression Desktop should have built-in functionality for restoring the data file from a CD or DVD; the user shouldn’t have to go on an expedition through the archaic Linspire directory hierarchy to find their optical drive.
Is this a good way to move from Windows to GNU/Linux? Absolutely — in fact I’d say that Versora Progression Desktop is easily the quickest and best way to migrate to GNU/Linux, even if you’re a total pro who knows where every file and setting is and how to export and import it.
Here’s what I’d like to see in the next version of Progression Desktop on Linspire:
- Better default destinations for files. Linspire has a unique way of managing the “My Computer” feature, and it doesn’t match up with other GNU/Linux distributions. While non-Linspire users will have no trouble navigating to their home directory, Linspire users will have a tough time finding their transferred files if they stay with Progression Desktop’s default settings. This should be customized for Linspire, and implementing such changes should be extremely easy.
- Make it easier to get to the CD/DVD drive. Why not have a button that automatically looks for the Progression Desktop backup file on the optical drive? Realistically this is the place where most people will be restoring their data and settings from, and it’s not easy to find when navigating Linspire’s filesystem by hand.
- Integration with CrossOver Office. Some Linspire users have CrossOver Office installed. This program allows GNU/Linux users to run many Windows programs without needing a copy of Windows. Internet Explorer and MS Office are both capable of working with CrossOver Office, so there should be an option in Progression Desktop to restore Windows data to them.
Discuss this article or get technical support on our forum.
| Purpose |
Migration tool |
| Manufacturer |
Versora and Linspire |
| Architectures |
x86 |
| License |
Proprietary |
| Market |
Desktop users migrating from Windows to GNU/Linux, especially those moving to Linspire |
| Price (retail) |
US $15 through Linspire, or $7 for Click N Run Gold members |
| Previous version |
N/A |
| Product Web site |
Click here |
Copyright 2006 Jem Matzan.
What Is GNU/Linux?
GNU/Linux is a modular operating system that looks and acts like a more intelligently programmed, up-to-date Unix. The term itself — GNU/Linux — is extremely vague and doesn’t exist in the literal sense. You don’t go to the store and buy GNU/Linux; instead you buy a software distribution (or distro for short) that uses GNU/Linux as its basis. So while you can’t buy “Linux” at the store, you can buy SUSE Linux or Linspire.
Distributions can fundamentally differ in several ways:
- Base operating system
- Software management and updating
- Hardware management
- Desktop environment and theme
- Proprietary extras
The sections below will cover each of these topics in depth. If there is one particular area that you are confused about, feel free to skip down to the appropriate section. The next topic will cover how GNU/Linux differs from Unix and other Unix-like operating systems.
BSD, Unix, OS X, Linux?
There are many Unix-like operating systems and derivatives. Which ones are which?
| Category |
OSes |
Origin of code? |
| GNU |
GNU/Linux, GNU/HURD, GNU/Mach, GNU/BSD |
Free Software Foundation; kernels developed separately except HURD. The Linux kernel was originally written by Linus Torvalds, and is currently maintained by him. |
| BSD |
FreeBSD, OpenBSD, NetBSD, DesktopBSD, BSD/OS |
UC Berkeley, originally; each project has been developed separately since the early-mid 1990s, however. |
| Unix |
Solaris, AIX, IRIX, HP/UX, Tru64, UnixWare, OpenServer |
Bell Labs (AT&T) developed the original Unix code. UNIX is now a trademarked operating system certification program instead of an operating system, and no longer requires that a compliant OS contain AT&T Unix source code to achieve brand certification. Despite that, all of the extant Unix derivatives are compliant with at least one published UNIX standard. |
| Darwin |
Darwin, OS X |
Based on the NeXTSTEP operating system, which used the Mach kernel and some FreeBSD programs and networking code. OS X is developed from Darwin. |
| Minix |
Minix |
Originally written by Andrew Tanenbaum, but now mostly developed by a handful of others |
GNU/Linux is only one possible combination of the GNU operating system with a separate kernel. GNU’s own kernel is HURD, but it’s been in development for a long time and is nowhere near ready for production. GNU/BSD and GNU/Mach exist, but more for experimental purposes than anything else. So in effect, GNU/Linux is the only GNU-based operating system that matters. Theoretically, you could use the operating system components from BSD and eliminate GNU entirely (or almost entirely) from GNU/Linux, but that would, again, be purely an academic pursuit.
Of the above-listed operating systems, only GNU/Linux has a variety of software distributions. The others are software distributions in themselves. The one exception is Solaris, which is based on code from the OpenSolaris project. There is at least one other OpenSolaris-based distribution aside from Solaris, and others are probably in development.
Most of these operating systems are similar in superficial ways. All are command line-based at heart, even if many of them default to graphical interfaces. Most of them share the majority of their terminal commands — or have commands that have largely similar functionality and syntax — so if you know one system very well, it is not difficult to learn a different one. GNU’s userland utilities were improved replacements of Unix commands; BSD was originally developed from Unix source code, so its userland utilities started out as clones of Unix commands and have evolved from there. Some of these OSes can use the same software programs if properly configured. Some are restricted to specific hardware architectures, while others are extraordinarily versatile in terms of what computers they can operate on.
The amount of code- and program-sharing among all of these operating systems varies. All of them are guaranteed to have either BSD code integrated somewhere, or at least one GNU utility (usually the GNU Compiler Collection, the BASH terminal program, or the Emacs text editor, among many others) included by default.
Base operating system differences
Among GNU/Linux distributions, there can be many variances in the base operating system (kernel and userland utilities). Some have unique methods of managing startup scripts; others mimic BSD or Unix. You can know everything there is to know about creating and modifying init scripts on Red Hat Enterprise Linux, then be totally lost when trying to implement the same changes on Gentoo Linux.
Almost all distros make their own small, custom changes to the Linux kernel in order to accommodate other changes or additions that the distribution maintainers want to make. This makes each distro’s kernel unique, and probably incompatible with other distributions. Commercial desktop GNU/Linux distros usually have extensively hacked kernels that support proprietary programs like Win4Lin, VMware, and proprietary hardware drivers.
place holder
GNU/Linux distributions are generally binary compatible with each other. That means that a program that will work on SUSE Linux will also work on Xandros and Linspire and any other distribution of the same generation and hardware architecture. Like all other operating systems, programs that are compiled for one architecture will not work on others. The only exception is 32-bit x86 binaries, which will work with most 64-bit AMD64 and Intel EM64T computers that are running a 64-bit operating system with a 32-bit binary compatibility layer. Every 64-bit desktop GNU/Linux distribution in existence offers a 32-bit binary compatibility layer by default, and it’s so transparent that you can’t tell the difference between 32-bit and 64-bit applications under all but the most extreme conditions.
Software management and updating
Chances are, if you’ve selected the right GNU/Linux distribution for your needs, you won’t have to add any extra software to it. If you do, most distros have software repositories that contain thousands of extra software packages that have been certified to work with your configuration. All you have to do is figure out which programs you want, select them from a list, and everything is installed for you. It’s much like using Windows Update.
Also like Windows Update, all major GNU/Linux distributions come equipped with a software update framework. Unlike Windows Update, however, GNU/Linux updaters will find patches and bug fixes for all of the software on your computer — not just the basic operating system. Each distribution has its own specialized update tools, but they are all generally easy to use.
On a more basic level, GNU/Linux distributions install software in one of two ways: by compiling from source code, or — more commonly — by installing precompiled binary packages.
Source-based distributions like Gentoo and Arch still have a software management framework like the big fancy commercial distros, but you have extra options. You can add in compiler flags to make programs a little faster or use less memory, or you can build applications with hooks to other programs so that your software is more interoperable. Binary distributions make guesses as to what your needs will be, and try to cover all of the bases by compiling everything in. In the real world, you’re not going to notice much of a difference by adding compiler optimizations and other options, but if you like tinkering with your computer, you’ll enjoy the experience.
Source-based distros will take a lot longer to manage because it takes time to compile large programs. You can use binary packages to get started, but updates are applied by compiling from source code. A binary installation of the KDE desktop environment takes only slightly longer than the time consumed downloading the binaries from the Internet, but compiling the full KDE system from source can literally take days. The same can be said of such behemoths as OpenOffice.org, GNOME, and Mozilla.
Binary distributions almost exclusively use two package formats for programs: RPM (a recursive acronym for RPM Package Manager), and DEB (short for Debian, a GNU/Linux distribution that is commonly used as a basis for others). In the old days, you may have had to go searching for RPMs or DEBs of programs that you wanted. In this day and age, however, you use your package manager to find and retrieve them for you. In the event that you must install one of these packages by hand, there are graphical alternatives to the standard command line tools for installing them. There are even tools available to use DEB packages on RPM-based distros, and vice-versa. Usually programs are packaged in both formats, though.
Red Hat (and Fedora Core), SUSE, and Mandriva are three well-known distributions that use RPM packages. Linspire, Xandros, Debian, Ubuntu, and Mepis are some of the most popular DEB-based distributions. Both package formats are heavily entrenched in these and other distributions; neither seeks to replace the other.
Occasionally you might see someone on a message forum or mailing list complaining about RPMs and “dependency hell.” This is because individual packages usually depend on other packages, and that means tracking down several RPMs to install one program, then doing some command line kung-fu to install them in the right order. Again, this is the old way of doing things — nowadays you let your package manager do the work for you.
Popular package managers include:
Hardware management
Commercial GNU/Linux distributions include software that automatically detects and installs the proper drivers for all of your computer hardware and peripherals. Usually it works perfectly without any user intervention necessary. Sometimes it encounters unsupported hardware, or hardware that requires a newer kernel or driver. Some distros share the same autodetection and hardware management code, some have a totally unique hardware management framework.
Non-commercial distros are usually good at detecting hardware, but never contain proprietary drivers for ATI and Nvidia video cards, some kinds of wireless network chips, RAID cards, and video capture cards. Drivers for these devices require licensing and distribution agreements that non-commercial distribution developers are generally unwilling to negotiate, agree to, or pay for. This means that if you want to take full advantage of your 3D graphics card, you will have to download and install a proprietary video driver. A simple Google search will usually yield installation instructions. Again, this is best done by adding software repository sources to your package manager instead of installing them by hand.
All GNU/Linux distributions of the same era (released within 6 months of each other) will have similar or identical support for computer hardware and peripheral devices, with the above-listed exception that commercial distros often have extra proprietary drivers. Commercial distros make it easy to configure your hardware — assuming you even have to. Free-of-charge distros can be just as easy in some ways, and much more difficult in others.
Desktop environments and themes
The two primary desktop environments in the world of GNU/Linux are GNOME and KDE. Most distros support both, and usually default to one or the other. There are also window managers, which don’t have the large number of integrated programs, but are usually considered to be more responsive and efficient on slower computers. Which one you should use is entirely a matter of preference.
Aside from desktop environment, each distribution has its own special color, icon, login, desktop, and menu theme. You can change the theme — there are several dozen good themes available, and more coming out every week — so don’t let the default look and feel of the desktop discourage you. You can make KDE look almost exactly like Windows XP, and you can make GNOME look almost exactly like Apple OS X. Window managers are even more customizable, but often require you to edit configuration files by hand.
If you’re coming from Windows, you’ll find KDE easier to adjust to because it has the same basic graphical layout. If you prefer something that is a little different and possibly more efficient in terms of mouse movements and menu navigation, try GNOME instead. Most desktop distros standardize on KDE, but allow GNOME as well; most “enterprise” distributions (made for business use) standardize on GNOME, but allow KDE as well. In the old days, some popular distros shut out all but the developers’ favorite desktop environment, but this is rare or nonexistent nowadays.
Proprietary extras
In addition to the proprietary hardware drivers mentioned previously, there are also proprietary software extras that are an important complement to the desktop computing experience. Most people will, at one time or another, need to access a PDF, Java applet, Flash animation, or video file on the World Wide Web. And when they need to see those files, they need browser plugins to do it. Unfortunately, all of the most functional plugins for these technologies are not free-as-in-rights, and won’t be included with the majority of GNU/Linux distributions. If you want them, you have to either choose a commercial distro (there are some recommendations in a section below), or add them by hand. As I’ve said before, adding them by hand is not necessarily difficult, but it will take some reading and research to get everything working perfectly. If you are not prepared to do this, do not choose a GNU/Linux distro that does not include these extras.
Recommendations
If you don’t know what you’re doing, don’t choose distributions that require a lot of legwork to configure basic services or install extra software. If you are new to GNU/Linux and want a great desktop experience, I recommend trying these distros (listed in no specific order):
All of these distros will cost you something — usually under US $100. A lot of experienced GNU/Linux enthusiasts will recommend non-commercial distributions like Ubuntu, Fedora Core, or Debian. These are good distros and are available free of charge, but require that you add proprietary video drivers and Web browser plugins by hand, and don’t have the same kind of automatic hardware management that the four distros I listed above have. That means that you could end up rather frustrated by your GNU/Linux experience. Also stay away from the open source edition of SUSE Linux — that is also missing many of the proprietary extras that you’re used to in Windows or OS X (the commercial version of SUSE does have plugins for Java, Flash, and PDF). It’s not tough to add them if you follow this guide, but many people are not prepared to get that technical with their software.
If you’re looking for a distro that is more suited to server use, try these:
Again, people will argue that other distros or Unix-like OSes are better, but the above-mentioned distributions are easy to install, configure, and manage, and come with extensive documentation and commercial support. You will have a much easier time with them, and you’re better off going with one of these if you’re new to GNU/Linux or Unix-like operating systems in general. You can make virtually any GNU/Linux distribution into a server of any kind; it’s just a matter of how much work you have to do to prepare and maintain it. If you don’t want to do a lot of work, choose one of the above distros.
Non-commercial desktop distributions of note include:
If you would prefer more of a challenge, as either a server or a desktop OS, try these distros:
Lastly, if you would like to see what a GNU/Linux desktop can look like, you can download Knoppix, a distro that runs entirely from a CD. You write the ISO file to a blank CD-R disc, then restart your computer with the disc in the CD drive. You’ll run a whole distribution right from the CD. When you’re done playing around, just select the Shutdown menu option, remove the CD from the drive, and restart — nothing will be written to your hard drive.
Is this not what you expected to read?
This article is meant to help you understand the basic, fundamental differences between GNU/Linux distributions. If you want an in-depth comparison of several distros, your best bet is to find individual reviews of the ones you’re interested in and decide for yourself — don’t let others decide for you. Go to Distrowatch, then find the sections for the distros you want to research. Distrowatch provides links to all of the online reviews of each version of every distro that it tracks — it’s an excellent resource for getting a variety of perspectives on many different GNU/Linux distributions.
Discuss this article or get technical support on our forum.
Copyright 2005 Jem Matzan.
The first of the recent generation of 64-bit processors debuted when Intel introduced the Itanium (which has since gone out of production) in June 2001. It followed up a year later with the Itanium 2, which fixed most of the problems that the original Itanium had, and has gone through many revisions since then. Both use Intel’s IA64 instruction set architecture. Since IA64 was not based on the IA32 (x86) ISA, the new instruction set would enable Intel to maintain control over it — competitors such as AMD would not be able to use it without a license.
While the Itanium was a great idea, it was poorly implemented — comparably clocked x86 processors of the era performed as well as or better than the Itanium. The Itanium 2, however, still dominates SPEC’s list of most efficient processors.
AMD introduced its AMD64 architecture in September 2003. Processors thus far include the Athlon 64 for desktop systems; the Athlon 64 FX on the high end of the single-CPU market; and the Opteron for high-end workstations and servers. All of them can run 32-bit and 64-bit binaries at the same time with no significant loss in performance.
Intel rushed to match AMD’s success with the AMD64-compatible EM64T architecture, which is currently being sold in the newer Pentium 4 processors; the Pentium 4 Extreme Edition for single-CPU performance enthusiasts; and the Xeon and Xeon MP processors for high-end workstations and servers. The Itanium was originally expected to replace the first-generation Xeons, but poor market acceptance and substandard performance of the Itanium kept Xeon alive. The Xeon is Intel’s flagship workstation and server processor, with the Itanium 2 being its high-end server offering.
Both the AMD and Intel 64-bit processors (with the exception of the Itanium 2, which is designed to be integrated into systems sold by OEMs like SGI and Hewlett-Packard) are sold individually to consumers at affordable prices. You can buy an AMD64 or EM64T processor, a supported motherboard, and the rest of the components for a workstation and build it yourself inexpensively in comparison to other 64-bit architectures. The rest of the CPUs in this section are only available as part of complete integrated computer systems.
IBM’s 64-bit POWER architecture is best known as the basis for the PowerPC processors at the heart of Apple’s G5 workstations. IBM has its own implementation of the POWER instruction set, found in its IntelliStation POWER series of high-end workstations. POWER-based processors of various kinds are found in a wide variety of electronic devices outside of the personal computer market.
Sun Microsystems’ SPARC architecture started out as 32-bit, and in that form it is sometimes referred to as SPARC32. In 1995 Sun introduced the UltraSPARC 64-bit processor, with the architecture usually referred to as SPARC64. The design has been licensed by other manufacturers such as Fujitsu, but Sun still dominates the UltraSPARC workstation world.
SGI bought MIPS, the developer of the first 64-bit workstation processor, in 1992. As a workstation microprocessor, MIPS CPUs are primarily sold in SGI machines, although SGI licenses the design to a variety of other manufacturers. SGI has long been considering switching its workstations from MIPS to Itanium 2. The Intel 64-bit processor performs better and has the backing of the world’s largest chip maker.
Other 64-bit architectures are already dead, victims of a swiftly moving market. Digital Equipment Corp.’s Alpha was the fastest microprocessor in the world when it was released in 1992, and survived throughout the 1990s as DEC’s heavy-duty workstation CPU. Eventually Compaq acquired DEC, then HP acquired Compaq. HP finally announced the last of the Alpha processor line last August, and plans to replace Alpha-based systems with Itanium 2s, as it is replacing its own PA-RISC chips.
You might wonder how well-accepted each of these architectures is in the field. So did we, but we couldn’t find a market analyst who could tell us the percentage of currently installed workstations that use these 64-bit architectures.
Compatibility issues
Where other architectures struggle to achieve 32-bit and 64-bit binary compatibility without losing performance or inconveniencing developers and users, the perfect 32-bit binary compatibility of AMD64 and EM64T is a valuable advantage to businesses.
“From a development standpoint,” said Michael Dortch, principal business analyst with the Robert Frances Group, “Successful new architectures, 64-bit and otherwise, allow maximum leverage of current skills and resources, while requiring minimal investment in new skills and resources. This is especially true for internal enterprise developers, and for the more resource-constrained among commercial developers.”
Software availability, price, service, and quality of manufacture remain the most important considerations in the success of 64-bit systems, Dortch said. “Enterprises don’t buy chips, or computers, or even computing, per se. They buy solutions to business problems, and the solutions that offer the best applicability to those problems with the best reliability and performance at the best price will win. It’s up to the developers of 64-bit architectures to build around those technologies the ‘ecosystems’ of applications, partners, and support necessary to generate and promote such solutions. Otherwise, 64-bit architectures are just one more opportunity for geeks to talk with other geeks about geek stuff most business people neither understand nor care much about.”
Dortch also said it’s a telling sign that the volume leader in AMD Opteron-based server sales is Sun Microsystems, which used to rely solely on UltraSPARC processors for its high-end machines. “Other 64-bit architectures are largely perceived as being only marginally significant to enterprises, except within specific compute-intensive niches,” he said. Those compute-intensive niches these days are filled more and more by the Itanium 2. So since powerful, inexpensive 64-bit machines are starting to take over the workstation market, the older, much more expensive architectures can no longer compete in terms of price or performance.
The exception, for the time being, is the vertical scalability of SPARC64. For tasks for which more than 8 CPUs are needed in a single system, UltraSPARC scales more efficiently than the Opteron or Xeon, neither of which is designed for systems larger than 8-way.
Along with its advantages for vertical scalability, SPARC64 also has some architectural disadvantages. Theo de Raadt of the OpenBSD project, who has dealt with problems relating to binary compatibility on many platforms, says, “SPARC64 in complete 64-bit mode is running big-endian 64-bit. Big-endian and little-endian errors cause problems all the time, and so do 32-bit vs. 64-bit issues. But when you combine 64-bit and big-endian you end up with the most finicky programming architecture. This causes bugs for us, which we then fix, and since it is code shared between lots of architectures, all the code improves.”
One of the factors that affects the longevity of a hardware architecture is its software support. Free software tends to be ported to dead or dying architectures, giving them new life as well as freedom from old proprietary Unix variants. The NetBSD project is famous for its portability, fully supporting more than 50 hardware architectures. GNU/Linux is available on more than 20 different architectures, and OpenBSD on 16. All will run on SPARC32 and most SPARC64 systems, AMD64/EM64T, Alpha, PA-RISC, and various implementations of MIPS and PPC.
Free software operating systems make old 64-bit systems useful again. With the BSDs or GNU/Linux, you can achieve some level of desktop functionality, or make an old workstation into a small server. And you can often find amazingly inexpensive workstations on eBay to play with.
The future
In the end, all this talk of architectures and 64-bit design wars is purely academic. 64-bit architectures will come and go as the market dictates. Only the cheapest, most reliable, best supported, and most powerful players will remain in the game. Michael Dortch noted this point especially well:
“From a user (or non-IT executive) standpoint, the best 64-bit architectures are invisible — all users know and see are applications that run faster and are more available than they used to be. From an IT executive’s perspective, the most successful 64-bit architectures are similarly transparent. They ‘play well’ with incumbent 32-bit and other environments, delivering enhancements to availability, performance, or other operational characteristics as and when those translate into demonstrable business value with minimal disruption. In other words, ‘no fork lifts required.’”
Well, maybe you would need a forklift to get that pallet of old Alphastations out of storage so you can use GNU/Linux to cluster them into a new backup server. Someday maybe we won’t be so concerned with what is inside our computer so much as what software is running on it and what it enables us to do.
Discuss this article or get technical support on our forum.
Copyright 2005 Jem Matzan. Verbatim copying and redistribution of this entire article are permitted without royalty in any medium provided this notice is preserved.