I wasn’t sure that I’d ever write this post, but many folks have asked my to blog about my Linux choices so here it is.

I’ve always been a bit of an OS junkie. I Loved CP/M, DOS, OS2, NeXT, etc. and I’ve been a Linux user for well over a decade, but I’ve never used it as my primary machine. If whatever I was using for fun didn’t live up to my needs I could always just switch over to my Windows machine.

In the decade that I spent at Microsoft, and even before, Microsoft got Desktop Windows right in very other release. Windows 98 was super, Windows ME was a dud. Windows XP was awesome, Windows Vista sucked. Windows 7 was really solid, Windows 8 looks….  well, I don’t think the trend is in any jeopardy.

When I joined Mozilla I quickly noticed that nearly everyone uses a Mac. Mozilla is a quintessential Open Source organization and you probably think that makes Mozilla anti-Microsoft. That was what I expected and it’s what Microsoft thinks and says about Open Soucers. On my first day at Mozilla the I.T. guys asked me “Do you want a Mac or a Win 7 Lenovo”?

I ended up with one of each. First I got an i7 Macbook Air. It’s a great piece of hardware and I love it’s feel and it’s battery life but I’m really not a OS/X lover. Since I’ll be building a good amount of guidance for ASP.NET developers I got a Lenovo W520 as well. When I received the machine it was running the Windows 8 Developer Preview but I upgraded to Windows 7

Still,  I really wanted to find out if I could be happy doing all my daily business on a Linux machine.

So, I backed up my office machine (a T61P that I purchased myself) and installed Ubuntu 11.10.

It’s been my primary machine since I started at Mozilla two months ago and I have to say that I’m surprised at how painless the transition has been. I have not HAD to use my Windows box for ANYTHING in that 60 days.

Here’s my desktop.

Ubuntu was very easy to install on my Thinkpad and I kept the default Gnome theme and found a dark wallpaper that I liked.

The big trick to learning to like Linux is to commit to stick with it. There are so many cool features in Linux itself and the applications, but learning them takes time. Many things are more “techie” than in Windows, which can mean they’re more powerful but can also mean there is a greater learning curve.

For example, my Dad could probably be happy using Ubuntu if he only had to install software from the Ubuntu marketplace or event the Synaptic Package Manager but if he needed to install something manually (as I’ll write about shortly) and have to open a shell or a Nautilus instance as super user, figure out permissions and run programs without clicking on them, well those things would probably be a show-stopper.

For me, I’m slowed down a bit as I’m doing certain things for the firs time, but I’m getting the hang of it. It’s certainly less frustrating to me than getting around in Windows 8 Metro.

But let’s talk tools.

All of the software that I’m going to talk aboiut below is available either in the Free Ubuntu Software Center or through the optional Synaptic Package manager. (Unless I specify otherwise.)

Office

LibreOffice, which is a fork of OpenOffice, comes installed by default on Ubuntu. I used Microsoft Office every day and frequently talked to folks about how Microsoft Office was better than OpenOffice. MS Office is more polished and the individual tools in the suite each have more features than their free and open alternatives but much to my surprise, I haven’t missed anything. I use Writer (Word) and Impress (PowerPoint)  every day. Writer’s formatting features took a little getting used to but I’ve made the transition with relative ease. I’ve used Calc (Excel) as well, but not for anything serious so I can’t relay speak to how it compares to Excel.

Mail

Life runs on email. Lots of folks at Mozilla use GMail but I like desktop clients. While there are many email clients on Linux to choose from, I quickly narrowed down my list to three choices and now use two programs daily.

Here are the three on my short list.

Evolution is probably the best known Linux email client and it is a fine one, though configuration is a but kludgey.

Mozilla Thunderbird is my favorite email client and I use it, along with the Lightening Calendar plug-in on Windows.

On Linux, however, manual installation is a pain and the release channel for Ubuntu lags behind a bit. As of this writing the Linux release version of Thunderbird (7.01) is incompatible with the latest version of the Lightening Calendar plug in. I’m still using Thunderbird on Linux though, but not with the Lightening plug-in.

I like the display better than any of the other options but have to switch back and forth to see my calendar.

The Zimbra Desktop is one I hadn’t heard of until I started at Mozilla. Zimbra is made by VMWare. The Zimbra Desktop is a free alternative to Microsoft Outlook and there are versions for Windows, Mac, and Linux. They also make an Open Source alternate to Microsoft Exchange Server. Since Mozilla uses the Zimbra Mail Server, the Zimbra Desktop client works very well.

Since the current version of Thunderbird and the Lightening Plugin aren’t in sync at the moment I’m using the standalone Mozilla Calendar Application “Sunbird”.

