From Noob to Contributing Noob

From Noob to Contributing Noob

my talk at ElixirConf 2019 (Prague)

5cbc409f0a53f2ece26de41651799ae0?s=128

Daniel Serrano

November 22, 2018
Tweet

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