thepudds
thepudds.bsky.social
thepudds
@thepudds.bsky.social
Go contributor.

Posts tend to be about #golang, performance, fuzzing, and Go Modules. He/him.

https://github.com/thepudds
Reposted by thepudds
I'm proud to officially announce CUE Labs!

I co-founded CUE Labs with @myitcv.io to build a Configuration Control Plane, solving config chaos with CUE. Our work also provides the stewardship for the @cuelang.org open source project.

Read our launch post: cue.dev/blog/announc...
A World Without Configuration Chaos: The Configuration Control Plane
Imagine a world where you can answer, with absolute confidence, the critical question: “What is the full impact of this change?” A world where configuration isn’t a source of fear, but a source of rel...
cue.dev
October 30, 2025 at 11:41 AM
Reposted by thepudds
So excited to finally share what we've been building at CUE Labs!

Proud to be on this mission with @mpvl.io, @myitcv.io, @rog.bsky.social, @hylomorphism.bsky.social, and @dominikdm.bsky.social.
A World Without Configuration Chaos: The Configuration Control Plane
Imagine a world where you can answer, with absolute confidence, the critical question: “What is the full impact of this change?” A world where configuration isn’t a source of fear, but a source of rel...
cue.dev
October 30, 2025 at 11:50 AM
Reposted by thepudds
For some added fun, also see go.dev/cl/715362, wherein I discover that VPCOMPRESSQ is horrifically slow on AMD Zen 4, but only with a memory destination.

And thanks to @lemire.bsky.social for writing about this, which made this much faster to track down!
Gerrit Code Review
go.dev
October 29, 2025 at 7:20 PM
Reposted by thepudds
If you have an interest in understanding garbage collection better, or in how Go's new GC works under-the-hood, I highly recommend reading @michael.express's thorough guide through Go's current and Green Tea GC.
“The Green Tea Garbage Collector” by Michael Knyszek and Austin Clements — https://go.dev/blog/greenteagc

#golang
October 29, 2025 at 7:20 PM
Reposted by thepudds
I am using it to test our Go modules against the latest versions of their dependencies (with "go get -u") on a schedule, to be notified early of compatibility issues, but without the supply chain attack risk or the Dependabot churn.
October 24, 2025 at 12:59 PM
Reposted by thepudds
Resurrecting an old post about how I write HTTP clients in Go since I am doing this again for the 89432894023 time.

blainsmith.com/articles/how...

#GoLang #HTTP
How I Write HTTP Clients - Blain Smith
blainsmith.com
October 23, 2025 at 3:51 PM
Reposted by thepudds
I see a future in jj
Blog post: I see a future in jj by Steve Klabnik
steveklabnik.com
October 22, 2025 at 5:22 PM
Reposted by thepudds
I really do like Golang being "batteries included".

It took only a few hours to write a moderately featureful TLS-terminating reverse HTTP proxy that used nothing outside the built-in libraries.

The only compromise was using JSON for the configuration file. I would have preferred textproto…
October 21, 2025 at 8:42 AM
Reposted by thepudds
Oh my god it actually worked.

This might be my funniest—but totally serious—cryptography engineering contribution.
October 17, 2025 at 10:53 PM
@simonwillison.net with some commentary on the new CrossOriginProtection CSRF protection in the http package for #golang 1.25...

🚀
Does widespread browser implementation of the Sec-Fetch-Site HTTP header mean we can protect against CSRF attacks without needing those hidden form tokens? It looks like the answer may be a cautious "yes"! simonwillison.net/2025/Oct/15/...
A modern approach to preventing CSRF in Go
Alex Edwards writes about the new http.CrossOriginProtection middleware that was added to the Go standard library in version 1.25 in August and asks: Have we finally reached the point where …
simonwillison.net
October 15, 2025 at 1:54 PM
@andreabarisani.bsky.social is the author of the new-ish proposal for bare metal support for Go, which seems to be gathering some momentum AFAICT.

Andrea continues to share some fairly exciting progress... 🚀

