Erlang Central Your Erlang Community Site Thu, 01 Jan 2015 12:12:12 +0000 en-US hourly 1 # Distributed System Developer | cross-train to Erlang in wanted! Interested? See Wed, 23 Jul 2014 15:11:35 +0000 Neilesh Sood A technology firm continually pushing boundaries within a fast-evolving industry sector have a fantastic opening for a Distributed System Developer to work with functional programming languages (e.g. Erlang). Cross-training is on offer – you may come from a Java, C++ or C# background but have experience in highly complex, parallel, concurrent and low latency engineering.

You’ll be joining an R&D team of very inquisitive Software Engineers motivated by finding creative solutions for extremely complicated requirements. If you’re after a programming role allied to leadership we can also cater for you – we are looking for a Team Lead to assist in driving the Development Team, being a technical decision maker, removing blockers and mentoring the team. 

Location: Stoke, Staffordshire, commutable off the M6 within 45 minutes from South Cheshire and the West Midlands from places like Crewe, Stafford, Derby, Burton, Walsall, Wolverhampton, Shropshire, Altrincham, Stockport and Macclesfield. 

Package: up to £70k depending on experience with car and bonus as benefits. Relocation can also be offered.

]]> 0
New video available online! Watch EUC 2014 – Jonathan Olsson – STEVE – Performance Testing a $1 Billion SOA at Wed, 23 Jul 2014 12:36:42 +0000 admin Producing reliable, reproducible system level performance tests for a complex (and sometimes complicated) financial system consisting of an ever growing set of sub systems is a challenging task. Not only from a data generation perspective, but also from an infrastructure perspective.

This talk will describe the current strategy for system test at Klarna as well as introduce some of the open source components we’re building.

Talk objectives:

This talk aims to give the listener an overview on how Klarna manages to produce reproducible performance, load, and stress testing results as well as an introduction to some tools we’re open sourcing, most notably:

* ponos – named after the greek god of hard labor and toil. A lightweight load generator with minimal configuration requirements, written in Erlang.
* katt (Klarna API Testing Tool) – an HTTP-based API testing tool for Erlang.

Target audience:

- Any Erlang developer with an interest in testing.

]]> 0
New video available online! Watch EUC 2014 – Loïc Hoguin – The Last REST Client You Will Ever Need at Wed, 23 Jul 2014 09:40:30 +0000 admin People never seem to realize that writing a RESTful service -as opposed to a REST-like service like you see everywhere- pretty much lets them avoid writing a client and updating said client when the API changes.

This is what this talk is about.

We will start by discussing REST a little, summarize what really matters at the API level, and discuss how we can end up writing a single generic client that will work across all versions of all our REST services.

At the end of the talk I will present a series of tools and guidelines that make all this not only possible but also very easy, including the last REST client that you will ever need.

]]> 0
New video available online! Watch EUC 2014 – Distributed Deterministic Dataflow Programming – Christopher Meiklejohn at Mon, 21 Jul 2014 12:55:12 +0000 admin Erlang implements a message-passing execution model in which concurrent processes send each other asynchronous messages. This model is inherently nondeterministic, in that a process can receive messages sent by any process which knows its process identifier, leading to an exponential number of possible executions based on the number messages received.  Concurrent programs in non- deterministic languages, are notoriously hard to prove correct, and have lead to many well-known disasters.

In addition, Erlang natively provides distribution and clustering as part of the runtime environment.  This provides the ability to have processes asynchronously communicate across the network between different instances of the virtual machine, effectively increasing the amount of non-determinism.

We propose an alternative execution model for Erlang, namely deterministic dataflow programming.  This execution model provides concurrency, while also eliminating all observable non-determinism. Given the same input values, a program written in deterministic dataflow style will always return the same output values, or never return.  Our proposed solution provides a distributed deterministic data flow solution which operates transparently over distributed Erlang, providing the ability to have highly-available, fault-tolerant, deterministic computations.

]]> 0
New video available online! Watch EUC 2014 – Simon Thompson – Scaling Erlang on 10K or More Cores: An Overview of the RELEASE Project at Mon, 21 Jul 2014 08:31:12 +0000 admin Systems that are valuable have to be evolved. For instance, if you use a regular expression library in Erlang, you will have had to migrate from regexp to re; if you wish to migrate from R16 to R17, there are a number of changes that you may need to make.

