Friday, May 30, 2008

Adventures with Puppy

For more information about Puppy Linux, click here.

My first attempt at installation failed because I didn't wipe everything before starting. Since Puppy and DSL use different versions of the Linux kernel, that was a dumb decision on my part. Lo and behold, upon rebooting, I got a kernel panic. For those of you who only speak Windows, a kernel panic is similar to the Blue Screen Of Death.

Upon rebooting with the CD, it went straight into the "live" version, in other words, running Puppy completely in RAM. For a machine with Lazarus's limitations, this made everything slow. Molasses running uphill in January slow. A text-based installer would have been nice, especially for a distro that claims to be pretty minimalist.

I used GParted (a GUI-based partitioning tool) to redo the partitions on my hard drive, and it worked fine. I thought the "install" icon on the desktop was to install to the hard drive, but it wasn't. It's actually their package retrieval tool. That's a confusing way to label it, I think. You have to go to "Menu", "Setup," and then "Puppy Universal Installer" to install to the hard drive. Another unique aspect of the desktop is that you only click icons once instead of double-clicking to activate them.

Once I got started on the installer, it mostly walked me through it, although there was some confusion on one particular part. Browsing the forums tells me I'm not the only person to be confused about this, so I'll probably post something about it there. As I was finishing up the install, Mr. Williams walked by and said, "Ooh, I like that desktop a lot better [than DSL]." He's right; Puppy has a surprisingly attractive desktop for a distro its size.

The Ethernet didn't work out of the box, but it was an easy setup via the "connect" function, which is Puppy's equivalent of Windows' Internet Connection Wizard. SeaMonkey is the default browser, but you can get other browsers if you want via the package retriever. Puppy also has its own system monitor, but unlike DSL, this one is down in the tray.

I like Puppy OK, but I'm not sure Lazarus has the resources to pull it off. Even SeaMonkey runs a tad slow, and the monitor shows memory use over the halfway mark much of the time. Puppy's website tells of someone who installed it on a machine with 32 MB of RAM, but I'd be curious to know exactly what they were able to do with it.

Next time: how much Debian can I get away with on Lazarus?

Thursday, May 29, 2008

Intermezzo: Rant About Linux Sites

Before I install any piece of software on my computer, there are 3 basic things I want to know about it:

1. What does it do? If there are several options on the market, what does it do that it's competitors don't?

2. Will it run on my machine?

3. How do I install this freakin' thing?

Regarding the first question, most distro sites do a pretty good job. Usually, the information about what makes a particular distro unique is on the front page, exactly where it should be.

Question #2 is the big stumbling block for most distros. Specifically, I'm talking about system requirements. This stuff needs to be accessible from some very prominent place, like the front page or the FAQ, not buried in a wiki somewhere. Most "About Our Distro" pages tell how a distro was first developed in 2002 by Joe Schmo in his employer's cubicle/a university lab/his mother's basement, etc. I guess that's good information, but I don't think the average user cares. If I really get comfy with a distro, I might want to know that stuff, but under no circumstances should it be more prominent than the system requirements. The system requirements don't necessarily have to be exact. They can say something like, "OurLinux can run on as little as 64 MB of RAM, but 128 MB RAM is preferred," and so on. When I can find this information at all, it's usually kind of buried.

