Sign in

thepudds

@thepudds.bsky.social
1.3K followers 175 following 208 posts

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

PostsRepliesMedia
Reposted by thepudds
Go @golang.org · 24/09/2026
“Platform-independent SIMD in Go” by David Chase and Junyang Shao — go.dev/blog/simd-experiment #golang
0358
Reposted by thepudds
Roger Peppe @rog.bsky.social · 22/09/2026
I'm taking a short break, but if you have an opportunity you think I'd be into, hit me up!
032
thepudds @thepudds.bsky.social · 10/09/2026
I’m very, very happy to share that I have just joined the core Go team at Google to work on the Go runtime and compiler! I’ve been pitching in as an external contributor since 2018, but now my very enjoyable hobby is becoming my day job 😅 (Also, my name is PJ 👋)
121868
Reposted by thepudds
Quim Muntal @qmuntal.bsky.social · 31/08/2026
Reducing cgo/syscall overhead on Windows by ~20%, down to ~30ns ⚡ go.dev/cl/824784 #golang
go.dev
Gerrit Code Review
1231
thepudds @thepudds.bsky.social · 27/08/2026
Yet another very nice #golang resource from @antonz.org
0101
Reposted by thepudds
Anton Zhiyanov @antonz.org · 25/08/2026
The new JSON package is finally production-ready in Go 1.27, so I've updated my JSON v2 guide. It explains all the main differences between the json and json/v2 packages, with interactive examples for each one. Check it out! antonz.org/go-json-v2
antonz.org
JSON evolution in Go: from v1 to v2
Reviewing the key changes in json/v2.
2427
Reposted by thepudds
Daniel Lemire @lemire.bsky.social · 15/08/2026
Go 1.27 will make some allocations cheaper lemire.me/blog/2026/08/15/go-1-27-w…
1204
Reposted by thepudds
Andrew Lilley Brinker @alilleybrinker.com · 28/07/2026
Years ago we found a macOS libgit2 bug, where libgit2 was losing a macOS error message, causing the error to just print "(null)". We fixed it, only to find the macOS error was "error".
312622
Reposted by thepudds
Egon Elbre @egonelbre.bsky.social · 31/07/2026
Conjured a tool for diffing disassembly of binaries for Go. #golang github.com/loov/ixdiff
github.com
GitHub - loov/ixdiff: Compare assembly of two binaries.
Compare assembly of two binaries. Contribute to loov/ixdiff development by creating an account on GitHub.
081
thepudds @thepudds.bsky.social · 30/07/2026
I suspect this will be a worthwhile book. Just ordered. (This is from author of the "Practical TLA+" book, and who is apparently now working at Antithesis.)
231
Reposted by thepudds
Roxy Light @zombiezen.com · 29/07/2026
Wrote a little #golang blog post about a trick for reducing repetition in error-handling: www.zombiezen.com/blog/2026/07...
zombiezen.com
Wrapping Errors with Defer
Using defer with named result parameters to DRY up error handling in Go
151
Reposted by thepudds
Evan Martin @neugierig.org · 22/07/2026
New blog post: Jujutsu tutorial I wrote the tutorial I wish I had. neugierig.org/software/blo...
neugierig.org
Tech Notes: Jujutsu tutorial
I wrote the tutorial I wish I had.
05414
Reposted by thepudds
Kemal Akkoyun @kakkoyun.me · 17/07/2026
Great milestone for us! We had been working on this hard! If you using @golang.org and collect observability signals from your services check it out! Our goal is to add as much as integrations as possible so that you can automagically collect all the signals!
062
thepudds @thepudds.bsky.social · 23/06/2026
TypeScript folks being secret gophers still paying dividends 😅
1180
Reposted by thepudds
Jake Bailey @jakebailey.dev · 15/06/2026
This is a fun one: I just sent go.dev/cl/790740, which elides method wrappers for embedded types at offset zero, common for mixins/inherited data types. Doing this removes 60 _thousand_ method wrappers from tsgo's AST package, dropping the compilation of our main exe from 49s to 28s on my machine.
Benchmark 1: go build -a ./cmd/tsgo
  Time (mean ± σ):     48.992 s ±  0.274 s    [User: 345.152 s, System: 12.545 s]
  Range (min … max):   48.702 s … 49.478 s    10 runs
 
Benchmark 2: ~/work/go/bin/go build -a ./cmd/tsgo
  Time (mean ± σ):     28.323 s ±  0.133 s    [User: 141.277 s, System: 4.853 s]
  Range (min … max):   28.075 s … 28.555 s    10 runs
 
