Golang Weekly - Answering all the big questions

Plus a big GoReleaser release, all the GopherCons, and an MIT workshop on concurrency that uses Go. |

#​467 — July 4, 2023

Unsub  |  Web Version

Together with  Ardan Labs

Go Weekly

Frequently Asked Questions About Go — Did you know there's an official Go FAQ? It's been around forever, but somehow we’d not run into it it before.. 😅 It’s packed with interesting stuff and worth a flip through. Some of our favorites:

The Go Team

How Grab Uses Its Own Go Module Proxy — The team behind Grab, a popular ‘super-app’ in Southeast Asia, relies on a large Go monorepo for its backend dev projects and they use the Athens Go module store and proxy to make their dev process smoother and, in particular, to reduce module fetching times.

Jerry Ng (Grab)

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

Proposal: Let's Change the pprof Mutex Profile in Go 1.22 — This is, admittedly, a niche topic. The idea is to measure contention based on how many goroutines are blocked on a mutex rather than the number of OS threads (which may be just one). For example, if you hold a mutex for 10ms and several goroutines wait for it, only 10ms total contention would currently be recorded.

Russ Cox

IN BRIEF:

▶  MIT 6.824 Distributed Systems — It’s from 2020, but this playlist did the rounds on social media recently and what I’ve watched so far has been good. Prof. Robert Morris tackles the broad concepts of distributed systems, including fault tolerance, replication, and concurrency control. It’s broadly language agnostic, though Go is used for the main coding sections, such as the lecture on building a consensus algorithm in Go.

Robert Morris (MIT)

Creating a Simple Fixed-Window Rate Limiter in Redis — A short and sweet example of using a Lua script from Go to perform atomic actions in Redis.

Mahmud Ridwan

Rapidly Develop Golang Microservices In Kubernetes — Run your microservices locally and connect to real dependencies in a staging Kubernetes environment. Try our playground.

Signadot sponsor

About Structured Logging in Go 1.21 — We’ve mentioned the new structured logging (slog) package coming to Go 1.21 a few times recently, but Lukás pokes around, explains its interface, and how to use it today.

Lukáš Zapletal

Adventures in Building a Go Container with Nix — One developer’s notes are often another developer’s treasure.
James Williams

How to Deploy Your Existing Containers to OpenFaaS
Alex Ellis (OpenFaaS)

🛠 Code & Tools

Chroma 2.8: Pure Go Syntax Highlighter — Take source code and turn it into syntax highlighted HTML, ANSI colored text, or just grab the raw tokens in JSON. Brings most of the features of Pygments to Go and can use Pygments’ lexers and styles too. There’s an online playground where you can try it out. v2.8 adds support for ArangoDB Query Language and WebGPU Shading Language, plus more.

Alec Thomas

Announcing GoReleaser v1.19: The Big ReleaseGoReleaser is, unsurprisingly, a tool for releasing Go projects. It offers cross-compilation, release to systems like GitHub and GitLab, nightly builds, Docker image creation, packaging, and more. v1.19 improves support for Nix, Winget, Homebrew, Krew, and Scoop, among other things.

Carlos Alexando Becker

Encore: Declarative Infrastructure for Go — Define infrastructure directly in application code and get local, preview, and cloud environments automatically.

Encore sponsor

Mailpit 1.7: Email and SMTP Testing Tool — Built in Go, Mailpit is a general email testing tool and API for all developers. You can use it to view emails “sent” through its mock SMTP server, store emails, and even relay them on.

Ralph Slooten

Zygo: A Lisp Interpreter in 100% Go“Written in Go and plays nicely with Go programs and Go structs,” it could provide you with an interesting way to provide a DSL within Go apps.

Jason E. Aten, Ph.D.

Watermill: Library for Building Event-Driven Apps — A library for working with message streams (over numerous channels like Kafka, RabbitMQ, HTTP or even MySQL binlogs) to build event driven apps.

Three Dots Labs

