nathan perry
Full-time at Tailscale — details forthcoming once I clarify what can be public / if we open-source any of my contributions.
previous
I completed my Master's degree in May 2025 at the MIT Media Lab with the Responsive Environments group, where I:
- Wrote software that is on the surface of the Moon
- Researched and built networks of microcontrollers over unconventional wired links (thesis)
- Co-ran an auditory perception experiment on a zero-g flight
- Deployed a lab-mate's experimental environmental sensor devices on the Canary Islands
- Designed and fabricated a tiny 9g sensor node which can fly on kites and drones
I wrote about these projects (and more) in detail at /resenv.
Before the Media Lab, I was a firmware and software consultant in the Boston area: my work included firmware and UI now shipping on Volta Labs' biological sample prep devices. I'm an alum of Tulip Interfaces, where I built their second-generation machine monitoring backend, then helped bring up firmware and embedded Linux on their EdgeMC and EdgeIO industrial IoT gateway devices.
I completed a CS and Philosophy double-major at Williams College in 2018.
content
This blog originally started as a series of assignments for Neil Gershenfeld's how-to-make class series (see /class/{htm,machines}).
Personal projects and reflections:
-
site defense
defending my reverse proxy from very light, unintentional DoS
- embassy-sync, lock-api mutex compat
-
clef
automatic, configurable kicad project outputs with nix
-
ppq
[concept]
documentary media queueing from a phone
-
nix: tinysearch
packaging site-embedded search for nix
-
git web frontends
canonical repo summary page = tree + readme
-
rdap crawler monitor
automated packet provenance for blacklisting impolite web crawlers
-
home lab equipment
list of equipment
-
tourmaline
[suspended]
embedded erlang runtime in rust