EMPEX, the Empire City Elixir Conference, is a sophisticated conference series for the Elixir programming language and ecosystem held in New York City. We present a single track of technical talks in a jazz club. Our goal is to bring a sense of aesthetic and fun to the growing Elixir community. We'd love for you to join us!
We're excited and proud to announce our keynote speakers for the second annual EMPEX!
Keynote: The Language is the Least of It
Jessica Kerr is a developer in many functional languages: Scala, Elm, Clojure, Ruby (OK, not a functional language but principles still apply). Lately she is excited about distributed systems, infrastructure, and automating our automation. In between working remotely and speaking at conferences worldwide, Jessica raises two daughters in St. Louis, MO.
Dr Eugenia Cheng is a mathematician and pianist. She is Scientist In Residence at the School of the Art Institute of Chicago and won tenure in Pure Mathematics at the University of Sheffield, UK. She is now Honorary Fellow at the University of Sheffield and Honorary Visiting Fellow at City University, London. She has previously taught at the universities of Cambridge, Chicago and Nice and holds a PhD in pure mathematics is from the University of Cambridge.
Alongside her research in Category Theory and undergraduate teaching her aim is to rid the world of "math phobia". Her first popular math book, How to Bake Pi, was published by Basic Books in 2015 to widespread acclaim including from the New York Times, National Geographic, Scientific American, and she was interviewed around the world including on the BBC, NPR and The Late Show with Stephen Colbert. The book is being translated into eight languages so far. Eugenia was an early pioneer of math on YouTube and her videos have been viewed over a million times to date. She has also assisted with mathematics in elementary schools and high schools for 15 years. Her next popular math book Beyond Infinity will be published in 2017 and is already being translated into three languages.
Eugenia recently received her first commission for mathematical artwork, and is designing chalkboard installations for the new science themed Hotel EMC2 in Chicago, commemorating Emmy Noether and symmetry. Eugenia is also a concert pianist and runs the Liederstube, a Not For Profit organization in Chicago bringing classical music to a wider audience.
We're proud to announce the following presentations for EMPEX!
Doors open / Registration
Keynote: The Language is the Least of It
Everything Beautiful is in Plug
Channels as Controllers (An Exercise in Refactoring)
When Does Concurrency Pay Off?
Seussical Halting, Indeterminate Faulting
Monitoring Production Elixir Applications
Functional Data Structures
Understanding Elixir's (re)compilation
The afterparty will be held a short walk away at Swift Hibernian Lounge (34 E 4th St New York, NY 10012)
This course will be taught by James Fish (fishcakez), well-known Elixir expert and Elixir Core Team member. James will be assisted by Elixir veterans Chris Bell and David Antaramian.
The intermediate/advanced Elixir training will help those familiar with the Elixir language pickup the skills of how to work with and model applications using Processes and the OTP library.
In this course we will take a complex real-world problem and use a variety of tools and techniques to solve it. Along the way we'll cover:
- Structuring applications using an umbrella app
- Keeping state in GenServers / Agents / ETS tables
- Thinking in Processes to solve the problem at hand
- Using Supervision trees to create resilient programs that can recover from failure
- Testing our work as we go using isolated unit tests and integration tests
You'll come away from this course with a clear understanding of how to apply these concepts to your next Elixir project as well as a repository and source material that you can reference in the future.
Crash Course in Elixir, for (Ruby, Java, JS, etc) Developers
Are you interested in Elixir, but you haven't yet learned the language?
Are you an imperative language programmer who's finding it tricky to get a handle on the functional approach?
Do you find yourself wishing that Elixir had a "for loop"?
We've all been there, and we've developed a one-day workshop to get you past the learning curve. Starting with the absolute fundamentals of Elixir's datatypes, we'll take you through every aspect of the language that tripped us up when we were learning.
By the end of the day, you will be able to confidently solve complex business problems faster and more reliably than you'd have ever believed possible. Learning to build solutions on top of immutable data structures requires a new way of thinking, and we've designed our workshop to get you thinking that way quickly.
Finally, we will introduce the Elixir concurrency model. If your experience of concurrency consists of threads, mutexes, and critical sections, you will be amazed at the simplicity of building reliable concurrent systems using Elixir and OTP.
We will cover:
All the built-in datatypes: numbers, binaries (strings), lists, maps, structures, tuples, and atoms.
Functions: anonymous functions, named functions, and higher order functions.
Pattern matching: This is a hugely powerful technique, and is probably the one thing most developers miss when they find themselves coding in another language after experiencing it in Elixir.
Elixir tooling: How our projects are organized, the build system, the dependency management system, the test framework, and the rich documentation system.
How to model problems using functional patterns instead of Object Oriented patterns.
OTP: OTP is a powerful framework developed for Erlang, and battle-hardened after 30 years of continuous ongoing development. A complete view of OTP is beyond the scope of this course, but we will introduce the high level concepts.
Our aim is to provide a mentally challenging, but enormously rewarding day. Every segment will include hands-on exercises and challenges, and we will have two instructors helping you if you get stuck.
Who should come? The course is not for complete beginners. You should be comfortable programming in some language, but what language is unimportant. People whose proficiency lies outside the functional paradigm will probably get the most out of the course, but functional programmers who are new to Elixir will find the course to be a useful survey of the main features of the Elixir ecosystem.