12/06/2009

Learnx Linux

I did it. I built myself a NAS (network attached storage).

This is something I've wanted to do for over a year. I have all of my files: text, photos, music, stored on an external hard drive. This is a really bad idea. If (or as they say, when) it dies, I will lose everything. There's numerous different "solutions", etc, etc, depending on who's trying to sell you what. I've always wanted to build a home storage server, because 1) I like learning about and tinkering with computers, and 2) it is much, much cheaper and flexible than buying any sort of pre-built thing.

Oh, and I almost forgot: 3) building my own interconnected computer system let's me litter computer parts around the house, string wire everywhere, and stay up late typing obscure things into a computer, giving me a feeling of awesome amateur power somewhere between hacking a friend's Facebook and building your own secret volcano base.

And this is what I've done for like the past three weeks. I made a deal with my work, wherein they would let me take a bunch of old computers, if in exchange I would wipe all the hard drives. No problem. I went through, checked out what worked and what didn't, did a little Killdisk action, some troubleshooting with PuppyLinux, and carted a bunch of stuff down to Free Geek for donation and e-cycling. All of it was around '98 vintage, so nothing very exciting by today's standards, but still totally usable.

I commented during this process that it's amazing how even the rapid pace of computer technology has achieved a certain atemporal stasis. Sure, the cutting edge of tech is rocketing off towards the horizon. But in doing so, it has pulled the plateau along behind it, stretching it out. Pentium III processors, over ten years old, are still totally capable of word processing, surfing the internet, and playing music. Ten year-old technology ten years ago wasn't nearly so good. In pushing the asymptote, we've extended the base.

Which makes for amazing organizations like Free Geek. If you live in PDX and use computers, you need to check it out. The acceleration of the edge has also left all this enormous plateau's worth of tech at a very low dollar value. Often, people are just glad to be rid of it, like in the case of my work giving me a bunch of old computers. In steps Free Geek, who basically does the same thing I did, and then turns around and gives usable computer systems away for free, or almost nothing. You can go down and volunteer, and earn your own computer in almost no time. Or, you can check out the thrift store, and buy the pieces for prices that seem insane.

Despite all the free stuff I got from work, I still had to buy a bunch of pieces to make it work. I got a Dell Dimension L900 out of the deal, on which I'm trying out Ubuntu right now. (Here's the part where I nerd out a bit, so if you're not inclined, you may want to get off here.) I also got an ATI graphics card, a 40 GB hard drive, a CD-ROM, and a SATA controller card which I needed for the NAS, as well as a large aluminum box with plenty of fans. But I had to buy a monitor (before this, I only had a laptop), a new motherboard, a power supply, the SATA hard drives, and a bunch of connectors for the NAS. During the process, I acquired about fifteen cables I didn't need, and probably made the clerks at Free Geek wonder what the hell I was doing, coming in every day after another cable.

But the good news is, all in I've only spent $300, and this includes two brand new 1TB hard drives. I got the motherboard (Athelon XP 1500+) and power supply, which is basically an entire computer sans hard drives, for $40 bucks from Free Geek. The software on the NAS is Openfiler (free!). And now I have 1TB of RAID 1 storage space on my network. I could lose a hard drive completely, and just keep on trucking.

Of course, while the dollar amount is low, and all the resources for learning to do it are free and online, this doesn't mean it's easy. This being my first leap into the world of serious open source software (i.e. NOT necessarily working out of the "box"), there were a lot of snags, some hair pulling, desperate searches on help forums, and still, some unresolved problems. The world of Linux falls into two camps--those who argue in favor of it, and tell you how easy it is, and those who will never try it because they find it incomprehensible. The truth is drastically between the two.

The ultimate requirements for using Linux are having a doggedly analytical personality, real dedication to problem solving, and no expectations. Because then, after you've spent hours re-typing commands correctly, reading incomprehensible and poorly-spelled forums, and re-installing a few times, and you finally get it to work, you feel a rush of gratifying success, and rush online to write a blog post about it. There are the systems that have been designed to work out of the box, but these are almost Playskool systems, capable of going only from A to B (normally, Internet to Browser), and for a computer user who likes any sort of custom set-up, you are going to have to get dirty. I thought I'd download a couple free games to Ubuntu for fun... and then spent several hours learning how to compile GCC libraries. I still haven't got one of them to work. I bought a USB wifi adapter for the Ubuntu system without making sure I was buying one with pre-included drivers on the system... still not working. There were errors compiling the install program of the driver I downloaded, which I still haven't identified. And, my glee in getting the NAS online is tempered by the fact that I can't set up the correct user permissions other than "guest", because as near as I can tell, there is nobody out there who know how the hell LDAP works.

But hey, I have that analytical, glutton-for-syntax-punishment personality, so I guess it's just another Sunday afternoon. What else would I be doing... reading Heidegger? Besides, you aren't going to learn how to do anything unless you dive in and start making mistakes.

The hype about open source is true--the really amazing part about open source is that it is free, community driven, high tech. Software that normally costs thousands of dollars to develop is created, implemented, and serviced in online text-only chat forums between people who often don't speak the same first language. Open source is not about a "success rate", or "adoption percentage", or "uptime", though often these are all pretty good. It's about doing it because you want to, and because you care, and because you can. Craftspeople don't set up assembly lines, they work by hand on the nights and weekends, and don't mind how long it takes. Sure, they could buy their hand-made whatever at the store, but it wouldn't be the same. It's good to see this ethic, which is more about the joy of learning, craft, and experimentation than it is about quantity-based production, is alive and well even in the high tech fields. Just wait until medicine and genetics go open source. Then we'll have some fun.

The purpose of this post is really to hype all the sites and people involved that I have hyperlinked. Because it's really amazing that they spend so much time answering questions and writing FAQs, tracking down bugs, and releasing custom software packages on request. Although I got frustrated and times and still have a lot of work in front of me, without the people working the forums at these sites, I never would have gotten anywhere.

Puppy Linux (a small, and yet very pretty distro of Linux that can run straight from CD or Flash drive. Good for figuring out why a computer won't work right, and will run on almost anything. These guys are really dedicated to the distro, and spend a lot of time on it.)

Ubuntu (All-around awesome beginners Linux distro with LOTS of help in the forums.)

Openfiler (Free NAS and SAN software OS. Got some kinks, but it's still pretty slick.)

KillDisk (Just a free DOS utility. But you gotta love free stuff that does what it promises, every time!)

Free Geek (PDX used-tech shop and non-profit. If/when I am king, I will turn every Best Buy into a Free Geek. There are similar orgs in other cities.)

Thanks everyone, and keep it up!

No comments: