We love to share Erlang & Elixir stories

We’re curious and inquisitive by nature. If we come across a smart new technology, something interesting or a little odd, we’re compelled to share it with the world. Our blog is a vehicle for our musings, observations, thoughts, technical debates and discoveries.
Subscribe via RSS

How to ensure your Instant Messaging solution offers users privacy and security.

2021-01-18 by Erlang Solutions

Concerns around privacy and security in messaging applications have become a big talking point this year. MongooseIM offers privacy by default and control by design. By using MongooseIM to build your chat application you can have peace of mind that your solution has world-class privacy and security, and you'll have complete control over these settings at all times.

Read more

Two-factor authentication in your crypto wallet: are you safe?

2020-11-26 by Viktor Gergely and Bryan Hunt

Just what level of authentication is enough when it comes to the security of cryptocurrencies? In this blog post we will guide you through several attack scenarios and then suggest approaches to mitigate against bad actors when integrating crypto into your solution or app.

Read more

Introducing Caramel - An Erlang Backend for the OCaml compiler that provides a fast type-checker for BEAM-based technologies.

2020-11-18 by Erlang Solutions

Caramel is an Erlang backend for OCaml's type checker, offering a highly expressive, sound type-system, and a blazing fast type-checker. This allows you to rule out entire classes of errors by using types that are closer to your domain, and fearlessly refactor large amounts of code without sacrificing development speed. Caramel is created by our colleague Leandro Ostera who joins us on the blog to explain what it offers the community.

Read more

Erlang Solutions partners with RE2 Programming to deliver Erlang, Elixir & RabbitMQ Online Training and to Grow the Community in South East Asia.

2020-11-17 by Erlang Solutions

Erlang Solutions, the world's leading provider of Erlang and Elixir solutions, and RE2 Programming, an IT training organisation dedicated to helping developers in the Asian market reap the benefits of the BEAM, will work together to offer world-class online training in a format and time zone that caters to developers in South East Asia.

Read more

How to use Lua for flexible configurations in Erlang and Elixir.

2020-11-10 by Manuel Rubio

Using a language for flexible configuration gives us the possibility to create an easy interface to provide configurations, reduce the amount of code we need to write, improve the maintenance without jeopardising the performance of the system. In this blog, we look at the benefits of using Lua to do exactly that.

Read more

What's new in MongooseIM 4.0 - The friendly Mongoose

2020-10-14 by Jan Cieśla

Our latest release has a number of key improvements to make MongooseIM easier to use for a wide range of users. This includes easier voice and video calling, improved logging, Erlang agnostic configuration and Kubernetes Helm Charts. Learn more detail in the blog.

Read more

The complete guide to Instant Messaging and in-application chat.

2020-10-13 by Erlang Solutions

In this blog, we'll look at some of the key considerations for an Instant Messaging or chat application. To do so, we look at the pro's and con's of building a bespoke solution versus buying a product-as-a-service and we explain the must-have features of the modern chat application.

Read more

Performance testing the JIT compiler for the BEAM VM

2020-10-06 by Lukas Larsson

The JIT compiler is a huge addition to the BEAM community allowing for performance boosts ranging between 30 and 130%. In this blog, Lukas Larsson, one of the developers responsible for the introduction of the JIT compiler to the BEAM, walks us through the performance testing results in a RabbitMQ system.

Read more

The sound of Erlang: How to use Erlang as an instrument.

2020-09-08 by Aleksander Lisiecki

Want to discover a fun new Erlang project? A lot has been said about Erlang's concurrency and fault-tolerance, and with good reason, but it is still important to remember that programming can and should be fun. In this tutorial, we show you how to use Erlang as an instrument, so you can learn how to play your favourite song in your favourite programming language.

Read more

Applying Scrum to a system of fluid teams working on an open-source product

2020-08-20 by Katarzyna Kraus

A lot has been said about how Agile and Scrum differ from other approaches to organising work. But, what happens when you are managing a complex system of fluid teams? In this blog we look at how we kept the core essence of Scrum and applied it to a complex ecosystem of commercial and community stakeholders working to grow an open-source product.

Read more

Scaling a Mongoose: How scalable is the MongooseIM XMPP server?

2020-07-10 by Bartlomiej Gorny

When talking about servers, the most frequently asked question is 'how does it scale.' So, we decided to put MongooseIM to the test. Read the blog to find out how we reached almost 2.5 million connections, passing 45 thousand messages per second, with no end in sight. Not only is this a great demonstration of the scalability of MongooseIM, it's also a great example of how to conduct load testing.

Read more

Add value to your app with Instant Messaging. Here’s where to start.

2020-06-26 by Michał Piotrowski

Our team discuss how they can help you add value to your app with instant messaging, including a look at the common mistakes they see from their clients and how you can avoid them to ensure your chat functionality is a success.

Read more

Erlang Solutions partners with Humio to provide streaming log management to our customers.

2020-06-22 by Erlang Solutions

We are excited to announce our partnership with Humio – the the only log management platform enabling complete observability from streaming logs in real time, self-hosted or in the cloud.

Read more

Smart Contracts - How To Deliver Automated Interoperability

2020-06-15 by Dominic Perini and Michael Jaiyeola

This blog post outlines just how smart contracts came into existence, how they relate to contracts in the non-digital sense and how, along with blockchain, they remain a transformative force.

Read more

Why Elixir is the Programming Language You Should Learn in 2020

2020-06-03 by Manuel Rubio

What you look for in a programming language is likely to change depending on your interest and career goals. But, there are some basic principles that can help you select a language that is enjoyable, rewarding and long lasting. We take a look at these principles and discuss why now is a great time to learn Elixir.

Read more

Elixir Community Tools: StreamData

2020-05-28 by Martin Gausby

In this blog series, we will look at some of the useful tooling, frameworks and resources created by the Elixir community. Our first blog focuses on StreamData, created by Andrea Leopardi. StreamData is a framework for generating pseudo-random data based on specifications, which are defined using “generators” that can be combined together to create more complex generators. It is a useful tool when carrying out property based testing.

Read more

How to write a Phoenix PubSub adapter. Tutorial example based on EventStore.

2020-05-15 by László Hegedüs

Phoenix PubSub offers a flexible way to transmit asynchronous messages in Elixir. In this tutorial, we will use the example of EventStore to show you how this can be done.

Read more

Optimising for Concurrency: Comparing and contrasting the BEAM and JVM virtual machines.

2020-05-11 by Francesco Cesarini & Gabor Olah

Want to know the difference between the Java VM and the BEAM VM? In this blog we discuss the different virtual machines and explain concurrency in comparison to parallelism

Read more

How Online Training Can Achieve The Same Results As Face-To-Face Training.

2020-05-03 by Francesco Cesarini

Learn how our training team overcame initial reservations towards online training to develop a product that delivers the same results as face-to-face training.

Read more

FinTech in Q1 2020 Review - Disruptors Disrupted

2020-05-01 by Michael Jaiyeola

What were the big changes in FinTech in Q1 2020, and how will this shape the year going forward? Read our review to find out.

Read more

An introduction to RabbitMQ - What is RabbitMQ?

2020-04-03 by Gabor Olah

To help you understand if RabbitMQ is the right message broker for your needs, we provide a high-explanation of what makes it unique, including examples of use cases for microservices, using rabbitMQ as a message bus and integrating into legacy systems.

Read more

Optimizing GraphQL with Dataloader.

2020-04-01 by László Hegedüs

