In Search of a Perfect Development Environment!

Like many developers I am also in search of a perfect development environment!

I understand this might not be true for everyone. If you are a .Net developer who has a good laptop loaded with the latest Windows then I assume you already have a perfect development environment. But if you are a Java/Python developer writing code destined to a Linux server, stuck with a Windows laptop then there is a problem.

Many corporate environments are tied to Microsoft technologies for Office, chat, email, VPN, Windows, etc.

I mainly write Java, Haskell and Python these days. As a Linux guy I obviously don’t like to work on Windows but at work we are forced to use a Windows 7 and BYOD or booting any other OS is not allowed.

Although my laptop has an i7 CPU with 32 GB of ram but still it’s a Windows!

No offence to MS fans but it doesn’t make any sense to develop and test on one platform and deploy to another.

We have had many instances where things behaved differently on different OSes and wasted hours to troubleshoot. But this is very hard to explain to some managers and IT teams! A minimum development machine for someone like me must be a Mac or a Linux.

In absence of any other choice I decided to run Linux on a VM so installed Fedora on Virtualbox and gave it 160 GB disk, 24 GB ram and 2 monitors. It is working like a charm and I am really happy about the setup. I have loaded all my development tools such as IDE, Docker, etc. into the VM and use Window host for VPN, some email checking and Office document editing  only when difficult in the VM.

So far this is working really good although I had few issues initially with setting up the networking right but at the end I have a polished development environment that I can use a real bash natively (Not a Window 10 cheat bash!)

Being a VM with UI there is definitely a bit of lag but haven’t been a serious issue so far. I would suggest Xfce in order to have a smoother experience rather than default Gnome which is below.



Clean rebuild to Mountain Lion

As this was my first Mac, I had done lots changes here and there to experiment and it was time to start afresh. Also I wanted to get rid of stupid packages and applications that I had installed in the past few years (including Xcode!)

When it comes to MS Windows installation I am an expert but in the Mac world I am hopeless.

Searched the Internet for ways to cleanup the hard disk and start a clean OS and saw different ways of doing it by different people.

The best way that works for me was:

  1. Shutdown
  2. Press cmd+R and power on (You can also restart and do this)
  3. System goes into recovery mode
  4. Format the entire disk
  5. Install the OS from Internet

This saved me from creating boot disks, etc.