Adios Windows, hello freedom and misery! (part 2)

Posted by Nick Vincent
Posted: 25/11/2011

Well, that was fun. I've spent a few more days getting up to speed with Linux, and working out how to replace things I used to be able to do on Windows.

What about all my lovely windows apps?

There are some apps that simply don't run under anything but Windows (I'm looking at you, SQL Server). This one at least was easy(ish). Install VirtualBox and use it to run a Windows VM. Don't install the version of VirtualBox that comes in the Ubuntu software centre though, because that's an old version masquerading as the latest version. Get it from Oracle instead, and let that little shiver run down your spine as you realise that they own another critical piece of software you use on a daily basis.

Other apps

Of course, one does not migrate to Ubuntu in order to just run a Windows VM, generally you would want to do some work outside of that. With that in mind I had to examine my main tools and see what the options were:

  • IntelliJ IDEA - Runs natively under Linux. Doesn't integrate with the dock, but I found some instructions on how to do that.
  • Cygwin Terminal - Ahem. Use your intuition on how I replace this one...
  • Skype - There's a version of Skype. An ugly one that spawns thousands of windows all over your desktop, but it works.
  • SIP phone client - SFLPhone seems to work okay, although doesn't do call transfers very elegantly as you can't transfer a call on hold without taking it off hold first.
  • Spotify - Hey, awesome, there's a Linux Spotify client for us paying subscribers!
  • Notepad++ - This one is tricky, I'm a big fan of this text editor. The best alternative I've found is called "Geany" and is a text based IDE that has pretty much all the tricks that I liked from Notepad++, such as fiddling with encodings, line breaks, soft line wrapping etc. It also handles several hundred megabyte XML files with ease, which habitually reduced Notepad++ to a sobbing mess.
  • The Regex Coach - A hoary old piece of software whose simplicity is still unparalleled for testing regular expressions. Enter "Kodos", the Python Regex debugger. It looks almost identical and does the trick nicely.
  • Fiddler2 - This one is a bit of a problem. Unix nerds will tell you Wireshark does the same thing, but it doesn't. It's like the difference between having some shoes and having some scraps of leather, some stout thread and a bit of rubber. You can do the same things, but the operations are much lower level and don't easily get the job done. The pragmatic solution to this is to rely on Firebug's net view and to run Fiddler2 in my windows VM when that won't do.

The latest fun

Ah yes, I remember, we have a customer who doesn't have a site to site VPN, so I'll just connect up the OpenVPN client. Surely, as a pretty mature open source product this will just work.

1) No, no I won't, there's no client installed. I can bring up a VPN just not an OpenVPN one. Install nm-applet-openvpn
2) Now I've configured it but it doesn't show up. Have to restart nm-applet applet, once I've found out what it's called.
3) Now it doesn't work? Some Googling for the error message shows up this bug https://bugs.launchpad.net/ubuntu/+source/network-manager-openvpn/+bug/794918 / http://markmail.org/message/eznpxgtvhr53ppdl
4) Edit that file, add the extra bit requested
5) Still doesn't work, there's this thing called dbus, maybe I should restart that.
6) NEW LESSON LEARNED. Don't restart DBUS. Really.
7) Finally, my VPN connects!

The mysterious case of copy and paste

Some things are right, they work and don't need fiddling with, examples of this are such things as "copy on select in unix terminals" and "the songs of the Beatles". The writers of Gnome Terminal, however, chose to take some time out of re-recording their "new and improved" version Sgt Pepper's Lonely Hearts Club Band to make some bewildering decisions about copy and paste in their unix terminal. The conversation must have gone something like this:

New Paul: Hey, you know that copy functionality that has been common to every unix terminal app ever written up until now, the one where it copies on select?
New John: Yes, the one that's completely standard and well understood?
New Paul: Yeah, well we should change that to be like all the other apps where you copy with Ctrl+C. And we should not provide an option to turn it back on. I can't see any of these unix users wanting it to work the old, perfectly good, quick way.
New John: Yes, good idea, but there's a problem, Ctrl+C is actually quite important in the console. It, you know, quits running processes.
New Paul: Hmm, yes, that is confounding. Let's solve that by using non-standard keys for it, that way we achieve the perfect combination of not complying with the old established standard OR the new one we're trying to adopt.
New John: Great, let's get that written then I can get on with recording the bagpipe solo on "She's Leaving Home"

Thank goodness then for Tomi Valkeinen, who kindly provided a quick patch that puts the universe back in order.

So far, so good

I've now been running Linux for a couple of months, and it's nice to have proper virtual desktops, and a global package manager that installs software easily and quickly when you need, and keeps it up to date. For development work I can't see me going back to anything else, but I'm sure this won't be the end of the story because one day I'm going to need to upgrade my distribution, and I live in considerable fear of that.