Codemash 2018 – Everyday Elixir

Presenter: Joel Byler

  • Works at CoverMyMeds
    • Helping patients get medication they need to live
    • Work mostly in Ruby, some Elixir
    • And they’re hiring
  • Why learn a new language?
    • The Pragmatic Programmer – Andrew Hunt and David Thomas
      • Invest regularly in your knowledge portfolio
        • They make an analogy to your financial portfolio
          • Diversify, and have tools so can sell those skills when they are expensive
    • Practice learning
      • The more you practice learning, the better you are at it
    • Look at problems from a different perspective
    • Maybe opens up new doors, work in different field if have the chops
  • Elixir
    • The basics
      • pipe operator
        • |>
        • takes the results of a function and lets you pass that as the argument to another function
        • Elixir is functional language so passes functions around a lot
        • function() |> function2 |> function3
          • same as function3(function2(function()))
      • Pattern matching is big
        • in case statements and control statements, pattern matching is used
      • Configuration friendly to dependency injection
      • = operator is the ‘match’ operator in elixir, not assignment
  • Example applications he built to learn Elixir
    • Elixir script to automate opening tabs in chrome
      • Call ‘open’ system command on mac.
    • Elixir script to screen scrape
    • A lot of built in support in Elixir
      • System libraries
      • Help structuring
    • Elixir script to search codemash topics
      • Command line
        • escript makes CLI app
    • Elixir app to track attendance at church
      • Custom web app to track attendance
        • built app in Phoenix
          • mvc framework for rails, elixir
      • Deployed to heroku, a cloud platform
    • Elixir app for point voting in an Agile process
    • Elixir app for a time-lapse camera on rasberry pi controller with a camera
      • Built on a platform called ‘nerves’

Leave a Reply

Your email address will not be published. Required fields are marked *