All Posts

39 articles, newest first.

Long Context on a 32GB Mac: Four Local LLMs, Measured to 128K
19 min read

Long Context on a 32GB Mac: Four Local LLMs, Measured to 128K

Four local models measured at 4K to 128K context on one Apple M5 32GB. Two of them are the same size; at 64K one runs 3.3x faster on half the memory. At 128K a 12B model holds the window in the same memory as a 3B one, and faster. The difference is sliding-window attention.

Build Logs
Cloud GPU Pricing Compared: RunPod vs Vast.ai vs Lambda (2026)
15 min read

Cloud GPU Pricing Compared: RunPod vs Vast.ai vs Lambda (2026)

The three platforms don't just charge different rates — they sell compute in three different shapes. RunPod posts a flat rate in two tiers, Vast.ai's price is a distribution rather than a number, and Lambda quotes per GPU but sells by the configuration. Here's how that structure decides your bill, plus a July 2026 snapshot and a worked 24-hour H100 example.

Comparisons
Fix Common ComfyUI Installation and Out-of-Memory Errors
11 min read

Fix Common ComfyUI Installation and Out-of-Memory Errors

A 2026-current troubleshooting guide for ComfyUI's two most common headaches: install failures (torch/CUDA mismatches, failed custom nodes) and CUDA out-of-memory crashes. Includes copy-paste fixes, and why the once-standard --lowvram flag is mostly a no-op on setups where Dynamic VRAM is actually running — plus how to check whether yours is.

Troubleshooting
How to Run DeepSeek Locally with Ollama
7 min read

How to Run DeepSeek Locally with Ollama

A step-by-step 2026 guide to running DeepSeek-R1 locally with Ollama: install, pull a model, and chat in about ten minutes. Includes a registry-checked download-size table with VRAM guidance, the distilled-vs-full caveat most guides skip, model management, the local API, and troubleshooting.

Guides
How to Build a Local LLM Server with Ollama and Open WebUI
9 min read

How to Build a Local LLM Server with Ollama and Open WebUI

A complete, copy-pasteable guide to running a private ChatGPT-style assistant on your own machine with Ollama and Open WebUI. Covers honest hardware sizing, install steps for macOS/Windows/Linux, the Docker setup, the port binding most guides get wrong, and the networking fix that trips everyone up.

Guides
ComfyUI Workflows Explained: Load, Run, and Customize
7 min read

ComfyUI Workflows Explained: Load, Run, and Customize

A practical, end-to-end guide to ComfyUI workflows built around three verbs: load a workflow JSON, run the node graph, and customize it. Covers the three ways to load, the missing-custom-nodes wall that stops most downloaded workflows, and when you'd need API format.

Guides
Fix "SSL: CERTIFICATE_VERIFY_FAILED" in Python requests
8 min read

Fix "SSL: CERTIFICATE_VERIFY_FAILED" in Python requests

The SSL: CERTIFICATE_VERIFY_FAILED error in Python requests almost always means your CA bundle can't trust the server's certificate. Here's a cause-first decision tree: identify the cause with one openssl command, then apply the right fix — updating certifi, the macOS certificate script, environment variables, truststore, or a corporate root — without ever turning verification off.

Troubleshooting
What Is Quantization? Running Big Models on Less VRAM
9 min read

What Is Quantization? Running Big Models on Less VRAM

Quantization is what shrinks a 70B model from 140 GB to ~43 GB — enough for two consumer cards or a big-memory Mac, not one 24 GB GPU. Here's what it actually does, the memory math including the KV cache everyone forgets, how to read GGUF labels like Q4_K_M, and which quant level to pick for your VRAM.

AI & ML
Postgres vs SQLite for Small Apps in 2026
7 min read

Postgres vs SQLite for Small Apps in 2026

In 2026 the SQLite-vs-Postgres question flipped: it's no longer whether SQLite is production-ready, but whether your app actually has the concurrent-write volume that needs Postgres. A pragmatic decision guide with current versions, the single-writer trade-off, 2026 tooling (Litestream, Turso), a real cost table, and a migration trigger based on evidence rather than anticipation.

Comparisons
Pinecone vs pgvector vs Qdrant: Vector Databases Compared
12 min read

Pinecone vs pgvector vs Qdrant: Vector Databases Compared

