Andrew Erlanger

About

This Andrew Erlanger's professional website, and is generally supplemental to this resume.

Background

Personal Bio

I was born in 1992 and grew up in Westchester Country, NY. In childhood I took to the sciences and spent most of my time reading and tinkering. At a young age I decided to study astrophysics, and began private physics lessons sometime in middle school. Around the end of middle school I discovered philosophy, and started studying that under my father, who was a Wittgensteinian and hung out with G. E. M. Anscombe and the like.

I entered into Reed College intending to continue with philosophy, but upon arriving was placed into advanced calculus in virtue of previous coursework at Columbia. The formal method taught in the math department was pleasant, and for the Spring semester I enrolled in junior-level coursework. For my senior year I wrote a thesis on a mathematically sound topological model for three-dimensional quantum field theories (QFT in general not being mathematically sound).

After graduating Reed, not wanting to attend graduate school immediately, I continued my studies on my own while tutoring back in Westchester. I had taken some interest in computers during college, but now decided to explore the field more intensely. The hands-on and practical nature of coding was a nice change after academia, so I started a software engineering job at a small cybersecurity firm in Connecticut. The slow-paced public-sector culture became ossifying before long, leading me to Bridgewater, where I worked in tech for about 2 1/2 years.

Interests

My interests are broad, founded on a strong curiosity. I take most pleasure at synthesizing across domains of knowledge.

During college I picked up a more serious interest in computing. Reed, however, lacked a computer science department and offered only a few theoretical courses on computation. I decided to pick up Gentoo Linux and became employed as the mathematics lab system administrator. Before long my natural inclination for theory moved me to work through SICP, sparking a passion for the LISP programming style, and as part of my senior thesis I reproduced a number of tricky calculations entirely in Common Lisp. At the same time, my experience as a sysadmin introduced me to managing distributed systems and the integral practices of scripting, configuration management, and so on. The rest of the story is broadly outlined in my resume; in the present, my goal is to become an expert software engineer, especially in the more functional paradigms.

Projects

Computing

Written in Clojure. An extensible document interpreter and renderer. When set to a directory, scans for all contained documents (currently, Markdown) and interprets their contents, storing the result in memory. Code elements in documents are matched to custom interpreters, and the code is replaced by the result of interpretation, allowing for arbitrary extension of Markdown by specifying new interpreters. Documents and their contents are rendered lazily, only being rendered when visited by the included web-based document browser. The results of rendering are cached, and are automatically marked for re-rendering when the underlying document file is changed.

A highly transparent, cryptographically-backed revision control system. Uses human-readable diffs, requires valid and trusted gpg signatures on all revisions, and contains its own implementation of Keccak (the base of SHA-3). The point is that the system is small enough to be completely inspected so that trust in the system (and hence its output) is easily established. Written in Common Lisp.

A small macro system written in plain TeX for formatting my mathematics papers. Considerably more typographically pleasing than LaTeX, in my opinion.

At some point, my Emacs configuration grew unmanageable. I responded by writing defconfig, which is a basic system for dynamic configuration of Emacs packages and associated features. Other common solutions are not dynamic, which was a dealbreaker, as Emacs gains much of its power from its dynamic binding. Eventually I plan to rewrite defconfig in order to implement multi-modal editing and a menuing interface.

Mathematics

Senior thesis written under professor Kyle Ormsby.

Galois Theory final project written under professor Irena Swanson. As a classic demonstration of Galois theory, this paper proves an exact condition for when a regular n-gon (pentagon, hexagon, and so on) can be drawn using a straightedge and compass.