Kafka at the low end: how bad can it get?
There is oft-quoted advice that Kafka does poorly as a job queue. I’ve experienced this myself, and I wanted to formalize it a bit.
There is oft-quoted advice that Kafka does poorly as a job queue. I’ve experienced this myself, and I wanted to formalize it a bit.
Every transactional system must execute, order, validate, and persist transactions.
Datalog primer and a neat data structure
Every software project needs to represent the reality of the business he is embedded in. The way we can represent reality as limited rational beings is through propositions, i.e, declarative statements that affirm or deny something about reality. When a collection of such propositions is stored in a computer system…
Just wondering how many transactions or writes per second MySQL can handle? While it depends on many factors, fundamentally, about as many transactions as MySQL can commit to disk per second. A modern disk can do ~1000 fsyncs per second , but MySQL will group multiple writes with each fsync. An okay rule-of-thumb…
This is Jessica. In my Prediction for Decision-making class last quarter we talked about human predictions and decisions relative to algorithmic ones. This led to a discussion about why it’s often hard to demonstrate the value of human knowledge once you have a decent statistical model.
A Modern C++ Implementation of the Apache Arrow Columnar Format
At Terrateam, we are big fans of Fly.io. The service is hosted there and it’s served us well. Just deploy your TOML file, get your infrastructure, do something else with the rest of your day. One of the interesting sides of Fly is that they invest heavily in server-side SQLite. They’ve written a number of blog posts…
If you’ve been in this trade for a while, you have probably seen dozens of debates on the merits and problems of SQL as a relational database query language. As an ORM maintainer, I have a few gripes with SQL, but overall it is workable, and anyway, it has so much inertia that there’s no point fantasizing about a…
Embedding sizes and architectures have changed remarkably over the past 5 years
I was chatting with a close friend of mine and he sent me a link to his new SaaS that he's developing.
Since this article will probably have more reach than my usual rambling, It'll be written in English (but let's not make a habit of it).
Building MVT tiles from scratch
Don’t waste time trying to discover which files are still open when you want to check or repair an APFS disk and Disk Utility throws an error. Here’s the solution.
Safely leverage PostgreSQL's asynchronous commit for significant performance gains
SQLite doesn’t do fsync unless specified.
Made in Notion, the connected workspace where AI agents and teams organize docs, projects and knowledge together.
How would you allocate money to a set of independent assets with to minimize volatility if some assets are more volatile than others?
Learn how to extend the classic XOR trick to find thousands of missing values using Invertible Bloom Filters
In my previous post I introduced SQL virtual tables and how to use them in Go—registering modules per connection, defining schemas, and querying external sources as regular tables.
Disclaimer: This story took place when I was a junior developer for a previous employer ages ago. Some details might be fuzzy, and goes without saying this is entirely from my own POV so take everything here with humor and a grain of salt.
Table of Contents Agents Need to Interact With LLMs Agents Should Be Event-Driven Agents Need Context Agents Require Memory When SQL Is Not Enough Parting Thoughts AI Agents have improved in leaps …
I like slim and stupid servers, where each endpoint wraps a very dumb DB query. Dumb queries are fast. Fast queries make websites smooth and snappy. Keep those click/render loops sacred. Sweep complexity under a task table.
Writing a storage engine for Postgres: an in-memory Table Access Method