Jobs

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

  • GoLand 2023.2 EAP7
    ↳ Now includes a LSP API for plugin developers.

  • Centrifugo v5
    ↳ Scalable real-time messaging server.

  • TiDB 7.2
    ↳ Distributed MySQL-compatible HTAP database. (Repo.)

  • FerretDB 1.5
    ↳ MongoDB alternative built atop Postgres (or, now, SQLite).

  • env 9.0
    ↳ Parse environment variables into a struct.

  • Goxygen 0.6
    ↳ Generate a full stack Web project. Now with Go 1.20 support.

  • Column 0.4
    ↳ High-performance, columnar in-memory store.

  • Kubo 0.21
    ↳ IPFS implementation in Go

n

Older messages

Go's three new builtin functions

Tuesday, June 27, 2023

Plus running Go in Jypyter Notebooks, a Go app generator, and using htmx with Go. | #​466 — June 27, 2023 Unsub | Web Version Together with Ardan Labs Go Weekly Go 1.21 Release Candidate — Despite

Random numbers in Go, version 2

Tuesday, June 20, 2023

Plus how and when to use Go pointers effectively, Mergo 1.0, and just how much Go is 'admired and desired.' | #​465 — June 20, 2023 Unsub | Web Version Together with Courier logo Go Weekly

Go toolchain changes in Go 1.21+

Tuesday, June 13, 2023

Plus talking to Matt Boyle about DDD, Ebitengine turns 10, and building traffic lights and fractals with Go. | #​464 — June 13, 2023 Unsub | Web Version ✍️ If you're intrigued about domain-driven

Go's on IBM mainframes now

Monday, June 12, 2023

Plus a natural language date/time parser, a new HTTP request router, and a way to visualize git contributions locally. | #​463 — June 6, 2023 Unsub | Web Version Together with Courier logo Go Weekly

Let's build a distributed K/V store in Go

Tuesday, May 30, 2023

Plus PayPal's Go-powered database, a fluent HTTP client library, and Mario makes an appearance. | #​462 — May 30, 2023 Unsub | Web Version Together with Ardan Labs Go Weekly Implementing a

You Might Also Like

Simplify Kotlin Error Handling

Thursday, March 6, 2025

View in browser 🔖 Articles Goodbye try-catch, Hello runCatching! Exception handling in Kotlin just got cleaner! This article explores how runCatching can replace traditional try-catch blocks, making

JSK Daily for Mar 5, 2025

Wednesday, March 5, 2025

JSK Daily for Mar 5, 2025 View this email in your browser A community curated daily e-mail of JavaScript news Unions and intersections of object types in TypeScript In this blog post, we explore what

Daily Coding Problem: Problem #1709 [Medium]

Wednesday, March 5, 2025

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Facebook. Given an array of integers, write a function to determine whether the array

How Swiss Tables make Go 1.24 faster

Wednesday, March 5, 2025

Plus a way to call external library functions without Cgo. | #​544 — March 5, 2025 Unsub | Web Version Together with pgAnalyze Go Weekly Faster Go Maps with Swiss Tables — One of Go's newest

Mapped | European Fertility Rates by Country 👶

Wednesday, March 5, 2025

The population replacement threshold is a fertility rate of 2.1. In 2025, all of Europe, except one small nation, is well below that level. View Online | Subscribe | Download Our App Invest in your

Trust in JS supply chain; sync vs. async code; JIT vulnerabilities; parseInt() and keycap emojis; V8

Wednesday, March 5, 2025

We have 10 links for you - the latest on JavaScript and tools Secure your JavaScript dependencies. socket.dev Sponsor Open source code makes up 90% of most codebases. Socket detects what traditional

The importance of flow state for developers

Wednesday, March 5, 2025

You are receiving this email because you subscribed to microservices.io. Considering migrating a monolith to microservices? Struggling with the microservice architecture? I can help: architecture

This beefy phone is a projector too 📽️

Wednesday, March 5, 2025

Biggest tech opps; How Firefox changed; Drone flying tips -- ZDNET ZDNET Tech Today - US March 5, 2025 GOTRAX 4 electric scooter A smartphone that's also a projector? I tested it, and it's

⚙️ Self-driving Ubers

Wednesday, March 5, 2025

Plus: A trade war, and AI ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Post from Syncfusion Blogs on 03/05/2025

Wednesday, March 5, 2025

New blogs from Syncfusion ® S&P 500 Returns After Rate Cuts: Visualized Using a Flutter Heatmap By Kompelli Sravan Kumar Kompelli Lakshman Learn how to visualize the S&P 500 returns after