Blog/RSS feed
Follow with RSS
RSS lets a feed reader check this site for you. Add the address below once, and every new experiment shows up in your reader automatically. No account or email needed.
Works with Feedly, Inoreader, NetNewsWire, Thunderbird and most newsletter or auto-posting tools.
What's in the feed
- What one RAG query costs: a token-by-token breakdown (with calculator)
- pgvector vs numpy on 100k vectors: exact scan is 5x slower, HNSW is 7x faster
- BM25 from scratch in Python: 27 lines, score-identical to rank_bm25 and up to 1.7x faster
- Prompt injection through documents: 12 poisoned chunks, 3 regex detectors, 1 of 8 new attacks caught
- Recovering headings from PDFs for RAG chunking: font size alone found 26%
- Embedding dimensions: what 256 vs 1024 vs 3072 costs in memory, latency and recall
- Multi-tenant RAG without data leaks: 5 designs, one test suite
- Streaming LLM answers from FastAPI with SSE: sources first, then tokens
- Make your RAG say 'I don't know': a score threshold, measured
- Reciprocal Rank Fusion k=60: what the constant does, measured on real BM25 + vector runs
- Build an MCP server in Python for your docs: stdio and HTTP, with measured payload sizes
- Metadata filtering in vector search: post-filter loses results, measured
- Databricks control plane vs compute plane (data plane), explained
- FastAPI headers: read, validate and set them (and the underscore trap)
- OpenAI Responses API vs Chat Completions: what changes in your code
- Does chunk overlap help? Measured at 0, 10, 20 and 40 percent
- Chunk size sweep: 200 to 2,000 characters on real docs
- AI Engineering: Tool use & agents
- AI Engineering: Grafana, Prometheus, Tempo & Loki
- AI Engineering: Guardrails, security & cost control
- AI Engineering: Ingestion & chunking
- AI Engineering: Langfuse: LLM tracing & evals
- AI Engineering: MCP: the Model Context Protocol
- AI Engineering: MCP clients & security
- AI Engineering: Build an MCP server in Python
- AI Engineering: OpenTelemetry fundamentals
- AI Engineering: Tracing LLM calls with OpenTelemetry
- AI Engineering: Project: an observable docs copilot
- AI Engineering: Prompt engineering that holds up
- AI Engineering: Evaluating RAG
- AI Engineering: Build a RAG pipeline in Python
- AI Engineering: Retrieval that actually works
- AI Engineering: Sampling, latency & cost
- AI Engineering: Tokens, embeddings & the transformer
- AI Engineering: Embeddings & vector databases
- AI Engineering: What an LLM actually is
- AI Engineering: Why LLM apps need observability
- AI Engineering: Why RAG exists
- FastAPI: API design & OpenAPI
- FastAPI: async def vs def: the concurrency model
- FastAPI: Authentication: passwords, JWTs & API keys
- FastAPI: Background work & task queues
- FastAPI: Request bodies & Pydantic v2
- FastAPI: Pagination, concurrency & migrations
- FastAPI: Dependency injection in depth
- FastAPI: Deployment & graceful shutdown
- FastAPI: Errors & a consistent error contract
- FastAPI: Lifespan, state & shared resources
- FastAPI: Middleware
- FastAPI: Logging, metrics & tracing
- FastAPI: Path, query & header parameters
- FastAPI: Performance & scaling
- FastAPI: The production pitfalls checklist
- FastAPI: Project: a production-grade orders API
- FastAPI: Responses & serialization
- FastAPI: Authorization & API security
- FastAPI: Configuration with pydantic-settings
- FastAPI: Setup, tooling & the dev loop
- FastAPI: Databases with async SQLAlchemy 2.0
- FastAPI: Streaming, SSE, WebSockets & files
- FastAPI: Routers, layers & project structure
- FastAPI: Testing FastAPI apps
- FastAPI: What FastAPI really is
- OpenAI SDK: The OpenAI Agents SDK
- OpenAI SDK: Async client & concurrency
- OpenAI SDK: Built-in tools
- OpenAI SDK: Conversation state & memory
- OpenAI SDK: Cost & latency optimisation
- OpenAI SDK: Embeddings & semantic search
- OpenAI SDK: Errors, retries & timeouts
- OpenAI SDK: Files, vector stores & managed retrieval
- OpenAI SDK: Function calling: the tool loop
- OpenAI SDK: How the OpenAI API works
- OpenAI SDK: Models, parameters & tokens
- OpenAI SDK: Images, files & audio
- OpenAI SDK: Project: retail analyst assistant
- OpenAI SDK: Realtime & voice
- OpenAI SDK: Responses API vs Chat Completions
- OpenAI SDK: Safety, moderation & data handling
- OpenAI SDK: Setup, keys & your first call
- OpenAI SDK: Streaming responses
- OpenAI SDK: Structured outputs with Pydantic
- OpenAI SDK: Testing & evaluating LLM code
- RAG evals that fail CI: a golden-set harness in about 100 lines of Python
- JEPA vs LLMs: what LeCun's world models actually change for engineers
- Do you need a vector database? Brute-force search benchmarked from 10k to 1M vectors
- Hybrid search in Python: BM25 + vectors with Reciprocal Rank Fusion, alpha swept 0 to 1
- Jev vs LLMs: when a decision model beats a chat model (and when it doesn't)
- RAG chunking, measured: heading-aware chunks doubled hit@1 on the FastAPI docs
- The RAG production checklist: 25 checks before real users see it
- Stop fake citations in RAG: validate them server-side in 25 lines of Python
Prefer email? Get new experiments by email instead.