.NET, Software Architecture and OMSCS reviews.
.NET Stuff
Building “Production-Grade” APIs in .NETBuilding “Production-Grade” APIs in .NET – IntroSeries: Building "Production-Grade" APIs in .NET 1. Intro - What is a "Production-Grade" API 1. Part 1 - Designing Clean, Intuitive APIs That Don’t Confuse Consumers 1. Part 2 - A Professional Looking API 1. Observability & Diagnostics 1. Resilience, Security & Safety 1. CI/CD & Safe Deployments Many engineers build and deploy APIs into production. So we have an API running in production — does that mean it’s truly production-grade? More often than not, the answer is no. We write the cod
Designing Clean, Intuitive APIs That Don’t Confuse ConsumersDesigning Clean, Intuitive APIs That Don’t Confuse ConsumersSeries: Building "Production-Grade" APIs in .NET 1. Intro - What is a "Production-Grade" API 1. Part 1 - Designing Clean, Intuitive APIs That Don’t Confuse Consumers 1. Part 2 - A Professional Looking API 1. Observability & Diagnostics 1. Resilience, Security & Safety 1. CI/CD & Safe Deployments Let’s say you join a new team and find this in one of the core API controllers: [HttpPost("updateOrder")] public async Task UpdateOrder([FromBody] OrderDto order) { var updatedOrder = await _ord
Professional Looking APIMaking Production-Ready APIs in .NET – Part 2: A Professional Looking APISeries: Building "Production-Grade" APIs in .NET 1. Intro - What is a "Production-Grade" API 1. Part 1 - Designing Clean, Intuitive APIs That Don’t Confuse Consumers 1. Part 2 - A Professional Looking API 1. Observability & Diagnostics 1. Resilience, Security & Safety 1. CI/CD & Safe Deployments Your OpenAPI spec is the contract that defines how consumers interact with your API. It powers visual tools that help developers understand, test, and integrate with your endpoints. This spec powers
Level Up Your Integration Tests in .NET: Record, Replay, RelaxLevel Up Your Integration Tests in .NET: Record, Replay, RelaxSick of flaky integration tests? You run your tests once — they pass. Run them again — they fail. Maybe the third-party API timed out. Or the response changed. Or your internet blinked. Integration tests should give you confidence, not stress. That’s where deterministic integration testing comes in. Imagine recording your API interactions once and replaying them forever — offline, fast, and predictable. No network. No surprises. That’s exactly what Vcr.HttpRecorder does. It’s inspired by t
Messaging vs HTTP in .NET Microservices: A Practical BenchmarkMessaging vs HTTP in .NET Microservices: A Practical BenchmarkIntroduction In microservices architecture, it's generally considered a bad practice to make synchronous request/response calls across service boundaries — especially using HTTP. The ideal model is to design services to be autonomous, decoupled, and event-driven. However, in reality, there are times when one service needs to fetch data from another — and when that happens, most developers instinctively reach for a direct HTTP call. It's simple, familiar, and it seems fast and efficient. On t
From Async Flow to Documentation: Modeling .NET Microservices with MassTransit Sagas, Mermaid Diagrams, and EventCatalogFrom Async Flow to Documentation: Modeling .NET Microservices with MassTransit Sagas, Mermaid Diagrams, and EventCatalogModern microservices are powered by asynchronous flows — messages pass between services, events trigger chains of reactions, and no single system owns the full picture. While this makes systems scalable and fault-tolerant, it also makes them hard to reason about. Yes, tools like OpenTelemetry, Grafana, and dashboards can help you trace these flows — but only after something has run. You still need to stitch everything together from logs and traces, which often means a lot of digging just to an
OMSCS Courses
CS200 - Introduction to Operation Systems ReviewCS6200 - Introduction to Operating SystemsIntroduction I took GIOS in the Spring 2023 semester as part of my master's at Georgia Tech University, and it was my first course in the program. It was highly recommended for a first course in the Slack group and had great ratings in OMSCS Hub, and indeed those were on point! The course was a great start in the program and now in my turn, I also highly recommend it to anyone interested in Computing Systems Specialization as a first course, and also provide some tips that helped me finish th
CS6290 - High Performance Computing ReviewCS6290 - High Performance Computer ArchitectureIntroduction I believe that if you program computers, even using high level languages that abstract away most of the details of the hardware, you must have at least a basic knowledge of what is happening under the covers. This belief, coupled with the pretty good rating of HPCA available here led me to choose it as my third course in the OMSCS program. Highlights This course assumes a foundational understanding of computer architecture, expecting students to have completed an undergraduate
CS7210 - Distributed ComputingCS 7210 - Distributed ComputingIntroduction I recently finished CS 7210: Distributed Computing in the OMSCS program, and I walked away with an A — but not without earning every bit of it. This course has easily been the most difficult, most time-consuming, but also my favorite so far. If you're working in software engineering today — especially with microservices, cloud computing, Cosmos DB, etc. — you’re already dealing with distributed systems. This course helped me understand what’s really going on under the hood. It wa
CS6210 - Advanced Operating Systems ReviewCS 6210 - AOSI wrapped up CS 6210: Advanced Operating Systems recently — and I genuinely loved it. While not as intense or brutal as CS 7210 (Distributed Computing), this course still packs a punch, just in a very different way. Where CS 7210 is all about large-scale distributed correctness and fault tolerance, CS 6210 dives deep into the low-level optimizations that make systems fast, efficient, and scalable. Think thread scheduling, memory management, barrier synchronization, RPC internals, etc. The Pro
CS6422 - Database System Implementation ReviewCS 6244 - Database System Implementation ReviewIntroduction In Spring 2025, I took CS 6422: Database System Implementation. It was the first time the course was offered, so there were no reviews yet on OMSCentral or OMSCS Hub. When I was planning my courses, CS 6400: Database Systems Concepts and Design didn’t seem like the right fit for me because it focuses on foundational topics I already know. Database Systems Implementation, on the other hand, looked like a deeper, more technical course that filled a gap in the program. Highligh