Dataloader is a powerful tool when it comes to optimizing queries. This is a hands-on introduction into the tool and what it can do based on our experience building APIs for a corporate car-sharing platform.

Read more

Tips for success when working from home.

2020-03-27 by Erlang Solutions

The need to adhere to social distancing has resulted in millions of workers around the world, setting up their very own home office for the first time. As a company, we have a long history of using distributed teams, to engineer scalable systems architectures while working remote. In this blog we share some of our essential tips for delivering remote work on development projects.

Read more

Coronavirus: community support, and how you can help.

2020-03-24 by Erlang Solutions

As we all face this unprecedented outbreak, we at Erlang Solutions want to ensure we're helping the community in the best way possible. Please read our blog and share your thoughts with us.

Read more

Using RabbitMQ for microservice architecture success - Guest Blog by API Fortress API

2020-03-11 by Simone Pezzano

Hear from the CTO and co-founder of API Fortress on their journey to discovering RabbitMQ was the best tool for their microservices architecture and discover how they've used it to build a successful platform

Read more

Which new companies are using Erlang and Elixir? #MyTopdogStatus

2020-03-02 by Erlang Solutions

Discover some of the new companies using Erlang and Elixir to reduce downtime, improve productivity and create reliable, fault-tolerant systems. There are some big new names who you may not know are using the Erlang VM, OTP and BEAM-based technologies to inspire you.

Read more

RabbitMQ Quorum Queues explained - what you need to know.

2020-02-20 by Lajos Gerecs

One of the most powerful features of RabbitMQ 3.8.0 was the introduction of Quorum Queues. The Quorum Queue is a new type of queue in the message broker which can help enable high availability without some of the unexpected behaviours of mirrored queues.

Read more

FinTech and Blockchain an Interview with Keith Bear from the CCAF

2020-02-17 by Michael Jaiyeola

We interview Keith Bear, Fellow from the Cambridge University's Centre for Alternative Finance. On the agenda is the latest on blockchain trends in the FinTech world and their latest research findings.

Read more

Improving push notifications with MongooseIM

2020-02-10 by Michał Piotrowski

MongooseIM offers a completely customisable enterprise Instant Messaging solution. In our latest release, MongooseIM 3.6.0, we’ve continued to empower our application owners, and their end users by improving and evolving the push notification functionality.

Read more

IoT Edge Computing with Erlang/OTP

2020-01-31 by Igor Kopestenski

As the number of connected devices grow, so to does the challenge of managing the data that they produce. Learn how an exciting new Erlang / OTP project is helping to make IoT edge computing architecture and data management easier.

Read more

The Best Code BEAM SF talks from the 2010s

2020-01-14 by Erlang Solutions

This year marks the 9th anniversary of the conference, meaning that Code BEAM has been bringing the best of the BEAM to the Bay Area for the best part of a decade. To whet for your appetite for this year's event, and to say goodbye to the decade gone by, we thought it was a timely opportunity to look back at the talks that have made the biggest waves in the community every year since its launch in 2012.

Read more

FinTech Client Case Studies - Erlang Solutions and Trifork

2020-01-07 by Michael Jaiyeola

Trifork, in conjunction with Erlang Solutions are developing world-leading FinTech solutions. Learn more about how they've developed innovative open banking platforms, fault-tolerant blockchain solutions and best-in-class robo advisors combining machine learning and AI.

Read more

RabbitMQ Highlights 2019 - Best Of The BEAM

2019-12-20 by Erlang Solutions

Don't miss the highlights of RabbitMQ in 2019 including - news on the release of RabbitMQ 3.8, Quorum queues, feature flags and Prometheus integration. Plus, great examples of how to trace, case studies and more.

Read more

FinTech Highlights 2019 - Best Of The BEAM

2019-12-19 by Erlang Solutions

Learn about the big developments and key projects related to the BEAM and FinTech for 2019. Discover the keys to success for FinTech companies looking forward to the future.

Read more

Elixir Highlights 2019 - Best Of The BEAM.

2019-12-11 by Erlang Solutions

Check out our summary of the best Elixir resources of 2019. This article features our favourite blogs, guides, conference talks and podcasts from the community this year. Perfect for anyone looking for inspiration or who wants to learn more about Elixir.  

Read more

Erlang Highlights 2019 - Best Of The Beam.

2019-12-06 by Erlang Solutions

All the biggest stories from the Erlang community in one blog. A fantastic resource for BEAM users new and old, featuring links to podcasts, guides, use cases and high level articles that will inspire and inform you.

Read more

Fintech 2.0 Incumbents vs Challengers - Banking’s Battle Royale

2019-11-28 by Michael Jaiyeola

We look at the way FinTech companies are disrupting banking and traditional financial services in our recap of the 2019 World FinTech Forum.

Read more

Erlang and Elixir for Blockchain - 4 key advantages

2019-11-20 by Shi Shu

Learn how OTP on the Erlang VM powers the next generation of blockchain technology allowing develops to easily build reliable dApps and smart contracts on the ArcBlock framework.

Read more

The big questions for enterprise blockchain.

2019-11-13 by Arzu Toren

In the digital era, data is power and blockchain is a universal bus to carry the data by ensuring its validity. In this guest blog, finance expert and blockchain academic Arzu Toren discusses the key DLT themes of interoperability, security and centralisation and how they will impact the future of data.

Read more

How to debug your RabbitMQ

2019-11-07 by Kacper Mentel

Learn how to debug RabbitMQ using the right tools and methodology. This will teach you how to identify what is causing unwanted behaviour in your system so that you can improve the performance of your RabbitMQ.

Read more

Why ArcBlock is using the BEAM to build their next-generation blockchain framework

2019-11-05 by Tyr Chen, ArcBlock

Learn how Arc Block (founding sponsors of the Erlang Ecosystem Foundation) use the Erlang VM to build a blockchain framework and why the BEAM is perfect for building dApps.

Read more

MyTopdogStatus by John Baughen

2019-10-30 by John Baughen

Conference Business Development Manager, John Baughen, talks to us about what impresses him most about Erlang & Elixir, discusses how conferences build a connection with the community and introduces us to his dog Ringo.

Read more

RabbitMQ Mirrored Queues Gotchas

2019-10-25 by Szymon Mentel

Mirrored queues in RabbitMQ enable high availability, which comes with significant benefits. However, when working with mirrored queues there can be some unexpected behaviours to watch out for. In this blog we walk through some common things to watch out for and how to solve them.

Read more

How to build a machine learning project in Elixir.

2019-10-23 by Grigory Starinkin & Oleg Tarasenko

Machine learning is a tool that gives businesses a competitive edge by reducing operating costs and increasing sales. In this project, we show you how to complete an ecommerce machine learning project in Elixir.

Read more

MyTopdogStatus by Basia Trojecka

2019-10-11 by Basia Trojecka

Learn what it is like to organise conferences for Erlang and Elixir developers all over the world.

Read more

MyTopdogStatus by Michał Piotrowski

2019-10-11 by Michał Piotrowski

Want to know why a former PHP developer loves Erlang's concurrency model? Read Michal's story and find out more about him, his love of the BEAM and his dog Spark.

Read more

MyTopdogStatus by Bartłomiej Górny

2019-10-11 by Bartłomiej Górny

Find out why a former economist who has worked with Perl, C++, Java and Python thinks Erlang is the top dog in the programming world. Plus, meet his world record attempting dog Bonnie.

Read more

MongooseIM: Designed with privacy in mind

2019-10-09 by Product Team

