Date/Time: Tuesday, September 18, 2012 – 18:30
Location: Room TBC, New Loom House,
101 Back Church Lane E1 1LU, London
The next London Erlang User Group Meeting is taking place in London, 18 September 2012.
Interested in Rasbperry Pi? Among speakers we have Omer Kilic, Embedded Systems Engineer at Erlang Solutions, giving his talk on: “The Actor Model applied to the Raspberry Pi and the Embedded Domain”. He will demonstrate how, due to creating a layered architecture for hardware modules and partitioning up complex systems in smaller units, testing becomes much easier, runtime errors are contained, and the architecture becomes maintainable.
If you are fond of Erlang or feel like learning, exchanging views and sharing your ideas, and experience with other folks from functional programming world, then join us in London. Free to attend but registration needed!
Last week we released the first version of our esl-erlang package, compiled and tested on the current recommended distro for the Raspberry Pi: Raspbian.
You can find details about this at our downloads page.
We will be releasing more packages for other commonly used embedded distros in the future. Please get in touch if there is a particular distro/architecture combination you would like to see packages for.
If you missed our talk at the Erlang User Conference, here’s your chance to watch it in it’s full glory!
Erlang Embedded – Concurrent Blinkenlights and More!: Omer Kilic from Erlang Solutions on Vimeo.
(Slides available here)
In this episode of Erlang Embedded, we discuss the role of Erlang in modern Embedded Systems development, highlighting the concurrency and connectivity issues and how Erlang provides tools and methodologies to deal with these.
Recorded during the Erlang User Conference 2012, many thanks to our guest speakers Klaus Kolle, Peer Stritzinger, Ulf Wiger and Tino Breddin.
We are off to Stockholm to attend the Erlang User Conference 2012, keep an eye out for our talk on Embedded Erlang!
I will be around for the whole duration of the conference so please get in touch if you’d like to discuss Erlang in the Embedded space.
See you there!
In Episode 2, we hinted that this video would contain some distributed Erlang fun but since we are still (eagerly) waiting for the postman to deliver the rest of our Raspberry Pi boards, we thought it would be cool to spend more time playing with concurrency.
Ed, one of the Erlang hackers in our London office (also our resident Thai food expert), joins us in this video to talk about the process ring demo he’s coded:
It’s true that blinking an LED is not the most computationally challenging task but it certainly is a nice way of demonstrating program activity. In this demo, LEDs are used to visualise tokens being passed around a ring of processes. Each LED will toggle it’s state once a token gets passed around 100 times around the ring. For example, the red LED will toggle state once the token gets passed around 100 times over 1000 processes and it will blink after two revolutions (since a blink is essentially two ‘toggles’).
We managed to spawn up to 136.000 processes without any tricks, other than increasing the maximum number of concurrent processes allowed by the runtime using the +P parameter, which by default is set to 32768, after which we started running out of memory — an impressive figure considering that this is on a credit-card sized computer that costs $35!
As always, you can grab a copy of the code at our GitHub repository.
We will be busy getting ready for the Erlang User Conference 2012 that’s happening at the end of the month so the next video might be a bit late but we promise it will be worth it
We published a new episode of our Erlang Embedded video series a couple of days ago. Here it is, in its full glory:
(bonus behind-the-scenes tweet)
So what is the significance of a few flashing lights?
Instead of directly bashing bits and twiddling registers in a ‘main’ loop, we are representing each LED connected to the Raspberry Pi as an Erlang process. This means that we can send messages to it and provide a nice, high-level abstraction. We feel that representing peripherals within the system to act as a process (or a set of processes) and using those processes as compositional units is an interesting way to go about developing embedded applications. We will be exploring it in greater detail on our future videos, stay tuned!
(Grab a copy of the code used in this video here and let us know if you end up doing something cool with it or have an idea for our next videos.)
It’s true that we might have neglected this web site, although that is about to change soon! We are hard at work on our shiny new community site and once it goes live, you will see a lot more Embedded content.
But we have more than just a new website in store for the keen folks of Erlang Embedded world. We have partnered with University of Kent on a Knowledge Transfer Partnership project to bring the benefits of concurrent systems development using Erlang to the field of embedded systems; through investigation, analysis, software development and evaluation.
This means that over the next couple of months, we will be releasing tools and showcasing some of the futures of Erlang which makes it such a good fit for modern embedded systems development.
Keep an eye out for upcoming articles and videos on our twitter account: @ErlangEmbedded
We leave you with the first episode of our new video series on Erlang Embedded (featuring a Raspberry Pi computer!):
Erlang Embedded – Episode 1 : Raspberry Pi with a dash of Erlang! from Erlang Solutions on Vimeo.
Until next time!