[erlang-questions] Erlang meets physics

Jared Kofron jared.nance@REDACTED
Mon Mar 12 02:34:04 CET 2012

Hi All,
I've been using Erlang at work for a few years now, and I thought I'd throw my experience out there, as 
my application is a little different than what you usually see on the list - I am a graduate student at the
Center for Nuclear Physics and Astrophysics at the University of Washington, and use Erlang extensively
in my work.

In my experience, something that Erlang is really great at but doesn't receive much attention for these days
is managing and interacting with hardware.  In any physics experiment of even modest sizes, you wind up
having to keep track of the state of various pieces of equipment, often modify that state, and constantly 
interrogate particular values.  For example, we might want to change the current in a magnetic trap, turn
that trap off altogether, or simply read back the voltage drop across our superconducting magnet.

So far, I have deployed Erlang in this zone for two separate experiments (SNO+, a large particle physics
experiment in Canada) and Project 8 (a small nuclear physics experiment here in Seattle).  Both times have
been great successes, and I have found the reception of Erlang in this market to be great.  In general, what
I have done is wrap a hardware management layer with some kind of outside world interface. For SNO+, we
used Webmachine and RESTful control, and for Project 8 we actually conduct all communication 
by using CouchDB as a message passing interface.

Physicists are suspicious creatures, but once you demonstrate the feature set that you get for practically
free with OTP, they see the advantage pretty quickly.  On top of that, the development cycle for sophisticated 
applications can be greatly reduced - more than once it made my group float to the top in terms of meeting

In short, as far as I am concerned, Erlang has found a new niche in the world of Physics, and I intend to 
spread the word as much as I can!

Jared Kofron

More information about the erlang-questions mailing list