Working with Supervisors in Elixir

Last week we looked at organising Elixir projects using Mix. Mix is a build tool for creating, compiling, and testing your Elixir projects. In Elixir, an “application” is a set of modules that can be started and stopped as a single unit. One of the most important characteristics of Elixir and Erlang is it’s fault […]

Continue reading...

Organising your Elixir project with Mix

We have already covered a lot of ground so far in this exploration of Elixir, but in just about every example we’ve been running our Elixir code either in iex or from a single file. This is fine for getting to grips with the language and for very simple examples, but we’re going to need […]

Continue reading...

Understanding GenServer in Elixir

Over the last couple of weeks we have started to explore probably the most interesting aspect of working with Elixir (and Erlang) in that applications are built around this idea of small, isolated processes. First we looked at Understanding Concurrency and Parallelism in Elixir and how we can run our code in isolation and make […]

Continue reading...

Using Agents in Elixir

In last week’s tutorial we looked at storing state in Elixir using processes. In functional programming languages, in order to maintain state you need to continuously pass it between functions. Processes allow us to store state in Elixir, possibly forever, by running an infinite loop of recursive function calls. We can then access this state […]

Continue reading...

Working with State and Elixir Processes

A couple of weeks ago we looked at working with Elixir processes. Processes are the basic unit of concurrency in Elixir. They provide isolation and allow us to build fault tolerant applications. Elixir is a functional programming language, and so this means there is no state. In order to maintain state you need to pass […]

Continue reading...

Using Tasks in Elixir

A couple of weeks ago we looked at working with processes in Elixir. To create a new process we can use the spawn/1 function. This creates a new process and executes the given function concurrently to the current process. Elixir also provides the Task module that builds upon these basic spawn functions to provide convenience […]

Continue reading...

Understanding Concurrency and Parallelism in Elixir

A couple of weeks ago we begin the next big section of learning elixir by taking a first look at processes. Processes are the foundation of many of the most attractive characteristics of elixir. Two of those characteristics are concurrency and parallelism. Processes enable these two characteristics in Elixir. In today’s tutorial we will be […]

Continue reading...

Design Inspiration #250

Design Inspiration from Council of Objects, Red Architecture, Rudy’s Barbershop, VINTA, and Studio Naam! Design Inspiration is a weekly post that showcases examples of some of the best new web design from around the internet. Council Of Objects https://councilofobjects.com.au Red Architecture http://redarchitecture.co.nz Rudy’s Barbershop https://rudysbarbershop.com VINTA http://www.vinta.co Studio Naam http://studionaam.com

Continue reading...

Implementing Password Reset using Ruby on Rails and Trailblazer

Allowing your users to reset their password is one of the foundational bits of functionality of just about every type of web application. It’s usually not that interesting to implement because 9 times out 10 the functionality is exactly the same for all applications. However, this makes a great example of something we can build […]

Continue reading...