At the core of my tech toolchest is my choice of operating system: Linux. I’ve used Linux as my primary desktop since I built one on a disused PC at my job at Vodafone in 1996, running Slackware. I first installed it on a laptop in the second half of 2000, dual-booting to Windows for when I needed specific Windows-only software, most often games. I ran Debian for a while, and moved to Ubuntu in 2006.
Linux has been extremely useful for me, because all of the tools I needed to do most of my job were available, for free. I had various programming languages, compilers, linkers, etc., web-servers, databases, as well as a myriad of technical diagnostic tools, like wireshark (nee Ethereal), Nessus, and a lot of specialised tools I wrote myself (like libsnmp, seafelt, a variety of NetApp diagnostics and reporting tools).
The only non-Linux tools I’ve ever really needed have been MS Office (Word, Excel, PowerPoint), Visio, and MSProject. And the reason had nothing to do with what the tools themselves did, but the fact that others used them and collaborative work meant shipping .doc and .xls files around. For other people to immediately munge all the styles into oblivion, sure, but that’s the reality of big corporate life. Collaborative manuscript editing in an enterprise corporate environment is a rant for another day.
Now I have Ubuntu on my laptop, desktop, and multiple servers, and my wife runs Ubuntu on her laptop. This choice necessarily influences my choice of other tools, which we’ll be running through in subsequent posts.
I also maintain a couple of Windows 7 machines, for two main reasons. The big one is games; when I (very occasionally) find time to play a game, the one I want to play invariably runs on Windows. I haven’t had a console since my PS2, and even that saw more use as a DVD player than a gaming console. Happily, I play games on a lag of about 2-3 years from release, so they’re nicely cheap when I buy them, and my not-quite as lagging hardware runs them really well.
The second reason is for specific corporate software reasons, like MSOffice and Visio files that I occasionally need to edit for clients. I keep a Windows install on a tight leash inside a virtualbox VM, behind various protective measures to keep it virus and malware free. If something happens to it, I can always nuke it back to a known clean image.
Overall — though it hasn’t been without its issues — I’m pretty happy with my choice. For every piece of new shiny software I miss out on, there’s generally been a pretty good Open Source equivalent (with some important exceptions that I’ll cover) that was good enough for my needs. I’ve never had to re-install everything from scratch to fix a driver issue or software bug, and in the past couple of years, the quality of desktop software for Linux has vastly improved. The few times I’ve needed Windows, the VM has been fine.
Linux as a desktop is still a choice for the tech-savvy enthusiast, not the general populace. Though my wife is decidedly non-tech, I do all the tech support, but she has no trouble navigating around what is a pretty standard windowing environment, really.
A year or so ago I gave OSX a try, but didn’t warm to it. As a first choice, it would be fine (and given the Unix core, preferable to Windows for me), but I have an entire ecosystem of tools and processes built up around Linux now, and the benefits of switching just weren’t substantial enough to be worth paying the switching costs.
I’ll be sticking with Linux for the foreseeable future as my primary system, and keeping a Windows install around for games and occasional very specific software requirements in a virtual machine.