New
The latest blog posts to take off on Hacker News. 6,949 posts.
Semantic Compression
An introduction to the idea that code should be approached with a mindset towards compressing it semantically, rather than orienting it around objects.
Validating UTF-8 strings using as little as 0.7 cycles per byte
Most strings found on the Internet are encoded using a particular unicode format called UTF-8. However, not all strings of bytes are valid UTF-8. The rules as to what constitute a valid UTF-8 string are somewhat arcane. Yet it seems important to quickly validate these strings before you consume them. In a previous…
Completely Silent Computer
I’ve been trying to make my computers quieter for nearly three decades. Custom liquid cooling loops, magnetically-stabilised fluid-dynamic bearings, acoustic dampeners, silicone shock absorb…
Amazon Aurora Backtrack
We’ve all been there! You need to make a quick, seemingly simple fix to an important production database. You compose the query, give it a once-over, and let it run. Seconds later you realize that you forgot the WHERE clause, dropped the wrong table, or made another serious mistake, and interrupt the query, but the […]
Russian ALFA Class interceptor submarine
**Russian ALFA Class interceptor submarine** At the height of the Cold War NATO submariners found themselves confronting a Soviet submarine which not only greatly out-performed their own boats, but which could operate beyond the reach of their weapons… Read More >….
The Various Kinds of IO – Blocking, Non-Blocking, Multiplexed and Async
A blog where I write down my thoughts, ideas and notions, as an exercise to cement them in my memory and improve on their concepts.
Java’s Mysterious Interrupt
One of the lesser known parts of Java is InterruptedException. With its vague-sounding name and non-committal Javadoc, few people are able to figure out what they need to do with it. Since I myself didn’t really grok it, I decided to put together a post explaining how interruption works. If you are looking for a more…
FoundationDB community highlights, two weeks in
In two weeks since open sourcing FoundationDB , we’ve had an outpouring of interest.
The hell that is filename encoding (2016)
By far, the worst part of working on beets is dealing with filenames. And since our job is to keep track of your files in the database, we have to deal with them all the time. This post describes the filename problems we discovered in the project’s early days, how we address them now, and some alternatives for the…
How Algolia Built Their Realtime Search as a Service
Algolia started out as a mobile SDK for apps that wanted better offline search. After customers starting asking for a hosted search product, they quic
A Look at MyRocks Performance
Taking a look at MyRocks performance through some benchmark testing.
Anatomy of a Program in Memory (2009)
Memory management is the heart of operating systems; it is crucial for both programming and system administration. In the next few posts I'll cover memory with an eye towards practical aspects, but wi
Three kinds of memory leaks
So, you’ve got a program that’s using more and more over time as it runs. Probably you can immediately identify this as a likely symptom of a memory leak. But when we say “memory leak”, what do we actually mean? In my experience, apparent memory leaks divide into three broad categories, each with somewhat different…
A Lengthy, Pedantic Review of Ubuntu 18.04 LTS (Bionic Beaver)
The Beav in all his geometric glory. Even though I have been using some Linux distribution or another pretty much daily for roughly two decades, I...
Streaming Video and Audio with Low Delay
Data sent over the Internet will traverse a large number of smaller links. The combination of these links forms a path from the sender to the receiver. Sometimes data is lost when it traverses this path. For video and audio streams such losses can lead to playback glitches if not corrected.
AWS EC2 T2 Instances Demystified: Don’t Learn the Hard Way
How T2 burstable instances and CPU credits really work, with a worked example of a busy t2.micro running out of credits and grinding to a halt.
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:
Improved code caching
Starting with Chrome 66, V8 caches more (byte)code by generating the cache after top-level execution.
The Art of Picking Intel Registers (2003)
I wrote this article for an online magazine called Scene Zine . Scene Zine caters to the Demo Scene, which is an digital art community dedicated to pushing the limits of computers through a mix of music, art, and computer programming. A particular category of demoscene productions, 4K intros, focus on the final…
Inside the Linux boot process (2006)
The open source operating system that runs the world.