About

EmpEx, the Empire City Elixir Conference, is a new conference for the Elixir programming language and ecosystem held in New York City. We will present a single track of technical talks in a memorable, sophisticated environment. Our goal is to bring a sense of aesthetic and fun to the growing Elixir community. We'd love for you to join us.

Photos

Location

EMPEX will be held at Subculture, an initimate jazz club in Soho.

Subculture
45 Bleecker St, New York City, 10012
Find it on Google Maps

Keynotes

We're proud to announce the following keynotes for the first annual EMPEX!

Francesco Cesarini

Concurrency + Distribution = Scalability + Availability, a journey architecting Systems on BEAM

Erlang/OTP has for years been described as your secret sauce to writing scalable and available systems. Erlang alone, however, will not do any magic. It is merely an enabler that, thanks to its semantics, programming model and predictable virtual machine makes the end results easier to achieve.

In this talk, we will walk through the topology patterns of modern distributed architectures, discussing the tradeoffs in scalability and reliability of the actor model, the failure model and the built-in distribution model the BEAM encourages you to take.

Francesco founded Erlang Solutions and has written Erlang Programming and Designing for Scalability with Erlang/OTP.

George GuimarĂ£es

Async Jobs in Phoenix

It's inevitable: you'll need to do some tasks in background. Maybe it's an email you need to send. Maybe it's an image resizing. Maybe it's a business rule that doesn't need to run in the web request.

In this talk, we'll code and test implementations for these patterns in Elixir/Phoenix, ranging from how you can use Task.async or Task.Supervisor for fire-and-forget tasks, to using an "external" queue and workers like exq.

More importantly than the tools, we'll examine the kinds of questions you need to ask to decide which tool will fit your needs.

George is co-founder at Plataformatec, a software consultancy in Elixir and Ruby. His favorite topics are Discrete Integration, monoliths, and picoservices with Elixir.

Bruce tate

The Climb - Experiencing the Rise of Elixir from the Inside

Coming soon!

Bruce is the author of Seven Languages in Seven Weeks and co-author of Programming Phoenix. He is CTO at http://icanmakeitbetter.com.

Presentations

We're proud to announce the following presentations for the first annual EMPEX!

Brian Cardarella

Giving back, building your first package

While the world of Elixir is new and exciting there are many libraries that you may take for granted in other languages still missing from Elixir. This is a great opportunity to build your own! This talk will give you the confidence to create your own Elixir libraries to share with the world.

Brian is the CEO of DockYard, a Boston-based Phoenix and Ember consultancy.

Pete Gamache

Real World Elixir Deployment

The Elixir community commonly remarks that deploying Elixir is easy, with noticeably few details about how it's actually done.

The unsavory truth is that many of us are using a deployment "system" consisting of something like tmux + git pull + mix phoenix.server, thereby gaining few of the deployment advantages of the Erlang/Elixir platform.

This talk explains how to deploy Elixir in a real-world production setting, including releases, rolling and hot upgrades, rollbacks, clustering, and fault tolerance. We will also cover the numerous gotchas you may encounter on your way to creating a bulletproof service.

Pete is head of engineering at Appcues, and brings over a decade of LabVIEW, FORTRAN 77, and Perl experience to the Elixir community. He's written literally dozens of codes, and his favorite language so far is this one. Follow him on Twitter.

Monica Hirst

Letting the Phoenix Fly in Production

Phoenix already does a lot of work to make your life easier as an Elixir developer. But how do you take your Phoenix application to the next level?

In this talk, we'll see how easy it is to configure and deploy an Phoenix web application using AWS CodeDeploy, including setting up exception monitoring through Honeybadger.

Monica loves the combination of finance, software architecture, and accessible education. Previously at Goldman Sachs, Monica now spends her days leading an engineering team at Society of Grownups, volunteering at ChickTech, and overcoming the OOP mindset.

Brian Mitchell

A Journey To The Center Of The BEAM

It's often hard to understand what actually happens when we run our code. There are many layers like macros, AST to AST translations, intermediate languages, instruction codes, virtual machine models, and finally interpreters and compilers.

