My (First) Home Computer Setup

First, the Hardware.

This is a really old PC – I bought it on 11th August 1998.

It’s a Pentium II running at 266 Mhz. In some ways it’s like a kernel that’s peen patched far too often. In other words, it runs the same processor as it always used to, uses the same cabinet, but has had so many components upgraded over the years, that it’s hardly recognizable as the machine that was delivered on my doorstep roughly 5.5 years ago.

Right now, it’s got three IDE hard disks: a 40 GB one from July 2002, an 8.4 GB one from March 2000, and the original 2.1 GB from August 1998. I’ve pumped the RAM up to 384 MB, up from the 16 MB it came with. The video card and sound card are both onboard.

The sound system is something I’m proud of. It’s a Creative something-something (can’t quite remember the exact name). It came with two satellite speakers – the 7cm x 7cm x 7cm thingies pack in a huge punch – and a subwoofer. It’s the smartest investment I made when I bought the PC. It cost a bomb then, but I’ve never felt the need for a separate music player – I simply rip all my CDs to my hard disk.

My only grouse with this machine is the 14-inch Samtron monitor. It’s served me beautifully over the years, but it’s so goddamn small! I’ve worked on 17″, 19″ monitors, have seen a 21″ one, and realised what a huge difference a large monitor can make to your computing experience. Even if I just traded in this monitor for a larger 19″ one, I have no guarantee that the puny onboard video card will support resolutions like 1600×1200 or higher.

Last year, I bought a 5 button Mercury optical scroller mouse. I learnt a few things from this purchase – one, even with the extra cost, always choose an optical mouse over a normal mechnical one. It’s way, way smoother, doesn’t get dirty and requires no cleaning, and can run on almost any solid, opaque surface. Second, the more buttons the merrier – but only if Linux detects them. The 2.4 series were unable to recognise the two “exotic” buttons my mouse has on the sides. Even xev wouldn’t record any input when I pressed these buttons. The 2.6.x kernels, however, instantly mapped my buttons to right-click and middle-click, which I was able to change later – to launch xterm and the IceWM start menu! Finally, a scroller is a godsend when you’re working with a lot of documents and code. Warning – a week with a scroller, and you won’t be able to use a normal mouse again!

Then, the software.

Well, with about 50 GB of free space across my 3 hard drives, what OS(es) do I run? Several, actually. There was this point in time when I was new to Linux – around early 2001 – that I wanted to try out as many Linux distros that I could get my hands on. That’s when I had upto 8 operating systems on those hard disks – and I didn’t even have the 40 GB one yet! Now, of course, my installed base is down to a sane two OSes.

This is how my hard disks are organised: The 40 GB one is entirely Fedora Core 1. There’s a 600 MB root partition, 7 GB /usr partition (these distros are getting SO bloated!), about 10 GB worth of “experimental” space, usually used to try out new distros, and finally, a 23 GB /home partition. (Update: I recently reorganised my hard disk the first time after I bought it, so the experimental partition is gone, /usr is larger, and /home is now 30+GB). The smaller 8 GB hard disk has Windows XP installed on it. The 2.1 GB one is a single large FAT32 partition. Now it’s been months since I’ve booted into Windows, so I won’t say much about it.

The following paragraphs will probably make sense to only those who have had some prior experience running Linux. For those among you still unfamiliar with the Wild Wild World of Open Source (read Linux virgins), the content that follows will provide you with a view into our crazy fevered minds, and perhaps offer an explanation to what makes us so attached to, of all things, software!

