projects i've worked on
Termcast is a program which allows users to stream the contents of terminal-based programs to a central server, and allow other people to watch them. It is useful for remote pair programming, as well as things like spectating on terminal-based games. I have written a client which allows users to broadcast, as well as a server which allows users to watch the broadcasters either over an SSH connection or through a website.
I am the author of libvt100, a terminal parsing library written in C and Lex. I am currently using it in the Termcast server and in Runes, a terminal emulator.
Dungeon Crawl Stone Soup
I am a member of the development team for Dungeon Crawl Stone Soup, a roguelike game written in C++ and Lua. I contributed several features throughout the game, and I was also the release manager for the 0.6 release.
I am the author of Reply, a customizable and lightweight REPL for Perl. It provides features like pluggable tab completion, automatic class loading and refreshing, history support, and (through the Carp::Reply module) automatically launching a REPL when an exception is thrown. It can be easily extended through a powerful plugin system.
I am a member of the core development team for Plack, the reference implementation of the PSGI specification for Perl web server/application interaction (similar to Python's WSGI and Ruby's Rack). I have also contributed to the design of PSGI.
I was the release manager for the 5.17.1 development release of Perl, and I have also contributed many bug fixes to the Perl core. In addition, I have been a lead developer on the p5-mop project, a prototype of a new object system for Perl, including features like a meta-object protocol.
I am a member of the development team for Moose, a module which provides advanced object orientation capabilities for Perl. I was also the release manager from 2011 – 2012. I am also the maintainer of several widely used Moose extensions, such as MooseX::NonMoose and MooseX::Aliases.
Spreadsheet::ParseXLSX is a Perl module which can read .xlsx files (as generated by new versions of Microsoft Excel). It handles reading both the data and formatting from these files.
OX is a web framework for Perl based on the PSGI specification, which uses the Bread::Board dependency injection system to manage application components. We used it internally at Infinity Interactive for many client projects.
I am one of the lead framework developers for TAEB, a Perl framework for programmatic interaction with NetHack. I am also the primary developer for the leading AI written for TAEB.