I'm a systems engineer working on RISC-V blockchain VMs, zkVMs, compilers, and the bytes underneath.
Started on a consulting contract working on SP1's Arbitrum integration, later converted to full-time Senior Software Engineer. Departed in a company-wide reduction.
Joined to build Nervos CKB, a permissionless layer-1 blockchain. Grew into engineering leadership, including a period as CTO, then returned to a senior IC role to focus on deep VM and systems work.
Worked on and led teams building diverse projects spanning web apps, embedded systems, and Linux kernel technologies. Led the engineering team on a major Apple Store supporting project that was featured in an Apple Keynote.
Worked in the AdWords team, helping build a series of internal and external tools, including a conversion tool for importing advertising campaigns from Sklik into Google AdWords, a visualization tool for presenting AdWords potential conversion results to advertisers, and a range encoding algorithm for compressing URLs on the fly by exploiting URL patterns.
I've also contributed to open source projects from time to time. Since much of my professional work is itself open source, I will only include selected personal projects here:
I have extensive low-level systems programming experience. I have authored and optimized virtual machines where bottleneck lies in modern CPU micro-architecture, tweaked software for embedded devices with extremely low memory, and modified Hadoop to unlock additional performance.
I introduced RISC-V as a practical VM architecture for blockchains through CKB-VM in 2018 and have helped pioneer its ecosystem since.
I've been working with WebAssembly related technologies from the very beginning, whether it is emscripten, LLVM, asm.js or the current WebAssembly. I'm also up to date with the latest progress, both in the implementations, and in software that relies on WASM.
Throughout my career I've practiced with simplicity driven design. I firmly believe simplicity is the most effective weapon against complicated computer systems, as well as ever-changing domain logic.
Throughout my career I've been dealing with many different technologies. I'm proficient in C/C++, Rust, Go, Ruby, JavaScript, low-level assemblies on x86-64, aarch64 and RISC-V. I also have experience (but to a lesser extent) in Java, Erlang/Elixir, Lua, Python, Coq, C#, etc.
Major: Electrical and Computer Engineering
Major: Software Engineering. Graduated 1st in class.