#​521 — September 3, 2024

Unsub  |  Web Version

Together with  Ardan Labs

Go Weekly

Go 1.23's New unique Package — The package’s purpose is to make comparing values more efficient by using deduplication to point to unique, canonical copies, a concept called interning. Some knowledge is required, but Michael walks through everything you need to know, including a practical example.

Michael Knyszek (Go Team)

Tips for Building Bubble Tea ProgramsBubble Tea is a powerful Go framework for building terminal user interfaces (TUIs). Louis has spent a lot of time building PUG (a Terraform TUI) and shares the fruits of his experience here.

Louis Garman

🥳 And, happily, Bubble Tea just celebrated reaching version 1.0! And was then quickly followed with v1.1 which adds focus and blur window events.

Go Beyond Limits with Golang, Rust, Docker & K8’s — Struggling with tech challenges? Ardan Labs offers unparalleled consulting in Go, Rust, Docker, and Kubernetes. Enhance your development speed, optimize your architecture, and manage tech debt. Propel your team to new heights with our expertise!

Ardan Labs Consulting sponsor

Slices in Go: Grow Big or Go Home — A deep dive into slices that focuses on how slices grow, something that can bite you right in the code when you don’t understand it. For example, do you know when (and why) a slice ends up on the heap (or not)?

Phuong Le (VictoriaMetrics)

IN BRIEF:

Dumb Ways to Die: Random Values in Pointers — Storing non-pointer values in unsafe.Pointer is.. a Bad Idea™, but why? What happens? The journey and answer could help you better understand pointers and unsafe.

Phil Pearl

Mastering ISO 8583 Message Networking with GoISO 8583 is an interchange standard for card-based financial transactions (such as from a point-of-sale terminal or ATM).

Pavel Gabriel

📄 Building Terminal Applications in Go – With Bubble Tea, Cobra, and Viper. Harrison Cramer

📄 Building Go Stack Traces from BPF – Based on work being done by Grant to improve Datadog’s Go instrumentation. Grant Seltzer

📄 Exploring Goja: A Go-Powered JavaScript Runtime JT Archie

📺 Shallow vs Deep Copying in Go Adib Hanna

🛠 Code & Tools

Tunalog: A No-Install Blogging System Built in Go — With Markdown, theming support, and Web-based editing, Tunalog provides all a simple blog framework needs. It’s been two years in the making, but its creator is finally happy with it, and judging by the screenshots it’s pretty slick. It’s cross-platform and uses SQLite.

Yami Odymel

wp2hugo: A WordPress to Hugo Blog MigratorHugo is a popular Go-powered static site generator and this tool makes it easy to convert WordPress-powered blogs over to it, including lots of edge cases WordPress’s REST API doesn’t help with.

Ashish Bhatia

Kafka-Compatible Data Streaming That Reduces Costs and Ops Burden — Zero ops auto-scaling. Perfect provisioning. 10x cheaper than Kafka. Try WarpStream for free and get $400 in credits.

WarpStream sponsor

GoForge: A CLI Tool to Streamline Go Project Initialization — Rather than manually creating files and directories to set up a project’s structure, GoForge provides a one-line alternative.

Moutaz Chaara

BadgerDB 4.3: A Fast, Embeddable Key-Balue DB in Go — Designed as a performant alternative to non-Go-based key-value stores like RocksDB. Docs.

Dgraph

hyrumtoken: A Package to Encrypt Pagination Tokens — For when you don’t want API clients to access unintended 'features' of your pagination related parameters, say.

SSOReady

🎁 And one for fun..

µ micro: A Go-Powered Terminal-Based Text Editor — Aiming to be “somewhat of a successor to the nano editor”, Micro has been under development for several years and is a mature and good example of building a text editor in Go. GitHub repo.

Zachary Yedidia et al.