Erik Stenman has been a foundational force in the digital world for over four decades. He has been programming for fun since 1980 and for profit since 1989, when he created his first development company. His Ph.D. work included the implementation of an efficient native code compiler, compiling from the Erlang VM BEAM code to native machine code. But he is perhaps best known for either his work on HiPE, the High Performance Erlang project or for his work in building up the Engineering Department at Klarna since its inception.
While Erik’s friends would describe him as both happy and curious, he remains dedicated to exploring new challenges in his work. In his book about the Erlang Runtime system, Erik explores Erlang’s unique approach to building a virtual machine, demonstrating how to take advantage of its power and tailor it to fit the individual needs of a project. We recently asked him why Erlang is such a focus for him and why he is lending his wealth of knowledge and experience to the æternity team.
Why did you decide to join the æternity core development team?
I was approached by æternity because they were looking for developers experienced with BEAM and the Erlang runtime system. I found the project very interesting and was enthused by the high-caliber dev team as well as æternity’s dedication to the principles of transparency, efficiency, and scalability.
What interests you most about blockchain?
The disruptive nature of blockchain really interests me. I think the technology has the opportunity to change many aspects of business and life as we know it, I look forward to playing a part on the journey to mainstream adoption.
What would you like to see from this technology?
I think an exchange for digital content would be a great use case for the work. I would like to help facilitate the trading of digital content in a safe and fair way.
What prompted you to write your book: The Erlang Run-Time System?
I worked as CTO of Klarna during the company’s formative years. As a start-up, we were constantly struggling to scale the system and keep up with the increasing load and new features. We often had to dive deep into the system since we were pushing the limits of Erlang during this time. We would have benefited greatly from better documentation on the Erlang Run Time System. Just before I left Klarna, I decided to write that documentation myself.
What was the hardest part of writing the book?
The hardest part was finding the time to actually write. The next major challenge was to read all the C code of the Erlang implementation to actually understand how things worked.
What is the root of your happiness/how do you stay “happy”?
I’m always searching for challenging and interesting projects to work on, and I don’t take life too seriously. I am very optimistic but I also understand that life doesn’t always work out the way I want it to.
In your opinion, what separates a good hacker from a “hack”?
A good hacker can anticipate all the ways that things can go wrong and writes code in such a way that it deals in advance with these problems. This can be handled without cluttering the code with unnecessary guards and checks.
A hack is usually the opposite, finding a quick solution that perhaps doesn’t fully address the problem. It often works for 80% of the cases and can be sufficient to get a prototype up and running, but it usually crashes horribly on some corner cases.
If you could give your younger self a piece of advice what would you say?
Eat less carbs and write more code!
UPDATE: æternity Universe One — the first conference dedicated to the latest R&D in the blockchain space and æternity, took place on September 20–21, 2019 in Prague. Dr. Erik Stenman held a talk on the topic: “FATE: A Type Safe High-level Virtual Machine”. Watch it below:
Interested in æternity? Get in touch: