May 6, 2022

Salt Lake City, Utah

Receive updates

Sign up now to stay up-to-date with Empex.

About EMPEX MTN

A new one day Elixir conference in the heart of the Rockies 🏔

EMPEX MTN is a one day, single track programming conference in Salt Lake City, Utah, dedicated to the Elixir programming language and ecosystem. We bring together excellent technical content, in an intimate conference atmosphere, elevating the typical conference experience.

Brought to you by the same team that has previously hosted:
EMPEX NYC & EMPEX LA.

Speakers & Schedule

Speakers

Image of Brooklyn Zelenka
Keynote

The Escape from Flatland

Brooklyn Zelenka

Elixir, Erlang, and OTP have done an amazing job taking us from the 1980s all the way to the 2020s! Is this the end? Have we found the one true path of productivity and expression? Are the assumptions from 10 years ago still applicable? This keynote will discuss new ways of working that go beyond instructions, text, pipes, and actors. This covers techniques can be applied to code today, plus extensions to the core language that can be implemented by anyone, and a call to action to bring the our tooling alongside the cutting edge.

About Brooklyn

Brooklyn is the Cofounder and CTO at Fission, where her team is building the next generation of web dev tools for the future of computing on the edge – levelling the playing field for teams of all sizes.

She founded the Vancouver Functional Programming meetup, and is the author of several Elixir libraries including Witchcraft & Exceptional. She was previously an Ethereum Core Developer, and continues to push the broader web3 space forward with standards like UCAN auth, the Webnative File System, and DialogDB.

Image of Quinn Wilton
Speaker

Deriving Knowledge from Data

Quinn Wilton

For many of us, programming is fundamentally an exercise in transforming data. Whether to make decisions or render a webpage, nearly every use of software appears — at least at first — to come down to finding the correct way to manipulate data. Though convenient, this perspective obscures the deep connections inherent to the domains we find ourselves in.

Moving past this conception of programming as a purely mechanical activity means reifying the process of transforming data into knowledge, and here our traditional tools begin to fail us. In this talk, I'll share the lessons we can learn from the database designers and the logicians of the 70s, who paved the way toward being able to think about code in terms of the knowledge it computes, and I'll demonstrate how to apply these lessons to the Elixir applications we write today.

About Quinn

Quinn is an applied researcher at Fission, where she spends her time at the intersection of programming language theory and distributed systems, while thinking about new ways to build and compose systems together. Originally from Canada, she's spent most of her life in the San Francisco Bay Area.

Image of Digit
Speaker

Burrito: Wrap your app in a BEAM burrito!

Digit

Burrito is a new open-source project that tries to tackle the distribution problem of Erlang and Elixir applications.

We'll discuss how we created a way to easily ship single file binaries for Windows, Mac, and Linux environments with minimal runtime and build-time dependencies.

Born from the requirement to run applications in potentially air-gapped environments, Burrito allows Elixir apps to be deployed to any modern machine (including the NIFs!)

No system Erlang installation required.

Get ready for an uncharted adventure through cross-complication, NIFs, Mix Releases, Zig, the C standard libraries, and Win32 APIs, Oh My!

About Digit

A self-described “hyper-generalist” Digit has been hacking up all sorts of projects throughout his life including IoT hardware, graphics, embedded systems, developer tools, game development and interactive web applications.

When he's not programming you'll find him perfecting his morning espresso shot, enjoying independent art and animation, or biking around the PNW.

Digit is currently a Senior Firmware Engineer at SmartRent.

You can find him on Github or Twitter under the name @doawoo

Image of Isaac Yonemoto
Speaker

$callers and $ancestors and Tasks oh my!

Isaac Yonemoto

One of the best secret features about Elixir, that (as far as I can tell) you can't get in any other language (not even Erlang!!) is the way it supports sharded global state in tests. Many of you have used this without knowing that you are using it if someone else has set it up for you. Many of you have set it up without knowing explicitly how it works under the hood. I'll take a “scientist's approach” and describe a model for how sharded global state works in tests and run a few experiments to prove that our “black box model” for the elixir standard library is correct. The best thing is this isn't just for tests! I'll show a non-test example at the end.

About Isaac

Out-of-nowhere elixir developer. I've used elixir to build a cloud, to run an api for machine learning tasks, and now i'm using elixir to build 3d structures – maybe soon in space! You may know me best for delivering a couple of talks about Zigler at Elixirconf/NervesConf 2021.

