30 Days of Geek #3: What does your day job involve?

I’ve decided to partake in Jethro Carr’s 30 Days of Geek challenge, so I’ll be writing a post a day on my geekiness for an entire month! You can find all the posts in one spot here.

I’ll answer this question in two different ways.

My “job” is working as a computer technician for a computer shop based in Hobart, Tasmania. I only work on Saturdays (at the moment, it used to be full-time), so that leaves me quite a bit of the week free for other pursuits. My work involves three main parts:

  • Fixing dead computer hardware. 90% of the time it’s a dead power supply, which is an easy fix, but occasionally there are some amazing problems that just shouldn’t happen. And those are a good fun learning experience.
  • Fixing broken Windows installations. 90% of the time it’s a virus, which is an easy fix, but occasionally there are some amazing problems that just shouldn’t happen. And those are a bastard. Most non-Microsoft application developers are stupid and lazy, it seems.
  • Dealing with customers on the phone. This is both the best and worst part of my job.

I’m fairly lucky with my work, in that I get paid to learn. 🙂

The activity that I spend most of my week doing is system administration. I don’t get paid much for this (not yet, anyway), but I’m continually learning and one day I’m going to have 1337-h4x0r skills (no, really). I have the feeling that system administration is where I will probably end up in my career.

Silence!

After months of complaining, researching components, finding good prices, and so on, my computer is now virtually silent… and that makes me very happy. When I built the most recent incarnation of my desktop computer, I chose pretty much the cheapest components available at the time. I even stooped so low as to use a triple-core processor (AMD’s Phenom X3 8650). Choosing components this cheap turned out to be a nightmare.

First of all, the CPU’s fan was insanely noisy. When the computer started up you could have sworn a Boeing 747 was in my bedroom getting ready for takeoff. It settled down after a few seconds, but it was still enough to make using speakers pointless. I resorted to headphones.

I fixed this by buying two components. The first was a rear case fan to exhaust more hot air out of the computer. I chose a Scythe model that ran at 800RPM. They are renowned for being virtually silent. Not without reason, too. The second was a Cooler Master Hyper-212+ heat sink. The heat sink itself is about 600g of solid aluminium with copper pipes running up through it. It’s very good at getting the heat away from the CPU. It comes with a fan attached to it, but I took this off. Since I had the rear case fan, and nothing else that produced much heat in the machine, I didn’t need it. So this solved the CPU noise issue.

The next issue was the power supply. The power supply I originally had was a no-name 550W power supply I bought for $50 AUD. I suspect it was worth about $5. The efficiency of the power supply was also questionable. In the end I bit the bullet and decided to buy a new power supply. I did a bit of research on the PC hardware site SilentPCReview, and found 3 power supplies that fitted the bill. One was Antec’s Signature 650w. This is basically the premium model from Antec. The ‘Signature’ in the name comes from the fact that the quality-control checker signs the power supply when they check it. It was a bit on the pricey side though. A similar power supply from a different manufacturer was  Seasonic’s X-650. This was cheaper, and even quieter, but had a few quirks that I didn’t really like. The final power supply, and the one I chose, was Antec’s Truepower 550w. It was slightly noisier than the other two, but not by very much, and was significantly cheaper.

After replacing these components in my desktop, I now have a machine that I can’t hear over background noise (the nearby highway, birds outside, etc) during the day. I can hear a slight hum during the night, but I usually turn the machine off while I sleep, so it’s not a problem. Overall, I’m very happy! I’ll never again buy cheap computer components… it’s very expensive.

Setting up a Home Server on (almost) nothing

There are any number of reasons you might want to set up a home server. Serving a website for cheap may be it. You might want to compile software, or backup your files onto another computer for safe-keeping. Whatever the reason, here’s how to do it.

Assuming you already have an Internet connection, it’s surprisingly easy. First, you’ll need a computer. For a server destined for a single user, you don’t need a lot of processing power (or a lot of RAM). This makes the whole process a lot easier.

