My bets for 2022: AI Coding: Copilot will move from “cool toy” to “mandatory tool”. WebAssembly: Blazor will get faster (AOT), and we’ll see Wasm used in the backend (WasmEdge) more often. Supply Chain Security: After SolarWinds and Log4j, SBOMs (Software Bill of Materials) will become mandatory in enterprises. See you in 2022!
Read more โMonth: December 2021
HTTP/3 in .NET 6
.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 โ