Tech news
at TheJemReport.com
Software reviews
at SoftwareinReview.com
Hardware reviews
at HardwareinReview.com
Discuss technology
at TJRForum.com

September 28, 2007

How big is your desktop software stack?

Filed under: Articles — @ 1:34 pm

I have a test computer with several hard drives in it, each with a different operating system. When I need to test a new software program or hardware peripheral, I can quickly assess its compatibility across several platforms with this computer. The hard drives are a mix between Western Digital Raptor 36GB and Seagate Barracuda SATA-V 160GB models — fairly new, fairly fast, and presumably spacious enough for my test OSes. It did not occur to me that I might ever run out of space on the 36GB drives because there is very little “real life” data on it — just a few megabytes worth of documents, pictures, and other test data. Since switching to Linux and BSD, I have come to think of personal data as being the big storage sink, with the operating system and desktop software being the minimal part of the hard drive’s space. Well, that doesn’t hold true in Windows Vista. I made the mistake of putting 64-bit Vista on one of the Raptor drives, and after a little over a month of sporadic, short-term use, I’m out of free space. This, to me, is astonishing. How is all that space being used?


First of all, a drive labeled as 36GB is certainly going to be less than that due to addressing, partitioning, and bad sector elimination. When it’s all said and done with Windows Vista’s NTFS, I end up with 33GB. So there’s 3GB out the window right then and there. Vista’s Disk Properties dialogue indicated that more than 31GB of that space was occupied in some way.

There is almost no data to speak of on the Vista drive — a few browser bookmarks, a few small graphic files that I used for testing in Photoshop and Fireworks, and a half dozen screen shots from other programs I’ve tested recently. Far, far less than 1GB — probably less than 10MB altogether. So the first thing I did to see what was taking up so much space was look at the Programs and Features section of the Control Panel, which shows how much space each installed program is occupying.

Adobe Creative Suite 3 Web Premium doesn’t say how much space it takes up, but if the size of its directory in C:\Program Files\Adobe is any indication, it’s about 3GB. That’s about what I’d expect it to be, considering the number of programs included in the suite. Microsoft Office Professional 2007, by contrast, is a mere 500MB. Roxio Easy Media Creator 10 Suite takes up a surprising 590MB, but it’s even more hefty when you fold in the ancillary Roxio programs and packages that are installed separately from the suite. Add up all of Roxio’s applications and you have about 735MB. The separate content package for Easy Media Creator is by itself more than 800MB. World of Warcraft is about 5.5GB. Then there are about a half dozen other programs like the Flash Player and the Firefox Web browser and other little extras that add up to less than 1GB.

So there was no “smoking gun” in terms of huge programs taking up a lot of space. Even added together, they don’t amount to an unreasonable portion of the 33GB drive. What about Windows Vista components? Surely there’s something like IIS or MSSQL installed that I do not need. But when I clicked on “Turn Windows features on or off” I found that I only had the bare minimum installed in Windows Vista Ultimate. No indexing service, ActiveX installer, extra network services, or anything else that I could reasonably do without. In terms of checkboxes in the list, I had 7 of 23 selected, and two more partially selected.

The next step was to take a look at the file system and see if I could get a better picture of where all the space was going. The Windows directory itself was 11.5GB, which to me is unbelievably large for an OS, not including the applications. Compare that to FreeBSD, which is an entire operating system with lots of extras and has no trouble fitting on a single CD; or Ubuntu Linux, which fits an entire graphical operating environment with desktop applications onto a single 700MB CD.

C:\Program Files, including both the 32- and 64-bit directories, weighed in at 12GB. So MS Office, Adobe Creative Suite, Roxio Easy Media Creator, World of Warcraft, and a handful of other desktop programs take up roughly the same amount of space as the platform they run on. Again, I’m shocked at the sheer size of Windows Vista, which I must remind you is merely an environment for running the aforementioned desktop applications.

So I had less than 2GB of free space, but something didn’t quite add up — literally. If I turned on the option to show hidden files and folders, then selected everything in the C:\ directory, then looked at the group’s properties, I only came up with 25GB. So if Explorer said I was using more than 31GB, but I only had enough files for 25GB, where is the missing ~6GB? Is it possible that Vista actually has a 6GB swap file someplace hidden beyond what Explorer can see? That would be ridiculous, but so is an operating system that occupies almost 12GB by itself.

