Monday, August 17, 2015

15 Years of using Linux, Revisiting Mandrake 7.1

The first time I permanently installed Linux was in late 2000. This was before I had any much programming experience but had already developed an interest in computers and computation. One of my buddies, Anton, had interested me in some of the things he was studying at the time so I started looking into Linux. Mostly it was just a curiosity. I had little exposure to anything besides DOS and then Windows, and the intrigue of Linux being a free operating system developed by like-minded hackers in their spare time was why I decided to re-partition my 450mhz Pentium III Dell with Windows 98 and install Mandrake 7.1 on the re-sized partition. This wasn't my first Linux (Redhat 5.1 being the first) but this was my first permanent install. I had learned and grew with this install and spent many hours getting it configured just right, reconfiguring, rebuilding the kernel from source, and just all around tinkering and learning the facets of the system. I also used this environment to take baby steps in different programming paradigms and realized what I would be doing with the rest of my life (profound, I know).

It was 15 years ago this month that I purchased the August/September 2000 issue of Maximum Linux, a now defunct Linux magazine that bundled Linux CD's or other software with it's issues. Only a few months later on February 15, 2001 the magazine announced it was shutting down. I feel lucky, because at the time I had dial-up and the prospect of downloading hundreds of megs of Linux CD's just to give it a try would have been discouraging. Considering that to download this would take days for a single .iso file and I'm sure someone would have to use the phone in the mean time.


Setting up my vm. 384mb was what my Dell had
Times really have changed. Today I can try new Linux almost immediately: With a few clicks I can spin up remote instances using Amazon EC2, or use any number of tools to get a working Linux on a local virtual machine. Mandrake 7.1 was before the days of the Live CD, so to try it you must have it installed. And since virtualization was still relatively new and expensive, I had no choice but to resize my windows partition. However today is much different, since today I'm installing an old version from an old CD-ROM to a virtual environment using VirtualBox,  an environment that is mostly usable and friendly to just about any operating system version. With VirtualBox I had to set up an IDE disk instead of the default SCSI. This time, instead 384mb I cranked it up to 4096mb. I don't think Mandrake supported SMP for multi-core processors out of the box, so I didn't bother to assign additional cores. And of course this is 32bit operating system so I chose the 32-bit Mandriva Logo for my VM.


Booting Linux
Mandrake 7.1 CD boot screen
So after booting my virtual machine and selecting my D: drive to load the physical media I'm now staring at the Mandrake 7.1 boot screen, prompting me to install a fresh copy of fifteen year old software. What will I find? What will I remember? Well, I do remember this splash screen and those happy looking penguin icons, and the ephemeral splash screen star logo and output that fills the screen when I pressed enter to start my install. I recall the feeling I had when this occurred: I thought it was really cool to see this much output of what was happening with my computer. Not just a logo, but a logo and a lot of stuff I had no idea about at the time.


Install Screen
The install process was quite smooth. This set of steps has become more streamlined in recent years, and I remember that only within the past few years distributions will start the installation earlier and prompt questions while it is writing packages to disk. Back when this version was released that was not the case: there are a bunch of questions before and after the files are transferred, which is a bit frustrating and an obvious waste of time.

The one part of the install that stood out the most was formatting. In modern operating systems this takes very little time, but here it took quite a while. I didn't get an accurate count but it was at least a few minutes.

Formatting took a while..
As the file transfer of the packages being installed progressed I was  excited to see the packages names for software I wanted to check out- gcc, qt, netscape.

Setting up partition table
Installing packages

Logging In

A few minutes later my system boots and I'm presented the a crude and very old looking login prompt. All of the colors are basic, and icons look old as well. I log in and run uname -a to see what version of the kernel this is: Linux 2.2.15-4mdkfb, compiled May 10, 2000. I think my first impression of looking at an old window manager for the first time in so many years: everything looked great in a retro way. I was expecting to see something that was out dated and non-functional, but the blocky old style fonts and icons gave it a retro feel that so many games and software are now starting to imitate. I'm quite impressed how well everything seems to just work.

Window Managers

I didn't try them all out or even go into much depth, just logged into gnome and KDE get a feel for the old icons. I later took a look at enlightenment which not surprisingly looks almost identical to what e16 does today. My take away was that the Gnome icon's back then were way too dark and ugly, where the KDE icons had that isometric projection that made it felt like a Commander Keen game.


Now this was really blast to take a look at, even though I was unable to load any network adapter that Mandrake would recognize. I remember using an ISA 3com 10baseT card for networking with this OS, but unfortunately VirtualBox is limited on what it provides for emulation. All the technical aside, I decided to load up Netscape and look at some local content just to get a feel for turn of the century web content.

KDevelop 1.1, Qt 2.1
In the many years since my first experiences using a GNU/Linux based OS I've learned quite a bit about software development, and for the most recent 5 or 6 years I've been doing a lot with Qt. When I last used Mandrake I had known nothing about building large Qt based C++ applications and had only basic experience with programming in general.  I didn't use the IDE back then, so today I'm very interested to see an open source IDE from 15 years ago.

KDevelop 1.1 is incredible to start using, because again what caught my eye were those big blocky icons and ugly generic font for the text editor. I created a new project using a wizard and took a look at the Qt 2.1 MDI project. It was really cool to see some old school Qt code and how similar it is to what is currently used today, but unfortunately GL is missing from the default install, so I couldn't see QGL in action. I'm actually lucky that at least KDevelop was included by default on the install CD, along with Qt development libraries. After playing with KDevelop a bit more extending the sample project I started to get a feel for how incomplete the editor is today compared to any modern IDE. At work recently I recently built a Python editor and runtime environment, and I already have some more advanced features than this version of KDevelop sorely lacks (which were probably not yet imagined at the time).

Seeing that this project is just to poke around, and that I am not actually planning to ship Qt 2.1 software, I reluctantly decided to stop playing and move on.


Just to get a wider feel for the system of the day I decided to search for these popular tools of the day that survived to today. Seeing as though I'm just getting my feet wet with python, I decided to fire up the interpreter in an interactive session and found out that this version is at 1.5.2. I really don't know what that means for the language in general: what changed from 1 to 2? I haven't even learned the difference between 2 and 3, and those are still in use today. All the basic stuff (the stuff I know) seems to work! Next I start up a Perl interactive session just to check out the version number, 5.6.0, and then run locate to find mod_php3 using version 3.0.16.

Final thoughts

I really liked reminiscing on my early days, especially with this experience that I had today. I didn't know if I would recognize what I was seeing but with some time it all came back. It was also quite fun to be able to now be able to use and understand the entire system, where as when I was first introduced to these new tools I was unable to utilize them. However, times have changed and even though I could probably hack away at this all night, my time is probably best spent on real projects on modern software. With it's nostalgic look and feel I really wished I could just keep using this as my daily dev box, however I already spent more time than I thought I would just loading and screen shotting so I decided call it a day. 

I never did resolve the network issue with VirtualBox, but when looking for solutions I came across a website that hosts old Linux CD's. They even had a listing for of Mandrake 7.1 disks but unfortunately the files were missing.

On a final note about Mandrake: Mandrake Linux doesn't  exist anymore, and had since been re-named to Mandriva. And since 2015, Mandriva has been liquidated. I think this was quite unfortunate, since Mandrake was one of the staple distributions that sparked interest in Linux and free software for a long time, but looking back now I realize that even if your roots were bleeding edge- the landscape is now completely different than it was back when I first got started.

No comments: