Nerves defines an entirely new way to build embedded systems with Elixir that could revolutionize an industry. Imagine booting to the BEAM VM in just a few seconds with your Elixir app in control of the entire system. Nerves makes this possible while replacing the traditional plethora of Linux init scripts or systemd configuration files with a toolchain that is delightful to use. The Nerves philosophy is that you already have a powerful, concurrent language to define what the system should do at start-up time: Elixir. Together, we'll explore the principles Nerves uses to create embedded systems that control 3d printers, power unmanned areal vehicles, and more. You'll see first-hand how Nerves can support service discovery, hot code swapping, and collaboration through PubSub messages and mesh networking. Finally, we will explore the Nerves development life-cycle; from running ExTest, to deployment and hot code reloading.
Talk objectives
* Introduce developing embedded systems in Elixir using Nerves
* Explore the Nerves development life-cycle
* Demonstrate autonomous robotics using service discovery and messaging
* Execute tests, create user interfaces with Phoenix, and perform hot code updates
Target audience
Creating devices and systems which enhance our environment is fundamental to our nature. The exploration into creating hardware that runs Elixir is geared toward the maker in all of us. Join us for an exciting demonstration into the creation of enhanced embedded systems with Elixir and Nerves.
Justin is in a constant state of wanting to make the world around him bend to his imagination. At one time he wondered how hard it would be to start his motorcycle from his phone. Rewiring the motorcycle and writing an interface was easy, but connecting it all together proved to be a challenge. A challenge that would define his career. That invisible, often impenetrable layer in the air between all the hardware in the world has become his stomping ground. Hardware is hard, so he's been working on nerves to make it easy.
Github: mobileoverlord
Twitter: @mobileoverlord