#​517 — July 30, 2024

Unsub  |  Web Version

Together with  Render logo

Go Weekly

Cogent Core: A New GUI Framework for Go — A new GUI framework with a “code once and run everywhere” promise for multiple platforms. It aims to be simpler to use than Gio and more powerful than Fyne. Curiously, Cogent’s web site itself is built in the framework and compiled to WASM to work on the Web. There’s also ▶️ a quick screencast pitching you on the framework.

Kai O'Reilly and Randy O'Reilly

Go Features by Version (or What's in Which Go) — A list of features and the versions in which they first appeared. Proof, if any were needed, that the progress made to Go isn't slowing down. (And if you want to get up to speed with Go 1.23, here are the notes for you.)

Anton Zhiyanov

Render is Your Fastest Path to Production — Whatever your stack you can build, deploy quickly, update and confidently scale your apps with ease, from the first to the billionth user. Start building with Render for free — the modern cloud for devs.

Render sponsor

Build Your Own SMTP Server in Go — The actual code here isn’t low level, but it's a good practical guide to some of the technologies around sending e-mail, like SMTP, DKIM, and SPF. The go-smtp library ultimately does the heavy lifting.

Alexis Bouchez

What’s New in Go 1.23: Iterators and reflect.Value.Seq — Carlana explains four of the functions around generic custom iteration that she proposed, comparing the new code to something she wrote ten(!) years ago using channels. If 2022 was all about generics, is 2024 the year of iterators?

Carlana Johnson

Learn Go with Tests: A Refactoring Checklist — The popular Learn Go with Tests guide gains a new chapter that gets you thinking about refactoring, when it makes sense to do it, and some of the basic techniques.

Chris James

The Union of Finite Automata, Explained — Tim found existing explanations to be overly academic, so set out to explain the concept with a little Go.

Tim Bray

Merge Go Code 10x Faster at Quality with AI-Driven Code Reviews — AI-first pull request reviewer that offers context-aware, line-by-line feedback and smart chat. Get a 7-day free trial. Free for OSS projects.

CodeRabbit sponsor

📄 Parsing Protobuf Definitions with Tree-sitter – If you need to go a few steps beyond what protoc can do. Karl Matthias

📄 Highlights from Git 2.46 Taylor Blau (GitHub)

🛠 Code & Tools

Ollama 0.3: Quickly Run Large Language ModelsOllama is an increasingly significant Go-powered tool in the LLM world (that uses llama.cpp behind the scenes) that makes it easy to run large language models. Recent releases have added concurrency, Llama 3.1 support, and, now, tool calling.

Ollama Team

betteralign 0.5: Make Your Programs Use Less Memory.. Maybe — A tool to detect structs that could use less memory. It’s a fork of Go’s fieldalignment tool that skips generated or test files, skips specially marked structs or those with anonymous fields, doesn’t drop comments, and similar DX enhancements.

Dinko Korunic

📰 Classifieds

🚨Prevent data breaches before they happen! Secure your Go app on AWS with LocalOps’ proven AWS security checklist. Download now and protect your data instantly!


Boost your PostgreSQL skills with Redgate’s 101 webinar series of easy-to-follow, expert hosted sessions. It’s PostgreSQL, simplified.

⚙︎ Zeppelin – A Go-powered Minecraft 1.21 server. “Why?” asks the README. “Why not,” comes the reply. Various Contributors

⚙︎ Reed-Solomon – Fast Reed-Solomon erasure coding. Klaus Post

⚙︎ Circumflex – A terminal UI for Hacker News. Ben Sadeh

  • FerretDB 1.23 – It's like MongoDB, but on top of Postgres or SQLite.

  • go-yaml 1.12.0 – YAML processing for Go with more features.

  • Baur 5.0 – Go-powered incremental task runner for monorepos.

  • eBPF 0.16 – Pure-Go library to work with eBPF programs.

  • Goa 3.18 – DSL for building microservices.

🎁 And one for fun..

Editor: A Source Code Editor in Pure Go — Curiously billing itself as a “simple but advanced source code editor”, it works on Linux, Windows and macOS (under X server) and certainly has that old school Unix vibe going on. Clearly a serious labor of love after some seven years of development.

Jorge Miguel Pinto