summaryrefslogtreecommitdiffstats
path: root/resume.tex
blob: 4edab9632d5d2ff036f0731e9474206a9f596f6b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
% vim:foldmethod=marker commentstring=%%%s
% license {{{
% This work is licensed under the Creative Commons
% Attribution-NonCommercial-ShareAlike License. To view a copy of this license,
% visit http://creativecommons.org/licenses/by-nc-sa/1.0/ or send a letter to
% Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
% This file is adapted from Todd Courtesan's resume, at
% http://www.courtesan.com/todd/resume.html
% }}}
% preamble {{{
\documentclass[letterpaper]{article}
\usepackage{jesse_resume}
\hypersetup{hidelinks}
\setlength{\oddsidemargin}{-0.75in}
\setlength{\evensidemargin}{-0.75in}
\setlength{\textwidth}{8in}
\setlength{\topmargin}{-0.75in}
\setlength{\textheight}{10.5in}
% }}}
\begin{document}
% Header {{{
\resheader{Jesse Luehrs}
          {http://tozt.net/}
          {doy@tozt.net\hspace{0.5in}}
          {(618) 616-6287}
          {70 America St. \#1R}
          {Providence, RI 02903}
% }}}
% Education {{{
\resheading{Education}
\begin{itemize}
    % Hacker School {{{
    \item \ressubheading{Hacker School}{New York, NY}
                        {Student}{September 2014--November 2014}
    % }}}
    % 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}
    % Infinity Interactive {{{
    \item \ressubheading{Infinity Interactive (\url{http://iinteractive.com/})}{Manhasset, NY (telecommuting)}
                        {Senior Programmer}{February 2010--August 2014} \vspace{6pt} \linebreak
        \small{I was 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
        relied heavily on open source software, a large portion of my time was
        also devoted to maintaining various open source projects, as well as
        developing new open source software that could be useful in the
        future.}\normalsize
    % }}}
    % 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
        \small{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 as well as adding font embedding support to the existing
        PostScript format. I also helped add parallel processing support to
        several scientific calculations, using OpenMP. I ported our calculation
        applications from Windows 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.}\normalsize
    % }}}
\end{itemize}
% }}}
% Projects {{{
\resheading{Projects}

\small{A more complete list of my projects is on my website
(\url{https://tozt.net/projects.html}). All of my personal open source work is
also available on GitHub (\url{https://github.com/doy}), and my Perl open
source work is also available on the CPAN
(\url{https://metacpan.org/author/DOY}).}\normalsize\vspace{-3pt}

\begin{itemize}
    % termcast {{{
    \item \resshortsubheading{Termcast (\url{https://github.com/doy/python-termcast-server})}{2014--present} \vspace{6pt} \linebreak
        \small{I wrote a server and client to allow users to stream their terminal
        sessions over the network for other people to watch.}\normalsize
    % }}}
    % libvt100 {{{
    % \item \resshortsubheading{libvt100 (\url{https://github.com/doy/libvt100})}{2014--present} \vspace{6pt} \linebreak
    %     I am the author of libvt100, a terminal parsing library written in C
    %     and Lex. I am currently using it in the Termcast server and in Runes, a
    %     terminal emulator.
    % }}}
    % 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
    %     \small{I wrote Reply, a lightweight and extensible REPL for Perl. It includes
    %     many useful features such as tab completion and history support.}\normalsize
    % }}}
    % Dungeon Crawl Stone Soup {{{
    \item \resshortsubheading{Dungeon Crawl Stone Soup (\url{http://crawl.develz.org/})}{2009--present} \vspace{6pt} \linebreak
        \small{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
        to the game and was also the release manager for the 0.6 release.}\normalsize
    % }}}
    % Plack {{{
    % \item \resshortsubheading{Plack (\url{http://plackperl.org/})}{2012--2013} \vspace{6pt} \linebreak
    %     I am a member of the core development team for PSGI and Plack, the
    %     specification for Perl web server/application interaction (similar to
    %     Python's WSGI and Ruby's Rack).
    % }}}
    % Perl {{{
    \item \resshortsubheading{Perl (\url{http://www.perl.org/})}{2011--2013} \vspace{6pt} \linebreak
        \small{I was the release manager for the 5.17.1 development release of Perl,
        and I have also contributed many bug fixes. I have also been a lead
        developer on the p5-mop project, a prototype of a new object system for
        Perl.}\normalsize
    % }}}
    % 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--2013} \vspace{6pt} \linebreak
        \small{I am a member of the development team for Moose, which provides
        advanced object orientation capabilities to Perl. I was also the
        release manager from 2011--2012.}\normalsize
    % }}}
    % TAEB {{{
    \item \resshortsubheading{TAEB (\url{http://taeb.github.io/})}{2008--2011} \vspace{6pt} \linebreak
        \small{I was one of the lead framework developers for TAEB, a Perl framework
        for programmatic interaction with NetHack. I was also the primary
        developer for the leading AI written for TAEB.}\normalsize
    % }}}
    % 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}

\small{Slides and videos (where available) for these talks can be found at
\url{http://tozt.net/talks.html}.}\normalsize\vspace{-3pt}

\begin{itemize}
    \item \resshortsubheading{Introduction to Rust (50 min)}{YAPC::NA 2014} \vspace{6pt}\linebreak
        \small{This talk describes the Rust programming language, touching on
        its major features and design philosophies that make it
        interesting.}\normalsize
    \item \resshortsubheading{Dependency Injection with Bread::Board (50 min)}{YAPC::NA 2012, YAPC::EU 2012} \vspace{6pt}\linebreak
        \small{This talk provides an overview of dependency injection, and
        gives concrete examples of it using the Bread::Board module for Perl.}\normalsize
    \item \resshortsubheading{OX - the hardest working two letters in Perl (50 min)}{YAPC::NA 2011} \vspace{6pt}\linebreak
        \small{This talk describes the OX web framework for Perl, including a
        conceptual overview and usage examples.}\normalsize
    \item \resshortsubheading{Extending Moose (50 min)}{YAPC::NA 2010} \vspace{6pt}\linebreak
        \small{This talk goes into detail describing Moose's meta object
        protocol, including what it is, how it works, and how you can extend
        it.}\normalsize
\end{itemize}
% }}}
% Skills {{{
\resheading{Skills}
\begin{description}
    \item[Languages:] \small{I am fluent in C, C++, Perl, Lua, and shell, and I am also proficient in Python, JavaScript, HTML/CSS, Scala, Rust, and LaTeX.}\normalsize\vspace{-6pt}
    \item[Tools:] \small{Make, vim, git, Firefox}\normalsize
\end{description}
% }}}
\end{document}