#​428 — September 16, 2022

Unsubscribe  |  Read on the Web

The Go Weekly Newsletter

Let's Discuss Backward Compatibility in Go — When Russ Cox starts a discussion, we listen. Rather than focus on a new feature, he reflects on Go 1’s compatibility promise (that you’ll be able to compile older Go programs on future versions) and areas where it fails or falls short. It's dry, but important stuff to understand, particularly if you need to maintain Go projects over time.

Russ Cox et al.

Concurrency Isn’t Always Faster in Go — The author of 100 Go Mistakes and How to Avoid Them digs into mistake 56 (of the 100!) with a look at the assumption that doing something concurrently must be faster than sequentially. Unsurprisingly, it’s complicated..

Teiva Harsanyi

🧈 ButterCMS Melts into Your Go + Hugo App. #1 Rated Headless CMS — ButterCMS is your content backend. Enable your marketing team to update website + app content without needing you. Try the #1 rated Headless CMS for Go + Hugo today. Free for 30 days.

🧈 ButterCMS sponsor

 A Google Colab Notebook for Running Go Code? — Google's Colab is a fantastic notebook environment for working with Python and this approach (which does involve reloading the notebook, alas) lets you write Go-powered cells too. Note: This links directly to a Colab notebook.

Bio Risk

Why a Google Cloud Director of Engineering Loves Go — If you’re not going to cheer for the home team, who is? Nonetheless, David Yach picked up Go years ago at a network management startup and is now one of its biggest fans. We’re also the home crowd, but this is a good piece to pass to any reluctant CXO types you encounter..

David Yach (Google)

Planning Go 1.20 Cryptography Work — Filippo led cryptography and security efforts on the Go team till earlier this year, but despite leaving Google, his efforts continue. Future plans include landing the crypto/ecdh package, moving math/big out of the security perimeter, and work on crypto/tls.

Filippo Valsorda

Reducing Graph Complexity with Transitive Reduction — Adding numerous edges to a DAG can introduce unnecessary complexity. However, such graphs can be simplified using a technique called transitive reduction. (If you’re not into math, don’t fear - this post is quite easy to follow.)

Dominik Braun

🛠 Code & Tools

Cloud Spanner’s Go database/sql Driver Now GACloud Spanner is a hugely scalable (“unlimited”, so says Google) managed relational database and here’s a Go-friendly way to work with it.

Google Cloud

SeaweedFS: A Scalable Distributed Filesystem — Inspired by Facebook’s Haystack and f4: ‘Warm BLOB’ papers, this is a distributed object store with a lot of desirable qualities.

SeaweedFS

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

Shortcut (formerly Clubhouse.io) sponsor

dblab: Interactive Client for Postgres, MySQL, and SQLite3 — A cross-platform (yes, including Windows) TUI-style app for working with various database systems. Certainly looks rather different to the standard CLI clients!

Daniel Omar Vergara Pérez

go-set: Sets Implemented with GenericsExample usage. Still considers itself an ‘experimental’ package, however.

micnncim

Jackal: An XMPP Server Written in Go — We link to this every few years and it’s continuing to see updates including this week with support for XEP-0313: Message Archive Management.

Miguel Ángel Ortuño

go-esi: ESI (Edge-Side-Include) Implementation in Go — “ESI” provides a mechanism for including fragments of other HTML documents into Web pages at the edge/caching level. And if this smells a little bit like SSI to you, you might be as old as us 😁

darkweak

NSet: Fast, Memory Efficient Set Implementation for Unsigned Integers
Omar Mahdi

⚡️ QUICK RELEASES:

  • Chroma 2.3
    ↳ General purpose syntax highlighter in pure Go.

  • Toxiproxy 2.5
    ↳ TCP proxy that simulates chaotic network conditions.

  • Liftbridge 1.9
    ↳ Lightweight, fault-tolerant 'Kafka-lite' message streams.

  • Bud 0.2.5
    ↳ Full-stack web framework for Go.

  • Buf 1.8
    ↳ A fresh way to work with Protocol Buffers.

Jobs

Senior Golang Software Engineer — Seeking Sr Software Engineers to build innovative technology that connects learners with experts in any subject, anytime, anywhere.
Varsity Tutors (Nerdy)

Find a Job Through Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.
Hired