Alexander Reelsen
@spinscale.bsky.social
200 followers 410 following 340 posts
Husband, dad, enjoys working distributed, likes distributed databases & search engines, the JVM, Basketball/Streetball fan, gulps coffee, lives in Emsdetten/Germany, occasionally blogs at https://spinscale.de
Posts Media Videos Starter Packs
spinscale.bsky.social
Iina - The modern media player for macOS

Based on mpv, with a plugin system allowing to write javascript, i.e. reacting on events. I remember I used a GUI no top of mpv years ago, but I don't remember the name.
IINA - The modern media player for macOS
The modern media player for macOS.
iina.io
spinscale.bsky.social
Browsers and new alternatives to certain use-cases seem to have be at a high at the moment. Today glide, a firefox extending browser, that focuses on developer friendliness by being endlessly extensible via typescript and working fully via keyboard commands.
Glide
an extensible and keyboard-focused web browser.
glide-browser.app
spinscale.bsky.social
walrus: ingesting data at memory speeds

Implementing a super fast WAL using memory mapping, configurable consistency (aka fsync), deletion without coordination. Written in Rust, just 1k LoC, so let's figure out how easy it is to follow.
walrus: ingesting data at memory speeds
tldr; a fast Write Ahead Log in Rust built from first principles which achieves 1M ops/sec and 1 GB/s write bandwidth on consumer laptop, find it here: github
nubskr.com
spinscale.bsky.social
Inside Husky's query engine

"We’ve built a system that handles trillions of queries with subsecond interactivity—while scanning as little as 0.6% of the underlying data on average" - quite some caching and pruning involved.

Again foundationdb pops up in the stack
Inside Husky’s query engine: Real-time access to 100 trillion events | Datadog
See how Husky enables interactive querying across 100 trillion events daily by combining caching, smart indexing, and query pruning.
www.datadoghq.com
spinscale.bsky.social
F3: The Open-Source Data File Format for the Future

Packaging WASM code to read an evolving file format with the data. Interesting approach and a good idea to test the sandbox abilities of the execution engine. Also mentions of a lot of alternatives to parquet/ORC.
db.cs.cmu.edu
spinscale.bsky.social
Blogged: Solar power monitoring with Elasticsearch and ES|QL

This post explains how I used ES|QL with my three years of data of my photovoltaic installation and how easy it was to write the queries and create a dashboard.
Solar power monitoring with Elasticsearch and ES|QL
TLDR; This post explains how I used ES|QL with my three years of data of my photovoltaic installation and how easy it was to write the queries and create a dashboard. Two years ago I used Jupyter and…
spinscale.de
spinscale.bsky.social
Introducing Monocle: a high-performance timeseries storage engine

Great Datadog engineering blog post, outlining a new time series system written in Rust. Seems like a thread-per-core architecture for more efficiency.
Evolving our real-time timeseries storage again: Built in Rust for performance at scale | Datadog
Discover how we reengineered our metrics storage engine for massive scale with Rust, a shard-per-core model, and real-time performance.
www.datadoghq.com
spinscale.bsky.social
temporal_rs - an implementation of Temporal in Rust

Nice to see that finally there is some kind of unification across programming languages how to deal with dates and times, so that developers may even feel at home with the nomenclature everywhere.
Temporal_rs is here! The datetime library powering Temporal in Boa, Kiesel, and V8 | Boa JS
Temporal_rs is here! The datetime library powering Temporal in Boa, Kiesel, and V8
boajs.dev
spinscale.bsky.social
Helium browser - another browser, with a focus on privacy, based on chromium, fully open source

Like the idea, but for such an integral daily used piece, I'd really like to see who is developing this and how this is financed in the long term on the homepage.
Helium Browser
The web browser made for people, with love. Best privacy by default, unbiased ad-blocking, no bloat and no noise. Fully open source.
helium.computer
Reposted by Alexander Reelsen
signal.org
We are alarmed by reports that Germany is on the verge of a catastrophic about-face, reversing its longstanding and principled opposition to the EU’s Chat Control proposal which, if passed, could spell the end of the right to privacy in Europe. signal.org/blog/pdfs/ge...
signal.org
spinscale.bsky.social
R2 SQL: a deep dive into our new distributed query engine

Nice overview, mentioning queries are updated on query exeuction once sufficient top-k results are collected reducing data fetching. Curious how this holds up with planned support for complex aggregations
R2 SQL: a deep dive into our new distributed query engine
R2 SQL provides a built-in, serverless way to run ad-hoc analytic queries against your R2 Data Catalog. This post dives deep under the Iceberg into how we built this distributed engine, from its…
blog.cloudflare.com
spinscale.bsky.social
Seven Years of Firecracker

