.NET 6 RC1: Final Features

.NET 6 RC1 (Release Candidate) is “Go Live,” meaning Microsoft supports it in production. This is the feature-complete preview. Final release is November 2021. Key Highlights **Hot Reload** for all project types (Console, WPF, Web). **Minimal APIs** reach maturity with OpenAPI/Swagger integration. **MAUI** reaches RC alongside (separate release). **DateOnly / TimeOnly** types for database scenarios. […]

Read more →

C# 10 Record Structs: Optimization

C# 9 Records were reference types (classes). C# 10 introduces `record struct`, bringing immutability features to value types, eliminating heap allocations for small DTOs. Syntax Performance Benefit Since it’s a struct, `Point` lives on the stack. No GC pressure for creating thousands of them in a loop. Key Takeaways Use `readonly record struct` for small, […]

Read more →

Docker Init Process: The Zombie Reaper

If your container spawns child processes (e.g., shell scripts), those children can become zombies when terminated. Docker defaults to PID 1 being your app, but PID 1 in Linux has special responsibilities—reaping orphaned children. Your app probably doesn’t do that. The Solution: `tini` Or simpler with Docker’s built-in: Key Takeaways Zombies consume PIDs. Too many […]

Read more →

Managing Terraform State in Azure

Terraform’s `.tfstate` file is gold. If it’s lost or corrupted, Terraform cannot track what resources exist. You **must** store state remotely with locking. Azure Backend Configuration State Locking Azure Blob’s native lease mechanism prevents concurrent writes. Key Takeaways Never commit `.tfstate` to Git. Enable **soft delete** on the storage account to recover corrupted state. Use […]

Read more →

Kubernetes 1.22: API Removals

Kubernetes 1.22 removed multiple v1beta1 APIs that had been deprecated since 1.16. If your cluster upgraded without deploying updated manifests, things likely broke. Key Removals Old API New API extensions/v1beta1 Ingress networking.k8s.io/v1 Ingress rbac.authorization.k8s.io/v1beta1 rbac.authorization.k8s.io/v1 admissionregistration.k8s.io/v1beta1 admissionregistration.k8s.io/v1 How to Detect Key Takeaways Use **kubent** (kube no trouble) to scan for deprecated APIs before upgrading. Always […]

Read more →

GraphQL vs gRPC vs REST: The 2021 Guide

Choosing the right API paradigm is critical. It’s not about which is “better,” but which fits the consumption model. Decision Matrix Feature REST gRPC GraphQL Protocol HTTP/1.1 HTTP/2 HTTP/1.1 or 2 Data Format JSON Protobuf (Binary) JSON Use Case Public APIs Internal Microservices Mobile/Frontend BFF Browser Support Native Requires Proxy (gRPC-Web) Native Why GraphQL for […]

Read more →