• Encoding, Encryption, Hashing, and Obfuscation in Java (19 Dec 2021)
    The concepts of encoding, encryption, hashing, and obfuscation are often mistakenly confused or taken as similar (which is even worse). Let's clarify this matter and see some Java code examples of practical applications.
  • Design For Microservices! (20 Sep 2021)
    The microservices architecture has gained significant momentum in the last years. Modularity, scalability, and elasticity are some of its essential characteristics. If you have an open-source project, you should consider designing it to be microservices friendly. The market will eventually reward you for that.
  • The Fork/Join Java framework (05 Jun 2021)
    If you are a Java developer, you need to know about the Fork/Join framework. It simplifies parallel programming, hence helping you to forget about manually tweaking your threads.
  • Dynamic Programming (21 Dec 2020)
    All software engineers should be able to understand dynamic programming. I give a curated list of very representative problems and explain their solutions.
  • The Producer-Consumer Pattern in Java Made Easy (28 Jun 2020)
    The BlockingQueue data structure can be used to implement Producer-Consumer pattern. In this guide I explain how.
  • Unix Cmd Hacks (23 May 2020)
    Personal notes of the edX course titled Unix Tools Data, Software and Production Engineering.
  • A Starting Guide to Become a Good Competitive Programmer (13 Dec 2017)
    Insights and tricks that I learned when I was a competitive programmer