Green Threads Explained
A short and self contained explanation that will guide you through an implementation of user threads.
The latest blog posts to take off on Hacker News. 4,390 posts.
A short and self contained explanation that will guide you through an implementation of user threads.
Building your own UNIX shell in parts. This post focuses on the semantics of the fork system call.
Introduction post to postmarketOS , a touch-optimized, pre-configured Alpine Linux with own packages, that can be installed on smartphones. (Not usable for most people yet!)
Dirty COW (CVE-2016-5195) is one of the most publicised local privilege escalation vulnerabilities in 2016, courtesy to its catchy name, cute logo, potential damages, and the fact that it was discovered in the wild by a researcher Phil Oester, meaning it was already under active use at the time of discovery.
Several holidays ago, I got a bee in my bonnet and wrote a fast JSON parser whose parsed AST fits in a single contiguous block of memory. The code was small and simple and the performance was generally on-par with RapidJSON, so I stopped and moved on with my life.
If you don’t work in computers, you probably haven’t spent much time thinking about how data gets stored on computers or in the cloud. I’m…
Now that the CoreCLR is open-source we can do fun things, for instance find out if it’s possible to add new IL (Intermediate Language) instruction to the runtime.
Introduction Back in 2014, while at Project Zero, I exploited a buffer overflow of a single NUL byte in glibc . Tavis Ormandy had found th...
Today I put online two diagrams depicting the architecture of the Unix operating system , one for the 1972 First Research Edition and one for FreeBSD, one of its direct descendants. Here are the details on how I created these diagrams.
Our previous installment described the rise of automatic telephone switches, and of the complex relay circuits to control them. Now we shall see how scientists and engineers developed such relay c…
When I was a young coder, just starting out in the big scary world of enterprise software, an older, far more experienced chap gave me a ste...
A well-known scientist (some say it was Bertrand Russell) once gave a public lecture on astronomy. He described how the earth orbits around the sun and how the sun, in turn, orbits around the center of a vast collection of stars called our galaxy. At the end of the lecture, a little old lady at the back of the room…
I've been chipping away at bringing up 802.11ac on FreeBSD. I've been meaning to write this post for a while, but you know, life got in the ...
Last weekend I was playing around with a way to represent null-terminated UTF8 strings in Rust. Rather than just toying with it forever, I decided ...
Personal website of Stefan Heule
Describes the process of building a QNX 7 x86_64 machine from (almost) scratch.
This post is to inform you about a bug in GCC that may cause memory (or other resource) leaks in your valid C++ programs.
Jeff Atwood, perhaps the most widely read programming blogger, has a post that makes a case against using ECC memory . My read is that his major points are:
Mistakes and lessons from a real-world feature performance optimizations: from API usage to advanced data structures, from bit hacks to CPU-friendlier code.
Web performance is something I care deeply about both as a developer whose work affects millions of people around the world, and as a user who often accesses the web on slow & unreliable connections. I have regularly and loudly complained that...
Fully reproducible builds are important because they bridge the gap between auditable open source and convenient binary artifacts. Technologies like TUF and Binary Transparency provide accountability for what binaries are shipped to users, but that’s of limited utility if there is no way (short of reverse engineering)…
Today I landed yet another small change to libcurl internals that further reduces the number of small mallocs we do. This time the generic linked list functions got converted to become malloc-less (the way linked list functions should behave, really). Instrument mallocs I started out my quest a few weeks ago by…