#​449 — February 24, 2023

Unsub  |  Web Version

I'm not sure what's up, but Charm's projects have popped up all over the place this week, so get ready for the most Charm-ing issue we've ever sent.. 🤭
Peter Cooper, your editor

Together with  Ardan Labs

The Go Weekly Newsletter

Log: A Minimal, Colorful Go Logging Library — A library from the same folks who brought us Bubble Tea and Gum so you know it’s from a good place. It provides “customizable colorful human readable logging with batteries included.”


All Your Comparable Types — The introduction of generics was bound to create edge cases. One is described here around interface implementation vs. constraint satisfaction. “As we’ll see in a bit, in Go 1.20 constraint satisfaction is not quite constraint implementation anymore.”

Robert Griesemer

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

Type Embedding: Go's Fake 'Inheritance' — Inspired by a “Keep Your Java Out of My Go” Reddit post, Zach shows how leaning too hard on object oriented ideas can cause hard-to-track-down bugs. But if you’re probably going to do it anyway.. read this to help debug later.

Zach Musgrave (DoltHub)

If you're curious, the not-particularly-edifying Reddit post that inspired the above was 'How to deal with Java developers polluting the Go code?'


go test and Parallelism“Because I feel the concurrency behavior of go test is non-obvious .. I wanted to write something up here.”

Bryce Neal

How to Publish Go Binaries with GoreleaserGoreleaser is a helpful tool if you need to cross-compile and publish binaries for multiple architectures, different operating systems, package managers, etc.

Rexford A Nyarko

Partially-Implemented Interfaces — When you just want to implement one or two methods … but be careful.

Preslav Rachev

Securely Deploy Kubernetes Clusters with GitHub Actions — Managing identity for Kubernetes & CI/CD workflows relies on dated security mechanisms, learn more in our new episode.

TELEPORT | goteleport.com sponsor

▶  What's New in Go 1.20 with Carl Johnson — An hour of exactly what it says on the can..

The Go Time Podcast podcast

The Complete Guide to OpenTelemetry in Go
Komu Wairagu

🛠 Code & Tools

Opossum: A Basic Web Browser Written in Go — A fun project, though you might need to have (or set up) a Plan 9-derived OS to get it running (though someone claims success on macOS). As user liotier said on Hacker News, though: “any sufficiently brave or delusional soul that ventures into even the most rudimentary web browser development is a hero to me”.

Philip Silva

Gin 1.9: A Fast HTTP Web Framework — We don’t often link to Gin because a) it doesn’t often get big updates, and b) it’s hugely popular and you probably use it already ;-) If you do, v1.9 is out, and if you don’t, it’s worth being on your radar.

Gin Web Framework

Don’t Let Your Issue Tracker Be a Four-Letter Word. Use Shortcut

Shortcut (formerly Clubhouse.io) sponsor

Soft Serve: A Self-Hostable Git Server — Soft is configurable via git itself and comes with a nice terminal UI (TUI). Another interesting release from the Charm project.


koanf: Configuration Management Library — Support for JSON, TOML, YAML, env, command line, file, S3 etc. Alternative to Viper.

Kailash Nadh

VHS 0.3: The 'Home Video Recorder' for Your CLI — A tool plus scripting language for performing actions on the terminal which are then recorded into an animated GIF (or an MP4, webm file, or series of PNG frames). “Write terminal GIFs as code for integration testing and demoing your CLI tools.” v0.3 adds support for hosting said GIFs on Charm’s own vhs.charm․sh service.


.. Is this the last mention of a Charm project this week..?


Site Reliability Engineer — Join our "kick ass" team. Our software team operates from 17 countries and we're always looking for more exceptional engineers.
Sticker Mule

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.

♣️ Solitaire's the only game in town..

Solitaire TUI: Klondike Solitaire on the Terminal — If you, like me, wastedspent much time in Windows 3.x playing the solitaire game, this Bubble Tea-powered creation (THAT'S THE FINAL CHARM PROJECT THIS WEEK!) might appeal to you now in 2023 too. Bonus points to anyone who can file a pull request to add the Windows-style ending animation ;-)

Brian Strauch