Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 4,387 posts.
Implementing simple cooperative threads in C
Using setjmp(), longjmp(), and assembly to implement a simple threading system in C!
Anatomy of a Terminal Emulator
How does a terminal emulator work? What are ANSI escape codes? Understanding terminal internals for development, fun and mischief.
Why is the Rust compiler so slow?
I spent a month repeatedly building my website in Docker, and now have horrors to share.
Simple Systems Have Less Downtime (2020)
The Maersk Triple-E Class container ship is 1,300 feet long, carries over 18,000 containers across 11,000 miles between Europe and Asia, and… Its entire crew can fit inside a passenger van. As a former naval architect and a current marketing consultant to startups, I found that
Performance optimization is hard because it's fundamentally a brute-force task
I’m not talking about skill, knowledge, or convincing a world focused on radical acceleration that optimization is necessary. Performance optimization is hard because it’s fundamentally a brute-force task, and there’s nothing you can do about it. This post is a bit of a rant on my frustrations with code optimization…
9 million hits/day with 120 megs RAM
Solaris 5.11 (virtual: Joyent SmartMachine ) PHP 5.3.6 with PHP - FPM : 4 instances running, 10meg APC cache nginx 0.8.53 Pax 1.0 (my silly self-coded website software… and yes, oops there’s already software with that name ) 120 megs of RAM used Load tested using blitz.io : 9 million+ daily hit capability
Working on complex systems: What I learned working at Google
This is why recognizing whether a system is complicated or complex is so important: it shapes how we should approach problem-solving.
2021 Williams F1 Computational Fluid Dynamics
Thanks to some clever people I was able to get a CAD model of the current 2021 Williams F1 car — that’s not something that happens every day, so of course I had to run CFD on it. CAD Ge…
Following a Select Statement Through Postgres Internals (2014)
This is the third of a series of four posts based on a presentation I did at the Barcelona Ruby Conference called “20,000 Leagues Under ActiveRecord.” (posts: one two four and video ).
Notes on structured concurrency, or: Go statement considered harmful
Every concurrency API needs a way to run code concurrently. Here's some examples of what that looks like using different APIs:
ZFS: Apple’s New Filesystem That Wasn’t
Prologue (2006) I attended my first WWDC in 2006 to participate in Apple’s launch of their DTrace port to the next version of Mac OS X (Leopard). Apple…
Jepsen: VoltDB 6.3
In the last Jepsen post, we found that RethinkDB could lose data when a network partition occurred during cluster reconfiguration. In this analysis, we’ll show that although VoltDB 6.3 claims strict serializability, internal optimizations and bugs lead to stale reads, dirty reads, and even lost updates; fixes are now…
Should I buy ECC memory? (2015)
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:
A history of branch prediction
This is a pseudo-transcript for a talk on branch prediction given at Two Sigma on 8/22/2017 to kick off "localhost", a talk series organized by RC .
Firecracker internals: Inside the technology powering AWS Lambda (2021)
You are most likely familiar with AWS Lambda and Fargate — Amazon's serverless computing engines. At its nature, serverless computing introduces quite a challenging task requiring both tight security and great performance. For exactly that matter Amazon came up with its microVM solution called Firecracker .
Using Windows after 15 years on Linux
I've been using Linux exclusively for ~15 yrs. This is my first time using Windows after a 15-year break. This is how it's been going.
My 70 year old mother has been using Linux on the desktop for the past 21 years
My mother turned 70, February 2021, and she has been using Linux on the desktop for the past 21 years. My mother-in-law is 65, she has been using Linux on the desktop since 2015.
Raspberry Pi 4 WiFi stops working at 2560 x 1440 screen resolution
This is part of a series of posts on the design and technical steps of creating Himblick , a digital signage box based on the Raspberry Pi 4.
How C++ Resolves a Function Call
C is a simple language. You’re only allowed to have one function with each name. C++, on the other hand, gives you much more flexibility: You can have multiple functions …
How a little bit of TCP knowledge is essential
Why you should understand (a little) about TCP
Seconds Since the Epoch
This is not at all news, but it comes up often enough that I think there should be a concise explanation of the problem. People, myself included, like to say that POSIX time, also known as Unix time, is the number of seconds since the Unix epoch , which was 1970-01-01 at 00:00:00.
What makes a senior engineer? Writing software vs. building systems
Junior Engineers care about writing Software. They value code quality, employ best practices, try to adopt cutting-edge technologies. They invest a lo
Why the Apple II ProDOS 2.4 Release Is the OS News of the Year
In September of 2016, a talented programmer released his own cooked update to a major company’s legacy operating system, purely because it needed to be done. A raft of new features, wrap-in p…