Go quirks and intermediate tricks

#​448 — February 17, 2023

Unsub  |  Web Version

The Go Weekly Newsletter

purego: A Way to Call C Functions from Go without Cgo — No C means you can build for other platforms easily without a C compiler. No wrapper functions, either. Takes a dynamic loading / dlopen style approach.

Ebitengine

Rust vs Go in 2023 — A 2023-flavored update to a popular article first released in 2020. John is a fan of both Rust and Go and takes a careful look at where each independently makes the most sense.

John Arundel

Free from O’Reilly: Build Resilient Apps in Go — Learn to build cloud-native, cost-effective, and fault-tolerant applications in this 3-chapter excerpt from O’Reilly’s Cloud Native Go.

CockroachDB sponsor

Go Quirks and Intermediate Tricks — This isn’t the best formatted post, but you might pick up a few things from this list (which, handily, has code examples for each item).

Efron Licht

🗣 Go May Add Telemetry Reporting That's On by Default — We featured the initial discussion behind this last week, but The Register has decided to run with the story and digested the public opinion a little more. Issues around ‘phoning home’ and privacy are always going to be fierce, but the intent, at least, appears to be good and as Nate Finch says “It’s just Go developers wanting to know how people use their software, so they can make it better. For you. For me. For all of us.”

The Register

IN BRIEF:

Structured Logging with slog — There is a language proposal to add slog to the standard library (GitHub discussion here.) slog has the basic features you’d expect. Still, not everyone is wild about how it handles attributes and custom loggers.

Karan Sharma

▶  ⬆️ Really Simple Structured Logging with Tracing
Kai Hendry

Building a URL Shortener using Go, SQLite and GORMGORM is an ORM library for Go.

Pratim Bhosale

▶  Debugging Concurrent Programs in Go — The audio isn’t great but this is too useful not to link.

Andrii Soldatenko

▶  A Wacky Journey of Building a Vector Database in Go
Etienne Dilocker

🛠 Code & Tools

go-pretty: Pretty Print Tables, Lists and Text on the Terminal — Utilities to prettify console output of tables, lists, progress-bars, text, etc. with a heavy emphasis on customization.

Naveen Mahalingam

gofumpt: A Stricter gofmt — You like rules? gofmt not strict enough? gofumpt has even stricter rules to keep your codebase clean and behaving.

Daniel Martí

Connect to Your Cloud Resources with Tailscale — Spend more time coding and less time troubleshooting with Tailscale. Now you can connect directly to cloud resources, containers, or VMs like they’re on your local network.

Tailscale sponsor

Go-Redis Now an Official Redis Client — A couple of weeks ago we mentioned Go-Redis v9 and how it had moved under the official Redis organization – now we get the full story.

Igor Malinovskyi

  • Noti 3.7
    ↳ Monitor a process and trigger a notification.

  • ZincSearch 0.4
    ↳ Go-powered Elasticsearch alternative.

  • Imagor 1.4
    ↳ libvips-powered image processing server and Go library.

  • q 0.9
    ↳ Command line DNS client with support for UDP, TCP, DoT, DoH, DoQ and ODoH.

  • TinyGo 0.27
    ↳ The Go compiler for small places.

Jobs

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.
Hired

🎈 Up, up, and away.

Created 2y | Feb 17, 2023, 12:21:19 PM


Login to add comment