Last month we attended Code BEAM Europe, a conference centered around programming languages that run on the BEAM virtual machine like Erlang and Elixir. During the two conference days we met inspiring people, listened to interesting talks and got updates on the future of the BEAM ecosystem. While the talks are not publicly available (yet), we still want to give you an overview of some of the main topics that were discussed.
The two most prominent BEAM languages, Erlang and Elixir, do not feature static types, which is not bad per se. With dynamic types you save on some boilerplate code in exchange for potential runtime errors. It depends on the use case if speed of development or a save runtime is more important.
The tool of choice for type checking in Elixir and Erlang is Dialyzer, a DIscrepancy AnaLYZer for ERlang programs. Dialyzer uses a concept called success types¹ that cannot catch certain errors. That’s why Giuseppe Castagna, Guillaume Duboc and José Valim wrote a paper and implemented a proof of concept for a new typesystem for Elixir.
This new type system is based on set-theoretic types. Guillaume told us about the project, and José later spoke about the integration into Elixir, which is in a very early stage, and there is still the possibility that they will fail to implement the concepts from the paper.
As expected, the conference had multiple talks about AI and Machine Learning. One in particular – titled: ”A Year in Production with Machine Learning on the BEAM” by Christopher Grainger – got our attention. ²
This talk revolved around machine learning and data evaluation in the Elixir environment, with a special focus on analyzing patent data.
Christopher described the issues with the prior search processes in patenting being time-intensive and potentially inaccurate and how machine learning could vastly improve and simplify this process. He also explained how they could eradicate Python completely and build one Elixir team for all the different needs of their application.
All in all, it was an enlightening presentation that shed light on the potential of Elixir in AI and Machine Learning.
Like the highly influential yet boutique Elm, Lustre focuses on a zen-like developer experience for frontend applications with a simple mental model and a clear flow of data:
The entire state of the application is stored in a single model variable, which might sound messy at first, but thanks to Gleam’s algebraic data types, static types and pattern matching, making changes to the shape of that model is tool-assisted and type-safe.
Side-effects are pushed to the edges of the system, out of the pure functional core and are managed by the runtime.
While this was not explicitly a topic of the talk, I feel that small and niche languages such as Elm or Gleam sometimes have to justify their existence. In my opinion, one needs to look no further than the sheer enthusiasm of both the speaker and the audience during the talk – boutique languages are a space for innovation and experimentation, where developers are free to build the tools they want to use and like Elm has done with Redux and Vue.js, the really good ideas often trickle down into the more mainstream languages and frameworks.
These where our highlights of the code BEAM Europe 2023 conference. The talks will be published on the code sync youtube channel, some are uploaded already. We enjoyed our time at the conference and looking forward to the next event.
Nach den Vorbereitungen in den letzten Kapiteln beschäftigen wir uns nun mit der eigentlichen Erstellung des Clusters. Am besten folgt
Ein Kubernetes-Cluster ist zwar sehr resilient, aber es gibt dennoch einige Vorfälle, die potentiell schwerwiegende Auswirkungen haben können. In diesem