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

axelson
ElixirConf 2017 - Keep an Eye on the Sky with Nerves and Phoenix - @electricshaman As part of the next gener...
New
CodeSync
Hologram Building Rich UIs with Elixir Running in the Browser - Bart Blast | ElixirConf EU 2025 Comments welcome! View th...
New
axelson
ElixirConf 2017 - Its Better Unstated - @tjstankus This is a story about transitioning an obsession with obj...
New
axelson
ElixirConf 2017 - Cajoling the Bird: How we squeezed more out of Phoenix PubSub- Simon Zelazny Grindr is a m...
New
TwistingTwists
I am in middle of watching this. I have to stop every minute and think over what Chris just said. The amount of info he sends over that ...
New
ElixirConf
ElixirConf: ElixirConf 2023 - Charlie Holtz - Building AI Apps with Elixir Comments welcome! View the <span class="hashtag-icon-placehol...
New
lawik
A single packet to begin. The 1st of Goatcember. Marc Laines - A Nerves Car Also on YouTube.
New
blatyo
Looks like videos have started to go up for ElixirConf US 2018. Here’s the playlist of ones available so far. I expect it’ll get updated ...
New
Lawrence_elixir
ElixirConf EU 2019 talk videos ElixirConf EU 2020 - Early bird tickets on sale now! Website: http://www.elixirconf.eu Twitter: www.t...
New
axelson
by @jola Can you write a performant string processing scripts in Elixir? This talk attempts to answer that question while incrementally...
New

Other popular topics Top

sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
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
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
New
fayddelight
I tried installing elixir 1.11.2 erlang 23.3.4 via asdf in my zsh shell. Enabled the versions locally and globally. When I list them ...
New
dblack
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar. I p...
New
PeterCarter
There are pre-rolled solutions for other frameworks that do work. However, Phoenix does not seem to have these. Have people had good expe...
New
lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New

Latest on Elixir Forum

Elixir Forum

We're in Beta

About us Mission Statement