Summary
  ~/work/go/bin/go build -a ./cmd/tsgo ran
    1.73 ± 0.01 times faster than go build -a ./cmd/tsgo
3656
Reposted by thepudds
Daniel Lemire @lemire.bsky.social · 06/06/2026
How much do amd64 microarchitecture levels help in Go? lemire.me/blog/2026/06/06/how-much-…
1125
thepudds @thepudds.bsky.social · 31/05/2026
I have also found exe.dev to be exceedingly pleasant to use (and I’ve reduced my personal GCE spend as a result 😅). Easy out of the box, but also very hackable. The people working on it have been displaying nice taste and judgment.
280
Reposted by thepudds
Josh Baker @tidwall.bsky.social · 28/05/2026
Biscuits: A very fast concurrent hashmap with transactions for Go. It's like sync.Map but can work on multiple keys atomically. 🚀 github.com/tidwall/bisc...
github.com
GitHub - tidwall/biscuits: Fast concurrent hashmap for rapidly changing keys
Fast concurrent hashmap for rapidly changing keys. Contribute to tidwall/biscuits development by creating an account on GitHub.
1143
Reposted by thepudds
Michael Stapelberg 🐧🐹😺 @zekjur.bsky.social · 24/05/2026
New blog post 🥳 How my minimal, memory-safe #golang rsync steers clear of vulnerabilities → michael.stapelberg.ch/posts/2026-0...
michael.stapelberg.ch
How my minimal, memory-safe Go rsync steers clear of vulnerabilities
Back in January 2025, multiple different security researchers published a total of 6 security vulnerabilities in rsync, some of which allow arbitrary code execution and file leaks, so naturally I was ...
0173
thepudds @thepudds.bsky.social · 10/05/2026
This new Go B-tree implementation looks both fast and pleasant! (This is from @tidwall.bsky.social, who has done very nice things in the #golang world like tile38, gjson, prior btree, ...) cc @adonovan.bsky.social 👀
0222
Reposted by thepudds
Predrag Gruevski @predr.ag · 09/05/2026
I'm working on cargo-semver-checks, and I realized that an edge case of one of my edge cases has an edge case that breaks my planned design. That means that so far, I'm having an average Saturday in cargo-semver-checks land 😅
0181
Reposted by thepudds
Josh Baker @tidwall.bsky.social · 09/05/2026
GJSON v1.19 is out. First update in 2 years. Includes the All() and Values() iterator functions. For all you cool kids who like that modern Go stuff. github.com/tidwall/gjson
0123
Reposted by thepudds
Russ Cox @swtch.com · 07/05/2026
The LLM bug hunter comes for us all. Here’s a truly terrible mistake I made seven years ago that somehow went unnoticed by multiple human reviews. Patch your systems! And my apologies. groups.google.com/g/golang-ann...
groups.google.com
[security] Go 1.26.3 and Go 1.25.10 are released
65110
Reposted by thepudds
Daniel Martí @handle.invalid · 04/05/2026
overdue for a gofumpt release, so I took the chance to close a bunch of issues too! #golang
github.com
Release v0.10.0 · mvdan/gofumpt
This release is based on Go 1.26's gofmt, and requires Go 1.25 or later. A new rule is introduced to drop unnecessary parentheses around expressions where the inner expression is unambiguous on its...
0172
Reposted by thepudds
Filippo Valsorda @filippo.abyssdomain.expert · 28/04/2026
A bit over two years after starting to work on it... Go is officially FIPS 140-3 certified 💥 csrc.nist.gov/projects/cry... I am pretty confident Go is now one of the most—if not the most—seamless and complete FIPS 140-3 compliance solutions... with a single env var, out of the box.
928962
Reposted by thepudds
Stefan Judis @stefanjudis.com · 21/04/2026
A new Git version just dropped and it comes with a new experimental `history` command! `reword` can be used to change commit messages and `split` can untangle a single commit into multiple ones. No more interactive rebase. 🎉 github.blog/open-source/...
723634
Reposted by thepudds
Alan Donovan @adonovan.bsky.social · 14/04/2026
Go’s push iterators can be strange at first but they are so much easier to write when the algorithm to visit the elements has nontrivial control flow (recursion or conditionals) such as for a tree; you just call yield. In Java/C++ one must explicitly materialize all state implied by your SP and PC.
162
Reposted by thepudds
Jeremy Morrell @jeremymorrell.dev · 13/04/2026
Stacked PRs in GitHub! I never thought I would see the day 😲 github.github.com/gh-stack/
github.github.com
GitHub Stacked PRs
Break large changes into small, reviewable, stacked pull requests with first-class GitHub support.
2257
Reposted by thepudds
Blain Smith @blainsmith.com · 08/04/2026
Building Go APIs with Huma, sqlc, and Goose blainsmith.com/articles/bui... #GoLang #SQL ##OpenAPI #huma #sqlc #goose #codegen
blainsmith.com
Building Go APIs with Huma, sqlc, and Goose - Blain Smith
031
Reposted by thepudds
Damien Neil @misago.org · 08/04/2026
Holy cheese my untyped composite literal proposal from 2015 just got accepted. #golang github.com/golang/go/is...
github.com
proposal: spec: type inferred composite literals · Issue #12854 · golang/go
Composite literals construct values for structs, arrays, slices, and maps. They consist of a type followed by a brace-bound list of elements. e.g., x := []string{"a", "b", "c"} I propose adding unt...
4314
Reposted by thepudds
Daniel Lemire @lemire.bsky.social · 29/03/2026
A Fast Immutable Map in Go lemire.me/blog/2026/03/29/a-fast-im…
0204
Reposted by thepudds
Anton Zhiyanov @antonz.org · 21/03/2026
Could Go be a better C? I think so! Meet Solod — a strict subset of Go that translates to C, without hidden memory allocations and with source-level interop. antonz.org/solod
antonz.org
Solod: Go can be a better C
A subset of Go that transpiles to regular C, with zero runtime.
0172
Reposted by thepudds
Sameer Vasta @sameervasta.bsky.social · 13/03/2026
This is the best product review I’ve read: samhenri.gold/blog/2026031... It doesn’t matter if you’re interested in the MacBook Neo or not; this is the kind of essay that makes you think about the potential of technology and the joys of exploration.
samhenri.gold
“This Is Not The Computer For You” · Sam Henri Gold
Sam Henri Gold is a product design engineer building playful, useful software.
341826630
Reposted by thepudds
Roger Peppe @rog.bsky.social · 12/03/2026
A great example of how the Google #golang team put thousands of lines of ultra-technical code in service of an incredibly easy-to-use and useful tool. If you ever deprecate code, you really should know about the go:inline directive!
03910
Reposted by thepudds
Alan Donovan @adonovan.bsky.social · 11/03/2026
Find out how the source-level inliner in Go 1.26 can help you with API migrations. go.dev/blog/inliner
go.dev
//go:fix inline and the source-level inliner - The Go Programming Language
How Go 1.26's source-level inliner works, and how it can help you with self-service API migrations.
15513
Reposted by thepudds
Josh Baker @tidwall.bsky.social · 09/03/2026
I've spent the past couple months hand crafting a new B-tree map implementation for Go. It's fast. Faster than Rust's BTreeMap. Faster than the fastest C++ (frozenca/btree). And about 2x faster than my current Go btree (tidwall/btree).
61066
Reposted by thepudds
Daniel Martí @handle.invalid · 09/03/2026
I've just released a new version of the "sh" #golang module, including initial Zsh support in shfmt, as well as many improvements and fixes to the parser and interpreter 🎉
github.com
Release v3.13.0 · mvdan/sh
This release introduces support for Zsh in the parser and formatter, which was tracked in issue #120 alongside the label zsh . While support is not complete, it should be far enough for many u...
0195
Reposted by thepudds
Daniel Martí @handle.invalid · 02/03/2026
Finally! No more "dirty" #golang builds because you have untracked files laying around which don't affect the build at all :)
github.com
proposal: cmd/go: only set vcs.modified=true if changes are relevant to build · Issue #77897 · golang/go
Proposal Details If I run 'go build' in a repo with a random extra file that doesn't matter to the build, the runtime build info in the binary says vcs.modified=true and the main module path has a ...
0163
Reposted by thepudds
GopherCon @gophercon.com · 26/02/2026
Got an idea buzzing in that brilliant gopher brain of yours? 🧠 Don’t keep it in the lab; share it with the #golang community! 🧪 #GopherCon Call for Speakers closes March 4th. Submit your proposal ➡️ sessionize.com/gophercon-20... #RoadToGopherCon
022
thepudds @thepudds.bsky.social · 12/02/2026
Small #golang PSA: Most of the very nice automatic code problem reports in your editor or IDE come from Staticcheck by Dominik Honnef (@honnef.co). gopls is the LSP, and it uses many of the rules from Staticcheck. Suggestion: consider sponsoring Dominik! (Well worth it in my humble opinion😅)
github.com
Sponsor @dominikh on GitHub Sponsors
I'm Dominik and I have dedicated a large part of my life to open source. In particular, I love writing code that helps other programmers do their job.
2162
Reposted by thepudds
dominikh @honnef.co · 12/02/2026
I'm putting the finishing touches on the Staticcheck update for #golang 1.26. You can expect a release by the end of the week.
1294
Reposted by thepudds
Jake Bailey @jakebailey.dev · 11/02/2026
Some pretty awesome improvements in 1.26 for compiling/testing typescript-go. With a clean build/test cache, running the full test suite used to take 3m45s, but now takes just 2m10s.
go version go1.25.7 linux/amd64
[11:09:32.210] [0] $ gotestsum --format-hide-empty-pkg --hide-summary skipped -- ./...
[11:13:16.754] [0] ✔ (done in 3m 44.5s)
✓  internal/vfs/osvfs (7ms)
✓  internal/vfs/cachedvfs (7ms)
✓  internal/tspath (14ms)
✓  internal/tsoptions (37ms)
✓  internal/vfs/vfstest (175ms)
✓  internal/testrunner (18.551s)

DONE 142758 tests, 2805 skipped in 97.329s
Finished test in 3m 45.1s
Completed test in 3m 45.1s
go version go1.26.0 linux/amd64
[11:13:18.483] [0] $ gotestsum --format-hide-empty-pkg --hide-summary skipped -- ./...
[11:15:27.835] [0] ✔ (done in 2m 9.3s)
✓  internal/project/ata (1.064s)
✓  internal/fourslash/tests/manual (1.223s)
✓  internal/project (2.253s)
✓  internal/parser (4.865s)
✓  internal/fourslash/tests/gen (5.858s)
✓  internal/testrunner (21.411s)

DONE 142758 tests, 2805 skipped in 31.448s
Finished test in 2m 10s
Completed test in 2m 10s
2635
Reposted by thepudds
Anton Zhiyanov @antonz.org · 11/02/2026
Go 1.26 is out, and the announcement says: "Over the next few weeks, follow-up blog posts will cover some of the topics in more detail. Check back later." So you can wait a few weeks OR you can read my interactive Go 1.26 tour right away: antonz.org/go-1-26
antonz.org
Go 1.26 interactive tour
New with expressions, type-safe error checking, and faster everything.
15214
Reposted by thepudds
Anton Zhiyanov @antonz.org · 29/01/2026
With Go 1.26, you can easily log to multiple targets (like stdout, a file, or a remote server) using just the standard library. All thanks to slog.MultiHandler, which sends log records to any number of handlers you configure.
0325
Reposted by thepudds
Daniel Martí @handle.invalid · 28/01/2026
@rog.bsky.social this sounds perfect for testing servers locally, especially with synctest 😊 github.com/golang/go/is...
github.com
proposal: testing/nettest: in-memory implementations of net package interfaces · Issue #77362 · golang/go
This is a proposal to add in-memory implementations of net.Listener, net.Conn, and net.PacketConn to the standard library. Motivation The net package defines abstract interfaces describing stream a...
1203
thepudds @thepudds.bsky.social · 22/01/2026
This is a fun writeup of using C to implement #golang interfaces (or maybe Rust traits), complete with editable C you can run via your browser. It pairs nicely with the classic post on the Go interface implementation by @swtch.com from 16 (!) years ago: research.swtch.com/interfaces
140
Reposted by thepudds
Russ Cox @swtch.com · 19/01/2026
“Floating-Point Printing and Parsing Can Be Simple And Fast” The fastest known floating-point printer and parsing algorithms - fixed-width printing, shortest-width printing, and parsing, all in 400 lines of Go. research.swtch.com/fp research.swtch.com/fp-proof
research.swtch.com
research!rsc: Floating-Point Printing and Parsing Can Be Simple And Fast (Floating Point Formatting, Part 3)
17716
thepudds @thepudds.bsky.social · 17/01/2026
Very nice! #golang flight recorder taking off (so to speak)
190
thepudds @thepudds.bsky.social · 16/01/2026
A good way to keep up with the Go project is this starter pack from @mvdan.cc (long-time #golang contributor). Two other good ways to keep up are subscribing to the Go proposal review meeting GitHub issue: go.dev/issue/33502 and the Go compiler & runtime meeting notes issue: go.dev/issue/43930
0143
Reposted by thepudds
Jay Conrod @jayconrod.com · 15/01/2026
New blog post, with a perhaps mildly unpopular opinion: jayconrod.com/posts/133/in...
jayconrod.com
Integration tests are best tests
Itegration tests are the most important kind of tests. You should strive for excellent integration test coverage and invest relatively little time in unit tests. I've believed this since I worked on c...
4317