rebar3 3.14 upgrade and test directories

This is the situation: you have an Erlang/OTP project you have tests in test directory (cool!) you have one or more sub-directories in your test directory containing source files you just got upgraded to rebar3 version 3.14 and your tests started to fail You might get an undef error because modules in test sub-directories are […]

PHP on Cowboy Web Server – Give It a Shot

In previous post, I gave some background to making PHP run on Cowboy web server. In this post, I’m going to provide technical details how to run your own setup. But it’s really not complicated at all. So, let’s install, run and play with unix1/cowboy_fcgi. Prerequisites Erlang (19.0 or newer) installed on Linux use your […]

PHP on Cowboy Web Server – The Update

Background Cowboy is an awesome web server – it’s simple, small, fast, standards compliant, and highly scalable. It also provides easy ways to get started with RESTful web applications. Its downside is that, unlike with Apache, nginx, and other more mainstream servers, it’s only usable in Erlang (and related BEAM languages) environments. There used to […]

How to Set Up Erlang Common Test for Code Coverage

Common Test code coverage and usage is documented here and here, but: there are no examples given documentation fails to state what the minimum required configuration is to turn on code coverage the implementation has no sane defaults and by default code coverage is disabled So, here’s the minimum sane default: create a cover.spec file […]

Elastic Applications in Erlang

How realistic or useful are elastic applications in general, or specifically in Erlang? To demonstrate, I start with Joe Armstrong’s favorite Erlang program – the universal server: universal_server() ->     receive         {become, F} ->             F()     end. Once spawned, it sits and waits […]

PHP Sessions in Erlang Mnesia

Motivation create a very simple first Erlang/OTP application link to conventional web development I decided one of the simplest things to do would be to create a session storage for PHP in Mnesia. But that, in doing so, I would also create an extremely simple key value store wrapper around Mnesia which would track access […]