AWS’s Elastic Load Balancer is a Strangler
The Strangler is an extremely effective technique for phasing out legacy systems over time. Instead of spending months getting a new system up to parity with the current system so that clients can…
The latest blog posts to take off on Hacker News. 533 posts.
The Strangler is an extremely effective technique for phasing out legacy systems over time. Instead of spending months getting a new system up to parity with the current system so that clients can…
Millions of tiny databases, Brooker et al., NSDI’20 This paper is a real joy to read. It takes you through the thinking processes and engineering practices behind the design of a key part of …
In 1996, the Turing-award-winning computer scientist C.A.R. Hoare wrote a paper with the title How Did Software Get So Reliable Without Proof? In this paper, Hoare grapples with the observation tha…
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
Last month finally I had an opportunity to use Bloom filters. I became fascinated with the promise of this data structure, but I quickly realized it had some drawbacks. This blog post is the tale of my brief love affair with Bloom filters.
Almost all our computers are made of several processing cores. Thus it can be efficient to "parallelize" expensive processing in a multicore manner. That is, instead of using a single core to do all of the work, you divide the work among multiple cores. A standard way to approach this problem is to create threads. ……
This is Part 2 in a series of posts describing the Raft distributed consensus algorithm and its complete implementation in Go. Here is a list of posts in the series:
How to accurately measure latency on Linux
Teleport’s Enhanced Session Recording feature can add vital extra visibility into commands being run on your systems.
Learn how to load larger-than-memory NumPy arrays from disk using either mmap() (using numpy.memmap), or the very similar Zarr and HDF5 file formats.
At this point in my career, I’ve worked on at least three projects where performance was a defining characteristic: Livegrep, Taktician, and Sorbet (I discussed sorbet in particular last time, and livegrep in an earlier post). I’ve also done a lot of other performance work on the tools I use, some of which ended up on…
Or: How To Increase Your Elixir/Postgres Performance 20x With One Weird Trick
The hard realities of distributed systems, partial failures, network faults, and unpredictable latency, and how Amazon designs to handle them.
A community and blog for embedded software makers
Serverless containers and functions are widely used for deploying and managing software in the cloud. Their popularity is due to reduced cost of operations, improved utilization of hardware, and faster scaling than traditional deployment methods. The economics and scale of serverless applications…
Patterns and structures of current operating systems and some thoughts about how that could be improved, with lessons learnt from Self, Smalltalk and other "structured" systems.
The NetBSD Project is pleased to announce NetBSD 9.0, the seventeenth major release of the NetBSD operating system.
Part of my series on countering misconceptions in space journalism. The SpaceX Starship is a game changer for space exploration. It is intended to be far bigger, cheaper, versatile, and available t…
The v0.9 release of the Windows Terminal has arrived! This is the last version of the Terminal that will include new features before the v1 release. You
Posted by Jann Horn, Project ZeroIntroductionThis blog post discusses a bug leading to memory cor...
When making a first full backup of less than 2 GB takes 86 minutes, and you then can’t restore from it anyway.
Posted by Sergei Glazunov and Mark Brand, Project ZeroIntroductionIt was a normal week in the Pro...
AWK As A Major Systems Programming Language — Revisited
C++ exceptions have their place, but using an alternative is recommended for general program flow control.
The latest trend in AI is that larger natural language models provide better accuracy; however, larger models are difficult to train because of cost, time, and ease of code integration. Microsoft is releasing an open-source library called DeepSpeed, which vastly advances large model training by improving scale, speed…