Blog
Engineering notes
Practical writing on architecture, .NET, React, and keeping systems fast in production.
MQTT in Production: Topic Patterns and ACLs
The topic tree is an API and the ACL is its type system. Designing MQTT topic hierarchies and wildcard subscriptions, locking devices down with placeholder ACL rules, and why EMQX is a strong default for high-throughput fleets.
- MQTT
- IoT
- EMQX
- Security
Vertical vs. Horizontal Scaling: Choosing the Axis
Scaling up and scaling out solve different problems. How to choose between them for stateless servers, databases, Apache Kafka, and Kubernetes — with the failure modes each choice buys you.
- Architecture
- Apache Kafka
- Kubernetes
- Scalability
Real-Time .NET: SignalR, WebSockets, Backpressure
Push-based APIs fail differently than request/response ones. Choosing between SignalR, raw WebSockets, SSE, and polling — and designing for slow consumers before they take the server down.
- .NET
- SignalR
- Real-time
- WebSockets
Offline-First React: Render First, Fetch Second
This site paints instantly from bundled data and treats the API as an upgrade, not a dependency. The pattern, the trade-offs, and where it stops being worth it.
- React
- Performance
- Resilience
