Recent Posts

  • Implementing retries with exponential backoff

    Making a call to an external service might fail for a lot of reasons, sometimes it’s due to network failure, sometimes it’s because the external service is too busy, or […]

  • Executing tasks with the Executor Framework in Java

    Java offers us many ways to write multi-threading applications, at the early stage, we probably create a new thread for each task by manually extending the Thread class, this seems […]

  • AOC 2022 – Day 5: Supply Stacks

    You can read the full description for day 5 here. In summary for part 1, we have been provided a number of stacks, each stack may contain a number of […]

  • WebRTC – Go beyond the APIs Part 1: Signaling and Connecting

    We were in the middle of the pandemic. Many of us have to get accustomed to the new norm, stay at home to work and study, etc.…We are separated and […]

  • Avoiding NullPointerException in Java

    NullPointerException is one of the most hideous exceptions in Java. It can silently stop the execution of one thread, or it can, fatally terminate the execution of the whole program. […]

  • Introduction to Trie Data Structure

    Trie is a data structure that is not so popular but is particularly useful when you have to work a lot with strings. It also has different names like a […]

  • Instrumenting Applications with Prometheus

    Monitoring is an integral part of any non-trivial system, by the monitoring process, we then have an insight into the application performance and status, such as RPM, CPU usage, and […]

  • Covariance and Contravariance (Java)

    Many programming languages support subtyping, for example, MechanicalKeyboard can be a subtype of Keyboard, and according to the Liskov substitution principle, the MechanicalKeyboard instance should be substitutable everywhere the Keyboard […]

  • Some notes about TreeSet in Java

    The most frequent data structure that I use in Java is the List. But sometimes if I have to store distinct elements without caring about the ordering, then I would […]

  • Thread confinement in Java

    As a Java developer, perhaps all of us have written some kind of single-threaded program. In this program, we can reason about our code much easier when compared with multi-threaded […]

Every support is much appreciated ❤️

Buy Me a Coffee