Golang Weekly - Using 97 fewer cores thanks to PGO

Plus an HNSW indexed vector store library, a new Go game hits the Steam store, and is 'ok' ok?. |

#​507 — May 14, 2024

Unsub  |  Web Version

Together with  Stytch logo

Go Weekly

Reclaiming CPU for Free with PGO — We’ve previously featured Dolt’s experiences with PGO but Cloudflare has been experimenting and benefiting from Go 1.20+’s profile-guided optimization too. At Cloudflare’s scale of running Go-based services across thousands of cores, the end result is quite striking.

Colin Douch (Cloudflare)

ok Considered Harmful?“Just like there’s an unwritten law that every error variable in Go must be named err, there’s an unwritten law that every map existence variable in Go must be named ok.” But Zach thinks we can, and should, look at doing better.

Zach Musgrave

Stytch: Auth0 Alternative for AuthN, AuthZ, Fraud Prevention — Use Stytch for enterprise-grade multi-tenant B2B auth with SSO, RBAC, and SCIM. Use pre-built UIs, go headless, or integrate directly with the API. Plus, Stytch has device fingerprinting built-in to detect bots and prevent abuse. Get started free.

Stytch sponsor

🗣️ Do Gophers Really Tend to Build Everything From Scratch? — Over on Reddit, a developer new to Go wondered why Go has few large scale frameworks and whether we tend to just build everything from scratch. The top response sums up a typical Go approach well – we have lots of great libraries, and Go makes it easy to compose them together. Full thread.

Reddit

QUICK BITS:

The Notifier Pattern for Apps That Use Postgres — Brandur is a big fan of Postgres’s built-in pub/sub features.

Brandur Leach

Building a Web App with Go and React — The goal of this series seems to be to show off JetBrains’ GoLand IDE, with less focus on the design of the app itself. This does not, however, mean it’s not useful to see how the parts come together.

Ryan Peden (JetBrains)

Create a DNS Resolver with Go — There are plenty of ways to do this quickly, but if you want to dig into the packets and learn how it works, why not?

Domenico Luciani

Product for Engineers: A Newsletter Helping Flex Your Product Muscle — Subscribe to get curated advice on building great products and best practices of top startups.

PostHog sponsor

How I Made My GitHub Profile README Dynamic — There’s no Go here, alas, but a neat demo of how it’s not too tricky to give your GitHub profile extra flair by pulling in blog posts or other info.

Duy Ng

📺 Build Your Own Distributed System Using Go – A talk from GopherCon 2023 that’s just been published. Philip O'Toole

📄 Using the crypto/aes and crypto/cipher Packages Aran Wilkinson

📄 A Basic Example of Using DuckDB from Go Joseph Jude

📄 Creating a More Sustainable Model for oapi-codegen in the Future Jamie Tanna

📺 A Nine Hour Go Course for Beginners Lane Wagner

🛠 Code & Tools

Chapar: An In-Development API Testing Tool — Built in Go using the Gio UI library, Chapar is designed for testing both HTTP and gRPC-based APIs in a slightly Postman-like fashion. It’s still under development but is ready to try out, says the author. GitHub repo.

Mohsen Mirzakhani

hnsw: In-Memory HNSW Vector Indexing for Go — A library providing a simple, in-memory vector database. HNSW stands for Hierarchical Navigable Small Worlds and is a way of indexing vectors by way of a multi-layer graph.

Ammar Bandukwala

📰 Classifieds

Your fastest path to production. With Render you can Build, deploy, and scale your apps with unparalleled ease – from your first user to your billionth.


📅 Moar Serverless!! 2024 is a free, one day online event taking place on May 23 featuring several speakers sharing the latest news and technologies for building serverless solutions.

Actionlint: Static Checker for GitHub Actions Workflow Files — GitHub Actions workflow files are notoriously tricky to get right, so this could be helpful. You can also try it online via this playground.

rhysd

go-size-analyzer: Analyze the Size of Dependencies in Compiled Go Binaries — We linked to this handy tool a few weeks ago, but it’s had a significant 1.0 update with support for a new terminal-based view of just what all those bytes are being used for in your binaries.