Fedora Core 1 is a wonderful OS. It’s in that sweet spot between, say, Slackware or Debian, and Mandrake or Windows XP. I don’t want my distro to try to do things for me that I’d much rather do myself. That instantly disqualifies the Microsoft family, Mandrake (though I rate Mandrake 8.1 as being a phenomenally advanced distro for its time), SUSE, and others like Lycoris, Ark and Lindows^H^H^H^H^H^H^HLinspire. I also don’t want to spend 25 hours everyday in the supposedly joyous experiences of constantly “hacking away” at your system (I do suffer from the occasional “hack frenzy”, though), “tweaking” it to perfection, and “optimising” it to squeeze every bit of performance from your hardware, making sure not a single needless instruction is EVER executed by the processor. So no Debian or Gentoo. (Mind you, I am, however, entertaining the thought of installing Slackware 9.1 or even Vector Linux on that test partition).

That leaves only Redhat’s offerings, which I’ve used since release 5.2. Fedora is good-looking out of the box, has system configuration files that are still easy to edit – as compared to Mandrake and SUSE, and has wide application availability. If there’s ever a small dependency to be satisifed, I know I can google for an RPM specially packaged for Fedora Core. I’ve been using it since it was released sometime in early November 2003.

My only complaint with Fedora is the HUGE installation size. Even a simple desktop system install will take about 2GB of space. Surely there’s no need for that much stuff? Since Redhat’s installer Anaconda doesn’t offer too much choice regarding fine-tuning package selection, I’m left with no option but to select a custom installation, and then check the “everything” box to install about 5.4 GB of stuff. Now I hear that Fedora Core 2 has a full installation size of 6.9GB! That is clearly unacceptable. However, I have no dearth of disk space for my needs, so I’m not too upset.

Here’s how my desktop environment’s made up:

I alternate between several window managers. My all-time favourite has to be IceWM, which I started learning to love, ironically, when I was using Mandrake Linux 8.1! IceWM is a minimalist window manager with a Windows 95 look-and-feel. It’s got a taskbar at the bottom, with a start menu, a system tray, and support for icons on the toolbar, like the QuickLaunch bar on the Windows 98-onwards versions of Windows. That’s where the similarity between Icewm and Windows ends, though. Icewm is meant to be very simple, fast and unobtrusive. It has a set of extremely simple configuration files to manage the menu structure, the toolbar icons, the keyboard shortcuts, and overall preferences. IceWM is often called the “impersonator”, for its excellent themeing support. With some work, it makes a credible attempt at mimicking Windows XP, MacOS 9 and OSX, even Solaris! For more detailed information on IceWM, here’s my IceWM page.

My current love is

Fluxbox, which is even lighter and minimalist than IceWM (Update – I’ve returned to IceWM!). For a newcomer to Linux, staring at a default Fluxbox screen is intimidating, to say the least. There’s only a small bar centred at the bottom, and nothing else. The applications menu is accessed via a right-click on the desktop.
However, just like IceWM, there are a few simple configuration files to edit: one for the menu structure, one for key bindings, and one for settings while Fluxbox starts. Fluxbox comes with a fair bit of documentation, and the key bindings are very flexible and comprehensive. More on Fluxbox on my Fluxbox page.

My terminal is xterm. I’ve heard that rxvt’s lighter. I tried rxvt – compiled and ran it, but it wouldn’t display man pages correctly. I’m sure that’s because I didn’t pass the configure script the right options before the compilation stage, but I’m too lazy to try rxvt again.

I’ve never felt the need for a graphical file manager often enough, to actually go hunting for one. On the rare occasion that I do need one, I take the trouble of waiting for Konqueror (strictly speaking, kfmclient in its filemanagement profile) to start up.

On the Internet applications front, I use Opera for browsing, though I still use Dillo for viewing local HTML pages. My email client used to be Evolution, but it was too large and slow for my liking, and I didn’t really need a lot of its very good features. So I settled on Thunderbird for my POP3 email, It’s attractive, easy to use, and is themeable. The only grouse I have, is that it’s not at all clear how to change the password for the incoming and outgoing mail servers for a particular account, in case you’ve entered it incorrectly. GFTP is great for all my FTP upload/download needs. In fact, this website is administered using GFTP.

