Erhan Bağdemir's Picture

Erhan Bağdemir

Hey there, my name is Erhan and I'm a software engineer and a passionate photographer writing about information technology.

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