RSS.Social

Philippe Gaultier's blog

follow: @[email protected]

Posts

An amusing blind spot in Go's static analysis

A subtle bug with Go's errgroup

An optimization and debugging story with Go and DTrace

A subtle data race in Go

What should your mutexes be named?

Build PIE executables in Go: I got nerd-sniped

Tip of the day #6: Use Bpftrace to estimate how much memory an in-memory cache will use

Making my static blog generator <del>11</del> 33 times faster

Tip of the day #5: Install Go tools with a specific version

Making my debug build run 100x faster so that it is finally usable

Addressing CGO pains, one at a time

Tip of the day #4: Type annotations on Rust match patterns

The missing cross-platform OS API for timers

Way too many ways to wait on a child process with a timeout

Perhaps Rust needs "defer"

Tip of the day #3: Convert a CSV to a markdown or HTML table

Lessons learned from a successful Rust rewrite

Tip of the day #2: A safer arena allocator

Tip of the day #1: Count lines of Rust code, ignoring tests

A small trick for simple Rust/C++ interop

Odin and musl: Cross-compiling Odin programs for the Raspberry Pi Zero

Let's write a video game from scratch like it's 1987

How to rewrite a C++ codebase successfully

A small trick to improve technical discussions by sharing code

You've just inherited a legacy C++ codebase, now what?

Quick and easy PNG image size reduction

Body of work

This blog now has an Atom feed, and yours should probably too

Solving a problem with Gnuplot, the programming language (not the plotting software!)

Roll your own memory profiling: it's actually not hard

Learn Wayland by writing a GUI from scratch

Optimizing an Advent of Code solution in assembly

Cycle detection in graphs does not have to be hard: A lesser known, simple way with Kahn's algorithm

Learn x86-64 assembly by writing a GUI from scratch

Adventures in CI land, or how to speed up your CI

How to compile LLVM, Clang, LLD, and Ziglang from source on Alpine Linux

Getting started with Scheme by solving an Advent of Code 2018 challenge