The day has come. K8s 1.24 removes Dockershim. If you are using Docker as your container runtime, you must migrate to containerd or CRI-O. What This Means You can still build images with Docker. The change affects the runtime inside K8s nodes. Managed services (AKS, EKS, GKE) have already migrated. If you run self-managed clusters, […]
Read more →React 18 Released: Concurrent Features Explained
React 18 is GA. The headline feature is Concurrent Rendering, enabled by the new createRoot API. Automatic Batching Previously, state updates inside setTimeout or fetch callbacks were NOT batched. React 18 batches them automatically. Suspense for Data Fetching Combine with libraries like React Query or Relay to show loading states declaratively.
Read more →Securing CI/CD Pipelines: Best Practices 2022
Your CI/CD pipeline has more secrets than your production environment. It is a prime attack target. Top Security Controls OIDC Authentication: Use GitHub OIDC to assume AWS/Azure roles without storing long-lived credentials. Least Privilege: Build agents should only have permissions to push images, not modify IAM. Signed Commits: Require GPG-signed commits before triggering builds. Dependency […]
Read more →Entity Framework Core 7 Preview: JSON Columns
EF Core 7 introduces mapping JSON columns to complex types. The Address object is serialized to a JSON column in SQL Server/PostgreSQL. You can query inside it with LINQ!
Read more →Pulumi vs Terraform vs Bicep: 2022 Comparison
The IaC space has matured. Here is my updated decision matrix. Criteria Terraform Bicep Pulumi Multi-Cloud ✅ Best ❌ Azure Only ✅ Good Language HCL DSL C#/TS/Python/Go State S3/Azure Blob Azure (ARM) Pulumi Cloud/Self-Hosted Testing Sentinel What-If Native Unit Tests My Verdict: If Azure-only, use Bicep. If multi-cloud or you want real programming language power, […]
Read more →gRPC Transcoding: REST and gRPC in One Service
Browsers cannot call gRPC directly (no HTTP/2 trailers). gRPC Transcoding exposes your gRPC service as a REST API automatically. Now GET /v1/hello/World calls the gRPC method. You maintain one codebase, two protocols.
Read more →