Putting aside the missing 6GB for a moment, I decided to run the built-in Disk Cleanup function to see if there were any unnecessary files I was unaware of. I know that I have personally deleted installation files that I’ve downloaded, that the Recycle Bin is perpetually empty, and that I hadn’t done enough Web browsing on this operating system to accrue a significant number of Web cache files. Incredibly, though, there were 3.59GB worth of files to clean out of Windows Vista — files I never had any control over or purpose for. 8MB of thumbnail images, 1.27GB “temporary files” (whatever those are), 292MB under various categories related to something called “Windows Error Reporting and Solution Checking,” and 2GB wasted on something known as “Hibernation File Cleaner.” I have no idea what these things are — I mean, I have some good guesses, but how would I find out for sure? — and I was not aware that I was doing anything that would cause all of this cruft to build up over the scant few hours (over the course of several weeks) this operating system has actually been used since I installed it.

After Disk Cleanup was over, I re-checked the difference between what all of the files and folders reported and what Disk Properties showed in terms of occupied drive space. This time it was 24.6GB in the file view, and 29GB in the Properties dialogue. So my 6GB deficit was reduced to 4.4GB, which is still an unacceptable amount of “missing” space as far as I’m concerned.

Hopping over to my Mandriva 2007 Spring AMD64 workstation, df -h shows that all of my installed software (a lot!)plus the operating system adds up to 19GB, and personal data (including a few VMware images, World of Warcraft, and tons of pictures, project files, Web site code, and some unedited home videos that I haven’t gotten around to editing and compressing) is around 53GB. The size of the data will remain consistent across platforms, though — it’s the same on Linux as it is on BSD or Windows. One way or the other, there is no way all of this would fit on a 36GB drive. But if I needed to do software testing with very little data and a lot of programs, with Linux, BSD, or Windows 2000 or XP (my entire gigantic WinXP stack, including a significant amount of test data, is around 47GB) I could easily fit everything on the Raptor drive.

So the questions are: How big is your desktop software stack? Do you know how all of the space is being used? Even if I were to research the topic further and gain an understanding of what the Disk Cleanup cruft was, how would I manage to prevent it from accruing in the future? If I had chosen a larger hard drive and used Windows Vista more frequently over a longer period of time, would the entire drive eventually fill up with unnecessary garbage? I’ll leave you with one last question: What does this say about the long-term stability of Windows Vista?

Discuss this article now on our forum.

Copyright 2007 JEM Electronic Media, Inc. No reprints without written permission.

June 23, 2007

The Burning Crusade: how not to make a game expansion

Filed under: Articles — @ 12:27 am

Usually an expansion pack to an existing game is a way of adding to the existing material with the hope that people who have played the original game all the way through will rekindle their interest through the expansion. This has been done successfully in the past with successful expansions like WW2: 1946 for Aces of the Pacific; the many official and unofficial add-ons, maps, and game modifications for the Unreal Tournament series; Warcraft II and III’s expansions; and the Grand Theft Auto and Halo add-ons and expansions. With a wide range of successful projects to take lessons from, you’d think that the usually outstanding production team at Blizzard Entertainment would have thought a little more carefully before going ahead with World of Warcraft’s first expansion pack, The Burning Crusade. Don’t get me wrong — it’s got a lot of great qualities, and if you have been playing WoW for more than a year, TBC was practically a revelation. But the purpose of an expansion pack is to enhance or build upon a game, not to invalidate or otherwise trample on it, thereby ruining the original WoW content for new players. Unfortunately, The Burning Crusade did exactly that. Below is a list of the major new features in TBC, how they wrecked World of Warcraft, and some suggestions for repairing the damage.


World of Warcraft overview

World of Warcraft is a massively multiplayer online role-playing game (MMORPG) based in a Tolkien-like fantasy universe of elves, dwarves, humans, orcs, and other races involved in unending global warfare. The story has been developed over a period of years, starting with the real-time strategy game Warcraft, and progressing with Warcraft II and III. Players start out at level 1 and, by killing wandering monsters and completing quests, they gain experience and skills and advance to new levels. As their characters become stronger, they’re encouraged to move on to new areas where the monsters are tougher and the tasks more complex. The maximum level is 60. Although experienced players frequently breeze through from level 1 to 60 in a few weeks, first-time players generally require months of casual play in order to reach the top.

