My New Workstation Build

In the past couple of weeks, I’ve built and tested my new workstation PC. My previous workstation was a Dell Precision T5600 (built circa 2012) with a 6-core Xeon, 24GB of RAM, AMD V5900 GPU, and 120GB SSD. The performance was still fine despite it being nearly a decade old, but it had two issues: It was looooooouuuud, and very power-hungry (200w at idle). So, it was time to be replaced.

Many moons ago I used to work in a computer store, so I’m used to building my own machines. Why didn’t I last time? Because I needed something in a hurry, and somebody had their old workstation for sale on Gumtree, and it seemed like a good deal (and for the most part, it was).

My requirements for the new build were as follows:

  • Silence at idle is a must. The fans can be audible, but not annoying, under load.
  • 16GB of RAM at least, with the capability of holding at least 32GB in the future.
  • On that note, it should be somewhat future-proof. I should be able to upgrade the motherboard, case, and storage independently of each other (something I couldn’t do with the Dell).
  • It has to look good sitting on my desk (completely subjective, I know).
  • At least 8 threads for compiling software with, but the option of replacing the CPU in the future.
  • Support for three 1920×1080 DisplayPort monitors.

And the parts I have chosen to make all this happen?

  • Case: Fractal Design Era ITX
  • PSU: Corsair SF450
  • Motherboard: ASUS ROG Strix B460-I
  • CPU: Intel Core i3 10100
  • RAM: G.Skill Ripjaws V 16GB (1x16GB) 3200MHz
  • SSD: Western Digital Black SN750 500GB

All up, the cost of the parts was around $1000 AUD.

One thing I found quite annoying picking the parts for this machine was that the vast majority of available performance parts were gaming-oriented. RGB lights plastered on everything and designed to look like something that has fallen off an army truck (which ironically does everything they can to avoid having RGB lights). In addition, most of the reviews online, both written and YouTube videos, were written from the stance of a gamer.

Take for example the Fractal Design Era case. Gamers hate this case as it has terrible cooling for the GPU. It’s a legitimate issue sure, but one only faced by gamers. If you don’t have a discrete graphics card in the system, then you don’t have this issue and the case is thermally fine. But the positive trade-off from that thermal design in the GPU area is that it’s an ITX case that looks like it belongs in a modern art museum. Look at it. It’s beautiful!

My other part choices are pretty standard. An i3 is more than enough (it’s got as much power as my old Xeon), 16GB of RAM is plenty (8GB would have been fine if not for Microsoft Teams), and 500GB of SSD boot drive (plus a re-used 4TB drive for storage) is fantastic and surprisingly cheap.

Did I meet my requirements? Yes. It’s silent. It only consumes around 25w at idle and around 150w under full load. I consider that a huge win. The new machine would pay for itself in 3 years with power savings alone. All the fans are zero-RPM enabled and will turn off under idle conditions.

It’s also future-proof. I’ve learned the hard way in my last two computer purchases (the Precision workstation mentioned above, and a Dell XPS 9350 laptop) that a lot of damage comes from tightly integrated components. If one thing breaks or is no longer up to the task, the whole thing has to go. The reason I bought the Precision was that the XPS only had 8GB of RAM, and I needed more so I could run SQL Server and Microsoft Teams at the same time (madness, I know). To mitigate the environmental impact, I bought the Precision second-hand, which raises a different set of issues. Now I had a powerful computer, but I also had a loud, power-hungry, and (yet again) non-modifiable system. This is one tiny peek into the world of throw-it-away consumable technology products.

In my mind, the best way to minimise the environmental damage of our computer use is to make sure everything we buy follows the established standards. They last the longest and can be re-used by interchanging with other things. Take for example the ATX standard. You could buy an ATX case from 1998 and build a modern system in it. In fact, people do that. It has changed that little.

My goal is to have this case and power supply for the next 10 years, and this motherboard for the next 5. I can see a CPU, RAM, and SSD upgrade in the future, but the core platform should last a good long while.

Cisco Catalyst 3550 Fan Mod

First of all, the usual warning: I take no responsibility for any harm done to yourself or your equipment if you decide to take my lead and mod the fan on your switch. It’s your fault for listening to some guy on the Internet you’ve never met.

A little while ago I acquired some old 3550 switches from a friend, and I haven’t used them much because they’re horrifically loud. Recently though, I decided to try and make them quiet enough to leave on in the living room. While I didn’t succeed, I made enough of a difference that I thought it might be worth sharing.

Please note that this mod isn’t going to work if your switch is a) under warranty; b) installed in an equipment rack with hot/cold aisles; or c) you don’t like taking the cover off equipment that has 240v inside.

