Archive

1046 posts · Page 40 of 88. ← Blog

Pratik Dhanave · ·6 min read

Engineering SEPA: Mandates, Sequence Types, and the R-Transaction State Machine

How to engineer SEPA SCT and SDD flows: mandate lifecycle storage, pre-notification timing, FIRST/RCUR sequence types, and the R-transaction taxonomy modeled as an explicit state machine.

Teaches how to engineer SEPA SCT and SDD flows: mandate lifecycle storage, pre-notification timing, FIRST/RCUR sequence types, and the R-transaction taxonomy (reject/return/refund/reversal/revocation) as a state machine.

Pratik Dhanave · ·6 min read

Threading a UETR Through SWIFT MT-to-MX Migration

How to parse legacy MT103/MT202 fields, map them to MX pacs equivalents during coexistence, and thread a gpi UETR end-to-end so a cross-border payment stays trackable across correspondent hops.

Teaches how to parse legacy MT103/MT202 fields, map them to MX pacs equivalents during coexistence, and thread a gpi UETR end-to-end so a cross-border payment is trackable across correspondent hops.

Pratik Dhanave · ·6 min read

Building for Instant Payments: RTP, FedNow, and Request-for-Payment

How to engineer for 24x7 irrevocable instant credit — synchronous ISO 20022 messaging, request-for-payment flows, and idempotent liquidity checks with no batch cutoff.

Teaches how to build for 24x7 irrevocable instant credit: synchronous ISO 20022 request/response, request-for-payment (RfP) flows, credit-transfer timeouts, and idempotent liquidity checks at the rail with no batch cutoff.

Pratik Dhanave · ·6 min read

Utility and Mapped Types

TypeScript's type system is itself a small programming language — you can compute new types from existing ones. The built-in utility types (`Partial`, `Pick`, `Omit`, `Record`) are the everyday face of this; underneath, `keyof`, mapped types, conditional types, and template literal types are the primitives that make them possible. Learning to derive types instead of hand-writing them is what separates fluent TypeScript from annotation-copying.

TypeScript's type system is itself a small programming language — you can compute new types from existing ones. The built-in utility types (Partial, Pick, Omit, Record) are the everyday face; underneath, keyof, mapped types, conditional types, and template literals are the primitives. Learning to derive types instead of hand-writing them is what separates fluent TypeScript.

Pratik Dhanave · ·8 min read

Difficult Conversations and Feedback

The conversations we most want to avoid are usually the ones that matter most — telling a colleague their work isn't good enough, raising a concern with your manager, addressing a conflict that's festering, giving feedback that might not be welcome. Avoiding them feels safer in the moment and is almost always worse over time: problems grow, resentment builds, and the unsaid thing poisons the working relationship. Emotional intelligence doesn't make hard conversations easy, but it makes them possible to have well — which is a learnable skill that changes everything downstream.

The conversations we most want to avoid are usually the ones that matter most — telling a colleague their work isn't good enough, addressing a festering conflict, giving unwelcome feedback. EQ doesn't make hard conversations easy, but it makes them possible to have well — a learnable skill that changes everything downstream.

Pratik Dhanave · ·13 min read

Structured Output and Tool Calling

From-scratch Go for the two mechanisms that turn an LLM from a text generator into a component you can wire into real software — schema-constrained JSON and function calling — both spoken over the same OpenAI-compatible chat JSON.

Getting reliable machine-readable output from an LLM in Go: structured output (json-schema mode, decode into a typed struct, validate with a bounded retry) and tool/function calling (the full round-trip loop, decoding tool arguments, returning results tied to the call id).

Pratik Dhanave · ·6 min read

LLM-Guided Portfolio Allocation

A hybrid allocator where a quantitative core owns the money, a language model only whispers tilts, and hard constraints plus a human bound everything before a single order goes out.

A hybrid allocator: quantitative signals set the baseline (mean-variance / risk parity) while an LLM proposes tilts from qualitative context, constrained by risk limits and human review.

Pratik Dhanave · ·7 min read

The FIX Protocol: Engineering a Session and Order Gateway

The 40-year-old tag=value protocol still carrying most of the world's equity orders — and how to build an engine that survives a dropped connection.

How FIX session layer (logon, heartbeat, sequence-number gap-fill, resend) and application layer (NewOrderSingle, ExecutionReport) actually work, and how to build a resilient FIX engine.

Pratik Dhanave · ·6 min read

Modeling ISO 20022 Payment Messages Without Losing Your Mind

How to treat pain, pacs, and camt as one typed, schema-driven domain instead of a pile of XML you concatenate by hand.

Teaches how to model, validate, and generate ISO 20022 XML payment messages (pain.001 initiation, pacs.008 interbank, camt.053 statements) with schema-driven typing, structured references, and idempotent message identifiers.