Archive

1046 posts · Page 41 of 88. ← Blog

Pratik Dhanave · ·6 min read

Building a Byte-Level ISO 8583 Codec for Card Authorization

A field-by-field guide to decoding bitmaps, data elements, and MTI so a raw TCP frame becomes a typed auth request you can trust.

Teaches how to build a byte-level ISO 8583 encoder/decoder: primary/secondary bitmaps, data-element (DE) field definitions, MTI parsing, and stan/RRN correlation for card authorization messaging.

Pratik Dhanave · ·7 min read

Building a NACHA ACH File Processor: Records, Hash Totals, and Return Codes

Model the fixed-width record hierarchy, warehouse entries until their effective date, and turn R-series returns into automated re-presentment.

Teaches how to build a NACHA file processor: fixed-width file/batch/entry/addenda record hierarchy, hash totals, effective-entry-date windows, and handling R-series return/NOC codes with automated re-presentment logic.

Pratik Dhanave · ·7 min read

Controls, Access, and Testing a System That Moves Money

The last mile of a financial system isn't code — it's who can do what, who approves it, and how you prove the whole thing is correct.

The last mile isn't code — it's who can do what, who approves it, and how you prove it's correct. Segregation of duties, four-eyes, an auditable change trail, and property tests that assert ledger invariants over thousands of scenarios.

Pratik Dhanave · ·6 min read

Generics

Generics are how you write code that works over many types without giving up type safety — a function or type parameterized by a type it fills in later. They're the feature people find most intimidating and the one that unlocks reusable, precisely-typed abstractions. Once you see a generic as "a type variable," the intimidation fades and the power remains.

Generics are how you write code that works over many types without giving up type safety — a function or type parameterized by a type it fills in later. They're the feature people find most intimidating and the one that unlocks reusable, precisely-typed abstractions. Once you see a generic as "a type variable," the intimidation fades.

Pratik Dhanave · ·7 min read

Empathy: Understanding Others

Empathy is where emotional intelligence turns outward — and where it becomes genuinely useful to everyone around you. It's the difference between an engineer who "wins" a design debate by being loudest and one who understands what each person actually needs and finds a solution everyone supports; between a code review that makes someone defensive and one that helps them. Empathy isn't sentiment. It's the practical skill of accurately understanding what other people think and feel, and it's the foundation of every effective interaction.

Empathy is where emotional intelligence turns outward — and where it becomes genuinely useful to everyone around you. It isn't sentiment; it's the practical, learnable skill of accurately understanding what other people think and feel, and it's the foundation of every effective interaction.

Pratik Dhanave · ·11 min read

Calling an LLM from Go

Make your first model call from scratch with net/http and encoding/json — the chat/messages API shape, a typed client with a Bearer key and context timeout, robust error handling, and server-sent-event streaming — no framework required.

Make your first model call from scratch with net/http and encoding/json — the chat/messages API shape, a typed client with a Bearer key and context timeout, robust error handling, and server-sent-event streaming.

Pratik Dhanave · ·7 min read

Reliable Delivery: The Outbox, CDC, and Reconciliation

Two systems will drift. The transactional outbox stops you losing events; reconciliation is how you find the truth when they disagree anyway.

You can't atomically update your database and publish a message. The transactional outbox (or CDC) stops you losing events; reconciliation is how you find and classify the breaks when two systems drift anyway.

Pratik Dhanave · ·6 min read

Unions, Narrowing, and Type Guards

Union types are TypeScript's way of saying "this could be one of several things," and they're everywhere in real JavaScript — a value that's a string or a number, a result that's data or an error. The companion skill is narrowing: convincing the compiler, through ordinary runtime checks, which member of the union you actually have. Master unions, narrowing, and exhaustiveness and you can model the messy reality of JavaScript data precisely and safely.

Union types are TypeScript's way of saying "this could be one of several things," and they're everywhere in real JavaScript. The companion skill is narrowing: convincing the compiler, through ordinary runtime checks, which member you actually have. Master unions, narrowing, and exhaustiveness and you can model messy JavaScript data precisely and safely.

Pratik Dhanave · ·7 min read

Motivation and Resilience

Anyone can stay motivated when things are going well. The test — and the skill — is what happens when the project stalls, the code won't work, the feedback stings, or the effort drags on with no payoff in sight. Motivation and resilience are the emotional-intelligence skills of managing your own drive and bouncing back from setbacks, and they're what turn talent into sustained achievement. Without them, ability leaks away in the face of the frustration and failure that all real work involves.

Anyone can stay motivated when things are going well. The test — and the skill — is what happens when the project stalls, the code won't work, or the feedback stings. Motivation and resilience are the EQ skills of managing your own drive and bouncing back, turning talent into sustained achievement.

Pratik Dhanave · ·12 min read

Tokens and Tokenization

The unit a language model actually reads is neither a word nor a character — it is a token, and once you see the world the way the model does, half of its strange behavior stops being strange.

The unit a language model actually reads is neither a word nor a character but a token. How byte-pair encoding builds a vocabulary, why tokenization explains half of an LLM's strange behavior, and how to count tokens exactly in Go.

Pratik Dhanave · ·6 min read

Predicting Market Direction with ML: Walk-Forward and Leakage

How to build a quant model that predicts up-or-down moves without quietly fooling yourself into a backtest that never survives contact with real markets.

Building a quant direction model without fooling yourself: feature engineering from price/volume, walk-forward (not random) cross-validation, avoiding look-ahead and survivorship bias, and why realistic backtests beat im…