pgaultier.bsky.social
@pgaultier.bsky.social
The production bug that made me care about undefined behavior. New blog article fresh out of the oven.
gaultier.github.io/blog/the_pro...
#cpp #bug
The production bug that made me care about undefined behavior
gaultier.github.io
December 27, 2025 at 6:28 PM
New blog article!
Detecting goroutine leaks with DTrace: gaultier.github.io/blog/detecti...

#golang #dtrace
Detecting goroutine leaks with DTrace
gaultier.github.io
December 22, 2025 at 6:38 PM
Rant: if you are designing a programming language from the ground up and the only solution you have for data races is “use the runtime race detector”, then you have not spent enough time in the trenches suffering from data corruption and rare, incoherent errors due to data races.
December 16, 2025 at 10:26 AM
Reposted
New post: a defense of lock poisoning in Rust.

Followup to recent discussion: decided to write about lock poisoning, looking at the arguments on each side, and informed by our experience at @oxide.computer dealing with the parallel problem of unexpected async cancellations

Please give it a read!
In defense of lock poisoning in Rust · sunshowers
It's worth retaining one of multithreaded Rust's most valuable features.
sunshowers.io
December 2, 2025 at 7:37 PM
Tracking and fixing many Go data races lately, I am getting a new found understanding and empathy for all these Mozilla developers who jumped on Rust the moment it was halfway usable.
Like a lost, thirsty traveler in the desert seeing an oasis from afar.
#golang #rust
November 27, 2025 at 5:47 PM
A million ways to die from a data race in Go. New blog post. Well it’s not quite a million, but still.

gaultier.github.io/blog/a_milli...
#golang
A million ways to die from a data race in Go
gaultier.github.io
November 21, 2025 at 7:13 PM
After many years of writing Go professionally and tracking very varied data races, I am slowly becoming convinced that if you care about data races, you should not use goroutines. At all.

#golang
November 20, 2025 at 3:45 PM
“Hell is other people”.

Sartres clearly did not have to support 4 different SQL databases in the same codebase at scale.

Lucky bastard.
October 16, 2025 at 4:11 PM
More DTrace, more Go, more blog articles!
gaultier.github.io/blog/how_to_...
#dtrace #golang #bug
How to reproduce and fix an I/O data race with DTrace
gaultier.github.io
October 2, 2025 at 8:25 AM
And another blog article, once again about Go and DTrace:

gaultier.github.io/blog/go_dtra...
#dtrace #golang
See all network traffic in a Go program, even when encrypted and compressed
gaultier.github.io
September 26, 2025 at 9:29 AM
I just wrote another Go + DTrace blog article!
This time: Are my SQL files read at build time or run time?
gaultier.github.io/blog/are_my_...

#golang #dtrace
Are my SQL files read at build time or run time?
gaultier.github.io
September 17, 2025 at 10:24 AM
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
September 11, 2025 at 11:53 AM
An amusing blind spot in Go's static analysis
gaultier.github.io
August 22, 2025 at 9:25 AM
The good thing about spending your Friday afternoon pulling your hair troubleshooting a bug, is that it makes for a nice blog article afterwards…

gaultier.github.io/blog/subtle_...

#bug #golang
A subtle bug with Go's errgroup
gaultier.github.io
August 9, 2025 at 9:30 AM
Reposted
I joined the Go team just after exploiting a carry bug in a Go assembly core, and I've been looking for ways to prevent the next one ever since.

This year's attempt is very promising: mutation testing swapping e.g. ADC → ADD, CMOV → MOV, etc. to provide test coverage for constant time assembly.
Go Assembly Mutation Testing
Test coverage of delicate Go cryptographic assembly through a new mutation testing framework.
words.filippo.io
July 31, 2025 at 5:10 PM
Me: wow, my new work got me the new M4 MacBook Pro with 48 GB of RAM, every build is going to be instant!

npm run build: Worker terminated due to reaching memory limit: JS heap out of memory.

Tim Apple giveth, JavaScript taketh away
July 31, 2025 at 1:20 PM
Reposted
i hope to become the #1 RSS influencer
November 10, 2024 at 7:27 PM
Reposted
Modern webdev is so much. I'm installing so many packages and gems and I'm completely unsure of what is doing how and where.

One day I'll have to get used to this stuff. It's very different from Systems Engineering.
July 28, 2025 at 5:31 PM
Today I wanted to dtrace a nodejs application at work but then I discovered that nodejs removed dtrace support some time ago (static probes). Bummer.
Still can do a lot just dtrace-ing system calls… but still, unfortunate.

Reminds me of the talk “platform as a reflection of values…
July 25, 2025 at 5:04 PM
Reposted
... Well. I got a paper number, despite thinking I'd just hold onto it. No wording but I think it's about as complete as it can be.

thephd.dev/_vendor/futu...
N3657: Functions with Data - Closures in C (A Comprehensive Proposal Overviewing Blocks, Nested Functions, and Lambdas)
thephd.dev
July 23, 2025 at 10:47 PM
Me, after 10 years of coercing various crazy C & C++ build systems and mixed language codebases to work everywhere even on old unsupported BSDs: Unlimited power! I can do anything !

Me after 2 weeks of having to work with npm and the JavaScript world: I’m in danger.
July 24, 2025 at 10:27 AM
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
July 3, 2025 at 9:39 AM
Reposted
Spent the last ~month trying to figure out why compiling my website took so long. Decided to turn it into a blog post :)

sharnoff.io/blog/why-rus...
"Why is the Rust compiler so slow?"
sharnoff.io
June 26, 2025 at 8:58 AM
A subtle data race in Go
gaultier.github.io
June 11, 2025 at 8:12 PM
What should your mutexes be named?
gaultier.github.io
June 10, 2025 at 6:30 AM