• Telemetry & Scaling with the help of Elixir - Lessons Learned.

    Our next Elixir flavoured meetup is on 8th May! Our colleague and software engineer Arek will be flying over to London to share his Telemetry talk! And as Toyota Connected EU hosts, expect someone from their team to talk about their use of Elixir. Location: 14-18 Handyside Street Kings Cross N1C 4LW # Schedule 18:30 - Doors open + drinks 19:00 - Talk #1: Telemetry ...and metrics for all with Arkadiusz Gil 19:40 - Q&A 19:50 - Talk #2: TBC ******************** # Talk 1: 'Telemetry ...and metrics for all' In this talk, we'll look at Telemetry, a new project for metrics and monitoring in the Elixir ecosystem. Telemetry provides libraries for gathering monitoring data from libraries and applications. It's already integrated with Ecto and is coming soon to Phoenix. We'll go through the design and thought process behind it, discuss the rationale for the not-so-obvious decisions, and most importantly, see the bright future of using a unified monitoring solution throughout the community. Objectives This talk aims to introduce the audience to the Telemetry project and describe the ideas behind it. It will dispel any doubts about it and encourage the whole community to use it in their projects. Audience Engineers who care about monitoring their Elixir systems. However it is really everyone within the Elixir community. One of the goals of this talk is to encourage beginners and experts alike, to start caring about monitoring. Arkadiusz Gil Arkadiusz is a student and a software engineer at Erlang Solutions. He has a special interest in distributed systems, monitoring and software design. Recently, he has been working on the Telemetry project and writing a thesis on improving quality of service in distributed systems. Github: arkgil Twitter: @_arkgil ******************** #Talk 2: 'Solving a matching algorithm at scale with the help of Elixir - Lessons Learned' Even though Engineers get feed with problems on a daily basis, did you ever come across a problem where you thought, oh sh*** I have no idea how to solve it? This is what happened to Christian and his team recently and he would like to show his learnings and the creative way of solving a matching algorithm at scale with the help of Elixir. Christian Froh Christian has over 10 years’ worth of engineering experience working in Europe and San Francisco. In the last five years Chrsitian’s focus has been developing with Elixir, starting with his previous company in Germany, Wunder. Wunder was founded by an ex Director of Airbnb. Christian is now a Senior Software Engineer at Toyota Connected working on their mobility platform to improve how people move around the world. He's a damn good snowboarder too.

  • Immutability for Scale and Resilience - Erlang and Elixir's worst kept secret

    Howdy London BEAMERs, We are proud to announce that our next meetup is a collaboration with Toyota Connected! This will be held at their offices in Kings Cross, not our usual location: 14-18 Handyside Street Kings Cross N1C 4LW # Schedule 18:30 - Doors open + mingling 19:00 - Talk: Immutability for Scale and Resilience - Erlang and Elixir's worst kept secret with Francesco Cesarini 19:40 - Q&A # About Immutability for Scale and Resilience The functional paradigm has been influencing mainstream languages for decades, making developers more efficient whilst helping reduce maintenance costs. As we are faced with a programming model that needs to scale on multi-core architectures and distributed environments, concurrency becomes critical. In these concurrency models, immutability, a key feature of functional programming paradigm will become even more evident. To quote Simon Peyton Jones, future concurrent languages will be functional; they might not be called functional, but the features will be. In this talk, we explain why! Level: Beginner upwards #About Speaker Francesco Cesarini is the founder & technical director of Erlang Solutions. He started his career at Ericsson's computer science laboratory, moving on to Ericsson's consulting arm working on the first release of the OTP middleware, applying it to flagship telecom solutions. In 1999, he founded Erlang Solutions, where he worked on major Erlang based projects both within and outside Ericsson. He the co-author of Erlang Programming and Designing For Scalability with Erlang/OTP, both published by O'Reilly. He also teaches in the industrial master's programme at Oxford University. Website; https://www.erlang-solutions.com Twitter Handle; https://twitter.com/FrancescoC IMPORTANT NOTE: As mentioned, this meetup is at a different location to the usual Erlang Solutions HQ. We look forward to joining you at the Toyota Connected offices in Kings Cross!

  • Building Event Sourced Apps with the Event Sourcing Library 'commanded'

    Hi London BEAMERs, Happy New Year to you all! And welcome to our first talk of 2019... #Schedule 18:30 - Doors open + beer + pizza 19:00 - Introductions 19:15 - Building Event Sourced Apps Talk and Q&A 19:45 - Finish! 20:00 - Pub Ritual #About Talk Designing your software around a story! What is Event Sourcing? Instead of defining a global data model that fits all of your use cases think about the things your system does. Record the events that occur and then build multiple data models that fit your individual use cases. Sounds very abstract? In this talk, Leif will elaborate on some side projects including use cases with the hope to encourage you to switch to more event-centric thinking. #About Speaker Leif Gensert has been working as a contract developer for more than 10 years. In the last 3 years, he has mainly focused his efforts on Elixir. On the side, Leif has bootstrapped some small projects using Event Source technologies such as 'commanded' and is obsessed with edge cases. Website; https://leif.io/ Twitter Handle; https://twitter.com/leifg LinkedIn; https://www.linkedin.com/in/lgensert/ Do you have something to say about Event Sourcing? If you wish to do a lightning talk at this meetup or want to speak at any future meetups in 2019, do get in touch with us. We're always looking for juicy topics spanning across the BEAM.

  • Invariants Aren't Everything! Property-Based Testing (PBT) in practice...

    London BEAMERs... It's our last meetup of 2018! Come down to the Erlang Solutions offices for a final send-off and another great talk, this time with Joseph Yiasemides. If you wish to do a lightning talk at this meetup or want to speak at any future meetups in 2019, do get in touch with me. We're always looking for juicy topics spanning across the BEAM. Schedule: 18:30 - Doors open + beer + pizza 19:00 - Introductions 19:15 - Invariants Aren't Everything! 20:00 - Finish! 20:00 - ESL Pub Ritual #About the Talk "Invariants Aren't Everything!" is about stateless Property-Based Testing (PBT). A short introduction, followed by my favourite examples, and few words about PBT in practice. What is PBT? What do simple examples look like? How/when does it get tricky? PBT is compelling because it can offer more exhaustive testing and test-cases (or properties) are much more like a specification and documentation than traditional approaches. It's more fun than too! In this talk, we'll open with some rationale, followed by an introduction to Elixir's StreamData, some real-life case-studies, and conclude with how to approach PBT in practice. # About the Speaker Joseph writes Erlang, Elixir, & Go. He is an Engineer at Monzo where he writes Go after nearly four years of Erlang and Elixir. He has spoken about writing software in Erlang/Elixir and likes to teach (https://git.io/fxyW6). Joseph organises Elixir Kraków (https://www.meetup.com/Elixir-Krakow/) along with Erlang Solutions and co-organises a conference in Berlin (https://www.enthusiasticon.de/). In May 2017 he finished sabbatical leave at the Recurse Center (recurse.com). Find him at github.com/Dzol and a summary at http://resume.github.io/?Dzol # About the Company Monzo are building a new kind of bank. A bank that lives on your smartphone and built for the way you live today. By solving your problems, treating you fairly and being totally transparent, we believe we can make banking better. Since we started we’ve been busy building the best current account in the world. We now have more than one million customers using our debit cards to manage their money and spend around the world. https://monzo.com/

  • Extensible Elixir - How I learned to Stop Worrying and Follow the Protocol

    London BEAMERs, are you ready for your November meetup? We have a very special talk this month with Nested's Software Engineer Adam Lancaster. Schedule: 18:30 - Doors open + beer + pizza 19:00 - Introductions 19:15 - Extensible Elixir - How I learned to Stop Worrying and Follow the Protocol 20:00 - Finish! 20:00 - ESL Pub Ritual #About the Talk Elixir provides us with a really powerful way to achieve ad hoc polymorphism. In this talk, we will look at how this extensibility compares to what we might have in an OOP language, and what we can do with it. # About the Speaker Part-time property developer, full-time software developer, Adam got sick of sailing around the world on super yachts and decided to get a proper job. He has been using Elixir at work for a year now, and no one has told him to stop, which he takes as encouragement... # About the Company Nested is a tech-led estate agency that allows you to move on to your next house while we sell your old one for the best possible price. We happily use elixir for all our backend needs. https://nested.com/

  • Extending AWS with Erlang

    Erlang Solutions

    It's already time to reveal our next meetup for the chilly month of October! Schedule: 18:30 - Doors open + beer + pizza 19:00 - Introductions 19:15 - Extending AWS with Erlang - Torben Hoffmann 20:15 - Finish! 20:30 - ESL Pub Ritual --- #About The Talk Working with AWS can bring many benefits, but what do you do when you need something that AWS isn't offering? At Alert Logic we realised that most of our teams would be needing the same kind of not-provided-by-AWS functionality, so we decided to craft our own - for a lack of a better word - platform to solve the problem for all teams in one go. AWS Lambda is a wonderful model for doing functional programming in the cloud, but it has its limitations. Limitations that affect multiple teams at Alert Logic. This talk is about the specifics of the AWS Lambda shortcomings and how we have chosen to address them. Apart from looking at what we have done, this talk will also dwell upon how we have done it and what mistakes we have learnt from in the process. Plus, as always, a few rants about what not to do when using Erlang. --- #Our Speaker - Torben Hoffmann Like any engineer worth his salt, Torben enjoys solving problems, especially the ones that require Erlang. Previously, Torben worked for Basho, Erlang Solutions and Motorola. He has over 10 years experience working with Erlang and enjoys doing offensive programming... Torben is a distinguished speaker having spoken at various conferences: Erlang User Conference, Codemesh, BuildStuff, Lambda Days, Craft, NDC, QCon London, GOTO. #Our Speaker Specialises In... New technology introduction, protocols, software architecture & design, software development, Erlang architecture and implementation, property-based testing, people management, process improvement, CMM(I), Quality Assurance. We look forward to seeing you as always!

  • It's All About The Runtime!

    Erlang Solutions

    Welcome back to the London BEAM User Group! Schedule: 18:30 - Doors open + beer + pizza 19:00 - Introductions 19:15 - It's All About The Runtime! - Jeremey Barrett 20:15 - Finish! --- #About The Talk At any level of the software engineering and computer science community, we spend a lot of time and effort debating and designing syntax, language features, and tools; most of which do more to solve the problem of typing than the problem of programming. If we intend to get better as an industry at building robust, reliable abstractions, we need to focus on the aspects of the runtime that make it possible to do so. I want to describe how and why I use Erlang, what I've done with it, and why it matters to the way that we, both inside and outside the Erlang community, approach the building of complex and distributed systems. I believe in simplicity as a practical requirement to achieve robustness and scale and as such I’m a believer in functional programming wherever possible (which is not always). I’m a big believer in Erlang and OTP (Alert Logic is mostly an Erlang shop) and particularly in the BEAM as a runtime platform, though I’ve written code in almost everything. --- #Our Speaker - Jeremey Barrett Jeremey is a distinguished Engineer at Alert Logic (security detection and exposure assessment) architecting many aspects of their SaaS platform in AWS and growing a corpus of distributed systems knowledge and experience gleaned from many years of inventing and failing and inventing again. He has done a lot of work on robust and scalable distributed systems, microservices, and graph databases, among the litany of smaller problems and domains one encounters across 25 years programming software on the Internet. #Our Speaker Says... "I'm proudest of two things: first, the service discovery layer I built for doing API routing, work distribution, and membership agreement; second, the real-time distributed graph database built in part using the aforementioned layer plus a NIF-based digraph replacement and some other magic goodies."

  • Legacy app integration with RabbitMQ: the generational communication divide

    Welcome back to the London BEAM User Group! Schedule: 18:30 - Doors open + beer + pizza 19:00 - Introductions 19:10 - Legacy application integration with RabbitMQ - bridging the generational communication divide - Brett Cameron 20:00 - Break + more pizza 20:10 - A Dive into RabbitMQ WAN clustering --- # Legacy application integration with RabbitMQ - bridging the generational communication divide One of the original motivations for the Advanced Message Queuing Protocol (AMQP) was the so-called middleware hell that had plagued organisations for decades due to the lack of appropriate open standards and the existence of various proprietary and expensive message queuing products that did not interoperate, resulting in impedance mismatches and necessitating the development of custom adapters and gateways that were costly to implement and difficult to maintain. However, while AMQP was originally conceived to help solve this existing problem, the protocol and products such as RabbitMQ that evolved from it have been largely applied to the solution of new problems and to the development of new types of applications. This then raises the question as to whether RabbitMQ is equally applicable to the solution of traditional integration problems involving legacy software as it is to these newer problems. In this talk, Brett Cameron will consider this question. A brief history of AMQP and RabbitMQ will be presented and the viability and benefits of replacing proprietary message queuing solutions with RabbitMQ will be considered. Technical and non-technical challenges associated with such modernization initiatives will be discussed and possible solutions to some of these problems will be presented. ## Speaker: Brett Cameron, Director of Applications and Open Source Services at VMS Software Inc. Brett works as Director of Applications and Open Source Services at VMS Software Inc., helping to define and implement the company’s Open Source strategy for the OpenVMS operating system. Before joining VMS Software Brett worked as a senior architect with HP’s Cloud and Enterprise Services groups. Brett is a Kiwi living in Sweden, and is an avid guitar player. --- ## A Dive into RabbitMQ WAN clustering Standard RabbitMQ clustering is best suited for LAN/geographically colocated nodes. To meet WAN clustering needs, RabbitMQ provides a set of plugins tailored for such use-cases. In this presentation, I discuss how such clustering needs across WAN deployments are met, and give an overview of their internal implementation, and operation. ## Speaker: Ayanda Dube, Erlang Solutions Senior Engineer at Erlang Solutions, focused mainly on RabbitMQ related Erlang/Elixir development and systems support.

  • Toyota Connected on GIS in Elixir; Raxx - refined web development

    Howdy BEAMers! Join us and Toyota Connected at the next London BEAM User Group for a meetup focused on innovation in the Elixir community! Schedule 18:30 - Doors open - drinks + networking 19:00 - Welcome and introductions 19:10 - Powell Kinney talk + Q&A - GIS in Elixir 19:50 - Break for Pizza 20:05 - Peter Saxton talk + Q&A - Raxx - refined web development 20:45 - Thank yous and goodbyes --- GIS IN ELIXIR by Powell Kinney, Toyota Connected Elixir is known for being great at a lot of things, but computational geometry is not what most folks would count among them. Built on Elixir, Toyota Connected’s Mobility Services Platform (MSPF) is the global platform for supporting Toyota’s mobility programs around the world, and there’s a lot of geospatial work to be done to support car-sharing, ride-sharing, and fleet management applications. We’ll present some of the ways that we’ve found Elixir’s pattern matching and internal state management make it more suitable than you might think for GIS applications. Powell Kinney Powell Kinney began his career as a software developer in geospatial systems and autonomous vehicles. After a hiatus to earn his MD and complete a surgery internship, he has spent the last several years architecting and building various web-scale platforms in the IoT space. Prior to joining Toyota Connected, he was the CTO of Vinli, a connected car startup in Dallas, and served as an editor on the W3C Automotive Working Group. The Mobility Services Platform team, which Powell leads at Toyota Connected, is tasked with building the global platform for Toyota's mobility initiatives including car-sharing, ride-sharing, fleet management and more. Toyota Connected https://toyotaconnected.eu/ --- RAXX - REFINED WEB DEVELOPMENT by Peter Saxton, Pay with Curl Raxx can be used to build web applications much like Plug. However that is where the similarities end. Raxx aims to simplify web applications by promoting simple concepts like functional purity and message passing. Peter Saxton Peter is a regular participant in hacknights and meet-ups in London and always enjoys learning something new. Now a full-time Elixir developer, Peter uses Elixir everyday. Peter is currently interested in the topic of causality and consistency and looking into how these concepts can be part of our languages.

  • FEZ - fsharp type safety for the BEAM

    Erlang Solutions

    Talk Title: FEZ - fsharp type safety for the BEAM Speaker: Karl Nilsson - Pivotal Fez is an F# to core erlang compiler enabling users to compile F# code and run it on the Erlang runtime. It works by generating core erlang from F# code which then can be compiled to Erlang bytecode. The aim is to bring a mature type-safe language to the BEAM. As someone who regularly has to refactor Erlang code - Karl misses his static types! Karl's Talk will cover the following points: - Introduce fez/motivation - Brief demo/getting started - What is core erlang? - Design / Internals - Challenges / Tradeoffs - The future --- Second talk TBC