We are living in an age where all technology players gather and process huge piles of user data, starting from our behavioral patterns and finishing on our location data. The EU strived to fight for consumer rights by implementing privacy guidelines in the form of the General Data Protection Regulation (GDPR), which governs how consumer data can be handled by third parties. Therefore the stakes are high for all messaging service providers out there. MongooseIM brings us full GDPR compliance.

Read more

MyTopdogStatus by Stuart Whitfield

2019-10-02 by Stuart Whitfield

Erlang Solutions CEO, Stuart Whitfield, joins us on the blog to talk about why he is excited about the future of the BEAM and to introduce us to his dog Lexi.

Read more

MyTopdogStatus by Phuong Van

2019-10-02 by Phuong Van

Stockholm based Developer, Phuong Van, talks to us about why she loves Erlang and introduces us to her dog Abbe.

Read more

MyTopdogStatus by Simon Benitez

2019-10-02 by Simon Benitez

Simon Benitez, who works remotely as part of our team in The Americas, tells us why he loves Erlang, Elixir and his three dogs.

Read more

Web scraping with Elixir

2019-09-20 by Oleg Tarasenko

We explain how to complete web scraping in Elixir, a technique that can be valuable for data extraction and machine learning.

Read more

Which companies are using Elixir, and why? #MyTopdogStatus

2019-09-19 by Manuel Rubio

Learn about how companies like Pinterest, Lonely Planet and PepsiCo use Elixir for event handling, distributed data, scalability and microservice delivery.

Read more

Which companies are using Erlang, and why? #MyTopdogStatus

2019-09-11 by Francesco Cesarini

Discover real success stories from large companies using Erlang, the BEAM VM and OTP to achieve outstanding scalability and reliability.

Read more

Using CircleCI for Continuous Integration of Elixir projects.

2019-06-25 by Attila Nohl

Continuous integration is essential in a fast moving project. The developers need feedback as soon as possible because the earlier a bug is found, the earlier and cheaper it is to fix it. This guide demonstrates a simple, but effective setup that can run this continuous integration for an Elixir project.

Read more

The problem of connecting to Smart Meters was solved 30 years ago! Powered by scalable technology.

2019-06-18 by Mark Cowan

As smart grids and 5g technology is adopted, systems will need to scale to billions of users. Luckily, the problem of how to connect billions of devices was solved 30 years ago with Erlang.

Read more

A guide to tracing in Elixir!

2019-06-06 by Gabor Olah

An overview of the tracing tools in Elixir, what is tracing and why it is useful, how to incorporate it to your workflow.

Read more

Blockchain No Brainer Ownership in the Digital Era

2019-05-28 by Dominic Perini

We look at the impact that blockchain is having on our perceptions of digital asset ownership and value in this first instalment of our two-part series on state-of-the-art blockchain developments by our Technical Lead expert Dominic Perini.

Read more

Introducing Telemetry

2019-04-30 by Arkadiusz Gil

Telemetry is a new open source project aiming at unifying and standardising how the libraries and applications on the BEAM are instrumented and monitored. It is a suite of libraries, developed for the last couple of months by Erlang Solutions in collaboration with the Elixir core team and other contributors. This is an introduction blog to Telemetry.

Read more

Remembering Joe, a Quarter of a Century of Inspiration and Friendship

2019-04-23 by Francesco Cesarini

'It is with great sadness that I share news of Joe Armstrong's passing away. Whilst he may no longer be with us, his work has laid the foundation which will be used by generations to come. RIP @joeerl, thank you for inspiring us all.' - Francesco Cesarini on Twitter 20th April 2019. A few thoughts remembering Joe Armstrong by his Friends.

Read more

Thoughts on ElixirConf EU

2019-04-16 by Martin Gausby

The fifth annual ElixirConf EU was held this year in Prague, Czech Republic. It saw 470 attendees, and 30 speakers, from all over the world, where the ones that had travelled the furthest came all the way from Australia and New Zealand. It's great if you attended, and if you haven't here we share a few thoughts that you have missed out!

Read more

NEWS: Erlang Solutions partners with EMQ

2019-04-09 by Stuart Whitfield

We are excited to announce our recent partnership with EMQ – the world’s Leading Provider of IoT Messaging and Streaming Platform. Earlier on this month, we signed channel distribution agreement across the USA and Europe.

Read more

ex_rabbit_pool open source AMQP connection pool

2019-04-02 by Simon Benitez

A couple of months ago we started writing an open source continuous delivery system which we called Buildex. Buildex was born of the frustrations and limitations we faced when attempting to debug production failures in other build systems. As part of the work to support it, we created a RabbitMQ connection management and pooling library called ex_rabbit_pool.

Read more

Rabbit’s Anatomy - Understanding Topic Exchanges

2019-03-20 by Bartosz Szafran

In RabbitMQ Exchange is the abstraction, where messages are published. There are a few types of Exchanges, one of which is Topic Exchange. Topic Exchange provides most flexible routing mechanisms. It depends on the Binding Key, which is provided when a queue is bound to a Topic Exchange. It is kind of a pattern, which is used to make decisions on routing messages by checking if a message's Routing Key matches the pattern.

Read more

MongooseIM 3.3.0: Supporting happy relations

2019-03-13 by Piotr Nosek, Mateusz Bartkowiak

Have you ever tried to use Mnesia with datasets larger than your transient memory? Are you confused with Erlang data types stored within Mnesia? We know some of you were. That is why we answered these problems by introducing something that is familiar to mainstream developers and efficient with larger datasets at the same time - i.e. RDBMS backends for our PubSub plugin. Lets bundle that up with full support for XEP-0178 and RabbitMQ backend for our Event Pusher. Welcome to MongooseIM 3.3.0.

Read more

10 Unusual Blockchain Use Cases

2019-03-11 by Erlang Solutions

Digital assets have increased in the last few years, and the FinTech industry is set to continue growing throughout 2019. Blockchain obviously falls into this category, with Bitcoin and Ethereum. Crypto startups and established companies are looking to develop their business strategies by incorporating FinTech. But what unusual blockchain cases have been emerging, in this blog post we will explore some cases that caught our eye.

Read more

Let's #TalkConcurrency panel discussion with Sir Tony Hoare, Joe Armstrong, and Carl Hewitt

2019-02-19 by Erlang Solutions

When considering the panel to discuss concurrency, you’d be pushed to find a higher calibre than Sir Tony Hoare, Joe Armstrong, and Carl Hewitt. All greats within the industry and beyond, over the past couple of weeks, we’ve been releasing their individual interviews; a storyboard into the lifeline of concurrency and models over the past few decades.

Read more

Let's #TalkConcurrency with Carl Hewitt

2019-02-07 by Erlang Solutions

The last in our trio of concurrency one-on-one interviews is Carl Hewitt; the designer of logic programming language Planner. Also known for Actor models, Carl does a fantastic job of describing how he and others came up with Planner, and where he feels concurrency will go from here.

Read more

Let's #TalkConcurrency with Joe Armstrong

2019-01-30 by Erlang Solutions

We launched our #TalkConcurrency campaign last week with a fantastic interview with one of the founding fathers of concurrency; Sir Tony Hoare. This week we continue with the co-creator of Erlang, Joe Armstrong, as he walks us through his experiences with concurrency since 1985.

Read more

Let's #TalkConcurrency with Sir Tony Hoare

2019-01-24 by Erlang Solutions

Back in November, we took a trip to Cambridge University with Francesco Cesarini to arrange a panel discussion revolving around concurrency. For the panel, we enlisted the help from the best; Sir Tony Hoare, Joe Armstrong, and Carl Hewitt! All pioneers in the concurrency field.

