Rust Belfast and Belfast Elixir 2019


Details
A joint meetup between Belfast Elixir and Rust Belfast, starting off the year with some talks on each.
Steven Holsworth (@holsee)
"Elixir + Rust = <3"
Elixir is a dynamic, functional language designed for building scalable and maintainable applications.
It leverages the Erlang VM (aka BEAM), which is great at running low-latency, distributed, serviceable and fault-tolerant systems.
The platform was designed to meet these design goals as well as to provide a rock solid foundation to meet soft real-time scheduling and resiliency guarantees.
As with all things, however, there are trade-offs. The functional (immutable data), dynamic, abstracted execution platform with "no shared memory" and dynamic dispatch has a great number of benefits but raw computation speed is not one of them.
Elixir has a mechanism (called NIFs) by which native code can be loaded in place of Elixir functions allowing for the execution speed of systems level languages like C and C++ to be leveraged, running in the same memory space as the surrounding Elixir code.
The cost of which is that all resiliency bets are off and the platform can no longer offer the guarantees when native code is being used.
That is unless you use (safe) Rust!
Rust is a systems level language with an emphasis on speed and memory-safety and in this talk, Steven is going to discuss how Elixir and Rust are complementary technologies that are perfect together!
Phil Weir
Lessons learned from converting core functionality of a basic deadman switch from Go to Rust.
Featuring a recurring countdown timer interrupted by heartbeat requests over HTTP, built with the hyper http server, concurrent futures and channels.
When a countdown has completed without any interruption, a JSON request is fired direct to a Prometheus alertmanager.
That lets Prometheus inform users that everything is on fire (triggering pager, Slack channel, etc) without relying on an error alert that may never come from a service that's already dead
Unless it's the deadman switch burning, of course...
Chris Nixon
"Polishing up on Rust"
"Rust is a systems language pursuing the trifecta: safety, concurrency, and speed."
That quote has been the elevator pitch and mission statement for Rust since it's infancy as a Mozilla research project and continues to be to the current day.
Rust has come a long way in the 8 years since it's first appearance and a lot of that progress has been made in the 3 and a half years since it's first stable release.
This talk will cover the major advances the language has gone through, as well as the rationale and consequences of these decisions leading up to the current state and capabilities of the language as well as the roadmap going forward.
This talk will hopefully be the starting point in a series doing a deep dive into Rust's unique and revolutionary feature set and the opportunities it affords us all.

Rust Belfast and Belfast Elixir 2019