How to Run LLMs Locally with Ollama and Python
Install Ollama, pull an open model, and call it from Python with streaming, error handling, and a speed…
Blog
AI systems, platform engineering and architecture. Lessons from 13+ years of building at scale.
Install Ollama, pull an open model, and call it from Python with streaming, error handling, and a speed…
Executive Summary: A Java thread runs a Runnable once you call start, and it moves through a defined…
Learn how to build a high-performing engineering team with Tuckman's stages, a team charter, and psychological safety, plus…
Executive Summary: This practice project builds LinkCheck, a Java tool that reads URLs from a file, fetches each…
Archived opinion piece on foldable phones and mobile form factors. Kept for reference; outside this site's core engineering…
Retrieval-augmented generation in about 150 lines of plain Python: chunking, retrieval, a grounded prompt with citations, a refusal…
HTTP/2 vs HTTP/3 compares streams, head-of-line blocking, and QUIC so you can pick a protocol that stays fast…
Monolith vs microservices decided honestly: the side-by-side comparison on team shapes, scaling, and operational maturity, the modular monolith…
Executive Summary: Modern Java gives you var for local type inference, text blocks for multi-line strings, switch expressions…
Turn text into vectors, store them in a NumPy matrix, and rank by cosine similarity. A complete semantic…
Executive Summary: Java REST services without clear layering end up with fat controllers and brittle contracts. Here I…
Executive Summary: Spring Boot auto-configuration sets up the server, dependency injection, and JSON handling, so a REST endpoint…
Executive Summary: Java networking ranges from raw TCP sockets to the built-in HttpClient. I cover ServerSocket and Socket…
Executive Summary: Dependency injection means a class receives its collaborators, usually as interfaces through the constructor, instead of…