Basically, the gist is this: The fan inside the switch has a cover on it. By removing half of the cover (the half that isn’t attached to the fan motor) and then mounting the fan upside down, you reduce the vibrations of the fan’s casing. Please also note that the outlet fan is thus turned into an intake fan; it takes cold air from the back of the router and blows it over the power supply unit.

The finished fan installation. Much quieter!

Research on the Internet (#cisco on Freenode and some forums) led me to decide that complete removal of the fan wasn’t an option, due to the switch overheating. I then wanted to replace the fan with a quieter computer fan, but the connector, though the same, is wired differently. Though I own (and can operate) a soldering iron, I’m also quite lazy. Turning the fan upside down (as suggested by a friend) was much easier!

Update 2011-08-17: I initially tried this with my non-PoE switch. Today I tried this with my PoE switch and tested it running a few PoE devices. It quickly overheated, so I don’t recommend this with the PoE (inline power) models.

The Ten Commandments of Computer Backups

I recently put a lot of thought into how I perform my computer backups. I’m one of those people that, while I would only be mildly pissed off by the failure of a hard drive, would be quite angry at myself if I lost even the merest hint of data that I wanted to keep. I used to perform my backups manually, using the Windows backup utility to back data up onto an external hard drive. It worked fine most of the time, but it definitely had process defects… the largest of which being, I had to remember to do it. It required my interaction to succeed (because I had to plug the drive in) and this meant there was always a human element involved. And humans are lazy.

So I set about designing myself the ultimate foolproof backup system. There would be multiple storage media, there would be encryption, there would be checks and validations and several custom-written applications. Then I started thinking, “what exactly am I protecting myself against?” It’s a good question. Here’s the list I came up with:

  1. I need my data to be safe from storage media failure. This may mean a single backup DVD being unreadable, or maybe my primary hard disk drives it’s head into the sand.
  2. I need my data to be safe from the failure of every drive of a particular type, simultaneously. It happens more than you would think, and the consequences usually aren’t pretty (whole RAID arrays failing, with all their ‘safe’ data, usually makes people a bit upset).
  3. I need to make sure my data can’t be stolen. If it is stolen (or people I don’t want reading my data try to do so) then it should appear as meaningless gibberish.
  4. I need my data to be safe from being corrupted while in storage, or while being transferred between storage devices.
  5. My data needs to be safe from theft or fire, which could mean every storage device in a particular location is unusable.
  6. My data needs to be safe from natural disasters, which could take out an entire city or state. Unlikely, but it’s the kind of thing most people don’t plan for.
  7. I need to be able to search for data that I’ve accidentally deleted, and I need back.
  8. If my data is anywhere not under my direct control, I need to be able to trust the people who do control them.
  9. I have to assume that if my backup hasn’t been tested (i.e. I haven’t tried to restore from it) then the backup isn’t any good.
  10. Finally, I shouldn’t have to do anything… computers should be smart enough these days to back themselves up.

That was all I could think of, though I’m sure there are additional points (leave a comment or email me, please!). Then I figured out what I had to do in order to prevent these situations from happening.

  • Points one and two are the easiest to solve, and are really what most people think of when they think of “backup” plans. The solution is simple: keep your data on multiple storage media, and those different storage media should be different types.
  • Point three is pretty simple to solve: encrypt everything you can possibly encrypt. This also partially side-steps point eight, because if your data is encrypted, you don’t have to trust them to not read it, you only have to trust them to not delete it. And you don’t need to trust them to not delete it if you’ve got the data in multiple locations (i.e. somewhere not under their control).
  • Point four can be partially solved by taking checksums of the data (which can be done at the same time it is encrypted). If a checksum doesn’t match, something has gone wrong and should be tried again or looked at by a human. There is the issue of what happens if the original data is corrupted. I put this in the too-hard basket for now, though the use of a RAID array can reduce the likelihood of this.
  • Points five and six are closely related, and also solved together. Every good backup plan should make use of off-site backups, where a copy of data is kept away from the original. Point five might mean keeping a copy in another building (or in my case, at my parent’s house a few kilometres away). Point six means I might consider going further. Ideally I’d like to store a copy of my data on another continent, just in case of nuclear war. If I survive, my data should too.
  • Point seven means I should be creating archives of data, so that copies of old files are kept so that I can go back in time. I would like to be able to choose copies from every day for a week, then every week for a year. After a year, I’m probably not going to remember that I once had a file.
  • Points nine and ten are quite possibly the trickiest. To solve them, I have to write automatic scripts to do all these backup tasks, then write automatic scripts to try recovering from the data and make sure it’s in perfect state. I also need to do this manually, just in case my scripts stop working (it is a computer, after all).

So there was my analysis of the backup problem done. Now for the design stage. My current working computer systems consist of a laptop (running Windows 7), a desktop (dual-booting Windows 7 and Debian GNU/Linux), and my home server (which runs Debian GNU/Linux). So I chose to do the following:

  • I decided that, since it was turned on all the time, my home server would be the primary location for all my treasured data. Every other location for my data would feed off that. My laptop and my desktop will be synchronised to my server using software such as rsync running on a very frequent schedule. Ideally I will code a switch into the script on my laptop that does syncs less often when I’m not at home, to avoid wasting bandwidth. This will give me three or four working copies of my data, depending on how implementation goes.
  • My server has two hard drives, and I’m going to use this to my advantage. The first hard drive has my primary working copy of data, and the second drive is where the backups go. So I’ll write another script that will take my working copies from my first hard drive, perform archival on them (using tar), encrypt them and checksum them (using encryption that money can’t buy) and copy them to my second hard drive. This gives me the ability to go back in time through my data, if need be. At this stage there are some things I won’t backup, either for legal reasons (I’m fairly sure the MP3 backups of my music collection shouldn’t be stored off-site under Australian law) or for practical reasons (videos are just too large to transfer off-site over the Internet).
  • I still haven’t solved the problem of off-site backups. To solve this, I’m planning to make use of Amazon S3, which is a cloud backup solution offered by everybody’s favourite friendly forgettable online book store, Amazon. Because my data has now been encrypted, I don’t have to trust them at all. I can just copy it across, mark it as being invisible to the wider world, and forget about it. I will also take up an offer from my friend Jamie to store my data on his NAS, which gives me another off-site backup location. I’m in Tasmania, Jamie is in Queensland, Amazon is in the U.S.A., and my data is safe.
  • I’m also planning to fit my server with a DVD burner and write a script that backs up my most crucial data (such as financial information and treasured memories) onto a DVD every week or so. Encrypted, of course. The only problem is that I need to remember to go and change the DVD over every week.
  • Finally, I have to write scripts to occasionally check the consistency of my data, so that nothing suffers from bit rot.

I haven’t completed the process of implementation yet (in fact I’ve hardly started). Already though, I feel safer knowing that I’ve thought about the process of storing my data, and that makes me feel a lot safer. Most people don’t think about backups until it’s too late, and perhaps maybe they should.

30 Days of Geek #16: First computer you’ve ever owned & your favourite ever.

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.

The first computer I co-owned (with my brother):

  • MSI MS-6161 Motherboard
  • Intel Celeron 366MHz CPU
  • 64MB 100Mhz SD-RAM
  • 4GB IDE Hard Drive
  • Floppy drive
  • CD drive
  • RTL8139B network card
  • And my first hardware modification ever: adding in a Creative Soundblaster (some 16-bit ISA model).

And my favourite combination ever:

  • MSI MS-6198 Motherboard
  • Intel Pentium III Coppermine 933MHz CPU
  • 1GB 133MHz SD-RAM (2x 512MB sticks)
  • 40GB IDE drive + 250GB SATA drive (which is still going strong as a backup drive)
  • Floppy drive
  • CD+RW drive
  • RTL8139D network card
  • This motherboard, as far as I can recall, had onboard sound

Note that these computers really are one and the same, since there’s a direct ancestry between them. I’ve never ever built a computer that hasn’t shared at least one major component with a previous computer (excluding laptop purchases).

30 Days of Geek #10: My primary computer.

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.

Today it’s all about my computer. Currently I only have one computer, a laptop. This is unlike quite a few other geeks, and very unlike myself in the past. I’ve had 3 or 4 working computers, plus lots of spare parts. I now have 1 working computer, and a few spare parts.

So, this laptop. It’s an ASUS UL20A ultra-portable laptop. Halfway in between a netbook and a full-sized laptop, it’s just that perfect compromise between portability and usability.

My Laptop (UL20A)
My Laptop

Specifications:

  • Intel CPU, 1.3GHz dual-core. Surprisingly, this actually feels really snappy. It’s amazing how we’ve got used to this natural progression in computing for faster and faster, when we actually don’t need it for a lot of tasks.
  • 2GiB of DDR2 RAM. This, on the other hand, isn’t enough. As this post is being published, there’s another 2GiB in the mail, to make a new total of 4GiB.
  • 250GB SATA HDD. Plenty. My movie collection is stored on an external drive.
  • 12″ screen, 1366 x 768 pixels. It would be nice to have more (isn’t it always true?) however this much allows me to get what I need to do done. It’s also a 16×9 aspect ratio, which is very nice for watching videos.
  • Windows 7 Home Premium 64 bit. See yesterday’s post for why.
  • There are some other specifications, but I can’t remember what they are, and don’t really care.

I’ve also been told to share a screenshot of my computer. Well, here it is:

My Windows 7 laptop running PuTTY
My Windows 7 laptop running PuTTY