Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 4,390 posts.
Web App Speed
When Apple originally released the iPhone SDK in 2008, I was extremely excited about it, and immediately started working on multiple different iPhone apps. By 2009, though, I had become so uncomfortable with Apple’s stewardship of its mobile platform that I released the one game that was furthest along, and…
I found an 8 years old bug in Xorg
Let me set the right expectations first. This bug I found is actually not that complicated, it's very straightforward once you see what's going on. But I still think the process it took me to uncover this bug could be interesting. It's also kind of interesting that a simple bug stayed undiscovered for so long. I will…
Systems Programmers Relax - Most Programming Advice Isn't For You
I'm an incredibly slow programmer (in the hobby projects I do for the love of it, that is). My ratio of thinking to typing must be around 10...
How Does NTP (Network Time Protocol) Work?
The Network Time Protocol (NTP) is a system for synchronizing the clocks of hosts and clients across the Internet. NTP is a protocol intended to synchronize all computers participating in the network to within a few milliseconds of Coordinated Universal Time (UTC). The core of the protocol is NTP’s clock discipline…
Realtime Data Processing at Facebook
Recently there has been a lot of development in realtime data processing systems, including Twitter's Storm and Heron, Google's Millwheel, a...
The tyranny of the Hollerith punched card
Wherein the author discusses (another) accident of history.
OS X 10.9.3 Is Toxic
OS X 10.9.3 Recurring Panics
Can you trust a compiler to optimize your code?
More or less the title this time, but first, a story about SIMD. There are three levels of understanding how SIMD works (well, at least I am level 3 at the moment):
Microsoft’s failed attempt on Debian packaging
You are seeing this because the administrator of this website has set up Anubis to protect the server against the scourge of AI companies aggressively scraping websites. This can and does cause downtime for the websites, which makes their resources inaccessible for everyone.
The beauty and terror of modding Windows
Let's talk about the "Windows Baseline Security Mode," too.
RISC-V Stumbling Blocks
Recently, I’ve started to explore RISC-V. I experienced the journey as pretty refreshing, particularly because I’ve been working on x86 low-level software almost exclusively for about 10 years.
Bootc and OSTree: Modernizing Linux System Deployment
Discover how Bootc and OSTree are revolutionizing Linux system deployment, offering modern, efficient, and immutable management.
How many branches can your CPU predict?
Modern processors have the ability to execute many instructions per cycle, on a single core. To be able to execute many instructions per cycle in practice, processors predict branches. I have made the point over the years that modern CPUs have an incredible ability to predict branches. It makes benchmarking difficult…
Isolates, microVMs, and WebAssembly
I’ve been thinking about WebAssembly a lot lately.
AWS API Performance Comparison: Serverless vs. Containers
A performance comparison between three different methods of deploying an API on AWS
FreeBSD Audio
I started using FreeBSD in 2016 as a dual-boot with Linux. The reason was that at the time Linux provided no support for real-time threads and preemptive scheduling but did provide a wider choice of audio applications. Today, as the FreeBSD audio ecosystem improved a lot, I am a happy single-OS user. You may ask…
Comparing Filesystem Performance in Virtual Machines
For years, the primary bottleneck for virtual machine based development environments with Vagrant has been filesystem performance. CPU differences are minimal and barely noticeable, and RAM only becomes an issue when many virtual machines are active.
Mac Keyboard with Hidutil
[Update: 13-Apr-2023 with some of the background context and some things I learned from hackernews ] [Update: 18-Dec-2023] This hiduti...
Using the mold linker for fun and 3x-8x link time speedups
A large C++ codebase meets a new linker: The good, the bad and the performance improvements <a class="more-link" href="https://www.productive-cpp.com/using-the-mold-linker-for-fun-and-3x-8x-link-time-speedups/">... Read More</a>
Fedora 44 on the Raspberry Pi 5
So where has the last six months gone ? I was planning on getting images done for Fedora 44 Beta but I was unwell and busy and ran out of time. So what better time to get them out than Pi Day! .
Making a parallel Rust workload 10x faster with (or without) Rayon
In a previous post, I’ve shown how to use the rayon framework in Rust to automatically parallelize a loop computation across multiple CPU cores.Disappointingly, my benchmarks showed that this only provided a 2x speedup for my workload, on a computer with 8 CPU threads.Worse, the total “user” and “system” times…
Tracking down a Zsh history data loss bug
For many years, I sometimes discovered that commands I was sure I had run were no longer present in my Z shell history file (~/.zsh_history). In this article, I will show you how I tracked down the bug. Spoiler: ultimately, patching Zsh to make it crash loudly and analyzing the crash’s core dump was the winning…
VMScape and why Xen dodged it
ETH Zürich’s new VMScape attack hit KVM and VMware, but Xen’s microkernel-like design kept it out of reach.
Do Not Use Task Manager for Memory Info
Task Manager can be lacking as a memory tracker. Let's cover alternatives to replace it. First, let’s discuss how memory allocations work in Windows.