Dealing with race conditions

#​558 — June 18, 2025

Unsub  |  Web Version

Go Weekly

Dealing with Race Conditions in Go — Anton has written some fantastic posts about concurrency in Go and this latest outing takes us deep into race conditions, including uncovering check-then‑set hazards, compare‑and‑set retries, idempotent Close patterns, TryLock caveats and a channel‑based “shared‑nothing” processor.

Anton Zhiyanov

Complete Go for Professional Developers — Craft production-grade APIs with Go, the language trusted by tech giants! Connect to Postgres, implement auth, and write tests that matter. Taught by a Twitch ML engineer who solves real problems with Go daily.

Frontend Masters sponsor

IN BRIEF:

  • 📊 The SQLite Drivers 25.06 Benchmarks Game presents the results of benchmarking mattn/go-sqlite3, modernc/sqlite, and ncruces/go-sqlite3, libraries which all take different approaches to interfacing with SQLite.

  • 🇬🇧 GopherCon UK 2025 takes place this August and the schedule is now live.

  • 🕹️ NebuLeet is a new game on Steam that's built in Go using Ebitengine – it has a free demo available.

  • 🎮 Talking of games, the Ebitengine Game Jam has just started – you get two weeks (well, eleven days as of now) to build and submit a game.

OpenTelemetry for Go: Measuring the Overhead — If your app is logging everything it does, that’s another job that can eat into the resources available to it. But by how much? Nikolay runs a benchmark here to find out.

Nikolay Sivko

📄 Why I Made Peace With Go’s Date Formatting Preslav Rachev

📺 Statically and Dynamically Linked Go Binaries package main

📄 Things You Never Wanted To Know About Go Interfaces Miguel Young de la Sota

📄 Writing a Load Balancer From Scratch in 250 Lines of Code Sushant Dhiman

🛠 Code & Tools

TinyGo 0.38.0: Now with (Initial) Multicore Support — The Go compiler for ‘small places’ (mostly embedded systems and WebAssembly targets) gets its first multicore support initially targeting the RP2040. There’s also USB Mass Storage Device support for certain processors, and a new experimental GC for WASM to try.

Ron Evans

♟️ Introducing Chess V2: A New Chess Library — A library that implements the main logic of chess, including move generation, position parsing, and support for Portable Game Notation. There’s even an example Go program to let you play a (unskilled) game against it. GitHub repo.

Brigham Skarda

  • go-echarts 2.6 – Charting and data visualization library that uses Apache ECharts. You can see examples in the docs.

  • VHS 0.10 – CLI 'home video recorder'. "Write terminal GIFs as code for integration testing and demoing your CLI tools."

  • MCP-Go 0.32 – An implementation of the Model Context Protocol (MCP).

  • Netpoll 0.7.1 – High-perf non-blocking I/O networking framework focused on RPC scenarios.

  • lakeFS 1.60 – Git-like data version control for your data lake.

  • Delve 1.25 – Popular debugging tool for Go code.

  • Mockery 3.4 – Mock code autogenerator.

📰 Classifieds

🧠 Discern is hiring a senior full-stack Go/React dev to help automate entity compliance (US/LATAM). Join us: https://wellfound.com/l/2zxcz1

🐘 PostgreSQL user? Check out our sister newsletter, Postgres Weekly, for the latest Postgres news each Thursday.

✂︎  Deep cuts from the queue

As it's a quieter week than usual, we've gone back to look through our ever-growing queue of items which haven't yet made it into the newsletter for one reason or another. Here are some of the things that jumped out:

https://golangweekly.com/issues/558

Creado 6h | 18 jun 2025, 13:50:07


Inicia sesión para agregar comentarios