-
posts
-
TIL: July 6, 2025 - Weekly Reading: AI, Go's greentea GC, and OSS Security
Artificial Intelligence
Who are your MCP servers talking to? - Stacklok
Stacklok introduces their project
toolhive which is a project that
runs MCP servers in containers with strict network policies to prevent MCP
servers f...
-
TIL: July 1, 2025 - Weekly Reading: AI 2027, Go 1.25, and Career Development
Artificial Intelligence
AI 2027 - Daniel Kokotajlo, Scott Alexander, Thomas Larsen, Eli Lifland, Romeo Dean
A speculative look at the future of AI in 2027, exploring how it might
integrate into daily life, work, and society.
T...
-
TIL: May 19, 2025 - Weekly Reading: The Go Scheduler, CNCF/NATS Drama, and Signalgate
Here are some of the things I was reading this last week or two.
Go
Go Scheduler -
Nguyen Trong Nghia
This is a really good write up of how the Go scheduler works. It covers the
GMP model, Goroutine creation, the schedule loop and...
-
TIL: Proposal to Make GOMAXPROCS Container-aware
One of my former colleagues, Michael Pratt, created a
proposal for the Go runtime’s
GOMAXPROCS to take into account the
process’s CPU limits imposed by cgroups. The goal is for Go to be more
container-aware because cgroup CPU limits are the main w...
-
TIL: Go's errors.Unwrap doesn't work with errors.Join
Go 1.20 included the ability to wrap multiple errors at once.
joinWrapped := fmt.Errorf("%w:%w", errors.New("error1"), errors.New("error2"))
However, this is implemented using errors.Join which returns an error that implements the Unwrap() []er...
-
TIL: Go's sort.Find function
Today I learned about the sort.Find function in the Go standard library. It performs a binary search over a sorted array when provided with a comparator function.
sorted := make([]string, 150)
slices.SortFunc(sorted, strings.Compare)
// Search f...