Aside from normal gameplay, players can form groups to take on dungeons and raids as a team. A dungeon typically requires a group of 4 or 5, though if you’re near the top of the level recommendation for a dungeon, you might be able to get away with a group of 2 or 3. Raids, on the other hand, require larger, more organized groups of 10, 20, or 40 players to be successful. A raid takes a lot of organization and teamwork; usually players will use third-party chat applications like Ventrilo to communicate via voice chat instead of trying to use the text interface. The most prestigious and difficult raids require “attunements” — a long and tedious series of steps that usually requires building up your reputation with a certain faction of non-playing characters.

The Burning Crusade expansion overview

The Burning Crusade expansion was released to great fanfare. People went out and stood in line for an hour or more — many of them out in cold weather, to buy it on the day of release, and paid as much as or more than the cost of the original World of Warcraft game. While periodic game patches provided regular updates and occasional additions to the original World of Warcraft game, The Burning Crusade added a gigantic amount of new content and expanded capabilities:

  • The level cap is raised from 60 to 70.
  • Skill caps are raised from 300 to 375.
  • Two new character races: Draenei for the Alliance, and Blood Elves for the Horde.
  • Two new starting areas and capital cities, one for each race. The Draenei have the Bloodmyst and Azuremyst islands, and the crashed Exodar spaceship as a city. The Blood Elves have Eversong Woods and the Ghostlands, and the half-destroyed Silvermoon City as their capital.
  • A new world for players level 58 and above, called The Outlands, including several new dungeons and one new raid.
  • Flying mounts are available for level 70 players, but only while in The Outlands.
  • A new trade skill: Jewelcrafting.
  • Dozens of new items, weapons, armor, and skill recipes.
  • Two new level 70 PvP battlegrounds: The Arena for team deathmatch competition, and The Eye of the Storm for objective-based team play.

The problems

Unfortunately, the new content has led to a lot of chronic problems with the WoW/TBC game. Basically the problems boil down to one specific theme: poor scalability. A lack of consideration for how the content introduced in The Burning Crusade would affect World of Warcraft has ruined the original game’s experience. Let’s take it point by point according to the new features listed above.

The level cap is raised from 60 to 70

On its face, this is a good idea. It allows people who reached level 60 a long time ago to once again advance their best characters through another 10 ranks. There are several big problems with allowing players to gain another 10 levels — effectively doubling their HP and mana, increasing skills and stats by 16% or more, and offering them weapons and armor that can be more than twice as powerful than before — though. The first is that the NPC guards in the “old world” of Azeroth have not increased commensurately in level and skill, thereby enabling a whole new era of PvP griefing in Azeroth, even and especially for players who don’t even have The Burning Crusade expansion. Level 70 players are now so powerful that there is no longer a significant threat from guards in neutral cities like Everlook, Gadgetzan, and Booty Bay. Hunters can 1- or 2-shot another player, then feign death to escape the guards. Rogues can sap you repeatedly without any attention from the guards, forcing you to log out in order to escape them. You’re powerless to retaliate, because the neutral guards will see yours as the first act of aggression and promptly kill you while your rogue opponent emotes in your general direction. On PvP servers, if you thought the bored high-level players were a pain in the ass, wait until you see them at level 70. Not only do they kill players dozens of levels below them in one shot, but they’ll take down the nearest village as well.

Before you respond with something ridiculous like “QQ,” you should understand that the point of making town guards powerful in the first place was to provide a penalty for acting like an ass in neutral cities. Plot-wise, the Steamwheedle Cartel doesn’t want you causing unrest and interrupting business in their towns. Game-wise, the designers did not intend you to be able to easily grief other players in neutral towns; the rest of the world on a PvP realm may be fair game, but there are supposed to be places where you have a measure of safety against high level players who have nothing better to do than make the game miserable for you.

The fix: The easy way to fix this problem is to raise the level of every neutral and faction guard by 10 levels. That’ll balance out the game as was originally intended. Perhaps the concept of dishonorable kills should be reintroduced as well; the incentive of the PvP arena for level 70 players is not enough to keep the griefers away, mostly because griefers can’t compete with serious players of comparable level.

The new jewelcrafting skill, new recipes for existing skills, and skill caps are raised from 300 to 375

Like with level caps, on its face this is a great idea. It allows people who have every possible recipe from the original game to go out and find or earn new ones. But like with all other things associated with TBC, there is a dark side that overshadows it — and this one is the most pervasive.

