Wednesday, July 27, 2011

The Wrong Way, The Right Way, and The Way That I Do It

It's been quite a while since i posted anything, and there's good reason for that! I've had so much freelance work coming my way that i haven't had time to breath, let alone blog about breathing!

...and it's that very state of being to busy that got me into trouble with the very thing that was keeping me busy!

The story goes that i had been doing freelance work for several companies, on many different platforms, in a variety of languages. I say this to clarify my mindset as being scattered! I was presented with a project that required me to work with a company's Sharepoint Server. Now i knew what Sharepoint was, but I've never actually done any development work for it...so i didn't know to just walk away!

I took the challenge and began my research...but immediately ran into a few obstacles. Mainly the company didn't already have an environment setup to develop for Sharepoint, but secondly...they had changed alot of the default settings, added alot of custom fields, and documented none of it! To develop for the Sharepoint 2003 server requires you to have certain packages installed...and those certain packages require specific versions of the software installed. Because of this...it took an entire weekend of installing packages and SDKs to finally have my environment setup. Being i didn't have an extra server lying around i could dedicate to this cause, i chose to use Oracle's VirtualBox software to get this setup. Once it was setup, being i had no direct access to the data of the sharepoint server, nor access proper access to go view custom fields, i spent over a week of guessing and pulling my hair out to finally get the stupid WebPart designed and deployed. I could spend a considerable amount of time explaining how frustrating it is to code in theory, but at this point i was just happy that it was done and i had an environment setup to code for Sharepoint in the future :)

Triumph! ...right?

Yes there was triumph, and many much celebrations over the fact that i would still have hair when i got older. The problem was that i had this all setup in a virtual environment...and i hadn't taken the what little amount of time it would have taken me...to get the code hooked up to my SVN. Also, since i didn't know how many packages i would have to install and how much space that would take up, i chose to setup the drive as a 20GB .vdi, since i figured that would be sufficient. This was only a problem because i told my service that backs my data up to the NAS to ignore large files (since i didn't think it was important to backup my ISOs and large videos)....

Then...my laptop died...
broken hingeImage via Flickr

3 and a half weeks after my laptop died and had been sent in to Sony's Repair Center in California...i was contacted by the company i did the Sharepoint project for, and they've added a custom field to their server. They want me to add that to the WebPart i created for them; A task that would have taken probably 30 minutes tops, including testing and deployment...is now put on hold pending the return of my laptop.

Gmail has this handy little tool that lets you see your sessions and where they logged in from and what protocol they used. The same day i'm contacted by them, i see that i had an active session tell me that just a few minutes ago i had an IMAP connection from California. The only machine i had setup to connect via for IMAP is the machine Sony had so i was hopeful!

Unfortunately i was contacted by Best Buy half a week later telling me that my laptop was lost and they were going to issue me an in-store credit for the laptop....but that's another story in and of itself!

The moral of the story is that regardless of my shortsighted choices on size of my .vdi file causing it to not be backed up, if i had taken the time to hook my code up to the SVN, i would only be set back a couple of days in recreating the environment!

Take the time to do things the right way!  ...or you could do it my way!