Khandokar Mahmud
Principal Architect & CEO
LogicGenX · 13 articles
Khandokar Mahmud is the Principal Architect and CEO of LogicGenX, where he designs and builds the automation systems that replace manual operations for businesses in logistics, legal, healthcare, finance, and compliance.
His writing works from the wire up. Rather than describing what a technology does, the posts here take apart how it actually works — the bytes of a WebSocket frame, the handshake that turns an HTTP request into a persistent connection, the reason a message silently disappears the moment you add a second server. Each one pairs an interactive diagram with the detail an engineer needs to reason about the system in production.
That bias toward mechanism over abstraction is the same one he brings to client work: understand the process precisely, then automate the parts that never needed a human.
Articles by Khandokar Mahmud
- 1 minInteractive
Driving Test Animation
Texas Drive Lab · Learn the road TX Texas Drive Lab See it. Decide. Understand why. Study guide 01 Animated lessons 02 Signs & markings 03 Rulebook 04 Practice game 05 My progress 06 Study guide Lesso...
Read article - 3 min
My Thoughts on the Year AI Actually Delivered
We are officially wrapping up 2024, and honestly? I need a minute to catch my breath. If you had told me last January that we’d be here right now, I’m not sure I would have believed you. This year fe...
Read article - 6 minInteractive
Why Your Realtime Connection Keeps Dropping
Load balancers, proxies and carrier NAT all want your long-lived connection closed. A field guide to heartbeats, half-open sockets and reconnecting without a thundering herd.
Read article - 6 minInteractive
Scaling SignalR on Azure Without Losing Messages
One SignalR instance is easy. Three behind an App Service load balancer is a different system — a backplane, sticky sessions, and a throughput ceiling nobody told you about.
Read article - 7 minInteractive
Hubs vs Persistent Connections in SignalR
A Hub is an RPC layer sitting on top of PersistentConnection. Watch a single method call turn into the {H,M,A,I} envelope, cross the wire, and fan back out to three browsers.
Read article - 6 minInteractive
SSE or WebSockets? A Decision You Only Make Once
Most teams reach for WebSockets reflexively and pay for duplex they never use. Answer five questions and see which side of the line your app actually falls on.
Read article - 6 minInteractive
The Backplane Problem: Scaling Realtime Past One Server
Add a second server to a realtime app and half your messages vanish with no error at all. A backplane fixes it — and quietly caps how far you can scale.
Read article - 7 minInteractive
Reading WebSocket Frames on the Wire
A WebSocket frame has no header names and no delimiters — just bit-packed binary. Learn the first two bytes and you can decode any frame by hand from a hex dump.
Read article - 6 minInteractive
SignalR's Transport Fallback, Demystified
SignalR hides four different realtime transports behind one API and walks down them until something works. Sabotage the environment and watch the ladder decide.
Read article - 6 minInteractive
Server-Sent Events: The Protocol Everyone Forgot
Most realtime features only push one way. SSE does that over plain HTTP, with automatic reconnection and stream resume built into the browser — no handshake, no library.
Read article - 6 minInteractive
The WebSocket Handshake, Line by Line
An HTTP GET goes out, a 101 comes back, and the same TCP socket stops speaking HTTP forever. Here is every header, the SHA-1 transform behind Sec-WebSocket-Accept, and why it exists.
Read article - 6 minInteractive
The Long Polling Years
For six years the web faked realtime with hanging GETs and hidden iframes. It worked everywhere — and it cost roughly 40 bytes of HTTP headers for every byte of actual data.
Read article - 1 minInteractive
Anatomy of a Web Request
You press Enter and a page appears. Six systems just coordinated across thousands of kilometres — here is what actually happened, in 328 milliseconds.
Read article
Working on something that should run itself? Get in touch with LogicGenX.