This talk will show how Elixir and Erlang code travels through all of these stages and ends up getting executed. We'll demystify the runtime and learn about tools that can help when optimizing and checking assumptions you might make in your code.

Bio coming soon!

Cameron Price

Micropatterns: Learning to reach quickly for the right tool

A lot of experienced programmers from non-functional backgrounds struggle when switching to languages like Elixir because the tools that have served them well for years have suddenly become useless in a world without object hierarchies or mutable state. This is expected. Musicians practice their scales, athletes drill basic movements, and chefs practice their knifework. We programmers are not exempt from the need to hone our fundamentals.

We will look at several little patterns that are common in Elixir and take advantage of important Elixir features, such as pattern matching, first class functions, and tail recursion. We'll see how these patterns can be quickly and instinctively deployed to solve real-world problems, along with tips on how to learn the patterns quickly and keep your skills sharp. Some examples include:

  • Quick and dirty file parsing using pattern matching
  • Breaking down big problems into small mutations
  • Recursing using an accumulator
  • Writing reducer functions using Enum.reduce_while and Stream.unfold
  • Pipelines (the one pattern everyone in the room already knows and loves and tries to apply everywhere)
  • Happy path programming, in which we extract all the error handling into separate function heads, or let it crash

Cameron has been developing software since the 90's using many different languages and platforms, but especially C, C++, Java, and Ruby. In 2015 he discovered Elixir and the immutable paradigm. Since then, he's been joyfully unlearning his imperative object-oriented instincts, and embracing the world of functional programming. Cameron is currently the CTO of TRX.tv, and a director of Mint Digital and Boomf.com.

Brandon Richey

The Journey to Elixir in Production At Scale

Elixir allowed us to deploy an incredibly high-throughput, low-footprint Phoenix API that experience no issues from the second it entered production. With no prior Erlang/Elixir experience, our team jumped in and we couldn't be more excited by the results.

Together, we'll highlight Teladoc's journey of taking Elixir into Production. From the initial conversations, the highs and lows, and our excitement going forward, you'll hear a success story from the trenches covering:

  • Initial conversations about adopting Elixir
  • Research into the platform
  • Education initiatives to convince the development team
  • Persuading management
  • The resulting application and benchmarks
  • Issues we ran into along the way
  • What the future holds for our company and Elixir/Phoenix (Hint: more projects!)

Brandon is Director of Engineering at Teladoc and a long-time software engineer/architect in New York. He is a frequent writer on topics in web development such as Elixir/Phoenix, Elm, and various Javascript frameworks on his blog!

Bryan Weber

Code Generation in Elixir

This talk will cover how to create custom generators for Mix, when they are appropriate to use, and when to use macros instead. We will also look at some techniques for generating flexible code that will allow subsequent re-generations to minimize the impact on changes that were made to the generated code.

Bryan is the founder of Cobenian, a consulting company focused on Elixir and iPhone development, instructor of the Elixir Mastery class, and organizer of the NoVA Elixir meetup.

Schedule

9:00AM
Doors open / Registration

We'll be opening the doors for the conference at 9AM, providing breakfast, coffee, lunch, and refreshments throughout the day, and hosting an after-party at a nearby location.

9:30AM
Opening Remarks
9:45AM
Concurrency + Distribution = Scalability + Availability, a journey architecting Systems on BEAM
10:30AM
The Journey to Elixir in Production At Scale
10:50AM
Break
11:05AM
Real World Elixir Deployment
11:55AM
Async Jobs in Phoenix
12:15PM
Lunch
1:00PM
Giving back, building your first package
1:25PM
A Journey To The Center Of The BEAM
2:05PM
Break
2:20PM
Letting the Phoenix Fly in Production
2:45PM
Micropatterns: Learning to reach quickly for the right tool
3:25PM
Break
3:50PM
Code Generation in Elixir
4:35PM
The Climb - Experiencing the Rise of Elixir from the Inside
5:15PM
Closing Remarks
5:30PM
After Party!

The afterparty will be held a short walk away at Swift Hibernian Lounge (34 E 4th St New York, NY 10012)

Sponsors

Organizers

David Antaramian

Chris Bell

Troy Denkinger

Lisa Denkinger

Andy McCown

Lee Nussbaum

Cameron Price

Updates