I’m talking about the fact that old WoW content is now obsolete and ignored. In this case, all those faction recipes that you worked hard to get from groups like the Cenarion Circle, Argent Dawn, and Thorium Brotherhood are now impractical to make, impossible to sell, and overshadowed by low-level Outlands gear that is easier to obtain and cheaper to buy or craft. All those times you ran Molten Core and Onyxia’s Lair have been totally wasted.

The other half of the trade skill debacle is the havoc that jewelcrafting wreaked on the WoW economy. Prices for ore, metal bars, and especially gems skyrocketed with the introduction of jewelcrafting. While this makes it more difficult to level your jewelcrafting skills than you may have anticipated, it totally screws people who have recently taken up nearly all of the other extant trade skills. The dramatic rise in gem and ore prices have driven the cost up on all crafted items that require them. The worst hit came to blacksmithing, which is now significantly more expensive to level than before because you’re more or less forced to do all of your own mining.

The fix: The problem stems from the fact that a new skill that requires a lot of ore and gems was introduced, but ore and gem drops and caches have not been increased commensurately. Demand was increased, but supply remained the same. Perhaps if ore veins were more commonly found or more plentiful in their gem production, the economy could go back to pre-TBC prices.

World of Warcraft: The Burning Crusade
The Draenei quest line ends here

Two new races: Draenei for the Alliance, and Blood Elves for the Horde, and two new starting areas and capital cities, one for each race. The Draenei have the Bloodmyst and Azuremyst islands, and the crashed Exodar spaceship as a city. The Blood Elves have Eversong Woods and the Ghostlands, and the half-destroyed Silvermoon City as their capital

The new scenery and music in the Blood Elf and Draenei starting areas is spectacular — arguably better than the majority of the old WoW game content. The character classes are well-balanced, have great new racial abilities, and open up the possibility of creating a paladin class on the Horde, and the shaman class on Alliance. Previously these classes were exclusive to the other faction.

So what’s the problem? Well first of all, the story and quest lines are incomplete. When you finish the natural quest progression in Bloodmyst and Ghostlands, you’re more or less dumped into old Azeroth. The new character races do not have a lifetime quest progression like most of the old classes do; you don’t go naturally from one area to another and another until you find yourself walking into dungeons and raids. Instead, at around level 22 you’ve conquered your starting areas and are shoehorned into the middle of the level 20-ish Night Elf or Undead quest progressions in Ashenvale or Hillsbrad. As a Draenei you are literally dropped off on the Auberdine docks and expected to find your way in the rest of the world as though you’d played this game a few times before. This is not expansion content so much as it is an insiders celebration of long-term subscribers who have been dying to play a new race and class.

If you need to train in jewelcrafting, you’re forced to make an unusually long journey back to The Exodar or Silvermoon City because that’s where the only trainers are in Azeroth. Imagine you’re questing in Thousand Needles and want to train some new jewelcrafting abilities. You have a 10-15 minute journey to Silvermoon or Exodar. The new classes are almost as bad. If you’re a Draenei shaman, you have to go all the way back to The Exodar for class training (technically there’s a shaman trainer in Stormwind, but you have to know that he’s there in order to find him). The Horde are luckier — there are paladin trainers in Undercity and Orgrimmar as well as Silvermoon City, which can be easily reached from a city-to-city portal in the Ruins of Lordaeron above Undercity as opposed to The Exodar, which requires flying to Auberdine, waiting for a ship that takes a really long time to arrive, then walking the last 1000 yards or so to The Exodar.

The new starting areas may be interesting and have a lot of quests, but they don’t offer any new dungeon instances. Technically there is one called Zul Aman in Ghostlands, but it is not yet activated as of this writing, and is intended for level 70 players. There is no Draenei or Blood Elf equivalent of the Deadmines, Blackfathom Deeps, Ragefire Chasm, or the Wailing Caverns. If you want to run those “beginner” instances, you have to either abandon your race’s starting area and join the old Alliance or Horde, or you have to get involved with the group matchmaking system as early as possible and hope someone summons you. If you ignore the old “beginner” instances until you’re out of your starting area, you’ve probably missed your chance to do them.

