Anyway, read Russ Cox's take on AI tool use in the Go project. groups.google.com/g/golang-dev...
What should we do with CLs generated by AI?
groups.google.com
Anyway, read Russ Cox's take on AI tool use in the Go project. groups.google.com/g/golang-dev...
What should we do with CLs generated by AI?
groups.google.com
Related #golang PSA: Gophers often mistakenly put a -u in 'go get -u foo', when they would have been better off with just 'go get foo'. 'go get foo' says to upgrade foo itself. It's shorthand for 'go get foo@upgrade' 'go get -u foo' says to *also* upgrade all the direct and indirect deps of foo.
PSA: go.sum is not a lockfile. You never need to look at go.sum. go.mod has everything you need.
Used some of my time off to finish a blog post that's been in my backlog for a while: two neat concurrency patterns from the standard library which avoid goroutine leaks by design: nsrip.com/posts/gorout...
Two concurrency patterns which avoid goroutine leaks
nsrip.com
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 :)
“The Green Tea Garbage Collector” by Michael Knyszek and Austin Clements — https://go.dev/blog/greenteagc #golang
blog.cloudflare.com/how-we-found... Fun post! Reminded me of a similar bug I wrote about in nsrip.com/posts/oneins...
How we found a bug in Go's arm64 compiler
84 million requests a second means even rare bugs appear often. We'll reveal how we discovered a race condition in the Go arm64 compiler and got it fixed.
blog.cloudflare.com
Go, SQL, and DTrace: a marriage made in heaven? New blog post! gaultier.github.io/blog/observe... #golang #dtrace #sql
Observe live SQL queries in Go with DTrace
gaultier.github.io
Ever wondered if it’s possible to use DTrace on a Go program? Turns out it’s super easy, barely an inconvenience! gaultier.github.io/blog/an_opti... #golang #dtrace #optimization #debugging
An optimization and debugging story with Go and DTrace
gaultier.github.io
Thanks @commaok.xyz for hosting @michael.express and I to talk about a fun bug in Go’s new Green Tea GC and the tools we used to investigate. sigpod.dev/6
Significant Bits | Read/Write/Nil with Michael Knyszek and Michael Pratt
Please read important erratum at end of these notes!Astute listeners will notice that this is the first episode in over a year. I recorded not one but two awesome interviews...and then failed to ed...
sigpod.dev
A few ways to build Go programs with a modified compiler/runtime/standard library: nsrip.com/posts/patchr... Overlays in particular are pretty cool IMO
How to patch the Go toolchain
nsrip.com
Didn't end up using this, but I thought I might need a quick way for somebody to check if one of their Go dependencies calls a specific function. This one-liner does it: go list -deps -f '{{$dir := .Dir}}{{range .GoFiles}}{{$dir}}/{{.}} {{end}}' | xargs rg foo.Bar
Got a trial Financial Times subscription, and I was reading an article when I noticed my browser was crawling, using like 160% CPU. Ran out the (awesome) Firefox profiler, turns out the page is doing hundreds of HTTP requests per second to update this little chart... yikes!
New blog post! Debug Go core dumps with delve: export byte slices Not all bugs can easily be reproduced. Sometimes, all you have is a core dump. I had trouble figuring out how to save byte slice contents from memory into a file for further analysis with delve… michael.stapelberg.ch/posts/2024-1...
Nick Ripley of @datadoghq.bsky.social wrote up something recently on our collaboration to squish bugs surfaced by frame pointer unwinding code in the Go runtime: nsrip.com/posts/clobbe...
Don't clobber the frame pointer
nsrip.com