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.
In early 2003 we experienced a change in IT world. Our hardware was different than before. The clock speeds stood still and to make our CPU faster we added more cores. Concurrency was already hard to deal with and now we needed to work with multi-threading machines as well. In times of modern CPUs like Xeon Phi with up to 288 threads and cloud computing the task of utilizing most of the clock cycles is a true challenge.