AIIndonesia Grok Block: AI Image Moderation for Product Builders
Indonesia switched Grok off on a Saturday and Malaysia followed on the Sunday. The regulators named the missing control, and it was the one that acts before the model runs.
Read MoreBlog
Articles on AI agents, LLM engineering, and applied machine learning — prompt design, RAG, evaluation, and building production AI features.
96 articles
AIIndonesia switched Grok off on a Saturday and Malaysia followed on the Sunday. The regulators named the missing control, and it was the one that acts before the model runs.
Read More
A locally trained model does not make Indonesian cheaper to send, because it keeps the base model's tokeniser. I measured four tokenisers to find what does change.
Read More
The first hour with a repository nobody on your team wrote: map the perimeter, run the commands, write the findings to an instruction file, and delete every claim you cannot trace.
Read More
A prompt has no type system and no compiler, so a suite of tests is the only thing standing between a reworded instruction and a changed product. Here is how I build that suite: cases lifted from real incidents, deterministic assertions before any judge, a judge calibrated against my own labels, a pinned model, and the three things a red run can mean.
Read More
A hook fires whether the agent agrees or not, while an instruction only competes for attention. The five axes I use to decide which layer carries a rule.
Read More
An agentic coding bill tracks the context you re-send, not the code you produce. The four consumers of a token budget, and which you pay for every turn.
Read More
An AI reviewer takes an afternoon to add to CI and months to calibrate, and the calibration is the whole problem. Here is the split between blocking and advisory findings, the shadow-mode measurement that earns a class the right to block, and the rule that takes it away again.
Read More
A monorepo defeats naive agent context in a specific way. How to scope instruction files by directory, activate skills by glob, and delegate fan-out search to a subagent.
Read More
Why strict, statically typed languages like Go and TypeScript suit AI-assisted coding — the compiler feedback loop, the honest benchmark caveat, and what to keep.
Read More
The advisor lets Claude consult a stronger model at decision points instead of running it all the time. Here are the pairings, cost and limits.
Read More
Auto memory is notes Claude writes itself from your corrections. Here is what it saves, where it lives, the index limit, and how to audit it.
Read More
Fast mode is the same Opus configured for speed at a higher token price. Here is when it pays, the cost trap, and how effort levels differ.
Read More
The goal command sets a completion condition and a separate model checks it after every turn. Here is how to write one that actually resolves.
Read More
An unconstrained plugin dependency tracks whatever the upstream released last. Here are ranges, the tag convention behind them, and bundles.
Read More
A marketplace is one JSON file that distributes Claude Code plugins to a team. Here are the sources, the version trap, and the rollout path.
Read More
Background sessions are hosted by a per-user supervisor process that outlives your shell. That single fact explains the worktrees, the credentials, and the surprises.
Read More
A channel is an MCP server that pushes rather than waits to be asked, so a CI failure arrives in the session that already has your files open and your context loaded.
Read More
Ultrareview runs a fleet of reviewer agents in a cloud sandbox and independently reproduces every finding before reporting it. That verification step is the product.
Read More
Chrome integration shares your browser's logged-in state, which is what makes it useful and what you have to reason about. Here is the permission model in full.
Read More
A million-token window does not remove the need to manage context. It changes when compaction fires, and on some setups it is worth deliberately capping at 200K.
Read More
Claude can pass a finding from one of your sessions to another by name, on this machine or across your machines, without you copy-pasting between terminals.
Read More
An alias does not mean the same model on every provider, a fallback chain is invisible until it fires, and an unsupported effort level degrades without telling you.
Read More
Caching matches the request prefix exactly, so switching model mid-task re-reads everything. Here are the two TTL buckets and the invalidations worth avoiding.
Read More
Tool search loads only MCP tool names at session start and fetches schemas on demand, so adding another server stops costing you context on every request.
Read More