
I Learned Machine Learning by Building an F1 Predictor in C#
I explore how I learned machine learning by building an F1 race prediction model in C# using ML.NET, OpenF1 data, and familiar software engineering principles.
Read MoreWriting about the things I discover while building software — from architecture and engineering decisions to lessons learned along the way.
See all writing →
I explore how I learned machine learning by building an F1 race prediction model in C# using ML.NET, OpenF1 data, and familiar software engineering principles.
Read More
I clarify the key differences between REST, SOAP, GraphQL, gRPC, and Webhooks—not as competing "API types," but in the context of their roles as an architectural style, a protocol, a query language, a framework, and an event mechanism, respectively. This analysis was prompted by a challenging moment during a technical interview, and it aims to untangle the terminology, helping you choose the right tool for your needs rather than getting caught up in debates like "REST vs SOAP."
Read More
This is my perspective on testing and its impact on becoming a better developer versus merely writing more code about one's code.
Read More
Stop guessing which C# keywords to use. Master the CIDIS model to choose between class, record, interface, internal, and sealed with confidence. Learn how focusing on these C# fundamentals reduces bugs, improves code quality, and helps your team release faster.
Read More
A comprehensive comparison of JWT and cookie-based authentication, exploring how each works, their security implications, and when to use each approach in modern web applications.
Read More
How a simple user ID generation problem led me to understand race conditions, delivery semantics, and the Outbox/Inbox patterns that power modern distributed systems.
Read More