The misconception that fast code must be ugly is unfortunately still alive. Also, there is an anti-pattern, of leaving the performance related work till the end, when nothing can be changed. Fortunately, there's a lot of people writing code that is fast and easy to follow. In this post I want to discuss hot paths, … Continue reading Hot paths in performance design
So you've created your Open Source project. It might be written in Java, it might be .NET, it might be something else. You might have even taken an additional step and created a test that validates public API to please SemVer gods. Now, let's take a closer look at this API. What types does it … Continue reading These other types and your API
This time we'll make it right! Anonymous software architect planning for a big rewrite. 2018 There's no better feeling that being led through a big rewrite by a prophet saying that this time we'll make it right 😉 Depending on the experience gathered by members of this brave team, one might ask What will make … Continue reading Survival of the fittest (systems)
TL;DR Are you dreaming about breaking a monolithic application? Some of us do. What I'd prefer to hear is breaking a monolithic application into pieces that fit. This would be much appropriate and much more advantageous than just breaking this monolith, wouldn't it? We want it to work, after all. Let's go through different approaches … Continue reading On breaking the monolith
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