That people produce HTML with string templates is telling us something

Demystifying Tupper's formula

A book I was recently reading mentioned a mathematical curiosity I haven't seen before - Tupper's self-referential formula. There are some resources about it online, but this post is my attempt to explain how it works - along with an interactive implementation you can try in the...

1 million concurrent tasks

#​461 — May 23, 2023 Unsub  |  Web Version Go Weekly How to Start a Go Project in 2023 — The same author wrote a similar piece in 2018; a bit has changed since then. While this may be aimed at new gophers, experienced folks could f...

Some notes on the cost of Go finalizers (in Go 1.20)

The latest Go survey results

#​460 — May 16, 2023 Unsub  |  Web Version Go Weekly The Go Developer Survey 2023 Q1 Results — Nearly 6,000 gophers took part in the latest developer survey, and now we have the results. Key takeaways include: 92% of respondents...

Why I use separate lexers in my recursive descent parsers

Go Developer Survey 2023 Q1 Results

An analysis of the results from the 2023 Q1 Go Developer Survey.

Fuzz tests in Go

Fuzz testing is Go’s clever way of generating new test inputs that you didn’t think of—and that may flush out some hidden bugs. Stand by for things to get a little fuzzy!

Twenty years of blogging

This blog has now been running for 20 years! Twenty years... a significant chunk of a human's adult life; while so many things in my life have changed since May 2003, the blog has remained a constant companion. This milestone inspired me to do some archaeology using the amazing W...

A modest proposal?

#​459 — May 9, 2023 Unsub  |  Web Version Go Weekly go-callvis: Visualize the Call Graph of Go Programs — We first linked to this project over six years ago, but it’s still going strong and has reached version 0.7. The idea is s...