| Elixir is the new exciting language built on top of Erlang's excellent BEAM VM. Its modern, with tons of great features like complete homoiconicity with hygienic macros. Oh, and it has a Ruby-inspired syntax too, which makes it particularly interesting to Ruby developers, but not only. Long time Erlang users should take a look at Elixir. It is a more powerful language (macros, remember?) that doesn't sacrifice any of the core Erlang advantages. I hope to get you excited as much as I am, and hopefully consider Elixir for your next project. Talk objectives: Convince audience that: - erlang is cool - syntax is important - elixir has better syntax - elixir is erlang++ Target audience: Ruby/Rails developers interested in Erlang and other developers that tried to learn Erlang but found its syntax confusing. |
Erlang - Concurrent Language for Concurrent World
| Paraphrasing Joe Armstrong - one of the inventors of Erlang programming language: "We live in Concurrent World, so we need a Concurrent Language". Similarly to the term OOP he coined the term COP, which means Concurrency-oriented Programming. Talk objectives:
Target audience:
|
GPU-accelerated Geospatial Timeseries Database with Riak
| In this talk, Zvi will share his experiences in developing a prototype of GPU-accelerated Geospatial Timeseries Database with Riak. The words "Geospatial" and "Timeseries" simply means that each datapoint stored according to it's time and location. The system allow to Acquire, Aggregate, Process and Query both Realtime and Historical Timeseries Data. Talk objectives:
Target audience:
|
| Over the last two years Klarna has been developing the next generation of its purchase taking system. The requirements of the new system include performing everything the legacy system can do while being horizontally scalable and fault tolerant. One solution is to rewrite the system from scratch but we chose to refactor portions of the legacy system such that they could run on both and eventually move completely to the new system. Generic programming has played a fundamental role in how portions of the codebase are refactored in such a way that code is portable between the two systems while seamlessly being customizable to the specifics of each system. This talk will present the overall philosophy, how to structure the code, how to manage the configuration, the relationship to ML functors and Erlang's strengths and weaknesses in generic programming. Talk objectives: After this talk attendees will understand some techniques for implementing generic programming in Erlang with real world examples from Klarna's production payments system. Target audience: This talk is applicable to developers of all shapes and sizes, however those familiar with Erlang will likely get the most from it. |
Introduction to Riak; a Distributed, Masterless, Fault-Tolerant, NoSQL Database
| Riak is the massively scalable, highly available, NoSQL database that everyone is turning to in order to back their web-scale operations. Created by Basho, written in Erlang, and published under the open source Apache licence, Riak is in use at some of the world's largest companies. Talk objectives: Come away with an understanding of: what Riak can do for you what uses cases Riak is suited to how to get started with Riak some examples of how Riak is used elsewhere. Target audience: people taking the first steps into looking at NoSQL databases and who are looking to build applications where scalability and availability are the priority. |
OTP - A Framework for Reliability
| Erlang's legendary fault tolerance requires a world class framework to make services that can perform well. When building the initial phone switches Ericsson realised that they needed a standard way to do things. To do this they created a set of behaviours that enable a programmer to create services quickly and easily in erlang. We will explore how to use the basic interfaces of OTP to build a server and set it up so that it will recover from faults. |
Programming with Functional Style
| Functional programming is becoming very popular today. Many languages tout themselves as functional. But what does it mean for a language to be functional? Does some feature of the language magically imbue any program written in that language with functional properties? This talk will explore what constitutes functional style, why some languages get the term functional, and how the functional paradigm can help you write better code. |
| ooVoo’s instant messaging solution is an Erlang-based implementation of XMPP server (eJabberd) with focus on performance and scalability. Specifically designed for high end service provider’s purposes, it is fault-tolerant, distributed and can utilize resources of multi-core CPUs. It provides support for multiple client platforms, including WebSockets, reliable message delivery in mobile networks and in-game multi-user chats. Its modular architecture allows customizing it to cater to specific needs like in-house authentication or application-specific traffic such as VoIP signaling. Alexander Fok, System Architect at ooVoo, will present ooVoo’s implementation of highly scalable and high performance messaging solutions. The presentation will cover: - eJabberd – current service implementation - Front End Notification – a Websocket server that allows to maintain very big amount of concurrently connected Web clients with 2 way communication channel open that natively extends eJabberd capabilities |
Taking Documentation to the Next Level in Young Software Projects
| Most free software projects, as well as companies releasing APIs or other software, want to provide good documentation to attract and support developers and users. With reference to a few examples from online Erlang documentation, this talk suggests why it's so hard to create usable documentation and discusses some directions to go in, such as finding users who can write helpful documents, checking quality through A/B testing, and providing pathways through documents. The focus will be on documentation for programmers, because resources for such documentation are very limited, but anything that aids wider adoption can foster innovation. Talk objectives: 1. Get the audience thinking more about the role of documentation and training in their own software projects. 2. Encourage the audience to take steps to improve the documentation for the programmers who use their software. Target audience: Anyone who participates, as a developer or user, in a software project that delivers libraries or tools to outsiders |
Testing what should work, not what should not fail
| When evolving software we may introduce new corner cases that can pass unnoticed through the test cases in our automated test suite. Since developers rely on other's test suites when changing their code, the more developers work on a module, the more likely it is they slip a bug trough the test suite; that's something we though we had to live with. However, property based testing is emerging as a new hope, our last experiences say that it helps to create test suites more robust to software evolution without forcing us to write tons of "just-in-case test cases." Talk objectives: The talk aims present the benefits of property based testing in modern software engineering, compared to the traditional way of unit testing using static test cases. Target audience: Software engineers wit testing experience, preferably with erlang background, but that is not required. Property based testing is not requried. |