How to design hard software

This is Part 2 of the series about hard software. Read Part 1 here. Stop saying “architecture” The first step to healing is to accept the problem. I have a problem with the word “software architecture”. Architecture implicitely has the following properties: And all of these properties is exactly what we don’t want in a …

Hard Software Architecture

What is hard software? Whenever we need to process huge amounts of data, or perform millions of transactions per second, or our hardware resources are very limited, or our networks are slow and unreliable (IoT), or we need to perform huge amount of calculations in real time (think about computer games), our approach to software …

New Features in ClickHouse

I have recently discovered a lot of interesting new features in ClickHouse, which I have missed previosly, and so I want to share them with you. Variant data type In a Variant column we can store data of different types. Which types they are, we have to specify during the column creation. In the practice …

Five Reasons for Message Bus

Why might we want to use a message bus? Not a ZeroMQ, but a dedicated, separate hardware with all the bells and whistles? Here are my five reasons. Future-proof data architecture The first post service has been invented 4500 years ago. The beauty of post service is that it has unlimited use-cases. Initially you would …

Six principles of debugging

Debugging is an underrated skill. Even though we spend 50% of time on debugging at work, it is barely trained in the universities. The ability to debug might be the most important factor differentiating the 10x developers from the rest, and therefore can be a predictor for our job satisfaction and compensation. Debugging is Unintuitively, …

Four generations

Degenerate world!Anne of Austria, “Twenty years after” The Titans Like in any mythology, the first generation has to be titans: people who have made impossible things, many times, consistently, and seemingly with no effort. Gauss with his linear regression and normal probability distribution has laid foundations to numerous science disciplines. Student’s t distribution created as …

Five mistakes interpreting data

We’re living in the age of data and everybody is making data-driven decisions by interpreting data. As a data scientist, I often see people making the same mistakes again and again. Here are the top five most common mistakes. Failing to relate the numbers Data analysis shows that one of the KPI is 65%. The …