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 tweet things (and toot things) about bread, legumes, and compilers. I did a half-batch of Recurse Center (Fall 2 2024) and really enjoyed it.
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:
- The National Malware Association, an organization focused on security and education
- scrapscript.py, an implementation of the Scrapscript language. Check out the blog posts (and three, four, five) too
- Cinder, Instagram's performance-oriented fork of CPython---try it out on trycinder.com (which I built!)
- Skybison (fork of original), Instagram's performance-oriented greenfield implementation of Python
- shru.gg, a website built just so I would have to 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 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.
- PyPy (!848, !858)
- Cinder
- Skybison (fork of original)
- YJIT (#58, #59), which now lives in upstream Ruby
- CPython (bpo-36929, bpo-38648, bpo-42065, bpo-42199, faster-cpython #546)
- Pyre (Refactor protocol inference)
- Clang (rC345558)
- Reason
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 (preprint; do not distribute)
Chris Fallin, Maxwell Bernstein
[PDF] [ARX] - Dr Wenowdis: Specializing dynamic language C extensions using type information (2024)
Maxwell Bernstein, CF Bolz-Tereick
in PLDI SOAP 2024
[PDF] [DOI] [ARX]
- 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.