's Avatar

@pgaultier.bsky.social

63 Followers  |  17 Following  |  22 Posts  |  Joined: 20.12.2024  |  1.7167

Latest posts by pgaultier.bsky.social on Bluesky

A subtle bug with Go's errgroup

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

09.08.2025 09:30 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Your article on β€œdefer” was a great read!

06.08.2025 15:50 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Thank you for making C better !
I am really looking forward personally to β€œdefer” being standardized.

06.08.2025 15:50 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Go Assembly Mutation Testing Test coverage of delicate Go cryptographic assembly through a new mutation testing framework.

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.

31.07.2025 17:10 β€” πŸ‘ 39    πŸ” 3    πŸ’¬ 2    πŸ“Œ 1

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

31.07.2025 13:20 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

i hope to become the #1 RSS influencer

10.11.2024 19:27 β€” πŸ‘ 227    πŸ” 9    πŸ’¬ 5    πŸ“Œ 0

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.

28.07.2025 17:31 β€” πŸ‘ 10    πŸ” 1    πŸ’¬ 2    πŸ“Œ 0

Also Node is just a C++ program using libuv so experience with either can help dtracing using usdt probes.
I seem to remember years ago β€œjstack()” in dtrace showed the js call stack, but it seems this does not work anymore (or I did not yet find a way).

25.07.2025 17:06 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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…

25.07.2025 17:04 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
N3657: Functions with Data - Closures in C (A Comprehensive Proposal Overviewing Blocks, Nested Functions, and Lambdas)

... 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...

23.07.2025 22:47 β€” πŸ‘ 26    πŸ” 7    πŸ’¬ 2    πŸ“Œ 0

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.

24.07.2025 10:27 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
An optimization and debugging story with Go and DTrace

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

03.07.2025 09:39 β€” πŸ‘ 32    πŸ” 7    πŸ’¬ 1    πŸ“Œ 1

Interesting read, thank you!
But I kept thinking: if the bulk of the work for the compiler is asynchronous functions, and the expected traffic is small, would it be worth it to try a rust http server that uses a thread-per-process model, meaning no async?

27.06.2025 06:21 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
"Why is the Rust compiler so slow?"

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...

26.06.2025 08:58 β€” πŸ‘ 45    πŸ” 11    πŸ’¬ 4    πŸ“Œ 3
A subtle data race in Go

A subtle data race in Go: gaultier.github.io/blog/a_subtl...

#golang #data-race

11.06.2025 20:11 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
What should your mutexes be named?

What should your mutexes be named?

gaultier.github.io/blog/what_sh...

#programming #golang #structural-search #awk

10.06.2025 06:30 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
An Interview with Zen Chief Architect Mike Clark Zen is one of the most important microarchitectures in the history of the x86 ecosystem.

I recently had the honor of interviewing Zen’s chief architect Mike Clark! I tried to fit in as many microarchitecture questions as I could, including x64 vs ARM ISA power efficiency, 4k vs larger page sizes, 64-byte cache lines, scatter/gather and more:
www.computerenhance.com/p/an-intervi...

24.03.2025 18:51 β€” πŸ‘ 54    πŸ” 8    πŸ’¬ 5    πŸ“Œ 1
Build PIE executables in Go: I got nerd-sniped

New day, new blog article: gaultier.github.io/blog/build-p...
#golang #pie #security

19.03.2025 10:21 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Tip of the day #6: Use Bpftrace to estimate how much memory an in-memory cache will use

New blog article: gaultier.github.io/blog/tip_of_...
#bpftrace #dtrace #golang #c

12.03.2025 13:27 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

How it’s going: due to increasing cloud cost, the new company policy is to have every employee get permission and justify it in writing before creating a new VM in Azure. Even if it’s a temporary, small instance for a few hours.

19.02.2025 21:44 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

How it started: Stop asking for permission! Instead of procuring a machine and getting it weeks later, you get it in seconds, all by yourself! Everyone is in the organisation is empowered!

19.02.2025 21:44 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

[1/2] The cloud, how it started vs how it's going.

(based on a recent discussion with colleagues)


#cloud #datacenter

19.02.2025 21:44 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Making my static blog generator 11 times faster

New day, new blog article!
Making my static blog generator 11 times faster:
gaultier.github.io/blog/making_...
#programming #git #optimization #odin

19.02.2025 21:31 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Making my debug build run 100x faster so that it is finally usable

New week, new blog article:
Making my debug build run 100x faster so that it is finally usable:
gaultier.github.io/blog/making_...

#programming #optimization #simd #c

18.02.2025 08:45 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Addressing CGO pains, one at a time

New blog post: gaultier.github.io/blog/address...
#golang #programming

14.02.2025 12:30 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

True! The match pattern really shines when doing deep destructuring of nested types, that's where it would carry its weight, and not here in this minimal snippet.

11.02.2025 16:45 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Tip of the day #4: Type annotations on Rust match patterns

New blog post: Tip of the day #4: Type annotations on Rust match patterns: gaultier.github.io/blog/tip_of_...

The Rust compiler be like: coffee or tea? Wrong! It's tea.

11.02.2025 16:07 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 3    πŸ“Œ 0
The missing cross-platform OS API for timers

New blog article: gaultier.github.io/blog/the_mis... #programming

03.02.2025 06:09 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Why Gelsinger was wrong for Intel By all accounts, Pat Gelsinger is affable, technically sharp, hard-working, and decent. Those who have worked for him praise him as a singularly good manager. In January 2021, when Gelsinger was abrup...

Why Gelsinger was wrong for Intel
bcantrill.dtrace.org/2024/12/08/w...

09.12.2024 00:15 β€” πŸ‘ 102    πŸ” 23    πŸ’¬ 10    πŸ“Œ 5

@pgaultier is following 16 prominent accounts