Zxilly

  • GoReleaser 1.26 – Build/release binaries for multiple platforms. It's anticipated to be the last minor v1 release prior to an eventual v2.

  • UUID 5.2 – RFC-9562-compliant UUID generation library. Now with updates to UUID v6 and v7 to match new specs.

  • Go OpenAI 1.24.0 – Adds support for OpenAI's new GPT-4o model.

  • GPTScript 0.6 – Natural language programming with AI.

  • River 0.6 – Fast and reliable background jobs in Go.

  • DoltgreSQL 1.38 – Version-controlled Postgres, built in Go.

  • go-github 62.0 – GitHub v3 API client library.

n

Older messages

A very random issue

Tuesday, May 7, 2024

Plus a new language that compiles to Go, charts for the terminal, and some Go books from Packt. | #​506 — May 7, 2024 Unsub | Web Version Together with Ardan Labs Go Weekly Evolving the Go Standard

Going supersonic

Tuesday, April 30, 2024

Plus Go remains popular in pull requests, a CP/M emulator, and, sure, Go isn't Java. | #​505 — April 30, 2024 Unsub | Web Version ✍️ It's been a quiet week for big Go related news, but we still

Bringing PGO to the build pipeline

Tuesday, April 23, 2024

Plus how Go grew at Google, cmp.Or, and ways to visualize makefiles, Go binaries, and live Go processes. | #​504 — April 23, 2024 Unsub | Web Version Together with Three Dots Labs Go Weekly How Dolt

The latest Go developer survey results are in

Tuesday, April 16, 2024

Plus lots of database stuff, a new Go book is in print, and a Minesweeper implementation. | #​503 — April 16, 2024 Unsub | Web Version If you wondered why you didn't get an issue last week, we took

Go 1 turns twelve

Tuesday, April 2, 2024

Plus discussing debugging approaches, optimizing SQLite and brute force searches, and getting brain freeze with Charm. | #​502 — April 2, 2024 Unsub | Web Version 🐣 A quick note to say Go Weekly is

You Might Also Like

JSK Daily for Oct 5, 2024

Saturday, October 5, 2024

JSK Daily for Oct 5, 2024 View this email in your browser A community curated daily e-mail of JavaScript news Understanding CommonJS vs. ES Modules in JavaScript JavaScript has undergone significant

🪟 How to Prevent Windows 10/11 From Locking Itself — Biggest Tech Fails

Saturday, October 5, 2024

Also: Does Airplane Mode Speed Up Charging, and More! How-To Geek Logo October 5, 2024 Did You Know The idea that camels store water in their humps to survive long treks through the desert is a

Issue #561: js13kGames 2024 winners, OneJS, and Nadine's Fleet II

Saturday, October 5, 2024

View this email in your browser Issue #561 - October 5th 2024 Weekly newsletter about Web Game Development. If you have anything you want to share with our community please let me know by replying to

Ranked | The Worst Cities for Rush Hour Traffic 🚗

Saturday, October 5, 2024

We look at the worst cities for rush hour traffic, both globally and in the US specifically. View Online | Subscribe | Download Our App Presented by Voronoi: The App Where Data Tells the Story FEATURED

⚙️ Special Edition: Eric Xing and the Age of AI Empowerment

Saturday, October 5, 2024

We met up with Dr. Eric Xing to talk about the realities of AI. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

🐍 New Python tutorials on Real Python

Saturday, October 5, 2024

Hey there, There's always something going on over at Real Python as far as Python tutorials go. Here's what you may have missed this past week: Python 3.13: Cool New Features for You to Try In

Hooked On Clarendon 💡

Saturday, October 5, 2024

The very common font that kicked off a redesign. Here's a version for your browser. Hunting for the end of the long tail • October 05, 2024 Hooked On Clarendon I saw a font recently, and it

Largest-Ever DDoS Attack Just Occurred—3.8 Tbps in Just 65 Seconds!

Saturday, October 5, 2024

THN Daily Updates Newsletter cover Mastering Spring Boot 3.0 ($31.99 Value) FREE for a Limited Time A comprehensive guide to building scalable and efficient backend systems with Java and Spring

Re: No more spam!

Saturday, October 5, 2024

If you are tired of getting spam texts and phone calls, I have a new discovery that you need to read about. It's a service called Incogni, and I'd recommend it to any iPhone Life reader

📧 Implementing the Outbox Pattern

Saturday, October 5, 2024

​ Implementing the Outbox Pattern Read on: m​y website / Read time: 8 minutes The .NET Weekly is brought to you by: Visually Building API-Driven Applications with Postman Flows ​ Explore how Postman