Latest

The most recent posts, hot off the keyboard.

Code Inventory

Code Inventory

What is the value of creating a personal code inventory and maintaining it?

Consistent Hashing Explained

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 tolerance.

Rate Limiting with Token Buckets

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 fair resource sharing among your users and also application clients.

Writing documentation, we struggle with

Writing 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 computers, but we may not know how people work.

Responsive Terminal Applications in Golang

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 changes.

A Guide to OAuth for RESTful Webservices

A Guide to OAuth for RESTful Webservices

Using OAuth 2.0 as so to manage authorization and to control user access on your REST resources is essential part of enterprise Java applications.

Matrix URIs, their semantics and usage in Java RESTful Services

Matrix 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 bro...

Rhino: Load DSL

Rhino: Load DSL

Create load and performance tests in a domain-specific language in Java.

Rhino: Load Testing Framework

Rhino: Load Testing Framework

Create JUnit-style load and performance tests in Java.

Liskov Substitution Principle

Liskov 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 t...

Coroutines in Java

Coroutines 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 t...

How to Create a Mind (A Book Review)

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 a...

Protocols and multimethods

Protocols and multimethods

Clojure provides multimethods and protocols which enables developers to implement runtime polymorphism.

Dockerized Java Enterprise

Dockerized Java Enterprise

Docker has definitely changed the developer's culture in Java Enterprise.

Powermocking and OOP

Powermocking 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.

R in Practice: Pipes

R 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 steps in statistical analysis.

Routine

Routine

Once you get a job, and code for others and get paid for it, you are a professional, a part of the whole, a cell in business organism and the business needs to survive in the competitive economy.

Mesos: A Datacenter OS

Mesos: A Datacenter OS

The need of orchestration of heterogeneous infrastructure, non-unified characteristics of the hardware on different server systems and fluctuating resource needs of software and the challenges in resource utilisation, urges us to rethink, how to deal with the vast amount of servers in our datacenters.

Lifting in Scala

Lifting in Scala

Partial functions are widely used in Scala.

A Brief Story of flatMap

A 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 programming, and in this blog article, I am going to introduce you some of these, which are heavily based on flatMap.

Scala Companion Objects

Scala Companion Objects

It’s a very common approach to create new objects using factory methods in object-oriented programming as it is in Java.

Reading List