Saturday, October 22, 2011

Keep your workstation ready -- Always...

Hola!!

What better can I think of doing than blogging when a bunch of software gets installed on my comp??

Setting up a new system is the most painful ordeal. PERIOD :-| I am sure a lot of us agree. This is particularly true when we have multiple systems distributed across locations AND like to keep the workstations in sync. Well few of you may say, when we can carry a laptop why bother? I can only say, I thought so too, but was proved wrong time and again.

Most of us fancy having a "High End" system. Let's face it, we don't necessarily make use of all its juice. So? There you go, settle down for a slightly lower configuration workstation that can be carried around :)

Desktop virtualization is a boon to guys like us. I used to fancy running a Linux box on my Windows PC @ work place. I am more comfortable using the 'ls' than the 'dir'. Unfortunately, my work called for using Windows for every single thing I did. Nevertheless, I had a Linux VM ready for any script-testing. I thought a VM is good for that and only that!

How incorrect I was :-O Now when I am pursuing Masters I realized the awesomeness of virtualization. Be it messing around with new software... kernel compiling... or simply try coding to check the effect of infinite recursion on the OS :-P

My latest "woah!" time was when I had to run a bunch of software on a friend's machine. I had very less time, and also could not ask my friend to load his box with all the assorted libraries which meant nothing more than non-sense to him. I quickly configured my Ubuntu VM decked it up and took the vdi file on a portable hard disk. Just one installation of Virtual Box on his machine, I had my workstation up and running in less than 5 minutes. :)

So what is the learning? For me it was simple. Configure a sufficiently powerful virtual machine on the native box you have, keep the VDI safe. Use it where ever you want.

I have now decided to work full time on this virtual machine. I have configured my virtual machine based on virtual box. Its fairly simple to use, open sourced and easy to carry around ( NOT the virtual machine, the S/w itself ). My VM is an Ubuntu 10.10 box (32 bit - safer as it runs on both a 32 bit / 64 bit base machine). How ever less I use, I have the following environment ready:
Java development, including J2EE.
A fairly decent C/C++ environment with Qt/OpenGL & Boost libraries.
Perl -- My favorite language! How can I leave it :)
Python -- a new muse.
SVN & GIT -- version control on the move.
An Eclipse IDE (Galileo -- well I know its a bit old, but WTH! it serves my purpose).
Mozilla firefox browser -- I need to "Google things out" when I'm working!

I installed this VM from a bare minimal Ubuntu server alternate disk (with no servers installed), so I handpicked the necessary software. I don't intend to play tetris on this development box. A big NO to any (un)productivity suites. However I do have a decently heavy LaTeX2e environment to type out reports :)

This VM is a 2 vCPU, 2GB vRAM machine with virtual disk size is 15gigs, which is OK! I carry this around on a USB portable harddisk, along with a Virtualbox installer(both Linux & Windows :D). I can do most of my work on this virtual machine.

If you are wondering, "You have your environment ready, then why the **** are you setting up a new machine? Couldn't you have worked on this??" Well.. lets just say, a failed upgrade! :D

Now that my base machine is ready, time to get back to the VM and crank code!

Cheers,
Akshay

1 comment:

Royzz said...

Pretty nice solution, but then, I would rather roam around with a laptop/netbook and ssh into my workstation to do my work. :P Carrying a hard disk around is good, but not good enough. :)

Probably a couple of more add-ons you could try: gdb, php, apache and my favorite, Emacs. :)