UDP vs TCP. What are the differences?

Introduction UDP and TCP are both transport protocols used for communication between different hosts. They’re part of the transport layer in the broadly-known OSI model. The transport layer is responsible for delivering data to the correct application processes over a network. UDP and TCP combined together contribute to pretty much […]

Stock Market Halted? Circuit Breakers Explained

Introduction On the 9th of March 2020, the New York Stock Exchange halted trading for 15 minutes as the result of triggering level 1 circuit breaker caused by a 7% drop in the S&P 500. The last time the circuit breaker kicked in was back in October 1997. What are […]

Bitcoin Halving Explained. Code analysis.

What is Bitcoin halving? Bitcoin halving is an event that reduces the supply of newly produced bitcoins by half. It occurs every 4 years or to be precise every 210000 blocks and it is a part of the validation logic in the Bitcoin source code. Bitcoin halving is important to […]

Apache Kafka Explained

Pub/Sub Before we dive into Kafka let’s start with a quick recap on what publish/subscribe (pub/sub) messaging is. Publish/subscribe is a messaging pattern where the sender (or the publisher) doesn’t send data directly to a specific receiver. Instead, the publisher classifies the messages without knowing if there are any subscribers […]

Lightning Network Explained

What is the Lightning Network? Lightning Network is a payment protocol that operates on the top of the Bitcoin network (“Layer 2” solution). It’s a network of decentralised nodes that allows for sending a huge number of transactions exteremly fast and for a negligible fee (even sub-satoshi level). The Lightning […]

Two Generals Problem

Two Generals’ Problem

What is the Two Generals’ Problem? The Two Generals’ Problem, also known as the Two Generals’ Paradox or the Two Armies Problem, is a classic computer science and computer communication thought experiment that we’re going to talk about in this post. First of all, to avoid any confusion, we need […]

Actor Model Explained

What is the Actor Model? Actor Model is a conceptual model of concurrent computation originated in 1973. In the Actor Model, an actor is a fundamental unit of computation and everything is an actor. The only allowed operations for an actor are: to create another actor, to send a message […]

Low latency in Java

What is latency? Let’s start with what latency really means. A quick Google search gives us the following definition: “latency is a time interval between the stimulation and response”. If you’re still confused by this definition let’s imagine you’re playing an online computer game. If your Internet connection is slow […]


What are robo-advisors?

What are robo-advisors? Have you ever come across a term robo-advisor? Have you ever wondering what that is? The first thing that comes to your mind is probably the “robo” bit, but if you’re imagining a human-like, metal creature you cannot be further from the truth. Robo-advisors are digital, financial […]

Algorithmic efficiency and Big O Notation

How to compare the efficiency of algorithms? Let’s imagine you just wrote a new search algorithm. How would you measure its performance? How would you compare it with other already existing algorithms? One of the most important elements of every algorithm is its time complexity. Measuring time complexity allows us […]