Mike Gerwitz

Activist for User Freedom

aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorMike Gerwitz <mtg@gnu.org>2019-01-08 00:11:20 -0500
committerMike Gerwitz <mtg@gnu.org>2019-01-11 23:46:13 -0500
commitb182ea79b3a7ac07f673870edab1bd3d6074c618 (patch)
tree3ce02ad905ace0498829d52b4b223790b9d63266 /docs
parent643a9858f125e2fc2c4557a9c0d706b72c09259a (diff)
downloadthoughts-b182ea79b3a7ac07f673870edab1bd3d6074c618.tar.gz
thoughts-b182ea79b3a7ac07f673870edab1bd3d6074c618.tar.bz2
thoughts-b182ea79b3a7ac07f673870edab1bd3d6074c618.zip
Majority of work on generation of new static site
I didn't originally intend for all of this to be in a single commit. But here we are. I don't have the time to split these up more cleanly; this project is taking more time than I originally hoped that it would. This is a new static site generator. More information to follow in the near future (hopefully in the form of an article), but repo2html is now removed. See code comments for additional information; I tried to make it suitable as a learning resource for others. It is essentially a set of shell scripts with a fairly robust build for incremental generation. The site has changed drastically, reflecting that its purpose has changed over the years: it is now intended for publishing quality works (or at least I hope), not just a braindump. This retains most of the text of the original pages verbatim, with the exception of the About page. Other pages may have their text modified in commits that follow. Enhancements to follow in future commits.
Diffstat (limited to 'docs')
-rw-r--r--docs/about/resume.html835
-rw-r--r--docs/about/resume/.gitignore2
-rw-r--r--docs/about/resume/style-print.css42
-rw-r--r--docs/about/resume/style.css452
m---------docs/papers/coope0
5 files changed, 0 insertions, 1331 deletions
diff --git a/docs/about/resume.html b/docs/about/resume.html
deleted file mode 100644
index 1da2d19..0000000
--- a/docs/about/resume.html
+++ /dev/null
@@ -1,835 +0,0 @@
-<!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" />
- <meta name="viewport" content="initial-scale=1.0" />
- </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+Activist
- </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:mike@mikegerwitz.com">mike@mikegerwitz.com</a>
- </dd>
- <dt>Website:</dt>
- <dd>
- <a href="https://mikegerwitz.com/">https://mikegerwitz.com/</a>
- </dd>
- <dt>Phone:</dt>
- <dd>
- <span class="nocss">
- My phone number is obscured using CSS as a precaution against
- scrapers.
- Since you're not using a stylesheet,
- simply reverse this string: 09299096171.
- Ignore the garbage that follows:
- </span>
- +1 <div class="phone">9<span class="phony">76</span>80</div>
- </dd>
- <dt>GPG:</dt>
- <dd>
- <tt>D6E9 B930 028A 6C38 F43B</tt><br />
- <tt>2388 FEF6 3574 5E6F 6D05</tt>
- </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="/about/githubbub">
- <img src="/images/octoright-42.png"
- width="42" height="42"
- alt="Don't see me on GitHub"
- title="Don't see me on GitHub" />
- </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>
- <li>
- <a href="https://news.ycombinator.com/user?id=mikegerwitz"
- title="mikegerwitz on Hacker News"
- class="hn-icon">HN</a>
- </li>
- <li>
- <a href="https://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://www.eff.org/">
- <img src="/images/eff-42.png"
- width="42" height="42"
- alt="EFF Member"
- title="EFF Member"
- />
- </a>
- </li>
- </ul>
- </div>
- <div class="clear head">&nbsp;</div>
-
- <div id="content">
- <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. Looking to at some point transition into an educator
- and/or research role in any of my areas of expertise.
- </p>
- </section>
-
- <section id="summary">
- <h2>Summary</h2>
- <p>
- I am a self-driven and passionate hacker with over eighteen years'
- experience in various areas of software development. I&nbsp;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
- contributor to various free software projects. I&nbsp;seek an
- innovative team of hackers that are passionate about their work
- and will challenge 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 as 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. Holds a team lead role and is
- responsible for developer training and knowledge transfer
- through design discussions, documentation, peer programming, and
- code review. Involved in every aspect of the development
- process and many decisions regarding the technical direction of
- the organization.
- </dd>
- <dd class="desc">
- A number of projects written for my employer have
- been <a data-print="true" href="https://github.com/lovullo"
- title="LoVullo Associates on GitHub">released as free
- software</a>.
- </dd>
- <dd class="desc">
- <ul class="lang detail-list">
- <li>Ant</li>
- <li>Autotools (Autoconf, Automake)</li>
- <li>AWK (Gawk)</li>
- <li>CSS&nbsp;3</li>
- <li>Docker</li>
- <li>ease.js</li>
- <li>GitLab&nbsp;(self-hosted)</li>
- <li>Git</li>
- <li>GNU Emacs</li>
- <li>GNU/Linux</li>
- <li>HTML&nbsp;5</li>
- <li>Java</li>
- <li>JavaScript (ECMAScript&nbsp;3&ndash;8)</li>
- <li>M4</li>
- <li>Memcached</li>
- <li>MongoDB</li>
- <li>MSSQL</li>
- <li>Node.js</li>
- <li>PHP&nbsp;(4&ndash;7)</li>
- <li>Sed</li>
- <li>Shell&nbsp;(POSIX, Bash)</li>
- <li>SQL Anywhere</li>
- <li>Symfony</li>
- <li>Texinfo</li>
- <li>TeX&nbsp(Plain, LaTeX2e)</li>
- <li>Vim</li>
- <li>XSLT&nbsp;(1&ndash;2)</li>
- </ul>
- </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>
- </section>
-
- <section id="projects">
- <h2>Projects</h2>
- <p class="nopgbrk">
- Listed here are both my own projects and those to which I have
- made notable contributions.
- I have many miscellaneous projects and scripts 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 my paper <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/guix">GNU Guix</a></dt>
- <dd class="period">October 2016&ndash;Present</dd>
- <dd class="type">Contributor</dd>
- <dd class="desc">
- Improvements to <tt>guix environment</tt> container
- support; package contributions.
- </dd>
- <dd class="desc">
- <ul class="lang detail-list">
- <li>Guile Scheme</li>
- <li>Shell</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 Ethics Void</a></dt>
- <dd class="period">March 2018</dd>
- <dd class="desc">
- My talk
- at <a href="https://libreplanet.org/2018/">LibrePlanet&nbsp;2018</a>
- focusing on the lack of ethical consideration in software and technology.
- </dd>
-
- <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>; one of
- the <a href="https://www.gnu.org/help/evaluation.html">GNU&nbsp;software
- evaluators</a> that review software offered to GNU; exercise
- various administrative duties; and participate in general
- discussions regarding the GNU Project as a whole.
- 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>.
- Much of my free time is dedicated toward GNU volunteer work.
- </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.
- 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="https://www.eff.org">
- Electronic Frontier Foundation</a></dt>
- <dd class="period">August 2017&ndash;Present</dd>
- <dd class="desc">
- Member of the Electronic Frontier Foundation (<abbr
- title="Electronic Frontier Foundation">EFF</abbr>).
- I closely follow and support many of their causes.
- </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 was an important part of my life. Volunteered
- when possible and attended class most days of the week.
- 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 are those that I&nbsp;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>17+</sup>
- <ul>
- <li>XHTML 1.1</li>
- <li>HTML 5</li></ul></li>
- <li>CSS<sup>17+</sup>
- <ul>
- <li>2</li>
- <li>3</li></ul></li>
- <li>PHP<sup>12+</sup>
- <ul>
- <li>4</li>
- <li>5</li></ul></li>
- <li>JavaScript<sup>9&ndash;12</sup>
- <ul>
- <li>ECMAScript {3,5,6}</li></ul></li>
- <li>Shell<sup>12+</sup>
- <ul>
- <li>POSIX</li>
- <li>Bash</li></ul></li>
- <li>C<sup>5&ndash;12</sup>
- <ul>
- <li>ANSI</li>
- <li>C89</li>
- <li>C11</li></ul></li>
- <li>TeX<sup>6+</sup>
- <ul>
- <li>Plain</li>
- <li>LaTeX2e</li></ul></li>
- <li>AWK<sup>5&ndash;7</sup>
- <ul>
- <li>POSIX</li>
- <li>Gawk</li></ul></li>
- <li>Lisp<sup>4&ndash;6</sup>
- <ul>
- <li>Elisp</li>
- <li>RnRS Scheme</li>
- <li>Guile Scheme</li>
- <li>Racket</li>
- <li>Chez Scheme</li></ul></li>
- <li>XSLT<sup>5&ndash;7</sup>
- <ul>
- <li>1</li>
- <li>2</li></ul></li>
- <li>Texinfo<sup>7+</sup>
- <li>SQL<sup>12+</sup>
- <ul>
- <li>MySQL</li>
- <li>SQLAnywhere</li>
- <li>MSSQL</li></ul></li>
- <li>M4<sup>1-</sup></li>
- <li>Lua<sup>1-</sup></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>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>
-
- <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>
- </section>
- </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; 2017 <a href="https://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 />
- https://mikegerwitz.com/docs/about/resume
- </p>
- <p>
- Copyright &copy; 2017 Mike Gerwitz
- </p>
- </div>
- </body>
-</html>
diff --git a/docs/about/resume/.gitignore b/docs/about/resume/.gitignore
deleted file mode 100644
index a97fa56..0000000
--- a/docs/about/resume/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-
-*.swp
diff --git a/docs/about/resume/style-print.css b/docs/about/resume/style-print.css
deleted file mode 100644
index 96867ed..0000000
--- a/docs/about/resume/style-print.css
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Mike Gerwitz Résumé print stylesheet */
-/* CC-BY-SA */
-
-body {
- border: none;
-}
-
-a, a:active, a:link, a:visited, a:hover {
- color: inherit;
- text-decoration: none;
- border: none;
-}
-
-/* links cannot be followed when printed, so provide URLs for hand-selected */
-/* links, and for title links */
-a[data-print]::after {
- content: ' (' attr( href ) ')';
-}
-#content > dl[data-print-links] > dt > a::after {
- content: '(' attr( href ) ')';
- margin-left: 2em;
-}
-
-abbr {
- border: none;
-}
-
-#footer, #misc, #header ul.links {
- display: none;
-}
-#footer-print {
- text-align: center;
- margin-top: 2ex;
-}
-
-.pgbrk {
- page-break-before: always;
-}
-
-.print-only {
- display: inline-block;
-}
diff --git a/docs/about/resume/style.css b/docs/about/resume/style.css
deleted file mode 100644
index b03b078..0000000
--- a/docs/about/resume/style.css
+++ /dev/null
@@ -1,452 +0,0 @@
-/* Mike Gerwitz Résumé stylesheet */
-/* Some colors are part of the Tango Desktop Project's color palette */
-/* CC-BY-SA */
-
-@font-face {
- font-family: Open Sans;
- src: url('/fonts/OpenSans-Regular.woff');
-}
-
-html {
- background-color: #f8f8f7;
- height: 100%;
-}
-
-body {
- background-color: white;
- border-width: 0px 1px;
- border-style: solid;
- border-color: #d3d7cf;
-
- width: 750px;
- margin: 0px auto 0px auto;
- padding: 0px 50px;
- height: 100%;
- min-height: 100%;
- height: auto !important;
-
- font-family: 'Open Sans', 'Liberation Sans', FreeSans, sans-serif;
- font-size: 14px;
-}
-
-a, a:active, a:link {
- text-decoration: none;
- border-bottom: 1px dotted #204a87;
- color: #204a87;
-}
-a:visited {
- color: #3465a4;
- border-bottom-style: none;
-}
-a:hover {
- border-bottom-style: solid;
-}
-
-a.title {
- font-style: italic;
-}
-
-img {
- border: 0em;
- margin: 0em;
- padding: 0em;
-}
-
-h1, h2, h3 {
- font-family: 'URW Gothic L', 'Avant Garde', sans-serif;
- font-weight: normal;
-}
-
-h1 { font-size: 2.2em; }
-
-#content h2 {
- color: black;
- border-bottom: 1px solid #2e3436;
- margin-bottom: 0.5em;
- font-size: 1.4em;
-}
-
-#content h2:not(:first-child) {
- margin-top: 1em;
-}
-
-#content p,
-#content dl > dd.desc {
- text-align: justify;
- line-height: 1.5;
-}
-
-#content dl > dt {
- font-weight: bold;
- font-size: 1em;
- float: left;
- clear: left;
-}
-
-#content dl > dt a {
- color: inherit;
-}
-
-#content dl > dd.type {
- font-weight: bold;
- margin: 0em 0.5em;
- padding: 0em;
- float: right;
-}
-#content dl > dd.type::after {
- content: ',';
-}
-
-#content dl > dd.period {
- font-weight: bold;
- margin: 0em;
- float: right;
-}
-#content dl > dd.desc {
- clear: both;
- margin: 0em 0em 1em 1em;
-}
-#content dl > dd.desc blockquote {
- margin: 0.5em 1em;
-}
-
-#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 {
- font-size: 0.9em;
-}
-#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: '(';
-}
-#content dl > dd.desc > ul.detail-list ul > li:last-child::after {
- content: ')';
-}
-
-#content dl > dd.desc > ul.detail-list li {
- display: inline;
- padding: 0px;
-}
-
-#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 {
- display: inline;
- content: ', ';
-}
-
-#header {
- padding-top: 50px;
-}
-
-#header div.leftcol {
- float: left;
- clear: left;
-}
-
-#header h1.name {
- margin: 0em;
- padding: 0em;
-}
-
-#header h2.name-subline {
- font-size: 1em;
- text-transform: uppercase;
- letter-spacing: 0.1em;
- font-weight: normal;
- color: #666f63;
-
- margin-top: 0px;
- margin-bottom: 2em;
-}
-
-#header p.name-subline {
- color: #202020;
- margin: 0.25em 0em 0em 0em;
- font-size: 1.1em;
-
- letter-spacing: 0.15em;
- text-transform: uppercase;
-}
-#header .name-subline a,
-#header .name-subline a:active,
-#header .name-subline a:visited,
-#header .name-subline a:link {
- border: none;
- color: inherit;
-}
-#header .name-subline a:hover {
- border-bottom: 1px dotted #204a87;
-}
-
-#header ul.links {
- position: fixed;
- width: 50px;
- right: 0px;
- top: 60px;
-
- list-style: none;
- margin: 0px;
-
- /* see @media layouts */
- transition: filter 0.15s; /* quick fade in */
-
-}
-#header ul.links li {
- margin: 0px;
- padding: 0px 0px 0.5em 0px;
- float: left;
-}
-#header ul.links a {
- border: none;
-}
-#header ul.links img {
- transition: transform 0.25s;
-}
-#header ul.links img[src*=octoright]:hover {
- transform: rotate(-20deg);
-}
-
-#header #infobox {
- float: right;
- text-align: right;
- margin: 0px 0px 1em 0px;
-}
-
-#header #infobox address {
- font-style: normal;
-}
-
-#header #infobox dl.contact dt {
- font-weight: bold;
- display: inline-block;
- float: left;
- clear: left;
- margin-bottom: 0.2em;
-}
-#header #infobox dl.contact dd {
- margin: 0px 0px 0px 1em;
- clear: right;
- float: right;
- margin-bottom: 0.2em;
-}
-
-#footer {
- text-align: center;
-}
-#footer p.copyright {
- margin: 0.7em 0em 0em 0em;
- font-size: 0.8em;
- display: inline-block;
-}
-
-#misc a {
- border: none;
-}
-
-.print-only {
- display: none;
-}
-
-.clear {
- clear: both;
-}
-.clear.head {
- border-top: 1px solid #d3d7cf;
- margin: 0px 0px 1em 0px;
-}
-
-#gnuinside {
- position: absolute;
- display: block;
-
- top: 0px;
- right: 0px;
- width: 50px;
- height: 50px;
-}
-
-.nocss,
-.phony {
- display: none;
-}
-
-/* makes it at least a little harder for scrapers */
-.phone {
- display: inline-block;
-}
-.phone::before {
- content: '(716) ';
-}
-.phone::after {
- content: '-7118';
-}
-
-/* copied from main site */
-.hn-icon {
- display: block;
-
- background-color: #ff6600;
-
- width: 42px;
- height: 42px;
-
- font-size: 16px;
- font-weight: bold;
- text-align: center;
- line-height: 42px;
-}
-a.hn-icon {
- /* undo link styling */
- color: white;
- border: none;
-}
-
-/* we don't want the icons to be too distracting/jarring---the
- focus should be on the resume itself */
-#header ul.links:not(:hover) {
- filter: saturate(25%);
- transition: filter 3s; /* slow fade */
-}
-
-
-/* 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.)';
- }
-}
diff --git a/docs/papers/coope b/docs/papers/coope
deleted file mode 160000
-Subproject 98583d0e9f72a6e0af4117f013679fca1978f1d