The fix: The solution here — and perhaps for other problems as well — is to fully embrace TBC as a part of WoW. Put jewelcrafting trainers in every city, and make it just as easy to find shaman and paladin trainers as it is to find rogue or warrior instructors. Also, create more Draenei- and Blood Elf-specific content so that each has a natural quest progression through the game. A Human or Orc character can follow each quest all the way up to Onyxia’s Lair and Naxxramis and beyond, but Draenei and Blood Elves are expected to sort of tailgate the Night Elf or Undead quests. That’s not really a true expansion of the game, is it?

A new world for players level 58 and above, called The Outlands, including several new dungeons and one new raid.

It makes sense to create a new land for high-level players to gain experience and get new gear. The design of The Outlands is wonderful — great new art, music, and new races and monsters to experience. The new dungeons are pretty cool, too, and offer a decent challenge to players of every skill level.

So what’s the problem? Well, let’s put it this way: Do you remember your first Onyxia raid? Do you remember how there used to be all kinds of raids on weekends — Zul Gurub, Onyxia’s Lair, Ahn Qiraj, Naxxramis, Blackwing Lair, Dire Maul, and world bosses like Emeriss? If you remember those days, then you’re also aware of the fact that they are over. This may not be a problem for you if you’ve run the old Azeroth raids and high-level instances ad nauseum, but what about people who started playing just before or since TBC was released? They have to fight to find 5-man groups for Blackrock Depths, let alone 10- or 20-man raids like Zul Gurub or Onyxia’s Lair (which used to be a 40-man raid before TBC). It used to be that you couldn’t walk into Stormwind City on a weekend without seeing at least one dragon head hanging from the rafters. Now if you see the Rallying Cry of the Dragonslayer buff, it’s almost a spectacle — “Whoa — someone ran Ony!”

There are two main problems with TBC’s murder of original WoW content. First, most of the old raids require that you be near level 60, at which point most people now head for The Outlands instead of the old raids because Hellfire Peninsula offers more money, experience, and better weapons and armor than any Azeroth raid. It’s widely known that the “green” gear you get from the first 10 quests in Hellfire Peninsula is likely to replace epic raid and PvP gear from Azeroth. So why work to get the old stuff anymore? Secondly, the bulk of the people who used to organize and run raids on Azeroth are now doing Karazhan, Caverns of Time, and Black Temple, and are no longer interested in doing the old raids, leaving the pool of interested parties at a minimum. It also eliminates most of the raid experience, so rather than blunder through BRD trying to find the Molten Core instance, it’s much easier for level 58 players to head to The Outlands and find more satisfying solo or 5-man dungeon battles.

The fix: One way to solve this problem is to up the level requirement for The Dark Portal to 62, and prevent mages and warlocks from being able to magically transport people below that level to The Outlands. This would force people to work through the old content before going on to the new stuff. Secondly, the old epic gear drops need to be made more common and less labor-intensive. That way when you enter Hellfire Peninsula at level 62, you’ve been using your epic raid gear for at least 2 levels before it is replaced by Outlands quest rewards.

Flying mounts are available for level 70 players, but only while in The Outlands

How often have you wished that you could redirect your gryphon or bat because you clicked the wrong destination or need to go someplace else while in the middle of a long flight? Well in The Outlands, if you reach level 70 and pay a metric assload of money, you can train to ride a flying mount. Not only is this a cool way to travel, but it also unlocks a few interesting new places that you cannot reach on foot. It sounds about as great as it actually is. There’s just one problem: If you die while in the air — not hard to do on a PvP server — your spirit will be unable to reach your corpse, thereby forcing you to use a Spirit Healer and take the resulting debuff and gear durability hit.

World of Warcraft: The Burning Crusade
The only instance in the new starting areas is closed

The fix: Make player corpses fall to the ground if players die in the air. If you jump, your character falls to the ground, but if you die while flying, your corpse hangs in midair. It doesn’t take a genius to see the consistency problem here. WoW is not bound by the laws of Earth physics, but it needs to follow its own physical rules consistently. A second option is to give ghosts the ability to float up into the air, and allow players to resuscitate on their flying mounts.

Dozens of new items, skill recipes, weapons, and armor

With new lands and higher levels comes more stuff to buy and outfit our characters with. Ideally, though, adding new items should not wreck the existing economy. The effect of TBC’s new items in the old Azeroth economy has been disastrous.

