Categories
Programming Techniques
Responsive Terminal Applications in Golang
While developing a terminal application with Golang, I recently struggled with the implementation of a feature, that was the responsiveness of the terminal application to window size ...
In Programming Techniques, May 08, 2021Coroutines in Java
A 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 Proje...
In Programming Techniques, Mar 10, 2019Protocols and multimethods
Similar in Command Pattern, that we are familiar from object-orient programming, Clojure provides multimethods and protocols which enable developers to implement such runtime polymorp...
In Programming Techniques, Sep 05, 2018Powermocking and OOP
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 ...
In Programming Techniques, Apr 09, 2017R in Practice: Pipes
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 st...
In Programming Techniques, Apr 09, 2017Lifting in Scala
Partial functions are widely used in Scala. Just like their mathematical counterpart, a partial function, e.g f: X => Y, is a generalisation of functions, that don’t necessarily ma...
In Programming Techniques, Jul 25, 2015A Brief Story of flatMap
The function flatMap, in Scala, is basically a binding element (and also a functional combinator) in the language and key to understand some important concepts of functional programmi...
In Programming Techniques, Jul 12, 2015Scala Companion Objects
It’s a very common approach to create new objects using factory methods in object-oriented programming as it is in Java. It allows us to decrease coupling between software components ...
In Programming Techniques, Feb 15, 2015Infrastructure
Opinion
Dockerized Java Enterprise
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, h...
In Opinion, Jul 07, 2018Book Reviews
How to Create a Mind (A Book Review)
The 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 ...
In Book Reviews, Feb 07, 2019Software Engineering
Rate Limiting with Token Buckets
In services landscape, rate limiting is not only a requirement to protect the available resources from getting exhausted and failing in the end, but it is also vital for attaining fai...
In Software Engineering, Jun 01, 2022Writing documentation, we struggle with
Writing documentation is not an easy task. It is sometimes more challenging - and not that spectacular, than writing source code since we as developers are trained how to deal with co...
In Software Engineering, Dec 22, 2021Liskov Substitution Principle
Liskov 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 i...
In Software Engineering, Aug 29, 2019Testing
Rhino: Load DSL
Rhino Load and Performance Testing framework is celebrating its 1.8.0 release, with the new version, the Rhino Load DSL (beta) reached another milestone towards its production readine...
In Testing, Sep 27, 2019Rhino: Load Testing Framework
Rhino Load and Performance Testing Framework is a sub-project of the Rhino umbrella project and an SDK which enables developers to write load and performance tests in JUnit style. Wit...
In Testing, Sep 08, 2019Platform Development
A Guide to OAuth for RESTful Webservices
As service architecture evolves, new services may join your enterprise services landscape. The question, “which service is authorized to run operations in the back-end?”, needs to fin...
In Platform Development, Dec 20, 2020Matrix URIs, their semantics and usage in Java RESTful Services
Matrix URIs, as Tim Berners-Lee called them in his personal design draft back then in 1996, or matrix parameters and sometimes path parameters, have been broadly adopted by applicatio...
In Platform Development, Nov 01, 2020Cloud Computing
Consistent Hashing Explained
Consistent Hash Ring is a widely used technique in the process of distributing and load balancing data or operational workload across multiple system components with high fault tolera...
In Cloud Computing, May 17, 2023