Konrad Reiche reposted
Konrad Reiche
Konrad Reiche
@konradreiche.com
Writing ⌯Go at Reddit konradreiche.com
187 followers122 following208 posts
Konrad Reiche reposted
Konrad Reiche reposted
Go spins in both of its mutexes, but there's no sync.SpinMutex. Why? My GopherCon Africa talk, now a 4-part series: alexrios.me/blog/go-spin...
Konrad Reiche reposted
Last year you told us what to fix. This year we shipped a new go fix. Coincidence? Not entirely. The 2026 Go Developer Survey is open through Nov 3 -- tell us what’s next: blink.qualtrics.com/jfe/form/SV_...
Konrad Reiche reposted
No more leap seconds, ever! There isn’t one in December and they will be abolished in May. The last one will forever be the 2016(?!) one. Didn’t realize having experienced leap seconds in prod dates me. I’m not going to miss time going backwards, I’ll be honest. www.bipm.org/en/cgpm-2026...
Konrad Reiche reposted
I don't use panic much, so I didn't notice that you can pass any value to it and get that value back via recover. See for example in the Go standard library go.dev/src/go/parse... That doesn't mean I'd recommend making extensive use of it 😉
Konrad Reiche reposted
Konrad Reiche reposted
Code review to find bugs should disappear. Let it validate decisions, e.g. does the chosen implementation add painful complexity? Code review gets a bad reputation when draft work is submitted restating the code. Reviews shine with why the code is needed and why the specific approach was chosen.
Rachel's Ramblings: Maybe We Shouldn't Be Reviewing All This Code: Or, perhaps the problem isn't that AI has broken code review, maybe it’s that we've been using code review to solve the wrong problems martinfowler.com/rachels-ramb...
Konrad Reiche reposted
Write about how software engineering is changing inside your company / team / project. Don’t use AI. Win $10K and get published in The Pragmatic Engineer. You have a month: submit by 4 October. Details: blog.pragmaticengineer.com/how-software...
Excellent point from @eltonminetto.dev in his closing keynote at GopherCon Latam. The tooling we build to help humans also gives agents what they need, a fast feedback loop. Compile, test, lint, benchmark, repeat. We should automate, step by step, the same process a human would follow.
Konrad Reiche reposted
Great talk from @alexrios.me on spin locks in Go at GopherCon Latam. They can outperform sync.Mutex, but only under a narrow set of conditions: a critical section under 100 ns, proven contention, multi-core deployment, and why Go generally favors safety, portability, and fairness over exposing them.
Konrad Reiche reposted
Congrats to Go co-creator Rob Pike on receiving the 2026 USENIX Lifetime Achievement Award (The Flame)! 🔥 Rob’s impact spans Go, UTF-8, Plan 9, & Unix programming classics. 📺 Watch acceptance speech: youtu.be/wSXATB0H1DY 📖 USENIX citation: www.usenix.org/about/awards...
Konrad Reiche reposted
Profile-guided optimization in Go https://lemire.me/blog/2026/08/09/profile-guided-optimization-in-go/
Konrad Reiche reposted
A great take. Why should we care? Why are we here? Many will think AI does a better job at this, but chances are you haven't told it why.
I don’t care whether an agent wrote your code. But please please please write the readme yourself. At least the first part—the “what does it do and why do I care” part.
Konrad Reiche reposted
Another great post by @rednafi.com for go lang devs. This time all about modernizers and `go fix` CLI tool. "Modernizers & go fix" rednafi.com/go/gofix/ #golang
Konrad Reiche reposted
Replying to @vladimir.varank.in
Sorry for the delay, here is the link. docs.google.com/presentation...
Konrad Reiche reposted
Konrad Reiche reposted
used this for the first time today and it rocks. incredibly powerful go.dev/blog/synctest
Enjoyed my post being discussed on Hacker News. Consensus on the principle, then turned into a fight over whether Go's type system should have optional types. Also an opinion that null dereferences are rare and that complex type systems freeze semantics too early news.ycombinator.com/item?id=4858...
Most nil checks I see in Go aren't defensive programming. They're a sign that the code lost track of what can and cannot be nil. A nil check is good when it enforces a real boundary. It's suspicious when it silently handles a state your program claims is impossible konradreiche.com/blog/excessi...
Konrad Reiche reposted
Konrad Reiche reposted
Konrad Reiche reposted
i wrote a post about the growing divide between AI skeptics and AI enthusiasts. wins and costs are both real, but too often fall on different groups of people. when you're only experiencing half the story, it's too easy to write each other off. charitydotwtf.substack.com/p/ai-enthusi...
Sway 1.12 is out, and we're getting showered in features: HDR10 output, individual window capture, a friendlier approach to NVIDIA GPUs, and new Wayland protocol support tying together color management, workspaces, and more github.com/swaywm/sway/...
Konrad Reiche reposted
I just published a proposal for a new RSS profile type for Go. It aims to solve the issue that the heap profile typically shows < 50% of process RSS, which is very confusing. It should also help to quickly identify when memory usage is dominated by cgo. github.com/golang/go/is...
Konrad Reiche reposted
Replying to @konradreiche.com
It's only a discussion right now but opaque + sum types = efficient oneofs github.com/golang/go/is...
Konrad Reiche reposted
What's new in gopls 22: go.dev/gopls/release/v0.22.0 Please try it out: $ go install golang.org/x/tools/gopls@latest
Ideally, middleware execution order shouldn't matter, but consider caching, error wrapping, and concurrency limiting. go-redis changed: 2020 FIFO to LIFO: github.com/redis/go-red... 2023 LIFO to FIFO: github.com/redis/go-red... The lesson: in lack of order-invariance, have a test to check for it.