Series
All Series
Ordered sequences of posts — read from start to finish.
AI Foundations
AI explained from zero. What AI, ML, and deep learning actually are, what a model is, how training and inference differ, and the real meaning of LLMs, context windows, RAG, and fine-tuning.
- 01
AI, in plain words
What "AI" actually means, where the term came from, and why every product calls itself AI now. Sets up where machine learning and deep learning fit underneath.
- 02
Inside AI: machine learning and deep learning
Open the AI umbrella. Machine learning is the part that learns from data. Deep learning is ML done with neural networks — and that's where today's models live.
- 03
What makes a model: data and algorithm
A model is a file of learned numbers, produced by running an algorithm over data. Both ingredients matter, but bad data beats a good algorithm every time.
- 04
How a model learns: training and inference
Training is the expensive one-time event where a model's numbers get tuned. Inference is the cheap repeated use afterwards. The gap in cost is enormous, and it shapes the whole industry.
AI Running
Where AI actually runs and what it costs. Cloud vs local vs edge, the major models in 2026, what your laptop needs to host them, the runtimes, API token economics, and what really leaves your machine.
- 01
Where AI actually runs: cloud, local, edge
Where the model file actually sits when you use AI: a datacenter GPU (cloud), your own machine (local), or the device's silicon (edge). The trade-offs and how to pick.
- 02
What leaves your machine when you use AI
What providers actually see, log, and retain when you call an LLM API in 2026. What 'we don't train on your data' really means, free vs paid tier differences, and when local is the only safe option.
- 03
LLM APIs and the economics of tokens
How input vs output tokens are priced, why output is 5-6x more, what prompt caching saves you (10x), and the hidden costs (tokenizer drift, reasoning tokens, tool-call loops) that surprise people.
- 04
The runtimes: llama.cpp, Ollama, LM Studio
llama.cpp is the engine; Ollama and LM Studio wrap it. What each does, when to pick which, and why the OpenAI-compatible APIs are mostly but not entirely interchangeable.
Local Llms
Run a useful LLM on the laptop you already have. Hardware tiers, model picks, runtimes, RAG and tools, fine-tuning, and how to debug it when it breaks.
- 01
Troubleshooting local LLMs and keeping up
The catalog of common local-LLM failures: OOM, slow tok/s, garbage output, instruction drift, RAG miss, tool-call hallucination. Plus where to follow the field as it moves.
- 02
Fine-tuning a model locally
When fine-tuning is the right answer (rarely) and how to do it on consumer hardware: LoRA, QLoRA, MLX-LM, Unsloth. A worked example fine-tuning Llama 3.2 3B on a 16GB Mac.
- 03
Local agents and tool use
Function calling on open models in 2026: which models actually work (Qwen 2.5, Hermes 3, Llama 14B+), why local agents fail when they fail, and how to build defensive scaffolding around them.
- 04
Local RAG and embeddings
A complete local RAG pipeline in 30 lines: nomic-embed-text for embeddings, Chroma for the vector DB, Llama 3.2 for the chat model. Why local RAG often beats cloud RAG for personal knowledge bases.
Setup Toolbox
One-stop install guides for the CLI tools every other post on this blog assumes you have. Cross-platform: macOS, Linux, Windows. Each post covers install, configure, verify, and the gotchas.
- 01
Install Homebrew
Install Homebrew, the de-facto package manager on macOS. The one-line installer, PATH setup for Apple Silicon, and how to verify it works.
- 02
Install Git
Install Git on macOS, Linux, and Windows. Configure your name and email so commits are attributed correctly. Verify the install in one command.
- 03
Install Node.js and npm
Install Node.js and npm via a version manager (nvm, fnm, or Volta) so you can switch versions per project. Verify with node -v and npm -v.
- 04
Install Python with uv
Skip system Python. Install uv, then use uv to manage Python versions and per-project virtual environments. Verify with uv python list.