Erlang is Buddhism

If Software Development was Religion, Erlang would have been Buddhism. And I guess Joe Armstrong would have been Siddhartha. Let me explain. While reading random stuff about various religions, I found this 5 minutes guide to Buddhism. What shocked me about it is that I could adapt most of the sentences contained there to Erlang and the article would have still made sense. You don’t believe me? Keep reading. Is Erlang a Religion? To many, Buddhism goes beyond religion and is more of a philosophy or ‘way of life’. After 10 years of Erlang development, I couldn’t agree more. Erlang...…

> read more...

Profiling Erlang Apps using Redbug

When working with Erlang, I often find myself using a simple profiling technique. The technique allows me to quickly identify where time is spent within a given code path of an Erlang application. When pair programming, people are sometimes astonished how simple and effective this technique is and often fall in love with it. This is why I decided to share it with a wider audience.

> read more...

Notes on Erlang QuickCheck - Part 2

Yesterday I had the pleasure of spending a few extra hours with John Hughes. As usual, it has been an impressive learning experience, so I decided - once again - to share some of the highlights from our discussions. We modeled one of our internal Erlang applications, using a Quickcheck statem. The application was relatively small (i.e. <1000 LOC), it offered a pretty straightforward API and its code was already covered by a fair amount of unit tests, with code coverage surpassing 90%. As already happened to someone else, I didn’t expect to find too many bugs, if not in...…

> read more...

Notes on Erlang QuickCheck

A few days ago I had the chance to spend some time with John Hughes, one of the creators of the Erlang Quickcheck. We looked at some of our APIs and went through some of our QuickCheck models. It has been an incredibly helpful learning experience, so I thought to share some of the highlights from our discussions to a broader public.

> read more...

Rebar and the Developer Shell

In some cases (e.g. during development) it is helpful to symlink applications into a release, rather than copying them. I believe relx has a dev-mode option for that. In rebar-based projects, what I end up doing in most of the cases is to add something like this into a Makefile:

> read more...

Welcome to the World of Erlang SSH

I’ve been playing around with the Erlang SSH application lately and I’ve noticed some weird behaviours which I decided to report here for future reference. The general impression that I got from the application - and from its coursins such as crypto, public_key and ssh - is that it does not reflect the usual OTP quality standards and that it should be used with care. Misleading error message on ssh_sftp:start_channel/1 in case of missing shell When starting a SFTP channel towards a system where user does not have a shell (i.e. it has /bin/false or equilvalent assigned in the /etc/passwd...…

> read more...