Playwright vs Selenium in 2021

For a decade, Selenium was the king of E2E testing. But modern SPAs (React/Vue) flakiness made it painful. Microsoft’s Playwright (fork of Puppeteer) offers a faster, more reliable alternative by using the DevTools Protocol directly. Auto-Waiting Playwright waits for elements to be actionable checks prior to performing actions. No more `Thread.Sleep(5000)`! Browser Contexts Run isolated […]

Read more โ†’

Implementing Clean Architecture with .NET 5

Clean Architecture (Robert C. Martin) separates concerns into concentric rings, with the Domain at the center. Dependencies point inward. We implement this in .NET 5. The Layers The Dependency Rule The Application layer defines interfaces (e.g., `IOrderRepository`), but the Infrastructure layer implements them. This “Inversion of Control” keeps the core independent of the database. Key […]

Read more โ†’

Azure Logic Apps Standard: Single Tenant & VS Code

Historically, Logic Apps were a shared SaaS offering. Logic Apps “Standard” creates a single-tenant runtime (on top of Azure Functions), enabling local development, VNET integration, and reliable performance without “noisy neighbors.” Local Development in VS Code Since it’s built on the Functions runtime, you can run workflows locally! Stateful vs Stateless **Stateful**: Default. Checkpoints every […]

Read more โ†’

GitHub Copilot Preview: The AI Pair Programmer

The landscape of software development is undergoing a seismic shift. I have spent the last week with the technical preview of GitHub Copilot, powered by OpenAI’s Codex model, and I can confidently say: this is not just “IntelliSense on steroids.” It is a fundamental change in how we write code. In this comprehensive review, I […]

Read more โ†’
Posted in Uncategorized

Kubernetes Architecture: Beyond the Basics

You know Pods and Services. But to run K8s in production, you need to understand the Control Plane, Etcd consistency, and the Scheduler’s decision-making process. Control Plane Internals The Reconciliation Loop Kubernetes is basically a set of infinite loops checking `Current State == Desired State`. If not, it acts. Key Takeaways **Etcd** is the brain; […]

Read more โ†’