Image of Mat Trudel
Speaker

A Funny Thing Happened On The Way To The Phoenix

Mat Trudel

Networking is at the core of just about everything we do with Elixir, but the mechanisms that power the BEAM's legendary server performance are not super obvious to many developers. This is unfortunate, as the clever application of OTP design principles at the lowest levels of the network stack is one of the key ingredients that give Elixir and the BEAM their well-deserved reputation for incredible scale and performance.

This talk will go into depth on what these patterns look like, focusing on how they represent a tangible and textbook example of OTP design patterns. We'll take a close look at building process trees for robust & scalable performance, and provide some hard-earned rules of thumb for determining which process types to use where & how to supervise them effectively. Along the way, we'll also build a few simple network services to demonstrate the concepts underlying Elixir web servers such as Bandit and Cowboy.

You can expect to come away from this talk with a much deeper understanding of the process model that underlies every line of Phoenix code you'll ever write, and guidance about how to apply OTP patterns most effectively in your own code.

About Mat

Mat is an ever-restless polymath from Toronto who loves solving the really gnarly problems. A perennial builder whose natural habitat is the basement workbench, he's a fan of honesty, good design, and golden era hip-hop. He / Him.

Image of Jon Carstens
Speaker

An Ode to Firmware Design

Jon Carstens

An ecosphere of connected things
to wit the world round them spins
Connected lights, audio mixers
Components and drivers written in Elixir
The developers mind spewing forth creativity
Unbounded, unfiltered, enamored with possibilities

But lo! The crux of designing such things,
when code defined cannot run in time,
and squiggly lines be rampant
For the target doth not match the host
And the hopeful device appears not connected
The fruitful dreams, vibrant, boundless
once destined to be
Destroyed
For you have not the dongle…for USB-C

Eventually, henceforth deployed it goes
the ideas have come to fruition!
But the physical world can behave in such ways to leave the mind a wonder
Within it's use, a curious case
Behavior erratic, undefined, unforseen
And the adage, as old as time itself
"But it works on my machine..."

But how does one overcome such tribulations
and develop expediently?
The answers may lie in the firmware design
Or, at the very least, what has not worked for me

About Jon

Wannabe woodworker. Avid bike rider. OSS enthusiast. Hardware fanatic. Lover of good BBQ, chocolate chip cookies, and swimming.

Image of Zack White
Speaker

Getting lazy with workflow graphs in Elixir

Zack White

What do Tensorflow, Airflow, Rule Engines, and Excel have in common? Under the hood they all use DAGs to model data-flow dependencies of the program. Using graphs to model programs is great because you can modify the program at runtime. Lets talk about doing this in Elixir for great good.

I've been building a tool in Elixir called Dagger. Dagger lets you compose arbitrary elixir functions and control flow into a data structure that can be evaluated lazily or eagerly with full tracing. The purpose of this tool is to compose programs at runtime. Composing programs at runtime is common in expert systems, rule engines, data pipelines, and anywhere where the program needs to change outside of your product development pipeline.

Dagger uses graphs, or DAGs (Directed Acyclic Graphs) to model data-flow dependencies between elixir functions. Evaluating a Dagger Workflow supplies “work to execute” that can run in parallel. The inherent parallelism in this model is why you'll find it in many systems such as Tensorflow, Apache BEAM, Apache Airflow, Excel, and more.

About Zack

I'm a software developer who's been using Elixir obsessively since 2017. My day job is at Risk Recon - Mastercard where we use Elixir for Cybersecurity risk analysis and reporting. I focus a lot on systems thinking and domain modeling to work on getting the right problems solved.

I'm a chronic abuser of the phrase ¯_(ツ)_/¯ “It depends.”

I like to remain intellectually open and I probably need to chill out and spend less time in front of screens.

Image of Ethan Gunderson
Speaker

Telemetry Powered Observability

Ethan Gunderson

In June 2021 Cars.com launched a complete rewrite of its online marketplace. This new Elixir platform went from servicing a tiny fraction of requests (< 1%), to all of them, in roughly 12 hours.

How did we ramp up traffic while knowing that requests were being satisfied? How do we know that new releases are working as expected? How do we know when terrible things are happening on a server?

The answer: An umbrella child application named Meter, a bit of Telemetry, and a whole mess of trace data.

