<

Martin Gausby

Creator of Tortoise, Elixir lead at Erlang Solutions

Martin is a long time Elixir developer with a keen interest in implementing network protocols. For the last couple of years he has been working with Erlang and Elixir systems for a living, and during that time spent way too much time tinkering with his Emacs configuration. Besides that he has a horrible taste in music, enjoys coffee, mechanical keyboards, and is a friend of the podcast.

Upcoming conferences:

Martin Gausby
Code BEAM STO 2019
Workshop/ 20 May 2019
09.00 - 17.00

SCALING ELIXIR AND PHOENIX: To millions before breakfast

OBJECTIVES

  • How to organise, grow and maintain an application with multiple responsibilities
  • How to test and statically check an application to minimise integration issues
  • How to integrate resilience patterns to provide partial availability despite outages

 

PREREQUISITES

Prior experience with Elixir and Phoenix (3 to 6 months), familiarity with building web services helpful (i.e. REST interfaces).

 

TARGET AUDIENCE

Software Developers and Engineers, with a focus on providing web-based services

COURSE OUTLINE

Students will go through the analysis and refactor of an existing codebase to improve decoupling, isolation, testability and resilience.

The course will cover the following topics:

  • Approaching an existing codebase (code structure, OTP structure)
  • Basic resilience testing
  • Extracting commands for reusability
  • Type specifications and domain borders
  • Extraction to umbrella layout
  • Effective unit and integration testing
  • Client/Server patterns via adapter
  • OTP and circuit breakers to guarantee availability
Martin Gausby
Code Elixir LDN 2019
16 Jul 2019
09.00 - 17.00

OTP behaviours behind the scenes for Phoenix users

So you've built and deployed a Phoenix application backed by Ecto and Postgres, and come to the conclusion that you love it.

If you are looking at progressing to the next level, this hands on training will help you get to the next level. In it, we will focus on building applications using OTP behaviours and architecture guidelines. Learn about the battle-tested abstractions needed to build back-end, fault tolerant systems that will run for years and scale to billions of users.

Topics included:

  • Life before OTP
  • OTP architecture
  • Behaviours
  • Supervision
  • GenServer
  • GenStateMachine
  • Other behaviours (GenStage, GenFlow, Event Handlers, etc)
  • Optimizing for performance
  • ETS (a Redis in your beam)
  • Load regulation and back-pressure (fuse, safety valve)

 

OBJECTIVES
When you've completed this class, you'll have a deeper understanding of how to architect back-end systems and micro-services that you can access and use from Phoenix. Learn why we need behaviours such as Generic Servers, Generic Finite State Machines and others, when to use them, and how to integrate them into supervision trees.

REQUIREMENTS
This is an intermediate level class scheduled to get you up and running with OTP. You should have basic knowledge of Elixir, and whilst not necessary, it would be useful if you have developed a Phoenix application.

EXPECTATIONS
We'll have plenty of time to work on labs along the way as you hone your skills and put the theory into practice. About half of the class is either lab work or coding side-by-side with your instructor.

Martin Gausby
Code BEAM STO 2019
Training/ 13 May 2019
09.00 - 17.00

ELIXIR BOOTCAMP: from apprentice to alchemist

OBJECTIVES

  • Basic/Sequential/Concurrent Elixir
  • Parallel programming
  • Building, Documenting and Testing Systems using Mix

 

PREREQUISITES

  • Good programming skills in another language such as Java, Perl, Python, node.js, or Ruby
  • Familiarity with server-side software development helpful

 

TARGET AUDIENCE

Software Developers and Engineers without prior experience in Elixir/Erlang/LFE.

COURSE OUTLINE

Students will start by learning the basics of the Elixir language. Following that, the course turns to concurrency and students will learn the details of writing parallel and concurrent Elixir applications and the underlying concurrency capabilities provided by BEAM (the Erlang virtual machine).

The course contains the following topics:

  • Background Erlang/Elixir
  • Elixir Shell
  • Sequential Elixir
  • Concurrent Elixir
  • Basic Mix
  • Process Design Patterns
  • Process Error Handling
  • System introspection
  • Funs and High-order functions
  • Data structures (Maps, Structs, Binaries, Protocols)
  • List comprehensions
  • Language features 
  • Erlang Term Storage (ETS)
  • Distributed programming

Media

Articles: 1

What are Elixir's trending themes for 2019? ElixirConf EU

Article by Martin Gausby

ElixirConf EU conference is the European hub for the Elixir community, their 27 talks and are carefully picked each year. As a result, the themes of the conference are a good guide in finding out what is trending in 2019. Our Elixir expert has considered all the talks that will take place between 8–9 April, and found 6 main themes this year.

READ MORE