February 21, 2000 | LINX PICK / BOOKS

One Geek's Bookshelf

Some readers have known me long enough to remember a guy who resisted switching from a CompuGraphic typesetting system to Macs at my college newspaper. My reasoning was simple - I didn't want to "screw up a system that worked," namely paste-up layouts performed by sleep-deprived underclassmen on ancient light tables in a cavern-like upstairs room in the student center. In my mind, this system had produced a constant flow of weekly issues of The Colgate News since the paper started as a campus counter-culture icon in the late 1960's. So here, in 1986, we were being asked to reinvent the whole process.

Well, I was out-voted, so I helped mothball the CompuGraphic beast, with its noxious fumes of photo-process chemicals, platter-sized "floppy disks" and its 3 (count em) trained users. I also helped set up a little network (using AppleTalk) of 2 Mac Plus and 2 Mac 512KE desktops wired to an original LaserWriter Plus. This little production shop cost the Student Activities fund about $10,000.

After about 2 weeks of using the Macs, something amazing happened. I began to covet one myself. At first, we used the Macs to create columns of newsprint, which we would then paste on the pages. But, as time went on, we started using PageMaker 1.0 to do self-contained layouts, which would be posted in full-form onto blank pages. The LaserWriter would not print sheets large enough to forego paste-up altogether, but by the time I graduated, in 1988, we were doing many pre-paste steps right on the little Mac boxes. And, for Christmas the year before, I had gotten my Mac 512KE (cost : $700 with my brother's Apple developer discount).

Through 5 years of Mac ownership, I never cracked a computer book. Everything about it was self-explanatory and all the software I used was simple and easy to figure out. Sure, during my years of newspaper work, I used clunky PC systems, but they came with software pre-configured and "reporter-proof" so I never ventured under the hood. The boxes seemed hopelessly primitive and user-hostile and, besides, my Mac could do so much more with a smile on its face.

For the historical record, my first job was in a one-man bureau which had moved from the typewriter era exactly 3 years earlier. I used an IBM DisplayWriter word processing beast kluged to a 150-baud modem that would send only after 2-3 attempts in the best conditions (which were rare in upstate NY's snow belt). The newsroom used a Coyote computer system so complex and difficult to navigate that I never ventured far from my own directory on the system. My next job featured original IBM PC's in the bureaus. These dumb little workhorses had 5.25" floppy drives and a built-in 300-baud modem. They used XyWrite, the best pre-Windows word processor (incredibly fast and very powerful macro builder) with some excellent macros which made the whole user experience easier. My feeling was, as long as I don't venture directly into DOS, I'm OK. My bureau-mate, on the other hand, was a DOS geek and would constantly be tweaking his setup and playing games. Bully for him, I thought as I wrote my stories quickly and hurried home to my wife, Mac and real life. That little Mac, its accompanying 40 meg external hard drive and original HP DeskWriter printer, got my wife through grad school and produced the documents and resumes that got us better jobs and a better life in downstate NY. It also served 3 years as a word processing tool for my wife's school yearbook. It now sits idle in our attic, but I know I will use it again and refuse to sell it. I'd have it running today if it could hookup to the household Ethernet. Anyway, back to my story.

The Library Begins

When I started my current job in 1993, I again faced the world of DOS, this time on IBM PS/2 boxes with hard drives, color video and the incredibly user-hostile Word Perfect software in the fore. These boxes had been set up for an office full of computer-illiterates and they weren't very efficient, but they had been configured to run very solidly. Our four computers shared 2 massive HP LaserJet Series II printers (the old kind of laser printer, with copying machine print engines and a paper feeder mechanism taken out of a postal sorting machine). My computer was set up in a way that just wasn't conducive to efficiency. And no one in the 6-person company knew anything about computers beyond turning them on and using WordPerfect. It was time to learn about how a DOS system ticked.

So began my geek bookshelf. My first volume was MS-DOS For Dummies. This book got me over many humps, like setting up "directories" and erasing out-dated files and moving files around. All of this was command-line stuff in the DOS dark ages and it was totally alien to a Mac-head. From the first days of Mac, a user never had to think about things like file trees or directory structures. We just dragged and dropped, from 1984 onward. Anyway, I still keep the DOS for Dummies around because, until Microsoft finally merges their professional and consumer OS's, there's a lot of DOS still going on underneath Windows. Just last week, I had a Win98 meltdown and used the DOS prompt to get rid of some startup stuff that was contributing to the problem.

Hardware Essentials

A year after I started my current job, the company was bought by a more computer-literate soul. He and I decided to scrap the 1986-vintage PS/2 systems and get some then-modern 486 boxes. I picked out some Gateway units, fully equipped with Win95 and MS Office 95. Things were looking up. The boss and his partner selected DEC machines (DEC, now owned by Compaq, isn't in the PC business anymore). Everything hummed along for about a year, but then our business manager outgrew her hard drive (she was also outfitted with a DEC). I went to add a new one, which seemed pretty straight-forward, but found out the machine had only one IDE bus, which was full with the current hard drive and CD-ROM. Thus it was time for another book : Peter Norton's Complete Guide to Upgrading and Repairing PC's. Even though I've built 2 servers and 3 PC boxes to date, I still use this book every time I open up a Wintel machine. There are so many hidden pitfalls in this hardware that it's essential to have a fall-back, a big tome you can scour when you get cryptic BIOS errors or need a trick to find and assign an unused IRQ. Sure, Wintel machines are moving to the "legacy-free" era where you don't need to know this stuff, but I plan to get years more out of my machines and so this book's spine will continue its inevitable breakdown. BTW, one of those 1995-vintage 486 boxes is our server at work. It handles file sharing, intranet site hosting, DSL access sharing, backup archiving and printer sharing just fine. How? Linux, my friends.

As I upgraded PC's at work and home (and discovered the wonders of eBay), I came into a couple of spare Wintel boxes. About 2 years ago, I started reading about this up-and-coming operating system called Linux and decided to check it out. I purchased the "official" Red Hat Linux version 5 and tried to set it up on a discarded 486 box. Well, let's just say that Linux was a lot less user-friendly 2 years ago. And let's add that before it came into IPO billions, Red Hat didn't concentrate its cash on good user documentation. In all fairness, all of this has changed, but Linux is still pretty hard to figure out for people who have had no exposure to UNIX in their past.

Linux Learning

My first Linux book was, of course, Linux for Dummies, second edition. This book came with a CD-ROM containing Red Hat Linux 5.2, which I immediately upgraded. The book is not really a be-all for a Linux newbie, but it demystifies text-line commands, provides really good setup help and gets you configured to go online, where you can download truly cryptic "howto" and "faq" documents about the various parts of Linux. Perhaps most important, this book starts you off with the vi text editor, an essential part of using Linux.

Last year, I got a cable modem at home and had to figure out a way to share it among my various PC's. I explored various Windows software solutions but decided the best answer was a "thin server," which could share the cable modem, file storage, host an intranet and store my growing MP3 collection. I chose Network Concierge because it was cheap ($100) and designed to be "idiot-proof," meaning it ran Linux but all the user functions took place via a browser on the Windows boxes. No command line programming needed. I was so impressed that I decided it was time to stop noodling with an old stand-alone box in my basement and learn how this Linux really worked. Time to get some more books.

By this time, there were new upgrades of Linux. I didn't want to pay top dollar for an "official version" packed full of demo versions of software I didn't need and thin on documentation. So I got Red Hat Linux 6 Unleashed. This book contains all the information you'll probably ever need to install, configure and run a Linux system or network. However, it's very complicated and not newbie-friendly. Furthermore, you may need more details on some aspects of the system. However, since you get a fully functional version of Linux and thousands of pages of documentation (including step-by-step guides to all the important configuration files), I think it's indispensable.

That said, I instantly had to learn more about making my Linux boxes "see" and "talk to" my Windows boxes. That's accomplished by having the Samba software package running on the Linux boxes. While the Unleashed book does a good job of explaining and introducing Samba, I needed a full volume to make it work. I chose Teach Yourself Samba in 24 Hours. This book truly contains everything you'd ever need to know about successfully networking Windows and Linux computers. The software CD contained some useful programs for both Windows and Linux and the book clearly got me through setting up transit and share folders and print-sharing on several Linux boxes.

Since perhaps the best use for a Linux box these days is as a server, especially a webserver, knowing about the Apache server software is very beneficial. Again, Unleashed does a good intro and setup tutorial, but since the Linx and my work websites run off Apache servers, I needed to know the full deal on the web's most popular software. O'Reilly's Apache - The Definitive Guide contains more details than most people will ever need, but it's written in a nice conversational style and it gives all kinds of great tips on setting up efficient, fast and secure websites.

The more you work with Linux, the more you'll need to use vi. This legacy of UNIX is a powerful but non-intuitive and complex text editor. I highly recommend O'Reilly's vi Editor Pocket Reference. No need to go any further (except reading the chapter about vi in the Linux for Dummies book) unless you actually like cryptic text-based editing (which, for some reason, many Linux hardcores seem to enjoy).

Web of Knowledge

Parallel to my hardware learning has been my website design education. My company has had a website since 1996. I didn't build it originally, but I've maintained it since day 1 and have rebuilt most of it along the way. Its newest incarnation, created a month ago, contains a different directory structure and more robust customer service. It's still nowhere near perfection, but it's generated more money than it's cost from the beginning (take that, Amazon) and it gains traffic each month.

In the beginning, I bought HTML for Dummies, which was a good starter for writing simple HTML. At first, I'd do almost everything in a graphic editor - Netscape Editor. Nowadays, I'm more comfortable doing most HTML work in a text mode editor - Allaire's Homesite. I've graduated to a more complex desktop companion, O'Reilly's HTML - The Definitive Guide. This book serves more as a reference than a page-by-page read.

As a website gets more complex, you have to start doing things beyond HTML. Since I have to serve users on a world of platforms and browsers, I like to keep all my out-of-HTML processing on my servers. That way, I can be sure that universal, generic HTML will come back at the user, and should look and act similar in all browsers. This requires a knowledge CGI and Perl. I'm nowhere near expert on any of this, but I have been helped in my quest by O'Reilly's The Perl CD Bookshelf and Elizabeth Castro's Perl and CGI for the World Wide Web. Castro's book is serving as a learning platform and the O'Reilly book/CD set makes a tremendous advanced course and reference.

Some things on my intranet websites and even on the Linx (like the clock on the front page) are OK to set up for local machine processing, in my opinion. Also, some cool features, like the way the navigation buttons change color if you use Internet Explorer 5, are too cool to pass up. These are best done in JavaScript, an embedded-in-HTML language originally invented by Netscape but now more functional on MSIE browsers (I'm sure there's a lot of debate on that point). The big pitfall is that many JavaScript functions work differently on different browsers, which tells me that I don't want to use this for any crucial features - just cool add-ons. I'm sure some readers who know more disagree, and I'd love to hear your feedback. Anyway, I've used the Mecklermedia Guide to Building Intelligent Websites with JavaScript to learn some tricks with this, but I admit I do best by going to the numerous JavaScript websites out there and copying the most useful scripts for my purposes. CTO Brother John is way more advanced in this area, so he's done most of the Linx enhancements. That's why he's CTO.

Better By Design

Finally, as I get more comfortable with HTML and website programming, I am getting more serious about some formal design learning. The first book I've gotten on this subject (and have just begun reading as of this writing) is O'Reilly's Web Navigation - Designing the User Experience. So far, there's a lot of good information in this book and I agree with author Jennifer Fleming's views about what makes a good user experience on a website. My only critique is that this is a late 1998 book and many of the sites she cites have drastically changed their designs since then. Another, more theoretical book that's been highly recommended is Web Style Guide: Basic Design Principles for Creating Web Sites by Patrick Lynch and Sara Horton. This entire book is also available online at Yale University's website.

Well, that's a guide to my geek bookshelf. I haven't read many of these books cover-to-cover. I use them as references, meaning I read pages or chapters as I need the knowledge. I've been very impressed with the fact that these books contain minimal overlap and rarely contradict each other. If my brain could store all the wealth of knowledge contained in this small bookshelf, I'd certainly make fewer silly computer mistakes and have nicer websites. I continue to learn and evolve, and thank the authors of these books for providing a well-lit path.

< Return to the Linx or Go Home >