Recap: March 7, 2017 Meetup

Thanks, everyone who joined us for Tuesday’s game-themed Indy Elixir! If you missed it, you can find recordings of past talks on our Youtube channel, youtube.com/indyelixirorg.

Thanks as always to our awesome sponsors who made tonight possible. And congrats to Chris and Brian, winners of Manning Publications’ excellent books Elixir In Action and The Little Elixir and OTP Guidebook.

The Talks

Lucas Falk started things off by demoing and walking us through a websocket-based app he built for agile planning poker. Using Phoenix channels for communication and a GenServer to hold game state, the app also has a great test suite and illustrates how to test these components of a real-time system.

You can check it out on Github: github.com/LRFalk01/pokerboy

Ryder Timberlake shared his work on an Elixir port of “Give Me Your Lunch Money,” an interactive fiction adventure game originally built with the Adrift toolkit and for which he composed the soundtrack. He covered loading static data into Elixir from YAML and handling user input from a game command prompt. Ryder fielded questions but also came with some of his own—including why you would build this in Elixir in the first place—leading to some great discussion.

Find the code on Github: github.com/SherSpock/GMYLM-Elixir

Following the new bi-monthly schedule, our next event will be on May 2, 2017! We’re looking for speakers—please let me know if you’re interested!

Recap: January 3, 2017 Meetup

Thanks, all who rocked out at our first meetup of 2017! Member David Jones recorded tonight’s talk: look for it soon on our Youtube channel, youtube.com/indyelixirorg.

Thanks as always to our awesome sponsors who made tonight possible. And congrats to Dave and Meining, winners of Manning’s Elixir In Action and The Little Elixir and OTP Guidebook, respectively.

The Talk

Steve Grossi walked through some experiments with making music in Elixir: github.com/stevegrossi/sweet_beats. We covered:

  • Communicating with the SoX audio library from Elixir
  • Using supervised processes to play audio simultaneously
  • Relying on Elixir 1.4’s upcoming Registry module as a metronome to send messages to groups of processes
  • Building a self-correcting timing mechanism when process messages arrive later than expected

Look for a recording of the talk to be posted here once it’s ready.

Then we ended the evening with an hour of musical hacking and discussion. Some highlights:

  • Ben Falk pointed out that appending items to the end of a linked list is relatively slow on the BEAM, and suggested using a queue instead, for which he’d written a library. Check out the pull request!
  • I learned the difference between performing GenServer setup in start_link vs. init. start_link happens in the originating process, while init happens in the GenServer process. So perform any memory-intensive setup in start_link to keep the GenServer’s own memory footprint small.
  • Lucas Falk suggested using guard clauses to ensure we actually get lists when we’re expecting them. Always a good practice!

Please note that we’re switching to a bi-monthly schedule, so our next event will be on March 7, 2017! We’re looking for speakers—please let me know if you’re interested!

Recap: December 6, 2016 Meetup

Thanks to everyone who joined us for our last in-person meetup of 2016. Once again, David Jones kindly recorded tonight’s talk: you can find it on our Youtube channel, youtube.com/indyelixirorg.

A big thanks to our sponsors:

Talks

Steve Grossi gave an introduction to processes and supervision in Elixir, introducing GenServer and using OTP to build a simple reminders application.

Then we ended the evening with an hour of hacking and discussion about GenServers and all things Elixir.

Hope to see you in the new year on January 3, 2017! We’re looking for speakers—please let me know if you’re interested!

Recap: November 1, 2016 Meetup

Thanks to everyone who joined us for our third in-person meetup. Thanks again to David Jones for recording the talks: find recordings below and on our Youtube channel, youtube.com/indyelixirorg.

A big thanks to our sponsors:

Talks

Steve Grossi gave an introduction to GenStage, a new Elixir behavior for building data pipelines and the power behind Flow, a concurrent successor to Stream coming soon. Links:

John Daily gave a fantastic talk “Erlang, or How I Learned to Stop Worrying and Let Things Fail”, explaining the historical and theoretical foundations of Erlang and the BEAM. Links:

You can also see John give this talk at Midwest.io in 2014.

Hope to see you next month on December 6, 2016! We’re looking for another speaker—let me know if you’re interested.

Recap: October 4, 2016 Meetup

Thanks to everyone who joined us for our second in-person meetup. Special thanks to David Jones for recording the talks: see the videos below and on our Youtube channel, youtube.com/indyelixirorg.

Thanks again to Lessonly for providing the space and to Expected Behavior for the pizza and drinks. And I’m pleased to thank our newest sponsor, Manning Publications, who let us give away copies of their two excellent Elixir books. Congrats to Andrew and Nathan who won copies of Elixir in Action and The Little Elixir & OTP Guidebook, respectively. If you’d like your own copy of either (or any book from Manning’s large collection), they’ve kindly given us a 36% off discount code: ug367. I used it myself!

Finally, thanks to Indy Hackers we now have a Flowdock channel. Click here to join, where we’ve been talking about the recent ElixirConf talks, asking questions, and solving problems with Elixir.

Talks

Miles Sterrett came through in a pinch and talked about his experience porting the Indy Hackers Job Board over to Elixir and Phoenix. He focused on some interesting authentication requirements and how to use plug to achieve them.

Scott Johnson gave a great introduction to the powerful automated provisioning framework Ansible and showed how to use it to set up any number of local or remote machines with Elixir and its dependencies. Scott’s posted the slides on his blog here.

Steve Grossi introduced elix, the Elixir-powered chatbot who now inhabits our Flowdock flow, and how to set up a chatbot on Heroku with hedwig, an Elixir chatbot library. Check out the open pull requests for additional robot superpowers (contributions welcome!)

See you next month on November 1, 2016!