Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The Age of Elixir

The Age of Elixir

Talk given at ElixirConfEU2017 (keynote).

The elixir of life is a mythical potion that supposedly grants the drinker eternal life and eternal youth. This elixir was said to cure all diseases. Alchemists in various ages and cultures sought the means of formulating the elixir. Today, thanks to José we can all use Elixir, and once you have tried, it's hard to stop. Why Elixir is so addictive? How is it transforming lives?

In this talk we will take a fun peek at the development of Elixir, and remind ourselves how it all started. We’ll join a whistle stop tour through the years from inception, learning how both the language and the community got to where we are today. We’ll take a closer look at some examples of how elixir has transformed the lives of those who have jumped in with both feet.

tetiana12345678

May 05, 2017
Tweet

More Decks by tetiana12345678

Other Decks in Programming

Transcript

  1. The Age of Elixir The Age of Elixir The Age

    of Elixir The Age of Elixir The Age of Elixir The Age of Elixir The Age of Elixir The Age of Elixir The Age of Elixir The Age of Elixir The Age of Elixir The Age of Elixir The Age of Elixir The Age of Elixir The Age of Elixir The Age of Elixir The Age of Elixir by Tanya and Keith by Tanya and Keith by Tanya and Keith by Tanya and Keith by Tanya and Keith by Tanya and Keith by Tanya and Keith by Tanya and Keith by Tanya and Keith by Tanya and Keith by Tanya and Keith by Tanya and Keith by Tanya and Keith by Tanya and Keith by Tanya and Keith by Tanya and Keith by Tanya and Keith
  2. boolean algebra boolean algebra boolean algebra boolean algebra boolean algebra

    boolean algebra boolean algebra boolean algebra boolean algebra boolean algebra boolean algebra boolean algebra boolean algebra boolean algebra boolean algebra boolean algebra boolean algebra
  3. Survey Survey Survey Survey Survey Survey Survey Survey Survey Survey

    Survey Survey Survey Survey Survey Survey Survey
  4. Life before Elixir ... Life before Elixir ... Life before

    Elixir ... Life before Elixir ... Life before Elixir ... Life before Elixir ... Life before Elixir ... Life before Elixir ... Life before Elixir ... Life before Elixir ... Life before Elixir ... Life before Elixir ... Life before Elixir ... Life before Elixir ... Life before Elixir ... Life before Elixir ... Life before Elixir ...
  5. Hazy. Wandering through a desert that had little promise of

    Oasis-a place of tranquility and full of opportunities to do many things at once-trying to find easier paths that would lead to it whilst trying to avoid jarringly visual monsters along the way. “ ”
  6. Meeting Elixir ... Meeting Elixir ... Meeting Elixir ... Meeting

    Elixir ... Meeting Elixir ... Meeting Elixir ... Meeting Elixir ... Meeting Elixir ... Meeting Elixir ... Meeting Elixir ... Meeting Elixir ... Meeting Elixir ... Meeting Elixir ... Meeting Elixir ... Meeting Elixir ... Meeting Elixir ... Meeting Elixir ...
  7. Everything seemed like a "very good idea". The main libraries

    (phoenix, plug, ecto and co) seemed to be really well thought. “ ”
  8. Elixir is great, the Beam is great, but without people

    like José the project doesn't work. “ ”
  9. One of the things that helps me to learn is

    teaching, so I started answering questions on StackOverflow and in IRC about Elixir and Phoenix. This is when I started to feel a part of the community. “ ”
  10. As I got going into Elixir I found that it

    brought more than syntax. It brought in tools and new features that really helped organize my code. “ ”
  11. Was blown away by a Ruby Rogues podcast episode that

    detailed the workings of OTP. “ ”
  12. I went all in. Even though I didn't know much

    about Elixir, or Erlang, I wanted to tell everyone I knew about it. My friends in the JavaScript community didn't seem to share my excitement, so I was time to make some new friends; this resulted in me forming an Elixir meet up in my local area. “
  13. Picked up the Dave Thomas book on the principal that

    if Prag Dave is excited about something then it's worth looking into. “ ”
  14. Was like entering Aladdin's Cave. The BEAM shine coming from

    the depth's of the cave was dazzling to the eye and provocative to the mind. “ ”
  15. Life with elixir ... Life with elixir ... Life with

    elixir ... Life with elixir ... Life with elixir ... Life with elixir ... Life with elixir ... Life with elixir ... Life with elixir ... Life with elixir ... Life with elixir ... Life with elixir ... Life with elixir ... Life with elixir ... Life with elixir ... Life with elixir ... Life with elixir ...
  16. I spoke at my first conference because of Elixir. I

    became the co-organizer of the Saint Louis Elixir group. “ ”
  17. Elixir is teaching me how to design robust systems that

    are capable of handling massive spikes and self-heal when needed. “ ”
  18. Progressing into Elixir taught me that part of solving a

    problem is choosing the right tool for the job. “ ”
  19. Where do you see Where do you see Where do

    you see Where do you see Where do you see Where do you see Where do you see Where do you see Where do you see Where do you see Where do you see Where do you see Where do you see Where do you see Where do you see Where do you see Where do you see this going in the this going in the this going in the this going in the this going in the this going in the this going in the this going in the this going in the this going in the this going in the this going in the this going in the this going in the this going in the this going in the this going in the future? future? future? future? future? future? future? future? future?
  20. If we keep a strong community of people who are

    willing to be kind all the time we will push this technology to new heights. “ ”
  21. In a few years, Elixir will be as ubiquitous as

    Ruby & Python are now “ ”
  22. I see elixir becoming more and more relevant and spreading

    to fields other than web development. “ ”
  23. Processes Processes Processes Processes Processes Processes Processes Processes Processes Processes

    Processes Processes Processes Processes Processes Processes Processes
  24. When we receive a When we receive a When we

    receive a When we receive a When we receive a When we receive a When we receive a When we receive a When we receive a When we receive a When we receive a When we receive a When we receive a When we receive a When we receive a When we receive a When we receive a message we can: message we can: message we can: message we can: message we can: message we can: message we can: message we can: message we can: message we can: message we can: message we can: message we can: message we can: message we can: message we can: message we can: Create more Actors Send messages to other Actors Change our internal state
  25. Let it crash! Let it crash! Let it crash! Let

    it crash! Let it crash! Let it crash! Let it crash! Let it crash! Let it crash! Let it crash! Let it crash! Let it crash! Let it crash! Let it crash! Let it crash! Let it crash! Let it crash!
  26. receive do {:feedback, msg} when is_positive(msg) -> IO.puts "Oh, thank

    you!" {:feedback, msg} -> msg |> constructive? |> helpful_for_future_improvements? |> act.() end
  27. receive :eat_vegetables do responses = ["I don't like vegetables", "What?

    Eat vegetables? Where is meat?", "No.", "smiley face with dull expression", "ha-ha. I eat vegetables... funny...", "What is vegetables?" ] Enum.random(responses) end
  28. P A S S IO N P A S S

    IO N P A S S IO N P A S S IO N P A S S IO N P A S S IO N P A S S IO N P A S S IO N P A S S IO N P A S S IO N P A S S IO N P A S S IO N P A S S IO N P A S S IO N P A S S IO N P A S S IO N P A S S IO N E N G A G E M E N T E N G A G E M E N T E N G A G E M E N T E N G A G E M E N T E N G A G E M E N T E N G A G E M E N T E N G A G E M E N T E N G A G E M E N T E N G A G E M E N T E N G A G E M E N T E N G A G E M E N T E N G A G E M E N T E N G A G E M E N T E N G A G E M E N T E N G A G E M E N T E N G A G E M E N T E N G A G E M E N T C O M M IT M E N T C O M M IT M E N T C O M M IT M E N T C O M M IT M E N T C O M M IT M E N T C O M M IT M E N T C O M M IT M E N T C O M M IT M E N T C O M M IT M E N T C O M M IT M E N T C O M M IT M E N T C O M M IT M E N T C O M M IT M E N T C O M M IT M E N T C O M M IT M E N T C O M M IT M E N T C O M M IT M E N T T R A N S F O R M A T IO N T R A N S F O R M A T IO N T R A N S F O R M A T IO T R A N S F O R M A T IO N T R A N S F O R M A T IO N T R A N S F O R M A T IO T R A N S F O R M A T IO N T R A N S F O R M A T IO T R A N S F O R M A T IO N
  29. I made up the term object-oriented, and I can tell

    you I did not have C++ in mind. I should have used a much more Process Oriented term for it “
  30. T H E S P A C E IN T

    H E S P A C E IN T H E S P A C E IN T H E S P A C E IN T H E S P A C E IN T H E S P A C E IN T H E S P A C E IN T H E S P A C E IN T H E S P A C E IN T H E S P A C E IN T H E S P A C E IN T H E S P A C E IN T H E S P A C E IN T H E S P A C E IN T H E S P A C E IN T H E S P A C E IN T H E S P A C E IN B E T W E E N B E T W E E N B E T W E E N B E T W E E N B E T W E E N B E T W E E N B E T W E E N B E T W E E N B E T W E E N
  31. - Alan Kay In the west, we're focused on the

    Noun ness of things, rather than the process of things. The Japanese have a more process oriented way of looking at how things relate to each other. “ ”
  32. The space in between contains a rich tapestry The space

    in between is filled with Information
  33. I think they’ve been looking in the wrong place -

    Joe Armstrong ErlangFactory SF 2013 “
  34. The messages in between. The conversations. Thats telling you how

    the things interact. Thats how you truly understand a complex system. “ ”
  35. Programmers Elixir Programmers Listen to a podcast Attend a meetup

    Attend a conference Read the docs Create a side project
  36. Elixir Programmers Elixir Contributors Start a meetup Create a library

    Write a book Run a workshop Give a talk Submit a PR Create a screencast Review a book
  37. ALL these arrows ALL these arrows ALL these arrows ALL

    these arrows ALL these arrows ALL these arrows ALL these arrows ALL these arrows ALL these arrows ALL these arrows ALL these arrows ALL these arrows ALL these arrows ALL these arrows ALL these arrows ALL these arrows ALL these arrows have 1 thing have 1 thing have 1 thing have 1 thing have 1 thing have 1 thing have 1 thing have 1 thing have 1 thing have 1 thing have 1 thing have 1 thing have 1 thing have 1 thing have 1 thing have 1 thing have 1 thing common common common common common common common common common
  38. They require you They require you They require you They

    require you They require you They require you They require you They require you They require you They require you They require you They require you They require you They require you They require you They require you They require you to say "Yes" to say "Yes" to say "Yes" to say "Yes" to say "Yes" to say "Yes" to say "Yes" to say "Yes" to say "Yes" to say "Yes" to say "Yes" to say "Yes" to say "Yes" to say "Yes" to say "Yes" to say "Yes" to say "Yes"
  39. But what about the But what about the But what

    about the But what about the But what about the But what about the But what about the But what about the But what about the But what about the But what about the But what about the But what about the But what about the But what about the But what about the But what about the Category Theory? Category Theory? Category Theory? Category Theory? Category Theory? Category Theory? Category Theory? Category Theory? Category Theory? Category Theory? Category Theory? Category Theory? Category Theory? Category Theory? Category Theory? Category Theory? Category Theory?
  40. Growth of Growth of Growth of Growth of Growth of

    Growth of Growth of Growth of Growth of Growth of Growth of Growth of Growth of Growth of Growth of Growth of Growth of meetups meetups meetups meetups meetups meetups meetups meetups meetups meetups meetups meetups meetups meetups meetups meetups meetups
  41. Call to Arms Call to Arms Call to Arms Call

    to Arms Call to Arms Call to Arms Call to Arms Call to Arms Call to Arms Call to Arms Call to Arms Call to Arms Call to Arms Call to Arms Call to Arms Call to Arms Call to Arms The power of Yes - use it! Transformations - the more you put in, the more you get out Community is the force Every process matters
  42. Thanks for Thanks for Thanks for Thanks for Thanks for

    Thanks for Thanks for Thanks for Thanks for Thanks for Thanks for Thanks for Thanks for Thanks for Thanks for Thanks for Thanks for Watching Watching Watching Watching Watching Watching Watching Watching Watching Watching Watching Watching Watching Watching Watching Watching Watching @ktec / @tetiana12345678
  43. like a plug? like a plug? like a plug? like

    a plug? like a plug? like a plug? like a plug? like a plug? like a plug? like a plug? like a plug? like a plug? like a plug? like a plug? like a plug? like a plug? like a plug? or an electrical socket?