$30 off During Our Annual Pro Sale. View details »

From Noob to Contributing Noob

From Noob to Contributing Noob

my talk at ElixirConf 2019 (Prague)

Daniel Serrano

November 22, 2018
Tweet

More Decks by Daniel Serrano

Other Decks in Programming

Transcript

  1. From Noob to Contributing Noob Lisbon |> Elixir

  2. $> whoami Lisbon |> Elixir Daniel Serrano Software Engineer Biometrics

    Team @ @dnlserrano
  3. Outline Lisbon |> Elixir • a bit about my early

    days with Elixir • how I went from not knowing the language to contributing to OSS projects • httpoison • spandex • elixir-thrift • the community behind Elixir
  4. Early days Lisbon |> Elixir

  5. Beginning Lisbon |> Elixir Nizar Venturini @trenpixster

  6. Later on… Lisbon |> Elixir Paulo Pereira @odesassossegado

  7. Later on… Lisbon |> Elixir Paulo Pereira @odesassossegado

  8. Later on… Lisbon |> Elixir Paulo Pereira @odesassossegado

  9. Onfido a Lisbon |> Elixir • using it to run

    a research pipeline made up of a sequence of Python executables in a fault-tolerant way • very hacky • 1st pull-request in Elixir during hackathon • lots of in-house knowledge that has been building up and more…
  10. In the Biometrics Team a Lisbon |> Elixir

  11. Motus Lisbon |> Elixir • poolboy • worker pools •

    fuse • circuit breaking • ex_statsd • metrics • mox • mocks for testing • httpoison • http • spandex • tracing microservices aggregator
  12. Boxxie Python microservice Content-Type: multipart/mixed;boundary=firstboundary123 --firstboundary123 Content-Type: application/json {“metadata”: …}

    --firstboundary123 Content-Type: image/png [binary] --firstboundary123 Content-Type: application/json {“metadata”: …} --firstboundary123 Content-Type: image/png [binary] --firstboundary123-- multipart response request Lisbon |> Elixir
  13. Lisbon |> Elixir

  14. httpoison • did not support multipart out-of-the-box • depends on

    hackney Lisbon |> Elixir
  15. Lisbon |> Elixir

  16. Lisbon |> Elixir

  17. Lisbon |> Elixir

  18. Lisbon |> Elixir :hackney_multipart.decode_form/2

  19. Lisbon |> Elixir

  20. before after Lisbon |> Elixir

  21. Lisbon |> Elixir

  22. commit message Lisbon |> Elixir

  23. hexdocs Lisbon |> Elixir

  24. README Lisbon |> Elixir

  25. httpoison contribution done ✔ Lisbon |> Elixir

  26. Distributed Tracing Lisbon |> Elixir

  27. spandex Lisbon |> Elixir

  28. spandex upgrade news Lisbon |> Elixir

  29. spandex v2.4.0 re-implement function decorators in our project Lisbon |>

    Elixir
  30. spandex v2.4.0 “How would you feel about bringing back function

    decorators?” Lisbon |> Elixir
  31. spandex v2.4.0 Lisbon |> Elixir

  32. spandex v2.4.0 Lisbon |> Elixir

  33. spandex v2.4.0 • recognition for your work • gives you

    a sense of accomplishment • fosters deeper, broader knowledge • strengthens the community Lisbon |> Elixir
  34. spandex contribution done ✔ Lisbon |> Elixir

  35. • Uber’s open-source distributed tracing platform • uses Thrift as

    the underlying communication protocol Lisbon |> Elixir
  36. service struct Thrift IDL Lisbon |> Elixir

  37. elixir-thrift Lisbon |> Elixir

  38. elixir-thrift Lisbon |> Elixir

  39. elixir-thrift contribution done ✔ Lisbon |> Elixir

  40. Community

  41. MINASWAN “Matz is nice and so we are nice” Yukihiro

    Matsumoto Lisbon |> Elixir
  42. JINASWAN José Valim “José is nice and so we are

    nice” Lisbon |> Elixir
  43. Get Involved • follow Elixir community members on Twitter •

    watch elixirforum.com • sign up for the Plataformatec newsletter on Elixir • listen to podcasts • read (and write) blog posts • present talks at the Lisbon |> Elixir meetup Lisbon |> Elixir
  44. Thank you questions? Lisbon |> Elixir