research
In delineating research from experience, I am forced to draw a fairly arbitrary distinction between that which is sufficiently novel and that which is insufficiently so. My view is that proper research is a tool for others, a cog in a yet-unknown machine, which is justified not on the basis of its consumption alone but on the value of its application. This has the quirky side-effect of equating teaching with research (although the organiation of this website does not bear this out) and explains quite well my beliefs on the imperative of effective knowledge transmission. Those projects which are listed here should have the effect of making related work both simpler and more certain.
economics
My economic research focuses on deriving aggregate predictions from microfoundations using techniques found in evolutionary theory, information acquisition, and agent-based simulations. Where traditional macroeconomic theory has focused on slowly refining models to improve their content, I endorse the alternate viewpoint that macroeconomic features should arise from simple interactions on the part of micro-level agents; this tension is familiar to researchers of artificial intelligence, as evidenced by the work of Douglas Hofstadter. As computational power improves, we have the ability to make well-formed statistical predictions about the real world through such low-level interactions, but gaining traction in the economic establishment will require parity in theoretical advances in the area. To this extent, motivating known macroeconomic features through simple microeconomic behavior is an area which is ripe for study.
programming
While not whitepaper material, I have written a handful of projects which are something more than frontends to databases. It may be a stretch to classify them as research proper, but there is content within which is somewhat deeper than standard Web 2.0. Over the years, I've learned to accomplish things in ASP, bash, Bunnyscript, C, C++, Coldfusion, DOS, Haskell, Java, Javascript, Lisp, LOLCODE, Logo, MATLAB, Pascal, Perl, PHP, Piet, Prolog, Python, R, Ruby, SQL, TI-BASIC, and Visual Basic (at one point I'd become determined to learn Fortress); I consider myself handy, but don't trust me with a soldering iron.
- Javascript Logo
A partial (yet fairly robust) implementation of the Microworlds dialect of Logo through Javascript and canvas. Documentation is as-yet nonexistent, but there are several examples to demonstrate basic features; the header graphics on this website are generated through the interpreter, so viewing source is another excellent tool. Currently there is no turtle icon moving around, since Inkscape runs like molasses on my machine.
- LaTeX to png
Generates png graphics from LaTeX math markup. This page scrapes output from a similar system available at
sciencesoft.at, but makes the whole get-up far more user-friendly. As of
right now, I am hosting 11625 mathematical formulas available to the world, which proves that someone out there finds this useful.
- ROFLBOT
A locally-successful rock-paper-scissors runner-up, coming in second place in the first-and-last annual Homestead Rock-Paper-Scissors championship (where the only rule was to not implement
Iocaine Powder). The primary challenge of this was not so much implementing a complex decision rule as it was implementing it in LOLCODE. Still, I am proud of its performance at the time.
- YALI
A Perl interpreter for
LOLCODE, albeit a fairly slow one (absolutely, not relative to other interpreters). While cat macros have come and gone — and good riddance — this experiment in language design and implementation has proved fairly instructive downstream.