From 8c5f647372218f5bd7fa7718273be213033b6bdd Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Tue, 4 Feb 2014 00:58:56 -0500 Subject: update resume --- resume.tex | 305 +++++++++++++++++++++++++++++++++---------------------------- resume.txt | 211 ++++++++++++++++++++++++++---------------- 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 -- cgit v1.2.3-54-g00ecf