Tuesday, April 6, 2010

Linux for Desktop Development

We use Linux on the desktop at my new job. Specifically I'm running Fedora 12 on some duel core 3GHz, 4GB RAM, HP box with a monster Samsung 30" SyncMaster 305T. We used Mac's at the the last job (I still do at home) and I'm finding day-to-day development functionally equivalent.

I used Linux on the desktop toward the end of high-school and through the first couple of years of university (circa 1998-2000), starting out with an old Slackware and jumping to Redhat. Fun times, but I'm still scared from all the pain of compiling my own video drivers to get 3D acceleration support and even hacking around just to get USB mouse support. That being said, I categorize my skills as a Linux user, differentiated from Linux server hackers and general gray beards.

Fedora is Redhat's enthusiastic kid brother, taking on all the risk at the edge and projecting the impression that he's having fun the whole time. Also, I love the fixed 6-month release cycle, makes me feel like they're running a tight ship. That being said, the whole Redhat ecosystem still feels conservative next to the Ubuntu ecosystem. Also, I have no grasp of where distributions stand with regard to sever-adoption.

I'm impressed with the generally transferability of my setup. I'm hacking Java code with Eclipse, Thunderbird for mail, Chrome for web, Tweetdeck (on Adobe Air) for twitter, and Pidgin for instant messaging. I also use gedit, with some minor configuration tuning, which satisfies as a rudimentary Textmate.

The apps run fine, although I'd really love a system-tray icon for unread emails (any good Thunderbird plugins?), and Chrome acts out sometimes, not opening links I click in other programs and failing to handle PDFs (gray box). Minor niggles until I refine my setup further.

At times, I almost feel like I'm running OSX, although a few user experiences break that delusion:

  • The updates are too granular. Simply put, Linux is nothing more than a kernel and a zillion separate software packages taped together. With that in mind, no one in the world wants to be presented with a dialog suggesting to up update random cross-sections of their operating system's constituent packages. I have no idea exactly what I will break by pulling in all updates, although I seem to do it anyway. I have also experienced the pain on breaking my X11 config because the kernel was updated and my video driver wasn't. Too granular, too scary, and too much potential for pain. Too used to big fat all-in-one OSX updates, I guess. 
  • File Browser is Clunky. I've been spoiled by Finder on OSX and maybe even File Explorer on Windows before that. There is something off with the File Browser in Gnome. It is hard to describe, but I guess it feels like an app (which it is) more than a natural extension of the window manager. Also, it could look a little less soviet and a little more sexy.

I'd be more than happy to run Linux on my primary rig at home if OSX wasn't so damn pretty and usable. It is more than likely that I'll try and save some cash on my next laptop purchase, go non-Mac, and throw a Linux on there.

2 comments:

Fábio said...

I alternate work between OSX and Linux and also find the file browser in Gnome a major pain.

My suggestion is that you try konqueror or dolphin as file browsers, I prefer them even over Finder and you don't have to give up on Gnome and switch to KDE to use them.

Great post!

Jason said...

More gedit love: Make gedit better than any IDE ;).