As mentioned previously, jewelcrafting’s material requirements have made the cost of all other crafted items rise significantly. In order to afford to make or buy those items, you need more money. This isn’t a problem if you have TBC, because every quest you get in The Outlands offers several gold, plus a new item worth about the same amount, plus whatever you got from the process of performing the quest tasks. It works out to 10-20g per Hellfire Peninsula and Zangarmarsh quest, and more for the higher-level areas. So if you’re above level 58 and need some cash, earning it is much easier than ever before. And if you want to seed your new alternate character with some startup money, it’s much less painful to mail yourself 100g or more. Unfortunately, the introduction of all this gold caused auction house prices to skyrocket. The more you have available to spend, the higher the price you’ll pay for something you want. The raw materials still have to be collected, though, and that is one thing money can’t always buy, so the price of crafted goods is guaranteed to stay as high as possible as long as there are material shortages. If you don’t have TBC, or if you are just starting out in World of Warcraft, you are totally screwed when it comes to auction house prices because you have no way to earn the big bucks.

The shortage of raw materials presents yet another difficulty — that of “farming” in The Outlands. Netherweb Spider Silk is an excellent example. This item is required in quantity to make a number of high-dollar items, most notably an 18-slot item bag that sells like mad in the auction house. The only place to get this silk outside of a high-level instance like the Black Morass or Karazhan is in Terrokar Forest, from level 64 spiders. Naturally, there are some quests in this area for level 63-67 players. Those quests become very difficult to complete when the area is saturated with level 70 silk farmers who easily round up and kill the spiders, and on PvP servers, they kill the lower level players as well. If you thought the practice of “farming” materials was annoying in the original WoW, it’s gone to a whole new level of annoyance in TBC.

Lastly, there aren’t enough new items to cover the expanded stats of a level 70 player. The highest level healing potion you can get is designed for level 55 players. Back when 60 was the level cap, this was acceptable. Now, however, it’s not uncommon for a well-geared player to have twice as many health points as he had at level 60, so those level 55 health potions are puny and ineffective. Ditto the bandages — though two more bandage levels have been added, they don’t repair enough damage to be worthwhile to a well-geared level 70 player.

The fix: The most obvious solution is to make raw materials easier to obtain. Another option is to reduce the number of materials required for high-dollar recipes. It would also make sense to give more consideration to where materials are found and where players go to quest. Overlapping the two might be fun for high-level players who have had more time to level and equip their characters, but it’s no fun for virtually all other paying customers when a quest area is saturated with high-level farmers. Lastly, there needs to be a whole new class of items designed for players who are at or near the new level cap. The old level 55-60 stuff just doesn’t cut it anymore.

Two new level 70 PvP battlegrounds: The Arena for team deathmatch competition, and The Eye of the Storm for objective-based team play

The concept of PvP battlegrounds began with capture the flag in Warsong Gulch, and expanded to Arathi Basin and Alterac Valley from there. Those games are still around, and people still play them. With TBC comes Eye of the Storm, which is Warsong Gulch plus Arathi Basin — capture the flag with objectives to capture. Nothing new there. But why play EotS anyway, when the top-tier PvP armor and weapon rewards take weeks to accumulate enough honor points to buy, and are nowhere near the quality of Arena or tier-2 and above raid gear?

Speaking of the Arena, it’s a small deathmatch-style battleground for premade groups of 2, 3, or 5 people. Like a guild, you have to pay a fee and have already interested parties to start an Arena team. The rewards for cashing in your Arena points are significant, but take a lot of playing to obtain. The real problem is not grinding the Arena; it’s the inequality of the Arena reward gear. Rogues seem particularly affected by inappropriately configured Arena armor rewards, so much so that they are all but totally absent from 5v5 teams.

This is a larger problem than just the Arena, and affects more than just rogues (a class that only does well when their opponents don’t know they’re coming). It’s really an extension of the aforementioned scaling inequalities that each character class is experiencing with the upgraded level cap. There have been two major attempts to fix some of the problems with post-release patches, but most of the original issues remain. Most notably, the “bastard” talent specialties of every character class, such as subtlety rogues, enhancement shamans, arcane mages, and retribution paladins, have been neglected and left to rot. All of the high-end Arena and raid gear for every class caters to its two primary specialties and ignores the third.

