[ ⊥ TEXT ]

I’m a computer science PhD candidate at Columbia University, advised by Stephen Edwards. I previously graduated from Columbia College in 2018 with a BA in computer science and music.
You can reach me via email at .
Research
Broadly speaking, my research encompasses programming languages, compilers, and software systems. I am particularly interested in extending programming languages to support reactive real-time computing.
These days, I am working with Stephen Edwards on the Sparse Synchronous Model, a programming model with precise timing prescriptions and deterministic concurrency. In Summer 2023, I was an intern at Roblox Research, where I worked with Alan Jeffrey.
Publications
- John Hui, Kyle J. Edwards, and Stephen A. Edwards. Timestamp Peripherals for Precise Real-Time Programming. In Formal Methods and Models for Codesign (MEMOCODE), Hamburg, Germany, September 2023.
- John Hui and Stephen A. Edwards. Towards Sparse Synchronous Programming in Lua. In Workshop on Time-Centric Reactive Software (TCRS), San Antonio, TX, USA, May 2023.
- John Hui and Stephen A. Edwards. The Sparse Synchronous Model on Real Hardware. ACM Transactions on Embedded Computing Systems, December 2022.
- Robert Krook, John Hui, Bo Joel Svensson, Stephen A. Edwards and Koen Claessen. Creating a Language for Writing Real-Time Applications for the Internet of Things. In the 20th ACM-IEEE International Conference on Formal Methods and Models for System Design (MEMOCODE), Shanghai, China, October 2022.
- Shih-Wei Li, Xupeng Li, Ronghui Gu, Jason Nieh, and John Hui. Formally Verified Memory Protection for a Commodity Multiprocessor Hypervisor. In the 30th USENIX Security Symposium, virtual, August 2021.
- Runzhou Tao, Yunong Shi, John Hui, Jianan Yao, Fred Chong, Ronghui Gu. Gleipnir: Toward Practical Error Analysis for Quantum Programs. In the 42nd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), virtual, June 2021.
- Shih-Wei Li, Xupeng Li, Ronghui Gu, Jason Nieh, and John Hui. A Secure and Formally Verified Linux KVM Hypervisor. In the 42nd IEEE Symposium on Security and Privacy (S&P), virtual, May 2021.
- Stephen A. Edwards and John Hui. The Sparse Synchronous Model. In the Forum on Specification and Design Languages (FDL), Kiel, Germany, September 2020.
Teaching
In Fall 2022, I taught COMS 3157: Advanced Programming, an introduction to systems programming with a narrative.
I’ve also been a teaching assistant for the following classes at Columbia:
- COMS 4118: Operating Systems (Linux kernel hacking)
- COMS 3157: Advanced Programming (in C and UNIX)
- COMS 4115: Programming Languages and Translators (in OCaml)
- COMS 4995: Parallel Functional Programming (in Haskell)
- CSEE 4840: Embedded System Design (with FPGAs)
- CSOR 4231: Analysis of Algorithms (exactly as advertised)
Service
- SPLASH 2023: Video Chair
- ICFP 2023: Video Chair
- FARM 2023: Program Committee
- PLDI 2023: Video Chair
- POPL 2023: Student Volunteer
- VMCAI 2022: Artifact Evaluation Committee Member
- PLDI 2021: Student Volunteer
Personal
I love tinkering with terminals and text editors, and am the author of fidget.nvim, an extensible UI for Neovim notifications and LSP progress messages.
Once upon a time, I composed music for humans, but nowadays I primarily produce music for computers when I have time. I was also Music Director for my college a cappella group, the Columbia Kingsmen. I’m interested in one day building programming languages for music production.