Programming

I'm not a programmer by heart (I prefer problem solving and solution descriptions, which is why I did A.I. and not comp. sci.) but I am one by profession. I regularly program in JAVA and PHP for respectively money and the greater good.

My job involves coming up with solutions (and implementing them) for an architecture aimed at running distributed agent-based reasoning networks (using bayesian inference). This is a ridiculous mouthful, but once you get past the rather tech terms, it's a fairly straight forward and elegantly powerful approach to modeling belief networks. I will be employed through proxy by Thales to work on this for the coming five months (december 2007 through april 2008), and have been working on this project at the University of Amsterdam (the Netherlands) for the last three years. We're making nice progress.

In addition to this I regularly do programming for my nihongoresources.com website, which means mostly programming PHP to do whatever I need it to (handling dynamic content and interfacing with databases mostly).

I also do random programming when I have an idea I think is worth working out in code, like writing a competent AI algorithm for playing mahjong (the traditional game, not the completely-not-related-to-mahjong solitaire variant), or determining the best sequencing for learning all Japanese common-use characters in less than a year.

I consider programming a means to an end. "Code monkey" programming based on supplied specifications where you do what is asked of you, and turn in your code when you're done, holds absolutely no interest for me. There are plenty of people who are comfortable doing that kind of work, and I respect them in the same way I respect farmer coops for supplying my supermarket with the groceries I need. They both do critically essential work, and unless survival depended on it I wouldn't want to be the one who had to do it. I would like to think my skills can be better put at work in different capacities.