Two axes decide this — where your data already lives, and how much infrastructure you want to run. A structural comparison of pgvector, Pinecone, and Qdrant, including why Pinecone never used HNSW, why two 2026 benchmarks disagree by 1.6–3x under identical stated conditions, and what actually separates the three.

Comparisons
The Best Local LLMs You Can Actually Run on 16GB and 32GB RAM (2026)
12 min read

The Best Local LLMs You Can Actually Run on 16GB and 32GB RAM (2026)

Local LLMs are free to download, so the real cost is RAM. Here's the arithmetic that decides what fits — about 0.6–0.65 GB per billion parameters, plus overhead, plus the KV cache — and a spec-checked shortlist of models that clear the 16GB and 32GB bars.

Comparisons
LLM API Pricing Compared: GPT vs Claude vs Gemini vs Open Models (2026)
16 min read

LLM API Pricing Compared: GPT vs Claude vs Gemini vs Open Models (2026)

A vendor-neutral 2026 guide to what actually decides your LLM bill: output rates, not headline input prices, and the five levers — caching, batch, length tiers, service tiers, and prompt design — that move the invoice more than switching vendors. Ends with a dated price snapshot, a worked cost example, and a pick-by-use-case verdict.

Comparisons
VPRM: A Critical Read of Verifiable Process Reward Models
20 min read

VPRM: A Critical Read of Verifiable Process Reward Models

Seven places where the VPRM paper's abstract, prose, and citations do not line up with its own tables — including two coherence numbers that cannot both be right.

AI & ML
Running TRELLIS.2 on a Mac (3/3): The Optimizations That Actually Won
18 min read

Running TRELLIS.2 on a Mac (3/3): The Optimizations That Actually Won

The optimizations that survived measurement: load time cut 5x, mesh extraction 67x, and a sixth twist that overturned my own conclusion about MPS attention.

Build Logs
QLoRA Explained: Fine-Tuning Big LLMs on a Single GPU
9 min read

QLoRA Explained: Fine-Tuning Big LLMs on a Single GPU

QLoRA finetunes a frozen 4-bit base model into 16-bit LoRA adapters, dropping the memory to adapt a 65B model from over 780 GB to under 48 GB — one GPU instead of a cluster, with no reported quality loss. Here's how NF4, double quantization, and paged optimizers make 4-bit training work, and what the paper proves versus infers.

AI & ML
OpenClaw: Set Up a Self-Hosted AI Assistant (Beginner Guide)
8 min read

OpenClaw: Set Up a Self-Hosted AI Assistant (Beginner Guide)

OpenClaw is an open-source, self-hosted AI assistant you run on your own machine and talk to through chat apps like Telegram and WhatsApp. This beginner guide walks through prerequisites, install, onboarding, connecting a WhatsApp channel, picking a model, and the safety basics for a tool that runs real shell commands.

Guides
Mixtral and Mixture-of-Experts, Explained
8 min read

Mixtral and Mixture-of-Experts, Explained

Mixtral 8x7B holds ~47B parameters but activates only ~13B per token, matching or beating Llama 2 70B and GPT-3.5 on most metrics at a fraction of the active compute. A walkthrough of how sparse mixture-of-experts works, what the benchmarks show, and the surprising finding that expert assignment appears to align more with syntax than with domain.

AI & ML
RLVR Explained: Verifiable Rewards and Where They Break Down
13 min read

RLVR Explained: Verifiable Rewards and Where They Break Down

Most RLVR explainers stop at "it works." This one adds the three published results that complicate it — pass@k, spurious rewards, and what DeepSeek-R1 actually shipped.

AI & ML
Running TRELLIS.2 on a Mac (2/3): Five Bottlenecks I Guessed Wrong
9 min read

Running TRELLIS.2 on a Mac (2/3): Five Bottlenecks I Guessed Wrong

Five confident guesses about where the Apple Silicon port was slow — and how honest measurement killed every one, plus the profiling methodology that made the numbers trustworthy.

Build Logs
Ollama vs LM Studio vs llama.cpp: The Best Way to Run LLMs Locally
8 min read

Ollama vs LM Studio vs llama.cpp: The Best Way to Run LLMs Locally

