Here are the slides for the presentation on Elixir and embedded programming I gave to the Elixir LA user's group.
It introduces embedded programming and how Elixir is a good match for a new generation of embedded systems.
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 …
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 …
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 …
Here are the slides for the presentation on incrementally migrating large Rails apps to Phoenix I gave at Ruby Elixir Conf Taiwan 2018.
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 …
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 …
In traditional applications, the web application talks directly to the database. It has rights to do anything, relying on application rules to control access. If an attacker compromises it, then they can do anything, e.g. grab all the data or create a funds transfer transaction.
When security is critical …
- db migrations
- functional programming
- graphical design
- know your customer
- rate limiting
- static assets
- user experience
- user stories