Read more

Q&A with Programmer and #OpenErlang Illustrator Daniel Stori

2019-01-15 by Erlang Solutions

We were delighted to have Daniel Stori onboard with our #OpenErlang celebrations. As an open source advocate, Daniel put his two fine talents - open source programming and illustrating - to good use when creating the #OpenErlang comics.

Read more

20 Years of Open Source Erlang: The OpenErlang Interviews

2018-12-19 by Erlang Solutions

In our latest blog post ‘Twenty Years of Open Source Erlang’, Francesco Cesarini spoke of a conversation he had with Joe Armstrong back in 1995, three years prior to Erlang becoming open source; “Erlang will not be around forever.” Joe said, “Someday, something better will come along”.

Read more

Twenty Years of Open Source Erlang

2018-12-08 by Francesco Cesarini

Erlang was released as Open Source Tuesday December 8th, 1998. Do you remember where you were that week? I was in Dallas (Texas); one of my many visits helping the Ericsson US branch set up an Erlang team working with the AXD301 switch. Waking up on Tuesday morning, I got the news.

Read more

MongooseIM 3.2 - Meet our Inbox

2018-11-21 by Piotr Nosek

Since the last release of our enterprise-ready, highly scalable IM platform: MongooseIM 3.1, the team has been working at full speed on the expanded set of features and improvements aimed to bring MongooseIM to the next level. What comes as a result is MongooseIM 3.2. With its highlights such as full-featured Inbox, worker pool unification, PKI for BOSH and Websockets and multi-aspect TLS integration, this release becomes a big step in the evolution of our server!

Read more

20 Years of Open Source Erlang: OpenErlang Interview with Robert Virding

2018-11-14 by Erlang Solutions

This is our last OpenErlang Interview of the series! We’ve spoken to some serious Erlang players over the last couple of months including massive companies such as WhatsApp and AdRoll who use Erlang, and enthusiasts and champions of tech and open source languages. We started off our celebrations with an interview with Robert Virding and Joe Armstrong - the creators of Erlang!

Read more

20 Years of Open Source Erlang: OpenErlang Interview with Miriam Pena

2018-11-06 by Erlang Solutions

Previously, we looked into WhatsApp with one of their talented Server Engineer’s Anton Lavrik. WhatsApp has used Erlang since its humble beginnings back in 2009, but what other giants use the language? Miriam Pena is one equally talented Staff Engineer at AdRoll, a company that uses both Erlang and Elixir!

Read more

Vitamin E - FinTech Special

2018-11-02 by Erlang Solutions

This is your monthly dose of all things Erlang and Elixir from Erlang Solutions! Every month, we send out an Erlang Solutions bulletin with news within the company, but also the top articles and job listings. You can also adjust your preferences to receive the most relevant newsletters for you.

Read more

20 Years of Open Source Erlang: The OpenErlang Parties

2018-10-30 by Erlang Solutions

It’s party time! To celebrate the 20th anniversary of open sourced Erlang, we have already held two great parties in San Francisco and Stockholm - now it's London's turn! This year we’ve been also holding meetups, webinars, producing blogs and interviews to mark the occasion, but like any celebration, a party should be on the cards!

Read more

Building the NetStats System Dashboard for Ethereum-based platform

2018-10-25 by Felipe Ripoll

During the last year, we have been working closely with POA Network improving one of the systems they run. Erlang Solutions Elixir/Erlang Developer and Architect Felipe Ripoll will look to explore the ins and outs of the NetStats System Dashboard in this latest post.

Read more

20 Years of Open Source Erlang: OpenErlang Interview with Anton Lavrik from WhatsApp

2018-10-24 by Erlang Solutions

May the 20th anniversary celebrations of open sourced Erlang never end! And we don’t intend to slow down. In fact, we are speeding things up as the #OpenErlang party in London fast approaches (you still have time to register and join us on 8th Nov). Our upcoming #OpenErlang interviews will share more insights on how global companies such as WhatsApp and AdRoll achieved the unachievable, with Erlang being their secret weapon.

Read more

20 Years of Open Source Erlang: OpenErlang Interview with Simon Phipps

2018-10-19 by Erlang Solutions

We partnered with Open Source Incentive (OSI) to celebrate the 20 year open source anniversary of Erlang. Here is our interview with OSI President Simon Phipps. #OpenErlang!

Read more

Blockchain 2018: Myths vs Reality

2018-10-17 by Dominic Perini

After a successful year of involvement in a variety of blockchain projects, I felt it healthy to take a step back and observe the emerging trends in this nascent (but still multi billion dollar) industry and question whether some of the directions taken so far are sensible or whether any corrections are necessary. Lead have to say about blockchain, let me take you through it:

Read more

ElixirConf 2018 Wrap Up

2018-09-14 by Claudio Ortolina

The recent ElixirConf® US 2018 in Bellevue was a whirlwind of announcements, ambitious ideas and solid production stories. I attended with my colleague Adam and had the opportunity to spend significant time chatting with developers and CTOs from companies and organisation of all kinds and size.

Read more

Top 5 Elixir "Gotchas"

2018-09-11 by Erlang Solutions

Concluding our #ElixirOverload week is a group case study from our Elixir Team at Erlang Solutions listing mistakes or oversights that can commonly occur, whether you’re a global company or a new startup.

Read more

20 Years of Open Source Erlang: OpenErlang Interview with Jane Walerud

2018-09-11 by Erlang Solutions

Erlang wouldn’t be what it is today without the community surrounding it! On the 20th anniversary year of being open sourced, we have been holding the #OpenErlang celebrations, highlighting the enthusiasts surrounding Erlang as well as the language itself. This time round, it's Jane Walerud from Walerud Ventures!

Read more

Building an Elixir Stream

2018-09-10 by Bartosz Szafran

With the ElixirConf US last week, we’re celebrating all things Elixir. We have also launched our new Elixir Architecture Sessions - get in touch for more details. Building an Elixir Stream is the third blog of our #ElixirOverload Takeover. You can also read the other Elixir-based content in this series including Receiving Messages in Elixir by Oleg Tarasenko, and To Pipe or Not To Pipe by Joe Yiasemides.

Read more

To Pipe or Not to Pipe

2018-09-07 by Joseph Yiasemides

The material in this post is based on one of our recent talks at Code BEAM Stockholm. It elaborates on what we covered there on this topic. Though this is a very small part of what it means to program in Elixir, it is something that we stumble across often, so it warrants a post. Here's our second instalment in the #ElixirOverload series.

Read more

Receiving messages in Elixir or a few things you need to know in order to avoid performance issues

2018-09-06 by Oleg Tarasenko

We’re kicking off #ElixirOverload with Oleg Tarasenko’s post on receiving messages in Elixir! What can you do to avoid common mistakes that plague developers? Here, Oleg makes a performance comparison of message processing depending on the process mailbox size, amongst other fantastic insights.

Read more

20 Years of Open Source Erlang: OpenErlang Interview with Ericsson's Christopher Price

2018-09-05 by Erlang Solutions

Next up is our exclusive #OpenErlang Interview with Christopher Price, President at Ericsson Software Technology. Christopher has been championing a shift in the technology industry from standardization to open source software development for many years and across many companies. Here, he talks about the legacy of Erlang, and what Ericsson plans to do to develop and promote open source technologies around their exciting 5G transformation.

Read more

20 Years of Open Source Erlang: OpenErlang Interviews with co Creators Robert Virding Joe Armstrong

2018-08-28 by Erlang Solutions

