Bored Of Your Daily Job?

You do the same things every single day. You write code to solve a problem in the same way, week after week, year after year. You have reached the point where you think the only way to escape this boring working life is to change company. If you beli… (read more)

Optimization Heisenbug

Have you ever seen a bug that disappears when you try to debug it? This situation has a name: heisenbug. A special type of heisenbug happened to me at least twice and recently to a colleague of mine. Different Behaviors These were the symptoms: the p… (read more)

Be Careful With Those Resources

Once, a friend of mine working for a big tech company told me: "I cannot give you the exact numbers but I usually work on a system with thousands of CPU cores and petabytes of storage space". I don't know the amount of RAM but you got the point: ther… (read more)

Why Tabs Are Better Than Spaces

I think there is no doubt that readability is in the eye of the beholder. If you are customized with a certain code style, it will take some time before you become comfortable with a new style. The biggest part of this process of acclimatization is p… (read more)

Disciplined Programmers

Compared to C++, Python object oriented support lacks of the modifiers private and protected. Even if you can prefix an internal member with a double underscore, this is merely cosmetic. Nothing prevents accessing these variables from outside. The re… (read more)

Choices And Questions

This is something we rarely think about, but, as programmers, every day we have to make several choices. Every step of our job involves a (conscious) choice. Which programming language, which technology or which framework are probably the most easy t… (read more)

What To Log

Ideally a log file should contain the exact amount of information you need to understand whether the system/application is running correctly or to find the causes of a bad functioning. Unfortunately, often we end up with less data than we need. There… (read more)