Tux the linux penguin


Since Linux, the operating system kernel underlying many Free software environments, has become the poster child of Free software in general, I suppose I should mention that I do have some small bits of code in the kernel. Mostly, I've done various small bugfixes; in one small moment of glory it was an noticeable feature. This code is related to my work on KDE and is in the Linux/PPC soundcard drivers for apple's sound hardware.

For many advanced audio applications, is is desireable to continue to perform other operations while the soundcard processes its current data. The KDE analog realtime synthesizer (aRts) requies this functionality. I implemented the poll() routines needed for these nonblocking sound operations and I got mentioned in the kernel changelog. Whee!

Personally, I think it's the cute penguin that attracts people to the linux kernel itself. Most of the code users see lives outside the kernel.

"Some people have told me they don't think a fat penguin really embodies the grace of Linux, which just tells me they have never seen a angry penguin charging at them in excess of 100mph. They'd be a lot more careful about what they say if they had." -- Linus Torvalds

Linux and Macs

Linux / PowerPC

My first experience with linux on my own computer instead of My Friend's was on macintosh hardware. Luckily, linux runs on almost any hardware, and much of the software found on linux machines runs on even more systems. At the time, however, the port of linux to the PowerPC processor was relatively new, and some difficulties are to be expected from any new platform. crashing.org has a brief history of Linux/PowerPC for the interested. I came in just before LinuxPPC R4 was released.

Thus, my early programming experience was gained working with existing teams, helping to port their applications to this platform. Sometimes this was a relatively simple process; other times, as with Mozilla, the required work was very complex and beyond my direct abilities. Somewhere in here, I became involved with KDE as a user, and later as a develper (hmm, I sense a pattern).

Linux/PPC was a rapidly maturing platform; inevitably, this meant the eventual end of some of the groups which had formed to collect the efforts involved in creating the port. Once PowerPC was a mainstream platform, compatibility with it would become a job handled along with any other problems by the authors of linux software (with help as needed from PowerPC-using developers). Thus, the requirement for a coordinated effort would steadily diminish until only a few deeply platform-specific programs (such as GCC, glibc, and Linux itself) would still require dedicated powerpc work.

Eventually, the event that put an end to LinuxPPC as a coherent distribution came. Glibc 2.1 merged of the powerpc specific glibc changes into the final release of glibc2.1, meaning that all of the foundation packages were supporting PowerPC directly. This led to the release of the LinuxPPC Developers Reference Release 1.0, and then to a variety of new distributions supporting the PowerPC based off of this reference platform.

Debian GNU/Linux


With a variety of new distributions supportering powerpc, including many of the major distributions, it was time to decide which to switch to. Debian appealed to me for its strong Free Software ideals, and for the fact that it was developed openly by a team of volunteers, rather than being corporate. I'm still using debian on all my machines all these years later, so I guess I chose well.