devinfo.dev:2026.0070 |
July 18, 2026 |
The Tokenizer Decides What the Model Can See |
devinfo.dev:2026.0069 |
July 17, 2026 |
Fine-Tuning Is Usually Not the First Move |
devinfo.dev:2026.0068 |
July 16, 2026 |
Continuous Batching Is Why Your Server Is Fast |
devinfo.dev:2026.0067 |
July 15, 2026 |
Speculative Decoding Is a Bet on the Draft |
devinfo.dev:2026.0066 |
July 14, 2026 |
Retrieval Is a Ranking Problem |
devinfo.dev:2026.0065 |
July 13, 2026 |
Quantization Is a Memory-Bandwidth Decision |
devinfo.dev:2026.0064 |
July 12, 2026 |
The Adapter Is Not the Model |
devinfo.dev:2026.0063 |
July 11, 2026 |
The Image Is a Token Budget |
devinfo.dev:2026.0062 |
July 10, 2026 |
The Embedding Is Not the Default |
devinfo.dev:2026.0061 |
July 9, 2026 |
Perplexity Is Not a Proxy |
devinfo.dev:2026.0060 |
July 8, 2026 |
The Grammar Is the Guarantee |
devinfo.dev:2026.0059 |
July 7, 2026 |
Calibration Is the Work |
devinfo.dev:2026.0058 |
July 6, 2026 |
The Protocol Is the Integration |
devinfo.dev:2026.0057 |
July 6, 2026 |
Synthetic Data for Fine-Tuning: The Engineering Guide |
devinfo.dev:2026.0056 |
July 5, 2026 |
The Activation Is a Gate |
devinfo.dev:2026.0055 |
July 4, 2026 |
The Draft Model Does the Work |
devinfo.dev:2026.0054 |
July 3, 2026 |
Position Is a Rotation |
devinfo.dev:2026.0053 |
July 2, 2026 |
The Schema Is the Spec |
devinfo.dev:2026.0052 |
July 1, 2026 |
Position Is Not Neutral |
devinfo.dev:2026.0051 |
June 30, 2026 |
Thinking Tokens Are Compute |
devinfo.dev:2026.0050 |
June 29, 2026 |
The System Prompt Is Load-Bearing |
devinfo.dev:2026.0049 |
June 29, 2026 |
The Memory Wall: A Field Guide to LLM Inference on Consumer Hardware |
devinfo.dev:2026.0048 |
June 28, 2026 |
The Chat Template Is the Interface |
devinfo.dev:2026.0047 |
June 27, 2026 |
The Scheduler Is Not the Model |
devinfo.dev:2026.0046 |
June 26, 2026 |
Attention Heads Are Not Equal |
devinfo.dev:2026.0045 |
June 25, 2026 |
Sparsity Is Not Speed |
devinfo.dev:2026.0044 |
June 24, 2026 |
Distillation Is Not Compression |
devinfo.dev:2026.0043 |
June 23, 2026 |
PagedAttention Is an OS Idea |
devinfo.dev:2026.0042 |
June 22, 2026 |
RAG Is a Retrieval Problem: Chunking, Indexing, and Why Engineers Get It Backwards |
devinfo.dev:2026.0041 |
June 22, 2026 |
gather() Is Not Structured Concurrency |
devinfo.dev:2026.0040 |
June 21, 2026 |
Prefill Is the Stall |
devinfo.dev:2026.0039 |
June 20, 2026 |
Alignment Is an Engineering Decision |
devinfo.dev:2026.0038 |
June 19, 2026 |
Sparse Is Not Small |
devinfo.dev:2026.0037 |
June 18, 2026 |
Sampling Is a Filter |
devinfo.dev:2026.0036 |
June 17, 2026 |
The Router Is the System |
devinfo.dev:2026.0035 |
June 16, 2026 |
Compression Is Not Cheating |
devinfo.dev:2026.0034 |
June 15, 2026 |
The While Loop Is the Easy Part: Engineering Agents for Production |
devinfo.dev:2026.0033 |
June 15, 2026 |
The Prompt Is a Program |
devinfo.dev:2026.0032 |
June 14, 2026 |
Long Context Is Not Long Attention |
devinfo.dev:2026.0031 |
June 13, 2026 |
Parallelism Is a Topology Decision |
devinfo.dev:2026.0030 |
June 12, 2026 |
Merging Is Not Training |
devinfo.dev:2026.0029 |
June 11, 2026 |
The Tokenizer Is the Bug |
devinfo.dev:2026.0028 |
June 10, 2026 |
GGUF Is a Container, Not Just Weights |
devinfo.dev:2026.0027 |
June 9, 2026 |
Flash Attention Is an IO Problem |
devinfo.dev:2026.0026 |
June 8, 2026 |
Prefix Caching Is Free Throughput |
devinfo.dev:2026.0025 |
June 8, 2026 |
Evals Are Not Optional |
devinfo.dev:2026.0024 |
June 7, 2026 |
Continuous Batching: The Throughput Multiplier |
devinfo.dev:2026.0023 |
June 5, 2026 |
LoRA Is Not Fine-Tuning |
devinfo.dev:2026.0022 |
June 4, 2026 |
Steering Is Not Prompting |
devinfo.dev:2026.0021 |
June 3, 2026 |
The KV Cache Is Your Real Memory Budget |
devinfo.dev:2026.0020 |
June 2, 2026 |
Attention Sinks: The Tokens That Hold Everything Together |
devinfo.dev:2026.0019 |
June 1, 2026 |
The Tool Is Not the Model |
devinfo.dev:2026.0018 |
June 1, 2026 |
Fine-Tuning, RAG, or Prompting: An Engineering Decision |
devinfo.dev:2026.0017 |
May 31, 2026 |
Embeddings Are Not Optional |
devinfo.dev:2026.0016 |
May 30, 2026 |
Temperature Is Not Creativity |
devinfo.dev:2026.0015 |
May 29, 2026 |
Retrieval Is the Weakest Link |
devinfo.dev:2026.0014 |
May 28, 2026 |
Prompt Caching Is Free Money |
devinfo.dev:2026.0013 |
May 27, 2026 |
The LocalLLM Engine Stack: One API, Multiple Backends, Zero Lock-in |
devinfo.dev:2026.0012 |
May 27, 2026 |
Structured Outputs Are a Contract |
devinfo.dev:2026.0011 |
May 27, 2026 |
OpenCode with Local Models: Pointing Your Coding Agent at Your Own Inference |
devinfo.dev:2026.0010 |
May 27, 2026 |
Ollama Beyond Defaults: Custom Model Paths on Windows and WSL |
devinfo.dev:2026.0009 |
May 27, 2026 |
From Free Tier to Sovereignty: Running Inference on Cloud ARM Instances |
devinfo.dev:2026.0008 |
May 26, 2026 |
The Model Is Not the Agent |
devinfo.dev:2026.0007 |
May 25, 2026 |
Speculative Decoding: The Free Tokens |
devinfo.dev:2026.0006 |
May 25, 2026 |
Choosing Your Inference Engine: llama.cpp, Ollama, and vLLM |
devinfo.dev:2026.0005 |
May 24, 2026 |
Your Infrastructure Should Not Need Permission |
devinfo.dev:2026.0004 |
May 24, 2026 |
Quantization Is a Design Decision |
devinfo.dev:2026.0003 |
May 23, 2026 |
The Cost of Abstraction |
devinfo.dev:2026.0002 |
May 23, 2026 |
Context Is Not Memory |
devinfo.dev:2026.0001 |
May 20, 2026 |
Clarity is Kindness |