Golang Weekly - The journey to faster JSON parsing

Plus Go re-enters the TIOBE top 10, using multi-module workspaces, and what the Go team is talking about. |

#​451 — March 10, 2023

Unsub  |  Web Version

Together with  Ardan Labs

The Go Weekly Newsletter

Why Turborepo is Migrating From Go to RustTurborepo is a high performance JavaScript build system built upon Go but.. perhaps not for much longer. Why? It mostly seems subjective, but you might find their arguments interesting.

Vercel Engineering Team

Code Coverage for Go Integration Tests — While Go has had coverage support at the package test level for almost ten years, coverage for integration tests run outside of the go test mechanism has been non-existent. With Go 1.20, it’s possible to instrument a binary and generate coverage files for both the module code and dependent packages.

Than Macintosh

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

A Journey to High-Perf JSON Parsing in Go — A distributed SQL database needs to maximize data parsing, so CockroachDB’s (very successful) story about doing so is worth the read. The answer came from a somewhat unexpected place and benefits anyone looking to speed up JSON parsing.

Yevgeniy Miretskiy (CockroachDB)

Getting Started with Multi-Module Workspaces — Potentially overlooked in Go 1.18 because they weren’t generics, workspaces let you tell the Go command you’re writing code in multiple modules at the same time and easily build and run code in those modules.

Official Go Docs

IN BRIEF:

Things to Consider When Going with sqlcsqlc (the SQL to type-safe code generator) is a handy time and boilerplate saver, but isn’t a one-size-fits-all solution.

Preslav Rachev

Terraforming Kubernetes (Free Course) — Lead by Udemy instructor, Justin Mitchel, this course shows you how to spin up a K8s cluster using Terraform.

Akamai Connected Cloud sponsor

errors.Join Loves defer? — In Go 1.20, you can join errors so that original errors aren’t overridden. William looks at how nicely this meshes with the use case of handling close errors in a defer.

William Wennerström

How Not to Use context.WithValue
Vishnu Bharathi

Higher-Order Functions in Go
Eli Bendersky

🛠 Code & Tools

ngrok-go: Ingress to Your Go Apps as a net.Listenerngrok is a long standing tool (and, increasingly, commercial service) for opening up a locally hosted service to the public Internet and now there’s an idiomatically Go way to embed ngrok-style ingress into apps.

Alan Shreve (ngrok)

Valgo: An Expressive Validator Library — Type-safe and extensible validator library that supports localization and is built upon generics. “Valgo differs from other validation libraries in that the rules are written in functions and not in struct tags. This allows greater flexibility and freedom when it comes to where and how data is validated.”

Cohesive Stack

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

Shortcut (formerly Clubhouse.io) sponsor

Gool: A Generic Goroutine Pool — If you’re familiar with Python’s ThreadPoolExecutor, you might like this as it provides sync and async versions of Submit and Map to run tasks.

Tommy Tian

go-ssaviz: SSA Visualization with Graphviz — You won’t need this unless you’re doing some really low level work, but this tool lets you see Go’s internal use of static single-assignment in your Go package of choice.

Shengyu Zhang

Convolutional Encoder and Viterbi Decoder for Go — If you need this, you’ll know. The author explains the error-correcting nature of such encoders and decoders in this comment.

8FF

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

🧑‍💻 Got a job listing to share? Here's how.

n

Older messages

Google's new distributed Go app framework

Friday, March 3, 2023

Plus a Go telemetry update, Uber's Go style guide, an introduction to Ent, and a new IMAP library. | #​450 — March 3, 2023 Unsub | Web Version Together with Tailscale logo The Go Weekly Newsletter

A particularly Charming issue

Friday, February 24, 2023

Plus keep your Java out of our Go, a Go Solitaire game, git hook management, and a Go-powered Web browser. | #​449 — February 24, 2023 Unsub | Web Version I'm not sure what's up, but

Go quirks and intermediate tricks

Friday, February 17, 2023

Plus the Go powered balloon over Europe. | #​448 — February 17, 2023 Unsub | Web Version Together with Cockroach Labs logo The Go Weekly Newsletter Purego: A Dynamic Way to Call C Functions from Go

Should the Go toolchain collect usage data?

Friday, February 10, 2023

Plus using profiling to optimize the Go compiler, Go's famous fan, and getting down to the bits and bytes. | #​447 — February 10, 2023 Unsub | Web Version Together with Retool logo The Go Weekly

The one with Go 1.20

Friday, February 3, 2023

Plus entering the memory arena, a call for speakers, and improving the observability of Go services. | #​446 — February 3, 2023 Unsub | Web Version Together with Tailscale logo The Go Weekly Newsletter

You Might Also Like

'The most rapid change in human communication ever'

Thursday, March 6, 2025

how I'm using OpenAI to replace PhDs ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

First .NET 10 Preview, .NET Aspire 9.1, C# Dev Kit Previews .NET Aspire Orchestration, More

Thursday, March 6, 2025

Home | News | How To | Webcasts | Whitepapers | Advertise .NET Insight March 6, 2025 THIS ISSUE SPONSORED BY: ■ VSLive! 4-Day Seminar: Hands-on with Blazor Microsoft Ships First .NET 10 Preview

March 6th 2025

Thursday, March 6, 2025

Curated news all about PHP. Here's the latest edition Is this email not displaying correctly? View it in your browser. PHP Weekly 6th March 2025 Hi everyone, It's the first issue of March. I

The Hidden Cost of Over-Engineering (and How to Stop Yourself)

Thursday, March 6, 2025

Top Tech Content sent at Noon! Augment Code: Developer AI for real eng work. Start for free Read this email in your browser How are you, @newsletterest1? 🪐 What's happening in tech today, March 6,

JSK Weekly - 6th March, 2025

Thursday, March 6, 2025

The new Angular TextArea component by Syncfusion is a robust and flexible user interface element designed to enhance multiline text input. It offers a wide range of features and customization options,

wpmail.me issue#708

Thursday, March 6, 2025

wpMail.me wpmail.me issue#708 - The weekly WordPress newsletter. No spam, no nonsense. - March 6, 2025 Is this email not displaying correctly? View it in your browser. News & Articles The Top

This E-ZPass scam is everywhere ⚠️

Thursday, March 6, 2025

New Google Search; Don't use your CC online; Revert Apple Mail -- ZDNET ZDNET Tech Today - US March 6, 2025 e-zpass Did you get an E-ZPass text demanding payment? Don't click - it's a scam

⚙️ The era of agentic warfare

Thursday, March 6, 2025

Plus: Judge denies Musk's bid ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Post from Syncfusion Blogs on 03/06/2025

Thursday, March 6, 2025

New blogs from Syncfusion ® AI-Powered Flutter Calendar for Effortless Project Scheduling and Reviews By Lavanya Anaimuthu This blog explains how to build an AI-powered smart scheduling app using the

The Sequence Opinion #504: Does AI Need New Programming Languages?

Thursday, March 6, 2025

And some old computer science theories that can become sexy again in the era of AI-first programming languages. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