So at the day job I grew weary working with Windows Vista and decided to do something about it. I was sitting on a quad-core Intel machine. The only issue really was the lack of memory. Well that and it was a 32-bit version of Vista sitting on a 64-bit capable machine. Upgrades weren’t available at the time. I opted to bump up the machine to a 64-bit install of Ubuntu Linux. So far it’s been great but there have been some bumps. The surprising thing to me was how easily my workflow transferred over.
The install was a snap. I chose to install it on a separate partition than to place it within Windows Vista or wipe the whole thing entirely. I still needed my docs from the other machine. After about an hour or two, the machine rebooted and I stepped right into my desktop. I had to add some sources and download some files separately, but the development environment ended up being pretty much the same for me on Windows Vista. Here’s what I did:
- IDE: I was using NetBeans with a PHP plugin development setup. I also had some Subversion modules and a tasty Vim keyboard setup plugin. Instead of keeping the same way, I decided to jump to Eclipse. Some of my other projects uses the Eclipse environment so I decided to go all in. I use the Aptana plugin, which is fantastic, and found that Subclipse and vWrapper were great substitutes for revision control and Vim emulation. Once I got settled in the only real issue I’m still stuck with is that vWrapper is completely polished and I’m finding that vWrapper and some auto complete features created some errant bugs.
- Browser: Most of the work outside of the IDE is in the browser. I use Chrome sparingly because of the lack of extension support, but the Chromium browser is a great replacement for it. Essentially, it is the open source base Google uses to build Chrome off of. The rest of the heavy lifting is with Firefox. I use Firefox Sync to keep me up to date with all of my Add-Ons and Tabs. I’ll talk about that later. Also, the restricted packages set for media and other non-free type libraries should be installed for optimal Firefox usage.
- Communication: I used Pidgin on the old setup and the new setup has Pidgin as well. Ubuntu is pushing Empathy but I am much more comfortable with Pidgin. Also, I ditched Thunderbird altogether. Evolution is on the setup but I only use it for sending attachments and some templating. I moved most of my work over to my integrated GMail. It’s just easier for me collect all the email into one bucket. I do miss Skype/Google Voice capabilities but I never really use it at work.
- LAMP: I used an all in one solution for LAMP development by the name of XAMPP. It’s great for a default install and run but some of the intricacies needed for real server management go away. Since we enjoy Linux thoroughly all around, moving to Ubuntu let’s me mirror a closer setup to what we deploy on. That said, I had to do some extra work getting PEAR and our libraries to work nicely. Also, it took me running into some bugs to turn on the error reporting that was on in XAMPP.For the database side of things, XAMPP came with phpMyAdmin but I was using a real great application called Datadmin. It’s a .NET binary that handles just about any database type and it could export to different database types rather effortlessly. I still miss it. I tried to get it working with Wine but it was too much of a pain. In its place, I now use phpMyAdmin and Navicat SQL Lite. It does the basic of what want, which is a desktop binary that lets manage with multiple windows and/or tabs.
- The Rest: The only other thing I truly require is background music. I’m a big podcast listener so I latched onto the horrid ITunes on the Windows side of things. Yes, it stinks for everything else, but there is no better client for podcast management out there. Once you get the Smart Playlist setup correctly you can have a real nice queue of podcasts updated in real-time. I still miss it a big but I have a good enough workaround. I now use VLC and gPodder. It’s shame they are not integrated. gPodder manages all of the downloading and play management while VLC is the terminal for audio output. I had to adjust the settings for VLC to run as one instance and then pass a ‘–plalist-enqueue’ command as part of the VLC choice for gPodder to get it to work more smoothly.The remaining thing that I use heavily is terminal access. On Windows I use the great PuTTy set of applications to do all my terminal work and key management. Now since I’m on a machine that has terminals built-in by default, the usage is way better. I did have to work around the format of keys that PuTTy uses and import them into my OpenSSH setup but after that things are going better than before. I especially see it when I check out and check in from Subversion.
Overall, the transition was rather smooth. It’s taken a week for me to get back in the swing of things. There are no real killer apps I need on the Windows side of things. Everything I do uses open source so the move to Ubuntu was an obvious one. It’s left me with a good feeling in my stomach. I now know I can produce professional quality work on an open source stack. Back in the day I used to use Linux more than have in recent memory. Making the jump was great and I urge anyone else with the similar environment setup on Windows to make the same move.