[erlang-questions] Erlang meets physics
Tue Mar 13 20:20:26 CET 2012
How do you interact with the hardware?
Do you use GPIB C libr and wrap it with a NIF?
From: Joe Armstrong <>
To: Jared Kofron <>
Cc: Erlang Questions <>
Sent: Tuesday, March 13, 2012 12:34 PM
Subject: Re: [erlang-questions] Erlang meets physics
Great news - spread the word !
Just for the record Erlang programmers numbers 1 and 2 (ie myself and
are both ex physicists.
When I lecture I often point out the similarity between causality and
You don't know that something has happened until you get a message
telling that it has happened.
(In physics it's a ray of light, or a photon, or something -
forgetting entanglement for the moment)
In computing it's the reception of a message.
As a ex physicist I know that we can't say anything about simultaneous
at different places in space-time - turn this into computer science
and the same arguments
apply to things like making sure replicated data is consistent on
remote sites - well you can't
- at least if you want to change it - Brewer's CAP theorem applies -
which for a physicist makes
Also as an ex physicist I realize that things do actually happen in
parallel in the real world,
so modelling them in a sequential programming language (if I wanted to do that)
is big time crazy - just describe the parallel stuff in a concurrent
language and the program
writes itself. Wait a few years till we have million core computers
and the parallel problems
can be solved 1:1 on parallel computers - and programming simulations
and so on will be
really easy - but don't even think about doing it in a sequential language...
On Mon, Mar 12, 2012 at 2:34 AM, Jared Kofron <> wrote:
> 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
> erlang-questions mailing list
erlang-questions mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-questions