---
title: "200 million requests per day with Go and cgi-bin"
publication: "Go Weekly"
issue: 561
published_at: "2025-07-09"
canonical_url: "https://golangweekly.com/issues/561"
---

Plus some deep dives into Go pragmas and generic interfaces. |        

#​561 — July 9, 2025 

[Unsub](https://golangweekly.com/leave/*|UID|*)|[Web Version](https://golangweekly.com/issues/561)  

Together with [![Frontend Masters logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_300,h_70/e_make_transparent/co_white,e_outline:5/nk0tfdvalivacz8rw7rt.png)](https://frontendmasters.com/courses/complete-intro-containers-v2/?utm_source=email&utm_medium=golangweekly&utm_content=containersv2)   

Go Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/cq0ta0ev7vjxef0cwnc7.jpg)](https://mcyoung.xyz/2025/07/07/nosplit/)  

[What's `//go:nosplit` For?](https://mcyoung.xyz/2025/07/07/nosplit/) — Go has many comment-based directives for tweaking inlining, stack checks, write barriers, and more. Many aren’t well documented, but can have striking effects, such as `nosplit` which can offer a performance boost in certain scenarios, but may also lead to faults or a locked runtime. This is, nonetheless, a fantastic explainer. 

Miguel Young   

[Generic Interfaces](https://go.dev/blog/generic-interfaces) — Axel presents the idea that as interfaces are types themselves, they too can have type parameters. He shows how this lets you write one core implementation of a binary search tree and support built-in, callback-based, or method-based comparisons, before moving on to deeper concepts. There's a lot to get your teeth into here. 

Axel Wagner   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/9647dbc3.png)](https://frontendmasters.com/courses/complete-intro-containers-v2/?utm_source=email&utm_medium=golangweekly&utm_content=containersv2) 

[Build Containers from Scratch](https://frontendmasters.com/courses/complete-intro-containers-v2/?utm_source=email&utm_medium=golangweekly&utm_content=containersv2) — Start with raw Linux tools like chroot, namespaces, and cgroups to truly understand how containers work. Then build your own with Docker and deploy them using Kubernetes. 

Frontend Masters sponsor   

**IN BRIEF:** 

- ⭐ [Go 1.25 Release Candidate 2](https://groups.google.com/g/golang-announce/c/VDM1-NOZTQM/m/lxpShNSBBQAJ) has been released.
- Socket's Sarah Gooding fleshes out the recent story that [there's an official Go SDK for MCP (Model Context Protocol) under development.](https://socket.dev/blog/official-go-sdk-for-mcp)
- From Go 1.25 onward, [Microsoft's build of Go will have telemetry enabled by default.](https://devblogs.microsoft.com/go/microsoft-go-telemetry/)
- 🤖 Imagine a filesystem that's really just an LLM making stuff up: [Andrew Healey's implemented this spine-chilling idea in Go](https://healeycodes.com/filesystem-backed-by-an-llm) as a mountable FUSE filesystem.
- [GitLab has caught a supply chain attack](https://about.gitlab.com/blog/gitlab-catches-mongodb-go-module-supply-chain-attack/) targeting Go developers through a fake MongoDB driver module.   

[Serving 200 Million Requests Per Day with `cgi-bin`](https://jacob.gold/posts/serving-200-million-requests-with-cgi-bin/) — [CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface) was commonly used in the earlier days of the Web to have HTTP requests launch backend processes and return the results. Over time we moved onto persistently-running apps, but could the speed of Go and launching processes in 2025 make `cgi-bin` viable again? Yes! (But you might not want to..) 

Jake Gold   

▶️ [How I Recreated Shazam's Algorithm from Scratch](https://www.youtube.com/watch?v=a0CVCcb0RJM) – A fun look at implementing a music detection algorithm from scratch. Go does the heavy lifting and [there’s source.](https://github.com/cgzirim/seek-tune) Chigozirim 

📄 [An Optimization and Debugging Story with Go and DTrace](https://gaultier.github.io/blog/an_optimization_and_debugging_story_go_dtrace.html) Philippe Gaultier 

📄 [Developing a Terminal UI in Go with Bubble Tea](https://packagemain.tech/p/terminal-ui-bubble-tea) – Good high level advice. Alex Pliutau 

📄 [Am I Online?](https://antonz.org/is-online/) – An interesting way to see if your app is truly online by checking a special Google URL. Anton Zhiyanov  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/cxvqrxj7ysz9rgcurmds.jpg)](https://dowm.softwarespot.top/)  

[doWM: A Tiling and Floating Window Manager for X11](https://dowm.softwarespot.top/) — A fast, lightweight window manager written entirely in Go. You’ll need to be proficient with Linux, however, but this could be a great gateway into tweaking something that feels right for you. [GitHub repo.](https://github.com/BobdaProgrammer/doWM) 

BobdaProgrammer   

🕹️ [GORE: A Pure Go Minimal 'Doom' Implementation](https://github.com/AndreRenaud/Gore) — A few months ago we linked to [doomgeneric](https://gitlab.com/cznic/doomgeneric/), an initial effort to transpile 1993’s Doom to Go. This cleans it up a lot, makes it more “Go-ish” and platform agnostic, and.. it can even render the game on the terminal! 

Andre Renaud   

[Effortless Go Contract Testing: Inferred Automatically From Traffic](https://www.signadot.com/blog/let-systems-do-the-work-a-new-approach-to-contract-testing?utm_source=golang_weekly&utm_medium=newsletter&utm_campaign=q3-july) — Stop hand-crafting brittle contracts. See how they can be inferred from real traffic and updated as your Go APIs evolve. 

Signadot sponsor   

[go-ytdlp: `yt-dlp` CLI Bindings for Go](https://github.com/lrstanley/go-ytdlp) — [yt-dlp](https://github.com/yt-dlp/yt-dlp) is a popular audio/video downloading tool – not just for YouTube but [hundreds of platforms.](https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md) 

Liam Stanley   

[Minimock: A Tool to Generate Mocks from Interface Declarations](https://github.com/gojuno/minimock) — Generates statically typed mocks and helpers, is fully integrated with the `testing` package, and supports generics. 

Juno Inc.   

[Lox: A Lexer and Parser Generator for Go](https://dcaiafa.github.io/lox/) — Inspired by ANTLR at the surface level (combined parser and lexer, action code separated from grammar) but more similar to `yacc` internally (LR(1), dependency-free parser). 

dcaiafa   

- 🤖 [Mods 1.8](https://github.com/charmbracelet/mods/releases/tag/v1.8.0) – Charm's pipelineable AI CLI client, now with MCP support.
- [Hugo 0.148](https://github.com/gohugoio/hugo/releases/tag/v0.148.0) – The popular Go-powered static site generator. Beware of [some breaking changes.](https://discourse.gohugo.io/t/breaking-changes-in-v0-148-0/55257)
- [MCP-Go 0.33](https://github.com/mark3labs/mcp-go) – An implementation of the Model Context Protocol (MCP).
- [OpenFGA 1.9](https://github.com/openfga/openfga/releases/tag/v1.9.0) – Google Zanzibar-inspired authorization engine.
- [GoReleaser 2.11](https://goreleaser.com/blog/goreleaser-v2.11/) – Build/release binaries for multiple platforms.
- [pgroll 0.14](https://github.com/xataio/pgroll/releases/tag/v0.14.0) – Zero-downtime, reversible, schema migrations.
- [sh 3.12](https://github.com/mvdan/sh/releases/tag/v3.12.0) – Shell script parser, formatter, and interpreter.
- [fzf 0.64](https://github.com/junegunn/fzf/releases/tag/v0.64.0) – Popular command-line fuzzy finder.         

Curated by Peter Cooper and [Glenn Goodrich](https://twitter.com/ruprict).
Go is a [trademark of Google](https://go.dev/brand).
The [Go gopher](https://go.dev/blog/gopher), whenever used, is an original creation by Renée French. 

[Change your email](https://golangweekly.com/edit_subscription/*|UID|*)
[Stop getting this newsletter](https://golangweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