Dev Tools

Of course my browser is Firefox but one of Firefox’s comparative strengths has always been it’s developer features and available developer extensions. The Firebug and YSlow extensions to Firefox are standards in my Web Developer’s toolbox on any platform.

Now for the Editor / IDE argument.

If I coded 10 hours a day and didn’t build guidance for other developers I’d probably just use EMACS. But I don’t code 10 hours a day and I do build guidance for others so I’ve just never gotten good enough at EMACS to be really productive.

That has made me an IDE guy. What I use every day depends on what I’m doing. I’ve used all the greats.

  • Aptana Studio
  • Netbeans
  • Komodo
  • Eclipse
  • Zend Studio

They are all good and I continue to use them but right now I’m doing HTML5 / JavaScript work and experimenting with NODE.js

Though I like, and still often use, Aptana, my daily use HTML/JavaScript dashboard is JetBrains WebStorm. Right now it’s on sale for $35 and there is a 30 day trial. I paid $69 and find it well worth the money.

Here’s a snapshot of it fired up.

CSS editing was a worry point for me. I’m very partial to the TopStyle CSS Editor.

Just for fun I tried installing Topstyle, which is a Windows program, on Linux.

Ubuntu (Linux) has an optional component called Wine. With Wine you can install many native Windows programs and run them on Linux.

I was able to install and run TopStyle without any problems, but I did also find a good native CSS Editor For Linux – CSS Ed.

CSS Ed is free and installable via the Ubuntu Software Center.

There are a couple of other editors that I use on a daily basis that I’ll share with you. WebStorm is great, but it’s written in Java and so it’s fairly heavy weight.

Geany is a great editor.

Geany is fee and available from the Ubuntu Software Center. Notice in the screen-shot above the embedded Linux command shell and the really great JavaScript reflection represented by the tokenized breakdown of the loaded JavaScript file visible in the left side panel.

I also use jEdit.

jEdit is fee and installable from the Ubuntu Software Center. One of the more interesting things about jEdit is the rich collection of plug-ins that are available.

Audio / Visual

IMAGES – The most popular image editor for Linux (by a huge margin) is GIMP. (Free and available in the Ubuntu Software Center.) GIMP looks to me like Photoshop. Since I’m not a Photoshop user, GIMP has taken some getting used to but I find that I’m able to muddle through and do the basic editing that I need for my work. Only time will tell if it continues to live up to my needs.

AUDIO – Audacity (you guessed it, free in the Software Center) is a great tool for audio. I’ve used it in the past on Windows for doing things like editing podcast recordings but have been using it lately to trim .wav files and save them as .OGG files for us in my HTML5 applications.

SCREEN SNAPSHOTS – Shutter

DESKTOP VIDEO RECORDER – Desktop Recorder (yup, that’s it’s name :) )

INTERNET TOOLS

FTP – Filezilla is AWESOME !

IRC – xChat (At Mozilla we communicate heavily on IRC both inside and outside the organization)

TELEPHONY – Skype. (Duh !) Skype is NOT in the Ubuntu Software Center but it’s easy to install because the Skype website has a .deb download ( Debian Package) Just download it and then double click in the .deb file to install.)

PRODUCTIVITY – There are a few tools that I’m using.

  • NixNot -An Evenote Client for Linux. Yo can also run the Evernote Windows client on Ubuntu using Wine, it seems to work fine.

  • Zim Desktop Wiki which I think of like an alternative to Microsoft OneNote
  • ToDo List

My core tool set has one other bit of software that I’ve saved for last because it was a bit complicated to get running.

Social Networking is a big part of my job. Of course you can post to Twitter, FaceBook and Google+ from inside your browser, I like desktop clients – especially for Twitter.

Though there are a number of Twitter clients for Linux, I really wanted to use Tweet Deck.

Tweet Deck is an Adobe AIR  application and Adobe has discontinued support for AIR on Linux ( Boo…..)

Luckily, all the previous releases are available for download. There’s no 64bit version (and I’m running 64bit Linux) so you have to install a collection of prerequisites in order to install AIR.

You can read more about getting AIR running HERE.

Once you have AIR i Deck is the same as on any other platform.

So thats a start. Of course I’ve installed a collection of the server side stuff.

  • NODE.js
  • PHP
  • Python
  • Ruby
  • Java
  • MongoDB
  • CouchDB
  • MySQL
  • PostgreSQL

If your not working on Linux, maybe its a good time to give it a try.

If you don’t have the spare hardware you can get a jump start by using a VMWare Appliance.

You can get the free VMWare Player HERE and a pre-built Ubuntu Virtual Machine HERE.

Have Fun !