Erlang has been open sourced since 1998 and this year marks the 20th anniversary. We’ve been celebrating with parties, conferences, webinars, meetups and other delicious content.

Read more

MongooseIM 3.1 - Inbox got better, testing got easier

2018-07-25 by Piotr Nosek

This summer the MongooseIM team have not had a second to be lazy - the development of MongooseIM 3.1 release took over what was supposed to be our downtime, when all major activities driven throughout the year slow down. We’re happy to say that in this time of leisure, the new release is packed with important features, improvements and excitement. Take a look at the version highlights and be part of this major step in creating a world-class communication server.

Read more

Scaling reliably during the World’s biggest sports events

2018-06-21 by Erlang Solutions

“A busy day for an online betting shop is like Black Friday at Amazon, only prices change every second,” Martin Davies, Head of Technology at bet365 told us a year ago. During big sporting events, like football tournaments, that can go on for weeks with global interest and audience numbers, Amazon’s Black Friday pales in comparison.

Read more

Railway oriented development with Erlang

2018-06-13 by Oleg Tarasenko

This blog suggests an alternative means by which you can structure your programs, inspired by the Elixir pipe macro ‘|>’ but without making use of the dreaded parse transforms using my tiny epipe library, which I have recently written. Epipe itself is inspired by this article published by Scott Wlaschin.

Read more

Erlang trace files in Wireshark

2018-06-07 by Magnus Henoch

If you've tried to debug a running Erlang system, you probably tried tracing. The Erlang VM lets you trace many different things, most notably messages and function calls, but also processes getting spawned and killed, and garbage collections.

Read more

MongooseIM 3.0.0 - Application turbocharger

2018-06-05 by Piotr Nosek

As a team we’ve switched into a faster gear and our latest release is a reflection of that. MongooseIM 3.0.0 is an enterprise ready, stable solution that now works faster then ever; delivering a smooth messaging experience to your users. It features important upgrades that will allow your servers to process even more messages per minute and save memory space for additional user sessions. Everything thanks to a couple of improvements, the new XML parser being the prominent highlight.

Read more

Escalus 4.0.0: faster and more extensive XMPP testing

2018-05-22 by Konrad Zemek

Escalus 4.0.0 is the newest version of our XMPP client library for Erlang, a component of our MongooseIM platform of tools and services. Created as a tool for convenient testing of XMPP servers, it can also be used as a standalone Erlang application. Escalus is used by Erlang Solutions for integration, load and stress testing of MongooseIM XMPP server.

Read more

ElixirConf EU 2018 Highlights

2018-04-25 by Szymon Mentel & Joseph Yiasemides

ElixirConf EU 2018 was a great place for our colleagues, clients, and the community to forge new relationships and strengthen existing ones. The other aspect of conferences we appreciate is how talks prompt questions, their answers, and subsequent discussions. Here are our highlights for this years ElixirConf EU.

Read more

MongooseIM 2.2 - The Global Server

2018-04-25 by Piotr Nosek

While every MongooseIM release comes with important improvements, sometimes they are more relevant for certain groups of users. In MongooseIM 2.2 we present 3 major features: SASL EXTERNAL authentication mechanism, stable Global Distribution, and Jingle/SIP proxy. All of them are especially beneficial to larger deployments or big companies. MongooseIM 2.2!

Read more

Erlang Serpents

2018-04-24 by Brujo Benavides

Every year at Erlang Solutions we all take one day off from our projects and we spend it all together celebrating what we love the most: programming. In 2014 we ran a "build your app in just one day" competition with awesome results. For 2015's edition, we decided to come up with a multi-player game where the organisers set up the server and the teams developed the clients.

Read more

Running distributed Erlang & Elixir applications on Docker

2018-03-28 by Oleg Tarasenko

The docker platform has been around for a couple of years already, so let's briefly review which benefits it provides, and why you should consider using it.

Read more

Real-time Experience at FOSDEM 2018

2018-03-26 by Bartłomiej Górny, Michał Piotrowski, Wioletta Dec

As this year we are celebrating the 20th anniversary of open-sourced Erlang, we are glad to be able to take part in FOSDEM and connect with a global open source community. This is a Free Open Source European Developer's Meeting taking place at the Université Libre de Bruxelles Solbosch campus in Brussels on 3-4 February. MongooseIM core team members - Michał Piotrowski and Bartłomiej Górny both gave talks at the events dissecting different aspects of XMPP.

Read more

FIPS for Erlang & Elixir Systems

2018-02-20 by Ayanda Dube

FIPS (Federal Information Processing Standards) are a set of standards defined by the NIST (National Institute of Standards and Technology) to provide a means to govern and control how computer systems inter-operate in industry approved credible and acceptable methods. FIPS-140 isn't a necessity across the board, but if you're operating in uncompromising sectors such as those found in governmental systems, I highly recommend you work to become FIPS-140 compliant.

Read more

Top 10 Erlang & Elixir events of 2018

2018-01-30 by Areege Al Zubaidi

2017 was an incredible year for sharing knowledge and experience within the Erlang and Elixir community, and 2018 looks ready to give 2017 a run for its money! Here's a roundup of the exciting Erlang and Elixir events we're excited about in 2018!

Read more

MongooseIM 2.1.1 - More than a patch!

2018-01-25 by Piotr Nosek

About 3 months have passed since the final MongooseIM 2.1.0 release. Over that time we've gathered feedback from community and picked out improvements we really wanted to include in 2.1.0 (but the schedule is merciless!). The outcome is a release that closes the 2.x series. This is the last stop before the leap into 3.0.0, when you may expect significant changes and features.

Read more

Advanced RabbitMQ Support Part II: Deeper Insight into Queues

2017-12-06 by Ayanda Dube

The most important and critical elements of any RabbitMQ installation are the Queues. Queues, and their adherence to AMQP are essentially "why" RabbitMQ exists. Here’s how you can support them:

Read more

Erlang Garbage Collector

2017-11-30 by Lukas Larsson

This blog post describes the state of the Erlang garbage collector in Erlang/OTP as of November 2017. The latest updates are clearly marked in each of the sections. The Erlang/OTP master branch is a moving target and some of the things may have changed by the time of the next release.

Read more

Monitoring Erlang and Elixir just got better - Introducing WombatOAM 3.0.0

2017-11-28 by Lajos Gerecs

A lot has changed since the last major release of WombatOAM; 3.0.0. There were several minor releases in the past year and below you’ll find a non-comprehensive list of the main features and improvements introduced in this time.

Read more

How to set up MongooseICE (ICE/TURN/STUN server)

2017-11-21 by Rafał Słota

The new version of our messaging platform, MongooseIM 2.1.0, is about quality and accessibility. It introduces new tools and improvements making access to MongooseIM features easier. This tutorial introduces the details of MongooseICE - help your ops deploy and your devs build a STUN and TURN server for NAT traversal and stream relay. This “How To” will help you keep your infrastructure coherent and perfectly integrated, in order to deliver new features faster and with more confidence over time.

Read more

Three WombatOAM Agents and a RabbitMQ

2017-11-14 by Ayanda Dube

As of version 2.7.0, WombatOAM has three additional RabbitMQ agents that are shipped as part of the main RabbitMQ plugin. These three agents are more specific to the internal elements of RabbitMQ, namely Queues, Channels, and Connections, with each providing finer and more detailed metrics per individually configured and selected metric attribute.

Read more

How to set up Push Notifications with MongoosePush

2017-11-10 by Rafał Słota

