Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Old Company - New Technology, Elixir @ the MBTA

89 views

Published on

Gene Shkolnik

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Old Company - New Technology, Elixir @ the MBTA

  1. 1. Old Company - New Technology Using Elixir at the MBTA
  2. 2. MBTA Customer Technology “Improving Rider Experience through Technology”
  3. 3. MBTA Customer Technology ● Fare Collection System (AFC 2.0)
  4. 4. MBTA Customer Technology ● mbta.com ● API V3 ● T-Alerts
  5. 5. MBTA Customer Technology ● Countdown signs ● Digital displays ● e-ink
  6. 6. MBTA Customer Technology ● Green Line Dispatch
  7. 7. MBTA Customer Technology “Startup” within a large government agency
  8. 8. Choosing Development Platform ● Looked at: single-page app on React, Ruby, Python, Node, Java
  9. 9. Choosing Development Platform ● Our choice: elixir and Phoenix
  10. 10. ● Functional
  11. 11. ● Functional ● Fast
  12. 12. ● Functional ● Fast ● Concurrent
  13. 13. ● Functional ● Fast ● Concurrent ● Fault-tolerant
  14. 14. ● Large development community ● Time-tested platform ● Mnesia database ● Phoenix channels
  15. 15. ● Pipelines
  16. 16. Alerts.all |> filter_by_date(Timex.today) |> filter_by_route("Red") |> filter_by_stop("Porter Square")
  17. 17. ● Pattern matching
  18. 18. def full_name(:subway, name), do: "#{name} Line" def full_name(:bus, name), do: "Route #{name}" "Red Line" = full_name(:subway, “Red”) "Route 5" = full_name(:bus, 5) full_name(:rocketship, “Orion”) (raises exception)
  19. 19. ● Hiring
  20. 20. THE END

×