Claim pageClaim
Follow
Overview
News
Salaries
Products
People
Growth
Offices
Financials
News
Fisher on SQLite, Part 2: The event store
Event sourcing in Fisher: a sale as a stream, committing in the same transaction as your documents, projections across the lifecycles, and the async daemon. Plus the two places SQLite genuinely changes the semantics, where the exclusive append methods fai
Read more
Report
Fisher on SQLite, Part 3: Backing it up to S3
A Fisher store is one SQLite file, which makes backup sound trivial. Copying that file while the application runs silently loses committed writes. Here is the demonstration, the SQLite primitive that gets it right, and a hosted service that snapshots, ver
Read more
Report
Fisher on SQLite, Part 1: The document store
Fisher is the Marten and Polecat programming model on SQLite, running inside your own process with no database server at all. A tour of the document side: identity, sessions, LINQ including joins and paging, expression indexes against generated columns, p
Read more
Report
HTML preprocessing in ReverseMarkdown: fix the input, not the output
Real-world HTML arrives wrapped in navigation chrome, tracking attributes and inline CSS. ReverseMarkdown 6.2.1 adds Config.Preprocess, an ordered pipeline of DOM transformations applied to the source HTML before conversion: remove, unwrap, rename, recove
Read more
Report
Practical RAG with Marten and pgvector, Part 2: A Q&A Assistant for the Marten Docs
Turn the same Marten + pgvector + Ollama stack from Part 1 into a question-answering assistant over the Marten documentation. The new ingredient is chunking: splitting long markdown pages into retrievable passages, then citing the exact page each answer d
Read more
Report
Practical RAG with Marten and pgvector, Part 1: Semantic Search over Movie Plots
Build semantic search and a small RAG pipeline over 42,000 movie plots using nothing but Postgres. Marten's new pgvector package stores and searches the embeddings, Ollama generates them locally, and there is not an API key in sight.
Read more
Report
Dynamic Consistency Boundary in Marten, Part 4: Production considerations
Tag storage modes, the global-lock failure mode of over-broad queries, tag governance, schema evolution, incremental migration from existing aggregates, and when DCB is the wrong tool.
Read more
Report
Dynamic Consistency Boundary in Marten, Part 3: Less ceremony with Wolverine
We rebuild the redemption command from Part 2 using Wolverine.HTTP with a WolverinePost endpoint, where the HTTP route, the DCB consistency boundary, and the business decision live in one static method. Includes an Alba HTTP test.
Read more
Report
Dynamic Consistency Boundary in Marten, Part 2: Implementation with plain Marten
We build the coupon redemption command from Part 1 using Marten's DCB API: tag types, BoundaryAggregate, FetchForWritingByTags, and the explicit ConcurrencyException retry cycle.
Read more
Report
Dynamic Consistency Boundary in Marten, Part 1: The aggregate trap
The structural problem DCB solves: business rules that span multiple aggregates and cannot be defended by per-stream optimistic concurrency.
Read more
Report
Show more news
