Hi, I'm Leon!
I'm a PhD student in Computer Science at Princeton University. I build software. Sometimes hardware. And occasionally other things.
Here are some things I've worked on:
In my free time, I like to contribute to the Tock embedded operating system. It features quite a few interesting concepts and targets microcontrollers with upwards of 64kB RAM. It works on ARM Cortex-M and RISC-V platforms. You should go check it out!
To develop FPGA designs I'm using LiteX, a free and open system-on-chip framework. Over the course of previous projects, I helped integrate a 10 Gigabit Ethernet datapath in the LiteEth IP core and added support for XGMII-interfaced PHYs.
My Linux distribution of choice is NixOS. It's a great fit for desktop and server systems alike! When I see that things are missing or don't work, I occasionally send a pull request.
Whenever there's time, I like to tinker with electronics, networking hardware and servers. I'm especially interested in applications of the Rust programming language, for example in embedded systems. My main area of interest is developing secure, interconnected embedded systems.
Here are some things I've written:
- As part of my master's studies, I've analyzed the synchronization precision achievable through the IEEE 1588 Precision Time Protocol, specifically the impact of embedded operating system design decisions on software-timestamping based implementations. This project used hardware-software co-design, the Tock embedded OS as well as the LiteX SoC framework. The results are presented in a paper.