Liskov Substitution Principle
Posted: August 29, 2019 | Design , OOPLiskov Substitution Principle (LSP) is a slick one. Violating this principle leads up to bugs which are hard to spot since the overriding subclasses change the internal state of the instance of the parent in such way so parent’s representation and the semantics of it is broken. Let’s have a look ...
Coroutines in Java
Posted: March 10, 2019 | Java , Coroutines , ProgrammingA few months ago, as I was attending the Devoxx’18 Conference in Antwerp, Belgium, one of the most spectacular topics which I was excitedly looking forward to following, was the Project Loom’s “Fibers”. Fibers are lightweight user mode threads scheduled by the JVM runtime — not by the Operating S...
How to Create a Mind (A Book Review)
Posted: February 7, 2019 | Java , CoroutinesThe dream of emulating human brain is one of the most challenging endeavour of our time. As technological advancement is gradually speeding up and the vast amount of data giving cues about patterns of thinking, it might look like as if we indeed are not that far away from passing the Turing Test ...
Protocols and multimethods
Posted: September 5, 2018 | Clojure , LISPSimilar in Command Pattern, that we are familiar from object-orient programming, Clojure provides multimethods and protocols which enable developers to implement such runtime polymorphism while forming abstractions in functional-fashion and implementations thereof. In this blog article, I will de...