Monday, July 20, 2009

This Old PC

I had a question on the comments from someone who had read part of the blog asking what I thought could be done with an old computer. To quote in part:
what do I do with an older computer that still works,
but is  a bit behind the times? I have a "DJ" computer that has never been
hooked up  online. I am supposed to be able to use it for music, but it's just
sitting in  my closet, covered up sleeping. It is quite a bit slower than
the stuff out  there today, but works for playback in a Disc Jockey
situation. The drives are  fairly large for music storage, but the speed is slow.
He didn't specify what the specs were or what he'd like to do with it, so I'll assume he's just asking in general what can be done with it.

The difficulty is that it really depends on what you have in place already and what you're interested in doing.

Scenario one: dedicate the machine to a side purpose. I have a very old system that I use only for my iPod. In this particular case I scrounged 512 meg of RAM for it, a spare parts CD burner, and the machine already had a Celeron 2 Ghz processor, which brought it barely on par for running Windows XP without falling asleep while it booted. I installed AVG free edition and iTunes. Then I installed the free edition of VNC (RealVNC.com) so that the system can be remotely viewed from my primary computer (that way I don't have a monitor connected unless I'm troubleshooting something). It's slow as molasses, but it has enough hard disk space for my podcasts and song purchases; I don't need to play with a virtual machine in order to use iTunes with my iPod Touch. It's just a minitower sitting on the floor and for the most part is out of the way.

Scenario two: I have a couple of old systems that I have primarily for parts. This would assume that you have a bit of geek in you and space to waste, but I've used old systems to cannibalize parts for other machines; sometimes that 128 or 256 meg of RAM can make a bit of a difference, or the CD-ROM craps out of an ancient system and the one that now has no memory just happens to have a usable one wasting away.

