Archive

1290 posts · Page 65 of 108. ← Blog

Pratik Dhanave · ·8 min read

SaaS and Recurring-Revenue Metrics

Subscription businesses changed what "revenue" means. When customers pay every month instead of once, a whole new vocabulary appears — MRR, ARR, churn, net revenue retention, the Rule of 40 — and these metrics, not the raw P&L, are how SaaS companies are actually judged. For any engineer working at or evaluating a subscription business (which is most software today), these are the numbers that matter, and the logic behind them explains why SaaS companies behave the way they do.

Subscription businesses changed what 'revenue' means. When customers pay every month instead of once, a whole new vocabulary appears — MRR, ARR, churn, net revenue retention, the Rule of 40 — and these metrics, not the raw P&L, are how SaaS companies are actually judged.

Pratik Dhanave · ·11 min read

context: Cancellation, Deadlines, and Values

How Go's `context` package carries a cancellation signal, a deadline, and a small bag of request-scoped values across every API and goroutine boundary in a request — and the handful of rules that keep it from leaking or lying to you.

How Go's `context` package carries a cancellation signal, a deadline, and a small bag of request-scoped values across every API and goroutine boundary in a request — and the handful of rules that keep it...

Pratik Dhanave · ·7 min read

An Eval Regression Gate in CI

Treat agent output quality like a test. A baseline file plus a gate that fails the build on regression turns "the agents got worse" into a red X.

Agent systems rot because nobody catches quality regressions until users do. A committed baseline plus a gate that fails the build turns the agents got worse into a red X and a reviewable diff in the pull request.

Pratik Dhanave · ·6 min read

Interpreting Deep Networks and LLMs

The hardest interpretability frontier is the models that matter most right now: deep neural networks and large language models, with billions of parameters and no obvious place to look for "the reason." The attribution methods that work on tabular models strain here, and a new field — mechanistic interpretability — is trying to reverse-engineer what these networks actually compute. This post covers how we peer inside deep models and LLMs, and why it's both crucial and genuinely unsolved.

The hardest frontier: deep nets and LLMs with billions of parameters and no obvious place to find 'the reason'. Saliency maps (fragile), attention (not explanation), probing, and mechanistic interpretability's attempt to reverse-engineer circuits — plus the honest truth that we largely cannot yet explain why frontier LLMs behave as they do.

Pratik Dhanave · ·9 min read

Unit Economics

A company can grow revenue explosively, raise huge rounds, and dominate headlines — and still be doomed, if it loses money on every customer. Unit economics is the question underneath all the aggregate financials: does a single customer, on its own, make money? Get that right and scale is the amplifier of a good thing; get it wrong and scale just multiplies the losses. It's the most important economic idea for judging whether a business actually works — and the one flashy growth numbers most often hide.

A company can grow revenue explosively, raise huge rounds, and dominate headlines — and still be doomed, if it loses money on every customer. Unit economics is the question underneath all the aggregate financials: does a single customer, on its own, make money? It's the most important test of whether a business actually works.

Pratik Dhanave · ·13 min read

Atomics and the Go Memory Model

What a data race actually is, why it is undefined behavior rather than "just a wrong number," the happens-before rules that make concurrent code correct, and when `sync/atomic` is the right tool — and when it quietly is not.

What a data race actually is, why it is undefined behavior rather than "just a wrong number," the happens-before rules that make concurrent code correct, and when `sync/atomic` is the right tool — and when...