Dániel Szoboszlay

Juggling the data of Europe's biggest fintech unicorn

Dániel fell in love with Erlang a decade ago, working for Ericsson in Budapest. After his project got outsourced to India he tried himself as a consultant. Unfortunately, it turned out that kicking off many projects but hardly ever seeing them finish is not everyone's dream job, and working for short periods of time in faraway places is not everyone's wife's dream scenario either. So he moved to Stockholm to join Klarna, and ever since he's happily tweaking a big and old system for scalability and stability.

Past Activities

Dániel Szoboszlay
Code BEAM Europe 2022
19 May 2022
10.45 - 11.30

The Hunt for the Cluster-Killer Bug

We know Erlang is all about fault tolerance. A well-engineered Erlang system – such as Kred, in the heart of Klarna’s business – will never stop, no matter what. Yet, about a year ago a short Kafka outage shook our mighty Kred so bad it knocked out all but one node. A few days later a second outage took down the entire cluster. How could this happen?
This is the story of our hunt for the cluster-killer bug before it could strike again. It is a story of unexpected twists and descending to the deepest depths of the technology stack powering an Erlang application.


Give some new tools for debugging low-level issues in an Erlang stack.
Teach about Erlang’s memory model.


Developers who would like to add some new tricks to their debugging toolbox.

Dániel Szoboszlay / Onno Vos
Code BEAM V Europe
20 May 2021
13.10 - 13.50

Breaking up with Mnesia

Klarna runs its business on Mnesia from day one. 16 years later we're still together... but we’re heading towards a break up.
How did we get here? What’s the way forward? Over the years problems hit us for sure, but as we’re about to part we also found good in Mnesia we'd taken for granted and never appreciated before. Are you just launching on Mnesia? Come and learn how not to corner yourself by the time you grow to a Unicorn. Already stretching limits? See how we made Postgres a viable replacement.


Mnesia has some superpowers, but you won’t realise they exist until you try to live without them. Become aware of them, and you will be able to make conscious choices on whether to fully utilize them or to keep your options open.


Developers using Mnesia - or even Postgres, if they’re interested in our journey towards performant serializable transactions on this database.

Dániel Szoboszlay
Code BEAM Lite Budapest
20 Sep 2019
14.50 - 15.30

Testing for race conditions in real world software

Race conditions are a programmer’s worst enemy: hard to catch in tests, almost impossible to reproduce. But there came a new tool, and changed everything! This talk is about Klarna's experience with testing for race conditions using Concuerror. They were among the first industrial users of it, and it has been quite a journey! They ironed out some rough edges, learnt a whole new mindset about testing, discovered best practices, and even wrote a tool for testing distributed systems under Concuerror.


Give developers a head start on using Concuerror for testing their systems. To learn what’s possible and what’s not, and how to avoid common pitfalls.


Developers of concurrent systems.

Dániel Szoboszlay
11 Sep 2020
16.25 - 16.50

Consensus Protocols in OTP


Are consensus algorithms in OTP based on Paxos? Raft?

A home-grown solution?

Are they the secret sauce of the language or its dark secret instead?

Are global locks and Mnesia transactions as reliable as you believe?

Consensus protocols are essential to distributed systems, yet they are always constrained by theoretical limits. Trade-offs between consistency and ensuring progress are inevitable.

This talk will peek into OTP libraries such as "global" to better understand their guarantees and failure modes.






  • Help developers better understand the capabilities and limits of key OTP modules driving distributed systems.
  • Demonstrate the importance of exploring failure modes.


Developers of distributed systems who are interested in guarantees, failure modes and edge cases.

Dániel Szoboszlay
Code BEAM STO 2019
17 May 2019
16.15 - 17.00

Useless performance optimisations on the BEAM for fun and... fun?

The race between Man and Machine for writing The Fastest Code is on since the first compiler has been invented. Now, I'm afraid when it comes to targeting x64, our chances of beating the Machine are negligible. But maybe with the BEAM we still hold a chance? Let's dig into BEAM assembly and find out whether we can show erlc a lesson or two!


Teach about how the BEAM VM works under the hoods and show some examples on what the compiler can and cannot optimise for you.


Anyone interested in low-level BEAM stuff. Or maybe compilers.