Monday, July 20, 2009

How Source Control Drove Me Insane

I'll be right up front about it, this is a geek post. I'll try to explain in regular english as much as possible, but some things you just have to have a deep understanding of computers to appreciate.

For the last two and a half weeks, I have been in the middle of a conflict taking place on my work laptop between development tools and their corresponding features which allow access to the central repository for all of the code we develop. This central repository is called a 'source control' system and allows large projects to keep track of who is working on what, and allegedly ensures that what one developer writes does not get deleted or otherwise broken by another developer.
There are many source control tools out there, but prior to working for GE, I had only used CVS and Subversion. GE only uses one source control tool, and it is called ClearCase. ClearCase is a tool from a company named Rational, which was purchased by IBM not too long ago. The old saying goes "no one was ever fired for buying IBM", and so the thinking goes at GE.

My problem has its roots in my abilites to develop in multiple languages. I can comfortably write code in Java and C#. Java is the open-source darling which is very popular right now. Anyone can download freely available tools, write code in Java, and (also allegedly) run that code on any operating system which supports Java, which at this point includes the major operating systems (Windows, Mac, and Linux). C# is a 'Java-like' language from Microsoft, with excellent (albeit expensive) tools to develop with, and a deeper native relationship with Microsoft Windows.
There are many advantages and disadvantages to both languages, far too many to go into a debate in this post.

My employer, GE Healthcare, uses both in the project which I am working on. On the surface, this makes people such as myself who can write comfortably in either language even more valuable. (Although people can make the switch between them pretty easily - I compare it to learning local slang and accents. The underlying principals are very similar.) However, I have had to set up development environments for both on my work laptop. The real problem is when both of those environments attempt to utilize the source control system, ClearCase. There are some deep 'under-the-hood' conflicts between them which have made me completely unable to develop and compile Java code for the last couple of weeks. I have tried uninstalling & reinstalling everything, using different tools for Java, changing the way my account accesses ClearCase, nothing works. I have been absolutely useless for the last two and a half weeks.

Today I got to my wit's end. I am currenly waiting for my laptop to be returned after having it completely re-imaged. (That means that they erase everything and return it to a state as if it had just been delivered to me) This will cause me to be very busy reinstalling all of my necessary applications for the next couple of days, but it's better than the alternatives of going up to the roof and throwing my laptop as far as I can and/or looking for a new job.

Monday, July 6, 2009

Infrequent posting problem

I realized today that I haven't posted anything of consequence in quite a while. This isn't because I haven't been writing. On the contrary, I have been writing quite a bit. However, I had started writing stories about adventures I had with my best friends as teenagers. That path led me to the dilemma of whether or not to publish stories that may end up being seen as implicit permission for my own sons and the children of my friends to imitate, replicate, or impersonate the remarkable, often dangerous and just as often illegal adventures I had as a teen-age idiot.

As such, I sadly inform my one reader that I have decided not to post stories such as "Carp Golf", "4 Wheeling and Pop-Tarts", "Night-ops Golf", and "Spotlighting". Maybe when my kids have gotten past the 'immortal' stage of adolescence I can share those often humorous stories with a larger audience.