The first place I would look is the local computer shop (preferably one that repairs computers). Ask them if they have any spare old computers you could have. Most would be willing to palm off any old computers they have lying around from upgrades (usually their customers don’t want the old computers back) for either free or a very low price. I used to work at a computer store as a technician. We had old computers lying around everywhere. Most of them were working fine. They may not give you the hard drive, but you can pick up one of those for cheap as well.

If you have a friend of family member working in a larger company (especially in an IT department), asking them for a computer might be fruitful. Most larger companies replace all their computers every 3 or 4 years, and as such usually have quite a few old ones lying around doing nothing. You can get amazingly good systems (usually with no faults or blemishes to be seen) if you ask around.

The next place to look would be a tip (or dump) shop. These are places (usually run by charities or co-operatives) that scavenge off the tip face and then sell what they find for incredibly low prices. You might think that all you’ll end up with is a 386 computer that’s been lying in bacon fat for the last month, but you’d be wrong. It’s amazing what people through away. My entire sound system (including high quality (albeit aged) speakers, amplifier, tuner and so on) was picked up at a tip shop for less than $20. All working perfectly.

The final place I would suggest looking for cheap computers (or the missing parts you weren’t able to find from a computer shop or tip shop) is eBay. You’ll be looking for incredibly cheap postage on the items (on computer cases this is a killer), so limit the search to places nearby that allow picking up the item. Don’t get carried away with bidding high for the ‘perfect’ server. Used computers are a dime a dozen on eBay, especially if you live in a more populated city.

Once you have a computer, it’s time to start installing some software on it. For this, you’ll need a monitor, a keyboard, a mouse, and an Internet connection. Once the base software is installed you’ll no longer need the keyboard, mouse or monitor, so you can borrow these from your main computer temporarily if you have to.

First though, you’ll need to get your hands on the software. The up side is that it’s all free. The down side is that there is no support line (though there are thousands upon thousands of sites where you can ask for help from other users). You’ve probably heard of an operating system called Linux (more formally known as GNU/Linux). Server environments are where it shines.

There are hundreds upon hundreds of Linux distributions (collections of standard software packaged up in a particular way). Each one has its own advantages and disadvantages, and I won’t dictate to you which is the best to use for a particular use. That said, there are a few that are worth your first attention. Names such as Fedora, SUSE, Debian and Ubuntu are well-known, and have been around for a decade or more (and as such, can be assumed to not be going anywhere anytime soon). If all you’re going to use your server for is storing files, a particular distribution (technically a different operating system, but the difference for most practical purposes is nil) called FreeNAS pops up. Check this out if all you want is to store files and nothing else.

The installation of most Linux distributions works thus (check the particular distribution’s website for details):

  1. Download an image (known as an ISO) of the operating system installer.
  2. Burn the image to a CD using image-burning software. For Windows, one I particularly like is called IsoRecorder.
  3. Insert the disc into the drive on the server, and turn on or restart the server (whichever is applicable).
  4. The disc will take a few minutes to start up, and after that just follow the instructions on the screen. Note that during the installation process the machine will probably want to configure network access. It’s best to already have the server connected to your modem or router before the installer starts.

After the installer is finished, you’ll end up with a bare server, ready for more software and configuration to take place. Read the manual of the distribution for details, but in general you’ll want to install some or all of the following software:

  • SSH. I recommend installing this so you can access the server remotely over the Internet. Port 22.
  • Apache or Lighttpd. These are web servers. Only install one of them. Port 80.
  • Samba. File sharing with Windows machines.

Note that I’ve listed these things called ‘ports’ in the list above. Why is this? These are configuration changes you’ll need to make to your router in order to let the Internet traffic see your server. If you’re confused, Google ‘port forwarding’ and the model number of your router for instructions.

You’ll also want to set up something called Dynamic DNS, which you can do at dyndns.org. This allows you to use a name to access your server (such as example.dyndns.org) instead of a dynamically changing IP address (such as 218.214.200.21, which can change every 24 hours or so).

There’s a lot to read and understand here, but once you’ve set all this up, it’s likely you’ll have a much greater understanding of how computers, computer networks, and the Internet all work. Oh, and you have a home server.