How TimescaleDB compresses time-series data
TimescaleDB compression with hypercore - columnar storage with up to 98% ratio in PostgreSQL. segmentby/orderby configuration and a benchmark for IoT and time-series.
TimescaleDB compression with hypercore - columnar storage with up to 98% ratio in PostgreSQL. segmentby/orderby configuration and a benchmark for IoT and time-series.
Maybe the code shouldn't be the only documentation?
I've been fascinated by the idea of attaching multiple mice to one computer, and then having multiple mouse cursors inside of one desktop environment!
The story goes like this. ComputerCraft is a mod that adds programming to Minecraft. You write Lua code that gets executed by a bespoke interpreter with access to world APIs, and now you’re writing code instead of having fun. Computers have limited disk space, and my /nix folder is growing out of control, so I need to…
We made a YouTube video showing how NonBioS can deploy OpenClaw on a fresh Linux VM automatically - zero human intervention, about 7 minutes start to finish.
GOG is great. I bought a few old games from them: SimCity 2000, Theme Hospital, Syndicate Plus. And by old games, I mean games from my childhood that still
A system freeze led us deep into Linux spinlock internals, where we helped find not one but three bugs in the kernel's resilient locking code used by eBPF.
Last time I wrote about profiling in Zig on Apple Silicon, I touched on PMU counter profiling. This time I decided to go further and create my own tool to fetch all available counters for Apple Silicon processors (M1, M2, and later). Brief explanation of PMU counters PMU (Performance Monitoring Unit) counters are…
Build a copy-and-patch JIT compiler in Rust, generate ARM64 machine code, and benchmark it against an interpreter and handwritten implementation.
std.Io.Threaded is one of the implementations of Zig's new Io interface that enables concurrency. This is a boring just use threads impl. I personally find it neat though --- it does this weird thing that I wanted to do for ages, that to my knowledge no one else is doing properly, and implements it better than I…
Invariably, it involves trying to trap electrons in increasingly complicated ways.
Almost every notable managed Postgres provider bundles a connection pooler, giving us a strong hint that connection management is a product problem rather than a user problem.
Here is a fun thought: if we ask Claude Code to act as a user space IP stack, how quickly will it be able to respond to a ping?
Modern hard drives store an incredible amount of data in a small space, and are still the default choice for high-capacity (though not highest-performance) storage. While hard drives have been around since the 1950s, the current 3.5″ form factor (actually 4″ wide) appeared in the early 1980s. Since then, the capacity…
At WWDC 2025, Apple announced macOS 26 Tahoe. One of the new features in macOS Tahoe is a new disk image format: ASIF. Designed for use with virtual machines (its documentation lives under the Virtualization framework), ASIF takes a lot of inspiration from existing virtual disk formats. Practically, that means it’s…
In response to a question on Twitter 1 , Richard Hipp wrote about why SQLite uses a bytecode VM for executing SQL statements.
Prompted by another project idea that popped into my mind, I did some Unix archaeology and looked at the original sources . This is the most fun I've ever had reading someone else's code - probably due to the historical significance. But also because of how delightfully approachable it was, compared to modern…
The basics of GPUs, profilers, distributed computation, and kernel optimization
I have a system with c servers, each of which can only handle a single concurrent request, and has no internal queuing. The servers sit behind a load balancer, which contains an infinite queue. An unlimited number of clients offer c * 0.8 requests per second to the load balancer on average. In other words, we increase…
Building httpz, a high-performance HTTP/1.1 parser with zero heap allocation using OxCaml's unboxed types, local allocations, and mutable local variables.
In the previous article we explored how Go’s memory allocator manages heap memory — grabbing large arenas from the OS, dividing them into spans and size classes, and using a three-level hierarchy (mcache, mcentral, mheap) to make most allocations lock-free. A key detail was that each P (processor) gets its own memory…
Philosophy - Sciences - Geekery - Art - Life - Coaching - Fun < Simplify Everything
Many people know, or have heard of, the Motorola 68000 architecture. These processors have been used in many machines: in the first generations of Apple Macintosh computers, in the ever-rivals Amiga and Atari ST home computers, in many workstations built by Sun , HP and NeXT (to name only a few), but also in many…
(this post figured on HNews here) This happened to me in 2020, and it has been on my mind again lately. During the worst of the pandemic, I found a vulnerability in a system that gave me access to the Brazilian federal system, and with that access I was able to retrieve information on any
A fake-interview scam tried to backdoor my machine with PinpinRAT, hidden in a malicious TypeScript patch. Analysis of the attack, payload, and indicators of compromise.
My brother and I spent a lot of time designing our eBPF security agent to be really fast from the ground up, but recently we discovered we could make it much faster using memoization! A couple of weeks ago, I profiled the eBPF code and found that the most expensive part of the protection isn’t actually enforcing a…
tar.gz files seem to include extra files starting with ._. When these are extracted on Linux, a bunch of errors are displayed.
How we built memchunk - a blazing fast text chunking library using SIMD and memchr for RAG pipelines
This is a kind of knowledge base article which resulted from attempts to understand exactly how memory management works in 16-bit Windows. It is not exactly undocumented, but it is also not well documented; even before Windows 3.0 appeared, the assumption was that essentially all application developers were going to…
From paged attention, continuous batching, prefix caching, specdec, etc. to multi-GPU, multi-node dynamic serving at scale.