Academics
I start Computer Science at UC Santa Barbara in September 2026. Most of what I know so far came from building things and then finding out what I got wrong.
Coursework
01I start at UCSB in September 2026, so there is nothing to list here yet. This fills in once I have actually taken something.
Between school, the research, and whatever I am building on the side, I expect the balance to move around a lot for a while. I am fine with that.
Where my interests actually are
02Compilers, type systems, code generation, LLVM, language design, language tooling
This is where most of my time has gone. Pekoscript has a real type checker, a static analyzer, an LLVM 18 backend, and a language server, and I wrote all of it. Designing a language forces you to be exact about things you can stay vague on forever if you are only using one.
Operating systems, memory, low-level programming, binary formats, performance, runtimes
ProxOS is the small version of this. A bytecode VM with its own binary format and a compacting allocator, which is not much, but it is the part of a system I understood least well.
Compilers, build systems, CLI tools, development environments
Peko was mostly this in disguise. Most of what I built was tooling and infrastructure rather than anything a user would see.
Technology businesses, product development, problem discovery
The academic version of what I have been learning the expensive way.
How I learn
03By building it, then breaking it, then working out why. That is not a slogan, it is just the only thing that has stuck.
The clearest example I have is heap compaction in ProxOS. I knew in the abstract that moving memory invalidates references. I did not actually understand it until my own compaction pass quietly corrupted every register holding a pointer, and I had to add an is_ref flag to the register representation so the thing could tell which words to rewrite. I am not going to forget that, and it cost me an afternoon instead of a lecture.