axelson

axelson

Scenic Core Team

13) ElixirConf US 2018 – We're Just Getting Started - Our Three Years with Elixir – Maciej Kaszubowski

ElixirConf US 2018 – We’re Just Getting Started - Our Three Years with Elixir – Maciej Kaszubowski (@mkaszubowski)

The story begins on August 12th, 2015, not even one year after the Elixir 1.0 release. Phoenix is on version 0.16.1, Ecto callbacks haven’t been deprecated yet. My current boss pushes our first Elixir commit to Gitlab.

ElixirConf is happening on September 4th, 2018. Three years and 60 thousand lines of code later, the project is still alive, serving one million registered users. We’re now on Elixir 1.6 and Phoenix 1.3. Ecto callbacks are long gone and only few of us can remember them.

A lot has changed. We’ve made a lot of mistakes. This is a success story, though. Running the same project for such a long time gave us a unique opportunity to observe how the language changed and became really mature. This talk will try to share some of the lessons learned during this time and insights on how changes in the ecosystem affected our codebase.

Audience: Beginner, Intermediate
Topics: production

All talks are available in the ElixirConf US 2018 Talks List or via the elixirconf2018 tag

Most Liked

AstonJ

AstonJ

Great talk Maciej! I was really interested in hearing how Elixir’s changed from someone who has been using it in production for several years. This was my favourite slide from this talk:

x1000000000000!

I never really felt like a Rails developer while using Rails, but more like a Rails user. Coming over to Elixir you start to learn about how you might want to architect your app with processes, supervisors, whether to persist data, state etc. It’s completely changed the way I think about building apps - before I would plan an app based on models and their r/ships, now, I’m thinking about processes, state, and everything else we’re exposed to thanks to Elixir and Erlang.

mkaszubowski

mkaszubowski

Thank you, I’m glad you feel the same way :slight_smile: This was actually the turning point for me when preparing this talk, when I realised that most of the problems we’ve been solving for the past three years are not elixir problems, but problems related to our domain or computer science in general.

This is really liberating when compared with other technologies, because I’m not longer thinking How should I do X in Elixir?, but rather How should I do X?. This means that I’m able to explore possible solutions across different languages and paradigms and I’m not constraint by any one tool.

I’m really happy that I see this trend across the entire community. A lot of people are exploring different technologies and ideas. Type systems, property based testing, Domain Driven Design, distributed systems are only a few examples of things that are extremely valuable (even if not used in day-to-day work), and none of them is really tied with Elixir/Erlang.

Where Next?

Popular in Talks Top

derpycoder
QUIC protocol support coming to BEAM. As of now, I am using Caddy in front of Phoenix server to experience H...
New
axelson
ElixirConf 2017 - HTTP 2 Plug to Phoenix Cowboy too - @Gazler In this talk, we will look at the changes in C...
New
axelson
ElixirConf US 2018 – Meet Virtuoso: The Chatbot Orchestration Framework Built with Elixir – Justus Eapen (@justuseapen) ...
New
axelson
ElixirConf 2017 - The Power of Zero - Andrew Forward Automation is hard, but the benefits can be phenomenal....
New
New
axelson
Posting a little bit late today but here you go: ElixirConf 2017 - Elixir + Neo4j - Regina Imhoff Neo4j is ...
New
axelson
by @zacky1972 Finally, we’ve succeeded in the implementation of Hastega!!! (Maybe until ElixirConf US 2019 :slight_smile: Hastega (Hyp...
New
axelson
ElixirConf 2017 - Managing Tables With Elixir and OTP - Robert Beene We’ve all waited for a table at a resta...
New
axelson
ElixirConf 2017 - Closing Keynote - @chrismccord All talks are available in the Elixir Conf 2017 Talks List o...
New
axelson
ElixirConf US 2018 – Closing Keynote – Chris McCord (@chrismccord) All talks thread:
New

Other popular topics Top

malloryerik
Hi, this is for people who, like me, have had some friction using .html.heex templates in VSCode. The solution seems to be, in a hyphena...
New
siddhant3030
Hi, I have to write a raw query for one of my project. But till now I have used ecto queries and don’t have much experience writing raw ...
New
shahryarjb
Hello, I have map which I want to convert it to string like this: the map: %{last_name: "tavakkoli", name: "shahryar"} the string I ne...
New
chrismccord
Phoenix 1.4.0 released Phoenix 1.4 is out! This release ships with exciting new features, most notably with HTTP2 support, improved deve...
688 31013 112
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
komlanvi
Hi everyone, I was playing with phoenix liveView but I run into an issue. I have a form and want to validate each input text when the te...
New
axelson
This post is a wiki (feel free to hit the edit button near the bottom right of this post to add your own changes!) This post collects co...
239 48342 226
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
jaysoifer
Is there a way to rollback a specific migration and only that one (“skipping” all the other ones)? Would mix ecto.rollback -v 200809061...
New

Latest on Elixir Forum

Elixir Forum

We're in Beta

About us Mission Statement