
An interesting behavior of recursive async functions. Synchronous stack overflow is well known, but what happens in async world?
An interesting behavior of recursive async functions. Synchronous stack overflow is well known, but what happens in async world?
Investigation of an interesting bug caused by misconfiguration of EF Core. The article describes the issue we noticed, the cause, and possible solutions
An overview of a script I wrote to remove the stale and unused bin
, obj
, and node_modules
directories from my drive.
Introduction to Redis Lua scripts and a practical example of how to implement concurrency conflict detection (optimistic locking) for Redis documents.
A practical example on how to introduce strong typing for primitive values in ASP.Net core.
Some shenanigans with the FizzBuzz puzzle. I decided to challenge myself to overcomplicate it during fictional interview.
Is there a need to validate data multiple times? Is mixing units uncommon? Some thoughts about one of the code smells.
Some thoughts about teamwork, knowledge silos, and overall communication between teams and team members.
An overview of LINQPad. Description of basic features that make the tool awesome.
In the last article, we saw how an actor/agent can help us with a concurrent system. As I mentioned, we did not implement a “true” actor. However, we have clarified one fact that distinguishes one from another - actors can spawn children and supervise them. One actor is no actor. They come in systems. Today we are going to build upon what we left last time and add two important aspects of the actor model and systems based on it.