Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 6,947 posts.
Xfinity Stream on Linux: A Tale of Widevine, ChromeOS, and a patched Glibc
If your household uses Xfinity for cable, you have almost definitely heard of Xfinity Stream at some point. If you haven’t, Xfinity Stream is a service that allows you to access Xfinity’s on-demand TV over the internet. This can be useful if you want to watch something on Xfinity’s on-demand TV but do not want to go…
No, QuestDB is not Faster than ClickHouse
QuestDB created a minor stir in the small but active world of analytics database benchmarking with this blog article: https://questdb.io/blog/2022/05/26/query-benchmark-questdb-versus-clickhouse-timescale. This is the money quote: “QuestDB is an order of magnitude faster than both TimescaleDB and ClickHouse in this…
The HDFS Juggernaut
There's been much focus on MongoDB, Elastic and Redis in terms of data exposure on the Internet due to their general popularity in the developer community. However, in terms of data volume it turns out that HDFS is the real juggernaut. To give you a better idea here's a quick
Keeping Time with Amazon Time Sync Service
Today we’re launching Amazon Time Sync Service, a time synchronization service delivered over Network Time Protocol (NTP) which uses a fleet of redundant satellite-connected and atomic clocks in each region to deliver a highly accurate reference clock. This service is provided at no additional charge and is…
Why is .NET reflection slow?
It’s common knowledge that reflection in .NET is slow, but why is that the case? This post aims to figure that out by looking at what reflection does under-the-hood.
21 years and counting of 'eight fallacies of distributed computing' (2025)
Eight long held and common beliefs about the network have been shown, time after time, to be false. What are they, and what do they mean?
You could have invented futexes
The futex ( f ast u serspace mu tex ) is a Linux kernel feature designed for synchronization primitives (mutexes, condition variables, semaphores, etc.). Like many topics in concurrency, they have a reputation for being tricky (for example, see the paper Futexes Are Tricky ). Despite that, they really are a…
Reproducing the AWS Outage Race Condition with a Model Checker
Welcome to Waqas' blog
Broken packets: IP fragmentation is flawed
As opposed to the public telephone network, the internet has a Packet Switched design. But just how big can these packets be?
You can't contain me: elevation-of-privilege vulnerability in Docker for Windows
I have been continuing my journey of searching for windows breakout vulnerabilities in popular applications and one that I discovered in March I found intere...
Writing a scheduler for Linux in Rust that runs in user-space
Overview I’ve decided to start a series of blog posts to cover some details about scx_rustland , my little Linux scheduler written in Rust ...
Bitcoin mining the hard way: the algorithms, protocols, and bytes
This article explains Bitcoin mining in details, right down to the hex data and network traffic. If you've ever wondered what really happe...
Fun with Shellshock
This is great work. Though I must confess I’m more interested (and far more uneasy) about the other side of the coin — people developing projects like these involving machine learning to find and exploit the vulnerabilities in a fully automated fashion. This is related to, but not quite the same as, attempts at…
Monitoring and Tuning the Linux Networking Stack: Receiving Data
This post guides you through monitoring and tuning the Linux network stack with the focus on receiving data.
An interactive guide to x86-64 assembly – moving data
This is the second part of a series of interactive articles on the x86-64 architecture. This part will focus on the first assembly instructions, visualizing the way data moves in memory when they are executed.
Jails on FreeBSD
We have had Jails on FreeBSD since 4.0 came out 19 years ago in March 2000. This describes how to setup jails on FreeBSD 12 without any helpers.
Let’s stop copying C (2016)
Ah, C. The best lingua franca we have… because we have no other lingua francas. Linguae franca. Surgeons general? C is fairly old — 44 years, now! — and comes from a time when there were possibly more architectures than programming languages. It works well for what it is, and what it is is a relatively simple layer of…
WebGPU computations performance in comparison to WebGL
WebGPU – the successor of WebGL, a brand new API to utilize GPUs in the browser. It is promised to be available in regular Chrome in Q1 2022. In comparison to WebGL, WebGPU promises better performance and better compatibility with modern hardware, but the most recognizable feature of WebGPU is a special API for…
Living Without Atomic Clocks
If someone knows even a little about Spanner, the first question they have is: "How does CockroachDB provide external consistency without atomic clocks?"
Cutting down Rust compile times from 30 to 2 minutes with one thousand crates
How we split Feldera into a thousand crates to use every core rustc can get, cutting compile times from 30 minutes to 2.
Zen5's AVX512 Teardown and More
This article was supposed to be published all at once on July 30'th. But because of the staggered launch delay into August 8 and 15, some sections of this article were redacted until August 14th.