Gireesh Kapila

Gireesh Kapila

Code for the joy of it, writing to make sense of it.

Get new posts in your inbox (or via RSS)

February 1, 2024

The Transactional Outbox Pattern

How to keep your database and message broker in sync without distributed transactions.

Read more →
January 25, 2024

Object Pooling in ASP.NET Core

Reuse objects instead of creating new ones to reduce memory allocation overhead and GC pressure.

Read more →
January 25, 2024

Object Pooling in ASP.NET Core

Reuse objects instead of creating new ones to reduce memory allocation overhead and GC pressure.

Read more →
November 15, 2023

Why You Should Use IHttpClientFactory in .NET

Disposing HttpClient doesn't close the socket. Reusing it risks stale DNS. IHttpClientFactory solves both.

Read more →
November 15, 2023

Why You Should Use IHttpClientFactory in .NET

Disposing HttpClient doesn't close the socket. Reusing it risks stale DNS. IHttpClientFactory solves both.

Read more →
November 9, 2023

Concurrency, Multithreading, Async, and Parallelism

They overlap but aren't the same. Here's how they relate.

Read more →
November 9, 2023

Concurrency, Multithreading, Async, and Parallelism

They overlap but aren't the same. Here's how they relate.

Read more →
November 2, 2023

On-Stack Replacement in .NET 7

Tiered compilation had a blind spot for long-running loops. OSR fixes that.

Read more →
November 2, 2023

Why Records in C# Are Underrated

Value equality, immutability, and less boilerplate. Records do a lot for one keyword.

Read more →
November 2, 2023

On-Stack Replacement in .NET 7

Tiered compilation had a blind spot for long-running loops. OSR fixes that.

Read more →
« Newer posts Older posts »