Ulf Wiger
Erlang greybeard
Ulf Wiger has been using Erlang since 1992, bought the first-ever commercial license in 1993 and has been a full-time Erlang dev since 1996. While at Ericsson, he became something of an Erlang ambassadeur, speaking about the AXD 301 ATM Switch/Media Gateway and about how Erlang works in large industrial projects. After leaving Ericsson, Ulf joined Erlang Solutions as CTO. He then entered the Connected Device market first via the startup Feuerlabs, then as a freelance contractor to Jaguar Land Rover, and Lead Developer of GENIVI’s Remote Vehicle Interaction component. Ulf joined the Aeternity Core Team in 2017 and is now busy exploring and developing blockchain technology. In the Open Source arena, Ulf is perhaps best known for components like Gproc, Jobs, and Exometer. In his spare time, Ulf doubles as an opera singer and dabbles in politics.
Past Activities
Code BEAM V Europe 2021
12.20 - 13.00
Fireside chat on code design
Source code is much more than a collection of characters which gets compiled into an executable program. It is the place where developers spend a lot of their working time, extending the existing software, as well as debugging and optimizing it. The vast majority of development takes place on an existing codebase. Frequently a large part of that code is written by other people, some of which are not even a part of the team anymore. It is therefore essential that the code gets organized in a way which allow the developers to be both, efficient and effective. But can this even be done, and if so, how exactly? Come and join us in this session, where we'll explore the challenges of designing a codebase written in BEAM languages, such as Erlang and Elixir.
Code BEAM Europe 2022
15.30 - 15.55
Runtime Modes and Plugins in Erlang
Aeternity Foundation decided to introduce runtime modes (maintenance mode, dev mode, ...) and plugins in the already mature Aeternity Core blockchain system. Drawing on experiences from the old Ericsson AXD 301 system, Ulf introduced `app_ctrl`, a highly configurable application controller extension, and combined it with `setup`, a modular tool for installing and configuring systems. This allowed us to add exciting new functionality to a very stable system. In this talk, we describe some core OTP principles as well as some dirty tricks employed to make things work.
OBJECTIVES
Highlight OTP principles, describe some core OTP features and introduce new possibilities.
AUDIENCE
Erlang developers and architects.
Code Mesh LDN 2018
15.35 - 16.20
Using Erlang in blockchain development
I go through the advantages and challenges of using Erlang to build the Aeternity Blockchain. Language choice affects many aspects of a project, from recruitment to productivity. I discuss how programming languages may differ in general, and where it matters—more specifically what is important in the blockchain space—then describe how it played out in our project. In particular, after having implemented state channels in Aeternity, I will revisit some old arguments about complex state machine design, discuss how Erlang helps, and also report on how the new gen_statem behavior fares in avoiding the death of accidental complexity.