> Zachary.projects.filter({(p): p.type == all software academic design games case_studies fun_things })
Sorry, there's nothing here yet.
(Try a different filter!)
More About Me

I'm currently a 7th-semester Concurrent Degree candidate at Brown University. (What "Concurrent Degree" means is that I'm mostly an undergraduate who is pursuing a ScB in Computer Science, but I moonlight as a graduate student along the way in order to graduate with an ScM in Computer Science at the same time.)

My current technical and research interests focus on applied cryptography, systems security, usable security, programming languages, and computer science education. I am particularly interested in practical deployments of applied cryptography—in other words, how to architect cryptographic (and, more generally, secure) systems in ways that are practical and usable, solve real-world problems, and work under real-world constraints and assumptions.

I really like musical theater, lighting design, speech and debate, and rhythm games.

Experience
Remote
Software Engineering Intern
Summer 2020

Developed an open-source OpenSSL engine in C++ allowing OpenSSL-backed web servers to immediately perform TLS signing operations with Google Cloud HSM private keys without any source code modifications.

Undergraduate Researcher
Summer 2018

Created a port of TensorFlow.js for Pyret, a functional scripting language designed for education, to develop Pyret programs with machine learning capabilities. Prototyped implementations for a Pyret Jupyter “kernel” to support Pyret “notebooks” and a command-line Pyret REPL.

New York, NY
Software Engineering Intern
Summer 2017

Co-developed automated sales lead information validation tool. Streamlined operations team workflows with Slack integrations and automated price comparison tools integrated with product vendor APIs. Optimized PostgreSQL queries for up to ~500x faster full-text searches.

New York, NY
Software Engineering Intern
Summer 2016

Created client-facing system for customers to automatically schedule recurring orders. Set up continuous integration pipeline and co-wrote test suite from scratch for several thousand lines of code with over 70% coverage. Built web scrapers to automate previously manual product price point collection. Led development of company Ruby style guide.

Teaching
I've served as a teaching assistant every semester I've studied at Brown University, sometimes even during semesters I wasn't enrolled. Semesters marked with an asterisk (*) denote a head teaching assistant role.

Spring 2019*, Spring 2020*, Spring 2021*

An introduction to principles of computer security from an applied viewpoint and provides hands-on experience on security threats and countermeasures. Topics include cryptosystems, web security, network security, malware, code execution vulnerabilities, access control, cryptocurrencies, machine learning, and human and social issues. With Roberto Tamassia (2019, 2020) and Bernardo Palazzi (2021).

  • 2021 contributions:
    • Developing new course project on cloud storage security and secure systems design.
  • 2020 contributions:
    • Interviewed, hired, trained, and coordinated staff of 11 undergraduate and graduate TAs.
    • Organized creation of new homeworks with a more open-ended, design-based focus; modernized homework content (with questions on cryptography, MPC, web security, networks, data compression, anonymization networks, etc.) and wrote +30 new questions for the entire semester with additional “reserve questions” for future years.
    • Designed new “midterm” component of course focused on open-ended design and security analysis questions; wrote ~80% of the exam problems for 2020.
    • Redeveloped the web security and operating security technical projects to improve learning outcomes and increase efficiency of internal grading processes; facilitiated technical project logistics.
    • Created UTA Manual outlining internal staff processes and responsibilities.
  • 2019 contributions:
    • Interviewed, hired, trained, and coordinated staff of 8 undergraduate and graduate TAs.
    • Ported technical components of projects written in Bash, PHP, Javascript, and Go to Google Cloud Platform’s Compute Engine.
    • Automated setup process of sandbox Linux virtual machines for each project using the Compute Engine API, reducing setup times by up to ~92%.
    • Co-gave “Passwords” lecture with hashcat password recovery demonstration (slide deck, video starting @ 33:27).
Fall 2019, Fall 2020*

Explores the principles of modern programming languages by implementation; studies data and their types, including polymorphism, type inference, and type soundness; examines compiler and run-time system topics: continuation-passing style and garbage collection. With Shriram Krishnamurthi.

  • 2020 contributions:
    • Interviewed and hired staff of 6 undergraduate TAs.
    • Heavily rewrote 9 assignment specifications on programming language feature implementations in Plait and Racket (examples include “Interpreter”, “Type Checker”, “Type Inference”, “Generators”).
    • Transitioned internal staff infrastructure to Gradescope to automate the majority of grading and feedback distribution; developed autograder framework to emulate a Racket version of Examplar, a research IDE helping students assess their understanding of specifications via example-driven development.
  • 2019 contributions:
    • Interviewed and hired staff of 6 undergraduate TAs.
    • Remotely answered student-submitted questions throughout the semester.
    • Copy-edited several assignment specifications written by other TAs.
Fall 2018*

Functional programming, data structures, and algorithms in Racket and Pyret. Includes a summer component taught using the first half of How to Design Programs, then transitions to content based on portions of Programming and Programming Languages during the semester. With Shriram Krishnamurthi.

  • Interviewed, hired, trained, and coordinated staff of 9 undergraduate TAs.
  • Remotely organized summer placement process and grading for 174 students.
  • Rewrote old assignments (“Tour Guide”) and developed new labs (“Iterating Over Trees”, “Tensorflow”).
  • Maintained and added new features to existing, end-to-end Google Apps Script-based pipeline for grading management and distribution.
  • Wrote internal handbook for future iterations of course staff, covering suggestions for recruiting and hiring future teaching assistants, organizing course logistics, running existing course scripts, and more.
Spring 2018

Introduction to programming in MATLAB and Python, with an emphasis on STEM data analysis and simulation problems. With Dan Potter.

Fall 2017

Data-focused introduction to computer science using Pyret. With Kathi Fisler.

Education
Brown University
Providence, RI
Concurrent Sc.B. / Sc.M. in Computer Science
September 2017 - May 2022 *

Graduate-Level Coursework:

  • Algorithms: in Depth
  • Foundations of Prescriptive Analytics (SAT, CP, LP, IP, Local Search)
  • Human-Computer Interaction Seminar
  • Operating Systems Laboratory
  • Topics in Computer Systems Security

Undergraduate Coursework:

  • Advanced Deductive Logic (Computability and Logic)
  • Computer Systems Security
  • Design and Analysis of Algorithms
  • Design and Implementation of Programming Languages
  • Discrete Structures and Probability
  • Distributed Computer Systems
  • Introduction to Computer Systems
  • Introduction to Computer Graphics
  • Logic For Systems (Formal Methods and Verification)
  • Operating Systems
  • Software Security and Exploitation
  • Statistical Inference
  • Technology and Health Behavior Change
  • User Interfaces and User Experience

* Not enrolled in Fall 2019. Some notes on completing the Concurrent Degree can be found here.

Regis High School
New York, NY
September 2013 - June 2017

During February 2017 – May 2017, in lieu of traditional courses, I participated in the “Social Justice Entrepreneurship” program, where I completed three days of service work and two days of senior thesis research every week. The final project, “Connecting for Good: Bridging the Digital Divide Through Effective Integration Policies”, focused on disparities on access to technology among different parts of the city and combined empirical research with in-person interviews from volunteer work as a Computer Science assistant in an elementary school in New York City.