failing like never before


A Simple Arch Review

I once thought that Debian, with its rock solid stability and simple package management, was the answer to my distro-hopping madness, and that no other distro could fit my needs as well. But Arch Linux has managed to surprise me, satisfying my needs in ways Debian never could. (Did that sound weird and strangely sexual or what?)

The Arch Way, the five governing principles behind the development of Arch Linux, dictates that Arch should be: simple, have code-correctness over convenience, open, user-centric, and free. Elaborating on the principles would be too time intensive for this review, but the general gist of The Arch Way is the age-old engineering adage, KISS (Keep it Simple Stupid). And Arch is simple. Most Linux distributions that claim to be simple, like Ubuntu or Mandriva, are merely simple to use for new Linux users, but Arch is a minimal, streamlined, and elegantly simple distro. Like Slackware, Arch's base installation is quite Spartan, including only the kernel and the bare minimum packages needed to create a stable OS, requiring the user to do all the rest of the configuring and installation of non-essential packages.

Arch Linux: a simple, lightweight, Linux distribution

Happily enough, unlike Slackware, Arch uses binary packages compiled for i686 so that users don't have to compile their programs from source (not a very difficult process usually, but quite time consuming). Because Arch's packages are optimized and compiled for newer i686 CPUs, users can expect a noticeable performance increase over distributions, like Debian, that use i386 packages. However, this also means that Arch will require a slightly newer CPU, a Pentium 3 or newer, whereas Debian can run on any 32-bit Intel-based processor. Arch also offers a 64-bit version, in addition to the 32-bit i686 version, if you want to be able to add more then 4 gigs of RAM to your system.

Arch's package manager, called "pacman," is reminiscent of Debian's "apt-get" and just as easy to use. Pacman can handle the installation, removal, and upgrading of programs, and also resolves dependencies with a single simple command. If I want to install Banshee music player, all I have to do is open a terminal, become root, and type "pacman -S banshee." Pacman also allows for Arch's rolling release system, a system based upon on incremental upgrades. Unlike so many other Linux distributions that make a big fuss about new releases, Arch's release version is essentially meaningless; a release ISO in Arch is simply a snapshot of the core repository with a fairly simple installation script. In order to upgrade my system to the newest kernel and software packages, I merely have to type "pacman -Syu" to fetch the newer packages from the repositories, so that even if I had used the three year old Wombat release, after an update my system would still be as up-to-date as if I had used the new Overlord release.


Javascript Performance

I've noticed that Javascript runs amazingly slowly in Firefox 3 on my computer. I'm running Debian Lenny with an i686 kernel and I have the i686 version of FF3 downloaded straight from the firefox website. Under Opera, Konqueror, and Epiphany, on my computer, Javascript effects like Lokesh Dhakar's Lightbox, (which I'm using on my blog to display image) tend to be a little sluggish, but in Firefox 3, performance is horrendous. In Lightbox, when you click an image the entire page darkens, which normally takes next to no time, even on my Mom's old Celeron loaded down with tons of malware. But in FF3 on my computer, it takes a noticeable amount of time for Lightbox to darken the screen, at least a second or two. I tried running other Javascript intensive websites, built with various libraries including JQuery, Prototype, and Mootools, but the results were the same. Javascript performance continued to be absymal. Indeed, in some cases I clicked an image, went to the bathroom, came back and found my computer was still trying the zoom the image out.

I haven't conducted any kind of indepth, exhaustive testing of FF3's Javascript performance, but from cursory usage, I have determined that its pretty bad. Aside from complaining, I have no idea what else to do.


A Debian Life

I've had this draft sitting in my database for over a month, and now I think its about time it was revealed.

---Initial Thoughts and Stuff---

I switched to Debian Lenny a few months ago and I think it may be the end to my distro-hopping. In addition to the current stable release, Debian has a testing release called Lenny and an unstable version called Sid. The stable version, which is at the time of this article is Debian Etch 4.0, is (obviously) the stable release and the recommended version for normal usage, the testing version contains packages that have yet to be accepted as stable but are in the process, and the unstable version is the bleeding edge development version.

I installed the unstable version of Debian because I felt that sacrificing a little bit of security and stability was worth it to have slighter newer programs in the repository and a newer kernel. Debian has always had a reputation for being rock-solid and secure, so even the testing version of Debian is quite solid (especially when compared to Windows Vista). I haven't tried out the unstable version but from what I've heard, its quite unstable and really only meant for developers, not really practical for day-to-day use.

To be true, my interest in Linux actually started with Debian several years ago, when I read about Debian in Neil Stephenson's In the Beginning was the Command Line (the rather popular (and long) essay about operating systems and choices). It is because of Stephenson, that even though I've been distro-hopping for quite a long time and have never tried Debian before, that I have always admired Debian for its stability and development process. The Debian team has a tendency to release new versions in about the same time it took Microsoft to release Windows Vista, and its not because the Debian developers are lazy or stupid (not to infer that developers employed by Microsoft are). It is simply because the philosophy of the Debian team has been to release their software when its ready, and not before. It is unlikely that Microsoft will ever adopt such a mentality, since unlike Windows, Debian is open source and therefore, for the most part, free of impossible deadlines that inevitably result in programmers rushing to produce barely working, bug infested, code. 


Enlightened Love

I've mentioned a few times in my previous posts, how much I liked Enlightenment 17, the desktop shell. Although E17 is technically still in alpha, it is surprisingly stable. Suffice to say, E17's alpha is about as stable as the final release candidate of Windows Vista. E17 has been in development for an ungodly amount of time, making the development phase for Debian seem lightning fast. But as I said, even now, E17 is still quite useable.

I had some problems with E17 a while back when I was running Ubuntu. I was using a third-party repository and one of the packages was unstable and ended up wreaking havoc with my Enlightenment installation. I eventually ended up removing all of the Enlightenment libraries and packages from my computer, and since I was too lazy to grab a stable snapshot from the Enlightenment servers and rebuild everything from source, I was left without Enlightenment for quite some time. I built E17 from source a year or so ago, back when I tried out Vector Linux, but it took a bloody long time, especially since I had to resolve all the dependencies manually.

Just a few weeks ago, I installed Debian (Lenny), having decided it was time for me get started on a more serious Linux distro. I'll write about my experiences with Debian at a later time. I decided to install E17 again, but this time, I decided to be a little more research first. In the Enlightenment user manual, there is a section on installation. The manual also provides some links to scripts that automate the installation process, which was really nice for me, because one of the reasons I like Debian is because I hate having to build everything from source and resolve dependencies. I tried using the "Easy 17" shell script to install E17, and it worked great. Easy 17 not only automates installation, but if you call the script with a "-u" argument, it will update your installation. You still have to resolve dependencies yourself, but that is to be expected.