A Go-powered TUI email client

#​552 — April 30, 2025

Unsub  |  Web Version

Go Weekly

The Draft Go 1.25 Release Notes — We’re still about four months away from the final Go 1.25 release (expected in August) but, as always, the release notes are being worked on in advance and already provide a useful glimpse into what’s coming.

The Go Team

Using Differential Coverage for Debugging — Russ shows how to generate and diff coverage profiles from passing and failing tests to spotlight code unique to the failure. It’s not foolproof, but it can dramatically narrow your debugging search space.

Russ Cox

Is Your Go Application's Postgres Prepared for Your Next High Traffic Event? — Do you feel like your Postgres database is a black box? Watch Postgres expert Lukas Fittl walk through the latest pganalyze features to tune slow queries, catch regressions, and keep Postgres running at its best in this on-demand video.

pganalyze sponsor

IN BRIEF:

  • 👀 Ron Evans, of TinyGo and GoCV fame, has a new project: wasmVision. A new computer vision processing engine (built in Go, naturally) that can be customized and extended with WebAssembly.

  • 🤖 gpt-go is an attempt at building a simple GPT-style implementation in Go, trained on Jules Verne books. Don't expect GPT-4 levels of conversation here, but a cool experiment.

This 150-Line Go Program is a Full-On Load Balancer — A code-heavy walkthrough of a round-robin load balancer built solely with the standard library. It’s not production-ready, but the author offers some recommendations for moving in that direction.

Rez Moss

Using the SIGHUP Signal for Configuration Reloads — The OS can send various ‘signals’ to your Go apps and SIGHUP (“signal hangup”) is one of the more interesting ones. Phuong explains its history, what it’s often used for today, and how to catch and handle it.

Phuong Le

💡 Jon Calhoun's Using Signals with Go covers the topic of signals more generally.

📄 Go on the PlayStation 2: Part Two – You seemed to enjoy Ricardo’s first outing explaining how he got Go code running on the PS2. Now he’s back with more. Ricardo Gomes da Silva

📺 Comparing Error Handling in Zig and Go package main

📄 How to Use Go's New tool Directive Alex Pliutau

🛠 Code & Tools

Firebase Brings Its Genkit AI Framework to GoGenkit is a framework for building AI-powered apps from Google’s Firebase team, though it can be used independently of Google’s APIs. Originally for Node.js, it’s now in beta for Go too.

Gill and Friese (Firebase)

Bufstream: Kafka and gRPC for the Modern Age — A drop-in Kafka implementation with up to 8x cost savings over self-managed. See how we do it.

Buf sponsor

✉️ ListMonk 5.0: Self-Hosted Newsletter & Mailing List Manager — If you don’t want to pay to use a hosted newsletter system, how about a one binary Go solution? v5.0 introduces a visual drag-and-drop email builder and template editor. (Homepage.)

Kailash Nadh

  • GoReleaser v2.9 – Originally for Go only, this Go-powered release generation tool has expanded into Rust, TypeScript, Zig and Python recently.

  • Anubis 1.17 – Provides a proof-of-work challenge to 'weigh the soul' of incoming HTTP requests in an attempt to stop/slow down AI crawlers.

  • Hugo 0.147.0 – The popular Go-powered static site generator shows no sign of slowing down.

  • Pion WebRTC v4.1.0 – A pure Go implementation of the WebRTC API. Now with complete AV1 support.

  • Micro 5.3 – Go distributed system abstractions / platform.

  • Caire 1.5 – Content aware image resizing library/tool.

  • Goyave 5.6 – Enterprise REST API framework.

📰 Classifieds

Course: Complete Go for Professional Developers — Craft production-grade APIs with Go. Taught by a Twitch ML engineer who solves real problems with Go daily.

💌  And a little bonus..

aerc: A Go-Powered Terminal-Based Email Client — Mix a little Pine with a little Vim and tmux and you get this Go-powered email client that supports HTML emails, PGP signing, IMAP/Maildir/SMTP and so on.

Robin Jarry / Drew DeVault

https://golangweekly.com/issues/552

Vytvořeno 16h | 30. 4. 2025 18:20:09


Chcete-li přidat komentář, přihlaste se