TL;DR It's often said that there are only two hard things in Computer Science: cache invalidation and naming things. In this blog post we'll reconsider this statement against the modern databases and approaches. We'll start with no-cache rule and move to some situations where applying caching might be good, or even, vital. If you never … Continue reading The subtle art of caching
Why are they still working on the whole async-await thing? What is Task, Async Await, ValueTask, IValueTaskSource ? How to keep your sanity in modern .NET world?
If you wake up a Domain Driven Design fan and scream the word "Bounded" the answer will be immediate and always the same: "Context". It's funny that this word is having so much trouble in leaving DDD context. I'd like to encourage you for broadening it a little bit, to a design, architecture space. Reality … Continue reading Bounded design
Who didn't use printf or Console.WriteLine to just something logged. Possibly, you were a bit more advanced and used a custom library that does this line printing to a separate file, or event a rolling file. What's printed is just a text. If you're aware enough, you'd put probably some 'around printed values'. In a … Continue reading Semantic logging unleashed
It's time for another pearl of design, speed and beauty at the same time. Today, I'm bringing you a protocol used by NServiceBus to efficiently report its measurements to a monitoring endpoint. It's really cool. Take a look! Not that I co-authored it or something... 😉 Measure everything One of the assumptions behind monitoring NServiceBus … Continue reading Pearls: the protocol for monitoring NServiceBus
Pearls of design, beautiful patterns, efficient approaches. After covering Jil and its extremely efficient serialization of primitives it's time to put things in reverse. By things, in this case, I mean EventStore, the event centric database that I already presented once. Now, it's time to visit its ability to move back in time and traverse … Continue reading Pearls: putting EventStore in reverse
In this article I'll describe an easy and fast way to use Azure Storage Append Blobs to create a never ending Append Blob. Yes, a regular Append Blob has its limitations, including the maximum number of blocks and the size, but with a proper design we can overcome them. Limits we want to overcome According … Continue reading Never ending Append Blobs