In this talk we’ll show how Wrangler can help with this. Wrangler has an API migration facility – which we’ll demonstrate – and this is built on an extensibility API and DSL for Wrangler that allows you to write your own refactorings and transformations for yourself, using Erlang syntax to describe what it is you want to do.

The talk will be illustrated with short demos to show how it works hands on.

]]> 0
New video available online! Watch EUC 2014 – Peer Stritzinger – Heavy Industry Erlang at Fri, 18 Jul 2014 10:18:05 +0000 admin Programmable Logic Controllers (PLCs) are widely used to control from a simple garage door to everything in factories.  There are legions of specialized PLC programmers who make those machines do their work.  A set of textual and graphical programming languages is standardized in IEC-61131.  In order to add some programmability to control machinery in a embedded system written in Erlang (running on RTEMS) we picked one of those languages, Structured Text and implement a compiler for it in Erlang targeting BEAM (via Core Erlang).

There is even a recent extension for distributed PLCs standardized in IEC-61499, which we implement.  These extensions fit naturally on Erlang processes and messages which makes distributed PLC applications overlaid on distributed Erlang embedded application work very well.

There are plans to get hard realtime behaviour for the IEC 61131/61499 subsystem which can be a testbed for a extended subset of Erlang for the hard realtime parts of embedded systems which until now still have to be written in C.

Talk abstract:

Getting a short overview of standardized programming languages used in PLC.

Showing how OTPs built in tools leex and yecc can be used to implement a compiler for one of the languages.  Showing how to map PLC languages which have some inherent concurrency on Erlang processes and messages.

Target audience:

- Language enthusiasts

- Embedded developers

- People interested in compilers written in Erlang

- PLC programmers should there be any on the conference

]]> 0
#BashoTechnologies,Inc Client Services Engineer in London UK wanted! Interested? See Fri, 18 Jul 2014 08:03:49 +0000 bashojobs The Client Services Engineer role is highly technical and requires in-depth problem solving. Team members work very closely with our Engineering teams to provide support for licensees of Riak Enterprise, help guide customers in software and hardware deployment, develop educational material for users, and deliver training and professional services. The entire company is focused on providing customers with unparalleled support. The users that we support are Software Engineers and Operations staff working at Silicon Valley startups, Fortune 100 companies, and other leading organisations around the globe.

This is position is based out of our London office.


  • Very competitive salary.
  • Private healthcare & contributory pension.
  • Attend related industry events.
  • Flexibility to spend some time working from home.


  • Work directly with customers and the community to answer questions and solve problems.
  • Conduct training: remote and on-site.
  • Conduct professional services: remote and on-site.
  • Provide technical pre-sales assistance to the business development team.
  • Create educational material: documentation, training, demo apps, etc.
  • Identify, reproduce and document product bugs.
  • Invent new ways to improve our company and products.
  • Speak at Riak meetups and industry events.
]]> 0
New video available online! Watch EUC 2014 – Jordan Wilberding – Powering your Web and Mobile Applications at Thu, 17 Jul 2014 13:09:35 +0000 admin Erlang has become a proven language for developing large, distributed systems. This talk will talk about the architecture and design for an Erlang system to power your web and mobile applications. It will focus on a RESTful backend that was written for a mobile application ( that facilitates orders and payments at bars. The talk will cover coding, hosting, and testing. In the end, I will announce the official open-sourcing of the platform code, so that others may adopt it for their own use.

Talk objectives:

-The overall design of a large Erlang system that handles users and transactions

-A high-level view of the code

-Deploying the software to Heroku

-Strategies for testing the software

-How to take the open-sourced code and adopt it to your needs

Target audience:

-Erlang developers

-Startup founders/developers

-High level architects

The talk will be structured to be interesting from everyone from CEOs to hackers.”

]]> 0
New video available online! Watch EUC 2014 – Samuel Rivas – Ask not what your Erlang can do for you at Thu, 17 Jul 2014 09:06:11 +0000 admin After some years of usage, I have found quite common to find strong reactions against Erlang in organisations that have adopted it for a project, or even use it from the beginning.

