Great conference. Great community. 10/10 would attend again.

TBA - Anna Neyzburg

  • Community affects the software we build
  • “So much about building software—more than anyone wants to admit—is etiquette” - Paul Ford

  • Thinking, Fast and Slow - Daniel Kahneman
  • Loss > Gains
  • People feel empowered to make decisions when they feel confident
  • Status Distance === Bias
  • Fluency Hueristic = better it sounds, more likely it is to “win” (aka the best ideas don’t always win) Fluency Hueristic
  • Clear expectations of behavior
  • Language matters (be careful what you say)
  • ElixirBridge - outreach for underrepresented people in tech
  • Used Spectacle for slides
  • Everyone has limited knowledge, but unlimited potential Everyone has limited knowledge, but unlimited potential

All Aboard the Stateful Train - Eric Oestrich

  • ExVenture - MUD server (very stateful)
  • Grapevine- MUD Community (think steam for Elixir)
  • Stateful = less database, more OTP
  • Using GenServers as the basic building blocks
  • :ets for caching (rather than Redis) and occasionally write state to a database for re-hydration (when things go wrong; still use the DB as the source of truth)
  • Kalevale (new ExVenture)
  • Designing Elixir Systems with OTP

Getting the Frog Out of the Well - Zach Thomas

  • more things suck, less productive you become
  • “Sure, we could talk about aesthetic resonance a bit if you prefer that?” - Zach

Tests Friend or Foe? Chain or Cable? - Mark Windholtz

From Bootcamp To Elixir Contracts: A Road Less Traveled - Melvin Cedeno

Responsible Resources - Justin Schneck

OpenTelemetry - Greg Mefford


The Grand Bank of Jon Jon - Jon Carstens

The Grand Bank of Jon Jon

Physically-Based Rendering Using Elixir - Jason Stewart

  • Can we make a 3D rendering engine in Elixir? Yes. Should we? Maybe.
  • raytracer-ex
  • Results: slow, but faster than expected

Joe - Bruce Tate and Brian Troutwine

Yeah… but should we? - Randall Thomas

Browser Automation Testing: Best practices - Best tools - Vanessa Lee

  • Remember to…
    1. Verify dependencies
    2. Expect unknown unknowns
    3. Expect failures
  • Wallaby
  • Hound

Taming :ets - Mike Binns

  • (ArguementError) - used for so many errors
  • ETS - an Elixir wrapper for :ets

Nobody: Literally No One: Me: Let’s Write CSS in Elixir! - Ben Wheat

Why You Should Use Nerves for Your Next (or First) Hardware Project - Todd Resudek

Brook: Distrubuted event-driven library for Elixir - Jeff Grunewald

  • “The Microservice Actor” - the actor model gives microservices (almost) out of the box
  • GenServer.abcast/3 or GenServer.multi_call/4
  • Brook
  • Steps:

    1. Event bus

      • pub/sub broadcasting
      • unified view (independent of any service)
    2. Event contract

      - message structure (minimal and assertive)

      %{ type: string, author: string, created_at: pos_int, data: term(), # like an HTTP body forwarded: bool }

    3. Serialization
      - message log interface
      - non-BEAM system
      - storage
      - JSON
    4. View state
      - track and view what's needed and who's responsible

Let’s Make a Pizza! Batch Operations with Broadway - Michael Crumm

  • Broadway
  • Optimize with production server

Telemetry: By the Numbers - Samuel Mullen

What I Learned About Code Reviews From Teaching 8th Grade Poetry - Andrew Ek

  • Give people room to be wrong
  • Practice, practice, practice
  • Most changes only need 1-2 reviewers
  • Prefer small changes
  • Leave fewer comments

How I’m Becoming a Programmer - Dave Thomas

Random Conversations