The missing cross-platform OS API for timers
A deep dive into the fragmented landscape of OS-level timer APIs across Windows, POSIX, and Unix variants, and the challenges of cross-platform development.
Philippe Gaultier is a software engineer and technical writer specializing in Go and C++. He focuses on debugging, concurrency, DTrace, and identifying subtle bugs and performance issues in complex applications.
45 articles from this blog
A deep dive into the fragmented landscape of OS-level timer APIs across Windows, POSIX, and Unix variants, and the challenges of cross-platform development.
A deep dive into implementing a Unix tool with retry logic and timeouts, exploring multiple system-level approaches for waiting on child processes.
The author argues Rust needs a 'defer' keyword for safe resource cleanup, using a detailed FFI memory management example to illustrate the pain points.
A technical tip showing how to use AWK to convert CSV/TSV data into a human-readable markdown or HTML table for documentation.
A developer shares key insights and practical lessons from a successful, incremental rewrite of a C++ codebase to Rust.
Explores a common bug in C arena allocators and presents safer implementation strategies to prevent out-of-bounds writes.
A technical tip on using AWK to count lines of Rust source code while excluding test modules, focusing on practical command-line solutions.
A technique for simplifying interoperability between Rust and C++ by using standard layout classes and matching Rust structs.
A guide to cross-compiling Odin programs for Raspberry Pi Zero using musl libc, enabling static ARM64 builds from an x86_64 development machine.
A developer recreates Minesweeper from scratch using X11 and C, resulting in a tiny, statically linked executable as a critique of modern bloat.
A guide to successfully rewriting a legacy C++ codebase incrementally, focusing on safety and maintainability, with a case study on introducing Rust.
A developer shares a script for Neovim/Vim to quickly generate and copy web UI links to specific code regions, improving technical discussions.
A practical guide for developers on how to approach, understand, and incrementally improve a newly inherited legacy C++ codebase.
A guide to reducing PNG image file sizes using quantization with the pngquant tool, including command examples and results.
A software engineer's chronological career retrospective, detailing experiences with COBOL, C#, VR, and modern DevOps across various European tech roles.
A technical guide on implementing an Atom feed for a blog, explaining the benefits and providing a simple script-based approach.
Explores using Gnuplot as a Turing-complete programming language to solve a text parsing problem from Advent of Code.
A guide to building a custom memory profiler using the pprof text format, focusing on tracking allocations in C with a custom allocator.
A technical tutorial on building a basic GUI client from scratch using the Wayland protocol in C, without external libraries.
A developer revisits an Advent of Code puzzle, optimizing the solution with a new algorithm and implementing it in x86_64 assembly for performance.