Ollama, LM Studio, and llama.cpp aren't really rivals — two of them wrap the third, so token speed is nearly identical. The real choice is interface and control. Here's a side-by-side comparison and a clear pick for each kind of user.

Comparisons
How to Set Up a Python Virtual Environment with uv
5 min read

How to Set Up a Python Virtual Environment with uv

uv replaces venv, pip, and virtualenv with one fast Rust binary. This guide walks through installing uv, creating a virtual environment with uv venv, installing packages, and when to move up to uv's project workflow.

Guides
What People Are Actually Building with Claude Fable 5 (and What It Teaches)
10 min read

What People Are Actually Building with Claude Fable 5 (and What It Teaches)

A tour of five real things people shipped with Claude Fable 5 in its first weeks: a browser-based procedural 3D world built ~99% autonomously, and four single-prompt UI pieces from a 550-project community gallery. Plus what the corpus teaches about one-shot prompting, verification tooling, cost, and hype.

News
Running TRELLIS.2 on a Mac (1/3): Porting a CUDA-Only Image-to-3D Model to Apple Silicon
7 min read

Running TRELLIS.2 on a Mac (1/3): Porting a CUDA-Only Image-to-3D Model to Apple Silicon

How I got Microsoft's CUDA-only image-to-3D model (TRELLIS.2) to run on Apple Silicon: an idempotent patcher, swapping the CUDA kernels out one by one, and the first generation.

Build Logs
Claude vs ChatGPT vs Gemini for Coding in 2026
9 min read

Claude vs ChatGPT vs Gemini for Coding in 2026

By mid-2026 all three frontier models write good code — the real choice is workflow fit, not raw capability. This vendor-neutral comparison pins exact 2026 versions, prices, and benchmarks for Claude Opus 4.8, GPT-5.5, and Gemini 3.1 Pro, then gives a clear 'pick X if you're Y' verdict with the benchmark-contamination caveat built in.

Comparisons
Is GitHub Copilot Worth It in 2026? (vs the Free Alternatives)
9 min read

Is GitHub Copilot Worth It in 2026? (vs the Free Alternatives)

GitHub Copilot's June 1, 2026 switch to token-metered AI Credits changed what your $10 buys. A 2026 re-evaluation of Copilot's paid and free tiers against Continue.dev, Cline, Aider, Windsurf, Cursor, and Tabnine — plus why Gemini's free tier is now dead — with a clear pick-for-whom verdict.

Comparisons
How to Install ComfyUI: A Beginner Step-by-Step Guide
6 min read

How to Install ComfyUI: A Beginner Step-by-Step Guide

A beginner-friendly, first-try install guide for ComfyUI — the free, open-source node interface for Stable Diffusion and Flux. Covers the one-click Desktop installer, the Windows Portable build, and a manual git install, plus hardware requirements and fixes for the errors beginners hit.

Guides
LoRA Explained: Low-Rank Adaptation for Cheap Fine-Tuning
6 min read

LoRA Explained: Low-Rank Adaptation for Cheap Fine-Tuning

LoRA freezes a pretrained model's weights and trains a tiny pair of low-rank matrices to represent the update instead. On GPT-3 175B it trains ~10,000x fewer parameters and matches full fine-tuning quality, and because the update merges back into the weights it adds zero inference latency.

AI & ML
One Session with Claude Fable 5 Un-Stuck My Abandoned Three.js Game
7 min read

One Session with Claude Fable 5 Un-Stuck My Abandoned Three.js Game

My son-inspired Three.js endless runner sat abandoned for nine months: no physics, horror-movie visuals, no real gameplay. One session with Claude Fable 5 produced 48 commits and solved exactly the systems that had me stuck — then export controls took the model offline that same day.

Build Logs
Running Qwen-Image on an Apple Silicon Mac: Low-VRAM Setup and Real Performance
8 min read

Running Qwen-Image on an Apple Silicon Mac: Low-VRAM Setup and Real Performance

A first-person field report on running Qwen-Image-2512, a 20B text-to-image model, on an M5 MacBook Pro with 32 GB of unified memory. It covers the memory math that forces quantization, a working ComfyUI/GGUF setup, the settings that matter, and the honest speed trade-offs.

Guides
Claude Sonnet 5: Near-Opus Agents at Sonnet Prices — With a Tokenizer Catch
7 min read

