RSI looks simple on paper. It’s a 0-100 momentum oscillator. Everyone knows what it looks like on a chart. Most developers assume implementing it is an afternoon’s work. It took me longer than I expected. Not because the math is hard, but because there are three places where a naive implementation produces wrong answers, and… Continue reading
Post Category → archive
Anthropic Blocked Agents on Subscription Plan. Here’s Why I’m Not Going Local
Last Friday at 8pm London time, Anthropic blocked subscription-based access for third-party agents. If you were using Claude through Cursor, Cody, OpenClaw, or anything other than Claude Code or claude.ai itself, your token stopped working. I was one of those users. I run an AI assistant (OpenClaw) that augments my work: code review, calendar management,… Continue reading
Why %K Broke the O(1) Pattern (and How I Fixed It)
Every indicator in quantedge-ta before the Stochastic Oscillator shares a design pattern: each new bar’s contribution decays over time. SMA: uniform average, old bars age out as the window slides. EMA: exponential weight, old contributions shrink but never hit zero. RSI: Wilder’s smoothing, same story. MACD: two EMAs composing. ATR: Wilder’s smoothing on True Range. None of… Continue reading
48 Builds and a Crash from the Grave
Some bugs are hard because they’re complex. Some are hard because they’re intermittent. The worst ones are both. This one took three months. Forty-eight builds. An iOS crash that appeared under conditions that resisted every attempt to reproduce it reliably. If you read the first post, you know the setup: a third-party Flutter-backed ticketing SDK embedded… Continue reading
The Glorified Iframe: Embedding a Flutter SDK in an Expo App
Implementing Expo apps can sometimes feel boring. Yet another view, yet another component, yet another Zustand store. Not often do you get a chance to venture out from the safe and comfortable Expo stack. But sometimes, you get the opportunity to do something you never thought would happen: embed a full native view into an… Continue reading