Context Control in Go
Best practices for handling context plumbing in Go
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 14,541 posts.
Best practices for handling context plumbing in Go
"Correct" doesn't mean "correct" when correctly using "correct"
It's always very tricky when people who aren't educators start banging on about what should or shouldn't be taught in schools. My own school days are but a hazy memory of hormones, angst, and boring homework. Yet here I am, pontificating. With the current "fad" of encouraging children to learn to code, I thought I…
A blog mostly about Clojure programming
You all know me, I love exploring new memory safety approaches and blending them together in weird ways.
It’s been a long road, but at last the puzzle is complete: Today we delivered Project Jigsaw for general use, as part of JDK 9 .
Clojure by Example
Learn about type level programming by building a custom theming engine.
Taking the output of many dumb LLM search relevance judges and feeding the output to a decision tree to improve precision
There's just one small problem: The way POSIX has defined close(2) is completely and utterly broken.
Graph theory is my favourite topic in mathematics and computing science and in this blog post I’ll introduce an algebra of graphs that I’ve been working on for a while. The algebra has become my go-to tool for manipulating graphs and I hope you will find it useful too.
System programming in Rust: beyond safety Balasubramanian et al., HotOS’17 Balasubramanian et al. want us to switch all of our systems programming over to Rust. This paper sets out the case. …
I love watching House. My favorite episodes are those where he manages to debug an illness not by knowing an obscure desease, but by having the …
One of Go's advantages is being able to produce statically-linked binaries [1] . This doesn't mean that Go always produces such binaries by default, however; in some scenarios it requires extra work to make this happen. Specifics here are OS-dependent; here we focus on Unix systems.
Go 1.18 is coming out soon. It's a huge release, but native fuzzing has a special place in my heart. Not much has been written yet on how Go's fuzzing system actually works, so I'll talk a bit about that here.