thoughts/docs/about/resume.html

729 lines
28 KiB
HTML
Raw Normal View History

2015-07-23 00:21:10 -04:00
<!DOCTYPE html>
<html>
<head>
<title>Mike Gerwitz&mdash;Résumé</title>
<link rel="stylesheet" href="resume/style.css" type="text/css" />
<link rel="stylesheet" href="resume/style-print.css" type="text/css" media="print" />
<meta charset="utf-8" />
</head>
<body>
<div id="header">
<div class="leftcol">
<h1 class="name">Michael T. Gerwitz</h1>
<h2 class="name-subline">
<a href="http://gnu.org/philosophy/free-sw.html">Free Software</a>
Hacker
</h2>
</div>
<div id="infobox">
<address>
<span class="street-address">
26 Culpepper Rd.<br />
Williamsville, NY, 14221
</span>
</address>
<dl class="contact">
<dt>E-mail:</dt>
<dd>
<a href="mailto:mtg@gnu.org">mtg@gnu.org</a>
</dd>
<dt>Website:</dt>
<dd>
<a href="http://mikegerwitz.com/">http://mikegerwitz.com/</a>
</dd>
<dt>Phone:</dt>
<dd>
<span class="nocss">
Please enable CSS to see phone number, or view the
stylesheet. This is just a precaution against
scrapers. Sorry!
</span>
+1 <div class="phone">9<span class="phony">76</span>80</div>
2015-07-23 00:21:10 -04:00
</dd>
</dl>
</div>
<ul class="links">
<li>
<a href="https://gitlab.com/u/mikegerwitz">
<img src="/images/gitlab.svg"
width="42" height="42"
alt="See me on Gitlab"
title="See me on Gitlab" />
</a>
</li>
<li>
<a href="https://github.com/mikegerwitz">
<img src="/images/github-42.png"
width="42" height="42"
alt="See me on GitHub"
title="See me on GitHub" />
</a>
</li>
<li>
<a href="http://www.fsf.org/register_form?referrer=5804">
<img src="/images/fsf-42.png"
width="42" height="42"
alt="FSF Member #5804"
title="FSF Member #5804"
/>
</a>
</li>
<li>
<a href="https://savannah.gnu.org/users/mikegerwitz">
<img src="/images/meditate-42.png"
width="42" height="42"
alt="See me on Savannah"
title="See me on Savannah" />
</a>
</li>
</ul>
</div>
<div class="clear head">&nbsp;</div>
<div id="content">
<h2>Objective</h2>
<p>
Full-time system, server, and/or web application software developer
with a passionate team of hackers
that <a href="https://gnu.org/philosophy/free-sw.html">respect users'
freedoms</a>, strive to innovate, and embrace challenge.
</p>
<h2>Summary</h2>
<p>
I am a self-driven and passionate hacker with sixteen years'
experience in various areas of software development. I am
a <a href="https://gnu.org/philosophy/free-sw.html">free
software</a> activist, a volunteer and maintainer for
the <a href="https://gnu.org">GNU Project</a>, and contribute to
various free software projects. I am seeking a challenging and
innovative team of hackers that are also passionate about their work
and will take advantage of my wide range of
skills. A&nbsp;prospective employer must be willing to
produce <a data-print="true" href="https://gnu.org/philosophy/free-sw.html">free
software</a>.
</p>
<h2>Experience</h2>
<dl id="experience">
<dt>LoVullo Associates, Inc.</dt>
<dd class="period">March 2009&ndash;Present</dd>
<dd class="desc">
Designs, develops, and maintains web applications, application
frameworks, server software, and compilers for domain-specific
languages (DSLs) for an Excess and Surplus Lines Insurance
Agency. Most work involves developing complex online raters to provide
comparative insurance quotes, integrating and automating various
systems, and providing a suite of development tools and DSLs to
support those systems. Also responsible for developer training
and extensive knowledge transfer through design discussions,
documentation, peer programming, and code review.
</dd>
<dd class="desc">
Some code written for LoVullo Associates has
been <a data-print="true" href="https://github.com/lovullo"
title="LoVullo Associates on GitHub">released as free
software</a>, and I continue to liberate more. I drive this
effort almost exclusively.
</dd>
<dt>Freelance Web Developer</dt>
<dd class="period">March 2006&ndash;March 2009</dd>
<dd class="desc">
Worked as a freelance web developer primarily through vWorker
(previously RentACoder) with a 10/10 rating, ranked higher than 99% of
all other coders.
</dd>
<dt>Earth's Magic, Inc.</dt>
<dd class="period">May 2006&ndash;September 2007</dd>
<dd class="desc">
Created an online pregnancy journal website for a client based off of
the popular bulletin board software phpBB.
</dd>
</dl>
<h2>Education</h2>
<dl>
<dt>Self Educated</dt>
<dd class="period">2000&ndash;Present</dd>
<dd class="desc">
Primarily self educated: learning through experimentation; hacking
free software; interaction with others; and extensive reading and
research.
</dd>
<dt>Clarence High School</dt>
<dd class="period">September 2002&ndash;June 2007</dd>
<dd class="desc">
Attended technology and programming courses with pre-existing
knowledge that surpassed that of the instructors' and vastly
exceeded class scope. Helped to instruct students when instructor
was unavailable, and aided in the answering of any questions.
</dd>
</dl>
<h2>Projects</h2>
<p class="nopgbrk">
Listed here are my own projects, as well as projects to which I have
contributed notably. I have many miscellaneous playthings that are
not listed here; see
my <a data-print="true"
href="https://gitlab.com/u/mikegerwitz">GitLab profile</a> for a
full list.
</p>
<dl data-print-links="true">
<dt><a href="https://gnu.org/s/easejs">GNU ease.js</a></dt>
<dd class="period">November 2010&ndash;Present</dd>
<dd class="type">Author</dd>
<dd class="desc">
A Classical Object-Oriented framework for JavaScript, intended to
eliminate boilerplate code and &ldquo;ease&rdquo; the transition
into JavaScript from other Object-Oriented languages. Features
include simple and intuitive class definitions; classical
inheritance; abstract classes and methods; interfaces; access
modifiers; static and constant members; and traits as
mixins. Became a GNU project in December of 2013.
</dd>
<dd class="desc">
GNU ease.js
<a href="https://www.gnu.org/software/easejs/manual/About.html">was
created</a> as a personal project to simplify development of a
project at LoVullo Associates, and supports ECMAScript 3 browsers
(as far back is IE
5.5). <a href="https://www.gnu.org/software/easejs/manual/Implementation-Details.html">Implementation
details and rationale</a> are documented extensively in the manual
and comprehensive test cases. See
also <a href="http://mikegerwitz.com/papers/coope"
class="title">Classifical Object-Oriented Programming with
ECMAScript</a>. Copyright has been assigned to the Free Software
Foundation.
</dd>
<dd class="desc">
<ul class="lang detail-list">
<li>JavaScript (ECMAScript 3, ECMAScript 5)</li>
<li>Shell (POSIX, Bash)</li>
<li>Autotools (Autoconf, Automake)</li>
<li>Texinfo</li>
<li>AWK</li>
<li>Sed</li>
<li>Git</li>
<li>LibreJS-Compatible</li>
</ul>
</dd>
<dt><a href="https://gnu.org/s/screen">GNU Screen</a></dt>
<dd class="period">November 2013&ndash;Present</dd>
<dd class="type">Contributor</dd>
<dd class="desc">
Refactoring and cleanup of window message system and related code;
creation of supporting abstractions; introduced unit
tests. Working on integrating GNU Guile.
</dd>
<dd class="desc">
This began as a cooperative effort between myself and Amadeusz
Sławiński to resurrect the stalled development of GNU
Screen. Amadeusz is now a co-maintainer of the project and
<a href="http://git.savannah.gnu.org/cgit/screen.git/log/?qt=author&amp;q=Mike+Gerwitz">my
changes have been merged upstream</a>.
</dd>
<dd class="desc">
<ul class="lang detail-list">
<li>C (ANSI C, C11)</li>
<li>GDB</li>
<li>GNU Make</li>
<li>GNU Guile</li>
<li>Gnulib (Test Headers)</li>
</ul>
</dd>
<dt><a href="https://gitlab.com/mikegerwitz/git-shortmaps">Git Shortmaps</a></dt>
<dd class="period">December 2013&ndash;Present</dd>
<dd class="type">Author</dd>
<dd class="desc">
Concise (mostly one- and two-character), user-configurable
commands for Git with support for Bash tab completion. Developed
to drastically reduce tedious and frustrating repetitiveness of
common Git commands.
</dd>
<dd class="desc">
<ul class="lang detail-list">
<li>Shell (Bash)</li>
<li>Git</li>
</ul>
</dd>
<dt><a href="https://gitlab.com/mikegerwitz/shspec/">shspec</a></dt>
<dd class="period">May 2014&ndash;Present</dd>
<dd class="type">Author</dd>
<dd class="desc">
Behavior-driven development (BDD) for Shell. Project is incomplete.
</dd>
<dd class="desc">
<ul class="lang detail-list">
<li>Shell (Bash)</li>
<li>Autotools (Autoconf, Automake)</li>
</ul>
</dd>
</dl>
<h2>Articles, Awards, and Publications</h2>
<p>
I am an avid technical writer and activist; my writings are
available
<a data-print="true" href="http://mikegerwitz.com/papers">on my
personal website</a>. This section highlights the most
notable. <span class="print-only">Direct links are provided in the
online version of this résumé.</span>
</p>
<dl>
<dt>
<a href="https://mikegerwitz.com/talks">
Restore Online Freedom!</a></dt>
<dd class="period">March 2016</dd>
<dd class="desc">
My talk
at <a href="https://libreplanet.org/2016/">LibrePlanet&nbsp;2016</a>
about privacy, surveillance, and freedom on the&nbsp;Web.
</dd>
2015-07-23 00:21:10 -04:00
<dt>
<a href="https://about.gitlab.com/2015/05/20/gitlab-gitorious-free-software/">
Gitlab, Gitorious, and Free Software</a></dt>
<dd class="period">May 2015</dd>
<dd class="desc">
Guest post written at the request of GitLab B.V. CEO Sytse
Sijbrandij to both explain the controversy surrounding GitLab's
acquisition of Gitorious, and to celebrate our joint effort to
license all of GibLab EE's JavaScript code&mdash;and any code that
generates it&mdash;as free software.
</dd>
<dt>
<a href="http://mikegerwitz.com/2013/06/National-Uproar-A-Comprehensive-Overview-of-the-NSA-Leaks-and-Revelations">
National Uproar: A Comprehensive Overview of the NSA Leaks and Revelations</a></dt>
<dd class="period">June 2013</dd>
<dd class="desc">
An extensive article with over sixty references written just after
the Guardian released the Verizon Order for the collection of
telephone metadata, acquired by the now-known Edward
Snowden. Maintained first or second ranking on Google for the
search term &ldquo;NSA leak summary&rdquo; for days, and to this
day is still within the top fifteen search results.
</dd>
<dt>
<a href="http://mikegerwitz.com/papers/git-horror-story">
A Git Horror Story: Repository Integrity With Signed Commits</a></dt>
<dd class="period">May 2012</dd>
<dd class="desc">
An in-depth article on Git commit signing written shortly after
support was added to Git. It
maintained <a href="https://news.ycombinator.com/item?id=4007229">the
top rank on HackerNews</a> for the entire business day, largely
introducing the Git commit signing concept to the
community. Widely cited, notably
by <a href="https://community.rapid7.com/community/metasploit/blog/2013/11/06/weekly-update">Metasploit</a>,
<a href="https://www.whonix.org/forum/index.php?topic=538.10">Whonix</a>,
<a href="https://secwiki.org/w/Migrating_Nmap_to_Git">Nmap</a>,
<a href="https://developer.atlassian.com/blog/2014/12/git-2-2-0-released/">Atlassian</a>,
and
the <a href="https://sufficientlysecure.org/wp-content/uploads/cryptocall.pdf">CryptoCall
project thesis</a>. <span class="print-only">References provided
in online résumé.</span>
</dd>
<dt>
<a href="http://mikegerwitz.com/papers/coope">
Classical Object-Oriented Programming with ECMAScript</a></dt>
<dd class="period">February 2012&ndash;April 2012</dd>
<dd class="desc">
A paper
exploring methods of implementing classical object-oriented
programming in ECMAScript&nbsp;3. This paper describes common
patterns; addresses performance concerns; explores alternatives,
problems, and exploitations; and begins discussing the
<a href="https://www.gnu.org/software/easejs/manual/Implementation-Details.html">the
implementation used by GNU ease.js</a>. Paper is incomplete.
</dd>
<dt>
<a href="http://www.pcmag.com/article2/0,2817,1586638,00.asp">
PC Magazine Mention&mdash;iBrowser</a></dt>
<dd class="period">June 2004</dd>
<dd class="desc">
Mention in PC Magazine for a project named iBrowser, the world's
first voice recognition web browser. Created with a remote friend
at the age of fourteen. Personally handled voice recognition,
popup blocker, and most other aspects of development.
</dd>
<dt>
<a href="http://www.planet-source-code.com/vb/contest/AllTimeHallOfFame.asp?lngWId=1">
Planet Source Code Superior Coding Contest Winner</a></dt>
<dd class="period">February 2003</dd>
<dd class="desc">
Received Planet Source Code's Superior Coding Contest Award for
the voice recognition tutorial
<a href="http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=43096&amp;lngWId=1">
&quot;Talk To Your Computer&quot;</a> at the age of thirteen.
</dd>
</dl>
<h2>Affiliations</h2>
<dl>
<dt>
<a href="https://gnu.org">
GNU Project</a></dt>
<dd class="period">December 2013&ndash;Present</dd>
<dd class="desc">
I am the author and maintainer
of <a href="https://gnu.org/s/easejs">GNU ease.js</a>; am one of
the four <a href="https://www.gnu.org/help/evaluation.html">GNU
software evaluators</a> that review software offered to GNU and
work with the author to resolve concerns and adhere to GNU
standards before submitting to Richard Stallman&nbsp;(RMS) for a final
decision; and participate in general discussions regarding the GNU
Project as a whole.
</dd>
<dd class="desc">
I participate in general activism pursuant to the goals of GNU,
usually addressing the issue
of <a data-print="true" href="https://www.gnu.org/s/easejs/whyfreejs.html">non-free
JavaScript</a>. Notably, I worked with Sytse Sijbrandij (GitLab
B.V. CEO)
to <a href="https://about.gitlab.com/2015/05/20/gitlab-gitorious-free-software/">freely
license all GitLab EE JavaScript</a>.
</dd>
<dt>
<a href="https://fsf.org">
Free Software Foundation</a></dt>
<dd class="period">October 2007&ndash;Present</dd>
<dd class="desc">
Associate member
<a href="http://www.fsf.org/register_form?referrer=5804">(#5804)</a>
of the Free Software Foundation (<abbr title="Free Software
Foundation">FSF</abbr>) and a strong supporter of the free
software movement. Actively involved in
the <a href="https://gnu.org/philosophy/free-sw.html">free
software</a> community.
</dd>
<dd class="desc">
I am also on the JavaScript Developers Task Force, part of the
FSF's <a data-print="true" href="https://fsf.org/campaigns/freejs">Free JavaScript
campaign</a>.
</dd>
<dt>
<a href="http://www.buffalotkd.com">
Master Chong's World Class Tae Kwon Do</a></dt>
<dd class="period">February 2010&ndash;February 2012</dd>
<dd class="desc">
Student at Master Chong's World Class Tae Kwon Do. While not a
technical affiliation, it was an enjoyable and rewarding
experience, and an important part of my life. Volunteered when
possible and attended class most days of the week.
</dd>
<dd class="desc">
I unfortunately had to stop attending classes due to a hip injury
and subsequent birth of my first child. I hope to return one day.
</dd>
</dl>
<h2>Skills, Studies, and Interests</h2>
<p>
Each item below is ordered by experience, descending. Languages
actively used are those that I most often write projects in, either
personally or at work. Infrequent languages I have used to write or
modify software, but do not have intimate knowledge of. Academic
are those I research, but am not yet proficient in. Superscript
indicates number of years experience, which does not always
correlate to proficiency. Ranges indicate uncertainty due to
periods of non-use. Date, if present, indicates last year used.
</p>
<dl>
<dt>Languages&mdash;Actively Used</dt>
<dd class="desc">
<ul class="detail-list">
<li>(X)HTML<sup>15+</sup>
<ul>
<li>XHTML 1.1</li>
<li>HTML 5</li></ul></li>
<li>CSS<sup>15+</sup>
<ul>
<li>2</li>
<li>3</li></ul></li>
<li>PHP<sup>10+</sup>
<ul>
<li>4</li>
<li>5</li></ul></li>
<li>JavaScript<sup>7&ndash;10</sup>
<ul>
<li>ECMAScript {3,5,6}</li></ul></li>
<li>Shell<sup>10+</sup>
<ul>
<li>POSIX</li>
<li>Bash</li></ul></li>
<li>C<sup>5&ndash;10</sup>
<ul>
<li>ANSI</li>
<li>C89</li>
<li>C11</li></ul></li>
<li>TeX<sup>5+</sup>
<ul>
<li>Plain</li>
<li>LaTeX2e</li></ul></li>
<li>AWK<sup>3&ndash;5</sup>
<ul>
<li>POSIX</li>
<li>Gawk</li></ul></li>
<li>Lisp<sup>2&ndash;4</sup>
<ul>
<li>Elisp</li>
<li>RnRS Scheme</li>
<li>Guile Scheme</li></ul></li>
<li>XSLT<sup>3&ndash;5</sup>
<ul>
<li>1</li>
<li>2</li></ul></li>
<li>Texinfo<sup>5+</sup>
<li>SQL<sup>10+</sup>
<ul>
<li>MySQL</li>
<li>SQLAnywhere</li>
<li>MSSQL</li></ul></li>
<li>WEB<sup>2+</sup>
<ul>
<li>Org-mode</li>
<li>Other/Custom Literate</li>
<li>noweb</li>
<li>CWEB</li></ul></li>
</ul>
</dd>
<dt>Languages&mdash;Infrequent</dt>
<dd class="desc">
<ul class="detail-list">
<li>C++<sup>1&ndash;2 (2005)</sup></li>
<li>Scala<sup>1- (2012)</sup></li>
<li>Java<sup>1&ndash;2 (2014)</sup></li>
<li>Clojure<sup>1- (2014)</sup></li>
<li>x86{,_64} ASM<sup>1 (2013)</sup></li>
<li>Haskell<sup>1- (2014)</sup></li>
<li>M4<sup>1- (2015)</sup></li>
<li>Python<sup>1- (2006)</sup></li>
<li>Ruby<sup>1- (2014)</sup></li>
<li>Perl<sup>1 (2009)</sup></li>
<li>Troff<sup>1- (2011)</sup></li>
<li>MOS 6502 ASM<sup>1- (2013)</sup></li>
</ul>
</dd>
<dt>Languages&mdash;Academic</dt>
<dd class="desc">
<ul class="detail-list">
<li>ML
<ul>
<li>OCaml</li></ul></li>
<li>Joy</li>
<li>Erlang</li>
<li>Forth</li>
<li>Postscript</li>
<li>Lua</li>
<li>Coq</li>
<li>B</li>
<li>BCPL</li>
<li>Brainfuck</li>
<li>Octave</li>
<li>Ada</li>
<li>ALGOL</li>
<li>COBOL</li>
<li>Fortran</li>
<li>Pascal</li>
<li>PL/I</li>
</ul>
</dd>
</dl>
<p>
There are a few languages that I no longer use because they are
either <a href="http://gnu.org/philosophy/free-sw.html">non-free</a>
or focus on non-free operating systems.
</p>
<dl>
<dt>Languages&mdash;Defunct</dt>
<dd class="desc">
<ul class="detail-list">
<li>ASP<sup>1&ndash;2 (2004)</sup></li>
<li>Visual Basic<sup>5+ (2006)</sup>
<ul>
<li>6</li>
<li>.NET</li></ul></li>
<li>BASIC<sup>1 (2005)</sup>
<ul>
<li>QBASIC</li></ul></li>
</ul>
</dd>
</dl>
<p>
Studies differ from interests in that the former are actively
researched, whereas the latter are occasionally visited, but
otherwise pending formal study.
</p>
<dl>
<dt>Studies&mdash;Computer Science</dt>
<dd class="desc">
<ul class="detail-list">
<li>Compilers
<ul>
<li>Construction</li>
<li>Static Analysis</li>
<li>Control Flow Analysis</li></ul></li>
<li>Programming Languages
<ul>
<li>Theory</li>
<li>History</li></ul></li>
<li>Security
<ul>
<li>Domain-Specific</li>
<li>Implicit In Other Skills/Studies</li></ul></li>
<li>Cryptography
<ul>
<li>Implementation</li>
<li>Algorithms</li></ul></li>
<li>Combinatory Logic
<ul>
<li>Point-Free Programming</li>
<li>Concatenative and Stack-Based Languages</li>
<li>Church-Turing</li></ul></li>
<li>λ-Calculus
<ul>
<li>Untyped</li>
<li>Simply Typed</li></ul></li>
<li>Logic
<ul>
<li>Proof Theory</li>
<li>Propositional</li>
<li>Predicate</li>
<li>Modal</li></ul></li>
<li>Linear Algebra</li>
<li>Graph Theory</li>
</ul>
</dd>
<dt>Studies&mdash;Legal and Political</dt>
<dd class="desc">
<ul class="detail-list">
<li>Software Licensing
<ul>
<li>GNU General Public License and variants</li>
<li>Various licenses</li></ul></li>
<li>Copyright
<ul>
<li>Law</li>
<li>Fair Use</li>
<li>Copyleft</li></ul></li>
<li>Privacy
<ul>
<li>Cryptography</li>
<li>Law</li></ul></li>
<li>Surveillance
<ul>
<li>NSA</li>
<li>GHCQ</li>
<li>Five Eyes</li>
<li>FISA</li>
<li>Domestic</li>
<li>Snowden</li>
<li>Court Cases</li></ul></li>
<li>Patents
<ul>
<li>Court Cases</li>
<li>Reform</li></ul></li>
</ul>
</dd>
<dt>Studies&mdash;Miscellaneous</dt>
<dd class="desc">
<ul class="detail-list">
<li>History of Computing
<ul>
<li>Unix / Multics / Lisp Machines</li>
<li>MIT</li>
<li>Bell Labs</li>
<li>Hacking</li>
<li>Historical Figures</li>
<li>Machines</li></ul></li>
<li>Typesetting</li>
<li>English Writing
<ul>
<li>Predominantly American</li></ul></li>
</ul>
</dd>
<dt>Interests</dt>
<dd class="desc">
<ul class="detail-list">
<li>Cryptography
<ul>
<li>Various Algorithms</li></ul></li>
<li>Mathematics
<ul>
<li>Category Theory</li>
<li>Set Theory</li>
<li>Anything Else</li></ul></li>
<li>Machine Learning
<ul>
<li>Neural Networks</li>
<li>Genetic Algorithms</li></ul></li>
<li>Natural Sciences
<ul>
<li>Quantum Mechanics</li>
<li>Cosmology and Planetary</li>
<li>Theoretical Physics</li>
<li>Cellular Communication</li>
<li>Synthetic Biology</li></ul></li>
<li>Management
<ul>
<li>Team Building / Kaizen Culture</li>
<li>Kanban</li>
<li>Lean/Agile/SCRUM/Other Methodologies</li>
<li>Office Environment</li>
<li>Psychology</li>
<li>Project Management</li></ul></li>
</ul>
</dd>
</dl>
</div>
<div id="misc">
<a href="/about/inside" id="gnuinside">
<img src="/images/gnu-inside.png" alt="GNU/Linux Inside!" />
</a>
</div>
<div id="footer">
<p class="copyright">
Copyright &copy; 2015 <a href="http://mikegerwitz.com/">Mike Gerwitz</a>
</p>
</div>
<div id="footer-print" class="print-only">
<p>
This document is a print version of my online résumé; it has been
modified to display certain information inline, whilst removing
other information not suitable for paper. For the complete
résumé, please visit:
<br />
http://mikegerwitz.com/docs/about/resume.
</p>
<p>
Copyright &copy; 2015 Mike Gerwitz
</p>
</div>
</body>
</html>