[ ⊥ TEXT ]
Hey! I am a compiler engineer at Apple, and am based in the SF Bay Area in California. I’m currently working on Clang and C++ interoperability in the Swift programming language.
I completed my PhD in computer science at Columbia University in 2024, advised by Stephen Edwards. My thesis is titled “Sparse Synchronous Programming with Temporal Abstractions” and proposes a software programming model with precise timing prescriptions. I previously graduated from Columbia College in 2018 with a BA in computer science and music.
You can reach me via (Apple), (Columbia), or (personal).
Publications
- John Hui. Sparse Synchronous Programming with Temporal Abstractions. PhD dissertation, Columbia University, 2024.
- 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
- PLDI 2024: Video Co-Chair
- POPL 2024: AV Committee
- SPLASH 2023: Video Co-Chair
- ICFP 2023: Video Co-Chair
- FARM 2023: Program Committee
- PLDI 2023: Video Co-Chair
- POPL 2023: Student Volunteer
- VMCAI 2022: Artifact Evaluation Committee
- PLDI 2021: Student Volunteer
- SIGCSE 2018: 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. Some day, I’ll build programming languages for music production.