• Posts
  • About Me
  • posts

  • πŸ“‘ Orleans Streams: Reactive Messaging for Distributed Grains

    • .NET
    • Orleans
    • Distributed
    • Systems
    • Streaming
    May 11, 2024
    Learn how Microsoft Orleans Streams enable real-time, event-driven communication between grains with examples and best practices.
  • 🌾 Actor Model in .NET β€” Intro to Microsoft Orleans

    • .NET
    • Orleans
    • ActorModel
    • Distributed
    Mar 20, 2024
    A friendly, practical introduction to the Actor Model and how to implement it with Microsoft Orleans (grains, silo, client).
  • πŸ§ͺ Understanding ACID Transactions with PostgreSQL

    • .NET
    • PostgreSQL
    • Database
    • SQL
    Apr 18, 2022
    A practical guide to ACID transactions in PostgreSQL with examples for each property and isolation level.
  • 🐘 PostgreSQL SKIP LOCKED β€” Build a simple, efficient task queue

    • Postgres
    • SKIP_LOCKED
    • TaskQueue
    • Concurrency
    Feb 10, 2022
    How PostgreSQL's SKIP LOCKED helps implement high-throughput task queues without contention and why it's safer than polling with updates.
  • πŸ“Œ Pinned Object Heap (POH) β€” Why pinning matters and how POH helps

    • .NET
    • GC
    • POH
    • Pinning
    • Diagnostics
    Oct 10, 2021
    A friendly, practical deep-dive into the Pinned Object Heap: what pinning is, why it causes problems, and how POH (and good patterns) fix them.
  • πŸ“¨ Message Retry as an alternative to Transactional Outbox

    • Microservices
    • Outbox
    Jun 22, 2021

    Transactional outbox is a well known pattern in microservices, which helps us to ensure that both database write operation and publishing messages to a message broker occur atomically, that is, both or none.

  • ➑️ Channels in C# β€” Building High-Throughput Async Pipelines

    • .NET
    • Concurrency
    • Async
    • Architecture
    Apr 12, 2021
    Comprehensive introduction into System.Threading.Channels β€” how they work, when to use them, and how to build efficient producer-consumer pipelines in C#.
  • πŸŽ›οΈ Sagas in Microservices β€” Managing Distributed Transactions Gracefully

    • Microservices
    • DistributedSystems
    • Patterns
    Feb 8, 2021
    Learn how the Saga pattern keeps your microservices consistent without locking everything down.
  • γ€° C# String interning

    • .NET
    • String
    • C#
    • MemoryOptimization
    Apr 4, 2019
    In this artcile we're going to talk about string interning and how it can be used to improve a performance of our application
  • 🧡 C# Interlocked.Add

    • .NET
    • Threading
    • C#
    • Interlocked.Add
    • Interlocked.Increment
    • Interlocked.Decrement
    Mar 23, 2019

    In this article, we’re going to describe the problem we’ll face when working with a shared variable from multiple threads and the effective way of solving it using System.Threading.Interlocked.Add.