The Story of the GNU

Last Thursday I received a package from the Free Software Foundation (FSF).  Along with a nifty t-shirt, I ordered my stuffed gnu.  Now the penguin on my desk has a new friend. The reason for the penguin is obvious, I am big fan of the GNU/Linux operating system. The penguin is the de facto logo and mascot of Linux.  But what is up with the gnu?

Well before Linux got off the ground or even existed, Richard Stallman (RMS) started the GNU project.  GNU stands for GNU is Not UNIX. Yes, GNU is a recursive acronym, one of the many cute jokes circulating in the hacker community.  The goal of the GNU project was to build a working and totally free (as in freedom) operating system.  RMS settled upon porting UNIX, not because UNIX was the be-all-end-all of operating systems.  Rather older versions of UNIX came with source code, and so that the new OS could be based off studying the way the old System V UNIXes  worked.  The project progressed well with the development of an entire toolkit: source editor (EMACS), compiler (gcc), linker (ld), and all the other necessary tools to build an OS.  Then came the difficult part of writing a kernel.  Unfortunately the original kernel (GNU Hurd) never got off the ground.  In fact to this day, the Hurd kernel is more or less in delayed development.  Fortunately at the time a kid in Finland-Linus Torvalds-started hacking on a kernel based off the Andrew Tannebaum’s MINIX source code.  Torvalds decided that the GPL would be an excellent license for his kernel.  And thus the dream of a fully viable free operating system started.

We have come a long way since those humble beginnings.  GNU/Linux looks like it will be the dominant OS of this century.  Also the ideals of free software are now fully realizable.  We still have a long way to go to running free software conveniently and comfortably, but we are getting there.  We should thank RMS and all the GNU contributers for building such a great free software toolkit.  Also thank Linus and the other kernel hackers for creating such a robust and flexible kernel.  Finally give a big thank you to all the contributers of the free software and open source movements for making this dream of free computing a reality.

Automagic Code Generation…?

Another morning. A bit wet but perfect for mlaren racing as the soil gets nicely packed and allows for better traction. Now if only I had the time to start upon that project…

As my systems programming and data structures exams loom ever closer, I continue in my quest of understanding the material better by hacking a few applications. I finally found one idea to test my knowledge of thread programming using the POSIX compliant thread libraries. It will be a simulation of a small development team using an revision control server. One of the servers will be use a locked commit (e.g. Visual SafeSource), and the other will use the better method (e.g. CVS, Subversion). Should be interesting…

For my other system programming, I plan on making a useful pipe, and redirect program. PNP (PNP is Not a Pipe) will let you to execute a command, and pipe or redirect the output to another program or file, while enabling you to see all the output being displayed to the screen.

As for my data structure work… I will get on it as soon as I can.

Talked to Kat yesterday shortly, but that definitely made my day. I promptly ruined my day by being lazy, which made my folks irk. Today, I plan to balance work and study a bit better, and not be such a lazy bum. One good thing was that I started on a Herculean task of figuring the GNU Autotools. Bizarre is the best thing to say, and I am so not used to using any of them. Like I understand Makefiles, and Ant build scripts perfectly. However, all this automatic code generation is making my head spin (not mention my headers).

Well I guess I better get back to hacking… lot of work to do, and so little time. *Climbs back into the cockpit of the mlaren for around lap.*