Wednesday, July 30, 2008

"Open" thin-client solution

If you are looking for thin-clients that avoid proprietary elements as much as possible, here is one solution for you.

It starts with the VIA Artigo Pico ITX computer. Get it here for $310 assembled and tested. Shipping is another $20+.

The Artigo machine I got has 512 MB of RAM -- no hard disk. My plan was to put an operating system on a USB flash/key/thumb drive and boot the Artigo from the flash drive.

To keep the flash drive from burning out quickly, because of a lot of reads and writes to the flash drive, the operating system must be completely loaded into RAM when the Artigo boots. And there has to be enough free RAM with the operating system running to provide adequate swap or scratch space for the applications to run. Needless to say, my Artigo is not a Windows Vista machine.

VIA claims that the company is Linux friendly and that there are all sorts of open-source downloads available on their web site. But, damned if I could find any help there for running Linux on my Artigo box. In fact, drivers supplied by VIA for the VIAChrome graphics processor are reportedly inferior to open-source OpenChrome drivers. So, don't look for help from VIA.

A number of Linux distros claim to be USB-bootable. But in most cases, what that means is that you can put the Live-CD version on a USB flash drive and get it to run. That is not the same as installing the distro on a USB flash drive, since a Live-CD has all sorts of drivers and hardware discovery routines that run every time the Live-CD is started. There is no simple way to obtain persistence from one Live-CD session to the next.

Also, many Live-CDs do not load themselves completely into RAM; they read/load elements from the CD if/when a user selects them. For example, OpenOffice might be loaded from one distro's Live-CD only when the user selects it.

Bottom line, most of the Linux distros are not suitable for my diskless Artigo thin client.

Two Linux distros that I have gotten to work on my Artigo box are Damn Small Linux (DSL) and Slax. has instructions that I used to get DSL to work. It uses the Live-CD version of DSL and persistence is obtained by a clever(?) hack. The problem is that DSL is too small; it uses an older version of the Linux kernel and it uses a "frugal" window manager (Fluxbox or JWM) that looks cheap. Users/employees won't like the look and feel of the DSL desktop.

Download the Slax distro from here. Get the file that is specifically for install on a flash drive. It loads a Live-CD version of the operating system on a flash drive, but/and it provides persistence out-of-the-box. It uses the latest kernel and it uses the KDE desktop/window manager. It works like a charm on my Artigo thin client. It looks great. It loads itself completely into RAM, leaving about 70% of the 512 MB free for swap/scratch space. SWEET!

On top of this, as a Live-CD, I can take my Slax flash drive and boot it on my PC at home for secure remote access to my business computer systems. THIS is a great, open thin-client solution!

Monday, July 21, 2008

How to print your Outlook contacts.

Several months ago, I persuaded a friend to abandon MS Word as a platform for an address book and migrate it to MS Outlook.

The Word document was more like a series of biographical sketches than a database. In many instances it described who was born of whom, where they went to school, who married whom, where they had worked, and, sometimes, when they died.

There were thousands of names in the address book/document, and it was designed to be printed out, put in a binder and kept by the phone. In order to allow for the mailing of Christmas cards and party invitations, various children of the electronic document existed, suitable for printing mailing labels. So, whenever there were additions, deletions, and changes to the "master" list, appropriate changes needed to be made to the spawn. Or not.

In the course of the migration from Word to Outlook, once again I realized that no good deed goes unpunished. And that with friends like me, who needs enemies? After hours and hours of work and months of elapsed time, the address book data has been migrated to Outlook, for the most part.

The task at hand now is to print out a directory. How hard can that be? Pretty hard, it turns out. You can get a rudimentary directory by selecting Print/Directory in Outlook, but not the field-rich, biographical sketches that my friend was accustomed to having. For that, a MS Word mail-merge is required. Its an actual coding job, made somewhat easier by wizards in MS Word. But made a lot more frustrating by quirks (bugs or features?) in the way that MS Word interprets the code. Here's what's involved:
  • Field codes for all the fields you want to include and "If...then...else" statements to label and/or connect certain fields.
  • Careful attention to paragraph formatting in order to keep records from spanning columns and pages.
  • A kludge to break pages at the end of each alphabetical section.
  • A kludge to remove blank lines that MS Word fails to suppress (e.g., because there is font formatting associated with empty field).
Here's what the merge output looks like. I'd be happy to share the "code" with you. Get in touch with me if you want it. But, the right way to do this is probably with PERL, not MS Word.