Should the Go toolchain collect usage data?

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 Newsletter

An Introduction to Go's Profile-Guided Optimization — What if the Go compiler could improve how it compiles software based upon real-world profiling? Profile-Guided Optimization (PGO) feeds runtime profiles to the compiler to optimize the binary based on usage. Go 1.20 includes initial support for this, so try this with your apps and (hopefully) see some perf gains.

Michael Pratt

Transparent Telemetry for Open Source Projects — It's an emotive topic, but Russ puts forth a concept of ‘transparent telemetry’, a privacy-sensitive approach to gathering usage data in the Go toolchain to help Go library devs, the core team, and others. There’s a lot to unpack and there's a a GitHub discussion where you can have your own say (as things stand it has 144 👍 and 449 👎…)

Russ Cox

Russ also has a use cases post which might help win you over or at least realize there are things that surveys alone cannot capture. He makes a compelling case.

The Fast Way for Developers to Build Mobile Apps — Build native iOS and Android apps with no mobile expertise—all you need is JS and SQL. Retool Mobile is the fast way for developers to build business apps for teams on the go, at a warehouse, or in the field. Teams of up to 5 can build for free.

Retool sponsor

Building Conc: Better Structured Concurrency for Go — A month ago we featured Conc, a new set of abstractions for working with concurrency in Go, and now its author gives the full backstory and explains where it fits in.

Camden Cheek

Slidedeck: Five Steps to Make Your Go Code Faster and More Efficient — From FOSDEM 2023, the author of Efficient Go walks through the steps you can start using in your code today. It’s much easier than you might expect. Bonus: New acronyms abound here.

Bartłomiej Płotka

IN BRIEF:

Fast and Dynamic Encoding of Protocol BuffersProtocol Buffers (a.k.a. protobuf) provide one common language-neutral way to serialize data structures. This post looks at the fastest way to create them dynamically in Go without proto files.

Vincent Bernat

Working at the Bit Level in Go — A lot of developers will never need to work at the bit level, but this is very useful stuff to at least know about.

Daniel Lemire

User or *User - Do We Need Struct Pointers Everywhere? — The answer, as you might’ve guessed, is “no.” But, it’s also more nuanced due to the lifetime of a struct, its usage, and other aspects that boil this down to general guidelines and case-by-case analysis.

Preslav Rachev

Top Trending Content: Terraforming Kubernetes (Free 75‑Minute Course) — Lead by Udemy instructor, Justin Mitchel, this course shows you how to spin up a K8s cluster on Linode using Terraform.

Linode sponsor

▶  The History of Building Webapps, And Is 'htmx' The Way to Go?htmx is a modern, lightweight JavaScript library for making modern dynamic page features that’s particularly popular with folks outside the JS ecosystem.

Go Time Podcast podcast

Testing Generated HTML with goquery
Brian St. Pierre

🛠 Code & Tools

Plumber 2.0: A 'Swiss Army Knife' CLI Tool for Messaging Systems — Event streaming and pub/sub systems, more particularly, including Kafka, RabbitMQ, Google Cloud Platform PubSub, MQTT, Kinesis Streams, SQS, SNS, NATS, and more.

Streamdal

Goption: Optional Values for Go — An implementation of a generic optional type that supports common encoders/decoders, SQL, and stdlib string formatting.

Jordan Bonecutter

Don’t Let Your Issue Tracker Be a Four-Letter Word. Use Shortcut — The best issue tracking software is one that software developers are actually happy to use.

Shortcut (formerly Clubhouse.io) sponsor

Jobs

Software Engineer C++ — 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

🔠 Go's not just a language..

It's also a typeface! You may or may not recall that back in 2016, the Go team announced the release of the Go fonts, available in both proportional and monospace variants.

If you want to give them a Go for yourself, they're located alongside Go's image libraries and you can get them like so:

git clone https://go.googlesource.com/image

The TTF files are then located at: image/font/gofont/ttfs

n

Older messages

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

Grab yourself a Go-flavored mocktail

Friday, January 27, 2023

Plus a new Go podcast, a Go powered feed reader, and someone has some Go beefs. | #​445 — January 27, 2023 Unsub | Web Version Together with Ardan Labs The Go Weekly Newsletter Mocktail: A Tasty,

Some problems with integers

Friday, January 20, 2023

Plus it's Go community survey time again, drawing diagrams and graphs, and more on Go 1.20. | #​444 — January 20, 2023 Unsub | Web Version Together with Pangea logo The Go Weekly Newsletter

Block Mirror

Friday, January 20, 2023

Plus Go 1.20 changes, a Go RSS reader, and some other projects worth a look. | #​443 — January 13, 2023 Unsub | Web Version Together with Retool logo The Go Weekly Newsletter What's New in Go 1.20:

Better Go concurrency for 2023

Friday, January 6, 2023

Plus VS Code gets Go vulnerability reporting, Go 1.20 RC2 is here, and want to speak at GopherCon Europe 2023? | #​442 — January 6, 2023 Unsub | Web Version Together with 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. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