A Universal I/O Abstraction for C++ (2020)
This article is the sequel to A Universal Async Abstraction for C++ , in which I talk about the Executor proposal targeting C++23. Quite a bit happened since then.
Topics /
The most popular blog posts about systems & performance on Hacker News. 4,390 posts.
This article is the sequel to A Universal Async Abstraction for C++ , in which I talk about the Executor proposal targeting C++23. Quite a bit happened since then.
In this article I describe the DEFLATE algorithm that GZIP implements and depends on. The DEFLATE algorithm uses a combination of LZ77, Huffman codes and run-length-encoding; this article describes each in detail by walking through an example and developing source code to implement the algorithm. My aim is to…
Aviation insiders say an airworthiness directive may soon require software updates across the Airbus A320 fleet after investigators linked a JetBlue incident—where the aircraft entered a sudden uncommanded descent—to a faulty ELAC computer. Any grounding is expected to be short and staggered, with airlines updating…
Native development on a Chromebook, with Chrome OS in Developer Mode
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…
I started working at IBM last year on mainframe compilers with the goal of making mainframes feel a little more modern. Hence, a lot of my time is spent in z/OS . The interface I use to z/OS is Unix System Services (USS, a.k.a. the command line), but if I were up for bucking the whole moderm thing, I could break out…
Bringing back mid-2000s Video conferencing in Apple iChat
LMAX is a retail financial trading system that can handle that can 6 million orders per second on a single JVM thread. The business logic runs in-memory surrounded by disruptors using event sourcing.
Introduction
The historic go-to solution for network booting is PXE. PXE is based on DHCP and TFTP. It is tricky to correctly configure, even trickier to make it highly available and good luck with the security with this clear-text unsigned protocol.
It's taken me much longer than I hoped, but I finally have a second version of my patches to build static executables tested and ready to go! This set of patches vastly improves upon the first by reducing the amount of compilation needed at the cost of sacrificing a little purity. Additionally I have created a system…
FreeBSD 15 comes with a new bridging implementation which has native support for VLANs. They have also soft-deprecated the ability to have any layer 3 addresses on member interfaces which makes it behave like a real hardware switch. The net.link.bridge.member_ifaddrs sysctl controls this behavior and it will …
The PipeWire project is slowly getting popular as it matures. Its documentation is still relatively sparse but is gradually growing. However, it's always a good idea to have people from outside the project try to grasp and explain it to others in their own words, reiterating ideas, seeing them from their own…
Binary search is a wonderful algorithm: theoretically optimal, fast in practice, and discoverable by school children playing guessing games. Usually we think of binary search as being applied to a sorted array, and we teach it this way.
in which two women are driven into madness by poorly documented cab signaling gear
I have been doing a lot of competitive programming problems on Kattis lately. It is my favourite online judge, and I have been enjoying my climb up the Irish scoreboard in an attempt to regain my former glory of first place. In particular, today I was tackling the problem Pivot.
An new old approach to emulation.
What every SRE should know about GNU/Linux shell related internals: file descriptors, pipes, terminals, user sessions, process groups and daemons # Last updated: Oct 2025 Contents File descriptor and open file description Pipes Process groups, jobs and sessions Terminals and pseudoterminals Despite the era of…
Every 6 months, the RISC-V consortium organizes a two day workshop where various companies and research entities present work that is one way or the other related to RISC-V.
Last weekend I wanted to get some inspiration to write some TLA+ spec and I got my hands back on the paper Time, Clocks, and the Ordering of Events...
Okay, sorry for the clickbait. NixOS is not reproducible according to the Reproducible Builds definition. I keep reading people making this claim repeatedly on orange-site, even LWN.net made a similar claim when writing about Nix and Guix earlier this week.1 Along with their recently launched wiki. So, what is the…
It's time for web servers to handle ten thousand clients simultaneously, don't you think? After all, the web is a big place now.
http://invisible-island.net/ autoconf/ Copyright © 2014–2015,2016 by Thomas E. Dickey
A month ago, danluu wrote about [terminal and shell performance](https://danluu.com/term-latency/). In that post, he measured the latency between a key being pressed and the corresponding character appearing in the terminal. Across terminals, median latencies ranged between 5 and 45 milliseconds, with the 99.9th…
Introduction My first encounter with docker goes back to early 2015. Docker was experimented with to find out whether it could benefit us. At the time it wasn’t possible to run a container [i…
After using the awesome window manager for 10 years, I have switched to i3, another tiling window manager with a different philosophy.