Mike Gerwitz

Activist for User Freedom

aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorMike Gerwitz <mtg@gnu.org>2017-07-30 00:57:26 -0400
committerMike Gerwitz <mtg@gnu.org>2017-07-30 01:00:42 -0400
commitb7eeecc2802136d85e29fbc91e5bb7b40b23842f (patch)
tree8ea77e512234d7d8ab6626a4093d57a7e9a8c742 /docs
parent879db402d6d22077e17f8bd7bab70f095cf8d768 (diff)
downloadthoughts-b7eeecc2802136d85e29fbc91e5bb7b40b23842f.tar.gz
thoughts-b7eeecc2802136d85e29fbc91e5bb7b40b23842f.tar.bz2
thoughts-b7eeecc2802136d85e29fbc91e5bb7b40b23842f.zip
:Responsive design for resume
Complete with snarky remarks. I'm surprised this has gone this long without me realizing that I never implemented lower-resolution views.
Diffstat (limited to 'docs')
-rw-r--r--docs/about/resume.html1317
-rw-r--r--docs/about/resume/style.css162
2 files changed, 811 insertions, 668 deletions
diff --git a/docs/about/resume.html b/docs/about/resume.html
index ef0454a..909f0ad 100644
--- a/docs/about/resume.html
+++ b/docs/about/resume.html
@@ -5,6 +5,7 @@
<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" />
+ <meta name="viewport" content="initial-scale=1.0" />
</head>
<body>
<div id="header">
@@ -87,660 +88,676 @@
<div class="clear head">&nbsp;</div>
<div id="content">
- <h2>Objective</h2>
- <p>
- Full-time 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 over seventeen years'
- experience in various areas of software development. I am
- a <a href="https://gnu.org/philosophy/free-sw.html">free
- software</a> activist with a focus on user&nbsp;privacy and
- security; a volunteer and maintainer for
- the <a href="https://gnu.org">GNU Project</a>; and both author 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
- use and write
- <a data-print="true"
- href="https://gnu.org/philosophy/free-sw.html">free software</a>,
- and be positive toward software freedom and the free software
- movement. I am also interested in academic/research settings as
- both a hacker and an&nbsp;educator.
- </p>
-
- <h2>Experience</h2>
- <dl id="experience">
- <dt>R-T Specialty, LLC Buffalo (formerly 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.
- <em>(This effort has been put on hold&mdash;hopefully
- temporarily&mdash;until a proper agreement can be reached with
- R-T, who acquired LoVullo in April&nbsp;2017.)</em>
- </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 developers.
- </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
+ <section id="objective">
+ <h2>Objective</h2>
+ <p>
+ Full-time 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>
+ </section>
+
+ <section id="summary">
+ <h2>Summary</h2>
+ <p>
+ I am a self-driven and passionate hacker with over seventeen years'
+ experience in various areas of software development. I am
+ a <a href="https://gnu.org/philosophy/free-sw.html">free
+ software</a> activist with a focus on user&nbsp;privacy and
+ security; a volunteer and maintainer for
+ the <a href="https://gnu.org">GNU Project</a>; and both author 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
+ use and write
<a data-print="true"
- href="https://mikegerwitz.com/projects">Projects page</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>LibreJS-Compatible</li>
- </ul>
- </dd>
-
- <dt><a href="https://mikegerwitz.com/projects/liza/">Liza Data
- Collection Framework</a>
- </dt>
- <dd class="period">2010&ndash;Present</dd>
- <dd class="type">Author</dd>
- <dd class="desc">
- Data collection and processing framework developed at LoVullo
- Associates to handle hundreds of complex conditional inputs for
- even more complex comparative rating systems.
- It contains a powerful type and validation system and
- controls inputs via predicates over a&nbsp;complex graph of
- classifications.
- Programs are defined using a declarative DSL which compiles into
- JavaScript,
- drastically simplifying development and maintenance.
- The&nbsp;client is a web application which integrates and shares code
- with a RESTful server.
- It also contains its own tools for debugging and introspection.
- </dd>
- <dd class="desc">
- This project integrates tightly with TAME for its classification
- system.
- </dd>
- <dd class="desc">
- <ul class="lang detail-list">
- <li>JavaScript (ECMAScript 2016)</li>
- <li>Node.js</li>
- <li>XSLT 2</li>
- <li>Shell (Bash)</li>
- <li>Autotools (Autoconf, Automake)</li>
- </ul>
- </dd>
-
- <dt><a href="https://mikegerwitz.com/projects/tame/">TAME</a>
- </dt>
- <dd class="period">2012&ndash;Present</dd>
- <dd class="type">Author</dd>
- <dd class="desc">
- This system was developed at LoVullo Associates to handle the
- complexity of comparative insurance rating systems.
- It is a domain-specific language&nbsp;(DSL) that itself
- encourages,
- through the use of templates,
- the creation of sub-DSLs.
- TAME processes only numerical input and output,
- driven by higher-order predicates.
- Calculations and predicates are written declaratively without
- regard for order of execution.
- The system has powerful dependency resolution and data flow
- analysis capabilities.
- </dd>
- <dd class="desc">
- TAME consists of a macro processor (implementing a metalanguage),
- numerous compilers for various targets
- (JavaScript, HTML documentation and debugging environment,
- LaTeX, dependency graph output, and others),
- linkers,
- and supporting tools.
- The input grammar is XML,
- and the majority of the project
- (including the macro processor, compilers, and linkers)
- is written in XSLT.
- </dd>
- <dd class="desc">
- <ul class="lang detail-list">
- <li>XSLT 2</li>
- <li>JavaScript (ECMAScript 2016)</li>
- <li>AWK</li>
- <li>Sed</li>
- <li>Shell (Bash)</li>
- <li>PHP</li>
- <li>Autotools (Autoconf, Automake)</li>
- </ul>
- </dd>
-
- <dt><a href="https://gnu.org/s/screen">GNU Screen</a></dt>
- <dd class="period">November 2013&ndash;July 2015</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.
- </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>Gnulib (Test Headers)</li>
- </ul>
- </dd>
- </dl>
-
- <h2>Articles, Talks, 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">
- The Surreptitious Assault On Privacy, Security, and Freedom</a></dt>
- <dd class="period">March 2017</dd>
- <dd class="desc">
- My talk
- at <a href="https://libreplanet.org/2017/">LibrePlanet&nbsp;2017</a>
- surveying some of the most pressing privacy and security concerns
- of today, with nearly 130&nbsp;references.
- </dd>
-
- <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>
-
- <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 two <a href="https://www.gnu.org/help/evaluation.html">GNU&nbsp;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; exercise various administrative duties; 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,
- including 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>, and worked on the
- <a href="https://www.gnu.org/software/repo-criteria.html">GNU
- ethical repository criteria</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. I&nbsp;have had the pleasure of meeting
- with and working with the FSF&nbsp;staff on a number of occasions.
- </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.
- 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>16+</sup>
- <ul>
- <li>XHTML 1.1</li>
- <li>HTML 5</li></ul></li>
- <li>CSS<sup>16+</sup>
- <ul>
- <li>2</li>
- <li>3</li></ul></li>
- <li>PHP<sup>11+</sup>
- <ul>
- <li>4</li>
- <li>5</li></ul></li>
- <li>JavaScript<sup>8&ndash;11</sup>
- <ul>
- <li>ECMAScript {3,5,6}</li></ul></li>
- <li>Shell<sup>11+</sup>
- <ul>
- <li>POSIX</li>
- <li>Bash</li></ul></li>
- <li>C<sup>5&ndash;11</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>4&ndash;6</sup>
- <ul>
- <li>POSIX</li>
- <li>Gawk</li></ul></li>
- <li>Lisp<sup>3&ndash;5</sup>
- <ul>
- <li>Elisp</li>
- <li>RnRS Scheme</li>
- <li>Guile Scheme</li></ul></li>
- <li>XSLT<sup>4&ndash;6</sup>
- <ul>
- <li>1</li>
- <li>2</li></ul></li>
- <li>Texinfo<sup>6+</sup>
- <li>SQL<sup>11+</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>
- </dl>
+ href="https://gnu.org/philosophy/free-sw.html">free software</a>,
+ and be positive toward software freedom and the free software
+ movement. I am also interested in academic/research settings as
+ both a hacker and an&nbsp;educator.
+ </p>
+ </section>
+
+ <section id="experience">
+ <h2>Experience</h2>
+ <dl id="experience">
+ <dt>R-T Specialty, LLC Buffalo (formerly 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.
+ <em>(This effort has been put on hold&mdash;hopefully
+ temporarily&mdash;until a proper agreement can be reached with
+ R-T, who acquired LoVullo in April&nbsp;2017.)</em>
+ </dd>
- <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>
+ <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 developers.
+ </dd>
+ </dl>
+ </section>
+
+ <section id="projects">
+ <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://mikegerwitz.com/projects">Projects page</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>LibreJS-Compatible</li>
+ </ul>
+ </dd>
+
+ <dt><a href="https://mikegerwitz.com/projects/liza/">Liza Data
+ Collection Framework</a>
+ </dt>
+ <dd class="period">2010&ndash;Present</dd>
+ <dd class="type">Author</dd>
+ <dd class="desc">
+ Data collection and processing framework developed at LoVullo
+ Associates to handle hundreds of complex conditional inputs for
+ even more complex comparative rating systems.
+ It contains a powerful type and validation system and
+ controls inputs via predicates over a&nbsp;complex graph of
+ classifications.
+ Programs are defined using a declarative DSL which compiles into
+ JavaScript,
+ drastically simplifying development and maintenance.
+ The&nbsp;client is a web application which integrates and shares code
+ with a RESTful server.
+ It also contains its own tools for debugging and introspection.
+ </dd>
+ <dd class="desc">
+ This project integrates tightly with TAME for its classification
+ system.
+ </dd>
+ <dd class="desc">
+ <ul class="lang detail-list">
+ <li>JavaScript (ECMAScript 2016)</li>
+ <li>Node.js</li>
+ <li>XSLT 2</li>
+ <li>Shell (Bash)</li>
+ <li>Autotools (Autoconf, Automake)</li>
+ </ul>
+ </dd>
+
+ <dt><a href="https://mikegerwitz.com/projects/tame/">TAME</a>
+ </dt>
+ <dd class="period">2012&ndash;Present</dd>
+ <dd class="type">Author</dd>
+ <dd class="desc">
+ This system was developed at LoVullo Associates to handle the
+ complexity of comparative insurance rating systems.
+ It is a domain-specific language&nbsp;(DSL) that itself
+ encourages,
+ through the use of templates,
+ the creation of sub-DSLs.
+ TAME processes only numerical input and output,
+ driven by higher-order predicates.
+ Calculations and predicates are written declaratively without
+ regard for order of execution.
+ The system has powerful dependency resolution and data flow
+ analysis capabilities.
+ </dd>
+ <dd class="desc">
+ TAME consists of a macro processor (implementing a metalanguage),
+ numerous compilers for various targets
+ (JavaScript, HTML documentation and debugging environment,
+ LaTeX, dependency graph output, and others),
+ linkers,
+ and supporting tools.
+ The input grammar is XML,
+ and the majority of the project
+ (including the macro processor, compilers, and linkers)
+ is written in XSLT.
+ </dd>
+ <dd class="desc">
+ <ul class="lang detail-list">
+ <li>XSLT 2</li>
+ <li>JavaScript (ECMAScript 2016)</li>
+ <li>AWK</li>
+ <li>Sed</li>
+ <li>Shell (Bash)</li>
+ <li>PHP</li>
+ <li>Autotools (Autoconf, Automake)</li>
+ </ul>
+ </dd>
+
+ <dt><a href="https://gnu.org/s/screen">GNU Screen</a></dt>
+ <dd class="period">November 2013&ndash;July 2015</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.
+ </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>Gnulib (Test Headers)</li>
+ </ul>
+ </dd>
+ </dl>
+ </section>
+
+ <section id="articles">
+ <h2>Articles, Talks, 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">
+ The Surreptitious Assault On Privacy, Security, and Freedom</a></dt>
+ <dd class="period">March 2017</dd>
+ <dd class="desc">
+ My talk
+ at <a href="https://libreplanet.org/2017/">LibrePlanet&nbsp;2017</a>
+ surveying some of the most pressing privacy and security concerns
+ of today, with nearly 130&nbsp;references.
+ </dd>
+
+ <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>
+
+ <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>
+ </section>
+
+ <section id="affiliations">
+ <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 two <a href="https://www.gnu.org/help/evaluation.html">GNU&nbsp;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; exercise various administrative duties; 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,
+ including 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>, and worked on the
+ <a href="https://www.gnu.org/software/repo-criteria.html">GNU
+ ethical repository criteria</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. I&nbsp;have had the pleasure of meeting
+ with and working with the FSF&nbsp;staff on a number of occasions.
+ </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>
+ </section>
+
+
+ <section id="skills">
+ <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.
+ 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>16+</sup>
+ <ul>
+ <li>XHTML 1.1</li>
+ <li>HTML 5</li></ul></li>
+ <li>CSS<sup>16+</sup>
+ <ul>
+ <li>2</li>
+ <li>3</li></ul></li>
+ <li>PHP<sup>11+</sup>
+ <ul>
+ <li>4</li>
+ <li>5</li></ul></li>
+ <li>JavaScript<sup>8&ndash;11</sup>
+ <ul>
+ <li>ECMAScript {3,5,6}</li></ul></li>
+ <li>Shell<sup>11+</sup>
+ <ul>
+ <li>POSIX</li>
+ <li>Bash</li></ul></li>
+ <li>C<sup>5&ndash;11</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>4&ndash;6</sup>
+ <ul>
+ <li>POSIX</li>
+ <li>Gawk</li></ul></li>
+ <li>Lisp<sup>3&ndash;5</sup>
+ <ul>
+ <li>Elisp</li>
+ <li>RnRS Scheme</li>
+ <li>Guile Scheme</li></ul></li>
+ <li>XSLT<sup>4&ndash;6</sup>
+ <ul>
+ <li>1</li>
+ <li>2</li></ul></li>
+ <li>Texinfo<sup>6+</sup>
+ <li>SQL<sup>11+</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>
+ </dl>
- <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>
+ 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
- or have been in the past 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>Higher-order</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>Cryptanalysis</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</li>
- <li>Deep</li>
- <li>Unsupervised</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>
-
- <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>
+ <p>
+ Studies differ from interests in that the former are actively
+ or have been in the past 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>Higher-order</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>Cryptanalysis</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</li>
+ <li>Deep</li>
+ <li>Unsupervised</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>
+ </section>
+
+ <section id="education">
+ <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>
+ </section>
</div>
<div id="misc">
diff --git a/docs/about/resume/style.css b/docs/about/resume/style.css
index 04c82e8..2becf20 100644
--- a/docs/about/resume/style.css
+++ b/docs/about/resume/style.css
@@ -71,82 +71,82 @@ h1 { font-size: 2.2em; }
}
#content p,
-#content > dl > dd.desc {
+#content dl > dd.desc {
text-align: justify;
line-height: 1.5;
}
-#content > dl > dt {
+#content dl > dt {
font-weight: bold;
font-size: 1em;
float: left;
clear: left;
}
-#content > dl > dt a {
+#content dl > dt a {
color: inherit;
}
-#content > dl > dd.type {
+#content dl > dd.type {
font-weight: bold;
margin: 0em 0.5em;
padding: 0em;
float: right;
}
-#content > dl > dd.type::after {
+#content dl > dd.type::after {
content: ',';
}
-#content > dl > dd.period {
+#content dl > dd.period {
font-weight: bold;
margin: 0em;
float: right;
}
-#content > dl > dd.desc {
+#content dl > dd.desc {
clear: both;
margin: 0em 0em 1em 1em;
}
-#content > dl > dd.desc blockquote {
+#content dl > dd.desc blockquote {
margin: 0.5em 1em;
}
-#content > dl > dd.desc > ul.detail-list,
-#content > dl > dd.desc > ul.detail-list ul {
+#content dl > dd.desc > ul.detail-list,
+#content dl > dd.desc > ul.detail-list ul {
display: inline;
list-style: none;
margin: 0px;
padding: 0px;
}
-#content > dl > dd.desc > ul.detail-list ul,
-#content > dl > dd.desc > ul.lang {
+#content dl > dd.desc > ul.detail-list ul,
+#content dl > dd.desc > ul.lang {
font-size: 0.9em;
}
-#content > dl > dd.desc > ul.lang::before {
+#content dl > dd.desc > ul.lang::before {
display: inline;
font-weight: bold;
content: 'Languages/Tools: ';
}
/* using li nodes rather than ul itself rids extra whitespace */
-#content > dl > dd.desc > ul.detail-list ul > li:first-child::before {
+#content dl > dd.desc > ul.detail-list ul > li:first-child::before {
content: '(';
}
-#content > dl > dd.desc > ul.detail-list ul > li:last-child::after {
+#content dl > dd.desc > ul.detail-list ul > li:last-child::after {
content: ')';
}
-#content > dl > dd.desc > ul.detail-list li {
+#content dl > dd.desc > ul.detail-list li {
display: inline;
padding: 0px;
}
-#content > dl > dd.desc > ul.detail-list > li:not(:last-child)::after {
+#content dl > dd.desc > ul.detail-list > li:not(:last-child)::after {
display: inline;
content: '; ';
word-spacing: 0.25em; /* instead of padding; strips whitespace from */
/* beginning and end of line */
}
-#content > dl > dd.desc > ul.detail-list ul > li:not(:last-child)::after {
+#content dl > dd.desc > ul.detail-list ul > li:not(:last-child)::after {
display: inline;
content: ', ';
}
@@ -287,3 +287,129 @@ h1 { font-size: 2.2em; }
.phone::after {
content: '-7118';
}
+
+
+/* right icons start to overlap with page margins */
+@media screen and (max-width: 970px) {
+ html {
+ background-color: white;
+ }
+
+ /* page completely white, full width, side icons */
+ body {
+ border: none;
+
+ width: auto;
+ padding: 0px 2em 0px 3em;
+ margin: 0px 50px 0px 0px;
+ }
+}
+
+
+@media screen and (max-width: 800px) {
+ /* entering what I consider to be a mobile view
+ (or ancient screen resolution, or old person)*/
+ #footer::before {
+ display: block;
+
+ margin: 0px 3em;
+
+ font-size: 0.8em;
+ content:
+ '(This is a mobile/low-res view; please increase your screen resolution to view the resume as originally intended.)';
+ }
+
+ /* right-hand margin removed */
+ body {
+ padding: 0px 2em;
+ margin: 0px;
+ }
+
+ #header {
+ padding-top: 2em;
+ }
+
+ /* move side icons under name */
+ #header ul.links {
+ position: inherit;
+ float: left;
+ padding: 0px;
+ width: auto;
+ }
+
+ #header ul.links li:not(:first-child) {
+ margin-left: 1em;
+ }
+
+ /* make room for page fold */
+ #header #infobox address {
+ margin-right: 50px;
+ }
+}
+
+
+/* infobox about to collide with name */
+@media screen and (max-width: 640px) {
+ body {
+ padding: 0px 1em;
+ }
+
+ #header {
+ padding-top: 1em;
+ }
+
+ /* infobox still on right, ... */
+ #header #infobox {
+ display: inline-block;
+
+ width: auto;
+ clear: left;
+ }
+
+ /* ... but forced below header */
+ #header div.leftcol {
+ display: block;
+ }
+
+ #header #infobox address {
+ margin-right: 0px;
+ }
+}
+
+
+/* infobox about to collide with icons below name */
+@media screen and (max-width: 540px) {
+ #header ul.links {
+ display: block;
+
+ width: auto;
+ margin: 0px auto;
+
+ float: right;
+ clear: both;
+ }
+
+ /* in case we ever get too close to page fold */
+ #header div.leftcol {
+ padding-right: 50px;
+ }
+}
+
+
+/* 320 is the lowest resolution that should really be entertained */
+@media screen and (max-width: 310px) {
+ #objective > p:first-of-type::after {
+ content: 'Seeking potential employers with higher screen resolutions that will render my resume sanely.';
+ }
+
+ #summary > p:first-of-type::before {
+ display: block;
+ margin-bottom: 1em;
+
+ content: 'I love talking about myself, but you really haven\'t given me much space to do so! How about increasing that resolution of yours? I mean, don\'t get me wrong; it\'s still legible. Torture your eyeballs if you wish.';
+ }
+
+ #footer::before {
+ content: '(This is rendered at a ridiculously low resolution. Snarky remarks added. Please increase your resolution.)';
+ }
+}