.NET 6 adds HTTP/3 support to Kestrel. HTTP/3 uses **QUIC** (UDP-based), avoiding head-of-line blocking that plagues TCP-based HTTP/2. Enabling HTTP/3 Client Usage Key Takeaways Browsers negotiate HTTP/3 automatically via Alt-Svc header. Ideal for high-latency networks (mobile). Requires TLS 1.3.
Read more โLooking Back at 2021: The Year of Unification
2021 was a massive year for the Microsoft ecosystem. We finally got the “One .NET” we successfully promised. .NET 6 is a masterpiece of performance and unity. MAUI (while delayed to Q2 2022) is promising. Azure Container Apps fills the missing gap in the compute portfolio. GitHub Copilot showed us a glimpse of the future […]
Read more โAmazon CDK v2: Infrastructure as Code in Python
Cloud Development Kit (CDK) v2 consolidates the library. No more `aws-cdk.aws-s3` separate packages.
Read more โArchitecture Decision Records (ADRs): Documenting the Why
Code comments explain *what*, but not *why* a particular architectural decision was made. **ADRs** are lightweight Markdown documents capturing context, options considered, and the decision chosen. ADR Template Key Takeaways Store ADRs in the repo (`docs/adr/`). ADRs are immutable. If a decision changes, write a new ADR superseding the old one.
Read more โ.NET 6 Linq Improvements: MaxBy and MinBy
A small but frequent annoyance in LINQ was finding the object with the max value. Previously, we had doing `OrderByDescending(x => x.Val).First()`, which is O(N log N). .NET 6 adds `MaxBy` and `MinBy`. This is O(N) and much more readable. Other additions include `Chunk()` for splitting lists into batches.
Read more โTypeScript 4.5: The Awaited Type
TypeScript 4.5 adds the `Awaited<T>` utility type. It recursively unwraps Promises. This is extremely helpful when you need to type the result of a library function that returns a Promise, but the library doesn’t export the return value interface.
Read more โ