#​525 — October 1, 2024

Unsub  |  Web Version

Together with  WarpStream

Go Weekly

Prep: Compile-Time Function Evaluation for Go“By using prep.Comptime, you can evaluate functions at build time, replacing them with their computed results. Just like comptime from Zig. Except it’s not.” It admits it’s “pure blasphemy”, but you can’t deny it’s an interesting idea, though it has limitations and toolexec was not intended to support arbtirary source rewriting.

Mark / pijng

Some Go Web Dev Notes — We’re always fans of Julia’s earnest and helpful but no-nonsense posts and this quick grab bag of thoughts, tips and observations is another good one. She always opens our eyes to something new.

Julia Evans

Reduce Your Data Streaming and Kafka Costs by 80+% — Learn how WarpStream's zero disk, stateless architecture and BYOC model not only reduce Kafka costs by 80% or more, but makes data streaming easier and more secure. Sign up for a free WarpStream account and get $400 in credits that never expire.

WarpStream sponsor

📉 A Guide to the Go Garbage Collector — Not a new page – it dates back to Go 1.19 – but one I’d somehow not encountered before and acts as a living document explaining how Go’s garbage collection system works, complete with helpful interactive diagrams.

Go Documentation

Joining Errors in Go — A helpful look at two approaches: using multiple %ws, and errors.Join (as introduced in Go 1.20).

Paschalis Tsilias

Distributed Metrics in PHP with Go and GobGob is a Go package for efficiently encoding and decoding values between Go apps.

Maurits van der Schee

📄 Writing Raw SQL Easier with pgx and sqlc in Go remvn

📄 6 Tips for Using Strings in Go – Certainly a golden oldie. Jon Calhoun

📄 Using a Separate Go Module for Your tools.go Jamie Tanna

📄 Interfaces in Go – A simple primer/reminder. Matt Boyle

🛠 Code & Tools

Modview: Go Project Dependency Graph Visualizer — A simple way to visualize dependencies in Go projects in a clean, graphical way.

Tuğrul Bayrak

htmgo: Build Simple, Scalable Systems with Go and htmx — It’s a brand new ‘alpha’ project, but provides an interesting way to combine the simplicity of both Go and htmx to quickly build interactive webapps.

maddalax

📰 Classifieds

❓Did you know you can build Fine-Grained Authorization with Go and Open Source? SpiceDB is the most scalable, consistent permissions system inspired by Google Zanzibar.


🪝 Hookdeck: A serverless queue to reliably send, receive, transform, filter, and route events across your event-driven apps.

Ebitengine v2.8.0: The Go 2D Game Engine — Long one of our favorite Go ecosystem projects, Ebitengine takes another gentle step forward with support for 32 bit float format audio and shader customization improvements.

Hajime Hoshi

gqlgen: A go generate-Based GraphQL Server Library — Check out the getting started guide for a feel for the project. GitHub repo.

99designs

Gowitness: A Web Screenshot Utility using Chrome Headless — A website screenshot utility written in Go, that uses Chrome Headless to generate screenshots of web interfaces using the command line.

SensePost

Olric: Distributed Cache and Key/Value Store — It can be used both as an embedded Go library and as a language-independent service.

Burak Sezer

anthropic-claude-golang-sdk: Go Library for Anthropic's Claude API — Send structured messages and handle responses from Anthropic’s conversational AI models within Go apps.

AI Trailblazer

🎁 And one extra for fun..

bed: A Binary/Hex Editor Written in Go — A Go-powered binary editor with a Vim-like user interface that runs in terminals, is portable, fast and has a window splitting feature.

Itchyny