Michael Pratt
@prattmic.com
📤 1537
📥 205
📝 208
Hacking on the Go runtime and gVisor. 🏳️🌈
reposted by
Michael Pratt
Damien Neil
3 days ago
Holy cheese my untyped composite literal proposal from 2015 just got accepted.
#golang
github.com/golang/go/is...
loading . . .
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...
https://github.com/golang/go/issues/12854
4
30
4
reposted by
Michael Pratt
David Buchanan
14 days ago
>benchmark perf improvements >it's slower
4
128
7
reposted by
Michael Pratt
Quim Muntal
16 days ago
Compiler nerd joy: making some
#golang
switch statements ~2.5x faster ⚡
go.dev/cl/756340
loading . . .
Gerrit Code Review
https://go.dev/cl/756340
1
24
2
reposted by
Michael Pratt
Go
18 days ago
“Type Construction and Cycle Detection” by Mark Freeman —
https://go.dev/blog/type-construction-and-cycle-detection
#golang
0
23
9
reposted by
Michael Pratt
Alan Donovan
about 1 month ago
Find out how the source-level inliner in Go 1.26 can help you with API migrations.
go.dev/blog/inliner
loading . . .
//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.
https://go.dev/blog/inliner
1
54
14
reposted by
Michael Pratt
Go
about 1 month ago
“//go:fix inline and the source-level inliner” by Alan Donovan —
https://go.dev/blog/inliner
#golang
0
31
5
reposted by
Michael Pratt
Mayor Zohran Kwame Mamdani
about 1 month ago
Additionally, I want to speak directly to Iranian New Yorkers: you are part of the fabric of this city — you are our neighbors, small business owners, students, artists, workers, and community leaders. You will be safe here.
53
10026
1506
reposted by
Michael Pratt
Go
about 1 month ago
“Allocating on the Stack” by Keith Randall —
https://go.dev/blog/allocation-optimizations
#golang
1
43
7
reposted by
Michael Pratt
jub0bs
about 1 month ago
🚀 "spec: generic methods for Go" has been accepted! You will soon (1.27?) be able to declare (on concrete types only) methods that introduce type parameters, i.e. type parameters other than the ones (if any) that come from the method's receiver.
github.com/golang/go/is...
#golang
loading . . .
spec: generic methods for Go · Issue #77273 · golang/go
Proposal: Generic Methods for Go A change of view. Background For clarity, in the following we use the term concrete method (or just method when the context is clear) to describe a non-interface me...
https://github.com/golang/go/issues/77273#issuecomment-3962618141
3
11
3
My phone is now hot but the best part is I’m not sure if that is from the CPU emulator or from GitHub trying to render the 14k source file when I went to see how this works.
add a skeleton here at some point
about 2 months ago
2
10
0
reposted by
Michael Pratt
Filippo Valsorda
about 2 months ago
Dependabot security alerts have terrible signal-to-noise ratio, especially for Go vulns. That hurts security! Just turn it off and set up a pair of scheduled GitHub Actions, one running govulncheck and the other running CI with the latest version of your deps. Less work, less risk, better results!
loading . . .
Turn Dependabot Off
I recommend turning Dependabot off and replacing it with a pair of scheduled GitHub Actions, one running govulncheck, and the other running CI against the latest version of your dependencies.
https://words.filippo.io/dependabot/
4
91
21
reposted by
Michael Pratt
Go
about 2 months ago
“Using go fix to modernize Go code” by Alan Donovan —
https://go.dev/blog/gofix
#golang
0
61
27
reposted by
Michael Pratt
Anton Zhiyanov
about 2 months ago
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
loading . . .
Go 1.26 interactive tour
New with expressions, type-safe error checking, and faster everything.
https://antonz.org/go-1-26
1
52
14
reposted by
Michael Pratt
Jake Bailey
about 2 months ago
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.
add a skeleton here at some point
2
63
5
reposted by
Michael Pratt
Go
2 months ago
“Go 1.26 is released” by Carlos Amedee, on behalf of the Go team —
https://go.dev/blog/go1.26
#golang
1
62
17
🍵
add a skeleton here at some point
2 months ago
0
23
1
reposted by
Michael Pratt
Jujutsu VCS
2 months ago
$ jj describe -m "Hello, world!"
6
209
48
ICE out of my compiler
2 months ago
0
6
0
reposted by
Michael Pratt
Daniel Martí
3 months ago
Interesting expansion of generics in
#golang
👀
loading . . .
Proposal: Generic Methods for Go · Issue #77273 · golang/go
Proposal: Generic Methods for Go A change of view. Background For clarity, in the following we use the term concrete method (or just method when the context is clear) to describe a non-interface me...
https://github.com/golang/go/issues/77273
3
37
8
reposted by
Michael Pratt
Jay Conrod
3 months ago
New blog post, with a perhaps mildly unpopular opinion:
jayconrod.com/posts/133/in...
loading . . .
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...
https://jayconrod.com/posts/133/integration-tests-are-best-tests
4
29
8
reposted by
Michael Pratt
Eduardo Vela
3 months ago
We are hiring! CPU security and stuff
www.google.com/about/career...
0
2
2
reposted by
Michael Pratt
Jake Bailey
3 months ago
My GopherCon talk was just posted!
loading . . .
GopherCon 2025: Porting the TypeScript Compiler to Go for a 10x Speedup V2 - Jake Bailey
YouTube video by Gopher Academy
https://youtu.be/PZm_YbE3fcA
2
79
21
reposted by
Michael Pratt
Filippo Valsorda
3 months ago
PSA: go.sum is not a lockfile. You never need to look at go.sum. go.mod has everything you need.
loading . . .
go.sum Is Not a Lockfile
In Go, go.mod acts as both manifest and lockfile. There is never a reason to look at go.sum.
https://words.filippo.io/gosum/
5
135
26
reposted by
Michael Pratt
Anton Zhiyanov
3 months ago
Go 1.26 is coming soon, and the official release notes are pretty dry. So I prepared an interactive version with lots of examples. Read on and see!
antonz.org/go-1-26
loading . . .
Go 1.26 interactive tour
New with expressions, type-safe error checking, and faster everything.
https://antonz.org/go-1-26
1
35
11
reposted by
Michael Pratt
Alan Donovan
3 months ago
The folks behind GopherCon 2025 have kindly shared video recordings of our talks; here's mine on modernizer tools for Go. Special thanks to the amazing Stacy Potenza for turning my rapid limey nerd mumbling into comprehensible closed captions.
www.youtube.com/watch?v=_VeP...
loading . . .
GopherCon 2025: Analysis and Transformation Tools for Go Codebase Modernization - Alan Donovan
YouTube video by Gopher Academy
https://www.youtube.com/watch?v=_VePjjjV9JU
1
12
3
reposted by
Michael Pratt
Jeff Dean
4 months ago
My colleague Sanjay Ghemawat & I have done a fair bit of performance tuning of various pieces of code. We wrote an internal Performance Hints document ~2 years ago as a way of identifying some general principles & we've recently published a version of it externally. Doc:
abseil.io/fast/hints.h...
2
130
25
reposted by
Michael Pratt
Go
4 months ago
🎊 Go 1.26 Release Candidate 1 is released! 🏃♀️ Run it in dev! Run it in prod! File bugs!
https://go.dev/issue/new
🗣 Announcement:
https://groups.google.com/g/golang-announce/c/i0ei8EKtYjc/m/h0jl7InPCwAJ
⬇️ Download:
https://go.dev/dl/#go1.26rc1
#golang
0
82
18
reposted by
Michael Pratt
Alan Donovan
4 months ago
What's new in gopls 21:
go.dev/gopls/releas...
Please try it out: $ go install
golang.org/x/tools/gopls@latest
loading . . .
Gopls release v0.21.0 (expected Dec 2025) - The Go Programming Language
https://go.dev/gopls/release/v0.21.0
0
15
6
reposted by
Michael Pratt
Anton Zhiyanov
4 months ago
Gist of Go: Concurrency is out! Learn Go concurrency from the ground up with 50 auto-tested exercises and tons of interactive examples. It's a full course + book in one.
antonz.org/go-concurrency
1
13
4
reposted by
Michael Pratt
Steve Klabnik
4 months ago
"why i think
#jj-vcs
is worth your time"
schpet.com/note/why-i-t...
loading . . .
why i think jj-vcs is worth your time
https://schpet.com/note/why-i-think-jj-vcs-is-worth-your-time
1
47
12
reposted by
Michael Pratt
Anton Zhiyanov
4 months ago
The new chapter of my Go Concurrency book covers the scheduler and its implementation details. It's not meant to be a deep dive. But it's short, easy to understand, and will teach you more about goroutine scheduling than many other developers know.
antonz.org/go-concurren...
loading . . .
Gist of Go: Concurrency internals
CPU cores, threads, goroutines, and the scheduler.
https://antonz.org/go-concurrency/internals
0
11
1
reposted by
Michael Pratt
🎱 Josh Branchaud ✨
4 months ago
I documented the steps and missteps I took with jj (jujutsu) getting a repo set up from scratch, initial commits made, and pushed to github. This is the intro workflow I needed, but couldn't find.
www.visualmode.dev/from-zero-to...
loading . . .
From Zero to GitHub: Starting A New jj (Jujutsu) Repo
I document the steps and missteps that I take setting up a new jujutsu repo and pushing it to GitHub
https://www.visualmode.dev/from-zero-to-github-starting-a-new-jj-jujutsu-repo
0
40
7
reposted by
Michael Pratt
Anton Zhiyanov
5 months ago
Accepted! Go 1.26 will introduce per-state goroutine metrics: running, waiting, in syscalls, etc. Developers can use them to catch problems early without needing full traces.
antonz.org/accepted/gor...
loading . . .
Go proposal: Goroutine metrics
Export goroutine-related metrics from the Go runtime.
https://antonz.org/accepted/goroutine-metrics
1
22
5
reposted by
Michael Pratt
Dave Keating
5 months ago
BREAKING: This is huge news, the EU's equivalent of the 🇺🇸Supreme Court's 2015 Obergefell v. Hodges ruling. 🇪🇺Court of Justice just ruled all 🇪🇺countries must recognise same-sex marriages granted in other member states. This effectively legalises gay marriage across 🇪🇺
loading . . .
https://www.reuters.com/world/europe/eu-court-says-same-sex-marriage-should-be-recognised-throughout-bloc-2025-11-25/
103
12849
4159
reposted by
Michael Pratt
Anton Zhiyanov
5 months ago
synctest — the package introduced in Go 1.25 to make concurrency testing easier — looks deceptively simple. But don't let its innocent appearance fool you. To really understand synctest, check out the new chapter of my interactive Go Concurrency book.
antonz.org/go-concurren...
loading . . .
Gist of Go: Concurrency testing
Checking concurrent operations and time-sensitive code.
https://antonz.org/go-concurrency/testing
0
5
2
reposted by
Michael Pratt
Nick Ripley
5 months ago
Small contribution just before the Go 1.26 freeze:
go.dev/cl/610815
removes the hard-coded 100ms sleep from the CPU profiler for most platforms. This will make it more efficient and unblock deeper call stacks. As a bonus, uncovered and fixed an 8 year old bug in the profiler
go.dev/cl/722940
:)
0
35
4
reposted by
Michael Pratt
Michael Knyszek
5 months ago
My talk from GopherCon 2025 about Green Tea is up on YouTube!
www.youtube.com/watch?v=gPJk...
loading . . .
GopherCon 2025 - Advancing Go Garbage Collection with Green Tea - Michael Knyszek
YouTube video by Gopher Academy
https://www.youtube.com/watch?v=gPJkM95KpKo
1
34
11
reposted by
Michael Pratt
Bryan Boreham
5 months ago
#GopherCon
2025 - the first videos are up!
@michael.express
gives a great overview of how the Go garbage-collector works, and the changes in the the new design.
www.youtube.com/watch?v=gPJk...
loading . . .
GopherCon 2025 - Advancing Go Garbage Collection with Green Tea - Michael Knyszek
YouTube video by Gopher Academy
https://www.youtube.com/watch?v=gPJkM95KpKo
0
11
1
reposted by
Michael Pratt
Go
5 months ago
“Go’s Sweet 16” by Austin Clements, for the Go team —
https://go.dev/blog/16years
#golang
1
43
21
reposted by
Michael Pratt
André Arko
5 months ago
"By doing things voters wanted, he set unrealistic expectations. Soon, voters will expect ALL politicians to represent their interests. Then where will we be?”
www.mcsweeneys.net/articles/yea...
loading . . .
Yeah, He Won, but He Was Up Against a Deeply Flawed Candidate
“I’m skeptical. The odds are that Mamdani’s victory is actually less significant than you think.” — Ross Douthat, New York Times - - -I was as surp...
https://www.mcsweeneys.net/articles/yeah-he-won-but-he-was-up-against-a-deeply-flawed-candidate
0
41
9
reposted by
Michael Pratt
Zohran Kwame Mamdani
5 months ago
loading . . .
3153
86576
20589
reposted by
Michael Pratt
Andrew Ayer
5 months ago
New blog post: I'm Independently Verifying Go's Reproducible Builds:
www.agwa.name/blog/post/ve...
loading . . .
I'm Independently Verifying Go's Reproducible Builds
Introducing Source Spotter, a Go Checksum Database auditor and Go toolchain reproducer
https://www.agwa.name/blog/post/verifying_go_reproducible_builds
1
29
7
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.
add a skeleton here at some point
5 months ago
1
27
6
reposted by
Michael Pratt
Filippo Valsorda
6 months ago
Extremely happy to see Source Spotter, a Go Checksum Database monitor and Go toolchain reproducer by
@agwa.name
. These use the transparency logs we built into the Go supply chain to keep the Google-operated services honest.
loading . . .
Source Spotter - Supply Chain Security for Go
Source Spotter is a sumdb auditor, module monitor, toolchain reproducer, and telemetry config tracker.
https://sourcespotter.com
2
46
6
reposted by
Michael Pratt
Daniel Lemire
6 months ago
Flame Graphs in Go
https://lemire.me/blog/2025/10/26/flame-graphs-in-go/
0
13
2
reposted by
Michael Pratt
Filippo Valsorda
6 months ago
I got frustrated with how GitHub Actions lets workflows with read-only permissions poison the cache of read/write workflows (!!??!?), so yesterday night I put together an Action that runs commands in a gVisor sandbox.
loading . . .
GitHub - geomys/sandboxed-step: A GitHub Action that runs a command in a gVisor sandbox
A GitHub Action that runs a command in a gVisor sandbox - geomys/sandboxed-step
https://github.com/geomys/sandboxed-step
2
51
10
reposted by
Michael Pratt
Filippo Valsorda
6 months ago
As professional maintainers we can invest in making our projects safer and more reliable. To that end, here's a draft of the Geomys Standard of Care. It covers general maintenance, stability & reliability, dependency management, account and CI security, vulnerability handling, licensing, and more.
loading . . .
The Geomys Standard of Care
Introducing the set of standards that Geomys maintainers strive to uphold in our professional activity as open source maintainers.
https://words.filippo.io/standard-of-care/
1
25
4
Today's bug of the day has it all: ultimately caused by missing zero-initialization, bug in libc (-ish, arguably), copious use of setjmp/longjmp. I love C.
github.com/ericphanson/...
loading . . .
(Apple Silicon): crashes with Getting signal 16 received but handler not on signal stack · Issue #11 · ericphanson/LicenseCheck.jl
MWE: tmp/yu julia --project=. _ _ _ _(_)_ | Documentation: https://docs.julialang.org (_) | (_) (_) | _ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help. | | | | | | |/ _` | | | | |_| | | | (_| ...
https://github.com/ericphanson/LicenseCheck.jl/issues/11#issuecomment-3417032165
6 months ago
3
18
1
reposted by
Michael Pratt
Filippo Valsorda
6 months ago
To implement robust mitigations across Geomys, I did a survey of open source project compromises in 2024/2025. Three root causes dominate: phishing, control handoff, and unsafe GitHub Actions triggers. All three can be systematically avoided.
words.filippo.io/compromise-s...
loading . . .
A Retrospective Survey of 2024/2025 Open Source Supply Chain Compromises
Project compromises have common root causes we can mitigate: phishing, control handoff, and unsafe GitHub Actions triggers.
https://words.filippo.io/compromise-survey/
4
63
23
reposted by
Michael Pratt
Go
6 months ago
🥳 Go 1.25.2 and 1.24.8 are released! 📢 Announcement:
https://groups.google.com/g/golang-announce/c/4Emdl2iQ_bI/m/qZN5nc-mBgAJ
📦 Download:
https://go.dev/dl/#go1.25.2
#golang
0
49
19
Load more
feeds!
log in