Claude Sonnet 5: Near-Opus Agents at Sonnet Prices — With a Tokenizer Catch

Claude Sonnet 5 delivers near-Opus performance for coding and agents at $3/$15 — but a new tokenizer means the real cost math depends on which model you're coming from. Opus 4.8 users get a clean 40% saving; Sonnet 4.6 users on English-heavy workloads may effectively pay ~40% more after the intro pricing ends August 31.

News
Claude Fable 5 Is Back: What the 19-Day Shutdown Changed
8 min read

Claude Fable 5 Is Back: What the 19-Day Shutdown Changed

Claude Fable 5 returned on July 1 after a 19-day, government-ordered global shutdown — and it came back changed. A new cybersecurity classifier now silently reroutes flagged requests to Claude Opus 4.8, and included subscription access ends July 7. Here's what changed, who gets access on what terms, and what the outage teaches about treating frontier models as single-vendor infrastructure.

News
Ollama vs vLLM vs LM Studio: Local LLM Runtimes in 2026
7 min read

Ollama vs vLLM vs LM Studio: Local LLM Runtimes in 2026

Ollama, vLLM, and LM Studio aren't really competitors — they live on different layers of the local LLM stack. The choice comes down to one number: how many requests hit your model at once. Here's a decision-first breakdown with the 2026 versions, tradeoffs, and a clear pick for each use case.

Comparisons
Cursor vs GitHub Copilot vs Windsurf: Which AI Coding Tool in 2026?
7 min read

Cursor vs GitHub Copilot vs Windsurf: Which AI Coding Tool in 2026?

Windsurf is now Devin Desktop after Cognition's acquisition — here's how the three leading AI coding tools compare in 2026. A verified price-and-feature table for Cursor, GitHub Copilot, and Devin Desktop, plus a clear pick for each kind of developer.

Comparisons
KV Cache Explained: Why LLM Inference Slows Down
13 min read

KV Cache Explained: Why LLM Inference Slows Down

LLM generation slows down on long contexts because of one data structure: the KV cache. It grows linearly with every token and must be re-read in full on each decode step, making decode memory-bandwidth bound. Here is the formula, the real numbers, and how GQA, MLA, PagedAttention, and prefix caching fight back.

AI & ML
How LoRA Fine-Tuning Works (and When to Use It)
8 min read

How LoRA Fine-Tuning Works (and When to Use It)

LoRA freezes a model's pretrained weights and trains a tiny low-rank update instead, cutting trainable parameters by ~10,000x and GPU memory by ~3x. This explainer covers how the mechanism works, what QLoRA and the variants add, and an honest, research-backed framework for when LoRA wins and when full fine-tuning still beats it.

AI & ML
What Is RAG? Retrieval-Augmented Generation Explained
9 min read

What Is RAG? Retrieval-Augmented Generation Explained

Retrieval-Augmented Generation (RAG) grounds an LLM's answers in information it pulls from an external knowledge source at query time, instead of relying on frozen training data. Here's what RAG is, how the indexing and retrieval pipelines actually work, and when to choose it over fine-tuning or long-context.

AI & ML
uv vs pip vs Poetry: Python Package Managers in 2026
6 min read

uv vs pip vs Poetry: Python Package Managers in 2026

uv, pip, and Poetry each solve a different problem in 2026. Here is the benchmark-backed case for defaulting to uv on new projects, keeping pip as the universal baseline, and reaching for Poetry when you publish libraries — plus a skimmable decision guide and migration notes.

Comparisons
How to Self-Host n8n with Docker Compose on a VPS
8 min read

How to Self-Host n8n with Docker Compose on a VPS

A 2026 production guide to self-hosting n8n on a VPS with Docker Compose: official images, PostgreSQL, external task runners, automatic HTTPS via Caddy, and a backup routine that protects your encryption key. Updated for the n8n 2.0 hardening release and the March 2026 RCE disclosures.

Guides
How Speculative Decoding Speeds Up LLM Inference
7 min read

How Speculative Decoding Speeds Up LLM Inference

Speculative decoding makes LLM inference 2-3x faster by letting a small draft model guess ahead and a large model verify the guesses in one parallel pass. A rejection-sampling step keeps the output mathematically identical to the slow path. Here's how it works, why it's lossless, and where it stops helping.

AI & ML