The Hardware
![]() |
Small Form Factor PC
A fairly powerful SFF PC can be purchased for $599 from independent stores and
online PC vendors. While any size PC chassis can be used, I prefer the SFF to
keep the box as mobile and unobtrusive as possible. (Shown: The Shuttle SS51G XPC)
Keyboard-Video-Mouse Switch
Most onboard video adapters still include standard VGA connectors, so the two-port
KVM should use VGA unless the DVI output is available. However, KVMs with DVI
adapters tend to be 20 percent more expensive than their VGA counterparts, so
I prefer the DVI to VGA adapter route to keep costs down. Also, most PCs still
use PS/2-style adapters for keyboard and mouse input, so most standard KVMs,
such as those from Belkin or Linksys, should be adequate for the switch. I recommend
a four-port KVM, as its not much more expensive than the two-port minimum,
and it also has room to grow for another PC or Mac device. I prefer a KVM switch
with built-in key pattern to switch between devices so I can keep the switch
and the cable
![]() |
Maxxed-Out Mini
The Mac Mini comes with a number of configurations, but due to the units
encapsulated nature, I recommend the fastest processor and most memory your
budget can allow. Unlike the SFF PC, the Mac Mini isnt designed to be
opened by anyone except a certified Apple technician, and even then, the cost
to change any of the components could likely be more than the initial purchase.
With this in mind, go for a 1.4 Ghz G4 processor with 1GB DDR RAM and an 80GB
hard drive. Because the Mac Mini doesnt use PS/2 connectors for its input
devices, use a PS/2 to USB converter between the Mac Mini and the KVM cable.
![]() |
Plug In and Power Up
Once all the cables are plugged into their respective
locations, power up the display SFF PC and Mac Mini using the KVM button or
keyboard combination to switch between the two boxes.
![]() |
The Software
Now that the hardwares in place, software development configuration is easy.
Mac OS X Developer Tool
The Mac Mini doesnt come with the developer tools preinstalled, though
a simple insertion of the developer tools CD-ROM included with OS X will install
the latest command-line compilers and Apples own Xcode development environment.
Windows XP
Most PCs already have Windows XP preinstalled (XP Professional is my preferred
Windows development client).
Linux
Nearly every major Linux distribution supports adding a Linux OS as a dual-boot
configuration. I prefer Mandrake due to its robust hardware detection and media
support, but any x86 Linux distribution will do.
Virtual Machine
Simultaneous Linux/Windows operation is best achieved via a virtual machine.
I prefer VMWares Workstation for its stability, market-entrenched longevity,
industry recognition and, most importantly, VMs that can run within either a
Linux or Windows host, depending on which of these operating systems is the
preferred, primary OS.
Web Browser
Installing Mozillas Firefox on all three systems keeps the browser views
identical among operating systems.
Database
If data stores are required, MySQL is the easiest database to install and work
with; its also the most popular, though my personal open-source database
of choice remains PostgreSQL. Unfortunately, it simply doesnt have MySQLs
market momentum due to its talented contributors and user communitys disinterest
in commercial gain. It also lacks the breadth of GUI tools that are available
for MySQL, making it more prone to command-line thinking. And unlike MySQL,
PostgreSQL lacks a native installation on the Windows platform, relying instead
on the Cygwin DLLs to translate its Unix-based heritage. Regardless, both MySQL
and PostgreSQL will serve all three operating systems effectively. For those
commercially inclined, Oracles 9i and 10g DBMS are also
fully supported by the company on these three platforms.
Cross-Platform Languages
The selection of cross-platform development tools aligns primarily toward the
open-source software collection by the very nature of open compliance, regardless
of target platform. Some of the best development tools for these three platforms
include:
- Perl and ActivePerl; install on Windows.
- Python and ActivePython; install on Windows.
- Ruby; PC or Linux installation.
- RubyCocoa; an Objective-C/Ruby bridge framework.
- Python Objective-C/Python bridge.
- Camelbones Objective-C/Perl bridge framework.
- C/C++ using the GCC; install cygwin on Windows.
- Objective-C using GNUstep; based on OpenStep.
- Java; install on Linux and Windows.
- Eclipse IDE: 3.0 or higher; install on all platforms.
Traversing the Trifecta
Switching among the running systems is most comfortably performed via a hot-key
sequence, dependent on the type of KVM used. Once the pattern is etched, flipping
among machines is lightning fast and intuitive. Furthermore, you know that raw
energys just waiting to be called upon in each box. I prefer to run Mac
OS X servers preconfigured JBoss and Tomcat application servers, use Macromedia
Dreamweaver MX 2004 to code the JSPs, and view the result of the output on the
Linux version of Firefox. Configuration success!
Mike Riley is a Naperville, Ill.-based computing consultant. Reach him at [email protected].