#​471 — August 1, 2023

Unsub  |  Web Version

Together with  Ardan Labs

Go Weekly

Experimenting with Project Templates with gonew — The Go team has unveiled a new, experimental tool for creating new Go projects from predefined templates. Anyone can write these templates, which are then packaged and distributed as modules, using the Go module proxy and checksum database for better security and availability.

Cameron Balahan (Go Team)

The Go Developer Survey Is Back: Share Your Feedback — It’s that time again. The Go core team is calling upon the Gopher community for feedback on working and developing with Go. They really do pay attention to what you say, so you should take the 10(ish) minutes and give your perspective on what’s good and what needs changing. Submissions close on August 10.

Todd Kulesza (Go Team)

Go! Experts at Your Service — Do you need help filling skill gaps, speeding up development & creating high performing software with Go, Docker, K8s, Terraform and Rust? We’ll help you maximize your architecture, structure, tech-debt and human capital.

Ardan Labs Consulting sponsor

Writing a ~400 Line Git Client That Can Push Itself to GitHub — A few years ago, Ben wrote a Python program to be enough of a git client that it could create a repository and push itself to GitHub. Now, as a way to compare Go vs Python’s scripting chops, he’s built the same idea in Go. He compares error handling approaches, performance and verbosity, amongst other things.

Ben Hoyt


On the Proposal to Enhance Go's HTTP Router — Last week we linked to the discussion on extending the functionality of http.ServeMux. Here, Ben looks at how the enhancements would work in practice and compares the approach to that used by other popular routers like chi and mux.

Ben Hoyt

Prevent Phishing Attacks with Teleport — Upgrade vulnerable keys and passwords to auto-expiring certificates for any accounts that access Kubernetes clusters.

Teleport | goteleport.com sponsor

Writing Yacc Parsers in Go: Tips and Tricks
Zach Musgrave

Go Quirks and Tricks, Part 3
Efron Licht

🛠 Code & Tools

GoLand 2023.2 IDE Released — The latest release of the (commercial) Go IDE improves integration with Go modules, adds refactorings for migrating function parameters to method receivers and vice versa, offers a Kafka monitoring plugin, and support for errors.Is and errors.As. Oh, and a “new AI Assistant plugin”, because it is 2023 after all.


imgdiet: A Simple Image Processing and Compression Option — A Go module that uses the libvips library to optimize and compress JPEG and PNG images.

James Pond

Monitor, Test and Debug Your APIs with APIToolkit — A toolbox for building and maintaining APIs better than ever. Test and validate all API requests, and spot bugs faster.

APIToolkit sponsor

Lego: A Let's Encrypt Client and ACMEv2 Library — Nothing to do with small plastic bricks, this Lego lets you obtain certificates, handle ACME challenges (HTTP, DNS and TLS), interact with DNS providers, and more.

Sebastian Erhart

QCOW2: Library to Read and Write QCOW2 Disk ImagesQCOW2 is a storage format used by the QEMU emulator.

GPU Ninja

RoadRunner: A High Performance PHP Application Server — A Go-based system that keeps PHP under control with a load balancer and process manager built in. It includes an HTTP server too and can slot into a typical Nginx+FPM setup. GitHub repo.



Find a Job Through Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.

Cardrank: Types and Functions for Working with Playing Cards

TStat: A Friendly Way to Query Go Test Output and Coverage Profiles
Nick Figgins

bed: A Binary/Hex Editor Written in Go