summaryrefslogtreecommitdiffstats
path: root/resume.tex
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 /resume.tex
parent9969dc802062f5434be6b09e335bbef4cba369fc (diff)
downloadresume-8c5f647372218f5bd7fa7718273be213033b6bdd.tar.gz
resume-8c5f647372218f5bd7fa7718273be213033b6bdd.zip
update resume
Diffstat (limited to 'resume.tex')
-rw-r--r--resume.tex305
1 files changed, 166 insertions, 139 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}