The fix: First of all, there needs to be better Eye of the Storm rewards. You could kill two birds with one stone here by offering upgraded EotS gear that is aimed specifically at the “bastard” talent specs listed above. Secondly, the Arena needs to be reconfigured to level the playing field for all classes and races so that those that were never meant to excel at dueling can compete.

Conclusions

The Burning Crusade added a lot of great new art, music, and functionality to World of Warcraft. Unfortunately, it also trampled on the original game to the point of making almost half of it totally irrelevant. The point of TBC was to continue to make the game enjoyable for existing long-time subscribers, but it came at a terrible price for both new and old players alike. Viewed in isolation, The Burning Crusade is wonderful. But when you look at it in the big picture, considering the game it was designed to enhance and support, it is a complete failure at enhancing WoW. If World of Warcraft had been totally reworked to accommodate for TBC, this article would have been a proper review instead of a long examination of the expansion’s failures.

It’s not too late to fix The Burning Crusade, though at this point I think the only way to really solve all of the problems that it introduced is to make it a requirement for all World of Warcraft subscribers. Only then can you modify the original WoW content to scale properly with the new TBC material. I hold out hope that the expansion will improve with time and patches, but part of me worries that the decision makers at Blizzard Entertainment think of The Burning Crusade as a financial success instead of a material failure.

Discuss this article or get technical support on our forum.

Copyright 2007 JEM Electronic Media, Inc. No reprints without written permission.

August 18, 2006

Making the Mambo RSS feed search engine-friendly

Filed under: Articles — @ 1:40 pm

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.


Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License.

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:

  1. 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).
  2. Enter your root password and press Enter.
  3. Click the Installation Source icon in the right pane.
  4. Click the Add button, and select HTTP from the drop-down list.
  5. 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

  6. 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.
  7. Repeat this process for the following server address:

    mirrors.kernel.org/opensuse/distribution/SL-10.1/non-oss-inst-source

  8. 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).
  9. Click the “Refresh On or Off” button, then click Finish.
  10. 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:

  1. Click the Computer menu, then select More Applications.
  2. 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).
  3. Input your root password when prompted.
  4. When YaST comes up, click the Software Management icon in the right pane. Type “sun” into the search field, then press Enter.
  5. 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.
  6. 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:

  1. 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.
  2. Click OK in the Firefox file dialogue. The default option should be to install the package with ZENworks.
  3. 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:

  1. Click this link to download the DeCSS code: http://download.videolan.org/pub/libdvdcss/1.2.9/libdvdcss-1.2.9.tar.gz
  2. 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.
  3. 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.
  4. Type this command to switch to root permissions: su
  5. It’ll ask for your root password — go ahead and type it in, then press Enter.
  6. Now you need to switch to the directory that Firefox downloaded the file to: cd Desktop
  7. Next, decompress the file you just downloaded. Type this in: gzip -d libdvdcss-1.2.9.tar.gz
  8. Then unpack it from its archive by using this command: tar xvf libdvdcss-1.2.9.tar
  9. The file will un-tar to its own directory, so you can now safely delete the tar archive: rm libdvdcss-1.2.9.tar
  10. Now you need to compile the DVD decoding library. Change to the directory first: cd libdvdcss-1.2.9
  11. And then run the configure program with this command (don’t leave out the dot and slash): ./configure
  12. When it’s done configuring, run the make command to build the files: make
  13. 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:

  1. 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.
  2. Switch to root permissions by typing this command: su
  3. Copy and paste in the following command: rug set-prefs security-level checksum
  4. 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:

  1. 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).
  2. Enter your root password when prompted.
  3. Click the Installation Source icon in the right pane.
  4. Click the Add button, then select HTTP from the drop-down list.
  5. In the ensuing dialogue, copy and paste this address into the server field:

    packman.unixheads.com/suse/10.1

  6. Click OK, then close the Installation Source window.
  7. 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

  8. 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.
  9. Continue to follow the on-screen instructions until installation is complete. Close YaST when you’re done.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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:

  1. 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).
  2. 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.
  3. Click the checkbox next to the KSynaptics entry, then click Install.
  4. Follow any remaining on-screen instructions to install the package. When it’s complete, you can close ZENworks.
  5. 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.
  6. 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.


Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License.

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.


Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License.

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.


Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License.

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.


Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License.

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.


Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License.

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.


Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License.

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.

« Newer PostsOlder Posts »

| Contact Us | About Us | RSS FAQ |
Copyright 2008. All content items belong to their respective authors.