I am a PhD student in the Department of Computer Science at Tufts University, working on programming languages with my advisor Jeff Foster.
My primary research interests are related to Program Synthesis, applications of Convex Optimization, and Resource Analysis.
I'm also generally into weird type systems, event-driven systems, distributed systems, and machine learning.
Before returning to graduate school, I spent 12 years in industry working on cool stuff like embedded systems and machine learning for companies including Bose and ADB Airfield Solutions.
Before that, I got my BS in Electrical Engineering at Rensselaer Polytechnic Institute.
From summer 2019 through September 2024, I was funded thanks to the generous support of the Draper Scholars program.
In the spring 2019, I was an RA for professor Jeff Foster.
In the spring and fall of 2018, I was a graduate TA for Comp 105: Programming Languages with professor Norman Ramsey.
A domain-specific language for event-driven state machines, along with a compiler and run time system, co-created with my colleague Nathan Michaels. The compiler is written in Haskell, and generates ANSI C89 output. The run time system, Smear, is written in C99.
A mini-scheme with a resource-aware type system based on RaML, by Hoffmann et. al. It is written in Haskell, and is meant as a sandbox to play with resource-aware types, in order to explore their concrete applications.
A networked smart speaker. My contribution was to improve network and distributed system infrastructure and performance via profiling, optimization, and analysis-driven redesign. I also contributed to overall application design and implementation.
"Nate is a very creative thinker, making connections between ideas from different areas of computer science and even electrical engineering with promising results."
"Nate can quickly understand the most complex problem or topic, in anything from high-level algorithms to low-level device software, and design and implement an elegant solution to it. He is a really great team member and colleague to work with, willing to help and mentor others whenever anyone needs it."
"I've worked with Nate during his PhD. It's impressive how he matches an understanding of deep theory questions and fiddly details of C++ implementations. I've honestly never seen someone as punctilious in performance experiments! It's my firm conviction that he'll do great at whatever technical task he puts his mind to."
Feel free to reach out to discuss potential collaborations or if you have any inquiries.