Archive for December, 2008

Developing in the virtual machine era

Tuesday, December 9th, 2008

What can you get for $700 these days?   Quite a lot, as I just did with the Systemax Beast IV.  $699 for an AMD Quad Penom 9550 with 8gig ram and a terabyte hard drive running Vista 64.   The “dream” in this system is that it is a power system that was priced like a low end commodity computer.   Sure, there are no premium components but this machine has launched me into the “virtual computing” arena.

I’ve been using VMWare player and server for the last couple years to play around with linux.   It’s so much nicer than installing dual boot or setting up an old computer just to play with linux.

I’ve also used VMWare converter to make virtual machines out of my existing computers when I first get a new one.   While I always welcome a new computer, it’s a real pain to not be able to get any work done while I spend days reinstalling and reconfiguring my software.   With VMWare converter (a free download) I make a virtual machine that’s an exact copy of my old computer.   I copy the vm to the new computer and I can run my old machine complete with all the software already installed and setup.   I can get my work done and take my time installing and configuring the new system.

My dual core machines with 2 gig of ram are more than powerful enough to get decent performance running a single windows or linux virtual machine — but when you want 2gig for your base windows, and then you want to run windows virtual machines and give them 2gigs — you get constrained real fast.   That’s where my new “Beast” comes in.   At the $700 — it’s a great price with plenty of memory and cpu power to run mutiple virtual machines and have them all perform as well as if you were native on a regular computer.

I’m starting on a new project and we wanted to get going even before we had everything tied down.  We knew a good deal of the database was settled so I decided to get a head start.   While I await getting the real DBA’s involved in setting up our real dev/test/prod environments — I went ahead and setup an Oracle VM on my Beast.   Oracle has a free “Express Edition” that is limited only to 1 cpu and 4gig of data — plenty for my needs in development.   Plenty for a lot of small business and charitable uses as well.

I setup another virtual machine to install Eclipse/Jboss and my database development tools on.   It’s really a shock to be developing on such a clean system as these are the only apps installed on the virtual machines.  The performance is indistinguishable from what I’m used to with a dedicated machine.

The next step is to network them.   They really do behave just like real machines on the network.   If you are dealing with linux vm’s, you use Samba — and for windows, you do what you normally do.   Let me save you a hour or so and let you know you want to set the VM network to “Bridged” not “NAT” if you want the vm’s to behave as if they were separate computers.

Let’s say my next project is using sql server and not oracle.   No problem.  I can shut down the oracle vm and create a new Sql server vm.   No more having to put all this stuff on my computer and contending for resources.   No more suffering the poor performace of a computer where you’ve loaded and unloaded countless software programs.   I just ran one of those registry cleaning tools on my laptop and it found over 7,000 registry enteries that are no longer being used.   Developers have wiped and reinstalled windows for years in order to get that fresh restart to restore their systems performance.   By using VM’s — you get a fresh system whenever you need it.

There are two other very nice advantages.   I set up a nightly backup of my virtual machines.   If my computer suffers a failure, I can copy the vm’s to another machine and be up and running in no time.  All my software already installed and ready to go.   My backup drive is an external usb hard drive — which I can take with me when I travel to run all my VM’s from my laptop.

There are many other advantages and uses for vm’s and I’m sure I’ll write more about them in the future.   I’m so thrilled with the advantages of programming in virtual machines that I finally spent the money to buy VMWare Workstation.  You can use the free vmware server instead and I highly recommend taking it for a spin.

What kind of witch are you?

Friday, December 5th, 2008

Well….it took all of two posts for me to decide I needed to change the name of my blog.   Yes, I develop in java — and yes, I plan to write a fair amount on that topic — but no, I’m not just a java programmer and I have lots of things I want to talk about that have nothing to do with java.

It reminds me of a recent job interview (where I did get the offer).   The hiring manager was looking at my resume and asked “are you a java programmer or an oracle programmer”?   It struck me like the scene from the Wizard of Oz where Dorothy was asked “are you a good witch or a bad witch”.   Unlike Dorothy, I’m not going to say “I’m not a programmer at all”.   For I am a java programmer and I am an Oracle programmer — but neither label describes me.

I’ve been developing software professionally for 24 years.   I’ve developed in languages that don’t exist anymore.  I will be developing tomorrow in languages that don’t exist today.   So what am I….what do I consider myself?   I develop software — I’m a software developer.

I can promote myself and my company — I can bring in business.   But I’m not just a salesman.  I can talk to the business clients who have a need and help them understand how we can bring technology to bear to solve that need.   But I’m not just a business analyst.   I can take the business requirements and develop a solution, choosing the appropriate technologies and strategies.   But I’m not just a technical architect.   I can design data models for data marts or transactional systems but I’m not just a data modeler.  I can create all the tables, stored procedures, views, and triggers — but I’m not just a DBA (well, I’m not a dba at all, but a database developer).   I can develop the logic whether it’s in pl/sql or t-sql in the database or in java in the middleware….but I’m not just the one or the other.   The web is the latest “front end” I’ve developed in — via HTML, javascript, ajax, jsp, asp, php, or cold fusion — but I’m not just a web developer.   I can test with the best but I’m not just a tester.

What am I?   I’m a Software Developer.  Technologies come and go.   Just having freshly gone through the job search process for the first time in six years….I was struck by how many employers are look for a “java programmer” or “an oracle programmer” — or even much more specific than that (java with beehive and tivoli on sun systems…).   Some, however, the kind that were most interested in me — were looking for software developers.   The person whom projects depend on.   The guy that can “get it done”.   The girl who’s value isn’t in what she did last year but what she can do this year as business and technology both change at such a rapid pace.

What you will find on this blog are the writings of someone who is deeply involved with and interested in — software development.