If you haven’t already tried it out, mnesia is an Erlang application that implements a database, albeit a rather peculiar and particularly powerful one. I have developed mnesia-based systems in industrial settings competing with solutions based on industry-standard databases installed in industry-standard cluster server environments, and in those solutions, the mnesia-based systems outdid them in […]
Fault-tolerance One of the features of Erlang that I love is the possibility of “letting it crash”, made possible by supervision trees in which processes can crash and will be brought back to life by the supervisor. We cannot directly supervise wx_objects because they do not adhere to OTP design requirements1. In this blog we’ll […]
Suppose we have the following snippet of xml: The element book may contain any number of person elements, but here we have just one to keep things simple. Our aim is to transform this snippet into an Erlang term: {book, [{person, [{first, "Kiran"}, {last, "Pai"}, {age, "22"}]}]}, so that we can manipulate its values. We’ll […]
The Erlang distribution provides a library, jinterface, to facilitate communication between code written in Erlang and code written in Java. Erlang needs the Erlang Runtime Environment to run on and Java needs its own Virtual Machine. So the communication is designed as an Erlang distributed system with the Java "node" acting as an Erlang node. jinterface provides the abstraction necessary to implement this illusion and the tutorial illustrates these through a running example.
The Erlang documentation for the re module is not very obvious, so when I tried my hands at a problem using regular expressions I thought what I had learnt may help others pick this great library up faster.
Joe explains how estimates don't actually say much about the actual effort and how difficult it is to "sell" the fact that Erlang is much more productive than managers would "buy". Mahesh does practically the same. Both conclude that it is probably a useless exercise.
Erlang's basic philosophy is not to try to recover from violations of expected interaction, but to crash. Joe Armstrong, Erlang's inventor, entertains us with some great insights.