Transactional Outbox: What is it and why you need it?

Receiving a request, saving it into a database, and finally publishing a messagecan be trickier than expected. A naive implementation can either lose... | Continue reading


@morningcoffee.io | 2 years ago

Killing a process and all of its descendants is surprisingly hard on Linux

Killing processes in a Unix-like system can be trickier than expected. Lastweek I was debugging an odd issue related to job stopping on Semaphore.More specifically, an issue related to the killing of a running process in ajob. | Continue reading


@morningcoffee.io | 4 years ago

Five principles that improved my software engineering skills

Mentoring younger developers is a very rewarding experience. It challenges youryour pre-established ways of thinking, and it forces you to re-evaluate... | Continue reading


@morningcoffee.io | 4 years ago

Boolean short circuiting is not guaranteed in SQL

Last week I was debugging a weird bug in one of our services. In the logs wesaw an SQL error “repetition-operator operand invalid”, so I was pretty surethat we have a broken SQL comparison in one of our services. The weird partwas that this error happened only occasionally, seemi … | Continue reading


@morningcoffee.io | 5 years ago