author Jake Morrison

The goal of benchmarking is to understand the performance of our system and how to improve it. When we are making benchmarks, we need to make sure that they match real world usage.

In my post on Benchmarking Phoenix on Digital Ocean, changing the concurrent connections and network latency had …

author Jake Morrison

If you want to try out the new features in Erlang 21 before it's released, you will have to build it yourself, as there is no package available. Same thing if you want to run a patch release or configure Erlang with special options.

The ASDF version manager lets you …

author Jake Morrison

GenServers are the standard way to create services in Elixir. At it's heart, a GenServer is a separate process (thread) that receives messages, does some work, manages state, and sends responses back. If that's what you want, great. It's important to recognize, though, that a GenServer only handles one request …

author Jake Morrison

A prospect recently asked me what the advantages are of Elixir over Golang.

The simple answer is productivity. You get the best of both worlds: the productivity of a high level language with the scaling power of the mature Erlang platform. For financial and health care applications, there is also …

author Jake Morrison

Someone asked this question on the Elixir Forum. Following is my answer:

When I first saw Elixir, we were developing websites (e-commerce, CRUD, etc) with Ruby on Rails, Python, and PHP.

We were using Erlang for the “tricky bits”, e.g. IoT and real time web, and liked it a …

author Jake Morrison

In the recent HackerRank developer survey, we can see "Which languages do employers look for by industry?" and "Which languages are developers planning to learn next?" In terms of popularity, there is a definite swing to JavaScript and Python. In terms of mind share with language enthusiasts, not so much …

author Jake Morrison

Years ago we were building an embedded vehicle tracker for commercial vehicles. The hardware used an ARM7 CPU, GPS and GPRS modem, running uClinux.

We ran into a tough bug in the initial application startup process. The program that read from the GPS and sent location updates to the network …

author Jake Morrison

Applications like health care and financial services require high security and data privacy. When security is critical, there are benefits to separating the web front end from the back end using a well defined API.

In traditional applications, the web application talks directly to the database. If an attacker compromises …

author Jake Morrison

Over the years we have done lots of projects where we migrated an application from one platform to another. We might do this to solve performance issues or to switch to a better technology stack. This can be a challenge when you have a big app that is in production …