Manuel Rubio
Polyglot Developer, Writer, Manager and Trainer
Manuel is a developer since he was 12 years old (30 years ago) and he started with Basic, like others, but later also with Modula-2, Pascal, C, Assembler and these before 20 years old. In his professional career, he used Perl, PHP, Python, Ruby, Java, JavaScript, and last 14 years he was more on Erlang and 8 years ago he started with Elixir and Go. He can be considered a polyglot programmer and he loves to teach and mentor others.
He is also a fan of creating crazy projects like myproto, ephp or skirnir and helping with others like lambdapad.
Past Activities
Code BEAM STO 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
Code BEAM SF
09.00 - 17.00
OTP behaviours: Behind the scenes
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.
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.
PREREQUISITES
You should have basic knowledge of Elixir, and whilst not necessary, it would be useful if you have developed a Phoenix application.
TARGET AUDIENCE
This is an intermediate level class scheduled to get you up and running with OTP.
COURSE OUTLINE
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)
Code BEAM Europe 2022
12.15 - 12.40
Lambdapad, Static Websites with Elixir (or Erlang)
Lambdapad was an effort performed by Garreth Smith to provide to the BEAM community (and Erlang mainly) a way to create a static site generator like Jekyll or Octopus from Ruby. Last year I take the code and using the "power of meta-programming" I performed my own vision about it and created a way to perform websites in an easier way, indeed, I'm using it for my blog (+300 posts) and different websites successfully.
OBJECTIVES
Introduce Lambdapad to the community and reach people who want to be involved in the project or support it.
AUDIENCE
People who want to create/maintain a website like a blog, landing page or similar.
Code BEAM America 2021
10.00 - 10.40
Panel discussion on Beamer's modern life ó La vida moderna de un Beamer
This session will host an all spanish-speaking panel to talk about the BEAM; how the platform is currently used and what the future holds for anyone invested in it. Note that this panel will be delivered 98% in spanish.
Esta sesión tendrá como invitados a destacados miembros de la comunidad hispanohablante para discutir sobre BEAM; cómo es que aprovechamos la plataforma al día de hoy y qué es lo que el futuro aguarda para todos los interesados en ella. Manejaremos español durante gran parte de la sesión para la comunidad.
Code BEAM STO V
14.20 - 15.00
Programming Languages on top of the BEAM
Talk about the implementation of languages on top of BEAM which have not the same semantics as Erlang so, it is not going to be a talk about languages like LFE or Elixir but also others like Lua or PHP which are implemented in an interpreted way. The talk is going to review the issues that can occur, solutions to them and also give some examples about how in the end they can be done.
Code BEAM SF
10.40 - 11.25
PHP over Erlang: how and why?
Manuel started to develop this crazy idea back in 2013 when he was playing with PEG and Neotoma to parse another crazy idea to build a MySQL server simulator to access to Erlang and gather information (myproto). After the first try, Manuel realised that he can perform something, which with PHP could be impossible to do, like better resources control, real-time coverage or even use websockets. In 2016 Bragful project was created.
OBJECTIVES
Give the whole vision about what is Bragful and ephp and why it was created.
How to integrate into your projects in the way you can embed PHP code and what's next.
TARGET AUDIENCE
Developers, integrators, investors?
Code BEAM STO 2019
13.50 - 14.35
PHP over Erlang: how and why?
Manuel started to develop this crazy idea back in 2013 when he was playing with PEG and Neotoma to parse another crazy idea to build a MySQL server simulator to access to Erlang and gather information (myproto). After the first try, Manuel realised that he can perform something, which with PHP could be impossible to do, like better resources control, real-time coverage or even use websockets. In 2016 Bragful project was created.
OBJECTIVES
Give the whole vision about what is Bragful and ephp and why it was created.
How to integrate into your projects in the way you can embed PHP code and what's next.
TARGET AUDIENCE
Developers, integrators, investors?