For instant messaging, it’s GAIM all the way. A project that initially started out trying to build a Linux-based replacement for AOL Instant Messanger, has now grown into a full-fledged integrated IM client, with support for MSN, Yahoo!, AOL, ICQ, OSCAR, Jabber, IRC… you name it, GAIM’s got it – or will have it in the next release! GAIM’s plugin-based architecture makes it easy to add support for additional protocols. And your buddy lists are all integrated – you can either organise them by protocol, or group them into your own categories, independent of the protocol, or view them as a single list. You can also choose to have multiple chats open up as tabs in the same window. Like a well-behaved, standard-compliant app, GAIM adheres to the freedesktop.org’s system tray standard. This means it can reside in the system tray of any WM that follows this standard – that includes KDE, GNOME, Windows, IceWM, among others. My only gripe? No support for buddy pictures under the MSN protocol, where I have most of my buddies.

One tool I must mention is wget. This is a gem of a program – a command-line-based, scriptable download utility. It supports FTP and HTTP downloads, can be configured to download entire web sites (by functioning as a limited spider), can perform interruptible, recursive downloads, can read input from both the command line as well as from a file, can be run from within a shel script, giving you complete control over how it’s called and when… wget will suffice for all your needs. I use it to download entire distributions. I even used a single-line wget command to download the entire SuSE 9.0 distribution via FTP – all 4.1 GB of it, replicating the entire directory hierarchy. I’d call wget a work of art, nothing less.

For all my text editing tasks – whether its coding, writing email, or creating documents, I use GVim. I’d consider GVim as God’s gift to the Open Source Community. I am not going to get involved in the classic EMACS v/s Vi flame war, because my experience with EMACS has been next to nothing. What I will say about Vim (and GVim, its GTK+ port), is that it was designed with productivity, and nothing but productivity, in mind. Every single aspect of Vim’s usage is designed to maxmise typing speed and minimise finger/wrist movements. Looks and intuitivesness can take a walk. Vim is also configurable, to an extreme level. I’ve discovered dozens of keystroke combinations and configuration file directives, but I’ve barely scratched the surface of Vim’s configurability. Occasionally, I also use Nedit.

For listening to music, XMMS rocks! I’ve tried

Rhythmbox, tried JuK. Nothing is as fast and zippy as XMMS. I don’t need a ten-tonne behemoth for a music application which is going to play a 200-song playlist, minimised, in some far-off virtual desktop. My only grouse with XMMS is that it doesn’t write ID3v2 tags, though I think it reads them. That can be annoying at times.

For all other forms of multimedia – video CDs, DivXs, movies, it’s always MPlayer. MPlayer is another masterpiece from the Open Source commnunity. It can handle an astonishing variety of multimedia formats via its numerous plugins, has an optional graphical interface, and has keyboard shortcuts to handle all operations that would normally be performed via point-and-click. What I’m looking for right now, is an MP3 to OGG converter, which can do batch jobs. I also would appreciate pointers to an efficient ID3 tag editor. EasyTAG is good, but not good enough.

Finally Nero Burning ROM has a worthy competitor. Until recently, K3B was a CD-writing app which promised a lot but failed to deliver. No more. K3B has all of Nero’s features, and , I dare say, a more intuitive interface. I use it to burn audio/data CDs, erase my CD/RWs, all with a simple drag-and-drop interface. It remembers all of my drive’s settings – read speed, write speed, default ISO directory, whether to create multisession CDs by default or not, and the like. There’s an animated icon for the system tray which is black-and-white at the beginning of a burn job, and fills up with colour, clockwise, as the burn job progresses. In the true UNIX spirit of the GUI being a simple frontend, the actual task of burning is performed by command line tools that’ve been around for ages, like cdrecord and cdrdao.

Whenever anyone sends me documents in .doc/.xls/.ppt format (which I absolutely detest – I’m a big proponent of ASCII files), I grudgingly turn to OpenOffice.org. I’d use AbiWord/Gnumeric, but OO.org offers much better interoperability. It takes a lifetime to start up on my puny machine, though.