tomh: compute this!

Computers

If you take a look at my resume, you'll see that I have some experience with computers. At my first job we used punch cards. Since then, things have certainly evolved.

Dedicated web server is in da house

I am now the proud owner of a Static IP address and am hosting groja.com on a dedicated server at home. It runs on Gentoo — which is a type of Linux — an Operating System that functions somewhat like Microsoft's Windows.

Like programming, even if you're an expert, system administration-type tasks, such as installing operating systems and setting up a network can be challenging, fun, and frustrating. Both types of work involve plenty of problem solving and require patience and creativity.

But I've done a lot more programming than system administration over the years, so getting all that set up was a learning experience of major proportions.

Home is where the LAN is

My LAN consists of three home computers, networked by a Linksys wireless router.

The versions of gentoo on the server and laptop are virtually identical. For details, please see my blog.

I use Windows only occasionally — that is to say, as little as possible. It comes in handy at times for such things as seeing how one of my sites looks in IE and web surfing during commercials when watching TV.

By the time you read this, I may have replaced Windows ME on the laptop with something else, because as of July 11, 2006 Microsoft will no longer support Windows ME!

Wireless woes

Getting the wireless PCMCIA card on the laptop to work under Linux was challenging. On the third try I was happy to read on the gentoo wiki that

Setting up wireless in Linux is generally one of the most frustrating things you'll encounter.

Wow, thanks — I feel much better now!

Fedora core 3 and linuxant

The first time I did this I had no clue what I was getting into. Linksys does not publish their specifications, so the Linux people cannot write drivers for their hardware.

After a day or two of research I figured out I had to use the driverloader program from linuxant to translate the code in the Windows driver for the wireless card into code that Linux could understand.

That sounds easy enough, but it wound up taking another few days to finally get a kernel with all of the proper options set correctly and all of the software properly installed in the correct sequence and all. Additionally, this was my first experience in doing any sort of networking.

When computing, it's always time to KISS

After losing the hard disk on the desktop, I bought a copy of SuSE 10.0 and installed it on the new disk. So, when I got the groja.com site running, I had three computers, each with a different distro of Linux: Gentoo on the server, SuSE on the desktop, and Fedora Core on the laptop.

Now one of the most important things you can ever do when working with computers is to Keep It Simple, Stupid (KISS). The server had to run gentoo, and the desktop had to run SuSE, so the Fedora Core on the laptop had to go. Because I'd paid $50 for the SuSE and it had taken a week or two to get gentoo going, I decided to go with SuSE.

SuSE 10.0 and ndiswrapper

Despite having successfully been through the process once before, getting the wireless card to work with SuSE 10.0 took quite awhile. After some more research, I decided to use a program called ndiswrapper instead of driverloader.

There are websites that document how to do all of this, but this time it took me a long time to realize that Linksys uses different chip sets — and different drivers — in different versions of the same card. The CD that came with the card contains multiple driver files, and for a few days I was trying to use the wrong one. No wonder it wouldn't work!

Note that not all websites are created equal. If you search for WPC54G — the product number of the PCMCIA card I use — in this list, you'll find only one entry, and it states that this card uses Broadcom chips. If you search for WPC54G in this list, you'll find there are five versions of the card. It so happens that I have version 4 of the card, which uses AirConn chips. Pfft....

Once I figured out which Windows driver to load into ndiswrapper, the PCMCIA card in the laptop started working like it should, and getting the wireless PCI card to work in the desktop was a piece of cake.

Gentoo and ndiswrapper

To make a long story short, although the wireless connection worked — and continues to work — fine on the desktop, the laptop's wireless connection would not stay up under SuSE 10.0. Weird!

So I spent weeks scripting and deliberating and experimenting and eventually decided to put gentoo on the laptop. For details, see this entry in my blog.

Hardware herstory

The story of my network is a herstory rather than a history because I name all my computers after film noir actresses.

The laptop I am using in the photo in the left-hand margin is a Dell Inspiron 8000 bought in the spring of 2002. It has a 1 GHz Pentium PIII, 256 MB RAM, a 15 inch XGA+ display, an ATI Mobility M4 graphics card, a 32 GB internal hard disk, an internal DVD/CD drive, and a removable CD R/W drive.

The display on the laptop crapped out just as I was starting my job search in October 2004, so I needed a replacement PC right away. I went to Micro Center and bought a PowerSpec 8735. It has a 2.8 GHz Pentium 4 processor, 512 MB Ram, 32 MB S3 Pro Savage graphics card, and an 80 GB internal hard disk. The 19-inch HP Pavillion F1903 flat screen display is quite nice, and actually cost more than the PC.

After a bit of research and experimentation, in February of 2005 I figured out how to get an old Compaq display to work with the laptop — the trick is, you have to press Fn+F8 three times whenever XWindows restarts (which apprently happens every time you log out of Fedora Core and SuSE). I then installed Fedora Core 3 on it and used it to develop and test groja.com.

