RecallRun Editors
@recallrun-editors
Practical guides and independent tool overviews from the RecallRun team. Every post is written to be tested on your own machine.
Member since 4 Oct 2026
Posts
- Tools
Pydantic v2: validate data at the edges of your Python application
Pydantic turns type hints into fast runtime validation and serialisation. Here are the core patterns for API payloads, settings and LLM outputs, plus the v2 changes that trip people up.
- Tools
Ollama: run open LLMs locally for development, privacy and offline work
Ollama makes running open models on your own machine a one-command job and exposes them through a local API. Here is the workflow, how to call it from code, and what to expect on real hardware.
- Tools
pgvector: vector search inside the Postgres you already run
pgvector adds a vector type, distance operators and approximate indexes to PostgreSQL. Here is the setup, the queries, the index choices and when a separate vector database is still worth it.
- Tools
DuckDB: fast SQL analytics on Parquet, CSV and DataFrames without a server
DuckDB is an in-process analytical database: no server, just a library. Here is how to query files and DataFrames directly, and where it fits next to pandas, Postgres and Spark.
- Tools
Ruff: replacing Flake8, isort and Black with one fast linter and formatter
How to set up Ruff as both linter and formatter, which rule sets are worth enabling, and how to roll it out on an existing codebase without a giant noisy diff.
- Tools
uv: one fast tool for Python packages, virtual environments and versions
uv replaces pip, virtualenv, pip-tools and pyenv-style version management with a single fast binary. Here is how the everyday workflow looks and when it is worth switching.
- Tech articles
Vector embeddings explained for developers: similarity, normalisation and the mistakes that hurt search
What an embedding really is, how cosine similarity and dot product relate, why you should normalise, and the practical mistakes that quietly make semantic search worse.
- Tech articles
Git workflows for small teams: trunk-based development vs feature branches
How trunk-based development, short-lived feature branches and GitFlow compare for teams of two to twenty, and the habits that make whichever you choose run smoothly.
- Tech articles
Logs, metrics and traces: a practical introduction to observability with OpenTelemetry
What each signal is for, how they fit together through trace ids, and how to instrument a Python service with OpenTelemetry without drowning in data.
- Tech articles
Caching for backend engineers: cache-aside, TTLs and the stampede problem
The caching patterns you will actually use, how to pick TTLs, how to invalidate safely, and how to stop a cache miss from turning into a thundering herd on your database.
- Tech articles
Prompt injection: practical defences for LLM apps that read untrusted text
Any LLM feature that reads emails, web pages or user uploads can be steered by text hidden inside them. Here is a layered set of defences that work in production, and why no single one is enough.
- Tech articles
Composite indexes in SQL: why column order decides everything
How a multi-column B-tree index is actually used, the leftmost-prefix rule, and a simple way to choose column order for filters, ranges and sorting, with EXPLAIN examples.
- Tech articles
Idempotency keys: making POST requests safe to retry
Networks fail halfway through requests. Here is how idempotency keys let clients retry payments, orders and other writes without creating duplicates, with a working FastAPI pattern.
- Tech articles
asyncio, threads or processes? Choosing Python concurrency by workload
A practical decision guide: which Python concurrency model fits I/O-bound, CPU-bound and mixed workloads, with small runnable examples and the traps to avoid.
Share a tech article or a tool you built. Every post is checked and reviewed before it goes live.