Engineering

Worst.API.Ever

Back when I was developing Android applications, the worst REST API I ever had to consume had a response that looked something like this: [ [true,true,true,true,true,true,true,true,true,true,true,true,false,false,false,false], [false,false,false,false,true,true,true,true,true,true,true,true,true,true,true,true], [true,true,true,false,false,false,false,false,false,false,true,true,true,true,true,true], [true,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false], [], [false,false,false,false,false,false,false,false,false,false,false,false,false,false], [true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true], ] Allow me to explain: This API was used to retrieve available time slots in the upcoming week. Each nested array represents a day in the upcoming week. So for example: If today is Friday, then the array at index 0 represents Saturday.

Idempotency Keys

For the past 2 years, I’ve been working on the backend of a digital bank. One of the important concepts that I learned was about Idempotency Keys. In this article, I will discuss: What is Idempotency? Why is idempotency important in banking? What are idempotency keys? How are idempotency keys implemented? What is idempotency? An idempotent action is one that, if performed multiple times, produces the same output as if it were done once.

Distributed Microkernel Architecture

We were contracted to build an appointment booking system that enabled hauliers (truckers) to pick up containers assigned to them from a sea port. The tricky bit was that the contracting company operated a number of ports, and for legacy reasons, different ports had different strategies to assign a container to be picked up by a particular haulier. For example: in one port, you’d assign a haulier by entering their username.