info @ the P.Pole 01.20.10

Work work!

5 great changes of late:

  • at work: I’ve begun work on my term project at Open Text, automating the entire process of my job—”The Idea” (more on this below, post-list)
  • at home: Eric, the new guy who is replacing Taylor for this term, has unclogged our shower drain with a pair of tweezers and much Liquid Plumbr (SIC), and now we do not shower in pools of soapy water
  • at school: none—no schooling to be done while on coop as it is strictly forbidden
  • at OS-level: I was forced to reinstall OS X Snow Leopard when I decided to fix my BSOD problem on Win7 by repartitioning/Boot Camping/installing everything, and now I’ve got a fresh OS X, retaining all my data, and a clean Win7 install, with Team Fortress 2 and CoD4: Modern Warfare 2
  • at heart: I feel pretty happy and satisfied what with my deepening friendships, and doing decently well at work, which I had been worrying over before

So! My big Idea. Basically, there are parts of my job that are rather straightforward and could/should very well be done by an automated process. As we are not OS X, I cannot just write up/record an Automator workflow to do these tasks, and am forced to tackle them manually.

One of my term projects (I’ve got about three so far, and they’re all doosies) involves me finding/contemplating/inventing a way to automate most of the process of adding change/project requests, initiating and closing the same, etc…

The Problem: if we are to hook into the system that is in place, I would have to design this all in SQL, a programming language I am not familiar (at all) with.

More Problems: we cannot simply get a SQL developer to write code for us since there are nuances and intricacies of the process that need to be accounted for. There is also functionality that is hard to explain/capture verbally.

My Solution: Scheme! Scheme is great for capturing the idea of/”what” is going on in simple, often easy-to-interpret code. I consider myself pretty rad at Scheme programming, so this was a no-brainer for me really: I decided to build and entire working model of how I envisioned the entire process ought to go, including the tables/databases/functions that I (or anyone in my position) would need to interact with the system.

Once all the that coding is done (by me), I can pass this onto a SQL developer to discuss with them and, more importantly show them what needs to be done and how. With that, my manager and I are confident that we can translate my Scheme model/schemes (pun’t) into a working system designed on SQL and hooked into the existing Intranet/Livelink infrastructure.

If none of that sounded very exciting or transparent to you, basically, I—being the person knowing what needs to be done—decided to leverage a mutually understood, relatively transparent programming language to capture my ideas and to communicate those ideas to someone else—who is competent enough with the language actually used—to then translate my ideas into real tools for use.

I am particularly proud of this idea of mine. It is an elegant solution, through leveraging different people and their respective strengths/expertiseto solve problems and learn for good—collaboration! I feel like the work I do here on developing the automation process/system will stick around for a long time (hopefully built upon later, rather than replaced), so it’s a meaningful, lasting impact I can have.

Bonus: So many people hate Scheme and write it off as a useless/impractical language, and yet here I’ve managed to find a great application of the language within the first few weeks at a new job. I think this proves its worth, even if not directly applicable for real work, at least as a great mutual point of understanding/meeting of minds medium.


3 Responses to “info @ the P.Pole 01.20.10”

  • hoimin Says:

    I’ve worked with a programmer who is familiar with SQL and knows of/appreciates Scheme who is on the hunt for work. If your boss would like his contact, email me.

  • hoimin Says:

    Also, Boot Camp now supports Windows 7.

    • Carl Says:

      Actually, since I’ve been Boot Camping with Snow Leopard drivers, Win7 was always supported for me… Dunno if this was because of the beta drivers I was using or whatever, but I’ve never had trouble Boot Camping Win7.

Leave a Reply