I believe one of the reasons is that we have become overconfident about the, sometimes alleged, strengths of Erlang. Which leads us to promise things that are not fulfilled in the long run. The truth is that the actual strengths of Erlang are likely to be outweighed by both its weaknesses and our bad practices in very few years unless we design our projects taking them into account.
Talk objectives:

I want to explore both how Erlang main strengths can faint along the project live and how some fundamental weaknesses can negatively impact reliability and productivity.
Target audience:

Any erlang developer, specially those with some real world experience

]]> 0
#CouchBase Software Engineer – Tools and Packaging Development in Mountain View, CA, United States wanted! Interested? See Thu, 17 Jul 2014 07:35:01 +0000 Jay Smolik As a Member of Technical Staff, Tools Engineering, you will be part of team developing and shipping cutting-edge distributed, scale-out data infrastructure software systems, which is a pillar for the growing cloud infrastructure. You will be designing, developing, coding, shipping and supporting the key administration, management and development tools & command-line programs and packaging for Couchbase products. You will be part of a development team working with colleagues in server development, SDK development, quality engineering, technical support and product management.  You’ll be involved in the hard problems in the areas distributed key-value and document data stores, distributed replication, scale-out fault tolerance, zero downtime upgrades. You’ll work with engineers who develop on Python, Golang, JavaScript, C/C++, Erlang, Java, C#, Ruby and a number of other programming and scripting languages. In addition, Couchbase and its technical staff are active open source contributors for couchbase, membase, couchdb, and memcached projects; you’ll be able to participate in the community building of these projects.

  • Create, enhance and maintain the critical management and administrative tools, development tools, integrations and packaging/installer/upgrade systems for Couchbase Server.
  • Write and update design documents and specifications.
  • Develop and maintain unit and functional tests for all your key deliverables.
  • Participate in requirements & design review meetings and in ongoing sprint planning & status meetings.
  • Track down escalated customer issues, solving mysteries and diagnosing problems at some of the largest production sites of Couchbase Server.
  • Interview engineering candidates and help to build a growing, exciting software company.
  • Interact with colleagues and peers worldwide.
  • Analyze technology to help plan and assess the feasibility of projects and new features.
]]> 0
New video available online! Watch EUC 2014 – Alvaro Videla – Building a Distributed Data Ingestion System with RabbitMQ at Wed, 16 Jul 2014 14:29:12 +0000 admin Building a Distributed Data Ingestion System with RabbitMQ

Your company has servers distributed around the world and you need to process data in a centralised location. The data is produced by applications using different technology stacks and comes from various sources, from web servers to sensors. How could you solve this problem? Enter RabbitMQ. In this talk we are going to show how to build a system that can ingest data produced at separate geo located area (think AWS and it’s many regions) and replicate it to a central cluster where it can be further processed and analysed. We will present an example of how to build a system like this one by using RabbitMQ Federation to replicate data across AWS Regions and RabbitMQ support for many protocols to produce/consume data. To help with scalability we are going to show an interesting way to implement sharded queues with RabbitMQ by using the Consistent Hash Exchange. If you want to learn what else has RabbitMQ to offer beyond simple messaging and queueing, then this is the talk for you.

]]> 0
#Klarna Senior Software Engineer, Functional Programming in Stockholm, Sweden wanted! Interested? See Wed, 16 Jul 2014 14:09:32 +0000 KlarnaErlang By combining Erlang, RIAK, RabbitMQ we have built a multi-node, no-master system that can handle our exponential growth. Previously we have been 100% focused on Erlang but our technical stack is getting more and more diverse ranging from Erlang to Java and Ruby to Javascript. Now we are looking for pragmatic engineers that are interested in solving complex problems in easy ways.

Your job as a senior software engineer is to take part in the entire development process. The challenge is to provide solutions that scale. The team members have a high technical level and are expected to work independently within the team to solve complex problems, from analyzing the problem to designing, planning and implementing the solutions.

We strive to always select an appropriate tool for solving the particular problem at hand. In order to achieve this we aim to have a diverse palette of skills in every team.

]]> 0