During my quest for access to the System i, I uncovered an absolute diamond.
This article is going to start out with a little bad news. Understand that most of the bad news is my fault; I'm going to have to revisit some of the problem areas I encountered when I have more time. But as they say, it's an ill wind that blows no good, and in this case in particular, my hunt for the best alternate access bore unexpectedly wonderful fruit.
First, Though, This News from the Front
I had a horrible time with IBM software researching this article. Well, I had a rough time with software of many stripes, but IBM software in particular had me going. I have a V5R4 system with relatively up-to-date PTFs (but not completely, which is something I'll correct before my next attempt). One would think that setting up iSeries Access for the Web (iAW) would be simple, but alas it was not. I was running WebSphere Express Version 6.1, and iSeries Access software was trying to create an instance for WebSphere Version 6, and I had little success. Next, I tried both ASF Tomcat and the LightWeight Infrastructure (LWI) server and had even worse luck. I don't know if it was the instructions or me or some combination, but I failed miserably. I will revisit this as soon as I get some spare time, though, because I think iAW has some great potential.
Then I ran across something that cheered my heart no end: iSeries Access for Linux. Those who have been following my travails recently might know that I've begun treading the path toward a Microsoft-free environment. I've already removed nearly all of my Microsoft applications, trading in IE for Firefox, Outlook for Thunderbird, and Microsoft Office for Open Office (IBM Symphony isn't quite ready yet). I created my own Linux mail server, and I'm trying to go to the next step. Obviously, I have a major stumbling block in the fact that WDSC (soon to be RDi) doesn't run on Linux, but I have to believe IBM is going to fix that "real soon now." In the meantime, I'm trying to find replacements for other software, and while a Linux 5250 terminal already exists (TN5250), I thought I'd try the IBM version.
And immediately I got whacked in the face with the biggest issue in the Linux world: the fact that there are so many flavors of Linux. These rifts are of varying degree, and I ran into perhaps the biggest chasm of all: the rift between Debian and RPM packaging. Not to get into it in great detail, but Linux software is packaged different ways, depending on your distribution (or "distro" for short). In a very superficial way, it's like the difference between save files on different releases, except that in this case the save files have different layouts and you use completely different programs to install them. Interestingly enough, this often isn't an insurmountable issue, and in fact the Debian distro includes a utility that converts RPM packages to be used by Debian systems. Or at least, that's what I found after several hours of Googling.
Unfortunately, I then ran into the second part of the whole different flavors thing. In this case, the IBM software uses a GUI manager called Motif. More specifically, it uses something called Open Motif, which, despite its name is not considered open software because of certain licensing restrictions. I refuse to recount the details because they make my head hurt, but the upshot is that Motif is no longer included with some Linux distros, so you have to go and get it yourself. And I did manage it, after learning about phrases like repositories and suites and learning about RPMs versus .deb and wget and apt-get and even ldconfig. And then, after all that work, it turns out that the package doesn't work! I get a bunch of warning errors and a segmentation fault. Others have reported the same thing, and there's no clear, easy fix.
I'll be the first to admit that I wasn't able to give either of these packages a completely fair shake. When I ran into problems, I didn't make a nuisance of myself on forums and IBM's tech line as I would with a "normal" i5/OS problem. I simply tried to follow whatever directions I could find and do it myself. But the truth is that, even though I'm a pretty smart cookie, I was unable to get either iSeries Access package to work. Note: The name "iSeries Access for Whatever" is still prevalent on the IBM Web site. Although you do see some references to System i Access, primarily in the page headings, the body of the text almost always refers to iSeries Access. Just a little additional confusion.
The Good News
So why am I so gung ho about Linux access to the System i? Well, as I mentioned earlier, this is all part of my "Microsoft-less" workspace. It's kind of like the paperless office; I may never be entirely paper-free, but every little bit helps in my efforts to reduce my dependence on paper.
I've already moved most of my day-to-day tools to non-Microsoft alternatives. I sent this manuscript written on Open Office to my beloved editor using Thunderbird. Once I have non-Windows applications, I can start removing my Windows operating systems. But that's a big step, one that I wanted to ease my way into. But easing into Linux is sort of like gently merging onto the Autobahn: not easily done, and it often involves pain. I have in fact avoided it, most recently with the excuse that the Rational tools for the System i (WDSC and now RDi) don't run on Linux. So, since I didn't want to mess around with my primary development machine, I needed a play machine, and those aren't easy to justify to the CFO here at the Pluta Brothers labs.
I have slowly been getting there, though. In another article, I'll recount my successes (and failures) virtualizing my office using VMWare, which means that I may actually be freeing up a few hunks of iron for more serious testing. But even though I'm almost ready to re-purpose one of these machines to a standalone Linux sandbox, that's still no small decision, and in the meantime I stumbled across a much easier answer.
Enter the ASUS Eee PC
While I was looking for a new laptop, I found the ASUS Eee PC, and I was completely blown away. Let me immediately state that this machine is not a "desktop replacement," which so many laptops are being touted as these days. However, as an ultra-portable mobile computer (UPMC), the Eee PC is hard to beat. About the size of a piece of paper when opened and weighing less than two pounds, this is a truly portable machine (see Figure 1). Sorry for the less-than-perfect pictures; I'm a better programmer than photographer, but you get the general idea.
Figure 1: This is my ASUS Eee PC, the 4 GB Surf version. (Click images to enlarge.)
The version I got was the "Surf" model, which means it doesn't have a Webcam. I can live with that. More importantly, it comes with only 512 MB of RAM, and upgrading the RAM is not for the faint of heart. Some of the smaller machines require you to actually solder in new memory. If you are so inclined, a really active and fun community has grown up around this thing, and you can find detailed instructions on modifying the machine. I have to admit, though, that any community that has a "sticky" post on soldering 101 is populated by folks a little different than most midrangers (with the possible exception of Larry Bolhuis).
Why such a fan base? Because the machine is cheap. The fully preloaded machine in Figure 1, with 512 MB of RAM, a 4 GB solid-state disk drive, and built-in 100 MB Ethernet and Wireless G, cost me a whopping $349. Now, the 7-inch screen is nothing to crow about, especially in its 800x480 mode, and the keyboard is a bit cramped. But the display is crisp, and the keyboard has a great tactile sense. And you can always connect a regular monitor and a USB keyboard and mouse (in Figure 3 below, I show the machine hooked up to an external monitor in all its 1440x960 glory).
What's a Xandros?
Xandros is the Linux distro that ships with the machine. Linux isn't the only option; early in the life of the machine, the hackers immediately figured out a way to install Windows XP, and now it is a standard option for some versions of the Eee PC. But Xandros is the default system, and frankly, I kind of like it.
Figure 2: Xandros in "easy" mode is about as simple to use as you could guess.
Figure 2 shows the Xandros opening screen, with big, easy-to-use icons for access to the various capabilities. Configuring networks and connecting to wireless is very straightforward, and accessing the Web via Firefox is a click away. But that's not the only mode. In fact, with a large screen, Xandros begins to look very professional indeed.
Figure 3: Xandros, on an external monitor in 1440x960 mode, looks very Windows-y to me!
Be forewarned, though: Xandros is not Windows, nor is the Eee PC a desktop replacement. It's designed as a turnkey machine, preloaded with everything you should need (including Open Office and Firefox). While you can install additional software, doing so requires more Linux knowledge than the average green-screen programmer possesses. It's not impossible, and I worked my way through it, although at the end of the day, I ended up unable to install IBM's iSeries Access and instead went with the traditional Linux standby, tn5250.
Figure 4: Despite my poor photography, you can see that the 5250 emulation is perfectly usable.
After I did get 5250 up and running, I was quite happy with it, and frankly, if you can use 5250 on a mobile phone, your eyes will actually thank you for this upgrade. I do have one caveat: I haven't been able to find the reset button. I'm sure it's a standard key that all Linux users know by heart, but I haven't been able to figure it out just yet.
The Pros and Cons of the Solid State Disk
The solid-state disk (SSD) in the Eee PC makes it very rugged; you can't damage the disk drive any more than you damage the RAM. At the same time, there are some severe limitations. The first is simply size; SSDs are relatively expensive, and drives larger than 16 GB are difficult to find. Because of this, the base size for an SSD-based UMPC is limited to around 4-8 GB. This isn't really such a problem, though, because you can use the SDHC slot to insert as many 16 GB drives as you need.
More painful, though, is the fact that SSDs have a limited life. This is something I learned about only after a lot of reading. SSD drives built on flash RAM are not designed for heavy read/write cycles, so you need to limit the number of writes. Operating systems designed specifically for an SSD configuration reduce the wear, and using an external device such as a USB drive or an SDHC card for more volatile data greatly increases the longevity of the device.
But I don't think that's a killer, since in the end you won't be using this as a production machine, such as a mail or file server. If you have large amounts of data, you should consider using SDHC for storage and in general use the SSD primarily for operating system software, not stuff that changes all the time. I'm not yet an expert at this; I get the idea that the best tuning involves moving some of the more volatile files, such as logs, to a separate partition on an external device. But even without that, I'll be surprised if the machine doesn't have a useful life of several years, and what $350 computer can you say that about?
What's the future for this machine? What exactly is its niche? Well, for me, it's the perfect mobile device. I'm not a "convergent hardware" guy; I've never been comfortable holding a PC up to my ear, nor do I want one hanging on my belt. And with a BlackBerry 8800 going for $500 and iPhones topping $600, it seems to me that having a real computer for $350 is a deal. Yes, you can get applications that run on the larger phones, but I'd rather have a PC and then maybe use that for phone calls, although I'd probably be just as happy tethering to a cheap phone with a data plan, and the forums have many examples of people doing just that. Of course, the forums also have posts from people actually cutting open the box and installing broadband cards, so you have to be careful what you wish for there.
If you read the interview with the CEO of ASUS, Jerry Shen, you'll see that mobile broadband is a definite future item for this machine, along with a larger screen and perhaps even a hard drive. The current 7-inch screen may be just a bit too small for some of us, especially at the default 800x480 resolution. Me, I think an 8.9-inch screen at 1024x600 would be enough for anything I needed from a mobile computer, especially if I could tether it. As it stands, I can already use it to display PowerPoint presentations when I'm on the road, as well as access mail. It even has a VNC client to remotely connect to other desktops (although connecting to a 1900x1200 screen from an 800x480 device is interesting, to say the least). But I like the idea that ASUS isn't trying to turn the machine into a laptop replacement.
Even more intriguing is the fact that you can run multiple operating systems just by installing them on SDHC cards. I'm going to continue to investigate that possibility, since it's within the realm of possibility that I could run RDi at something like 1280x1024 on this machine. The Eee PC will never be a desktop replacement, but as a secondary mobile PC, it's awfully hard to beat, and if it were broadband capable, I don't think I'd ever leave home without it.