Skip to main content


Photo of Erhan Bagdemir

Perfect Simplicity

Hey there, here is Erhan and I'm a Software Engineer and a passionate Photographer, Referee and Dad. In this blog, I am writing about information technology. You can also find me on Twitter, Github.




Protocols and multimethods

Posted: September 5, 2018 | Clojure , LISP
Similar 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...

Dockerized Java Enterprise

Posted: July 7, 2018 | Java , Docker
Since Docker containers became the new virtualization layer between the operating system and the applications, Java engineers whose job was to develop web services in the SOA epoch, had to adapt themselves to work with Docker containers, suddenly. But, how do containers change developer’s culture...

Powermocking and OOP

Posted: April 9, 2017 | Java , Testing , Mocking
Encapsulation helps us to define boundaries of data and behavior within a class, though there are mocking frameworks which bend the rules of this protection. But, if you consider, is it all right to drill down through this protection layer by leveraging the reflection API and mock private methods...

R in Practice: Pipes

Posted: April 9, 2017 | Data Science , Statistics , R
The more I write code in R, the more I am impressed with the facilities that the language provides which is perfectly tailored to cleaning and tidying data, one of the most crucial steps in statistical analysis. As you may also admit it, failing at choosing the right tools in development context,...