Golang Weekly - Let's get optimizing

Plus some love for the Go gopher, and Go takes 8th place in IEEE's language roundup. |

#​475 — September 12, 2023

Unsub  |  Web Version

Together with  Ardan Labs

Go Weekly

Profile-Guided Optimization (PGO) in Go 1.21PGO has been a popular topic for blog posts recently, but here’s an as-close-to-official-as-it-gets example of using it to improve code, including deeper dives into two major optimizations enabled by the process. If nothing else convinces you to give it a shot, consider this: “In Go 1.21, workloads typically get between 2% and 7% CPU usage improvements from enabling PGO.”

Michael Pratt (The Go Team)

And if you fancy another article on the topic, Landon Clipp has another practical intro to PGO here that provides more of a "user-facing perspective."

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

Scaling gopls for the Growing Go Ecosystem — The official Go blog gives us two posts to sink our teeth into this week. This time, the spotlight shines on the gopls Go language server used by a variety of IDEs to enhance their Go support. This post looks at some recent advancements and speedups, and invites you to take this survey if you’re a gopls user.

Robert Findley and Alan Donovan

QUICK BITS:

  • Go 1.21.1 and 1.20.8 have been released. Minor point releases with some security fixes.

  • I want to take another opportunity to link to The Free Gophers Pack by Maria Letta – it's a helpful set of Go gopher illustrations (based upon the original by Renée French) and we used it in today's lead image.

  • Talking of the Go gopher, back in 2016 Renée French gave an ▶️ interesting talk about the Go gopher, how it came together, and some of Renée's favorite adaptations of it.

  • If you've got to write any C++, coost is worth a look. It's a tiny Boost-esque library to make C++ easier to write and with a little more Go flavor, including Go-style coroutines.

  • IEEE Spectrum has released its list of 'top programming languages' in 2023 and Go does pretty well in 8th place.

  • 📅 🤖 In a few weeks I'm attending the AI Engineer Summit in SF – if you're into the rapidly growing field of using AI and ML tools and technologies alongside software development, check it out. Even if you can't attend, you can snag a free remote ticket to watch from afar.

▶  'This Will Make Everyone Understand Go Interfaces' — For anyone experiencing confusion, Anthony GG takes on the task in his inimitable style.

Anthony GG

What I Have Changed My Mind About in Software Development“Anybody who doesn’t change their mind a lot is dramatically underestimating the complexity of the world we live in.” – Jeff Bezos

Henrik Warne

Free Course: Temporal 102 with Go — Learn how to utilize the full development cycle in Temporal with this practical follow-up to our essentials 101 course.

Temporal Technologies sponsor

Using Tailscale for Authentication of Internal Tools
Khash Sajadi

Implementing a ClickHouse Output Plugin for Telegraf in Go
David Wołosowicz

A Practical Tour of Common File Operations in Go
Adebayo Adams

🛠 Code & Tools

Wails 2.6: Create Desktop Apps with Go, JS and CSS — Ever been envious of JavaScript developers being able to use Electron to build desktop apps? Wails brings a similar option to Go. v2 is mature and solid, but Wails v3 is on the way and promises to be a big update. GitHub repo.

Lea Anthony

Goxygen 0.7: Quickly Generate a Go Backend for a JS Project — A tool that sets up a new Go-based project with Angular, React, or Vue in the front-end, and Docker and Docker Compose files to make it all work. v0.7 introduces Go 1.21 support.

Sasha Shpota

[Blog] How to Hack Kubernetes (And How to Protect It) — This roundup covers the top seven ways your cluster will likely be attacked and a corresponding countermeasure.

Teleport | goteleport.com sponsor

Participle 2.1: A Simple Parser Package — Aims to provide a straightforward and idiomatic way to define parsers in Go using a familiar approach of using struct field tags to define a grammar, so if you’ve used encoding/json before, you’re well on your way.

Alec Thomas

Lip Gloss 0.8: Style Definitions for Nice Terminal Layouts — Provides a ‘fluent’-style API for stylizing text output from your programs in an attractive way, as you'd expect being a Charm project.

Charm

Spotify 2.4.0: A Go Wrapper for the Spotify Web API — There are a variety of examples, but you can do all the obvious things like search for tracks, playlists, and control playing tracks.

Zac Bergquist

Enmime 1.0: MIME Encoding and Decoding Package — Focused on generating and parsing MIME encoded emails.

James Hillyerd

QUICK RELEASES:

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

n

Older messages

'Cgo performance is good actually'

Tuesday, September 5, 2023

Plus how Go 1.21 enables truly reproducible builds. | #​474 — September 5, 2023 Unsub | Web Version Together with Teleport logo Go Weekly Perfectly Reproducible, Verified Go Toolchains — Go 1.21

'There will not be a Go 2 that breaks Go 1 programs.'

Tuesday, August 29, 2023

Plus RIP to AWS Lambda's Go runtime, a big TinyGo update, and an official introduction to 1.21's structured logging. | #​473 — August 29, 2023 Unsub | Web Version 👋 We're back! Well, almost

Go 1.21 released

Tuesday, August 8, 2023

Plus cross-platform sound from Go, a new dependency security tool, and we're off for a few weeks. | #​472 — August 8, 2023 Unsub | Web Version ⛱ I'm taking two weeks off and will be back on

The Go team's new project templating tool

Tuesday, August 1, 2023

Plus the Go survey is back, a 400 line Go git client, and Google Cloud Functions gets Go 1.21. | #​471 — August 1, 2023 Unsub | Web Version Together with Ardan Labs Go Weekly Experimenting with Project

The one where Go keeps getting better

Tuesday, July 25, 2023

Plus Go benchmarking pitfalls, a gentle intro to pointers, and finding vulnerable dependencies with govulncheck. | #​470 — July 25, 2023 Unsub | Web Version ✍️ It feels like there's a particularly

You Might Also Like

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

10 Best Practices for Cloud Visibility

Wednesday, March 5, 2025

Learn how to instantly improve cloud visibility — 10 proven strategies ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏

The Sequence Engineering #503: Stanford Researchers Just Created a New Agentic Framework for Tool Usage and Comple…

Wednesday, March 5, 2025

OctoTools addresses some of the core limitations of agentic solutions. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

URGENT: VMware Security Flaws Exploited in the Wild唯roadcom Releases Urgent Patches

Wednesday, March 5, 2025

THN Daily Updates Newsletter cover ⚡ LIVE WEBINAR ➟ AI Uncovered: Re-Shaping Security Strategies for Resilience in the Era of AI AI Is Changing the Cybersecurity Game -- Learn the Secrets to Outsmart