Gerald Nunn's Blog
« OnTrack 2.5.6 Released | Main | Installing Oracle XE in openSUSE 11.3 »Switching to Linux
Wednesday, August 11, 2010
I switched to Linux from Windows on my laptop about eight months ago and I thought it might me interesting to write a blog post about my experiences. As an Enterprise Java and Android architect and developer, most of the work I do can be done equally well on Linux as on Windows. Many of the applications I work on end up in a Linux or Unix type environment but I don't typically have much to do with the Linux servers on a day to day basis since they are managed by operational staff. While I was comfortable with a Unix command line I really wanted to increase my general Linux skills and using it on a daily basis provided an excellent opportunity to do so.
The first, and best, decision I made was to overwrite Windows when installing Linux and jump in all the way. My reasoning is that with a dual boot system I would be too tempted to go back to the familiar than pushing forward and learning something new. So after backing up all my documents to a portable hard drive I went ahead and installed openSUSE 11.2 on my Dell e6400. I have to say the install experience was significantly better then the last time I played with Linux a few years ago and the process went quite smoothly. The only exception was I had to install a proprietary Broadcom wireless driver manually but other than that it was all good.
After using it now for eight months I have to say that I have been really happy to make the switch. In general I find my development tools run much faster then they did under Windows. Java development tools such as Eclipse, BEA Workshop and JDeveloper tend to be quite heavyweight but feel much more performant under Linux then they do under Windows. I imagine most of this is likely due to the fact that Linux tends to be a lighter weight operating system and you generally run less cruft, not having to run an anti-virus scanner for example probably helps quite a bit.
One big thing I like about Linux is the fast boot time and that once the system is booted it is fully ready for use. Under Windows the boot time was longer plus once it booted to the desktop the system still wasn't really useable until all of the background boot processes finished, starting a program right after boot often entailed a painful wait.
I have not been able to completely ween myself off of Windows though and have Windows XP available in a VirtualBox Virtual Machine (VM) for the times when I need it. VirtualBox is a great application that is free, since it can suspend a guest OS starting and stopping the WinXP VM only takes a few seconds. The performance of XP in the VM is very good with the only noticeable slowdown having to do with disk access. I primarily use XP for the following programs:
- Microsoft Office. While OpenOffice is a great program it doesn't have 100% fidelity when modifying documents in the MS Office format. Since I work in a client facing position I can't afford to have problems in documents I pass around. I tend to use OpenOffice for reading documents but if something needs editing I'll use MS Office.
- Microsoft Visio. I use Visio all the time for diagramming various things such as network topologies, class diagrams, sequence diagrams, etc and I've have not found a good equivalent in Linux. There is a program called Dia but the user interface is just awful and it won't read and modify Visio files.
- Netmeeting. Many clients will use Netmeeting for ad-hoc screen sharing and I'll need to connect to a host machine to view their screen. For hosting meetings I put together a Netmeeting equivalent using VNC and Flashlight VNC Viewer which I blogged about previously.
- Internet Explorer. Sometimes I need to deal with corporate or client web applications that only work with IE. Fortunately these instances are quite rare and I expect the need for IE to diminish even more over time.
Having to use Windows in a VM highlights one of the weaknesses of Linux in a corporate environment, for better or worse the world around you is Windows based and you have to be able to inter-operate in that environment. Having said that, the Linux applications are getting better at this and knowing the complexity of the Office file formats I was really impressed with how well OpenOffice handled them. I'm optimistic that things will continue to get better with the noteable exception of Visio, there doesn't seem to be anything happening on that front in the Linux community.
As an aside I am fortunate that in my workplace there is support for Linux and we do not use Outlook or Exchange which could add another wrinkle to using an alternative operating system.
So in summary I have been very happy with switching to Linux and would have a hard time switching back to Windows. I feel I am much more productive in a Linux environment and generally prefer the way things work in Linux versus Windows. Overall for Java developers I would strongly recommend considering Linux.
Posted by Gerald Nunn at 12:21 PM | Categories: Java, Linux | Permalink
