Deleting Language from the LLM: Inside TypeSafe's Jev and Decision Models

When you force a 70-billion-parameter language model to output ’true’ or ‘false’, you pay for sequential token decoding, uncalibrated probabilities, and broken JSON. Here is why TypeSafe stripped natural language out of the loop.

September 22, 2026 · 9 min · Hanh Pham

The Four-Layer AI Coding Stack: Why Your Assistant Fails (and It's Not the Model)

Most developer frustration with AI coding assistants comes from conflating the editor, the agent loop, the gateway, and the model. Here is how the four layers actually fit together, where failures originate, and how to build a setup that survives production work.

September 19, 2026 · 9 min · Hanh Pham

WSL2 and tmux: Clean Clipboard Integration Without the Latency or Garbage Characters

Piping tmux selections directly to clip.exe leaves trailing pane padding, broken prompt glyphs, and line ending mismatches in your clipboard. Here is a fast, sanitized copy-paste pipeline built for WSL2.

September 12, 2026 · 13 min · Hanh Pham

Apple M4 vs Huawei Ascend 950: Two Theories of the AI Chip

One is a fixed-function FP16 block hidden inside a laptop chip Apple won’t document. The other is a programmable FP4 datacenter engine Huawei ships in 8,192-chip fabrics. Same goal, opposite theses: here’s what the M4 family actually is, and what the numbers do and don’t mean against the Ascend 950.

September 9, 2026 · 12 min · Hanh Pham

tmux Panes & Windows: The Bindings That Actually Matter

Most tmux guides dump the whole key table on you. These are the pane and window bindings that survive contact with a real workday: splits, navigation, layout, and the marked-pane tricks tmux never bound for you.

September 8, 2026 · 7 min · Hanh Pham

Huawei's Ascend 950 & DaVinci v3: How China Built a Competitive AI Chip Without EUV

DeepSeek just ordered 160,000 Huawei Ascend 950DT chips: a chip built on a DUV-only process, with self-developed HBM and a homegrown interconnect, because export controls left no other choice. Here’s how the thing actually works, and where it still falls short.

September 7, 2026 · 20 min · Hanh Pham

Making a Multi-Step SQL Server Script's Rollback Actually Trustworthy

When one step in a multi-step SQL Server script fails, what actually happens to your data depends entirely on how you’ve wired up error handling, and the default is not what most people assume. Three scenarios, measured with real ledger output.

September 6, 2026 · 6 min · Hanh Pham

When a Wildcard Join Multiplies Your Data (and How to Actually Fix It)

A join rule that matches ‘anything’ looks like an ordinary filter, until it quietly multiplies your row count. Measured, not estimated: what a wildcard join actually costs, why a CREATE INDEX line doesn’t always buy you a seek, and why UNPIVOT beats a ten-way OR chain.

September 5, 2026 · 9 min · Hanh Pham

Go 1.27 Is Quietly Load-Bearing

Generic methods finally landed, json/v2 is already running underneath your code, and the allocator got faster while you weren’t looking. Six of this release’s changes take effect without you opting in; here’s which ones will cost you an afternoon.

September 4, 2026 · 12 min · Hanh Pham

Designing an Order Workflow: Putting the Patterns Together

Boundaries, communication styles, technology, and sagas all sound reasonable in isolation. Here’s what it looks like to actually apply all four decisions to one real workflow, in order.

September 3, 2026 · 6 min · Hanh Pham