Category Archives: Uncategorised

How to construct objects in Scala

Scala’s object-oriented programming style comes with some syntactic sugar and a few tricks. In order to get a better understanding of how Scala works, we will examine a few Scala examples and the corresponding byte code (in reality, the Java code resulting from decompiling the class files). Examples Empty class Simplest possible example, an empty… Read More »

How to implement a Poset in Java

Inspired by this question in Stack Overflow, I decided to try my hand at implementing a Poset in Java. In order to understand how to do this, we need to define some concepts. Basic Poset terminology Poset definition A Poset is a set of elements with a binary relation defined between them (not necessarily between… Read More »

Scala’s uniform object model

Scala is functional and object-oriented. In a way, Scala is more object-oriented than Java as it has a uniform object model similar to Smalltalk’s. So what is this uniform object model? In a nutshell: every value is an object and every operation is a method call. That’s right, there are no primitive types, i.e. 1… Read More »

Microservice boundaries

Although working with microservices delivers many benefits, experience has shown that there are also some problems associated with their use. It is important to be aware of these issues so that their impact can be minimised. One of these problems is getting right the boundaries of microservices. This has proved to be one of the… Read More »

Linear programming with Python

A linear programming problem may be defined as the problem of maximizing or minimizing a linear function subject to linear constraints. The constraints may be equalities or inequalities. Here is a simple example: find numbers x1 and x2 that maximize the sum x1 + x2 subject to the constraints x1 ≥ 0, x2 ≥ 0,… Read More »

AWS Latency Index

In modern web applications, it is of paramount importance to deal with latency correctly.   Within an application, latency reveals itself at many different levels and with very different values. Computer latency at a human level is a good reference to understand the different timescales. It is clear that  the dominant term, by large, is the… Read More »