#449 — February 24, 2023 |
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.. 🤭 |
|
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.” Charm |
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?' |
IN BRIEF:
|
Bryce Neal |
How to Publish Go Binaries with Goreleaser — Goreleaser 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
|
🛠 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 Charm |
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 Charm |
.. Is this the last mention of a Charm project this week..? |
|
|
♣️ Solitaire's the only game in town.. |
Solitaire TUI: Klondike Solitaire on the Terminal — If you, like me, Brian Strauch |