Objective

Full-time system, server, and/or web application software developer with a passionate team of hackers that respect users' freedoms, strive to innovate, and embrace challenge.

Summary

I am a self-driven and passionate hacker with sixteen years' experience in various areas of software development. I am a free software activist, a volunteer and maintainer for the GNU Project, 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 prospective employer must be willing to produce free software.

Experience

LoVullo Associates, Inc.
March 2009–Present
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.
Some code written for LoVullo Associates has been released as free software, and I continue to liberate more. I drive this effort almost exclusively.
Freelance Web Developer
March 2006–March 2009
Worked as a freelance web developer primarily through vWorker (previously RentACoder) with a 10/10 rating, ranked higher than 99% of all other coders.
Earth's Magic, Inc.
May 2006–September 2007
Created an online pregnancy journal website for a client based off of the popular bulletin board software phpBB.

Education

Self Educated
2000–Present
Primarily self educated: learning through experimentation; hacking free software; interaction with others; and extensive reading and research.
Clarence High School
September 2002–June 2007
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.

Projects

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 GitLab profile for a full list.

GNU ease.js
November 2010–Present
Author
A Classical Object-Oriented framework for JavaScript, intended to eliminate boilerplate code and “ease” 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.
GNU ease.js was created 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). Implementation details and rationale are documented extensively in the manual and comprehensive test cases. See also Classifical Object-Oriented Programming with ECMAScript. Copyright has been assigned to the Free Software Foundation.
  • JavaScript (ECMAScript 3, ECMAScript 5)
  • Shell (POSIX, Bash)
  • Autotools (Autoconf, Automake)
  • Texinfo
  • AWK
  • Sed
  • Git
  • LibreJS-Compatible
GNU Screen
November 2013–Present
Contributor
Refactoring and cleanup of window message system and related code; creation of supporting abstractions; introduced unit tests. Working on integrating GNU Guile.
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 my changes have been merged upstream.
  • C (ANSI C, C11)
  • GDB
  • GNU Make
  • GNU Guile
  • Gnulib (Test Headers)
Git Shortmaps
December 2013–Present
Author
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.
  • Shell (Bash)
  • Git
shspec
May 2014–Present
Author
Behavior-driven development (BDD) for Shell. Project is incomplete.
  • Shell (Bash)
  • Autotools (Autoconf, Automake)

Articles, Awards, and Publications

I am an avid technical writer and activist; my writings are available on my personal website. This section highlights the most notable. Direct links are provided in the online version of this résumé.

Restore Online Freedom!
March 2016
My talk at LibrePlanet 2016 about privacy, surveillance, and freedom on the Web.
Gitlab, Gitorious, and Free Software
May 2015
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—and any code that generates it—as free software.
National Uproar: A Comprehensive Overview of the NSA Leaks and Revelations
June 2013
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 “NSA leak summary” for days, and to this day is still within the top fifteen search results.
A Git Horror Story: Repository Integrity With Signed Commits
May 2012
An in-depth article on Git commit signing written shortly after support was added to Git. It maintained the top rank on HackerNews for the entire business day, largely introducing the Git commit signing concept to the community. Widely cited, notably by Metasploit, Whonix, Nmap, Atlassian, and the CryptoCall project thesis. References provided in online résumé.
Classical Object-Oriented Programming with ECMAScript
February 2012–April 2012
A paper exploring methods of implementing classical object-oriented programming in ECMAScript 3. This paper describes common patterns; addresses performance concerns; explores alternatives, problems, and exploitations; and begins discussing the the implementation used by GNU ease.js. Paper is incomplete.
PC Magazine Mention—iBrowser
June 2004
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.
Planet Source Code Superior Coding Contest Winner
February 2003
Received Planet Source Code's Superior Coding Contest Award for the voice recognition tutorial "Talk To Your Computer" at the age of thirteen.

Affiliations

