✕ Clear all filters
26 articles

📰 Dev.to · Bill Tu

26 articles · Updated every 3 hours · View all reads

All Articles 87,256Blog Posts 108,008Tech Tutorials 21,605Research Papers 18,887News 14,389 ⚡ AI Lessons
Why One Second Wasn't Enough: Adding Retry Logic to a Diagnostic Tool
Dev.to · Bill Tu 2mo ago
Why One Second Wasn't Enough: Adding Retry Logic to a Diagnostic Tool
For the first seven releases of node-loop-detective, connecting to a target process looked like...
Giving Kafka-Style Topics the Routing Power of RabbitMQ
Dev.to · Bill Tu 2mo ago
Giving Kafka-Style Topics the Routing Power of RabbitMQ
One of the most common complaints about Kafka is its routing model. You have topics. You have...
When the Patient Dies on the Table: Handling Target Process Exit During Profiling
Dev.to · Bill Tu 2mo ago
When the Patient Dies on the Table: Handling Target Process Exit During Profiling
You're profiling a Node.js process that's been crashing intermittently. You attach loop-detective,...
Not All Requests Are Equal: Adding Variable Cost to a Node.js Rate Limiter
Dev.to · Bill Tu 2mo ago
Not All Requests Are Equal: Adding Variable Cost to a Node.js Rate Limiter
Rate limiters typically treat every request the same. One request, one token. But in the real world,...
Writing 89 Tests for a Quantitative Trading Framework: Strategy and Trade-offs
Dev.to · Bill Tu 2mo ago
Writing 89 Tests for a Quantitative Trading Framework: Strategy and Trade-offs
Adding a test suite to an existing codebase is a different exercise than writing tests alongside new...
Who Should Own the Order ID? Moving ID Generation Inside the Matching Engine
Dev.to · Bill Tu 2mo ago
Who Should Own the Order ID? Moving ID Generation Inside the Matching Engine
Order IDs seem trivial. Every order needs one, they need to be unique, and they show up in every...
Less Is More: Why We Added a Flag to Disable Our Best Feature
Dev.to · Bill Tu 2mo ago
Less Is More: Why We Added a Flag to Disable Our Best Feature
We spent three releases building async I/O tracking into node-loop-detective. HTTP request timing....
The Invisible Network Calls: Tracking fetch() and dns.promises in Node.js
Dev.to · Bill Tu 2mo ago
The Invisible Network Calls: Tracking fetch() and dns.promises in Node.js
You've instrumented your Node.js app with I/O tracking. You're catching slow HTTP requests, slow...
From O(n log n) to O(log p): Rebuilding the Order Book for Performance
Dev.to · Bill Tu 2mo ago
From O(n log n) to O(log p): Rebuilding the Order Book for Performance
When we first built MatchEngine, the order book used a sorted slice. Every time an order was...
From Terminal to Flame Graph: Exporting CPU Profiles From Production
Dev.to · Bill Tu 2mo ago
From Terminal to Flame Graph: Exporting CPU Profiles From Production
loop-detective gives you a text-based diagnostic report in your terminal. It tells you which...
Lessons from Fixing 8 Bugs in a Quantitative Trading Framework
Dev.to · Bill Tu 2mo ago
Lessons from Fixing 8 Bugs in a Quantitative Trading Framework
QuantFlow is an open-source quantitative trading system written in Python. After the initial release,...
Four Bugs We Found in Our Node.js Rate Limiter (And How We Fixed Them)
Dev.to · Bill Tu 2mo ago
Four Bugs We Found in Our Node.js Rate Limiter (And How We Fixed Them)
We recently shipped node-rate-limiter-pro, a high-performance rate limiter for Node.js with Token...
Five Bugs That Would Have Killed TitanMQ in Production
Dev.to · Bill Tu 2mo ago
Five Bugs That Would Have Killed TitanMQ in Production
We recently ran a deep audit of TitanMQ's codebase and found five bugs that ranged from "data loss on...
Four Bugs That Would Break a Matching Engine in Production
Dev.to · Bill Tu 2mo ago
Four Bugs That Would Break a Matching Engine in Production
MatchEngine is an open-source order matching engine written in Go. After the initial release, we...
Debugging Node.js in Docker and Kubernetes Without Restarting
Dev.to · Bill Tu 2mo ago
Debugging Node.js in Docker and Kubernetes Without Restarting
There's a Node.js service running in a Kubernetes pod. It's slow. You need to figure out why. But you...
7 Bugs That Taught Us How to Build Better Diagnostic Tools
Dev.to · Bill Tu 2mo ago
7 Bugs That Taught Us How to Build Better Diagnostic Tools
We shipped node-loop-detective v1.1.0 with a feature we were proud of: slow async I/O tracking. It...
Why We Replaced float64 With Decimal in Our Matching Engine
Dev.to · Bill Tu 2mo ago
Why We Replaced float64 With Decimal in Our Matching Engine
Every financial system eventually faces the same question: can we trust floating-point arithmetic...
Beyond the Event Loop: Tracking Slow I/O in Production Node.js
Dev.to · Bill Tu 2mo ago
Beyond the Event Loop: Tracking Slow I/O in Production Node.js
Your Node.js service is slow. You run a profiler. CPU usage is low. The event loop isn't blocked....
Detecting Event Loop Blocking in Production Node.js — Without Touching Your Code
Dev.to · Bill Tu 2mo ago
Detecting Event Loop Blocking in Production Node.js — Without Touching Your Code
You're on call. Alerts fire. Your Node.js service is responding slowly — or not at all. You suspect...
Building a Trade Matching Engine from Scratch in Go
Dev.to · Bill Tu 2mo ago
Building a Trade Matching Engine from Scratch in Go
Every exchange — whether it trades stocks, crypto, or commodities — has a matching engine at its...