How to stop Linux threads cleanly
Stopping a Linux thread is a surprisingly annoying affair. In this post I present common pitfalls and some solutions -- although no truly satisfactory method exists.
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 543 posts.
Stopping a Linux thread is a surprisingly annoying affair. In this post I present common pitfalls and some solutions -- although no truly satisfactory method exists.
Colossus’s performance comes from its stateful protocol, which plays a pivotal role in the new Rapid Storage offering launched at Google Cloud Next '25.
Sometimes compilers can surprise and delight even a jaded old engineer like me
multi silicon ai is coming
Wendelstein 7-X—the leading fusion device of the stellarator type—achieved several new performance milestones during its latest run of experiments. Among them is a world record for triple product, the value that measures how close a fusion device is to generating net energy across the plasma.
XDP only works for ingress. We found a loophole that lets it work for egress. Here's how we did the impossible.
TigerBeetle is an Online Transactional Processing (OLTP) database built for double-entry accounting with a strong emphasis on safety and speed. It builds on the Viewstamped Replication (VR) consensus protocol to offer Strong Serializable consistency. Unlike general-purpose databases, TigerBeetle stores only accounts…
See how we diagnosed and confirmed an AWS Aurora RDS race condition impacting failovers.
Yesterday I read this toot (German) over on mastodon which starts with “IPv6 is hard.” No it’s not. It’s different. I ran across this multiple times: There is an A and an AAAA-record for a FQDN, but the web server is only reachable via IPv4. You can easily test this with curl $ curl -4 https://github.com -o /dev/null…
Some memory corruption bugs are much harder to exploit than others. They can involve race conditions, crash the system, and impose limitations that make a researcher's life difficult. Working with such fragile vulnerabilities demands significant time and effort. CVE-2024-50264 in the Linux kernel is one such hard bug…
I posted about adding pthread_cancel use in curl about three weeks ago, we released this in curl 8.16.0 and it blew up right in our faces. Now, with #18540 we are ripping it out again. What happened? short recap pthreads define “Cancelation points”, a list of POSIX functions where a pthread may be cancelled. In…
A simple strategy of having LLMs write fuzz tests and build up a port in topological order seems effective at automating porting from C to Rust.
If you’re already familiar with SIMD, the table is all you need. And if you’re not, you will understand the table by the end of the…
UPDATED: 2025-02-15: Fixed some bugs in the examples and pointed out that you don't usually just want to panic on memory allocation failure.
What started off as casual scrolling through the KernelCTF submissions quickly spiraled into a weeks-long deep dive into a deceptively simple patch - and my first root shell from a Linux kernel exploit!
Benjamin Spector* , Jordan Juravsky* , Stuart Sul , Owen Dugan , Dylan Lim , Dan Fu , Simran Arora , Chris Ré
Programming languages have rapidly evolved in recent years. But in software development, the new often meets the old, and the scaffolding that OS gives for running new processes hasn’t changed much since Unix.
Neural networks are more useful when placed in a suitable, specialized environment.
a bunch of weird and random technical stuff
Apparently shlx is a “medium latency” (3 cycles) instruction on Alder Lake. My disappointment is immeasurable, and my day is ruined.
The GPU in your computer is about 10 to 100 times more powerful than the CPU, depending on workload. For real-time graphics rendering and machine learning, you are enjoying that power, and doing those workloads on a CPU is not viable. Why aren’t we exploiting that power for other workloads? What prevents a GPU from…
Learn how Linux/FFmpeg C partial codebase is organized to be extensible and act as if it were meant to have “polymorphism”. Specifically, we’re going to briefly explore how Linux …
The bizarre story of how taking flash photos could instantly crash the Raspberry Pi 2, the community detective work that solved it, and why this strange bug revealed fundamental flaws in modern chip design.
Time seems simple. But we engineers lose sleep over something as basic as keeping clocks in sync. Here’s why…
We recently ran across a strange higgs-bugson that manifested itself in a critical system that stores and distributes the firm’s trading activity data, calle...
Disclaimers before we start For those who don’t want to read/don’t care that much, here are the results. I hope after seeing them you are compelled to read. TL;DR: I wrote a super fast phrase search algorithm using AVX-512 and achieved wins up to 1600x the performance of Meilisearch. The source code can be found here…
How Postgres’ v7 UUIDs are made monotonic, and why that’s a great feature.
Distributed coordination makes application complex and brittle. Because all systems eventually build on logs, we can use a shared-log approach to eliminate most coordination. We discuss this conceptually and show how this is practically implemented in the open source project Restate.
Go 1.24 enhances WebAssembly capabilities with function export and reactor mode
Guide to implementing a C standard library for bare metal hardware using Newlib, enabling powerful functions like printf and malloc without relying on an operating system. This step-by-step guide demonstrates how to configure and integrate Newlib on RISC-V architecture, showing you how to redirect standard I/O through…