Digests » 170
Two years ago this month, I started as a developer at The Outline. At the time, the site was just an idea that existed as a series of design mock ups and small prototypes. We had just three months to build a news website with some pretty ambitious design goals, as well as a CMS to create the visually expressive content that the designs demanded. We chose Elixir and Phoenix as the foundation of our website after being attracted to its concurrency model, reliability, and ergonomics.
This blog post looks back on the development of the SSA-based intermediate representation from the beginning of this year to the end of August when the branch was merged.
Scenic is a client application library written directly on the Elixir/Erlang/OTP stack. With it you can build applications that operate identically across all supported operating systems, including MacOS, Ubuntu, Nerves/Linux, and more. Scenic is primarily aimed at fixed screen connected devices (IoT), but can also be used to build portable applications.
NervesHub is an extensible web service that allows you to manage over-the-air (OTA) firmware updates for Elixir and Nerves. Built with Phoenix, NervesHub delivers first-class support for hardware deployments directly from the command line.
Before I took on this refactor, I was handling the parsing and serialization of Bitcoin network messages entirely manually. For every message, I’d define a parse/1 function and implement a corresponding serialize/1 protocol. Every field within the message was manually parsed and serialized using Elixir’s various binary manipulation operations.