Wow, remember the firecracker release pretty well, did not notice it's already been seven years. Great infra, as a lot of other providers offering SaaS and micro VMs are using it in their infrastructure as well.
Seven Years of Firecracker - Marc's Blog
Time flies like an arrow. Fruit flies like a banana.
brooker.co.za
Reposted by Alexander Reelsen
andypavlo.bsky.social
Our SIGMOD paper with our friends at Tsinghua + @wesmckinney.com + @pateljm.bsky.social on creating a next generation open-source data file format is out. F3 is a future-proof file format avoids the mistakes of Parquet.
📄 Paper: db.cs.cmu.edu/papers/2025/...
📁 Code: github.com/future-file-...
F3: The Open-Source Data File Format for the Future
SIGMOD 2025
spinscale.bsky.social
Great post: How I accidentally created the fastest CSV parser ever made

Nice one about using SIMD and memory mapping, madvise syscalls to read a CSV faster, albeit only for x86-64. Morale of the story: If you push data around, ignore generalization, go for optimization.
HOW I ACCIDENTALLY CREATED THE FASTEST CSV PARSER EVER MADE
home blogs about
sanixdk.xyz
spinscale.bsky.social
An Extremely Technical Overview of How Apache Iceberg Planning Actually Works

Awesome talk by Russel Spitzer about figuring out which parts of your data need to be queried by parsing the query through the different layers of data and reduce reads in object storage.
An Extremely Technical Overview of How Apache Iceberg Planning Actually Works (Russell Spitzer)
CMU Database Group - Future Data Systems Seminar Series (Fall 2025) Speaker: Russel Spitzer (https://www.linkedin.com/in/russell-spitzer-5697328) September 22,…
www.youtube.com
spinscale.bsky.social
The Evolution of Garbage Collectors: From Java’s CMS to ZGC, and a JVM vs Go vs Rust Latency Shootout

"the evolution from CMS to ZGC shows that garbage collectors have largely solved the worst latency problems" - guess development economics can be taken into account.
Codemia | Master System Design Interviews Through Active Practice
codemia.io
spinscale.bsky.social
Hey, what I did might only work for the Stream Deck Plus, but not for the stream deck mini. You can usually take a look at the wonderful python-elgato-streamdeck package and check where the different devices differ - quick glance shows different way of loading images github.com/abcminiuser/...
python-elgato-streamdeck/src/StreamDeck/Devices/StreamDeckMini.py at master · abcminiuser/python-elgato-streamdeck
Python library to control the Elgato Stream Deck. Contribute to abcminiuser/python-elgato-streamdeck development by creating an account on GitHub.
github.com
spinscale.bsky.social
Nice weekend read: Is Parquet becoming the bottleneck? Why new storage formats are emerging in 2025 (Lance, Vortex, and more)

Why new storage formats are emerging aside from parquet as queryable formats - object storage, different access patterns, etc
Is Parquet becoming the bottleneck? Why new storage formats are emerging in 2025 (Lance, Vortex, and more)
Parquet gave data lakes a common language: columnar layout, good compression, and fast scans. That still works well for classic analytics. But workloads have changed. We now mix wide scans with point…
www.databend.com
spinscale.bsky.social
Finished: Optimizing Cloud Native Java

Great explanations, how the JVM works in general, performance testing, GC. A small cloud chapter at the end, but more about general k8s configuration and less about java specifics.

Good general overview, quite recent, not cloud specific IMO, bit of a misnomer
spinscale.bsky.social
Thinking of getting a huge curved monitor instead of 2 displays. Any recommendations here? My personal 27" monitor is more than 12 years old, the ones I had from previous companies in combination with a macbook were rather mediocre from their sharpness or colors.

Any recommendations?
spinscale.bsky.social
cachey - Read-through cache for object storage

Allows spilling to disk if memory is full, as it is using foyer. Also makes hedging requests to improve tail latency. Wondering if anyone has links about the effect of hedging on object stores.
GitHub - s2-streamstore/cachey: Read-through cache for object storage
Read-through cache for object storage. Contribute to s2-streamstore/cachey development by creating an account on GitHub.
github.com
spinscale.bsky.social
as some layers like opentelemetry or logging or throttling are not available yet.

Reading the whole file locally took half a second once in the page cache, where as reading using offsets only took a few ms. So gains are big, if you know query patterns. (3/4)
Welcome to Apache OpenDAL™ | Apache OpenDAL™
OpenDAL represents Open Data Access Layer. Our vision is One Layer, All Storage.
opendal.apache.org
spinscale.bsky.social
Now when filtering on that field I could receive that file partially by looking at the offsets table. Especially on S3 this is a lot faster, cause you do not need to receive 1GB from S3. This worked flawless under node and Java, not all the SDKs are complete like the Rust one yet (2/4)
Welcome to Apache OpenDAL™ | Apache OpenDAL™
OpenDAL represents Open Data Access Layer. Our vision is One Layer, All Storage.
opendal.apache.org