New
The latest blog posts to take off on Hacker News. 6,947 posts.
There is no 'printf'
In C, 'main' returns an int. What happens when you don't explicitly return a value, though? C99 provides a return value of 0, but C89... well, that's undefined, my favorite kind of behavior.
New HTTP standards for caching on the modern web
If you run any large public-facing website or web application on the modern web, caching your static content in a CDN or other caching service is super...
Optimizations Enabled by -ffast-Math
This blog post describes the optimizations enabled by -ffast-math when compiling C or C++ code with GCC 11 for x86_64 Linux (other languages/operating systems/CPU architectures may enable slightly different optimizations).
32 Bit Real Estate
Apps on Fly.io all get their own routable IPv4 addresses. Here's what that costs us.
How Time Series Databases Work, and Where They Don’t
This blog takes a deep dive into the hows and whys of time series databases—and why Honeycomb couldn't be limited to a TSDB implementation.
How to Safely Think in Systems
While there are a decent number of folks out there modeling systems, there’s a much larger group of folks who think of themselves as systems thinkers but utilize techniques like modeling rather casually (a polite way of saying that they don’t use them). Even with modeling tools available, I’ve often taken the shortcut…
Mezzano on Librebooted ThinkPads
I decided to try running Mezzano on real hardware. I figured my Librebooted ThinkPads would be good targets, since, thanks to Coreboot and the Linux kernel, I have reference source code for all the hardware.
Speed Matters
I think that one of the most important things to focus on improving is how fast you can work.
OpenBSD Webzine Issue #2
Webzine created by volunteers who are passionate about the OpenBSD project development.
FreeBSD Audio
I started using FreeBSD in 2016 as a dual-boot with Linux. The reason was that at the time Linux provided no support for real-time threads and preemptive scheduling but did provide a wider choice of audio applications. Today, as the FreeBSD audio ecosystem improved a lot, I am a happy single-OS user. You may ask…
How does apt render its fancy progress bar?
Python Developer and Trainer
Tiny ELF Files: Revisited in 2021
Quick edit: While I work on a proper update, I'll note here that several posters on reddit and hackernews have pointed out ways to bring the total size of the program down to 105 bytes while still printing the full "Hello, world!" Much credit goes to Josh Triplett , who produced the 105-byte version which you can find…
Getting to the bottom of web map performance
mostly 1990s PC gaming
AWS Lambda Cold Start Times
Let’s compare the performance of all supported runtimes + 2 custom runtimes (Rust and GraalVM).
Effective Concurrency with Algebraic Effects in Multicore OCaml
Algebraic effects and handlers provide a modular abstraction for expressing effectful computation, allowing the programmer to separate the expression of an effectful computation from its implementation. In this post, I will present an extension to OCaml for programming with linear algebraic effects, and demonstrate…
Memcached vs. Redis – More Different Than You Would Expect
Insights from the Kablamo Engineering Team
When can glibc be built with Clang?
Updated in 2026: glibc 2.43 added experimental support for building with Clang. In September 2021, I wrote "So, dear glibc, will you be happy with my sending Clang patches?" in Build glibc with LLD 13. We have come to a turning point. In Linux Plumbers Conference 2021, at the glibc Birds of a Feather session, I asked…
So You Want to Rust the Linux Kernel?
There has been much discussion of using the Rust language in the Linux kernel (for example, here , here , and here ), at the Kangrejos Rust for Linux Workshop ( here , here , and here ) and 2021 Linux Plumbers Conference had a number of sessions on this topic, as did Maintainers Summit . At least…
V7 Unix had no stack size limit, and when Unix acquired one
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
Using load shedding to avoid overload
How Amazon uses load shedding to stay available under overload, rejecting excess work early so the system keeps serving requests it can handle.
SerenityOS: Year 3 in Review
SerenityOS is a from-scratch desktop operating system that combines a Unix-like core with the look&feel of 1990s productivity software. It's written in modern C++ and goes all the way from kernel to web browser. The project aims to build everything in-house instead of relying on third-party libraries.
RenderingNG: An architecture that makes and keeps Chrome fast for the long term
Our continual investments in the performance of Chrome have led to significant improvements in battery life, memory, and the speed of the we...
Asahi Linux for M1 Macs: progress report for September 2021
Porting Linux to Apple Silicon
Tab Unloading in Firefox 93
Firefox will monitor available system memory and, should it become that a crash is imminent, Firefox will respond by unloading memory-heavy.