New
The latest blog posts to take off on Hacker News. 6,945 posts.
Serialization Is the Secret
If a value mutates in the forest with no one to see it, does it really mutate?
How Discord stores trillions of messages (2023)
Engineer Bo Ingram shares insight into how Discord shoulders its traffic and provides a platform for our users to communicate.
The perils of transition to 64-bit time_t
(please note that there’s a correction at the bottom) In the Overview of cross-architecture portability problems, I have dedicated a section to the problems resulting from use of 32-bit time_…
Why are my ZFS disks so noisy?
Earlier this year, a user at Practical ZFS asked a deceptively simple question: I have a Proxmox pool of three four-wide RAIDz1 vdevs. Whenever my VM is running, all twelve... Read More
Attacking UNIX Systems via CUPS
Hello friends, this is the first of two, possibly three (if and when I have time to finish the Windows research) writeups. We will start with targeting GNU/Lin…
Jetstream: Shrinking the AT Protocol Firehose by >99%
Jetstream is a streaming service that consumes an AT Proto Sync Firehose and converts it into lightweight, filterable, friendly JSON, allowing us to live tail all posts on Bluesky for as little as ~850 MB/day
Overview of cross-architecture portability problems
Ideally, you’d want your program to work everywhere. Unfortunately, that’s not that simple, even if you’re using high-level “portable” languages such as Python. In thi…
Compiling to Assembly from Scratch
Then come along! Let’s make a compiler that goes all the way from source to assembly from scratch—no shortcuts!
Picking Glibc Versions at Runtime
Using a glibc version that is different from the system-provided one shouldn't require the use of containers, as I recently heard someone claim. Let's take a look at how dynamic linking works and what the options are.
Discord Reduced WebSocket Traffic by 40%
How we rolled out zstandard and other improvements across our gateway cluster to reduce the amount of bandwidth that’s used by our clients.
Optimizing Guile Scheme
Guile is a rather niche language that I love dearly. Guile is a Scheme dialect that features an advanced optimizing bytecode compiler, a JIT compiler, and a modest set of developer tools for inspecting and debugging. Through my time spent developing Chickadee , a game programming library, I have gotten quite familiar…
Linux/4004: booting Linux on Intel 4004 for fun, art, and no profit
Dmitry.GR: Slowly booting full Linux on the intel 4004 for fun, art, and absolutely no profit
DirectX Adopting SPIR-V as the Interchange Format of the Future
Today the Direct3D and HLSL teams are excited to share some insight into the next big step for GPU programmability. Once Shader Model 7 is released,
FreeBSD 13.4-Release
The FreeBSD Release Engineering Team is pleased to announce the availability of FreeBSD 13.4-RELEASE. This is the fifth release of the stable/13 branch.
Dissecting the gzip format (2011)
In this article I describe the DEFLATE algorithm that GZIP implements and depends on. The DEFLATE algorithm uses a combination of LZ77, Huffman codes and run-length-encoding; this article describes each in detail by walking through an example and developing source code to implement the algorithm. My aim is to…
Valkey achieved one million RPS 6 months after forking from Redis
Maximize the performance of your hardware with memory access amortization
My 71 TiB ZFS NAS After 10 Years and Zero Drive Failures
My 4U 71 TiB ZFS NAS built with twenty-four 4 TB drives is over 10 years old and still going strong.
Modular Monoliths Are a Good Idea
Microservices aren't the only way to get high cohesion and low coupling.
Porting SBCL to the Nintendo Switch
For the past two years Charles Zhang and I have been working on getting my game engine, Trial, running on the Nintendo Switch. The primary challenge in doing this is porting the underlying Common Lisp runtime to work on this platform. We knew going into this that it was going to be hard, but it has proven to be quite…
Why Oxide Chose Illumos
Servers in the Oxide Rack will form the backbone of both the compute and storage services available to customers. The rack will be composed of a variety of hardware and software components, some of which represent resource-constrained or inflexible environments; e.g., the Service Processor (SP) or Hardware Root Of…
Noisy neighbor detection with eBPF
By Jose Fernandez, Sebastien Dabdoub, Jason Koch, Artem Tkachuk
Rust in illumos
Systems engineering, Rust development, and Unix infrastructure by Till Wegmüller (@toasterson)
A good day to trie-hard: saving compute 1% at a time
Pingora handles 35M+ requests per second, so saving a few microseconds per request can translate to thousands of dollars saved on computing costs. In this post, we share how we freed up over 500 CPU cores by optimizing one function and announce trie-hard, the open source crate that we created to do it.