Learning about distributed systems: where to start? (2020)
This is definitely not a "learn distributed systems in 21 days" post. I recommend a principled, from the foundations-up, studying of distrib...
Topics /
The most popular blog posts about systems & performance on Hacker News. 6,942 posts.
This is definitely not a "learn distributed systems in 21 days" post. I recommend a principled, from the foundations-up, studying of distrib...
An overview of my work on improving SIMD in Rust.
Stephen Brennan's personal website and blog.
Recently I came across Lunduke post about some mysterious Vendefoul Wolf Linux distribution that uses 217 MB RAM with Devuan as base (no systemd(1) here) and XLibre X11 server along with IceWM wind…
I think that one of the most important things to focus on improving is how fast you can work.
Android phones have been growing ever more powerful with time, with the Nexus 5 sporting a quad-core 2.3 GHz Krait 400; this is a very powerful CPU for a mobile …
Some possible reasons for 8-bit bytes
A struct in C is the best way to organize your data so that you can easily use the data later in your program. However, there are a few caveats to C structures, mainly how their memory works. Note that I’m making a lot of assumptions about type sizes and standards. These can differ between systems and ABI’s, so for…
The Raspberry Pi Compute Module 5 is smaller than a credit card, and I already have it gaming in 4K with an eGPU, running a Kubernetes cluster, and I even upgraded my NEC Commercial display from a CM4 to CM5, just swapping the Compute Modules! The Compute Module 4 was hard to get for years. It launched right after the…
We announce the technology preview of NGINX support for QUIC+HTTP/3 as pre-release software, available for interoperability testing, feedback, and code contributions. HTTP/3 replaces TCP with QUIC, which is designed to support multiplexed connections more reliably.
This post discusses how maps are implemented in Go. It is based on a presentation I gave at the GoCon Spring 2018 conference in Tokyo, Japan.
This paper from Sigmod 2021 presents FoundationDB, a transactional key-value store that supports multi-key strictly serializable transacti...
We know what Unix's future used to look like. It was designed by the research group at Bell Labs that built Unix and called ‘Plan 9 from Bell Labs’. [ 154 ] Plan 9 was an attempt to do Unix over again, better.
Ever since I upgraded to Windows 10 it’s felt like my battery life is worse. My suspicion was various scanning tasks that were springing to life more frequently, but it was just a hunch. So, …
We build a shell in the style of the Bourne shell, Bash, zsh, etc. It supports (1) running commands with arbitrarily many arguments, (2) quoting those arguments, and (3) combining the commands into arbitrarily long pipelines where the output of one command becomes the input of the next. This requires writing a parser…
HEVC is among us. On January 25, 2013, the ITU announced the completion of the first stage approval of the H.265 video codec standard and in the last 1 year several vendors/entities have started to…
One of my favorite blog posts about Rust is Things Rust Shipped Without by Graydon Hoare. To me, footguns that don't exist in a language are usually more important than expressiveness. In this slightly philosophical essay, I want to tell about a missing Rust feature I especially like: constructors.
I could not find much information on the interwebs how many containers you can run per host. So here are mine and the issues we ran into along the way.
TLA+ model checking made symbolic Konnov et al., OOPSLA’19 TLA+ is a formal specification language (Temporal Logic of Actions) particularly well suited to reasoning about distributed algorith…
Ethical Hacking and Cybersecurity Blog
Not all instructions on modern processors cost the same. Additions and subtractions are cheaper than multiplications which are themselves cheaper than divisions. For this reason, compilers frequently replace division instructions by multiplications. Roughly speaking, it works in this manner. Suppose that you want to…
rqlite is a lightweight, open-source, distributed relational database written in Go. It is built on the Raft consensus protocol and uses SQLite as its storage engine. Development of 9.0 has begun and aims to reduce disk usage by approximately 50%. This goal will be achieved through a high-level design overhaul…
From the Zed Blog: In this episode of Zed Decoded, Thorsten asks the founders — Nathan, Max, Antonio — about the data structures at the heart of Zed: Rope and SumTree.
Guest blog post, posted by Andrey KonovalovIntroductionLately I’ve been spending some time ...
This guide is mainly intended for expert programmers familiar with Java concurrency, but unfamiliar with the memory order modes available in JDK 9 provided by VarHandles. Mostly, it focuses on how to think about modes when developing parallel software. Feel free to first read the Summary .
A guide on building a simple Linux distribution from scratch. Detailed guide on building the kernel and the init process. Finally, a little distribution is built with u-root that is capable of connecting to the Internet.