A resizable concurrent map
In an earlier post, I showed how to implement the “world’s simplest lock-free hash table” in C++. It was so simple that you couldn’t even delete entries or …
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 4,390 posts.
In an earlier post, I showed how to implement the “world’s simplest lock-free hash table” in C++. It was so simple that you couldn’t even delete entries or …
Almost every week I accidentally get into this logging argument. Here’s the problem: people tend to log different things and call it a best-practice. And I a...
This article will try to convince you that adding some limitations on legal Unix/Linux/POSIX filenames would be an improvement. Many programs already presume these limitations, the POSIX standard already permits such limitations, and many Unix/Linux filesystems already embed such limitations so it'd be better to make…
Garbage collectors are expected to be invisible: if programmers (or even users) notice them, something is wrong. Usually, such problems are are performance problems, but there could be correctness issues as well. This makes implementing them a bit scary.
Yes, this is a problem of weak static typing of pure C. Pure C is a great tool for some jobs, but here be dragons , as they say.
Whenever I see code that asks what the native byte order is, it's almost certain the code is either wrong or misguided. And if the native b...
I’ve done a lot of tweeting about systemd lately. My internal conscience constantly reminds me of John Allspaw saying that twitter is just pretty much perfect for snarky comments (paraphrase).
Backpressure is something nearly every software engineer will have to deal with at some point, and for some it’s a frequent problem. But…
I have recently published a blog post that, as I had expected (actually, hoped for, as that would attract people to contribute to the “study”), generated quite some polemic on the Internet!
foobartel Ltd. - Web Design & Development
A metaphor involving parking meters. Over the years, parking meters in town have evolved into a cumbersome, awkward system. Coins are heavy and you need to have them handy, meters need to be reinfo…
Fast compact external SSDs are prone to thermal throttling. This is demonstrated during tests writing 96 files, when transfer rates fell from 2 GB/s to around 700 MB/s.
I've recently tasted AMD Zen 5 CPUs (AWS' m8a instances) and... Whooaaa. Even before talking about GPUs and NPUs, the next 5 years of CPUs will be very exciting! For
Today marks the 10-year anniversary of Amazon's Dynamo. Here are some reflections on ten years of NoSQL databases
I'm going to neuralyze the SPI flash and install some Kelvin Timeline firmware that will allow me to boot and install generic ARM Linux images on a ROCK 5 ITX+.
2026 legacy lab summer camp plan
At Twitter, a team had a unusual failure where corrupt data ended up in memcache. The root cause appears to have been a switch that was corrupting packets. Most packets were being dropped and the throughput was much lower than normal, but some were still making it through. The hypothesis is that occasionally the…
Learn what a unikernel is and how it compares to a Linux container. Build and run your first unikernel inside a playground box.
Technical blog by Stephan Berger (@malmoeb)
Reader Paul Kim pointed out an entry on Michael Tsai's blog about making dispatch_once fast . While the comment in the dispatch_once source code is fascinating and informative, it doesn't quite delve into the detail that some would like to see. Since this is one of my favorite hacks, for today's article I'm going to…
How good is the random_page_cost default, and should you lower it on modern flash storage?
A whirlwind tour on acheiving agreement in a distributed system
As is typical here in the Floodgap lab, it all started so innocently: rebuilding a flaky Apple Workgroup Server 9150, the odd duck of the Wo...