MikeBD

weblog for MikeBD.com. Musings of a 24/6 techie (Software Architect / Technical Manager) family guy struggling to find meaning, balance and strong design / implementation supporting excellent user experiences.

Your Ad Here Your Ad Here Your Ad Here

Wednesday, August 02, 2006

Got me a new PC - part 1: hardware / OS platform

I tend to go a long time between PC upgrades, generally preferring to plunk down for near-top-of-the-line systems / components and riding them for 4-5 years. My progression of PCs has gone something like: Commodore 64, Intel 386, AMD K6, AMD Athlon XP, Intel Core Duo.

I built the 386 and K6 machines myself from wholesale parts. The Athlon was sourced from the same wholesale vendor but I chose to let them put it all together for me. The new guy is a Dell Laptop. Seems I've come full circle on sourcing since the Commodore 64, I just hope this laptop will not go through as many power supplies...

The Athlon is still running Windows 2000 Professional, which is an install that was carried forward from the K6. The laptop has Windows XP professional. Both of these serve as host OS to VMware virtual machines that run various flavours of consumer Windows releases (for testing software development and installs) and Linux. VMware can be configured the other way around (Linux host, Windows guest) but I prefer to give Windows the native view of the hardware as it is more resource intensive.

With all the recent hype around the Intel Core Duo Macintosh machines, I was really tempted to go that direction with this purchase. I will likely need a Mac Mini or iMac in order to test web development on OS X. However, it just seems too soon to bet on the new Apple hardware, I think it needs some time to mature.

From a productivity point of view, I am happy to defer the Mac purchase as I don't have loads of time to spend learning and configuring a new toy - err, development environment. Since most of my development lately is server side / browser based client, any learning on the client OS configuration of the Mac will offer little savings for my professional skills development.

This PC will be my primary development and customer demo platform for both my independent consulting (Benilan - custom business software, database and website development) and day job (Avema - telecom expense management) efforts.

So, with all that in mind, I went for the best Windows laptop (D820) I could spec out in my budget. The primary needs I wanted this machine to fulfill are basic office productivity, Java / LAMP development and possibly some MS Visual C++ 6, VB 6 and C#.Net development.

My currently active development projects are Java and PHP4 / MySQL work. I would like to do PHP5 and Ruby / Rails soon.

The high level software stack on the new machine looks like:
It is possible to facilitate most of LAMP development (pseudo-Linux, Apache, MySQL, PHP) natively under Windows or through the cygwin emulation layer. However, I prefer to use Windows + cygwin as a "thin as possible" client layer to services running in a true Linux environment.

In the past I have run RedHat linux many times and was looking forward to trying out Fedora. However, the draw of Ubuntu's famed ease of use and administration drew me in. In less than 1 hour I was able to install VMware, download Ubuntu, install Ubuntu and login :) How far we've come from the days of FTPing Kernel sources and compiling Linux by hand...

My experience installing software packages for Ubuntu using apt-get so far has been a true joy. Nothing I could ever have said about previous experience trying to align library versions and other dependencies in RedHat while compiling projects from sources. The Ubuntu tag line - "Linux for human beings" is holding up nicely so far.

Since I am running Ubuntu in a virtual machine and mostly for server side tasks, I am happy to leave the whole Gnome / KDE debate to others and run a minimal X install with basic terminal and file manager utilities. Cygwin serves as my X server and hosts terminals from both the Windows host and Ubuntu guest operating systems.

There are many resources available to help with installation of any of the above. So rather than recreate the wheel with HOWTOs, I will focus on the what and why of my configuration for those that are interested and may like to follow along at home :) If you get stuck with your installation and would like me to comment on how I got stuff working, feel free to use the comments or contact me directly. I will write up the answers to any common questions that seem to lack readily available reference resources.

Up next: command line fun...

0 Comments:

Post a Comment

<< Home