So I have decided that it is time to finally overhaul my existing development environment at home. There are a lot of reasons behind it, but to put it simply, my infrastructure at home is meeting my needs, but it has me nervous and frustrated. Currently, I have two machines at home: an almost mid range eMachines (Sempron 3200, 1 GB RAM) running Windows XP Pro that I use for day-to-day work, development, and mild gaming, and an ancient white box (Athlon 1900+, 256 MB RAM) running FreeBSD 5.3 for *Nix development work and as a server for personal Web sites.
The whole idea of replacing my systems has been in the back of my head for a while. I want the server to be running a RAID 1, because a drive failure on that machine will make my life extremely miserable for a day or two. It is running a very old version of FreeBSD (5.3) that was installed as my first real foray into *Nix systems administration nearly two years ago, and a lot of mistake were made in the configuration of the system. Upgrading the OS does not seem like a great idea under those circumstances; I have things installed from ports, and things installed via make install, and between the two, I am really not sure that I want to find out what will happen on a build world. And the motherboard does not have a video card built into it, and I do not have any spare video cards, so working on it involves SSH (which I have no problem with, but is useless in case of hardware or boot problems), or turning off both PCs, removing the video card from my desktop, putting it in the server, and restarting it, which is hardly ideal.
The desktop PC is good enough to write and test code on, but it is incredibly slow. I cannot blame the system itself; if I was just doing the day-to-day work (email, Web browsing, the occasional game) it would be just fine. It is the development work that is killing it. VMWare, Visual Studio, the 2 GB text files I sometimes load into a text editor, all of these things just do not happen so well on that system. Even worse, it has a video card which tends to reset itself doing period of high stress. It is certainly not "Vista Ready" for anything other than acting like XP with different colors; the Aero interface is out of the question.
So I am getting in the final stretch of figuring out what my new infrastructure if going to look like. My requirements for the desktop PC are:
* Intel Core 2 Duo CPU, 6400 at a minimum, 6600 preferred
* 1 GB RAM, with room to grow to 2 GB or 4 GB when Vista is ready
* Multimedia card reader (optional)
* Silent case
* Excellent video card
* Floppy drive
* SATA II storage system, with RAID 0/1 capabilities
* Extremely fast hard drive for the OS and applications, either a very fast single drive, or a fast RAID 1
* Extremely reliable hard drive for data storage, in the 160 GB 200 GB range, RAID 1 preferred
* Dual optical drives, 1 DVD dual layer burner, one plain DVD drive (minimum)
* Gigabit Ethernet NIC
* Windows XP Pro
And the server should look like:
* Adequate, modern CPU
* 512 MB RAM minimum
* Fairly quiet case
* Basic optical drive (DVD or CD-ROM)
* Basic video card
* Floppy drive
* Extremely reliable storage, 500 GB, RAID 1
* Gigabit Ethernet NIC, possibly a second 10/100 NIC
* FreeBSD, Solaris, or Linux
Additionally, I am aiming to put the following items into my life:
* 20" Widescreen LCD monitor
* 4 port KVM
* 8 port Gigabit Ethernet switch
* New mouse
* Ergonomic keyboard
The plan is to achieve the following goals:
* Significantly improve the ergonomics of my home work environment to halt and hopefully reverse the damage that computing has done to my body
* Redundancy of data on disk and near-line access to backups
* Refresh the server to be much less kludged together
* "Vista Ready" desktop
* Not need to purchase new hardware for 4+ years
* Top-of-the-line performance on the workstation, well above average gaming and multimedia performance
* Able to run virtual machines without too much of a performance hit for testing, debugging purposes, particularly for product reviews and experimenting with *Nix
* Gigabit Ethernet for fast access across the network
* One monitor for "utility" purposes, particularly when watching movies or playing games, or testing and debugging code
Currently, I am looking to use a pair of Western Digital RE (not the RE2 drives, they are just a touch too expensive) or possibly Hitachi TK7500 drives in the 160 GB capacity range for the main partition in the workstation, and a pair of less expensive, 250 320 GB drives for data storage. The server, believe it or not, tends to more or less sit there. It will have a pair of 80 GB drives in a RAID 1 to work on, and a single 500 GB drive for backup purposes (both itself and the workstation). I already have more than enough optical drives sitting around. The workstation's video card will be extremely high end, and probably ATI because I can get an outstanding deal on an ATI video card.
The RAM will be the best stuff I can get my hands on, mostly likely the Crucial Ballistix RAM at 800 mHz, and most likely 1 GB at first, and upgrading to 2 GB when I install Vista. The workstation's motherboard will be an Asus P5B, and the CPU will be either an Intel Core 2 Duo 6600 or a 6400, depending upon my mood and price when I make the purchase.
The only really tough problems are the cases. For the server, I am tempted to just take an existing case, line it with Dynamat or underbody paint, and be done with it. That should cut the noise levels dramatically while not impacting heat dissipation. I have no clue what to do with the wokstation, but a MicroATX case just will not be big enough. On the other hand, the typical tower case is too big. Why do I need five 5.25" external drive bays? I really only need two of them, and four internal drive bays (minimum).
Astute readers will notice that both machines will be getting floppy drives. There are too many utilities that require a floppy drive out there still, like Windows System Restore. And as anyone who has encountered it can tell you, it is quite disturbing to discover that Windows installation requires a floppy drive for those third party drivers when no one puts a floppy drive into a system at this point in the game.
I am going to build slowly, buying the things that immediately help me and never go down in price (NICs, switches, KVM, cases, input devices, etc.) up front, and then slowly doing one system at a time.
Any suggestions for me from the folks out there?
Justin James is an OutSystems MVP, architect, and developer with expertise in SaaS applications and enterprise applications.