( #golang proposal: github.com/golang/go/is... )
First ever boot of a TamaGo unikernel in the cloud, here on Google Cloud Compute Engine, automatically deployed from remote userspace!

Looking forward to polish and publish this.
October 1, 2025 at 2:43 PM
Reposted by thepudds
Fun little Go compiler CL merged today: go.dev/cl/706655

Uninlined generic functions have a "dict" arg, since Go generics are neither erased nor monomorphized, but instead instantiated for each "GC shape" (e.g. T=*int and T=*float64 get the same code, but T=int32 and T=int64 do not).
September 30, 2025 at 7:42 PM
Reposted by thepudds
OK, I love this. tl;dr using knowledge of your allocator, speed up linked list traversal by adding a branch that guesses where the next linked list element is and pre-populates the "next" variable to eliminate stalls if the allocations are well-behaved.
September 28, 2025 at 1:31 AM
Reposted by thepudds
If you haven't been keeping up, Go 1.21 reduced overhead from ~10% to ~1%. 1.22 overhauled the format to improve reliability and add information. 1.25 has a built in trace flight recorder. And we have an active proposal (go.dev/issue/62627) for a trace parsing package to enable arbitrary tooling.
proposal: x/debug/trace: add package for parsing execution traces · Issue #62627 · golang/go
As part of #60773 (tracking issue #57175) I've been working on a new parser for the execution tracer, and to save work down the line I've also been trying to come up with a nice API that would work...
go.dev
September 26, 2025 at 7:32 PM
Reposted by thepudds
Go's execution tracer is a woefully underutilized tool. It contains tons of information about what is happening at any given moment that you won't get with a profile.

In addition to showing flight recording capabilities, this post provides a nice example of how to use tracing to diagnose a problem.
golang.org Go @golang.org · Sep 26
“Flight Recorder in Go 1.25” by Carlos Amedee and Michael Knyszek — https://go.dev/blog/flight-recorder

#golang
September 26, 2025 at 7:32 PM
Reposted by thepudds
I recently spoke at GopherCon UK 2025 about the hidden power of #Go’s `-toolexec` flag. How it can turn every `go build` into a programmable pipeline for things like error-handling enforcement and observability hooks. Here’s the recording:
Unleashing the Go Toolchain - Kemal Akkoyun
The -toolexec flag hides a super-power in the Go toolchain: it lets you turn every go build into a programmable pipeline. In this session we’ll reveal how a simple wrapper command can inject custom…
youtu.be
September 23, 2025 at 12:10 PM
Reposted by thepudds
My talk from #gopherconuk is up on YouTube!
My take on how map is implemented in Go, and what changed from Go 1.23 to 1.24 and 1.25.

youtu.be/M05t7Q6LbFs

* Talk contains no AI, but does contain pictures of cats.
Swiss Maps in Go - Bryan Boreham
YouTube video by GopherCon UK
youtu.be
September 18, 2025 at 1:13 PM
Reposted by thepudds
Reposted by thepudds
Screw PXE, this means the entire Go TLS and networking stack is available under UEFI.

In seconds I added DHCP and an SSH server to remotely manage my pre-boot environments.

I see much potential.
Adding networking to go-boot through UEFI Simple Network Protocol.

It took 77 LOCs of pure Go to add the UEFI driver and bridge it to gVisor stack.
September 15, 2025 at 1:52 PM
Reposted by thepudds
This talk is like the solstice, it appears twice a year :)
September 9, 2025 at 9:41 AM
Reposted by thepudds
I've been eager to get more context and commentary on those slides. Fortunately, @dave.cheney.net gave the talk again at GopherCon Europe 2025, and the recording is now live! www.youtube.com/watch?v=RZe8...
September 3, 2025 at 2:54 PM
Reposted by thepudds
My GopherCon EU talk about Swiss Table maps is now available!

youtu.be/aqtIM5AK9t4
Faster Go Maps With Swiss Tables - Michael Pratt | GopherCon EU 2025
YouTube video by GopherCon Europe
youtu.be
September 1, 2025 at 1:39 PM
Ooh, the SIMD WIP stdlib API for #golang is ready for people to poke!

From Cherry from a few minutes ago:

> As of today, we've landed a preliminary version with a reasonable API coverage. You're welcome to check out the dev.simd branch and try it with your use cases.

github.com/golang/go/is...

🚀
proposal: simd: architecture-specific SIMD intrinsics under a GOEXPERIMENT · Issue #73787 · golang/go
Update (08/20/2025): A preliminary implementation of AMD64 low-level SIMD package is being developed on the dev.simd branch. You're welcome to check it out and try it with your use cases. Feedback ...
github.com
August 20, 2025 at 10:29 PM