I build compilers, editors, and tools mostly to learn things. I write about programming languages, the texture of working in old codebases, and the feeling of computing.
read the postsDynamic, mostly-functional, compiles straight to machine code. (pre-alpha)
Beagle is my programming language I've been working on for a while now. It is slowly approaching a stage I'm proud of. The code snippet on the right might seem unremarkable, but those socket/read calls don't block. Concurrency in this language is fully controllable, yet there is no function coloring.
open project1use beagle.socket as socket23fn main() {4 let listener = socket/listen("0.0.0.0", 8080)5 println("Echo server listening on port 8080")67 socket/on-connection(listener, fn(conn) {8 loop {9 let data = socket/read(conn, 4096)10 if data == "" || data == null {11 socket/close(conn)12 break(null)13 } else {14 socket/write(conn, data)15 }16 }17 })18}
A podcast with an alternative take on computing. We try to explore things around the edge of computing, looking back in history and into the future of what computing has and could be.
listen at feelingof.comI did an experiment where I tried to read a paper every day of advent and write about it. Some days are more involved than others, but I had a great time doing it.
A collection of papers I've gathered over time. Many I've read but not all. Figured it was worth sharing. Plan on organizing more over time.
I wrote about how this archive came together.