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

📱🤔 Is the iPhone 15 Worth the Upgrade?

Friday, September 22, 2023

Logo September 22, 2023 Did You Know On March 12, 1951, a curious thing happened. In the United States and the United Kingdom, two comic artists, working completely independently of each other,

[New post] dotNetDave Rocks the Build Stuff Conference 2023

Friday, September 22, 2023

dotNetDave posted: " I'm thrilled to announce that, for the very first time, the For Those About To Code: World Wide Tour will be making a stop at the 2023 Build Stuff event in Vilnius,

JSK Daily for Sep 22, 2023

Friday, September 22, 2023

JSK Daily for Sep 22, 2023 View this email in your browser A community curated daily e-mail of JavaScript news Enhance Your Website with Scroll Animations Using Pure CSS, No JavaScript Required In this

Startups Weekly - Bay Area baby belly beholding Battlefield bounty

Friday, September 22, 2023

TechCrunch Newsletter TechCrunch logo Startups Weekly logo By Haje Jan Kamps Friday, September 22, 2023 Welcome to Startups Weekly. If this newsletter comes across as a deranged delirium of barely

iOS Dev Weekly - Issue 628

Friday, September 22, 2023

What does the future of testing in Swift look like? Find out, and give feedback! 📚 View on the Web Archives ISSUE 628 September 22nd 2023 Comment Happy new device day! Thanks also for all of the kind

Daily Coding Problem: Problem #1220 [Easy]

Friday, September 22, 2023

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Salesforce. Write a program to merge two binary trees. Each node in the new tree should

Issue #507: JS Gamedev Summit, Jump Ship Jam, and deep space

Friday, September 22, 2023

Weekly newsletter about HTML5 Game Development. Is this email not displaying correctly? View it in your browser. Issue #507 - September 22nd 2023 If you have anything you want to share with the HTML5

Charted | The World’s Biggest Oil Producers 🛢️

Friday, September 22, 2023

Just three countries make up the lion's share of global oil supply. Here are the world's biggest oil producers. View Online | Subscribe Presented by: The best-informed investors choose

Questions every VC needs to ask about every AI startup's tech stack

Friday, September 22, 2023

TechCrunch+ Newsletter TechCrunch+ logo TechCrunch+ Roundup logo By Walter Thompson Friday, September 22, 2023 Welcome to TechCrunch+ Friday Image Credits: Rosemary Calvert / Getty Images Few VCs are

Studio Bot expands to 170+ international markets!

Friday, September 22, 2023

View in browser 🔖 Articles Studio Bot expands to 170+ international markets! Studio Bot can accelerate your ability to write high-quality Android apps faster by helping generate code for your app,