Golang

A 2-post collection

dicta

By Matthew Hunter |  Jun 17, 2026  | linux, wayland, voice, dictation, accessibility, golang

Speech-to-text is one of the few accessibility tools where Linux still lags. The options that exist tend to want a commercial cloud API, a Python toolchain with GPU model files, or an X11 session – and often all three. I wanted something that runs as a single static binary on Wayland, talks to whatever ASR backend I already have, and doesn’t listen until I tell it to.

dicta is that: a Linux/Wayland voice dictation daemon written in pure Go. No always-on microphone, no wakeword, no push-to-talk. Capture starts when you press a key and stops when the session ends.

Continue Reading...

math-mcp: Giving LLMs a Calculator That Knows It's a Calculator

By Matthew Hunter |  May 10, 2026  | mcp, claude-code, golang, math, finance, statistics

LLMs do arithmetic in their heads. Mostly they’re close. Occasionally they’re off by enough to matter – a mortgage payment that’s $90 too high, an opportunity-cost claim that’s understated by 10%, a loan payoff term that ignores the interest still accruing while you pay it down. The model doesn’t know which case it’s in. Neither do you, unless you check.

math-mcp is a small MCP server that gives the model somewhere else to send those questions. It exposes ~55 discrete tools: Go’s math standard library, gonum’s statistical aggregates, and razorpay/go-financial’s time-value-of-money functions, each wrapped as its own tool so the LLM picks them out of its tool list by name and calls them directly. One tool per function, no expression evaluator. The point is to make “I should not estimate this” the easy path.

Continue Reading...