A few weeks ago, just before the MVP summit, I got a new Dell Latitude D820 laptop, which is now my main development machine. It runs far, far better than my previous laptop and overall I'm very happy with it. After waiting for a while and making sure I had transfered all my settings to the new machine, I repaved my Inspiron 6000.

This time I put the just released Kubuntu 7.04 (Feisty Fawn) on it. I was already familiar with Ubuntu previously (used 6.04 before) and definitely like it quite a bit. Many years ago I used to be a Slackware user, then switched to Red Hat and the Fedora Core, but I definitely got a bit tired of fighting Fedora every now and then. Ubuntu has worked very nicely for me, so that's what I'm sticking with for now. The only change I did was moving to Kubuntu, which defaults to a KDE desktop instead of the Gnome desktop found in the regular distribution. To be honest, I could live with either Gnome or KDE (and I used Gnome for years on most of my previous), but just thought about trying KDE this time.

I will say that Linux on the desktop has improved significantly over the years, and let's face it, it is pretty usable right now for someone like me. I was able to download the CD image, install and then use Adept Manager to get most of the packages I needed and configure it how I wanted. I had to fight a bit to get my wireless connection going (mostly because I was an idiot and missed the connection icon on the desktop panel) and again when configuring Samba, but overall things were pretty smooth. Even my no-name USB bluetooth adapter which was completely useless in Vista worked right away.

Ohh, it also turned out that X and KDE were pretty aggressive in correclty detecting the "ideal" DPI settings for my 1920x1200 screen: somewhere around 146 DPI. Ended up bringing it to a more manageable 120 DPI, as I got tired of feeling as if I was working on a 640x480 VGA screen :-)

Now, you may be wondering why someone like me, who does .NET and BizTalk development for a living might be installing Linux. Well, there are several good reasons, and one of them is not that I'm walking away from the Windows/.NET world (and I couldn't do it even if I wanted).

Reason #1: I was pretty sick of running Vista on this machine. All the hardware was supported and worked fine, but the machine felt overall pretty slugish, even though it's only 1 year old and is a good machine (2GHz centrino, 2GB RAM). I could've just go back to WinXP, but...

Reason #2: I'm currently working on a project that involves network connections. As part of that, I needed to have a Linux machine to test from. I've been using an Ubuntu Live CD on the Inspiron laptop for that (I could've used a Virtual Machine instead, but didn't have enough RAM on my main laptop for that), and while that works very well for my needs, it was getting a bit tiresome.

Reason #3: I'm currently involved in some projects were, again, interoperability is key. While I don't have to do any development myself on non-windows platforms directly, I do have to test that everything runs and interops. Having a Unix machine to test with is pretty handy.

Reason #4: Again, on this project, Mono is a potential platform we might be interested in. While I do have the mono tools installed on my main development VPC image, I do want to try this on other environments, and this seemed like a good oportunity to do so.

Reason #5: It always pays off to keep your skills up to date and being able to work with different environments and operating systems, and this is a good way to ensure that. Despite being a long time mostly-windows user, there are a lot of things I appreciate it about The Unix Way, including the many very useful tools around (there's a good reason I keep a lot of Win32 ports of common Unix tools on my windows machines).

Now, if only I could afford the money to add an Apple machine running OS-X to my collection... :-)

Technorati tags: ,

Tomas Restrepo

Software developer located in Colombia. Sr. PFE at Microsoft.