From 8c5f647372218f5bd7fa7718273be213033b6bdd Mon Sep 17 00:00:00 2001
From: Jesse Luehrs <doy@tozt.net>
Date: Tue, 4 Feb 2014 00:58:56 -0500
Subject: update resume

---
 resume.tex | 305 +++++++++++++++++++++++++++++++++----------------------------
 1 file changed, 166 insertions(+), 139 deletions(-)

(limited to 'resume.tex')

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}
-- 
cgit v1.2.3-54-g00ecf

