When IMemoryCache Stops Scaling: Moving to Redis with .NET Aspire
Moving from IMemoryCache to Redis with .NET Aspire to fix multi-instance cache inconsistency in a .NET app.
Sahan Serasinghe is a Senior Software Engineer at Canva sharing insights on developer experience, Python, and cloud-native systems.
53 articles from this blog
Moving from IMemoryCache to Redis with .NET Aspire to fix multi-instance cache inconsistency in a .NET app.
A debugging story about replacing Sharp with WASM to fix a production-only rendering failure caused by a hidden SVG dependency in an Open Graph image pipeline.
A solution for running database migrations safely when multiple Kubernetes pods start simultaneously, using PostgreSQL advisory locks.
Explores the operational costs and design considerations of scaling an agentic coding SDK for concurrent repository fixes, focusing on isolation, concurrency, and persistence.
Build a safe repository maintenance agent using GitHub Copilot and Microsoft Agent Framework in .NET, with guarded file changes and test execution.
Build a safe repository maintenance agent in Python using GitHub Copilot and Microsoft Agent Framework, with explicit approval for writes and shell commands.
A developer shares lessons from growing an engineering blog to 463k pageviews, focusing on evergreen technical content and traffic distribution.
A detailed guide on safely migrating a critical data path without a flag day, using shadow comparisons and controlled cutover.
A technical post about debugging an intermittent 'no healthy upstream' error in a search backend, revealing a misdiagnosed root cause.
Explores a subtle failure in event-driven systems where messages are acknowledged but not processed, causing silent data loss.
Learn how an engineer built an AI-assisted system to automate dependency vulnerability fixes across 20 repositories, reducing manual triage and speeding up remediation.
An engineer builds an AI-assisted system to automate dependency vulnerability fixes across repositories, reducing manual triage and PR creation.
A guide to deploying self-hosted GitHub Actions runners on a home Kubernetes cluster using the Actions Runner Controller (ARC).
A guide to building a powerful home Kubernetes cluster using old laptops, Ubuntu Server, and the lightweight k3s distribution for development and CI/CD.
A technical exploration of HTTP/1.1's chunked transfer encoding, demonstrating its implementation with FastAPI for streaming data.
Explains HTTP chunked transfer encoding via curl, FastAPI, Starlette, and Uvicorn, including raw chunk inspection and HTTP/2/3 differences.
A developer shares the detailed process, challenges, and solutions encountered while upgrading their personal blog from Gatsby V4 to Gatsby V5.
A tutorial on building a real-time streaming backend with FastAPI, including a simulated log stream endpoint and integration with a frontend.
A tutorial on building a full-stack app using FastAPI to stream data via chunked transfer encoding and a Next.js frontend to display it in real-time.
A software engineer outlines his 2024 blog plans, focusing on advanced engineering topics, career insights, visual tutorials, and community growth.