Archive

1046 posts · Page 49 of 88. ← Blog

Pratik Dhanave · ·6 min read

Command: Update State and Pick the Next Node in One Return

How a single `Command` object folds a state update and a routing decision together — and the tiny lowering that makes `goto` just another guarded edge.

Command lets a node return a state update and a goto in one object, moving the routing decision inside the node. It is the cleanest way to express supervisor handoffs and dynamic control flow.

Pratik Dhanave · ·3 min read

Advanced Workflows — Microsoft Agent Framework in Go

Durable workflows in Go: checkpoint and rehydrate, pause on a RequestPort for a human, nest sub-workflows, and coordinate through scoped shared state.

Durable Microsoft Agent Framework workflows in Go: checkpoint and rehydrate a fresh graph, pause on a RequestPort for a human, nest sub-workflows, and coordinate via scoped shared state.

Pratik Dhanave · ·8 min read

Cash Flow, and Why Cash Is King

"Profitable companies don't go bankrupt" is one of the most expensive misconceptions in business. They do — routinely — because profit and cash are different things, and it's cash that pays salaries, suppliers, and rent. A company can be profitable on paper and still die when the bank account hits zero. The cash flow statement is the document that tells the truth about the money actually moving, and understanding it — and the profit-versus-cash gap — is what separates real financial literacy from the illusion of it.

'Profitable companies don't go bankrupt' is one of the most expensive misconceptions in business. They do — routinely — because profit and cash are different things, and it's cash that pays salaries and suppliers. The cash flow statement tells the truth about the money actually moving, and understanding it separates real financial literacy from the illusion of it.

Pratik Dhanave · ·12 min read

The sync Package

When channels are the wrong tool — a working guide to shared memory and locks in Go: Mutex, RWMutex, WaitGroup, Once, Cond, Map, Pool, and the race detector that keeps you honest.

When channels are the wrong tool — a working guide to shared memory and locks in Go: Mutex, RWMutex, WaitGroup, Once, Cond, Map, Pool, and the race detector that keeps you honest.

Pratik Dhanave · ·6 min read

Cycles and the Agent Loop: Branch, Act, Loop Back

The single most important pattern in LangGraph — a branch plus a back-edge, and the `recursion_limit` that keeps it from running forever.

Branching plus a back-edge is a cycle, and that cycle IS the agent loop: model proposes tool calls, tools run, control returns to the model, repeat until done. Plus recursion_limit, the guardrail that stops a runaway loop.

Pratik Dhanave · ·3 min read

Orchestration Patterns — Microsoft Agent Framework in Go

The prebuilt orchestration builders in agent-framework-go — Sequential, Concurrent, Group Chat — plus wrapping a whole workflow as one agent.

The Sequential, Concurrent, and Group Chat orchestration builders in agent-framework-go, plus wrapping a whole workflow as one nestable agent.

Pratik Dhanave · ·7 min read

The Balance Sheet

If the income statement is a movie of what happened over a period, the balance sheet is a photograph — a snapshot of what a company owns and owes at a single moment. It answers a different question than "did we make money?": it answers "what is the financial position right now?" And it rests on one elegant equation that always balances, by definition — an equation that, once you understand it, makes the whole document readable.

If the income statement is a movie of what happened over a period, the balance sheet is a photograph — a snapshot of what a company owns and owes at a single moment. It rests on one elegant equation that always balances by definition, and once you understand it, the whole document becomes readable.

Pratik Dhanave · ·12 min read

Channels and select

A working guide to Go's channels — unbuffered rendezvous vs buffered capacity, send/receive/close semantics, directional types in APIs, and how `select` multiplexes, times out, and disables cases with a nil channel.

A working guide to Go's channels — unbuffered rendezvous vs buffered capacity, send/receive/close semantics, directional types in APIs, and how `select` multiplexes, times out, and disables cases with a nil...