The new version of our messaging platform, MongooseIM 2.1.0, is about quality and accessibility. It introduces new tools and improvements making access to MongooseIM features easier. In this tutorial, we will dive deep into the details of MongoosePush - help your ops deploy and your devs build push notifications in your chat system. This “How To” will help you keep your infrastructure coherent and perfectly integrated, in order to deliver new features faster and with more confidence over time.

Read more

Monitoring RabbitMQ: Native Nodes vs. Independent Agents

2017-11-07 by Ayanda Dube

RabbitMQ users are accustomed to monitoring and keeping track of the status of their RabbitMQ installations using the native RabbitMQ Management plugin, or, alternatively, using third party monitoring tools. A common aspect which cuts across most of these off-the-shelf tools is full dependency on the RabbitMQ Management plugin. For you to monitor and manage your RabbitMQ installation via a web interface, the RabbitMQ Management plugin has to be enabled at all times on the RabbitMQ nodes.

Read more

MongooseIM 2.1.0: stronger platform for better chat experience

2017-11-02 by Nicolas Vérité

A great dilemma for app makers is whether to develop their chat in house, or buy an off-the-shelf solution (“Make-Or-Buy Decision”). Between these extremes the MongooseIM platform provides a flexible set of software components paired with services to fit companies’ specific strategies. It solves the problem of asset building when it comes to chat or instant messaging experiences.

Read more

Building the ideal technology stack for online gambling & betting

2017-10-26 by Areege Al Zubaidi

Over the years, we gained great insight into the industry. Erlang is uniquely suited to address the biggest technological challenges of Online Gambling & Betting companies.

Read more

Getting started with WombatOAM

2017-10-24 by Zsolt Dudas

How to get started with WombatOAM - from prerequisites, installation, running, and setting up WombatOAM and its web dashboards.

Read more

From the developer: What’s new in WombatOAM 3.0.0beta?

2017-10-19 by Lajos Gerecs

A lot has changed since the last major release of WombatOAM; 3.0.0beta. There were several minor releases in the past year and below you’ll find a non-comprehensive list of the main features and improvements introduced in this time.

Read more

9 unmissable upcoming Erlang + Elixir events

2017-10-17 by Areege Al Zubaidi

2017 has been an incredible year for sharing knowledge and experience within the Erlang and Elixir community and beyond! Here's a roundup of the exciting events we're proud to be involved with in the coming months, and a look back at some of the talks from the past year.

Read more

Messaging feature sets and their benefits

2017-10-12 by Nicolas Vérité

Instant messaging or chat is a constantly self-reinventing universe. In this article we focus on businesses who are building chat apps and apps with chat. From early stage startups to big corporates, it is always good to remind and always be conscious of the basics of business, and how the interlinking and mechanics of social and messaging allows you to accelerate growth and consolidate your sustainability.

Read more

Programming languages for online betting: an investigation of Go, Erlang, and Elixir

2017-10-10 by Stuart Whitfield

“The right tool for the job” is a popular adage in the online betting industry. In my time at Erlang Solutions, I’ve learned that there are three key reasons why Erlang and Elixir are often the right tool for the job in online gambling and betting: superior concurrency, scalability, and reliability.

Read more

Master your pirate metrics, AARRR

2017-10-05 by Nicolas Vérité

Instant messaging or chat is a constantly self-reinventing universe. In this article we focus on businesses who are building chat apps and apps with chat. From early stage startups to big corporates, it is always good to remind and always be conscious of some the basics of business, and how the interlinking and mechanics of social and messaging allows you to accelerate growth and consolidate your sustainability.

Read more

A brief history of Riak

2017-09-05 by Areege Al Zubaidi

It has been an eventful year for the Riak community so far. For those struggling to keep up with the developments, we've put a quick timeline of events together, highlighting the everything any self-respecting member of the community needs to know.

Read more

The top 10 Elixir talks of 2017 so far

2017-08-16 by Claudio Ortolina

2017 has been a great year for Elixir! It turned 5 years old this January, and the language has just gone from strength to strength. It’s also been a fantastic year for sharing of knowledge within the community. Here’s our pick of the most popular Elixir talks of 2017 so far.

Read more

Riak commercial support now available post Basho

2017-08-10 by Stuart Whitfield

Erlang Solutions is pleased to announce a global partnership to provide enterprise grade support to users of the Riak suite of products. As of today, we offer a range of subscription support options (including 24/7 enterprise-grade) along with expert Riak and Erlang consulting services.

Read more

MongooseIM 2.1.0beta2 - Expanded Platform, first class quality

2017-07-06 by Piotr Nosek

MongooseIM is a platform for businesses to build messaging and social apps, or add messaging and social features to existing apps. When you need to adapt to growing user demand, we're here to guarantee that your service scales, grows with new functionalities and remains reliable for all. The fullstack MongooseIM platform offers various components, both for the backend (Erlang, Elixir) and the frontend (iOS, Android, Web) for you to pick up and assemble like pieces of a puzzle.

Read more

Getting started: Building the core dev team

2017-07-05 by Francesco Cesarini

You've decided to do it. You're going to bravely go where no-one in your organisation has gone before - a non-mainstream programming language. First thing's first, you need to build your core team. In this excerpt from The route to the successful adoption of non-mainstream programming languages, Francesco Cesarini, Erlang and Elixir veteran, spells out how to build your all-important core team.

Read more

How to build a self-sustaining development team

2017-06-20 by Francesco Cesarini

So you’ve already built the prototype, failed forwards, and secured approval to move on with engineering the final product. It’s vital that you keep the team that built the prototype and use them to mentor the new recruits. In doing so, you need to make sure your team becomes self-sustainable.

Read more

Three reasons to review your online betting tech stack

2017-06-06 by Stuart Whitfield

The online gambling & betting industry has come a long way from SMS bets and WAP sites. But there is still reason for bookmakers to review their tech stack. First, punters expect perfection of their digital experiences. Second, strong industry competition gives dissatisfied customers other options. Last, legacy systems can hamper innovation and competitiveness in the marketplace.

Read more

Advanced RabbitMQ Support Part 1: Leveraging WombatOAM Alarms

2017-05-31 by Ayanda Dube

RabbitMQ is often the go-to solution for message orientated middleware due to its seamless ease of use and adaptability to different use-cases. Client testimonials back it up too. For such a highly esteemed system, playing such a crucial role in some of the most mission-critical solutions in the industry, you'd think it was fully equipped with an arsenal of alarm systems. Unfortunately, that's not the case, but I have a solution!

Read more

Docs in the shell 2: Man-Erlang interface

2017-05-23 by Radek Szymczyszyn

It's been a while since the last update on docsh and over a year since the idea of shell access to Erlang docs originally emerged in my mind. Believe it or not, the project has seen a huge progress, though one might argue that at a pace a tad slower than the speed of light. By the way, if you ask me, it's "doc-es-age", not "doc-shhh".

Read more

Installing Elixir on a Raspberry pi the easy way

2017-05-02 by Ju Liu

In this tutorial we will go through the easiest way of installing the latest and greatest versions of Erlang and Elixir on your Raspberry Pi. Since the Raspberry is still a fairly low-powered device, we will use precompiled packages instead of compiling everything from source. This will also help us to keep our system updated in the future.

Read more

Rebuilding the Mission Impossible Security System in Elixir on Raspberrypi

2017-05-02 by Ju Liu

Yes, you've read that right. In this tutorial we are going to rebuild the amazing security system featured in the 1996 all time classic Mission Impossible. We will use a Raspberry Pi, lots of sensors and we'll write the code in Elixir.

