Interviewed Rust programmers to identify their productivity barriers, and developed a variety of interventions. Led initiative to improve the observability of asynchronous Rust applications. Led cross-industry initiative to improve safety tooling.
An expert in leveraging and evolving Rust to improve the safety and ergonomics of complex programming tasks. Key projects include:
Lead the working group to make bit-reinterpretation casts (e.g., union
, mem::transmute
) memory safe. Designed and implemented TransmuteFrom
, a novel compiler analysis for proving the transmutability of arbitrary types. Maintain zerocopy, a widely-used library providing a safe abstraction for many kinds of bit-reinterpretation casts.
Led the AWS Rust Platform Team's observability initiative. Collaborated with the Rust Debugging Working Group to prototype and evaluate methods for in-process debugging of stuck asynchronous services. Authored a suite of novel crates for program instrumentation. This work culminated in the design and development Tokio's task dump functionality.
Maintainer of itertools, a popular (>575m downloads) library for ergonomic transformations and summarization of streams of data.
An expert in programming pedagogy and user experience. Contributed to Pyret, a programming language designed by computer science educators:
Developed Pyret’s unique hypertext error messages, which leverage hyperlinks, highlights and in-line code snippets to guide novice programmers towards deeply understanding their errors.
Developed Pyret’s language-level support for manipulating tabular data, used by the data science module of the Bootstrap curriculum, a research-based computer science curriculum for grades 6–12.
Developed a cloud-hosted IDE for Pyret that encourages students to write input–output examples before they begin programming, and conducted research to assess its impact.
Developed infrastructure for assessing the quality of students’ Pyret programs and test suites at massive scale on a distributed super-computing cluster, and developed an analysis to validate the robustness of these assessments.