GNU Project
December 2013–Present
I am the author and maintainer of GNU ease.js; am one of the four GNU software evaluators that review software offered to GNU and work with the author to resolve concerns and adhere to GNU standards before submitting to Richard Stallman (RMS) for a final decision; and participate in general discussions regarding the GNU Project as a whole.
I participate in general activism pursuant to the goals of GNU, usually addressing the issue of non-free JavaScript. Notably, I worked with Sytse Sijbrandij (GitLab B.V. CEO) to freely license all GitLab EE JavaScript.
Free Software Foundation
October 2007–Present
Associate member (#5804) of the Free Software Foundation (FSF) and a strong supporter of the free software movement. Actively involved in the free software community.
I am also on the JavaScript Developers Task Force, part of the FSF's Free JavaScript campaign.
Master Chong's World Class Tae Kwon Do
February 2010–February 2012
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.
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.

Skills, Studies, and Interests

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.

Languages—Actively Used
  • (X)HTML15+
    • XHTML 1.1
    • HTML 5
  • CSS15+
    • 2
    • 3
  • PHP10+
    • 4
    • 5
  • JavaScript7–10
    • ECMAScript {3,5,6}
  • Shell10+
    • POSIX
    • Bash
  • C5–10
    • ANSI
    • C89
    • C11
  • TeX5+
    • Plain
    • LaTeX2e
  • AWK3–5
    • POSIX
    • Gawk
  • Lisp2–4
    • Elisp
    • RnRS Scheme
    • Guile Scheme
  • XSLT3–5
    • 1
    • 2
  • Texinfo5+
  • SQL10+
    • MySQL
    • SQLAnywhere
    • MSSQL
  • WEB2+
    • Org-mode
    • Other/Custom Literate
    • noweb
    • CWEB
Languages—Infrequent
  • C++1–2 (2005)
  • Scala1- (2012)
  • Java1–2 (2014)
  • Clojure1- (2014)
  • x86{,_64} ASM1 (2013)
  • Haskell1- (2014)
  • M41- (2015)
  • Python1- (2006)
  • Ruby1- (2014)
  • Perl1 (2009)
  • Troff1- (2011)
  • MOS 6502 ASM1- (2013)
Languages—Academic
  • ML
    • OCaml
  • Joy
  • Erlang
  • Forth
  • Postscript
  • Lua
  • Coq
  • B
  • BCPL
  • Brainfuck
  • Octave
  • Ada
  • ALGOL
  • COBOL
  • Fortran
  • Pascal
  • PL/I

There are a few languages that I no longer use because they are either non-free or focus on non-free operating systems.

Languages—Defunct
  • ASP1–2 (2004)
  • Visual Basic5+ (2006)
    • 6
    • .NET
  • BASIC1 (2005)
    • QBASIC

Studies differ from interests in that the former are actively researched, whereas the latter are occasionally visited, but otherwise pending formal study.

Studies—Computer Science
  • Compilers
    • Construction
    • Static Analysis
    • Control Flow Analysis
  • Programming Languages
    • Theory
    • History
  • Security
    • Domain-Specific
    • Implicit In Other Skills/Studies
  • Cryptography
    • Implementation
    • Algorithms
  • Combinatory Logic
    • Point-Free Programming
    • Concatenative and Stack-Based Languages
    • Church-Turing
  • λ-Calculus
    • Untyped
    • Simply Typed
  • Logic
    • Proof Theory
    • Propositional
    • Predicate
    • Modal
  • Linear Algebra
  • Graph Theory
Studies—Legal and Political
  • Software Licensing
    • GNU General Public License and variants
    • Various licenses
  • Copyright
    • Law
    • Fair Use
    • Copyleft
  • Privacy
    • Cryptography
    • Law
  • Surveillance
    • NSA
    • GHCQ
    • Five Eyes
    • FISA
    • Domestic
    • Snowden
    • Court Cases
  • Patents
    • Court Cases
    • Reform
Studies—Miscellaneous
  • History of Computing
    • Unix / Multics / Lisp Machines
    • MIT
    • Bell Labs
    • Hacking
    • Historical Figures
    • Machines
  • Typesetting
  • English Writing
    • Predominantly American
Interests
  • Cryptography
    • Various Algorithms
  • Mathematics
    • Category Theory
    • Set Theory
    • Anything Else
  • Machine Learning
    • Neural Networks
    • Genetic Algorithms
  • Natural Sciences
    • Quantum Mechanics
    • Cosmology and Planetary
    • Theoretical Physics
    • Cellular Communication
    • Synthetic Biology
  • Management
    • Team Building / Kaizen Culture
    • Kanban
    • Lean/Agile/SCRUM/Other Methodologies
    • Office Environment
    • Psychology
    • Project Management
GNU/Linux Inside!