The Day I Unplugged an MCP Server for the First Time — How I Decide Which Tools Stay On
Keep adding MCP servers and quality degrades well before you hit the API ceiling of 512 function declarations. Here is how I use includeTools and excludeTools in Gemini CLI to decide which tools stay enabled, and how I put the rest away.
When Transcription Keeps Mangling Proper Nouns: Choosing What Earns a Custom Vocabulary Slot
gemini-3.5-transcribe accepts up to 1,000 custom_vocabulary entries, but filling the list is not the goal. Here is a 60-line script that picks entries from your own reference-and-hypothesis pairs, plus the rules I use to decide what to leave out.
iOS 27 arrives September 14, and my Gemini API calls stay exactly as they are — what changes is the menu
iOS 27 ships on September 14. Even with the new Siri built on Gemini, the Gemini API calls inside your own app do not change. Here is how I separate the three layers at the call site, and the four things I finish before release day.
Matching name variants in a print catalog: normalize first, then ask Gemini for candidates
When the same artist appears under three spellings, asking Gemini whether two names are the same person quietly merges different generations. Here is the two-layer alternative — deterministic normalization first, model-generated candidates second — with working code and a cost estimate.
Writing my first Gemini cost estimate in two columns, one for now and one for January
Introductory pricing for Gemini Flash ends on December 31, 2026, and standard pricing starts on January 1, 2027. Staying on an older generation does not avoid it. Here is the small, working estimator I use to see both prices at once.
The day Lyria 3.5 landed, I changed how my audio folders are laid out
When Lyria 3.5 brought full-length generation, my generated takes were sitting in the same folder as the tracks I had chosen by hand. Here is the forty-line ledger gate that draws the line by hash, not by filename.
Two Kinds of Video Questions: Why I Send "Find It" and "Prove It Isn't There" Down Separate Paths
Agentic video understanding lets the model decide which parts of a video to watch. That works beautifully for finding things, and it quietly breaks when you need to prove something never appears. Here is how I split my questions, and the coverage check I now run first.
On Wear OS and Android Auto, Failure Has to Speak Too
Google Assistant starts giving way to Gemini on September 4. On Wear OS and Android Auto you cannot report a failure with a toast. Here is how I moved my error paths into media session state, and the three things I decided before the switch.
Define What Counts as a Duplicate Before Adding Embedding Search to Your Image Pipeline
My dedup check flagged two prints with identical composition but different colors as one image. Here is how I split duplicate detection into three layers, measured where perceptual hashing ends, and decided what embedding search is actually for.
Why Shipped Clients Deserve a Refusal, Not a Silent Model Substitution
A model can retire, but the apps already on people's phones cannot. This is how I built a sunset ledger keyed on output contracts, and how I now back-date my own deadline from the version residue curve.
What decides whether your Gemini API data trains Google's models, and the one exception on the paid tier
Whether your Gemini API prompts feed model training is not settled by the paid tier alone. Here is how AI Studio and the API define paid differently, how dataset sharing reverses the protection, and what changes by region.
Record what you send before you try to measure whether temperature still works
Deprecated sampling parameters still return 200 and are silently ignored. Here is how a runtime recorder caught the call sites grep and AST both missed, kept the construction site attached to each config, and turned the ledger into a CI gate.