Also, it wouldn't hurt to remind the user how to find what kind of hardware they have, because I can almost guarantee that the vast majority of users out there don't know. When we first acquired Lazarus, I asked Mr. Williams, "What are the specs on it?" He gave me a blank look and replied, "Uh, 64?" And this was after he'd been using the machine for 6 years. I'm not calling Mr. Williams stupid or anything (he's certainly not), but I think it's a good illustration of how most typical users don't exactly have their specs committed to memory.

Question #3 isn't as problematic. I can put together to burn the .iso to CD, boot from said CD and follow the rest, but it wouldn't hurt to have that spelled out. Also, sometimes there are commands required, although most distros that require these are pretty good about mentioning them up front.

So, if anyone wonders why more people don't try Linux, I really think the issues discussed above are a big part of it. I'm not even going to get into the WiFi support issue, as that is outside the scope of my project. If I ever decide to blog about my Linux experience on my laptop, I'll discuss it there.

Sunday, May 25, 2008

More Thoughts on DSL

I'm not sure if I can count this as a useful skill, but I've gotten really good at typing "sudo cfdisk /dev/hda". For those who don't recognize that string, I'll break it down for you:

sudo: the command to become "superuser", which is required for just about any system-altering function. If you're going to be executing several commands at the root level, you should probably do this separately by typing "sudo -s", which will make you superuser until you are ready to leave this mode by typing "exit".

cfdisk: a command-line tool for working with disk partitions. Those of you who remember the good ol' days of DOS will note the similarity to "fdisk". Those of you who don't know what disk partitions are should familiarize yourselves with them before attempting to install any version of Linux. Fortunately, this is an easy concept to learn. You can start here.

/dev/hda: "dev" is simply an abbreviation of "device". Any drivers for peripheral devices (disk drive, keyboard, mouse, etc.) will be in a /dev directory of some kind. You may have guessed that "hda" refers to a hard drive, and you would be absolutely right. If I had multiple hard drives, they would be listed as "hda", "hdb", etc. In other words, "hda" is Linux-speak for "C:\" on an equivalent Windows system.

This is a useful command to know when you've hosed your system. I expected to hose my system multiple times, so I gained a lot of experience with booting off the CD and starting over. If you plan to use DSL, you can go to their website to see what to do after typing this command. This step will vary depending on what your plans for DSL are.

I did get the MyDSL package retriever working and was able to retrieve some decent apps with it. However, it was good for me to play with the "crude" apps I mentioned in my previous post. I even used vim to edit some configuration files. In the words of David Carradine, "I'm all about old-school." It's nice to know that if something were to happen and the command-line interface was all I had, I'd at least be able to perform basic functions.

To summarize, DSL may not be terribly slick, but it definitely gets the job done. Mr. Williams wasn't too fond of the desktop, which is understandable. The average user (which Mr. Williams pretty much is) wants a slick interface and a system that doesn't require much tweaking. However, I think it was good for me to learn about the different tools common to most versions of Linux.

Next distro to step up: Puppy. I've heard a lot of good things about it, so I'm curious to see how it works on a system like Lazarus. I'll keep you posted!

Thursday, May 22, 2008

First Impressions of DSL

For those of you just joining us, DSL is Damn Small Linux. Click the link for more information.

Linux advocates often cite smaller size as one of its greatest advantages. This enables it to run more quickly than other OS's, as well as run on some older hardware that might not be able to run the latest offerings from Microsoft or Apple. And they are absolutely right. The whole startup CD for DSL was around 50 MB. To give you a comparison, the version of Microsoft Office that I have on Lucy is over 500 MB.

How do they achieve such ruthless efficiency? It's the eternal trade-off between speed and user-friendliness. Imagine a spectrum with efficiency at one end and ease of use at the other end. The most efficient programs usually make significant sacrifices in things like slick interfaces and idiot-proofing. On the other end, programs that are slick and easy to use tend to be total resource hogs.

As you can probably guess, the applications that come with DSL are generally crude, but there are ways to add applications. The support pages suggest activating apt-get immediately after installation, but I haven't found it to be that useful. DSL does come with its own package retriever called MyDSL. Obviously, you're not going to get cutting-edge apps, but you can get stuff for what you need.

One really cool thing about DSL is that it has a system resource monitor built into its desktop. In other words, you can see at any time how much memory and CPU power you're using, just by looking at the desktop. No special keys or commands are required. It also shows how much free disk space you have and your IP address. I love this feature.

Dillo, the default browser in DSL, claims to be adequate for browsing most sites. It does render most pages, but the formatting may not be what you're used to; it's often similar to mobile phone browsing. That doesn't really bother me, but some people might be freaked out by that. Dillo supports multiple tabs, which is nice. And, as advertised, it is very fast.

Firefox, of course, renders pages better, but system performance suffers on a machine like Lazarus.  If you're one of those people who likes to have several browser tabs open at once (like I am), it can be a tad frustrating. Then again, maybe I need to exercise a little browser discipline anyway.

One thing I have discovered (and kind of figured from the outset), is that for long-term use, I really need to upgrade the RAM. A swap partition can only do so much. But at least I've proven that I can achieve the functionality I wanted with the resources I have. Next time, I'll get down and dirty with the details of various applications.

Tuesday, May 20, 2008

Give My Creation...Life!

As soon as I posted the last post, I realized that I did have a computer that could run DSL in RAM. Lucy has 1 GB of RAM and a Windows partition. While booting up the CD was very easy, DSL did not recognize the mouse. This was not a huge surprise, since the mouse is a Apple Bluetooth Mighty Mouse. But it wouldn't recognize the keyboard or trackpad, either. I had to shut Lucy down manually, which I don't like doing. But I decided to proceed with the install on Lazarus. I had Lucy in my lap with the DSL wiki up as I put in the CD.

Lo and behold, installation was a breeze! It probably helps that I'm old enough to remember when the command-line interface ruled the earth, therefore I don't fear it like many users do. All peripherals were detected, and I was able to connect to the web without doing anything extra. DSL comes with its own web browser, Dillo, and an old experimental version of Firefox called Bon Echo.

That's all I'm going to put up for now. I'll post details of my experience with DSL in a day or two.

First Distro Chosen

The first Linux distro I am going to attempt to install is Damn Small Linux, hereafter referred to as DSL. I chose it because I wanted to start with something that was designed with systems like Lazarus in mind. I am fully aware that I can install bare-bones versions of fancier distros and tweak them myself, and I'll eventually try that, too. But for now, I'm going to keep it simple and save the large amounts of customization for later. Obviously, distros such as Ubuntu, Fedora, etc., are out.

It seems like a lot of information on various Linux distros is rather light on installation info, so I'm hoping this means that installation is relatively easy. I noticed DSL's website references a "boot floppy." Holy crap, I haven't heard that term in ages! I'm not even sure I have any floppies in my house (I haven't used a computer at home that even had a floppy drive for almost 2 years). A few quick searches reveal that I can still get them on the cheap if I can't find any here. Sadly, I don't have enough RAM to test-run DSL strictly in memory, so I'm going to have to install it to the hard drive right off.

Token cheap plug: if you like what I'm doing, consider clicking on some of the ads. The proceeds will help me buy fancier equipment and take this operation really high-speed! That is all.

Monday, May 19, 2008

Phase 0: Mission Complete

As the title says, Phase 0 of Operation Lazarus has been completed successfully. What, you may ask, is Phase 0? It's making sure that Lazarus is up and running with all major hardware changes required for short-term desired functions.

Equipment required:
1 Phillips-head screwdriver
1 PCI Ethernet card (I'm using a D-Link DFE-530TX+)

Unfortunately, I got a little ahead of myself and started unplugging everything right away. A quick read of the manual revealed that I actually needed to install the drivers before installing the hardware, so I had to re-plug everything back in. Even I have to take regular doses of RTFM.

When I first started setting everything up, I saw something that indicated to me that I would be the first person outside the eMachines factory to go inside the tower. How did I deduce this? Well, I saw this on the tower:

Yup, that's a manufacturer's QA seal. Of course, eMachines doesn't exactly target the compulsive-modifier customer. Fortunately for me, any possible warranty on Lazarus is long expired, so I pulled the sticker and was greeted by:

So naughty Danielle has voided the warranty (shown at right). I wonder if eMachines maintains this policy with their current products. It seems like there is much debate among manufacturers as to whether to have this policy. Anyway, warranty voided and Phillips-head screwdriver in hand, I removed the case.

Here is a shot of Lazarus's innards:
Why, yes, those are 2 ISA slots, for those who might be wondering. After a few exclamations about eMachines' perceived facetiousness, I removed the modem and replaced it with the Ethernet card. Since I eventually plan to add some USB ports, it made sense to remove the modem and not worry about punching out the other PCI slot right now.

The actual switch of cards was very easy. Once I plugged everything back in, Lazarus recognized the Ethernet card with no difficulty whatsoever. Plugging in an actual cable into our broadband modem hooked us right up to the Internet. Of course, it was somewhat slow, but I expected that. For good measure, I even changed the monitor resolution from 800x600 to 1024x768.

This means that all prep work is complete. I have established that Lazarus is capable of booting up and connecting to the Internet without major modifications. Obviously, the next step is to attempt to install some version of Linux.