Archive

1290 posts · Page 60 of 108. ← Blog

Pratik Dhanave · ·8 min read

Alternatives to Venture Capital

Venture capital is so culturally dominant that raising it can feel like the definition of startup success — but VC is a specific tool for a specific kind of company, and taking it commits you to a specific, high-stakes path. For most businesses, it's the wrong fit, and the alternatives — bootstrapping, revenue-based financing, venture debt, grants, crowdfunding — are not consolation prizes but often the better choice. The most valuable thing a founder can understand about funding is when not to raise venture capital.

Venture capital is so culturally dominant that raising it can feel like the definition of success — but VC is a specific tool for a specific kind of company, and the alternatives (bootstrapping, revenue-based financing, venture debt, grants, crowdfunding) are often the better choice. The most valuable thing a founder can understand is when not to raise VC.

Pratik Dhanave · ·8 min read

Weight of Evidence and Information Value: Binning for Credit Models

How WOE binning turns raw variables into monotonic, interpretable predictors on a log-odds scale, and how Information Value ranks which features earn a place in a regulator-defensible scorecard.

How WOE binning turns raw variables into monotonic, interpretable predictors, how Information Value ranks feature predictive power, monotonic binning, handling missing/rare bins, and why this discipline underpins regulat…

Pratik Dhanave · ·7 min read

Give Every Agent Its Own Credential

In a multi-agent system, a shared identity means one compromised agent carries every agent's blast radius. Here's how I split agent identity across three layers.

Most teams give a whole multi-agent app one workload identity, so one hijacked agent has every agent's blast radius. Splitting identity across app, cloud, and crypto layers shrinks it to a single role and makes the audit trail provable.

Pratik Dhanave · ·9 min read

Human-in-the-Loop: An Approval Gate on Durable State

Lesson 7 of Harness Engineering in Go — a sensitive action pauses for a human decision, and the whole suspension is nothing more than a Lesson 2 checkpoint marked awaiting_approval.

Series finale, Lesson 7: a sensitive action pauses for human approval, where suspension is just a Lesson 2 checkpoint marked awaiting_approval, the deadline is checked first so a late yes is void, and the action must be idempotent.

Pratik Dhanave · ·7 min read

Causal Inference in Practice — From Theory to Better Decisions

Causal inference isn't an academic exercise — it's the discipline that makes data-driven decisions actually work instead of merely feeling rigorous. This closing post pulls the series into practice: how to approach a real causal question, how causal thinking fixes the most common ML and analytics mistakes, and the honest judgment about what you can and can't conclude. It's the difference between knowing what correlates with success and knowing what causes it.

Causal inference is the discipline that makes data-driven decisions actually work. A practical workflow for any causal question, how causal thinking fixes the most common ML and analytics mistakes (acting on confounded correlations, using predictive features as causal levers), and the calibrated humility that is the real rigor.

Pratik Dhanave · ·6 min read

Arrays, Strings, and Memory Layout

Arrays and strings in C are where the pointer model from the last post becomes concrete — and where C's most infamous security bugs live. An array is a contiguous block of memory whose name decays to a pointer; a string is just an array of characters with a null terminator and no length field. Understanding both, and the buffer overflows they invite, is essential C literacy.

Arrays and strings are where the pointer model becomes concrete — and where C's most infamous security bugs live. An array is a contiguous block whose name decays to a pointer; a string is just a char array with a null terminator and no length field. Understanding both, and the buffer overflows they invite, is essential C literacy.

Pratik Dhanave · ·8 min read

Term Sheets and Key Terms

Founders fixate on valuation and barely read the rest of the term sheet — which is exactly backwards, because the other terms decide who controls the company and who gets paid what when it's sold. A high valuation wrapped in aggressive control and payout terms can leave founders worse off than a lower valuation with clean terms. The term sheet is where the real deal lives, and the two categories that matter most — economics and control — are worth understanding before you ever see one.

Founders fixate on valuation and barely read the rest of the term sheet — which is backwards, because the other terms decide who controls the company and who gets paid what when it's sold. A high valuation wrapped in aggressive control and payout terms can leave founders worse off than a lower valuation with clean terms.

Pratik Dhanave · ·8 min read

Building a Credit Scorecard: From Raw Data to a Score

How lenders turn application and bureau data into a single, defensible number — and why the interpretable scorecard still wins in regulated lending.

The end-to-end credit-scoring pipeline: target definition (bad = 90+ dpd), feature engineering, WOE transformation, a logistic-regression scorecard, points scaling (PDO), and validation (KS, Gini, AUC).

Pratik Dhanave · ·7 min read

Policy Is Code, Not a Prompt

Prompt injection can hijack what a model says, but not what it's allowed to do — as long as policy lives in a middleware pipeline the model never sees.

A system prompt saying never delete records is a suggestion the model can be talked out of. A gateway that returns FORBID for the delete tool cannot. Put enforcement where the model can't reach it and prompt injection stops mattering for access control.

Pratik Dhanave · ·9 min read

Hierarchical Supervision: Bounded Fan-Out, Ordered Fan-In, Fault Isolation

Lesson 6 of Harness Engineering in Go — a supervisor splits a task, fans out to concurrent workers behind a semaphore, and fans the results back in decomposition order, with each worker's failure (or panic) isolated to one result.

Lesson 6: bounded fan-out behind a semaphore, ordered fan-in via a pre-sized results slice, and per-worker fault isolation so one sub-agent panicking becomes one failed result instead of crashing the whole run.

Pratik Dhanave · ·7 min read

Natural Experiments — When the World Randomizes for You

Sometimes you can't run an experiment, but the world runs one for you. A policy change, a lottery, an arbitrary cutoff, a quirk of timing — these can assign a "treatment" in a way that's effectively random, letting you recover experimental-grade causal evidence from observational data. Natural experiments are the most ingenious tools in causal inference, and the quasi-experimental methods built on them (instrumental variables, difference-in-differences, regression discontinuity) are how economists and data scientists establish causation when a controlled trial is impossible.

Sometimes the world runs the experiment for you — a policy change, a lottery, an arbitrary cutoff assigns treatment as-if-randomly. The three canonical designs (instrumental variables, difference-in-differences, regression discontinuity) that recover experiment-grade credibility from observational data, and their assumptions.