ElixirConf 2018 Wrap Up
by Claudio Ortolina
The recent ElixirConf® US 2018 in Bellevue was a whirlwind of announcements, ambitious ideas and solid production stories. I attended with my colleague Adam and had the opportunity to spend significant time chatting with developers and CTOs from companies and organisation of all kinds and size.
The community is evolving: recurring topics for this year highlight that plenty of people started tackling challenges growing existing Elixir systems, particularly when introducing stateful, distributed patterns.
Testing at large
Both in terms of talks and hallway conversations, it’s clear that the community is experimenting with property based testing techniques and tools (and in some cases they’ve already adopted this as part of their work stack).
In this respect, it’s worth watching the talk by our own Rafał Studnicki and Simon Zelazny from Wallaroo Labs, where they show how they managed to replicate specific issues in Phoenix Presence using a property-based testing approach with Elixir, Docker and Propcheck (based upon PropEr). The source code for that test suite, available at GitHub - distributed-owls/breaking-pp: Breaking pp, is a very approachable code read and shows in practice how to tackle stateful modelling of a real system.
Another common thread for those who are looking into property-based testing is the book Property-Based Testing with PropEr, Erlang, and Elixir by Fred Hebert (which I’m reading myself and recommend). Introduction to the topic is gentle, and while the ramp up is steep, the author always carefully tries not to lose people along the way.
Telemetry (measure all the things)
During his final keynote (and more on that in another paragraph) Chris McCord gave a shoutout to the Telemetry project, a joint effort between the Phoenix team and Erlang Solutions to provide a stable core to introduce instrumentation in any Elixir project.
We believe it’s just not possible to run software in production without metrics, alarms and good monitoring (we went as far as building a product for this very reason) and it only makes to contribute community-wise to increase this practice.
Other companies, like AppSignal and New Relic are making efforts in terms of supporting the Elixir language and ecosystem, together with open-source initiatives to provide integration with tools like OpenCensus.
In the end, it’s just reassuring seeing that no matter what teams choose to use, the concern about running software in production with an eye on monitoring sits front and centre in people’s minds.
Nerves, Scenic and IOT
Justin Schneck’s keynote showcased NervesHub, a way to securely manage firmware updates for Nerves devices. Technically impressive and full of potential, I also enjoyed the fact that Nerves Hub is the result of the collaboration of different individuals from different companies that ultimately leads to a greater good for the community and therefore can be part of an organisation’s strategy.
Boyd Multerer) demoed and talked about Scenic, an OpenGL based Elixir library to build rich user interfaces on a wide variety of OSes, eventually aiming for integration with Nerves. Apart from the impressive performance, it’s the programming paradigm behind it that can potentially be eye-opening for people who are at the beginning of their Elixir/Erlang journey: every element on the screen is a separate process, while groups of elements end up being managed by supervisors. This correspondence between visual layouts and processes architecture seems ideal to teach the language and programming model.
The other announcement Chris McCord gave relates to a new experimental package called Phoenix LiveView (which will remain optional and not included in Phoenix core) which can be used to build reactive web interfaces which are completely driven and rendered by the server.
It’s interesting to see how the Elixir ecosystem is shaping, with plenty of creative forces that stretch the boundary of what’s possible. It was encouraging to see plenty of new faces, all levels of expertise and all sorts of company sizes. It feels great to be part of this community.Go back to the blog