Democracy, Disruption, and the Secret Weapon for Discriminating Hackers: An Interview with Ulf…

The creator of the most complex Erlang system shared his thoughts about how blockchain technology might unlock a more democratic financial future for everyone.

Image by Ulf Wiger

With a long and successful history working in Erlang, Ulf Wiger bought his first commercial license in 1993. Then, in 1996, he joined Ericsson and became Chief Designer of the AXD 301 development; arguably the most complex system ever built in Erlang. The AXD 301 product consistently demonstrated better than 99.999% availability in the field, on average.

His kindness and patience are matched only by his inability to be controlled, and over the years Ulf has earned a reputation for being one of the pillars of the Open Source Erlang community. In February 2009 he became CTO of Erlang Solutions. Recently we asked him about his thoughts about blockchain and how this disruptive technology might unlock a more democratic financial future for everyone.

How did you get involved with æternity?

I believe the first time I came across blockchain tech was in 2010. Unfortunately, I didn’t get into it back then. In May of 2017, I found myself in between projects after working as a freelance consultant for the past 3–4 years. I thought it would be a good opportunity to start exploring cryptocurrencies and had been doing that for some days when I came across an ad from æternity looking for Erlang developers. Joel Reymont, then acting CTO of æternity, and I have been friends for many years, so I shot him an email. That was on a Friday. I started working on the core team the following Monday.

What do you find most interesting about this blockchain thing?

Trustlessness is interesting. I’ve been working with distributed systems and algorithms for most of my career, developing cluster controllers, distributed registries, locking mechanisms, leader election libraries, etc. I’m pretty familiar with “trust-based” consensus algorithms, but the “trustless” aspect puts everything on its head. It’s great fun to be able to dive into something so familiar, yet entirely different at the same time.

I’m also certain that blockchain technology will prove truly disruptive because of the trustless aspect.

Exactly what the revolution will look like is still unclear to me, but that is usually the case with disruptive technologies.

If you could solve one problem or create one major change in the world by developing this technology, what would it be?

I’m a classical liberal at heart and believe that efficient, properly decentralized free markets are the most powerful democratic force there is.

In the past decades, the tech industry has been trying to figure out how to support micro-payments, and legacy businesses have been fighting to be the one sending invoices to the customer — i.e. being the micro-billing aggregator, so to speak.

We need new financial instruments worthy of the Information Age and the Internet of Things, but we also need to constantly fight the tendency of markets to coalesce and become dominated by a few major players.

Blockchain tech seems to offer new ways to achieve this, and it’s exciting to be able to explore that potential.

What are your favorite things about Erlang as a programming language?

There are two main candidates: that Erlang code tends to be pretty simple to both write and read, and that Erlang really does concurrency right. Of course, in combination, the real killer feature must be that, in so far as concurrency programming can be called simple at all, Erlang makes it relatively simple to both write and read complex concurrent code.

What challenges and opportunities are on the horizon for the future of the Erlang language?

When I got into Erlang, back in 1993, there really wasn’t any sort of market for Erlang programmers (only Ericsson, I, and a few others were using it). I used to hope that, if Erlang itself didn’t become popular, at least other languages would copy some of the great features of it. This actually came to be, at least to some extent. Now, there are languages and libraries that have borrowed ideas from Erlang, and the problems Erlang was designed to solve have entered the mainstream. So whatever happens to Erlang, now is a pretty good time to be an old Erlang developer. And still, Erlang has some qualities that few of its competitors can match. One of the main things few have copied is the error handling.

For those who want to build responsive, extremely robust transaction systems (and who doesn’t?), Erlang is still very hard to beat!

Having said this, Erlang is an odd beast with its Prolog-inspired syntax. It will probably never become the darling of the masses, but remaining a secret weapon for discriminating hackers and entrepreneurs is not so bad, after all.

Outside of work, how do those close to you describe your personality?

Both my 14-year-old daughter and my 18-year-old son have sometimes told their friends that they should come to me for advice on school projects or life issues. That makes me feel both proud and humble.

Few things can match enjoying the mutual love and respect of your children.

If you could give your younger self a piece of advice, what would it be?

Accept that other people and groups want to choose their own path, just as you do, and don’t worry too much if you can’t get them to see things your way. It doesn’t have to mean that either of you is wrong. It could be that there are angles you haven’t seen yet, or that some things simply have to play out before people are willing to explore alternatives. If you stay curious and humble at the same time, you will eventually find your way.


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. Ulf Wiger held a talk on the topic: “Scaling Off-Chain with State Channels”. Watch it below:


Interested in æternity? Get in touch:

GitHub | Forum | Reddit | Telegram | Twitter | Facebook | Mail


Leave a Reply

Your email address will not be published. Required fields are marked *