Zachary Yedidia


Hello! I'm a computer science PhD student at Stanford interested in computer systems, hardware, and compilers. I'm advised by David Mazières and Dawson Engler.
CV
Publications
Blog
Contact: zyedidia@stanford.edu
zyedidia@gmail.com
GitHub: zyedidia


Projects

Micro: a modern and intuitive text editor. Code Website
LFI: efficient and scalable software sandboxing. Code Paper
Multiplix: a small operating system that runs on cheap AArch64 and RISC-V boards. Code
Knit: a build tool that uses a Make-style rules language intrusively embedded in Lua. Code
Revisor: a hypervisor for writing paravirtualized kernels that only use hypercalls to interact with the host. Code
Riscinator: a RISC-V CPU core with a 3-stage pipeline built with Chisel. Implements the rv32i ISA, with U/M-mode, and a system with UART and GPIO peripherals. Code
Eget: a tool for automatically installing pre-built binaries. Code
GPeg: an incremental PEG parser. Code Paper
Flare: a syntax highlighter built with GPeg. Code
Literate: a flexible literate programming system. Code Website
Generic: a Go library of generic data structures. Code
Perforator: a per-function profiler using perf and ptrace. Code
Rvsym: a small RISC-V symbolic execution engine. Code
Sregx: a tool for parsing/editing files with structural regular expressions. Code
Crypt: a tool for encrypting files. Code

Notes and guides
SystemVerilog
Circuits and devices
Lagrange multipliers
Entropy
Randomization
Git
Unicode
Useful
Circuit macros - manual - examples
Neovim (my second-favorite editor)
Pandoc
Razavi electronics
Documents
Chisel
CIRCT
Fun
Trivia
TurboTanks
Asteroids (made in Elm)
Snake
Randomly generated music
Text Camera
1111
Library of juggling
Cool boards!
ARM64 Visualization