<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>Loams blog</title>
<link>https://loams.dev/blog</link>
<description>Engineering notes on building Loams, the AI-native cloud on object storage.</description>
<language>en</language>
<lastBuildDate>Fri, 23 Oct 2026 00:00:00 GMT</lastBuildDate>
<atom:link href="https://loams.dev/blog/rss.xml" rel="self" type="application/rss+xml"/>
<item><title>Ground you own: a short history of land ownership, and why it matters for software</title><link>https://loams.dev/blog/ground-you-own</link><guid isPermaLink="true">https://loams.dev/blog/ground-you-own</guid><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate><description>Secure, owned land has helped many families build wealth and pass it on, and its denial and theft did lasting harm. A short, sourced history, and why we think the difference between renting and owning applies to your cloud.</description><dc:creator>Dinakaran</dc:creator><category>opinion</category><category>history</category><category>ownership</category><category>self-hosting</category></item>
<item><title>Five lessons from Pied Piper, from people who would like to avoid them</title><link>https://loams.dev/blog/what-pied-piper-got-right</link><guid isPermaLink="true">https://loams.dev/blog/what-pied-piper-got-right</guid><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate><description>HBO&apos;s Silicon Valley pitched a new internet that ran on other people&apos;s phones. We want the same thing, minus the strangers&apos; phones, the single owner and the encryption incident. A light read on tenants, owners, fences and landlords.</description><dc:creator>Dinakaran</dc:creator><category>opinion</category><category>humor</category><category>self-hosting</category><category>ownership</category></item>
<item><title>Where the WAL lives: databases on object storage in 2026</title><link>https://loams.dev/blog/where-the-wal-lives</link><guid isPermaLink="true">https://loams.dev/blog/where-the-wal-lives</guid><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><description>A sourced survey of who builds databases on S3 and how. turbopuffer, LanceDB, Neon, WarpStream, S2, SlateDB, Quickwit, Iceberg, Snowflake, Databricks, TiDB X, Bufstream and AutoMQ, compared on write path, caching, consistency, cost, tenancy and formats. Then where Loams fits, and where it does not.</description><dc:creator>Dinakaran</dc:creator><category>research</category><category>object-storage</category><category>architecture</category><category>storage</category><category>streaming</category></item>
<item><title>Hybrid retrieval fusion: RRF, convex combination, and rerankers</title><link>https://loams.dev/blog/hybrid-retrieval-fusion</link><guid isPermaLink="true">https://loams.dev/blog/hybrid-retrieval-fusion</guid><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><description>What the papers and the shipping engines say about combining BM25 and vector results, why score normalization is where most hybrid setups go wrong, what k in RRF actually does, how to evaluate a fusion choice, the production details (per-signal top-k, filtering, pagination), and exactly what Loams does and does not do today.</description><dc:creator>Dinakaran</dc:creator><category>research</category><category>retrieval</category><category>hybrid-search</category><category>vector-search</category><category>evaluation</category></item>
<item><title>What agents need from infrastructure: memory as data, durable runs, sandboxes with policy, and a harness that does not trust the model</title><link>https://loams.dev/blog/what-agents-need-from-infrastructure</link><guid isPermaLink="true">https://loams.dev/blog/what-agents-need-from-infrastructure</guid><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><description>A survey with primary sources of agent memory (MemGPT and Letta, Mem0, Zep and Graphiti, supermemory, LangGraph), durable execution (Temporal, Restate, Inngest, DBOS, Resonate), sandboxes (Firecracker, gVisor, E2B, Modal, Daytona, Cloudflare), coding-agent harnesses and the security research on agents. Then what most stacks get wrong, and where Loams stands, with each piece labelled by its status.</description><dc:creator>Dinakaran</dc:creator><category>research</category><category>agents</category><category>security</category><category>durable-execution</category><category>memory</category><category>sandbox</category></item>
<item><title>How Postgres runs on object storage: Neon, Aurora and our hard fork</title><link>https://loams.dev/blog/postgres-on-object-storage</link><guid isPermaLink="true">https://loams.dev/blog/postgres-on-object-storage</guid><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><description>How Neon splits Postgres into a stateless compute, a Paxos WAL service and a pageserver that keeps layer files in a bucket; how Aurora, AlloyDB, OrioleDB, Xata, Nile, Lakebase and PlanetScale answer the same question; and what Loams changed in Loams Postgres, its hard fork of Neon, and why.</description><dc:creator>Dinakaran</dc:creator><category>research</category><category>postgres</category><category>neon</category><category>object-storage</category><category>storage</category></item>
<item><title>Why the Loams engine never faces the public internet</title><link>https://loams.dev/blog/why-the-engine-never-faces-the-internet</link><guid isPermaLink="true">https://loams.dev/blog/why-the-engine-never-faces-the-internet</guid><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><description>Self-hosting a data platform on your own tailnet. The threat model, what zero trust and WireGuard actually give you, a decade of exposed Elasticsearch, MongoDB, Redis and ClickHouse instances, the four auth modes, the console that talks to your engine over your tailnet, BYOC over SSH, and what is still not hardened in 0.1.0.</description><dc:creator>Dinakaran</dc:creator><category>research</category><category>security</category><category>tailscale</category><category>self-hosting</category></item>
<item><title>A distributed KV is all you need</title><link>https://loams.dev/blog/a-distributed-kv-is-all-you-need</link><guid isPermaLink="true">https://loams.dev/blog/a-distributed-kv-is-all-you-need</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>Why one TiKV cluster, with Raft, Percolator transactions and keyspaces, is the transactional spine under Loams&apos; metadata, Live, durable state and Loams SQL. And the four things a KV is bad at, where we use the bucket or a log instead.</description><dc:creator>Dinakaran</dc:creator><category>opinion</category><category>architecture</category><category>tikv</category><category>storage</category></item>
<item><title>The Postgres wire protocol: startup, TLS, SCRAM and SNI routing</title><link>https://loams.dev/blog/postgres-wire-protocol</link><guid isPermaLink="true">https://loams.dev/blog/postgres-wire-protocol</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>How a Postgres connection is framed, encrypted and authenticated, why SSLRequest breaks ordinary SNI routers, how Loams serves the protocol twice (real Postgres on Loams Postgres, and a read-only listener over collections), and how the planned loams-gateway routes by SNI without taking PgDog&apos;s keys.</description><dc:creator>Dinakaran</dc:creator><category>protocols</category><category>postgres</category><category>sql</category></item>
<item><title>The MySQL wire protocol: the greeting, capability flags and caching_sha2_password</title><link>https://loams.dev/blog/mysql-wire-protocol</link><guid isPermaLink="true">https://loams.dev/blog/mysql-wire-protocol</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>How a MySQL connection is framed and negotiated, why the server speaking first makes routing hard, how loams-sqlgate greets, authenticates and relays for Loams SQL on TiDB, and the small read-only MySQL listener over collections.</description><dc:creator>Dinakaran</dc:creator><category>protocols</category><category>mysql</category><category>sql</category></item>
<item><title>Arrow Flight SQL and ADBC: SQL that answers in Arrow</title><link>https://loams.dev/blog/arrow-flight-sql-and-adbc</link><guid isPermaLink="true">https://loams.dev/blog/arrow-flight-sql-and-adbc</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>How Arrow Flight frames data over gRPC, how Flight SQL packs SQL into it, where ADBC sits on top, and what the Loams engine serves today: read-only SQL over collections, bulk ingest through DoPut, and self-contained tickets any node can run.</description><dc:creator>Dinakaran</dc:creator><category>protocols</category><category>arrow</category><category>sql</category></item>
<item><title>The Qdrant API: REST, gRPC and the universal query</title><link>https://loams.dev/blog/qdrant-api</link><guid isPermaLink="true">https://loams.dev/blog/qdrant-api</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>How Qdrant&apos;s REST and gRPC APIs are shaped, why Loams serves them unchanged so LangChain and LlamaIndex vector stores work without a code change, how loams-qdrant maps points onto Loams collections, and every place we deliberately differ.</description><dc:creator>Dinakaran</dc:creator><category>protocols</category><category>qdrant</category><category>vector-search</category></item>
<item><title>The Elasticsearch REST API and a Query DSL subset</title><link>https://loams.dev/blog/elasticsearch-api-and-query-dsl</link><guid isPermaLink="true">https://loams.dev/blog/elasticsearch-api-and-query-dsl</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>How Elasticsearch&apos;s REST API negotiates versions, frames bulk writes as NDJSON and expresses search in the Query DSL, why Loams serves a subset chosen by what AI frameworks actually send, how loams-es compiles it, and where it parts from Elasticsearch 8.19.</description><dc:creator>Dinakaran</dc:creator><category>protocols</category><category>elasticsearch</category><category>search</category></item>
<item><title>Connect RPC: one handler for gRPC, gRPC-Web and plain HTTP</title><link>https://loams.dev/blog/connect-rpc</link><guid isPermaLink="true">https://loams.dev/blog/connect-rpc</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>How the Connect protocol frames unary and streaming calls, how it differs from gRPC and gRPC-Web, and why every Loams application API is a Connect service on one port that curl, grpcurl and a browser can all call.</description><dc:creator>Dinakaran</dc:creator><category>protocols</category><category>api</category><category>grpc</category></item>
<item><title>The S3 API: the bucket contract Loams depends on</title><link>https://loams.dev/blog/s3-api-bucket-contract</link><guid isPermaLink="true">https://loams.dev/blog/s3-api-bucket-contract</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>Loams does not serve S3, it consumes it, and every durable byte depends on a handful of S3 behaviours being exactly right. SigV4, ranged reads, multipart, conditional writes and strong consistency, what Loams requires of any S3 store, and how we test it.</description><dc:creator>Dinakaran</dc:creator><category>protocols</category><category>object-storage</category><category>engineering</category></item>
<item><title>The Git smart protocol and remote helpers: how stock git reaches a bucket</title><link>https://loams.dev/blog/git-smart-protocol-and-remote-helpers</link><guid isPermaLink="true">https://loams.dev/blog/git-smart-protocol-and-remote-helpers</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>pkt-lines, capability advertisement, protocol v2&apos;s ls-refs and fetch, receive-pack for pushes, and the remote-helper protocol that lets `git push` write straight to object storage through git-remote-loams. What exists today, and what Smart HTTP and monorepo mode add.</description><dc:creator>Dinakaran</dc:creator><category>protocols</category><category>git</category><category>object-storage</category></item>
<item><title>MCP: how agents call Loams, and how Loams agents call each other</title><link>https://loams.dev/blog/model-context-protocol</link><guid isPermaLink="true">https://loams.dev/blog/model-context-protocol</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>The Model Context Protocol&apos;s JSON-RPC messages, handshake, transports and auth; the stdio MCP server Loams&apos; agent daemon injects into every coding-agent run today; and the stateless HTTP surface planned for the engine.</description><dc:creator>Dinakaran</dc:creator><category>protocols</category><category>agents</category><category>mcp</category></item>
<item><title>The ClickHouse HTTP interface: how Loams House answers curl</title><link>https://loams.dev/blog/clickhouse-http-interface</link><guid isPermaLink="true">https://loams.dev/blog/clickhouse-http-interface</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>ClickHouse&apos;s HTTP interface is the simplest database protocol in wide use, a query in a POST body and the answer in the format you ask for. How it works, why Loams House speaks it before ClickHouse&apos;s native protocol, and what the House accepts, refuses and does differently.</description><dc:creator>Dinakaran</dc:creator><category>protocols</category><category>clickhouse</category><category>analytics</category></item>
<item><title>The Kafka wire protocol: what it takes to be a broker</title><link>https://loams.dev/blog/kafka-wire-protocol</link><guid isPermaLink="true">https://loams.dev/blog/kafka-wire-protocol</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>How Kafka frames requests, negotiates versions with ApiVersions, authenticates with SASL and lays out record batch v2. Why Loams stores Kafka&apos;s batch format already, why the Loams-side gateway is deferred in favour of contributing to Apache Iggy&apos;s, and what a Kafka front end over Loams streams has to get right. Planned.</description><dc:creator>Dinakaran</dc:creator><category>protocols</category><category>kafka</category><category>streams</category></item>
<item><title>OTLP: OpenTelemetry logs into Loams streams</title><link>https://loams.dev/blog/otlp</link><guid isPermaLink="true">https://loams.dev/blog/otlp</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>How the OpenTelemetry Protocol carries logs, traces and metrics over gRPC and HTTP, what partial success and its retry rules mean for a receiver, and Loams&apos; plan to take OTLP logs into streams so Fluent Bit, the Collector and Vector ship to Loams with no plugin. Planned.</description><dc:creator>Dinakaran</dc:creator><category>protocols</category><category>opentelemetry</category><category>streams</category></item>
<item><title>The Iceberg REST catalog: one pointer per table, over HTTP</title><link>https://loams.dev/blog/iceberg-rest-catalog</link><guid isPermaLink="true">https://loams.dev/blog/iceberg-rest-catalog</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>The Iceberg REST catalog protocol is how every engine finds, reads and commits an Iceberg table. How /v1/config, loadTable, credential vending and commits with requirements and updates work, how Loams House already speaks it as a client to Lakekeeper, and the plan to make Loams tables readable by DuckDB, Spark, Trino and ClickHouse through it.</description><dc:creator>Dinakaran</dc:creator><category>protocols</category><category>iceberg</category><category>analytics</category></item>
<item><title>The Loams Data API: SQL over HTTP, designed for retries and agents</title><link>https://loams.dev/blog/loams-data-api</link><guid isPermaLink="true">https://loams.dev/blog/loams-data-api</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>An open, Apache-2.0 spec for running SQL against Postgres, Loams SQL and the engine over Connect, with no driver and no held connection. Statement batches, batons for interactive transactions, idempotency keys recorded inside the transaction, typed retry-aware errors, dry runs, budgets, Arrow results, live queries and a safety profile for agents. Draft v0, not implemented yet.</description><dc:creator>Dinakaran</dc:creator><category>protocols</category><category>sql</category><category>agents</category></item>
<item><title>CloudEvents: one envelope for every event in Loams</title><link>https://loams.dev/blog/cloudevents</link><guid isPermaLink="true">https://loams.dev/blog/cloudevents</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>CloudEvents 1.0 defines what an event is (id, source, type, specversion) and how it rides on HTTP and Kafka in binary and structured modes. How Loams streams ingest and serve CloudEvents today, deduplicating by source and id, why we wrote our own codec, and the Loams profile that the rest of the platform is converging on.</description><dc:creator>Dinakaran</dc:creator><category>protocols</category><category>cloudevents</category><category>streams</category></item>
<item><title>A software factory you own</title><link>https://loams.dev/blog/a-software-factory-you-own</link><guid isPermaLink="true">https://loams.dev/blog/a-software-factory-you-own</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>Google and Meta built their own software factories. Everyone else rents one in pieces, and coding agents are about to rent the loop as well. The open-source parts are good enough to own now. What we ship in Loams today, what we are designing, and what we are not sure about.</description><dc:creator>Dinakaran</dc:creator><category>research</category><category>software-factory</category><category>agents</category><category>self-hosting</category><category>open-source</category></item>
<item><title>Memory, harnesses and fewer tokens: what grew in open-source agent and data infrastructure, autumn 2026</title><link>https://loams.dev/blog/open-source-infra-trends-autumn-2026</link><guid isPermaLink="true">https://loams.dev/blog/open-source-infra-trends-autumn-2026</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>A field survey of the open-source repositories that gained the most attention from August to October 2026, by category. Agent harnesses, memory layers, code graphs, MCP, graph engines on object storage, Postgres for agents, local tools. Momentum with sources and dates, why each is growing, what it means if you build on it, and where Loams fits.</description><dc:creator>Dinakaran</dc:creator><category>research</category><category>agents</category><category>memory</category><category>mcp</category><category>object-storage</category><category>open-source</category><category>trends</category></item>
<item><title>The harness is an object: places, capabilities and a jailer that doesn&apos;t trust the model</title><link>https://loams.dev/blog/the-harness-is-an-object</link><guid isPermaLink="true">https://loams.dev/blog/the-harness-is-an-object</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>What Loams took from Endo and Jason Duncan&apos;s essay &quot;The Harness Is an Object&quot;, how forty years of object-capability security turn its algebra into rules a machine can check, and the proposed Loams Jailer, a deterministic policy layer with an LLM overseer that is reasoning-blind and may only tighten. Both designs are Proposed; nothing here ships yet.</description><dc:creator>Dinakaran</dc:creator><category>research</category><category>agents</category><category>security</category><category>capabilities</category><category>sandbox</category></item>
<item><title>Git on the bucket: what we learned from Piper, CitC, Enroute and Scion</title><link>https://loams.dev/blog/git-on-the-bucket</link><guid isPermaLink="true">https://loams.dev/blog/git-on-the-bucket</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>Google&apos;s Piper and CitC, Cursor&apos;s Continuity, Enroute&apos;s Raft ledger and layers, and Anthropic&apos;s Scion, read side by side for one question each. Where a push is ordered, what a workspace is, who merges, and what sits between a laptop and the store. Then the five changes Loams Git took from them (D1025 to D1029), and what ships in 0.1.0 and what does not, each marked with its status.</description><dc:creator>Dinakaran</dc:creator><category>research</category><category>git</category><category>monorepo</category><category>object-storage</category><category>agents</category></item>
<item><title>Agent memory as data: what HydraDB, Mem0, Graphiti and Zep taught us</title><link>https://loams.dev/blog/agent-memory-as-data</link><guid isPermaLink="true">https://loams.dev/blog/agent-memory-as-data</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>What we took from four systems while designing Loams Memory. Mem0 on why judging memories at write time is costly, Graphiti and Zep on episodes and facts with two clocks, and HydraDB on keeping a graph index fresh from its own log. Then how those ideas land on collections, a linked graph and the Loams log, what we deliberately left out, and where each piece stands.</description><dc:creator>Dinakaran</dc:creator><category>research</category><category>agents</category><category>memory</category><category>graph</category><category>retrieval</category></item>
<item><title>Teardown: how reactive and sync databases work under the hood</title><link>https://loams.dev/blog/reactive-and-sync-databases-teardown</link><guid isPermaLink="true">https://loams.dev/blog/reactive-and-sync-databases-teardown</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>How Convex, Supabase Realtime, Firestore, Zero and Replicache, ElectricSQL, PowerSync, InstantDB, Triplit and LiveStore turn a query into a subscription, work out what a write invalidates, and what they promise when the network fails. Reconstructed from their public code, docs and papers, then compared with Loams Live, including where Live is behind.</description><dc:creator>Dinakaran</dc:creator><category>teardown</category><category>reactive</category><category>sync</category><category>live</category><category>consistency</category></item>
<item><title>Coding-agent harnesses, taken apart: Codex, Claude Code, Cursor, OpenCode, Aider, Goose, Cline and T3 Code</title><link>https://loams.dev/blog/coding-agent-harnesses</link><guid isPermaLink="true">https://loams.dev/blog/coding-agent-harnesses</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>How coding-agent harnesses actually work, read from their public code and documentation. The loop, tools and approvals, per-OS sandboxes, compaction, edit formats, checkpoints and worktrees, MCP, subagents, telemetry and failure modes, and then where Loams Studio and loams-agentd fit.</description><dc:creator>Dinakaran</dc:creator><category>teardowns</category><category>agents</category><category>security</category><category>sandboxing</category></item>
<item><title>Teardown: nine engines built on a bucket, and the one trick each gets right</title><link>https://loams.dev/blog/object-storage-native-engines-teardown</link><guid isPermaLink="true">https://loams.dev/blog/object-storage-native-engines-teardown</guid><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><description>How turbopuffer, WarpStream, S2, SlateDB, Neon, Lance, Quickwit, AutoMQ and Bufstream turn object storage into a database, a log or a search index. The architecture, the key trick and the published numbers for each, what conditional writes on S3, R2, Tigris and self-hosted stores really give you, and the ideas we are considering for Loams.</description><dc:creator>Dinakaran</dc:creator><category>teardowns</category><category>object-storage</category><category>s3</category><category>streaming</category><category>vector-search</category></item>
<item><title>Your bucket is the database</title><link>https://loams.dev/blog/your-bucket-is-the-database</link><guid isPermaLink="true">https://loams.dev/blog/your-bucket-is-the-database</guid><pubDate>Sat, 17 Oct 2026 00:00:00 GMT</pubDate><description>Why Loams treats object storage as the only source of truth and every server as a cache. The cost and durability arithmetic with its sources, what you give up in latency, how hot tiers and WAL classes buy it back, and where we bend the rule.</description><dc:creator>Dinakaran</dc:creator><category>opinion</category><category>architecture</category><category>object-storage</category><category>hot-tier</category></item>
<item><title>The log is the spine</title><link>https://loams.dev/blog/the-log-is-the-spine</link><guid isPermaLink="true">https://loams.dev/blog/the-log-is-the-spine</guid><pubDate>Fri, 16 Oct 2026 00:00:00 GMT</pubDate><description>In Loams every write is a log entry and every collection, table and graph is a materialization of that log, maintained by links that commit their applied offset with the data. Why that beats change data capture bolted on afterwards, what a consistency token buys, and what the design costs.</description><dc:creator>Dinakaran</dc:creator><category>opinion</category><category>architecture</category><category>streams</category><category>consistency</category></item>
<item><title>OLTP, OLAP, HTAP, LTAP: the acronyms and what actually matters</title><link>https://loams.dev/blog/oltp-olap-htap-ltap</link><guid isPermaLink="true">https://loams.dev/blog/oltp-olap-htap-ltap</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><description>Precise definitions of four overloaded acronyms, the four shapes HTAP takes in shipping products, what Snowflake, Databricks, TiDB, SingleStore, Neon, ClickHouse and DuckDB each get right and miss, and where Loams stands today, including what it does not have yet.</description><dc:creator>Dinakaran</dc:creator><category>opinion</category><category>architecture</category><category>htap</category><category>analytics</category><category>postgres</category></item>
<item><title>Five clusters, one bucket</title><link>https://loams.dev/blog/five-clusters-one-bucket</link><guid isPermaLink="true">https://loams.dev/blog/five-clusters-one-bucket</guid><pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate><description>A typical AI application runs Elasticsearch, Qdrant, a graph database, Kafka and a workflow engine, with the same data copied into each. Why we think hybrid retrieval belongs in one planned query over one copy, and where the specialized systems still win.</description><dc:creator>Dinakaran</dc:creator><category>opinion</category><category>architecture</category><category>retrieval</category><category>search</category></item>
<item><title>Drop-in, not rip-and-replace</title><link>https://loams.dev/blog/drop-in-not-rip-and-replace</link><guid isPermaLink="true">https://loams.dev/blog/drop-in-not-rip-and-replace</guid><pubDate>Tue, 13 Oct 2026 00:00:00 GMT</pubDate><description>Why Loams speaks the Qdrant, Elasticsearch, Postgres, MySQL and Arrow Flight SQL protocols instead of asking you to adopt a new API first, how we keep each one scoped by test suites, and what compatibility costs us.</description><dc:creator>Dinakaran</dc:creator><category>opinion</category><category>protocols</category><category>compatibility</category><category>architecture</category></item>
<item><title>Forking Neon, TiDB and Grafeo: owning your dependencies</title><link>https://loams.dev/blog/forking-neon-tidb-and-grafeo</link><guid isPermaLink="true">https://loams.dev/blog/forking-neon-tidb-and-grafeo</guid><pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate><description>Why Loams runs PD and TiKV unmodified, carries one cherry-pick on TiDB, keeps a patch queue on Grafeo and hard-forked Neon as Loams Postgres. What each fork costs, the rules that keep them honest, and why we did not fork ClickHouse.</description><dc:creator>Dinakaran</dc:creator><category>opinion</category><category>open-source</category><category>postgres</category><category>tidb</category><category>grafeo</category></item>
<item><title>What Loams is bad at today</title><link>https://loams.dev/blog/what-loams-is-bad-at-today</link><guid isPermaLink="true">https://loams.dev/blog/what-loams-is-bad-at-today</guid><pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate><description>A candid list for Loams 0.1.0. It is a 0.x release with one way to run it, a security model that is solid at the edge and trusting inside, a single region, half of the original pitch still planned, a Postgres WAL service that misses its targets, and unsigned desktop builds. What each one means for you, and what we are doing about it.</description><dc:creator>Dinakaran</dc:creator><category>opinion</category><category>release</category><category>roadmap</category></item>
<item><title>Loams: the AI-native cloud in your bucket</title><link>https://loams.dev/blog/loam-ai-native-cloud-in-your-bucket</link><guid isPermaLink="true">https://loams.dev/blog/loam-ai-native-cloud-in-your-bucket</guid><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><description>An AI application today runs five or six stateful systems. Loams puts retrieval, application data, durable workflows and jobs on one platform, with object storage as the ground it all stands on.</description><dc:creator>Dinakaran</dc:creator><category>platform</category><category>architecture</category><category>object-storage</category></item>
<item><title>The engine: hybrid retrieval, streams, Iceberg and the wire APIs</title><link>https://loams.dev/blog/the-engine-hybrid-retrieval-on-object-storage</link><guid isPermaLink="true">https://loams.dev/blog/the-engine-hybrid-retrieval-on-object-storage</guid><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><description>How Loams combines vector, sparse and full-text retrieval on a bucket, with native and compatibility APIs, streams and the next graph/analytics integration steps.</description><dc:creator>Dinakaran</dc:creator><category>platform</category><category>architecture</category><category>engineering</category></item>
<item><title>Loams Live: a reactive database on TiKV</title><link>https://loams.dev/blog/loam-live-reactive-database-on-tikv</link><guid isPermaLink="true">https://loams.dev/blog/loam-live-reactive-database-on-tikv</guid><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><description>Queries that stay live and push new results, mutations that are transactions, server functions, a protobuf sync API, and a change feed that makes application data searchable. How it works, and what is built.</description><dc:creator>Dinakaran</dc:creator><category>platform</category><category>tikv</category><category>engineering</category></item>
<item><title>Durable execution: Resonate, embedded</title><link>https://loams.dev/blog/durable-execution-with-embedded-resonate</link><guid isPermaLink="true">https://loams.dev/blog/durable-execution-with-embedded-resonate</guid><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><description>Loams links the Resonate server into its own binary, so the official Resonate SDKs get durable promises, retries, schedules and human approvals from the system that holds the agent&apos;s memory. Here is how, and the patterns we build on it.</description><dc:creator>Dinakaran</dc:creator><category>platform</category><category>durable-execution</category><category>engineering</category></item>
<item><title>Functions billed on CPU time</title><link>https://loams.dev/blog/functions-billed-on-cpu-time</link><guid isPermaLink="true">https://loams.dev/blog/functions-billed-on-cpu-time</guid><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><description>An agent that computes for 10 ms and waits 20 s on a model should pay for 10 ms. Our proposal for Loams Functions, with workerd, wasmtime and gVisor tiers and Resonate for long waits.</description><dc:creator>Dinakaran</dc:creator><category>platform</category><category>runtime</category><category>durable-execution</category></item>
<item><title>Jobs on Loams: Celery, BullMQ, PySpark and Flink SQL</title><link>https://loams.dev/blog/jobs-on-loam</link><guid isPermaLink="true">https://loams.dev/blog/jobs-on-loam</guid><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><description>Our proposal for running the job frameworks teams already use on Loams with a configuration change, on one Rust queue core over TiKV, with durable steps from Resonate when you want them.</description><dc:creator>Dinakaran</dc:creator><category>platform</category><category>durable-execution</category><category>runtime</category></item>
<item><title>Postgres and MySQL on your bucket</title><link>https://loams.dev/blog/postgres-and-mysql-on-your-bucket</link><guid isPermaLink="true">https://loams.dev/blog/postgres-and-mysql-on-your-bucket</guid><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><description>Read-only SQL access, Neon-compatible WAL and the integration work behind Loams Postgres and Loams SQL.</description><dc:creator>Dinakaran</dc:creator><category>platform</category><category>sql</category><category>object-storage</category></item>
<item><title>Self-hosting Loams with GitOps</title><link>https://loams.dev/blog/self-hosting-loam-with-gitops</link><guid isPermaLink="true">https://loams.dev/blog/self-hosting-loam-with-gitops</guid><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><description>How the whole stack is meant to deploy from one Git repository, from a laptop cluster to your own data centre, on RustFS, the TiKV operator, a Loams operator and Argo CD. And how the line between open source and the managed cloud went away.</description><dc:creator>Dinakaran</dc:creator><category>platform</category><category>self-hosting</category><category>open-source</category></item>
<item><title>Resonate: durable promises, and the server we embed</title><link>https://loams.dev/blog/resonate-durable-promises</link><guid isPermaLink="true">https://loams.dev/blog/resonate-durable-promises</guid><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><description>What Resonate is, how durable promises and replay work, why Loams chose it over Temporal and the alternatives, how we link its Rust server into our binary through a fork, and its license and limits.</description><dc:creator>Dinakaran</dc:creator><category>open-source</category><category>durable-execution</category><category>resonate</category></item>
<item><title>TiKV and PD: Raft, Percolator, keyspaces and our client fork</title><link>https://loams.dev/blog/tikv-and-pd</link><guid isPermaLink="true">https://loams.dev/blog/tikv-and-pd</guid><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><description>How TiKV replicates and transacts, what PD does, why API v2 keyspaces made TiKV Loams’ transactional store, what its change feed can and cannot do for us, and why we carry a fork of the Rust client.</description><dc:creator>Dinakaran</dc:creator><category>open-source</category><category>tikv</category><category>storage</category></item>
<item><title>RustFS: the object store under a self-hosted Loams</title><link>https://loams.dev/blog/rustfs-s3-in-rust</link><guid isPermaLink="true">https://loams.dev/blog/rustfs-s3-in-rust</guid><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><description>Loams’ source of truth is a bucket, so the bucket has to keep its promises. What RustFS is, why it replaced MinIO as Loams’ default self-hosted store, what Loams needs from any S3 store, and what we still have to verify.</description><dc:creator>Dinakaran</dc:creator><category>open-source</category><category>object-storage</category><category>self-hosting</category></item>
<item><title>Apache DataFusion and Arrow: the query engine under every Loams read</title><link>https://loams.dev/blog/datafusion-and-arrow</link><guid isPermaLink="true">https://loams.dev/blog/datafusion-and-arrow</guid><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><description>Every Loams read, whether a Qdrant query, an Elasticsearch search or SQL, compiles to a DataFusion plan over Arrow batches. How DataFusion works, what Loams adds to it, why we embed it, and the version lockstep that comes with it.</description><dc:creator>Dinakaran</dc:creator><category>open-source</category><category>engineering</category><category>storage</category></item>
<item><title>Lance: the columnar format that holds Loams’s documents and vectors</title><link>https://loams.dev/blog/lance-columnar-format-for-ai-data</link><guid isPermaLink="true">https://loams.dev/blog/lance-columnar-format-for-ai-data</guid><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><description>How Lance lays out fragments, versions and indexes for fast random access on object storage, why Loams stores collections in it instead of Parquet, the detached versions we commit, and the churn we pin against.</description><dc:creator>Dinakaran</dc:creator><category>open-source</category><category>lance</category><category>storage</category></item>
<item><title>Tantivy and Quickwit’s splits: full-text search on object storage</title><link>https://loams.dev/blog/tantivy-and-quickwit-splits</link><guid isPermaLink="true">https://loams.dev/blog/tantivy-and-quickwit-splits</guid><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><description>How Tantivy indexes and scores text, how Quickwit&apos;s split format makes an index readable from a bucket with one ranged GET, why Loams vendors Quickwit&apos;s code instead of running Quickwit, and how we keep BM25 scores independent of the split layout.</description><dc:creator>Dinakaran</dc:creator><category>open-source</category><category>tantivy</category><category>storage</category></item>
<item><title>Apache Iceberg, iceberg-rust and Lakekeeper: tables any engine can read</title><link>https://loams.dev/blog/iceberg-iceberg-rust-and-lakekeeper</link><guid isPermaLink="true">https://loams.dev/blog/iceberg-iceberg-rust-and-lakekeeper</guid><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><description>How Iceberg tables commit on object storage, what iceberg-rust can and cannot write today, why Lakekeeper is Loams’ catalog, and what Loams plans to add on top for AI analytics. All of it planned.</description><dc:creator>Dinakaran</dc:creator><category>open-source</category><category>storage</category><category>sql</category></item>
<item><title>Dapr: the API surface, and secrets from every cloud</title><link>https://loams.dev/blog/dapr-api-and-secrets</link><guid isPermaLink="true">https://loams.dev/blog/dapr-api-and-secrets</guid><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><description>What Dapr is and how its sidecar and components work, why Loams plans to serve a subset of Dapr&apos;s API from a Rust server instead of running a sidecar per function, and how tenant secrets would flow through Dapr&apos;s secrets building block.</description><dc:creator>Dinakaran</dc:creator><category>open-source</category><category>runtime</category><category>self-hosting</category></item>
<item><title>workerd, wasmtime and gVisor: three ways to run code you did not write</title><link>https://loams.dev/blog/workerd-wasmtime-and-gvisor</link><guid isPermaLink="true">https://loams.dev/blog/workerd-wasmtime-and-gvisor</guid><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><description>The three isolation technologies behind Loams’ proposed function tiers. How V8 isolates, WebAssembly and a user-space kernel each contain code, what each costs, how each can be metered, and why workerd never runs two tenants in one process.</description><dc:creator>Dinakaran</dc:creator><category>open-source</category><category>runtime</category></item>
<item><title>OpenFGA: relationship-based authorization for Loams</title><link>https://loams.dev/blog/openfga-authorization</link><guid isPermaLink="true">https://loams.dev/blog/openfga-authorization</guid><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><description>How OpenFGA&apos;s Zanzibar-style model answers &quot;may this user do this to that&quot;, why Loams plans it as its fine-grained authorizer beside built-in roles, the tenant fence we add to Lakekeeper&apos;s model, and why tuple writes go through an outbox.</description><dc:creator>Dinakaran</dc:creator><category>open-source</category><category>self-hosting</category></item>
<item><title>Beside Loams, not inside it: Sail, RisingWave, Neon and MySQL</title><link>https://loams.dev/blog/sail-risingwave-neon-and-wesql</link><guid isPermaLink="true">https://loams.dev/blog/sail-risingwave-neon-and-wesql</guid><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><description>Sail and RisingWave designs, plus the implemented WAL, routing and deployment foundations behind Loams Postgres and Loams SQL.</description><dc:creator>Dinakaran</dc:creator><category>open-source</category><category>sql</category><category>runtime</category></item>
<item><title>The small crates that carry a lot: SlateDB, foyer, openraft, redb, qdrant-edge and connect-rust</title><link>https://loams.dev/blog/slatedb-foyer-openraft-and-friends</link><guid isPermaLink="true">https://loams.dev/blog/slatedb-foyer-openraft-and-friends</guid><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><description>Six Rust libraries inside Loams that get less attention than DataFusion or Lance but hold up the primary-key index, the cache, the metastore, the HNSW hot tier and every protobuf API. What each does, how Loams uses it, and its limits.</description><dc:creator>Dinakaran</dc:creator><category>open-source</category><category>storage</category><category>engineering</category></item>
<item><title>Crash gates: how we test kill -9 at every step</title><link>https://loams.dev/blog/crash-gates</link><guid isPermaLink="true">https://loams.dev/blog/crash-gates</guid><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate><description>Named failpoints, a store fault matrix and a seeded linearizability simulation. This is what &quot;no acknowledged write is ever lost&quot; means in Loams’ test suite.</description><dc:creator>Dinakaran</dc:creator><category>testing</category><category>reliability</category><category>engineering</category></item>
<item><title>One manifest, two formats: Lance + Tantivy</title><link>https://loams.dev/blog/one-manifest-two-formats</link><guid isPermaLink="true">https://loams.dev/blog/one-manifest-two-formats</guid><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate><description>How Loams keeps a Lance dataset and a set of Tantivy splits mutually consistent on S3, with one compare-and-swap as the only commit point.</description><dc:creator>Dinakaran</dc:creator><category>storage</category><category>lance</category><category>tantivy</category><category>engineering</category></item>
<item><title>Why a retrieval engine should live on object storage</title><link>https://loams.dev/blog/why-object-storage</link><guid isPermaLink="true">https://loams.dev/blog/why-object-storage</guid><pubDate>Tue, 22 Sep 2026 00:00:00 GMT</pubDate><description>Most of an AI app&apos;s search data is cold most of the time. Here is why Loams keeps every byte in your bucket and treats compute as a cache.</description><dc:creator>Dinakaran</dc:creator><category>architecture</category><category>object-storage</category><category>hot-tier</category></item>
</channel>
</rss>