This practical talk will go through the architecture of how Cars.com uses Telemetry to generate performance data for all of our platform requests. We'll go over how we layer existing technologies and tools in the Elixir ecosystem into a child umbrella application that emits traces and metrics for the entire platform.

Along the way, we'll cover: What Telemetry is, how to use it, and how it acts as a force multiplier for our product teams. How we lean on third-party package Telemetry events to provide a default level of observability. How we use Telemetry.Metrics to monitor the BEAM itself. And all the gotchas we learned along the way.

About Ethan

Ethan is a software engineer at Cars.com where he focuses on platform architecture, scalability, and performance. In previous roles he has run the gamut from product development, management, security, infrastructure, and data engineering.

Schedule

8:00 - 9:00Registration and Breakfast
9:00 - 9:10Opening Remarks
9:10 - 10:00[Keynote] The Escape from Flatland - Brooklyn Zelenka
10:00 - 10:40A Funny Thing Happened On The Way To The Phoenix - Mat Trudel
10:40 - 10:55Coffee Break
10:55 - 11:35Burrito: Wrap your app in a BEAM burrito! - Digit
11:35 - 12:15Getting lazy with workflow graphs in Elixir - Zack White
12:15 - 1:45Lunch Break
1:45 - 1:50Community sponsorship message
1:50 - 2:30An Ode to Firmware Design - Jon Carstens
2:30 - 3:10Telemetry Powered Observability - Ethan Gunderson
3:10 - 3:25Snack Break
3:25 - 4:10$callers and $ancestors and Tasks oh my! - Isaac Yonemoto
4:10 - 5:00Deriving Knowledge from Data - Quinn Wilton
5:00 - 5:15Closing Remarks
5:30 -After Party - Beer Bar
Learn you some Elixir

Training

Training courses will be held on May 5th, the day before the conference in a separate venue (to be announced). Training tickets are sold separately from your main conference ticket.

Image of Sophie Debenedetto

Mastering LiveView

Sophie Debenedetto

LiveView empowers developers and teams to be highly productive by keeping your brain firmly focused on the server-side. Backed by OTP, it brings a fast and fault-tolerant UI to your web apps and enables you to build complex interactive and real-time features easily. In this training, you'll master the tools you need to be a productive LiveView developer.

We'll start with the basics of LiveView development and build on that to take a deeper dive into many of the core features that your LiveView apps will need in order to be production-ready. Over the course of building out a LiveView application, you'll learn how LiveView works under the hood to support interactive UIs, you'll secure your live views with authentication and authorization, you'll architect a complex, layered UI with LiveView components, you'll bring real-time features to your live views with Phoenix PubSub, and you'll explore some of the latest LiveView features that let you support sophisticated user interactions with custom JavaScript, maintain and restore LiveView state in the event of a disconnect, upload files to your LiveView forms with ease, and more. By the end of the day, you'll be well on your way to LiveView mastery.

About Sophie

Sophie is a Senior Engineer at GitHub and co-author of Programming Phoenix LiveView. You can also find her co-hosting the BeamRad.io podcast, blogging about all things Elixir, or hanging out with her small weird dog who is obsessed with rocks.

Health & Saftey

COVID-19 Information

Our top priority at EMPEX MTN is that our conference is safe for all attendees. As such, our event will strictly adhere to all local laws including those set by the CDC, the state the city, and our venue.

Given the current uncertainty surrounding COVID-19, we will be offering a 100% refund on all ticket sales for anyone who can no longer attend, no longer feels comfortable attending, or in the unlikely event that we cannot host the conference.

If you have any questions or concerns, please feel free to reach out to us at any time. We're here to help and make sure that we can put on a safe conference for all.

The interior of Clubhouse, SLC
Venue & Location

Clubhouse, SLC

Clubhouse is an iconic venue in downtown Salt Lake City, with a long and storied history. It serves as the perfect, intimate setting for our inaugural EMPEX MTN conference.

Radisson Hotel
Official conference hotel

Radisson Hotel

Radisson Hotel Salt Lake City Downtown puts you within walking distance of top attractions. Less than a block away, you can stroll Temple Square's beautiful grounds and historic buildings or browse the high-end retailers at City Creek Center.

Use the discount code "EMPEX" to receive the special rate of $149/night.

Not had enough?Weedmaps

One more thing: an after party, brought to you by Weedmaps

We're thrilled to announce that the official conference afterparty will be brought to you by our dear friends at Weedmaps.