Scenario three: you have some network in place and could use storage for files. One thing that can be handy to do is create a file server. This is especially nice if you have more than one hard drive in the machine, since it means you can set up something akin to software RAID to keep your information safe. Here old systems for a home network will probably max out their network connection before the processor is most likely going to be overtaxed. If you can, look at ensuring you have two large drives, then download a dedicated software package for turning the machine into a file sharing device; this is called a NAS, or Network Attached Storage. You then can set up the computer, disconnect the monitor and just set the CPU aside with the keyboard and mouse (unless you're lucky enough that the BIOS, the computer's internal configuration manager that displays all those cryptic messages at bootup about memory and setup and boot devices before the operating system comes up, is able to boot without belching errors without the mouse and keyboard...but I usually keep them attached just in case they're needed).

A good place to start with that type of project is the FreeNAS project. There's a Wikipedia article about it as well. Basically I'd look at downloading the liveCD and using an inexpensive flash drive to store configuration information; you set up the BIOS to boot from CD-ROM first and then let the FreeNAS configuration format the drives and handle everything from there. Just make sure you assign it a static IP address so when you reboot each time it has the same location on the network.

The interface lets you configure RAID, encryption, and various services from your web browser on another computer. Handy! There's a configuration guide on their download site.

Fourth scenario: you are curious about Linux and want to try it, but are afraid to try it on your "primary" computer for fear of screwing it up. Old computers are usually capable of running Linux. It may not be great; I mean, popular desktop distributions of Linux usually need at least 512 meg of RAM to work well, but I've had usable configurations at 256 meg of RAM. Also you won't get eye candy if you're using an old or underpowered video card. But if you're just trying to figure out if you'd like to give a distribution a serious try, this is a great way to have a small test run, and if you screw it up then who cares? You wipe and reformat it. On underpowered systems I'd first try out something like Xubuntu; it tends to be a little nicer on limited resources.

Fifth scenario: you have a young one you want to expose to technology. Full disclosure: my youngest is using scavenged, used Macintoshes. It's less prone to viruses, malware, and usually is easier to manage (in OS X you can easily limit the applications displayed in Finder, for example). My four year old loves his Macintosh. But you need at least a G4 with some oomph and at least 512 meg of RAM in order to enjoy any flash-based games and you'd have to make sure it has a DVD drive for them to watch DVD's. I managed to snag one for about $400 from a refurb shop, an old eMac, before finding a G5 system that was going to be recycled from a school. Schools may prove, especially over the summer, to be a source of old systems that are going to be scrapped. You normally have to pay to have systems scrapped out; legally, you can't just throw out old monitors or systems because of toxic metals and chemicals used in making them. Schools typically (legally) have to ship them to recycling centers or pay to have them disposed of, so if a citizen puts out word that they're looking for old systems you may find an old Mac lab being disassembled. Try making friends with a local Intermediate Unit if you're in Pennsylvania or if you're in New York I believe the equivalent is called a BOCES...they have tech people that know most of the tech people in surrounding districts and might be able to help you out.

But I digress...

If you're in possession of an old PC and you have a younger kid who could use a computer, you can refurb it yourself for basic services. What I mean is that if you have 512 meg of RAM, you should be able to install Ubuntu (or Xubuntu), Firefox (so they can use online games and services), Thunderbird for email, and a DVD drive will let them watch movies. They can't play Windows games but it would keep them safer online; old systems with Windows may invite malware, and on old hardware it won't take much to make that system simply slow to an unusable CRAWL. Using Linux means they can still use OpenOffice to type up reports and get basic schoolwork done; if they are technology oriented there are plenty of tools available for free programming as well. They should be able to play music or use cameras for photo uploads also.

If you're tech savvy you can even set up Secure Shell on the system (ssh) so you can remotely log in and help them or remotely perform updates. You might want to put it on a different port since there are scripts trying to poke and prod for vulnerabilities, but if you're comfy with tech (or want to experiment) it is extremely handy to be able to tunnel secure shell for both remote administration purposes or using the "remote desktop" viewing. You just need to configure it on their system and also configure their router to allow access on whatever port you want to use it on (or if it's in your own home's network you need not worry about the router). But this is a different topic.

Sixth scenario: You want to have a software router or firewall. Why would you do this? Well, I know you can most likely make do with the fifty dollar jobbies from Staples for doing most routing (although to be honest I've had horrible luck with a lot of the combo SOHO (Small Office Home Office) devices; these are units that have a switch, router, and wireless function built into one device. But that's another story. To tell you what the PC router can get you is basically more control. You can get charts that track your bandwidth use, tell you what is hitting your connection, control your network usage,...the list goes on. You can also create more custom rules for managing your network and with the right hardware even create what's called a DMZ; this lets you create a connection to a machine that is exposed to the Internet while blocking access to your own personal computers, so if someone hacks that exposed computer then your systems are still safe.

I personally just like having tools for monitoring my network traffic. You'd be surprised what you're actually doing on the Internet.

Like FreeNAS there are dedicated (TINY!) bootable disks made just to do this, for example Smoothwall (this particular distribution has a pay-for version with extra features and a free version). It had the ability to do other things, like run a proxy server to speed up your web browsing.

Similar projects include IPCop, M0n0wall, pfSense, and Shoreline. Some of these don't even need hard disks to work, just a liveboot CD or floppy disk! Just be aware that in order to use a system as a router or firewall you're going to need at least two interfaces; if you're on dialup you'll need a modem and a network card, if you're on DSL or some other high-speed connection you need two network cards. Fortunately they're relatively cheap now...you can get older cards that should be adequate for this purpose for $20 to $40 bucks if you look around.

Seventh scenario: if you already have a Linux system on your network, you can set up a remote boot system. This is not necessarily for the faint-of-heart...it takes some geek cred to do this.

There are two primary ways to start researching this. There are thin clients, and there are diskless systems. To understand the difference you have to think in terms of resources; computers run with displays, memory, and disk space and processors that do the actual work on the system.

Thin clients boot up and connect to a server to run applications. All resources...memory, the processor, disk use...are on the server. Basically if you're on the system that's acting as the server and someone else is using a thin client connected at the same time and they start watching animations from weather.com, you will have a slowdown on the system through no fault of your own. For this reason you need a server that is hefty in available horsepower, but the clients can be ancient PC's that can't even run Windows XP in order to work.

Diskless systems boot up and download their operating system from a central server, then connect up a shared drive over the network and load programs from that system. That means they're sucking down network bandwidth and drive access from a server, but once the program is running, all memory and processor use is on the local system. In other words the client machine doesn't need a hard drive to work, just a good network connection.

The thin client sucks all resources from a hefty server; a diskless system just mooches storage but uses its own memory and processor and display capabilities.

Either way it's easier to manage upgrades and updates from a central server. There are setups for making this easier if it were a project someone wanted to undertake. It may even be useful because it can be a way to roll out workstations to other locations around a home for other family members to get Internet access without getting a lot of expensive computers. Drawbacks...if the server dies, they all die. Also they are using Linux, so if you absolutely must use Windows, you'll need to see if you can virtualize it (which is probably not recommended since it would be resource intensive) or use a different solution.

There are howtos available for ubuntu for both diskless configurations and terminal servers. There are also distributions made for creating terminal server setups. Either way they should give some starting points for researching the topic, and if you have a terminal server then you can have truly ancient hardware that can be usable since they're using another system's resources to run. It may even be faster than what the actual hardware would support on its own!

Last scenario: if you happen to have an old all-in-one system laying around, use it for decorative furniture! Yeah, weird, I know. But still it has some geek appeal. For example, turn it into an aquarium. Or a couch. There are some sites that discuss turning old systems into things like an MP3 stereo or a free digital video recorder for your television, but you'll probably need to invest in slightly more expensive hardware to gain that ability. If you really want to stretch it you could always set it up as a digital picture frame to just cycle through home photos or set it up with some webcams and use it as a home security controller; in general it's not extremely taxing on the system once it's set up.

Those are all the suggestions I normally have for old systems off the top of my head. In general old computers alone aren't worth much...Macintoshes can have some value (even old G5's, PowerPC chip based, can go for several hundred dollars. I just did a search on Amazon and they have a PowerMac G5, dual 2 GHz processor, 512 meg of RAM, 160 gig drive, DVD-R/CD-R drive, for $777.77) despite being rather old, but most PC's of this age bracket would go for maybe a hundred dollars down to free. Legally, you can't even throw them out. Proper disposal usually means finding a recycler that will take it or contacting your local dump and ask them if they can take it or know of a company that can handle the disposal details (or contact your local public school or college's tech department and ask if they take home systems for recycling).

You do need to be aware that sometimes these systems will need some small investment to increase their life...sometimes some memory sticks can boost performance significantly, or it may need a cheap network card added. If you invest more than a hundred bucks it's probably not worth it. Also you may need to be careful of the hard drives...drive failure is a question of when, not if. You can get new drives for fifty to sixty bucks off Amazon.com; I use an external hard disk to make backups of my little iPod system in case there's a system failure.

Hope that helps answer your question! If you have any other questions feel free to ask, and if anyone else has suggestions for using old PC's leave a comment!

No comments:

Post a Comment