This is the homepage of Martin Tournoij, also known as arp242 and Carpetsmoker on the web. You can also find me at GitHub, Stack Overflow, couchsurfing, Keybase,, Hacker News, and reddit. Send an email to or create a GitHub issue if you want to contact me. Also see my CV.

Also see the archives. I archive things based on “interestingness” to the general reader, rather than age. “How to detect automatically generated emails” is useful if you’re creating an email system, but most people aren’t. Archived does not mean outdated.


I launched GoatCounter: privacy-aware web statistics.
You can now support my work.

Code projects

See GitHub for a full list.

Go libraries and tools

Things I created/maintained at my previous employer; I still try to maintain these (as I continue to use some of these packages myself).

Vim stuff