Read more

5 Elixir highlights from Erlang & Elixir Factory 2017

2017-04-25 by Claudio Ortolina

The latest Erlang & Elixir Factory San Francisco was definitely worth the trip: new faces, interesting ideas and a buzzing hallway track. As usual, plenty of top-notch technical talks, but personally I found that two important trends emerged: teaching and embedded devices. In that respect, here are some highlights:

Read more

MongooseIM 2.1.0beta1 what happens when you give your team freedom

2017-04-13 by Michał Piotrowski

MongooseIM is a highly technical platform for businesses to build messaging and social apps, or add messaging and social features to an existing app. The fullstack MongooseIM platform offers various components, both for the backend (Erlang, Elixir) and the frontend (iOS, Android, Web) for you to pick up and assemble like pieces of a puzzle. Today, the MongooseIM platform delivers a new beta version of the messaging server, as well as new push notification server.

Read more

Fault Tolerance doesn't come out of the box - Alchemy 101: Part 3

2017-03-29 by Thomas Hutchinson

One of the biggest selling points of Elixir is the means it gives you to write fault tolerant applications via its concurrency model. Processes can broadcast their failure to dependant processes which can take appropriate action. **You decide how processes should respond to failure based on your use case. There is no single solution.** I'll give you an example in which not handling failure led to, you guessed it, more failure.

Read more

How Would the World Embrace Video Collaboration if it Couldn’t Scale?

2017-03-28 by Nicholas Reid, SVP of Product Management, Vidyo

“How would the world embrace video collaboration if it couldn’t scale?” This is a big question that Vidyo spotted early on, way back in 2005, as it set out to pioneer the next generation of video conferencing. Video collaboration at that time was primarily used for communicating between one traditional conference room to another. Since then, the world has changed.

Read more

Scaling RabbitMQ on a CoreOS cluster through Docker

2017-03-22 by Gabriele Santomaggio

Dynamic scaling is a fundamental requirement for modern distributed system architectures. Using CoreOS and Docker, it's possible to rapidly scale machines and containers, respectively. RabbitMQ fits perfectly well with containers. In this post, we will show how to scale RabbitMQ on CoreOS through Docker. Erlang Solutions offers world-leading RabbitMQ consultancy, support & tuning solutions.

Read more

Erlang OS X Installer: Official Release

2017-03-15 by Karol Urbanski

With Erlang/OTP 19.3 coming out today, we've decided to release our new Erlang Solutions OS X Installer. From now on, the old installer should be considered deprecated. During the Erlang/OTP 20 release cycle, it will stop being provided for new versions. The new installer is now our recommended option. Fear not, though! The new installer has a whole slew of options that are likely to please any serious coder. I've summarised them for you in this post.

Read more

XMPP Protocol Use-Cases and Guide | Erlang Solution blog

2017-03-02 by Piotr Nosek

If you're considering XMPP for your project but you are unsure if it can provide the functionality you need, you'll eventually end up here: I'm pretty sure you'll be quite intimidated by such a long list of features and extensions. Fear not, help is here!

Read more

MongooseIM 2.0.1 more stability for app developers

2017-02-22 by Nicolas Vérité

MongooseIM 2.0.1 brings a lot of improvements and much more stability: SSE (Server Sent Events) for real-time data push for REST API users, support for Cassandra NOSQL database for message archive, HTTP file upload for in-chat media, and much more.

Read more

From Elixir Mix configuration to release configuration - Alchemy 101 Part 2

2017-01-19 by Thomas Hutchinson

Elixir comes packaged with a great build tool called Mix. As you start gearing up for production you will begin to explore creating releases with tools such as exrm and distillery. At this point it pays to be aware of what happens to your Mix configuration when you create a release. In part 2 of our Alchemy101 series, we'll take a look at this.

Read more

Build a complete iOS messaging app using XMPPFramework - Part 2

2017-01-12 by Andres Canal

'Build a complete iOS messaging app using XMPPFramework' is a tutorial that shows you how to build a fully functional instant messaging iOS app using the very cool XMPPFramework library and Swift3. In the first part you got the basic XMPP knowledge needed to get you started, and now you will learn how to how to create a connection and authenticate to your app.

Read more

Build a complete iOS messaging app using XMPPframework-tutorial-part 1

2016-11-30 by Andres Canal

The idea of this tutorial series is to get a complete functional iOS messaging app using XMPPFramework. We are going to slowly start introducing XMPP concepts in an easy and understandable way while building our app at the same time. Our final goal is to get an app that allows us to authenticate with the server, add/remove contacts, send presences, one to one chat, group chats and more!

Read more

MongooseIM platform 2.0.0: higher value and lower friction

2016-11-14 by Nicolas Verite

MongooseIM is the open source mobile messaging platform that provides massive scalability. In the past months we worked hard on version 2.0.0 of the platform, which brings new features that allow the addition of innovative real-time, social features to existing apps. This post will walk you through all the changes that differentiate the MongooseIM platform on the market.

Read more

Elixir Module Attributes - Alchemy 101: Part 1

2016-11-08 by Thomas Hutchinson

As you start working with Elixir, you will start questioning how and why things work and behave the way they do, and if there are better ways to do things. The new Alchemy 101 blog series addresses common questions being asked throughout the community. In part 1 let's look at when module attributes are evaluated and what this means.

Read more

Erlang (and Elixir) distribution without epmd

2016-10-26 by Magnus Henoch

When Erlang nodes are connected to form a cluster, they usually use the Erlang Port Mapper Daemon (epmd) to find each other. In this post we explore how it works, what potential issues it has, and what we can use instead.

Read more

MongooseIM 2.0.0beta2: the power of an XMPP platform, with the simplicity of a REST API

2016-10-11 by Nicolas Verite, Michał Piotrowski

We are thrilled to announce the MongooseIM platform version 2.0.0beta2. MongooseIM platform 2.0.0beta2 is about one massive change: a REST API, both for backend integration, and for client/server development. This is a major step towards the game-changing version 2.0.0, which will be released in the coming weeks. MongooseIM 2.0.0 will tremendously lower the barrier of entry to our platform for most developers worldwide.

Read more

RabbitMQ Monitoring WombatOAM and the RabbitMQ Management Plugin

2016-10-04 by Ayanda Dube

In this post we show how RabbitMQ nodes experience less strain, and thus perform much better when being monitored by WombatOAM, as compared to monitoring using the RabbitMQ Management Plugin. But both tools can be viewed as complementary to each other, and we suggest a best practice scenario for using them together. Erlang Solutions offers world-leading RabbitMQ consultancy, support & tuning solutions.

Read more

Erlang Installer: A Better Way To Use Erlang On OSX

2016-09-22 by Karol Urbanski

Obtaining Erlang/OTP has become a lot easier on OS X. We're happy to share the better, slicker version of the Erlang Solutions OS X Installer.

Read more

Operational nightmare fun: dealing with misconfigured Riak Clusters

2016-09-21 by Viktoria Fordos and Csaba Hoch

We learnt many valuable lessons while providing professional Riak support. In this blog post, we tell one of our war stories. A story about investigating a struggling Riak cluster, and finding out why Riak's usual self-healing processes got stuck.

Read more

Erlang & Elixir DevOps From The Trenches - Why we felt the need to formalize operational experience with the BEAM virtual machine

2016-09-14 by Francesco Cesarini

Every time an operational issue is addressed and fixed in an Erlang or Elixir cluster, lessons are learnt. This blog post describes some of these lessons, and how, through WombatOAM, we try to formalise them in reusable code allowing us to share decades of operational experience across any system running on the BEAM virtual machine.

