Darko Fabijan wrote this on June 7, 2013
A Ruby guy goes to Erlang Factory
A few months ago I began searching for a solution that would enable us to easily execute a large number of concurrent operations on different servers. I found Erlang to be the only language that supports that on the syntax level. Since this project was not my top priority I still haven’t made a prototype. Also I don’t know if it is the right tool to solve our particular problem, but I did write some code in Erlang and it’s really not that hard as you may think after looking at the syntax for the first time.
I didn’t know anyone who was using this exotic piece of technology, so I was glad when I saw that there will be a one day Erlang conference in Budapest, just 300km from here. I will try to give you a short overview of Erlang Factory Lite while providing some insight into the state of Erlang.
The community
It was quite a surprise that there were around 60 people at the conference and that almost all of them were from Budapest and using Erlang every day. It seemed that locals were even more surprised that they had so many Erlang colleagues in the city that they didn’t know of. Nice moment for me was when I realized that most people were from small companies that are using Erlang.
People seemed to be very happy with how things in Erlang community are progressing at the moment. For instance I learned that before 2007 there was only one Erlang book which was out of print, and now there are about ten, while a few more will be published later this year.
In the area of success stories there seem to be hundreds of them but it’s not on a critical level yet and it’s not easy to recognize Erlang as a valid choice just by trying to google for ‘who is using erlang’. Due to its nature Erlang will never be a mainstream language, but it might become that for the class of problems that eg node.js is solving.
Elixir
It’s also very interesting that Dave Thomas of Pragmatic Programmer fame is showing so much attention for Elixir - a language that runs on Erlang VM and seems to be Erlang with a nicer syntax but also with a few new ideas. His book on Elixir will be published later this year. Elixir is being developed by Jose Valim and his team, very well known within the Ruby community. That series of events also drove Joe Armstrong, creator of Erlang to try Elixir and he has very positive review on his blog. As you may guess Elixir was one of the topics people talked a lot in hallways during coffee breaks. {{ovde i dalje treba ubaciti vise linkova}}
Talks from Erlang Factory Lite
Torben Hoffmann - from Erlang Solutions gave a nice keynote where he presented the problem of adaptation of a new technology and very insightful review of roles that people play in their companies: visionaries, practitioners, skeptics etc and how all of them play an important part in the adaptation process.
Pavlo Baron - started with a scene from The Matrix that was a very nice visualization of Erlang processes {{malo nejasno - jel pustio film ili ga je rekreirao}}. Think of Erlang process as of an instance of Agent Smith. Of course in real life Agent Smith wins - sorry Neo. He also wrote an Erlang app which pretty much simulates the fight from movie - you can find it on GitHub - https://github.com/pavlobaron/neovssmith. He is also author of Erlang/OTP but it’s in German.
Mats Cronqvist - shared a few wartime stories from days of debugging huge telephone networks and presented redbug ( https://github.com/massemanet/eper ) - better Erlang debugger.
András György Békés Ábel Sinkovics from Morgan Stanley showed us their solution for monitoring 50K+ resources. For their system a resource is everything from virtual machine instances to singe unix processes. Pretty much only requirement for them is that their app must never go down. Sounds easy, right?
Piotr Nosek from Erlang Solutions presented their product called MongooseIM - the massively scalable ejabberd platform and how they integrated it with WordPress for http://erlangcentral.org.
Atilla Erdődi described Zotonic CMS/web framework and described how it achieves great speed while it can support persistent connection for every single webpage.
Alvaro Videla co-author of “RabbitMQ in Action” presented funny introduction to Hungarian history and of course introduction to RabbitMQ plugins.
Csaba Hoch explained in great detail how he implemented much-better Erlang indentation for VIM. More time is invested in this project than you can imagine.
Dániel Horpácsi showed examples how it’s possible to extend Erlang by compiling some “new” language called Erlang' (read: erlang prime) into Erlang source code. Quite impressive things can be achieved but it’s still only in academia circles. I hope it will become available to general public.
A refreshing experience
After a dozen of Ruby and Rails conferences, this event was a great refreshment for me. Problems that these folks are solving are usually very different from what most Ruby programmers are used to. State of the ecosystem and community is also very different from Ruby’s which made it very interesting for me. I think that in the coming years there will be much more activity around Erlang and Elixir, so I would keep an eye on those.
If you are interested in exploring different languages and technologies, small events are a great place to get deeper insight into the technology and community.