summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-02-04 00:58:56 -0500
committerJesse Luehrs <doy@tozt.net>2014-03-19 20:32:09 -0400
commit8c5f647372218f5bd7fa7718273be213033b6bdd (patch)
treec91e6cdc10ad28a37077a36f844a2aad67672f38
parent9969dc802062f5434be6b09e335bbef4cba369fc (diff)
downloadresume-8c5f647372218f5bd7fa7718273be213033b6bdd.tar.gz
resume-8c5f647372218f5bd7fa7718273be213033b6bdd.zip
update resume
-rw-r--r--resume.tex305
-rw-r--r--resume.txt211
2 files changed, 297 insertions, 219 deletions
diff --git a/resume.tex b/resume.tex
index eb99ce8..dfe005f 100644
--- a/resume.tex
+++ b/resume.tex
@@ -8,168 +8,195 @@
% http://www.courtesan.com/todd/resume.html
% }}}
% preamble {{{
-\documentclass[letterpaper,10pt]{article}
+\documentclass[letterpaper]{article}
\usepackage{jesse_resume}
-\addtolength{\oddsidemargin}{-0.375in}
-\addtolength{\textwidth}{0.75in}
-\addtolength{\topmargin}{-.2in}
-\addtolength{\textheight}{0.4in}
+\hypersetup{hidelinks}
% }}}
\begin{document}
-% Heading {{{
-\resheader{Jesse P Luehrs}
+% Header {{{
+\resheader{Jesse Luehrs}
{http://tozt.net/}
{doy@tozt.net\hspace{0.5in}}
{(618) 616-6287}
- {702 W. Green St., Apt \#2}
- {Urbana, IL 61801}
+ {70 America St. \#1R}
+ {Providence, RI 02903}
% }}}
% Education {{{
\resheading{Education}
\begin{itemize}
-% UIUC {{{
-\item \ressubheading{University of Illinois at Urbana-Champaign, College of Engineering}
- {Urbana, IL}
- {Bachelor of Science in Computer Science}
- {Aug. 2004--May 2008}
- \begin{minipage}[t]{\textwidth/2-0.2in}
- \begin{itemize}
- \resitem{Overall GPA: 3.61, Technical GPA: 3.81}\vspace{-7pt}
- \resitem{James Scholar in Engineering (2004--2005)}\vspace{4pt}
- \end{itemize}
- \end{minipage}
- \begin{minipage}[t]{\textwidth/2-0.2in}
- \begin{itemize}
- \resitem{Dean's List (Fall 2004--Fall 2006)}\vspace{-7pt}
- \resitem{Graduated with Honors}\vspace{4pt}
- \end{itemize}
- \end{minipage} % }}}
-\end{itemize} % }}}
+ % UIUC {{{
+ \item \ressubheading{University of Illinois at Urbana-Champaign, College of Engineering}{Urbana, IL}
+ {Bachelor of Science in Computer Science with Minor in Mathematics}{August 2004--May 2008}
+ \begin{minipage}[t]{\textwidth/2-0.2in}
+ \begin{itemize}
+ \resitem{Overall GPA: 3.61, Technical GPA: 3.81}\vspace{-7pt}
+ \resitem{James Scholar in Engineering (2004--2005)}\vspace{4pt}
+ \end{itemize}
+ \end{minipage}
+ \begin{minipage}[t]{\textwidth/2-0.2in}
+ \begin{itemize}
+ \resitem{Dean's List (Fall 2004--Fall 2006)}\vspace{-7pt}
+ \resitem{Graduated with Honors}\vspace{4pt}
+ \end{itemize}
+ \end{minipage}
+ % }}}
+\end{itemize}
+% }}}
% Work Experience {{{
\resheading{Work Experience}
\begin{itemize}
-% UIUC Hydrogeology Lab {{{
-\item \ressubheading{UIUC Hydrogeology Lab}
- {Urbana, IL}
- {Visiting Research Programmer}
- {February 2006--present}
- \begin{itemize}
- \resitem{Worked on the Geochemists' Workbench, a geochemistry software suite written in C++ and Tcl/Tk.}
- \resitem{Added or enhanced support for several different image output formats including PDF, SVG, and PostScript, including adding TrueType font embedding to PDF and PostScript files.}
- \resitem{Helped add parallel processing support to several scientific calculations, using OpenMP.}
- \resitem{Designed a new XML-based configuration file format for our applications.}
- \resitem{Ported our calculation applications to Linux, to allow them to be run on large clusters.}
- \resitem{Implemented a testing framework for our calculation applications in Perl, using Test::More.}
- \end{itemize} % }}}
-% Smile-A-While {{{
-\item \ressubheading{Smile-A-While Amusements}
- {Traveling, Illinois/Indiana/Missouri}
- {Concessions manager}
- {Summer 2004 and 2005}
- \begin{itemize}
- \resitem{Managed several amusement games on the Luehrs' Ideal Rides carnival.}
- \end{itemize} % }}}
+ % Infinity Interactive {{{
+ \item \ressubheading{Infinity Interactive (\url{http://iinteractive.com/})}{Manhasset, NY (telecommuting)}
+ {Senior Programmer}{February 2010--present} \vspace{6pt} \linebreak
+ I am in charge of a large, legacy codebase which handles employee
+ engagement survey registration and reporting, and I have also written
+ and deployed many smaller sites myself, mostly using Perl. Since we
+ rely heavily on open source software, a large portion of my time is
+ also devoted to maintaining various open source projects, as well as
+ developing new open source software that could be useful in the future.
+ For instance, I contributed to Moose, Plack, and Perl through work, and
+ developed OX, Text::Handlebars, and p5-mop for use in work. These
+ projects are described more fully below.
+ % }}}
+ % UIUC Hydrogeology Lab {{{
+ \item \ressubheading{UIUC Hydrogeology Lab (\url{http://www.gwb.com/})}{Urbana, IL}
+ {Visiting Research Programmer}{February 2006--February 2010} \vspace{6pt} \linebreak
+ I worked on the Geochemists' Workbench, a geochemistry software suite
+ written in C++ and Tcl/Tk. I added support for several new image output
+ formats, including PDF, SVG, and Adobe Illustrator, as well as
+ improving the existing PostScript support by adding the ability to
+ embed TrueType fonts. I also helped add parallel processing support to
+ several scientific calculations, using OpenMP. I designed a new
+ XML-based configuration file format for our applications and ported our
+ calculation applications to Linux, to allow them to be run on large
+ clusters. Finally, I implemented a testing framework for our
+ calculation applications using Perl's Test::More.
+ % }}}
\end{itemize}
% }}}
% Projects {{{
\resheading{Projects}
+
+All of my personal open source work is available on GitHub
+(\url{https://github.com/doy}). My Perl open source work is also available on
+the CPAN (\url{https://metacpan.org/author/DOY}).
+
+\begin{itemize}
+ % Text::Handlebars {{{
+ \item \resshortsubheading{Text::Handlebars (\url{https://github.com/doy/text-handlebars})}{2013--present} \vspace{6pt} \linebreak
+ I am the author of Text::Handlebars, a port of the Handlebars.js
+ templating language to Perl. It uses a custom parser on top of the
+ Xslate template engine framework. It supports nearly the entire feature
+ set of the JavaScript implementation, and we used it at Infinity
+ Interactive to ease the transition of one of our large web applications
+ from client side templates to server side templates.
+ % }}}
+ % Reply {{{
+ \item \resshortsubheading{Reply (\url{https://github.com/doy/reply})}{2013--present} \vspace{6pt} \linebreak
+ 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.
+ % }}}
+ % Plack {{{
+ \item \resshortsubheading{Plack (\url{http://plackperl.org/})}{2012--present} \vspace{6pt} \linebreak
+ 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 contributed to the design of PSGI, as well as
+ implementing my own PSGI-based web framework called OX (below).
+ % }}}
+ % p5-mop {{{
+ \item \resshortsubheading{p5-mop (\url{https://github.com/stevan/p5-mop-redux})}{2011--present} \vspace{6pt} \linebreak
+ I am one of the lead developers for p5-mop, which is a prototype for a
+ new object system for the Perl core. It provides features such as
+ attribute declarations, method signatures, and roles to bring Perl up
+ to the level of other modern languages, but it also includes a fully
+ featured meta object protocol, for an added level of power and
+ customizability.
+ % }}}
+ % Perl {{{
+ \item \resshortsubheading{Perl (\url{http://www.perl.org/})}{2011--present} \vspace{6pt} \linebreak
+ 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. I am
+ currently working on preparing the p5-mop project (above) for
+ integration into the Perl core.
+ % }}}
+\end{itemize}
+\pagebreak
+\resheading{Projects (continued)}
+\begin{itemize}
+ % OX {{{
+ \item \resshortsubheading{OX (\url{https://github.com/iinteractive/OX})}{2011--present} \vspace{6pt} \linebreak
+ I am the lead author of OX, a web framework for Perl based on the PSGI
+ specification, which uses the Bread::Board dependency injection system
+ to manage application components. We have used it internally at
+ Infinity Interactive for many client projects. In addition to writing
+ most of the framework itself, I also wrote a series of advent calendar
+ posts documenting it, which can be seen at
+ \url{http://ox.iinteractive.com/advent/}.
+ % }}}
+ % Moose {{{
+ \item \resshortsubheading{Moose (\url{http://moose.perl.org/})}{2009--present} \vspace{6pt} \linebreak
+ I am a member of the lead development team for Moose, a module which
+ provides advanced object orientation capabilities for Perl. I was also
+ the release manager from 2011--2012. I wrote several extensions for
+ Moose, including MooseX::NonMoose, which allows classes built with
+ Moose to easily interoperate with other types of classes, and
+ MooseX::Aliases, which allows Moose attributes to be referred to by
+ different names.
+ % }}}
+ % TAEB {{{
+ \item \resshortsubheading{TAEB (\url{http://taeb.github.io/})}{2008--present} \vspace{6pt} \linebreak
+ 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. I developed several
+ standalone Perl modules, including Graph::Implicit, which implements
+ several useful graph algorithms, and IO::Pty::Easy, which provides a
+ simple read/write interface for interacting with pseudo terminals.
+ % }}}
+ % Dungeon Crawl Stone Soup {{{
+ \item \resshortsubheading{Dungeon Crawl Stone Soup (\url{http://crawl.develz.org/})}{2009--2012} \vspace{6pt} \linebreak
+ 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.
+ % }}}
+ % Volition {{{
+ \item \resshortsubheading{System for Defining, Documenting and Recording Game Events (\url{http://volition-inc.com/})}{2007--2008} \vspace{6pt} \linebreak
+ This is a library written in C which can be added to games in order to
+ track arbitrary events and report them to a remote server, for use in
+ gameplay testing. This project was completed for Volition as my senior
+ project, and was used as part of their testing process for Saints Row
+ 2.
+ % }}}
+\end{itemize}
+% }}}
+% Talks {{{
+\resheading{Talks}
+
+Slides and videos (where available) for these talks can be found at \url{http://tozt.net/talks.html}.
+
\begin{itemize}
-% Moose {{{
-\item \resshortsubheading{Moose (http://moose.perl.org/)}{2009--Present}
- \begin{itemize}
- \resitem{Member of the Moose Cabal, the lead development team for Moose.}
- \resitem{Wrote several extensions for Moose, including MooseX::NonMoose, which allows classes built with Moose to easily interoperate with other types of classes, and MooseX::Aliases, which allows Moose attributes to be referred to by different names.}
- \end{itemize} % }}}
-% Bot::Games {{{
-\item \resshortsubheading{Bot::Games (http://github.com/doy/bot-games)}{2009--Present}
- \begin{itemize}
- \resitem{Bot::Games is an IRC bot framework written in Perl, designed for multiplayer game moderation.}
- \resitem{Uses Moose extensively to provide a clean and extensible plugin system for adding games.}
- \end{itemize} % }}}
-% TAEB {{{
-\item \resshortsubheading{TAEB (http://taeb.sartak.org/)}{2008--Present}
- \begin{itemize}
- \resitem{TAEB is a Perl framework (using Moose) for programmatic interaction with NetHack (http://nethack.org/).}
- \resitem{Primary developer for the leading AI written for TAEB.}
- \resitem{Developed several standalone Perl modules in the course of development, including Graph::Implicit, which implements several useful graph algorithms, and IO::Pty::Easy, which provides a simple read/write interface for interacting with pseudo-terminals.}
- \end{itemize} % }}}
-% Smithy {{{
-\item \resshortsubheading{Smithy (http://sourceforge.net/projects/smithy/)}{2008}
- \begin{itemize}
- \resitem{Smithy is a cross-platform map editor for the Aleph One engine (http://marathon.sourceforge.net/), written in OCaml.}
- \resitem{Contributed several GUI improvements, including writing custom widgets using LablGTK.}
- \end{itemize} % }}}
-% %hm-command {{{
-%%\item \resshortsubheading{hm-command (http://tozt.net/code/hm-command/)}{2008--Present}
- %%\begin{itemize}
- %%\resitem{hm-command is a script for interacting with Hiveminder (http://hiveminder.com).}
- %%\resitem{It is written in Perl, and uses the Net::Hiveminder module to interact with Jifty's REST interface.}
- %%\end{itemize} % }}}
-% Volition {{{
-\item \resshortsubheading{System for Defining, Documenting and Recording Game Events (http://volition-inc.com/)}{2007--2008}
- \begin{itemize}
- \resitem{This is a library written in C which can be added to games in order to track arbitrary events and report them to a remote server, for use in gameplay testing.}
- \end{itemize} % }}}
-% %LuaSignal {{{
-%%\item \resshortsubheading{LuaSignal (http://luaforge.net/projects/lua-signal/)}{2007--2008}
- %%\begin{itemize}
- %%\resitem{This is a library for Lua written mostly in C, which provides POSIX signal handling support to Lua scripts.}
- %%\end{itemize} % }}}
-% LuaIRC {{{
-\item \resshortsubheading{LuaIRC (http://luaforge.net/projects/luairc/)}{2006--2008}
- \begin{itemize}
- \resitem{LuaIRC is a fully-featured IRC framework written in Lua.}
- \resitem{Supports all standard IRC functionality, including CTCP and DCC.}
- \end{itemize} % }}}
-% %Illinexus {{{
-%%\item \resshortsubheading{Illinexus (http://www.illinexus.org/)}{2006--Present}
- %%\begin{itemize}
- %%\resitem{I am the system administrator for Illinexus, which provides a free web hosting service for UIUC students and registered student organizations.}
- %%\end{itemize} % }}}
-% %Interhack {{{
-%%\item \resshortsubheading{Interhack (http://interhack.us/)}{2007}
- %%\begin{itemize}
- %%\resitem{Interhack is a program written in object-oriented Perl, using the Calf object system (a stripped down version of Moose). It provides user interface enhancements for the game NetHack.}
- %%\resitem{For Interhack I also developed the Perl module IO::Pty::Easy, which allows for spawning subprocesses on a pseudo-terminal, and provides access to stdin/stdout of that subprocess through a simple read/write interface.}
- %%\end{itemize} % }}}
-% %Sonnet {{{
-%%\item \resshortsubheading{Sonnet (http://tozt.net/code/sonnet/)}{2006}
- %%\begin{itemize}
- %%\resitem{Sonnet is an implementation of a Forth variant in Lua.}
- %%\end{itemize} % }}}
-% %LSLua {{{
-%%\item \resshortsubheading{LSLua}{2005--2006}
- %%\begin{itemize}
- %%\resitem{LSLua is a module for the alternative Windows shell LiteStep, which provides Lua scripting capabilities to theme authors. It is written in C++, using the Lua C API.}
- %%\end{itemize} % }}}
-% %Ars Physica {{{
-%%\item \resshortsubheading{Ars Physica (https://www-s.acm.uiuc.edu/wiki/space/Ars+Physica)}{2004--2005}
- %%\begin{itemize}
- %%\resitem{Ars Physica is a 3d puzzle game written in C++. I added Lua bindings to it, and used them to extend certain aspects of the game.}
- %%\end{itemize} % }}}
+ \item \resshortsubheading{Dependency Injection with Bread::Board (50 min)}{YAPC::NA 2012, YAPC::EU 2012} \vspace{6pt}\linebreak
+ This talk provides an overview of dependency injection, and gives
+ concrete examples of it using the Bread::Board and
+ Bread::Board::Declare Perl modules.
+ \item \resshortsubheading{OX - the hardest working two letters in Perl (50 min)}{YAPC::NA 2011} \vspace{6pt}\linebreak
+ This talk describes the OX web framework for Perl (mentioned above in
+ the Projects section), including a conceptual overview and usage
+ examples.
+ \item \resshortsubheading{Extending Moose (50 min)}{YAPC::NA 2010} \vspace{6pt}\linebreak
+ This talk goes into detail describing Moose's meta object protocol,
+ including what it is, how it works, and how you can extend it.
\end{itemize}
% }}}
% Skills {{{
\resheading{Skills}
\begin{description}
-\item[Languages:]
-\begin{minipage}[t]{6.5in}
-\begin{description}
-\item Proficient in C, C++, Perl (CPAN id: DOY), Lua, Bash, OCaml
-\item Working knowledge of Ruby, Tcl/Tk, JavaScript, LaTeX, HTML/CSS, PostScript, sed
-\end{description}
-\end{minipage}
-\item[Operating Systems:] Linux (Arch, Debian, Gentoo), Windows (2000, XP)
-% TODO: other appropriate tools? should i mention vimscripting?
-\item[Tools:] Make, Vim, Microsoft Visual Studio, Cygwin, Darcs, Subversion, Git
-\end{description}
-% }}}
-% Activities {{{
-\resheading{Activities}
-\begin{description}
-% TODO: need to find some better stuff for here...
-\item[Inline Insomniacs:] I was the webmaster for the Inline Insomniacs rollerblading club from 2005 until 2007.
-\item[Falling Illini:] I was a member of the Falling Illini skydiving club from 2007 until 2008.
+ \item[Languages:] I am fluent in C, C++, Perl, Lua, and shell, and I am proficient in JavaScript, HTML/CSS, Scala, Rust, Tcl/Tk, and LaTeX.\vspace{-6pt}
+\item[Tools:] Make, vim, git, Firefox
\end{description}
% }}}
\end{document}
diff --git a/resume.txt b/resume.txt
index 4c492eb..339618b 100644
--- a/resume.txt
+++ b/resume.txt
@@ -1,7 +1,7 @@
-Jesse P Luehrs
-==============
-Address: 702 W. Green St., Apt #2
- Urbana, IL 61801
+Jesse Luehrs
+============
+Address: 70 America St. #1R
+ Providence, RI 02903
Phone: (618) 616-6287
Email: doy@tozt.net
Website: http://tozt.net/
@@ -11,8 +11,8 @@ Education
=========
University of Illinois at Urbana-Champaign, College of Engineering
Urbana, IL
-Bachelor of Science in Computer Science
-Aug. 2004 - May 2008
+Bachelor of Science in Computer Science with Minor in Mathematics
+August 2004 - May 2008
- Overall GPA: 3.61, Technical GPA: 3.81
- James Scholar in Engineering (2004 - 2005)
- Dean's List (Fall 2004 - Fall 2006)
@@ -21,90 +21,141 @@ Aug. 2004 - May 2008
===============
Work Experience
===============
-UIUC Hydrogeology Lab
+Infinity Interactive (http://iinteractive.com/)
+Manhasset, NY (telecommuting)
+Senior Programmer
+February 2010 - present
+ I am in charge of a large, legacy codebase which handles employee
+ engagement survey registration and reporting, and I have also written
+ and deployed many smaller sites myself, mostly using Perl. Since we
+ rely heavily on open source software, a large portion of my time is
+ also devoted to maintaining various open source projects, as well as
+ developing new open source software that could be useful in the
+ future. For instance, I contributed to Moose, Plack, and Perl through
+ work, and developed OX, Text::Handlebars, and p5-mop for use in work.
+ These projects are described more fully below.
+
+UIUC Hydrogeology Lab (http://www.gwb.com/)
Urbana, IL
Visiting Research Programmer
-February 2006 - present
-- Worked on the Geochemists' Workbench, a geochemistry software suite
- written in C++ and Tcl/Tk.
-- Added or enhanced support for several different image output formats
- including PDF, SVG, and PostScript, including adding TrueType font
- embedding to PDF and PostScript files.
-- Helped add parallel processing support to several scientific
- calculations, using OpenMP.
-- Designed a new XML-based configuration file format for our
- applications.
-- Ported our calculation applications to Linux, to allow them to be run
- on large clusters.
-- Implemented a testing framework for our calculation applications in
- Perl, using Test::More.
-
-Smile-A-While Amusements
-Traveling, Illinois/Indiana/Missouri
-Concessions manager
-Summer 2004 and 2005
-- Managed several amusement games on the Luehrs' Ideal Rides carnival.
+February 2006 - February 2010
+ I worked on the Geochemists' Workbench, a geochemistry software suite
+ written in C++ and Tcl/Tk. I added support for several new image
+ output formats, including PDF, SVG, and Adobe Illustrator, as well as
+ improving the existing PostScript support by adding the ability to
+ embed TrueType fonts. I also helped add parallel processing support to
+ several scientific calculations, using OpenMP. I designed a new
+ XML-based configuration file format for our applications and ported
+ our calculation applications to Linux, to allow them to be run on
+ large clusters. Finally, I implemented a testing framework for our
+ calculation applications using Perl's Test::More.
========
Projects
========
-Moose (http://moose.perl.org/): 2009 - Present
-- Member of the Moose Cabal, the lead development team for Moose.
-- Wrote several extensions for Moose, including MooseX::NonMoose, which
- allows classes built with Moose to easily interoperate with other
- types of classes, and MooseX::Aliases, which allows Moose attributes
- to be referred to by different names.
-
-Bot::Games (http://github.com/doy/bot-games): 2009 - Present
-- Bot::Games is an IRC bot framework written in Perl, designed for
- multiplayer game moderation.
-- Uses Moose extensively to provide a clean and extensible plugin system
- for adding games.
-
-TAEB (http://taeb.sartak.org/): 2008 - Present
-- TAEB is a Perl framework (using Moose) for programmatic interaction
- with NetHack (http://nethack.org/).
-- Primary developer for the leading AI written for TAEB.
-- Developed several standalone Perl modules in the course of
- development, including Graph::Implicit, which implements several
- useful graph algorithms, and IO::Pty::Easy, which provides a simple
- read/write interface for interacting with pseudo-terminals.
-
-Smithy (http://sourceforge.net/projects/smithy/): 2008
-- Smithy is a cross-platform map editor for the Aleph One engine
- (http://marathon.sourceforge.net/), written in OCaml.
-- Contributed several GUI improvements, including writing custom widgets
- using LablGTK.
-
-System for Defining, Documenting and Recording Game Events
+All of my personal open source work is available on GitHub
+(https://github.com/doy). My Perl open source work is also available on
+the CPAN (https://metacpan.org/author/DOY).
+
+Text::Handlebars (https://github.com/doy/text-handlebars): 2013 - present
+ I am the author of Text::Handlebars, a port of the Handlebars.js
+ templating language to Perl. It uses a custom parser on top of the
+ Xslate template engine framework. It supports nearly the entire
+ feature set of the JavaScript implementation, and we used it at
+ Infinity Interactive to ease the transition of one of our large web
+ applications from client side templates to server side templates.
+
+Reply (https://github.com/doy/reply): 2013 - present
+ 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.
+
+Plack (http://plackperl.org/): 2012 - present
+ 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 contributed to the design of PSGI, as well as
+ implementing my own PSGI-based web framework called OX (below).
+
+p5-mop (https://github.com/stevan/p5-mop-redux): 2011 - present
+ I am one of the lead developers for p5-mop, which is a prototype for a
+ new object system for the Perl core. It provides features such as
+ attribute declarations, method signatures, and roles to bring Perl up
+ to the level of other modern languages, but it also includes a fully
+ featured meta object protocol, for an added level of power and
+ customizability.
+
+Perl (http://www.perl.org/): 2011 - present
+ 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. I am
+ currently working on preparing the p5-mop project (above) for
+ integration into the Perl core.
+
+OX (https://github.com/iinteractive/OX): 2011 - present
+ I am the lead author of OX, a web framework for Perl based on the PSGI
+ specification, which uses the Bread::Board dependency injection system
+ to manage application components. We have used it internally at
+ Infinity Interactive for many client projects. In addition to writing
+ most of the framework itself, I also wrote a series of advent calendar
+ posts documenting it, which can be seen at
+ http://ox.iinteractive.com/advent/.
+
+Moose (http://moose.perl.org/): 2009 - present
+ I am a member of the lead development team for Moose, a module which
+ provides advanced object orientation capabilities for Perl. I was also
+ the release manager from 2011--2012. I wrote several extensions for
+ Moose, including MooseX::NonMoose, which allows classes built with
+ Moose to easily interoperate with other types of classes, and
+ MooseX::Aliases, which allows Moose attributes to be referred to by
+ different names.
+
+TAEB (http://taeb.github.io/): 2008 - present
+ 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. I developed several
+ standalone Perl modules, including Graph::Implicit, which implements
+ several useful graph algorithms, and IO::Pty::Easy, which provides a
+ simple read/write interface for interacting with pseudo terminals.
+
+Dungeon Crawl Stone Soup (http://crawl.develz.org/): 2009 - 2012
+ 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.
+
+System for Defining, Documenting, and Recording Game Events
(http://volition-inc.com/): 2007 - 2008
-- This is a library written in C which can be added to games in order to
+ This is a library written in C which can be added to games in order to
track arbitrary events and report them to a remote server, for use in
- gameplay testing.
+ gameplay testing. This project was completed for Volition as my senior
+ project, and was used as part of their testing process for Saints Row
+ 2.
+
+=====
+Talks
+=====
+Slides and videos (where available) for these talks can be found at
+http://tozt.net/talks.html.
+
+Dependency Injection with Bread::Board (50 min): YAPC::NA 2012, YAPC::EU 2012
+ This talk provides an overview of dependency injection, and gives
+ concrete examples of it using the Bread::Board and
+ Bread::Board::Declare Perl modules.
+
+OX - the hardest working two letters in Perl (50 min): YAPC::NA 2011
+ This talk describes the OX web framework for Perl (mentioned above in
+ the Projects section), including a conceptual overview and usage
+ examples.
-LuaIRC (http://luaforge.net/projects/luairc/): 2006 - 2008
-- LuaIRC is a fully-featured IRC framework written in Lua.
-- Supports all standard IRC functionality, including CTCP and DCC.
+Extending Moose (50 min): YAPC::NA 2010
+ This talk goes into detail describing Moose's meta object protocol,
+ including what it is, how it works, and how you can extend it.
======
Skills
======
-Languages:
-- Proficient in C, C++, Perl (CPAN id: DOY), Lua, Bash, OCaml
-- Working knowledge of Ruby, Tcl/Tk, JavaScript, LaTeX, HTML/CSS,
- PostScript, sed
-Operating Systems:
-- Linux (Arch, Debian, Gentoo)
-- Windows (2000, XP)
-Tools:
-- Make, Vim, Microsoft Visual Studio, Cygwin, Darcs, Subversion, Git
-
-==========
-Activities
-==========
-Inline Insomniacs:
-- I was the webmaster for the Inline Insomniacs rollerblading club from
- 2005 until 2007.
-Falling Illini:
-- I was a member of the Falling Illini skydiving club from 2007 until
- 2008.
+Languages: I am fluent in C, C++, Perl, Lua, and shell, and I am
+ proficient in JavaScript, HTML/CSS, Scala, Rust, Tcl/Tk, and LaTeX.
+Tools: Make, vim, git, Firefox