Read more

The continuing headaches of distributed programming

2016-08-10 by Guest author: Andy Oram, Senior Editor O'Reilly Media

Despite ground-breaking advances in languages and utilities that purport to simplify parallel or distributed computing, designing a system that supports modern commerce and other high-priority applications remains one of the most difficult tasks in computing. Senior editor at O'Reilly Media Andy Oram identifies the reason this is still an issue.

Read more

Learn to forget

2016-07-20 by Brujo Benavides

On experiences and patterns for learning Erlang (and Elixir?), with an example. From an experienced Erlang developer and trainer - Brujos Benavides, Inaka's CTO.

Read more

MongooseIM 2.0.0beta1 is out! Explore the new features

2016-07-05 by Michał Piotrowski

We are proud to present the latest step on our road to the MongooseIM 2.0.0 release. Enjoy MongooseIM 2.0.0beta1 - now available on GitHub, and see the scope of changes that made us jump to 2.0.0.

Read more

Erlang distribution over TLS

2016-06-28 by Magnus Henoch

Find out how to run the Erlang distribution protocol over TLS and what problems that may or may not solve. The "distribution protocol" is the means by which multiple Erlang nodes join together to form a cluster. When nodes are clustered, any process can send messages to processes on any other node, and spawn new processes on any other node. This forms the basis for distributed applications such as Mnesia, the database implementation that comes with Erlang/OTP, and RabbitMQ, the message broker.

Read more

Exploring with, the Elixir special form

2016-05-27 by Marcos Almonacid

Our colleague Marcos Almonacid from Inaka explored with, the new Elixir special form introduced in v1.2. A good tool to write simple code when it's used in the right situation.

Read more

Welcome to the third generation of Instant Messaging! Part 2/2

2016-04-20 by Nicolas Verite

This is the second and last part of the “Welcome to the third generation of Instant Messaging!”. This post identifies and discusses the third generation of IM, starting recently and continuing to present day. Let’s simply walk through some usages and user experiences, core concepts, underlying technologies and their social impact, as well as philosophies that have greatly evolved over time. This is a very simple and basic list of market observations and analysis.

Read more

Welcome to the third generation of Instant Messaging! Part 1/2

2016-04-14 by Nicolas Verite

Instant Messaging has come a long way from the moment IRC’s success paved the way for the development of online communication. This post identifies and discusses three generations of IM, starting in 1998 and continuing to present day. Let’s simply walk through some usages and user experiences, core concepts, underlying technologies and their social impact, as well as philosophies that have greatly evolved over time. This is a very simple and basic list of market observations and analysis.

Read more

Erlang Innovation Race: The Winners!

2016-04-12 by Andra Dinu

To honour the tradition of the Grand National, we organised our own Erlang Innovation Race: We picked some pretty cool Erlang companies and over the weekend we allowed everybody to push them ahead in the race with one click. See the companies and the results here.

Read more

Erlang 19.0 Garbage Collector

2016-04-07 by Lukas Larsson

This blog post describes the state of the Erlang garbage collector in Erlang/OTP 19.0. The things that will change in 19.0 are clearly marked in each of the sections. The Erlang/OTP master branch is a moving target and some of the things may have changed by the time 19.0 was released.

Read more

Keep in touch with Erlang & Elixir

2016-04-04 by Erlang Solutions

Every month we send around our monthly selection of Erlang and Elixir related news, blogs, case studies, videos and podcasts. Over 3000 people subscribed to receive it so far, and we hope you will join them. Read our last issue in this post.

Read more

Erlang gen_server Reloaded

2016-03-30 by Zsolt Laky

Writing gen_servers has become a routine. We have dozens of gen_servers in our applications, but when we get to a point of extending the server behaviour, we start scratching our heads. Which of our servers have the lowest response time? How long does it take for a request to be processed? Implementing these metrics may involve changing the code in all of our servers. With CSI, we can manage our servers' behaviour and metrics in one place.

Read more

Take Control of your RabbitMQ queues

2016-03-23 by Ayanda Dube

Queues are the most fundamental aspect of RabbitMQ. Previously, users didn’t have as much control over determining queue locations within a cluster. This blog will show you how to use a new feature and take control over distribution of queues. Erlang Solutions offers world-leading RabbitMQ consultancy, support & tuning solutions.

Read more

MongooseIM 1.6.2 is out. Time to upgrade!

2016-03-22 by Michal Piotrowski and Rafal Studnicki

We are pleased to announce the release of MongooseIM 1.6.2, the last release in the 1.6.x family.  We encourage everyone to upgrade.Find out more about our demo, load tests and all the significant changes. 1.6.2 is about "stability": finished Riak for all major modules, docker-based demo, load test, improved tests, new enhancements.

Read more

Improving Erlang Enterprise Tooling: An Open Source Initiative by bet365

2016-03-14 by Andra Dinu

Last week bet365 released the source code for implementing SOAP in Erlang and announced that they'll also release the code for improving ODBC stability and performance in the near future. Chandru Mullaparthi, Head of Software Architecture at bet365 gave us a short interview about the initiative and what it could mean for the Erlang community.

Read more

Docs in the Shell

2016-02-09 by Radek Szymczyszyn

Still can't write match specs from the top of your head? Forgetting again and again dbg flags or the syntax of recon trace patterns? Ever wished for access to documentation straight from erl the way it's possible in other languages like Python, Ruby or Elixir? Radek Szymczyszyn has felt this pain, and he tried to come up with a solution. World, meet docsh.

Read more

XMPP Summit 19 & FOSDEM 2016: our thoughts

2016-02-02 by Michal Piotrowski and Nicolas Vérité

Part of the MongooseIM team attended the XMPP Summit and FOSDEM last week. They put together a quick review of the most interesting things they saw and did at the two events.

Read more

How to analyse a BEAM core dump?

2016-01-26 by Rafal Studnicki

You have your Erlang system running for a long time now and all of a sudden the BEAM process disappears on one of the nodes. In the OS logs you can see that the process was killed because of a segmentation fault, but besides that you have nothing. Obviously, you hadn't been prepared for such a scenario and a core dump of the crashed process wasn't generated. Now, after waiting (too long) for the segmentation fault to occur again, you ended up with a precious file. But what's next?

Read more

MongooseIM 1.6.1 is released

2016-01-18 by Nicolas Vérité, Ludwik Bukowski, and Stefan Strigler

MongooseIM 1.6.1 starts the maintenance series with more Riak KV, more tests and more enhancements.

Read more

Secure Shell for Your Erlang Node

2016-01-14 by Marc Sugiyama

Say you want to connect to the shell of your Erlang node. It's easy. You connect a remote shell from another Erlang node - if you're on the same subnet - and know the cookie - and have Erlang installed. OK, maybe not that easy. How about connecting via ssh? You don't need to know the cookie, you don't need Erlang installed, and you can connect from anywhere. Here's how you add an ssh server to your Erlang node.

Read more

MongooseIM 1.6: Riak, DevOps love, and so much more!

2015-11-25 by Nicolas Vérité and Joseph Yasemides

MongooseIM is a massively scalable instant messaging platform, based on the XMPP protocol and written by us in Erlang. The new release includes Riak support, significant improvement to DevOps and ease-of-integration with existing infrastructures. Read all about it in the new blog post.

Read more

Thank you for your message

We sent you a confirmation email to let you know we received it. One of our colleagues will get in touch shortly.
Have a nice day!