In the Fall of 2005, when it came time to launch groja.com, I decided to get another PowerSpec. Micro Center had two models that had Linspire, rather than Windows, pre-installed. I bought a PowerSpec 1405 for under $300, and for the first time in my life was able to avoid paying the Microsoft tax! This PowerSpec is now the groja.com dedicated server. It has a 1.5 GHz AMD® Sempron(tm) 2200+ Processor, 128MB RAM, 40 GB internal hard disk, and — currently — no display (I use ssh to access it remotely).

Linux: the distros I've used

As mentioned previously, I greatly prefer Linux to Windows, especially when it comes to development environments. To me, using Linux feels more like using a tool while using Windows feels more like playing with a toy. Another big difference between the two is that Linux is free software. (Disambiguating the word free is left as an exercise for the reader.)

I've been running various versions of Red Hat Linux at home for years, but was somewhat disappointed with the initial release of their replacement for it, Fedora Core 1. That is why, when I bought the new desktop, I decided to try SuSE 9.1 on it.

But there were some issues with SuSE 9.1 as well. Most importantly, getting the apache web server to work was a chore. Like I said, system administration is a lot different from programming. But there was no way I'd develop groja.com under Windows, no way!

In February of 2005, right around the time I figured out how to get the Compaq monitor to work with the laptop, Fedora Core 3 was out, so I decided to give it a try. This time getting apache to work was trivial, and the laptop became the groja.com development box.

When development was done and the time came to put groja.com online, I bought a new server. As mentioned above, I was able to find a box that had Linspire pre-installed instead of Windows. Now if you've never worked with Linux and would like to try a distro that looks and feels a lot like windows, give Linspire a try. It came with the server I bought and it's pretty cute. Go for it!

For a number of years, a friend has been bugging me to try Gentoo. I had given it a try in the Fall of 2004 when I first got the new desktop but, after a week or two, decided we weren't yet ready for each other.

A year later, in the Fall of 2005, I chose to use it on the groja.com dedicated server because, due to security concerns, I wanted that box to have precisely what it needed to host the site, nothing more and nothing less. As it turned out, both Gentoo and I had evolved a bit, and getting groja.com to run on it wasn't too difficult.

More recently, router issues led to an update of my DSL service through Qwest, and a hard disk crash — after less than a year! — led to installing SuSE 10.0 on the desktop. After some deliberation, I decided to put SuSE 10.0 on the laptop as well, for consistency.

Gentoo and do-it-yourself auto repair

It sounds like more and more people — specifically several of my programming guru and system administrator buddies — are moving towards Gentoo. At this point, I can see why: distros like SuSE include tools like YaST (Yet another Setup Tool) which can be great — when they work.

But when a sys-admin GUI tool like YaST doesn't work, things can get frustrating. In contrast, when Gentoo doesn't work, it's usually due to user ignorance. Not that there's anything wrong with that!

Back in the 1970s, before we had computers in our homes and cars, it was fun to tinker with cars. We'd buy the books and learn how to take them apart, troubleshoot the issues, buy cool tools and new parts, and put them back together. This was challenging, fun, and frustrating at times. Maybe we saved some money, maybe not. At the end of the day, any pain experienced was voluntary and, more often than not, the satisfaction of fixing the thing would make it all worthwhile.

It's important to remember that, despite the fact that you might fall prey to a greedy repair shop, you shouldn't need to know how a car works, if all you want to do is drive it.

I feel like working with Linux distros is somewhat similar. It's challenging, fun, and frustrating at times. You can learn a lot and maybe save some money, but in the end the satisfaction of doing it yourself somehow makes it all worthwhile.

But despite the fact that you might fall prey to a greedy software vendor, there should be no need to know how an operating system works, if all you want to do is use the computer.

So therefore, although I like to encourage people to use Linux instead of Windows, I sincerely hope I don't sound like snob when talking about it. The truth is, sometimes I feel more like a masochist than anything else — unless I'm going to be doing some serious development, as was the case with groja.com.

Like do-it-yourself car repair, Linux in general — and Gentoo in particular — is not for everyone! At least, not yet....

Technical details about tomh.info

This version of the site is written in XHTML 1.0 transitional. Most of the functionality formerly provided Javascript has been replaced with functionality provided by Cascading Style Sheets (CSS).

I prefer editing these pages using vim (a text editor -- I have been using either it or its predecessor vi on Unix OSes since the 1980s). But if an authoring tool becomes available that totally supports XHTML 1.1 strict and CSS, perhaps I would be willing to give it a try.

All of the files (except the home page, index.html) have the .php extension to enable PHP routines to generate headers, navbars, and footers that are consistent throughout the site.

CPSR

Back in the 1980s, during hey day of Artificial Intelligence and Star Wars (Ronald Regan's, not George Lucas'), I learned about and joined CPSR, a group of people who are concerned about the impact of computer technology on society. Some examples of the issues we are concerned about are privacy rights, the integrity of computerized voting machines, and women and minorities in computing.

For more information, please visit the website for the Computer Professionals for Social Responsibility (CPSR).