| title | |
|---|---|
| layout | page |
I am a human and programmer. I like to read books, take photos, and ride bikes in the hills near my house. I post things (and toot things) about bread, legumes, and compilers. Right now, I am a software engineer working on compilers at Shopify and a Hacker in Residence at the Dartmouth College computer science department. I did a half-batch of Recurse Center (Fall 2 2024) and really enjoyed it. I am a Ruby committer.
You can email me if you so desire. I'm happy to talk about education, programming languages, cycling, and more.
That's probably an understatement. Here are some of my favorite projects:
- ZJIT, Ruby's new method JIT compiler. See the merge blog post and the 4.0 blog post
- scrapscript.py, an implementation of the Scrapscript language. Check out the blog posts (and three, four, five, six) too
- Cinder, Instagram's performance-oriented fork of CPython
- Skybison (fork of original), Instagram's performance-oriented greenfield implementation of Python
- shru.gg, a website built just so I could stop finding, copying, and pasting that shrug emoji. If you like it, you are welcome to help keep it running
and some older projects.
I like making things just for fun.
- I taught COSC 294: Compilers for Functional Languages (2026) at Dartmouth
- I taught CS 4973: ISDT (2024) at Northeastern
- I taught CS 50ISDT (2021) with Tom Hebb at Tufts
- I taught EXP 57 (2018) with Yuki Zaninovich at Tufts
Tom and I wrote Introduction to Software Development Tooling (ISDT) originally for Tufts (as CS 50 ISDT), and then made some modifications to teach it at Northeastern (as CS 4973 ISDT).
Yuki and I wrote EXP 57: Tech Trends and Careers for the Experimental College at Tufts University to teach students about personal and professional development. In 2021, we taught a much-condensed version of it as a multi-day workshop at Tufts.
- I TAed CS 4530 at Northeastern (Fall 2023)
- I TAed CS 11 (intro), 15 (data structures), 40 (machine structure), and Concurrent Programming at Tufts and was the head TA for 11 and 15
I also worked at the Center for Education Research at Stanford (CERAS) in 2014 and taught robotics at a summer camp some time between 2013 and 2018.
Most of my personal software is open source. My work projects include:
Fun fact: I have now contributed to five different Python runtimes (Skybison, Cinder, CPython, PyPy, and Pyjion).
I have a blog and now I also have some academic papers!
- Partial Evaluation, Whole-Program Compilation
Chris Fallin, Maxwell Bernstein
in PLDI 2025
[PDF] [DOI] [ARX] - Dr Wenowdis: Specializing dynamic language C extensions using type information
Maxwell Bernstein, CF Bolz-Tereick
in PLDI SOAP 2024
[PDF] [DOI] [ARX]
Also academically: I was on the program committee for MoreVMs 2026!
- The design and implementation of ZJIT & the next five years at RubyKaigi, April 2026
- Video and slides coming soon
- Invited talk for Brown PL on the past and future of compiler engineering, April 2026
- Invited guest lecture for Dartmouth CS 59 on dynamic language runtimes at scale, November 2025
- Dynamic Language Runtimes in the Large (and small) for Low Resource Computing, August 2025
- Invited guest lecture for Dartmouth CS 59 on dynamic language runtimes at scale, November 2024
- Dr Wenowdis: Specializing dynamic language C extensions using type information (PDF) at PLDI SOAP 2024
- Compiling ML models (PDF) at NEU Software Day 2023
- Cinder: We didn't start the fire (PDF) at ECOOP 2022 (invited talk)
- How Git works at Tufts PolyHack 2019
- I adopted the Person Biking emoji 🚴.
- I once biked across Germany (Tübingen to Puttgarden).
- I walked the entire Walking City Trail in one day. It took 10 hours of moving time and 2 hours of eating time.
- I used to sell bread on the Internet.