Sunday, April 4, 2010

Linux Distros & The Ultimate Linux Distro Listmaker

Lately I've been kind of obsessed with Linux, what with my plan for a 200+ OS system that I might try to get on the ground this summer, my recent confession of wanting to write my own OS one day, and just the inner nerd springing to life when I hear of all the forks and such.

When I first heard about Linux, it really was confusing to me because there were so many flavors. I didn't really see how they were connected, so me hearing about Ubuntu, Fedora, Mandriva, Gentoo, and all the other bajillions of distros kinda freaked me out. It's now that I have a bit more experience that I have become more intrigued about how they link together.

Like for example, I totally didn't know that most of the (non-commercial) Linux distros, from the past to present, are based off three major bases: Debian, Slackware, and Red Hat. If you narrow it down to those, it really kind of helps a newb to get an idea of what there is available. Then you look at the next 'biggest branch on the tree', like Ubuntu for Debian, SUsE for Slackware, or Fedora or Mandriva for Red Hat. [EDIT 4-5-10: So apparently all of those have since diverged from their roots, but still...] And then, in turn,  you look at the branches of those, and then the branches of those, and so on and so forth.

I realized that I've really only traveled the Debian branches. My nerdy Linux friend suggested Ubuntu for my first distro and the first distro I ever laid my hands on was Xubuntu (because it's supposedly lighter). Then I've tried other forks, like Crunchbang, EasyPeasy, more recently Jolicloud, and the lone KNOPPIX fork, Damn Small. As for Slackware, I've actually tried a few more than I thought: Slax, Wolvix, DeLi, and fluxflux, all which -as I recall- were actually my favorites. And as for Red Hat, I don't believe I've actually tried any. Why? I dunno.

Enough stalling. I was a little interested in writing a "Family Tree" of Linux distros, so I sat down a few days ago and started coding. At first it was just to feel my way through, "How long will this take me to write?" kinda deal, but it really came amazingly fast, as it's a very simple idea, I already knew what I wanted, and things like the INI file layout and GUI interface came very smoothly, unlike other times I've tried to code.

Really my favorite part about this was recursion. I like to think that I learn more every program I write, even if it's something stupid. (Like Listmas....) In this one particularly, I used a ton of recursion. I don't know why, but I love recursion. It's kind of hard for me to understand, and I'll admit, I got hung up for a while wondering how to make a certain function work, but when I finally figured it out, just tracing the path in my mind gave me great glee.

So anyway, it's still being worked on, but it really only took me like 2 days to write. Ladies and gentlemen, nerds and nerdettes, I give you: The Ultimate Linux Distro Listmaker (beta).

(The checkmarks mean if it's still active, the colors mean different types [networking, netbook, live, etc, though I don't know how to categorize some], and yes, some of the colors are hideous, but I'll fix it later.)

Linux flavor test taster,

No comments:

Post a Comment