More details soon on this one folks, but be prepared for a fun Friday evening!

Community Support

We are proud to give back to the Utah community by donating 100% of our community sponsorship to a local charity, the Utah Parent Center.

Utah Parent Center

Utah Parent Center

The mission of the Utah Parent Center (UPC or Center) is to help parents help their children, youth and young adults with all disabilities to live included, productive lives as members of the community.

We accomplish our mission by providing accurate information, empathetic peer support, valuable training and effective advocacy based on the concept of parents helping parents.*

Sponsors

Our sponsors

Our event wouldn't be possible without the generous support of these Elixir champions.

Host sponsor
Divvygetdivvy.com

Divvy is the smarter, simpler way to manage business expenses. With Divvy's free Visa® Business Card and software solution, businesses save time and money by automating expense reports, setting budgets, and processing reimbursements–all in one place. Track company spend in real-time, and never have to save a receipt again.

Platinum sponsor
Weedmapsweedmaps.com

Founded in 2008, WM Technology operates a leading online marketplace (Weedmaps) with a comprehensive set of eCommerce and compliance software solutions (WM Business) sold to retailers and brands in the U.S. state-legal and Canadian cannabis markets. The Company's mission is to power a transparent and inclusive global cannabis economy.

Gold sponsors
Jackpocketjackpocket.com

Jackpocket is creating a more convenient, fun, and responsible way to play the lottery. The first licensed third-party lottery app in the United States, Jackpocket offers players an easy, secure way to order official state lottery tickets, such as Powerball, Mega Millions, from their phone.

Spiffspiff.com

Spiff is a new class of software putting trust back into the commission process by delivering real-time automation of commission calculations. The platform enables finance and sales operations teams to self-manage complex incentive compensation plans and provides transparency for sales teams.

Community sponsor
Communitycommunity.com

Community is a new social engagement platform that makes two-way communication between influencers and their followers simple, effective, and scalable.

Silver sponsors
Knockknock.app

Knock is flexible, reliable notifications infrastructure that's built to scale with you. Use our APIs to engage your users, power cross-channel workflows, and manage notification preferences.

Smartlogicsmartlogic.io

SmartLogic is a custom web and mobile development shop. We’ve been building custom software since 2005; Elixir, Ruby, React, and Flutter are some of our favorite technologies to work with. Our work includes greenfield applications, accelerating product launches, and application replatforming. We also run the Elixir Wizards Podcast.

Binary Nogginbinarynoggin.com

Founded in 2007, Binary Noggin is a team of software engineers and architects focused on building technically superior products. We use our expertise in Elixir, Ruby, Phoenix, Nerves and other open source technologies to develop sustainable solutions.

ElixirCastselixircasts.io

ElixirCasts is a growing collection of over 100 screencasts covering a wide range of Elixir and Phoenix topics. Each episode tackles a specific problem or explores a new library, demystifying it in a language that’s easy to understand. The episodes range from beginner-focused to more moderate and advanced topics.

Mimiquatewww.mimiquate.com/

Mimiquate is a team of enthusiastic software-development professionals who will help scale your team the same way Elixir scales apps: swiftly and steadily! We are passionate about continuous improvement and providing exceptional service. Adapting to your needs will be our priority and making your vision come to life, our mission.

Podiumwww.podium.com/

Podium exists to help local businesses win. Using Podium's technology, local businesses are able to simplify the way they build their business and modernize the way they communicate with their customers – from collecting payments, facilitating online reviews, launching marketing campaigns, and much more.

SmartRent Logosmartrent.com

SmartRent (SMRT) is an enterprise smart building automation company developing software solutions that integrate with third-party hardware to empower property owners, managers and homebuilders to effectively manage, protect and automate daily operational processes. Elixir powers our platform from our Phoenix backend to our Nerves devices. See our engineering job openings at smartrent.com/careers.

Cars.com Logocars.com

Cars.com Inc. (CARS) is the leading automotive marketplace platform. Through an integrated portfolio of products and solutions, CARS is driving the future of automotive retail by developing omni-channel experiences that inspire, match and connect tens of millions of car buyers with local sellers across the country.

Launch Scount Logolaunchscout.com/

Discover solutions that radically improve productivity, profits, client relationships and more–our dedicated team will guide you there. Side-by-side, we'll launch your ideas into a reality you could only imagine. Launch Scout. Software that lands.