Saturday, December 19, 2009

Tool-tip

I'm working on a project that involves customizing an open source web application. The extra twist in this case is that the organization is using a previous and wants to upgrade to the latest/greatest, which hasn't officially been released yet. The changes extend to the database level, and I spent a non-trivial amount of time this afternoon trying to determine the extent of those differences.

Because the software is not considered ready for prime-time by its creators, the "upgrade" process, apparently, does not yet include the option to upgrade the database. I hope I'm wrong about that, but in the meantime I need to shoehorn the old version's data into the new version's structure.

That wouldn't have been half the trouble that it ultimately was, had I had my proverbial ducks in a row from a tools standpoint. Which, superstitiously, I almost think was an act of mooning the gremlins. Because that's when MySQL Query Browser decided to crash (repeatedly!) on a pretty boring database query. Disgruntled, I launched the bookmarked URL for it webified cousin (PhpMyAdmin), only to discover that I'd whacked it when I rebuilt my workstation. And in the scramble to bring it back online, I rushed the process, with predictable results.

Now, when you start a new job, you face a learning curve comprised of something like the following:
  • New personalities, with all the tensions and synergies that this implies
  • New priorities
  • New product(s)
  • New processes
  • New tools--or, perhaps more likely, familiar tools (ab)used in creative ways
And on top of that, you can pretty much count on not coming on board at a convenient time to be comfortable with all of them before you're caught up in the stampede toward the latest deadline.

My not having all the tools set up was a rookie-type mistake. Freelancing (even as a volunteer) is not much different from starting a new job. The tools, at least, should have been oiled and ready to roll. Because working for someone outside their work environment means spending extra time staying plugged in to the communication channels. That doesn't leave much slack, certainly not for fumbling with the tools that should be as prepped and ready to hand as a surgeon's instruments.