Cover image from One weekend with Ubuntu

One weekend with Ubuntu

March 11, 2013

I have an itch. This itch has been bothering me for probably ten years now.

I am drawn to idea of doing most of my work on Linux. Every year or so I attempt to scratch this itch to see if it’s finally possible.

Why do I want to move to Linux?

Lately I’ve become conscious about where Microsoft and Apple seem to be taking the desktop experience. Closed Wall == Max Profit. We can see Apple with it’s work around sandboxing applications on the Desktop, and Microsoft in it’s forthcoming OS release trying to follow suit. This is concerning for developers because one day in the near future you can see a situation where you need permission to release software for your OS of choice.

One other element that spurred me on this time was the release of Project Sputnik by Dell. I thought this was a very astute move. Recently I had been hunting for a new laptop. My MacBook Pro 17’ is slightly on the heavy side and I’m traveling around more. I couldn’t really find anything that made sense to me. All the machines seemed to be sub-par or overly expensive. The only real choice was looking like the MacBook Air. Quality laptop, light, thin, good processor, good memory specs, SSD. I am not confident though about installing Linux onto Apple hardware. But then if I bought it, why would I put Linux on it?

The Plan

I was hopeful this time around. It is looking more likely that HTML5 is the future of the web, and standards will dominate. The portents are good. My stack would look something like this:

Email

(Apple Mail -> Thunderbird) Thunderbird is a solid and reliable email client. I like working with it and over the years it’s just gotten better and better |

Chat

(Skype -> Skype) Ubuntu now has a Skype client in it’s arsenal. While not as pretty as the Windows and Mac client, it seems to get the job done

Editing

(MacVim -> GVim) Like for like here. OS integration, plugins to beat the band.

Dropbox

(Dropbox -> Dropbox) Ubuntu client is pretty darn good

Google Drive

(Google Drive -> ??) No Linux client for Google Drive. Looks like I’d be restricted to the browser for this.

GIT GUI

(SourceTree -> Smart Git Hg) Decided to try this gui. I had tried Git Cola but found it a little underwhelming

Image Editing

(Photoshop -> ??) Hmmm, big curve ball here. It seems Wine running Photoshop is patchy. I could go back to CS2 and run a solid version, but even CS5 only gets a Bronze rating on Crossover (http://www.codeweavers.com/compatibility/browse/name/?app_id=7715)

Flash

(Adobe Flash CS5 -> GVim + Compiler) I do most of my Flash app coding as pure AS3 projects now, so the plan was to get this up and running with the SDK. Not perfect, but I was confident I could find workarounds

Internet Browser (Google Chrome -> Google Chrome) Nuff said

Virtualisation (VirtualBox -> VirtualBox) Again, pretty much the same thing as the Mac version.

Office Suite (Microsoft Office for Mac -> Libre Office) I didn’t get a chance really to test this. Hopefully it would have been ok. My needs here are pretty basic (word documents, spreadsheets etc)

So, I thought I had the majority of a toolkit. One of the reasons for the changeover at any rate was to move to a system that is the same as the one my servers run on. Then I could natively run all the various server side stuff for development (PHP, MySQL, Node, Apache, Python etc). I find OS X a nightmare in this regard, and Homebrew a turgid solution. I’ve taken to running all that stuff on VirtualBox with a Suse image.

So, the time came, I decided to go for Ubuntu 12.04 LTS (the version that shipped with Sputnik).

The Setup

Ran like a dream. Up and running in a relatively short amount of time. Detected all my hardware and never gave out about anything. Until I tried to setup the VPN to our office.

L2TP over IPSEC

It runs on L2TP over IPSEC. The Ubuntu standard package doesn’t support that (even though it seems to be a pretty standard thing). Ok I thought, I’ll search in the App Manager. There’s an applet for this specifically (based on openswan). Seemed a little bit odd, now I had 2 dock icons dedicated to networking. Tried to connect and it failed. I know it works, Mac can connect, Windows can connect. C’mon Linux, you’re supposed to be all about networking. So, 2-3 hours later, I give up. I’ll come back to that. It is a bit of a deal breaker (I need to remote into the Windows PC in my office).

Dock Launcher

Next I tried to install Smart Git Hg. It isn’t installed via apt, so I download it and placed it in an ~/Applications folder. I ran it from the command line. It ran fine. I liked and it seems like a solid GIT GUI. Locked into the launcher. Tried to launch it again later and it didn’t work. I’m sure this is a simple problem to do with working directories or something similar, but I don’t care. I locked it into the launcher, it should be able to launch. I don’t want to spend another hour figuring it out.

The Tooling

Setup for the rest of the tools goes as expected.

Photoshop

I havn’t solved the Photoshop issue yet, but I plan to try Crossover with Photoshop CS5. Then I start to worry about font compatibility issues (between Mac and Windows for some fonts it’s a nightmare).

Less

I go to get Less down through apt so I can compile to CSS. It’s a version behind. It’s a version behind because I have the LTS release I reason. I decide to update Ubuntu later to have the latest repositories.

Others

But, soon I have a LAMP setup, 3 x browsers, Email synced with Gmail. Now I just need a calendar. No calendar. Not any good one any way (that I can find). I decide to use the one in the browser.

I decide to update Ubuntu, because otherwise I’m going to keep running into the same issue as with Less. 1 hour or so later I’m on Ubuntu 12.10. It seemed noticeably slower. Then, my desktop stops showing up (I don’t have a screenshot of this). I give up.

The Realisation

At this point I realised that I was being stupid. Very stupid. I was letting what I wanted rule what I knew.

OS X has the best front end going at the minute. The apps are solid. I have Microsoft Office and the full Adobe Creative Suite. I can run a VirtualBox for server side stuff on Linux. I can ssh into these. MacVim rocks. SourceTree rocks. I can do iOS and Android development. Apple Calendar integrates with Google Calendar. Apple Mail is a pleasant email client. It works.

The Linux landscape is a constant running battle. The little bit I know about the disputes between Canoncial and the Linux community at large seem petty and counter-productive. There is so much wasted energy and duplication that it is a little bit awe-inspiring. Because I just wanna get shit done. So, for another year, I’m giving up. The deciding factors were; no Photoshop, buggy/inconsistent GUIs, no VPN and constant stoppages.