Elm Europe 2017

June 8 - 9, 2017 — Villejuif, France

June 8 - 9, 2017 Villejuif, France

Elm Europe 2017

Elm ? Europe ? et voilà !

Elm Europe will be a two-day conference dedicated to Elm, taking place at the EFREI Engineering School in Villejuif on June, 8-9th 2017.

The event is organized by the Elm community, for the Elm community, with the willing of sharing knowledge, news about the language, and meeting interesting people.

If you need Elm developers, please go to our job board : https://elm.jobboardmaker.com/job_offers

The Speakers

Evan Czaplicki

Evan Czaplicki

Creator of Elm

Richard Feldman

Richard Feldman

Author of Elm in Action

Martin Janiczek

Martin Janiczek

Mostly frontend dev (JS, PHP, HTML, CSS), working on RAYNET CRM. I love FP (Haskell, Elm, Clojure[Script]). Christian, musician, Math education and as an hobby (Project Euler, anyone?)… Oh, and happily married and with baby on the way :)

Noah Hall

Noah Hall

Frontend developer at NoRedInk, specialising in Elm and ops. It’s my job to make sure that our Elm is compiling, the tests are passing, and to ensure that any time anyone gets blocked or stuck with Elm, unblock them.

Robin Heggelund Hansen

Robin Heggelund Hansen

Robin used to be a web developer in Norway. Currently he studies radiographic imaging, but still dabbles in Elm in his free time. He is the maintainer of elm-community/dict-extra, and is the developer behind the new array implementation in Elm.

Peter Szerzo

Peter Szerzo

Developer, designer, language enthusiast, yogi, cook. A friendly, straightforward fellow with eager-to-pedal feet, a green thumb and a curious mind.

Greg Ziegan

Greg Ziegan

Currently building things for the Elm community. It’s a lovely language. http://elm-lang.org

Jakub Hampl

Jakub Hampl

Author of elm-visualization.

Amitai Burstein

Amitai Burstein

CTO and co-owner of @Gizra

Josh Steiner

Josh Steiner

Josh Steiner is a developer at thoughtbot, maintainer of the Elixir library ExMachina, and author of Testing Rails. His current interests include Elm/Native, Elixir, and Haskell.

Jeff Schomay

Jeff Schomay

I work at Pivotal, specifically on Tracker, which is now happily using Elm in production after some heavy-duty evangelizing on my part. I also run the Denver Elm Developers meetup group, hosted at Pivotal, and I have been making Elm tutorial videos for SitePoint’s upcoming premium Elm course.

I spend my spare time hacking on Elm, writing stories, making games, and traveling.

My wife has said, “Why can’t you speak somewhere cool, like Paris!” So I am delighted for this opportunity now!

Mario Rogic

Mario Rogic

I am a highly driven technology aficionado with a particular love for the web, snowboarding, and a ridiculous pursuit of endless new hobbies.

I believe technology should make life simple and joyful, and I enjoy being able to prove so.

I’m an Australian currently living in London with my wife, working for locomote.com as Head of Technology, where we can almost say we have Elm in production!

Preethi Kasireddy

Preethi Kasireddy

Preethi is a software and UI engineer at Sapien.ai, where she designs and develops user interfaces and builds conversation dialogues using AI. She’s passionate about conversation interfaces and the future of human vs. AI interactions. She also writes about all things web development on Medium and her blog.

She was previously a front-end & API engineer at Coinbase, a digital currency platform, where she helped architect and rebuild their front-end in React.js and other modern web technologies.

Murphy Randle

Murphy Randle

Murphy works using Elm on the front-end building journaling software at Bloom Built. He hosts the Elm Town podcast, and tries to be a nice guy.

Matthew Griffith

Matthew Griffith

Matt is a Developer-in-Residence at Cornell Tech who loves fast, unbreakable prototyping.

Brian Hicks

Brian Hicks

Brian Hicks is the CTO of Asteris, a devops consultancy based in St. Louis, MO. He organizes elm-conf US, blogs about Elm (and other things) at brianthicks.com and runs the St. Louis Tech Slack. He enjoys biking around St. Louis, hanging out with his wife, and tweeting about his cat.

Vincent Billey

Vincent Billey

I currently work at Synbioz, a web and mobile agency as the JavaScript guy in a Ruby company. I’m building a calendar widget for one of our clients and for an internal tool.

Before that, I made a company that was building a bugtracker that was built in React (with a python backend). The company was not a financial success but quite interesting technically. And even before that, I worked for a video game company (3DDUO) and built web games.

Tomek Wiszniewski

Tomek Wiszniewski

Tomek created elm-live – a tool widely used and loved by the Elm community. As an engineer at Lystable, he crafts delightful user interfaces and helps shape an engineering culture which allows everyone to unleash their superpowers.

With a degree in Architecture (yeah, building houses), he’s been using Elm for a number of exciting University projects – and a mind-blowing app for makers soon coming to the market.

Tereza Sokol

Tereza Sokol

I build the frontend for Opbeat. Got into Elm and it has basically taken over my life now. I’m in the process of implementing Elm into our React.js codebase at Opbeat and I wrote elm-plot because we needed charts.

Matthias Rella

Matthias Rella

Building data management and data visualization apps in Elm since 2015.

John Omar

John Omar

I founded Bitfountain, an online coding school that had over 100k students enroll in iOS courses. I coded the platform in clojure and clojurescript, and wrote course material in Swift. After moving on from that company a few months ago, I attended the Recurse Center where I worked on clojurescript and writing my own lisp interpreter in javascript. I currently live in Berlin, but hail from Boston.

Andrey Kuzmin

Andrey Kuzmin

Andrey is a frontend engineer at SoundCloud. His journey into Elm was through programming games, most notably elm-flatris and elm-street-404. The latter got him interested in WebGL and then he became a maintainer of the library. Apart from work, he enjoys live music in Berlin and is a yoga newbie.

Noah Zachary Gordon

Noah Zachary Gordon

Noah is a software developer living in Brooklyn, NY. When he’s not evangelizing Elm to anyone who will listen, he’s probably watching bad old movies or playing with his cat, Finn. He works at Gust, where his coworkers will one day succumb to his constant onslaught of Elm-related Slack posts and convert their entire front-end stack to Elm.

Sébastien Crème

Sébastien Crème

I am Nomalab CTO. We are working with Elm from the early beginning of Nomalab in march 2017 and we are now coding in Elm from front to back.

Christophe Benz

Christophe Benz

Christophe Benz is a software developer who likes elegant and efficient tools, and is against any kind of fatigue. In that sense he felt in love with Elm in 2016. Christophe is a software developer at Etalab, a French Prime Minister administration in charge of OpenData and digital services, in Paris. He co-developed the front-end of the Open Government Toolbox in Elm.

The Schedule

  • Breakfast

      June 8, 2017, 8:30AM,  30 minutes

    .

  • Keynote

      June 8, 2017, 9:00AM,  50 minutes

    Evan Czaplicki

  • Visualizing Data with Elm

      June 8, 2017, 10:00AM,  20 minutes

    Jakub Hampl

    Brief overview of the available technologies for visualizing data. We’ll dive deep into elm-visualization and show how we can use its features to create rich and interactive data visualization apps.

  • Building Reorderable UI in Elm

      June 8, 2017, 10:40AM,  20 minutes

    Greg Ziegan

    There are many products today that need drag and drop. Variants of drag and drop include: dragging and dropping between buckets, reordering in 1D, and reordering in 2D. We’ll focus on reordering along one axis.

    Questions with reordering include:

    Does the user need a styled preview of the drop zone? Should the dropping action animate the placeholder into its drop destination? Do the reorderable items resize dynamically? Does the placeholder resize while dragging? Can the reorderable axis change between x and y while dragging?

    Can we account for all or most of the above with a clean API?

    I will answer the above questions with small examples, build audience knowledge, and then demo a very complex reorderable feature!

  • Bringing the Fun to Graphics Programming

      June 8, 2017, 11:20AM,  20 minutes

    Andrey Kuzmin

    Graphics programming is hard. That’s definitely the case when you try to use WebGL in plain JavaScript. Elm can make graphics programming on the web easy and robust in the same way as it made building UI’s easy.

    The WebGL library got a new home in the Elm Community organization. Version 2.0 came with lots of new features and improvements to the API. It’s now much more friendly for newcomers.

    I’ll show you cool graphics demos as well as explain some of the basics. My hope is that you leave feeling inspired to start some of your own WebGL projects using our new library.

  • Understanding Style

      June 8, 2017, 12:00PM,  20 minutes

    Matthew Griffith

    What could the future of styling look like with elm?

    Writing CSS is still one of the biggest challenges for front end development. CSS can be written that’s valid, but produces unexpected and hard-to-debug results.

    But it doesn’t have to be that way.

    We can take all the mental discipline that good, organized, well behaved CSS requires and make the compiler responsible for it, instead!

    By describing our styles in elm, we can be nuanced about what CSS we allow to be written. Surprisingly, completely disallowing some CSS properties can make our styles much more predictable with no practical loss in functionality.

    We can use elm to limit access to the brittle parts of CSS, and make it easier to write the best parts (like flex-box, animations, and media queries). We can make best-practices the compiler’s job.

    Let’s make style and layout as refactorable, productive, and typesafe as elm itself.

  • Cooking with Elm!

      June 8, 2017, 12:40PM,  20 minutes

    Noah Zachary Gordon

    We all already know that Elm is a great language for building reliable web apps, but it turns out it’s also great for prototyping Domain Specific Languages. Recently I’ve combined two of my hobbies by using Elm to begin creating a reusable data format for cooking recipes.

    All recipes can be broken down into a number of raw ingredients which, when combined with various techniques, form a dish. In this talk I will explain why Elm’s straightforward yet robust type system is a perfect use case for modeling out these recipes. Thanks to Elm’s knack for taking a data model and translating it into HTML, it’s easy to generate a human-readable version of any one recipe.

    But wait, there’s more! Elm’s decoder system makes it super easy to translate Elm models to and from JSON, allowing us to import and export them.

    Finally, I’ll show a few examples leveraging this framework to generate both pretty, human-readable recipes and interesting visualizations of them!

  • Lunch

      June 8, 2017, 1:00PM,  120 minutes

  • Elm-plot: The big picture

      June 8, 2017, 3:00PM,  20 minutes

    Tereza Sokol

    I began using Elm in the spring of 2016 and pushed my first commit to Elm-plot in June. Being new to functional programming, I was fighting the old habits of my component-based mindset, which over time resulted in several complete rewrites of the library and many aha!-moments. In this talk, I will tell the story of Elm-plot, including the issues resolved, the compromises made and the challenges yet to be overcome.

  • Making a multiplayer game framework in Elm

      June 8, 2017, 3:40PM,  20 minutes

    Peter Szerzo

    Lettero (https://lettero.co/) is a multiplayer Elm game where players compete to find the first letter of a word written in a full circle, also featuring a tutorial and game room management. And it leaves me wondering: is Elm awesome enough to allow us to abstract the game into a framework so we can churn out other games in a matter of hours?

    In this talk, I’ll present the way Lettero (repo at https://github.com/peterszerzo/lettero) is being refactored to split out its wordgame-specific parts from its core framework, discovering ever more flexibility inside Elm’s strongly typed functional rigor. But of course, none of this would work well without a flexible backend, so I will also walk through the way game state is reconciled by one of the clients designated as host, allowing the app to run on Google Firebase without any custom server-side code.

    Time permitting, I can also demo a simple spin-off game made with the framework (work still in progress here).

  • ELM from CTO perspective

      June 8, 2017, 4:20PM,  20 minutes

    Sébastien Crème

    In this talk i will talk about Year and a half building a software with 80% Elm based code and a team commited to ELm. From the experimentation to the production going through Elm communities and recruitement, i will share experience about how we ended with a almost full Elm stack from client to server and compares to the rise of scala and play i was involved in.

  • There's a better way to learn Elm

      June 8, 2017, 5:00PM,  20 minutes

    Preethi Kasireddy

    Despite how friendly and fun Elm is, it still has a steep learning curve for developers coming from non-functional or dynamically-typed (or both) programming languages. When you go from a language that lets you do anything (e.g. JavaScript) to Elm, it feels like someone just put hand cuffs and blinders on you and made you code. In this talk, we’ll look at the key pain points for an object-oriented developer learning and becoming productive in Elm (e.g. the type system, handling side effects, partial application, interoperability, etc). Then we’ll look at how we can rethink our approach to both learning and teaching these foreign concepts to newcomers in order to make it more approachable for anyone – Objected-oriented or not.

    Why does it matter? Well, big ideas like Elm take a long time to spread, but it’s upon us to find the shortest and most efficient path.

  • How to unblock yourself with Elm

      June 8, 2017, 5:40PM,  20 minutes

    Noah Hall

    In this talk, we’ll discuss how we manage to unblock ourselves whenever we encounter an edge in Elm at NoRedInk. I’ll discuss many of the experiments that I have done, and how best to go about being a productive member of a Elm workforce to enable others to use it. I’ll also explain how our custom testing tooling works, and how you can do it too. I’ll also briefly go over some potential problems you might face, and how to avoid them.

  • The State of Elm 2017

      June 8, 2017, 6:20PM,  20 minutes

    Brian Hicks

    The State of Elm 2017 Survey is over and the results have been collected. Let’s look at them together! Where are new people in the community coming from? Where are they going? What’s great about Elm, and what could use improvement? In this talk, we’ll discuss these questions and what they mean for the Elm community at large.

  • Breakfast

      June 9, 2017, 8:30AM,  30 minutes

  • Keynote

      June 9, 2017, 9:00AM,  50 minutes

    Richard Feldman

  • Turning the Elm Narrative Engine inside-out: Inversion of Control at the Framework Level

      June 9, 2017, 10:00AM,  20 minutes

    Jeff Schomay

    Four months ago at ElmConf2016, I debuted my interactive story-telling framework, the Elm Narrative Engine. I spoke of the challenges of building a framework, and how it took full control away from the client code after being initialized.

    Since then, after using the framework more, getting feedback from both developers and story writers, and an api-design session with Evan, I have completely inverted the framework, allowing for some really cool things.

    The framework still works like a “run-time,” but now it is embedded in a “component” inside of the client’s app, and control flows between the two every update cycle. A framework as a component? Yes, it works, and surprisingly, it is much more versatile and makes for great separation of concerns.

    This talk will look at the conceptual differences and implications, touch on some of the big-ticket technical refactors necessary to make the switch, and explore some fun and interesting demos that would not have been possible before.

  • How frontend microservices help us stay flexible

      June 9, 2017, 10:40AM,  20 minutes

    Tomek Wiszniewski

    Choosing the right technologies when starting a project is super important. It’s almost impossible to change the stack later on. Betting on Elm is therefore a bit risky. Right?

    Not anymore! Now we can use frontend microservices to pick the right tool for every job!

    Traditionally, single page apps are monoliths. Here’s a React app, that’s an Angular app and this one is in Vue.js. This way, early stack choices turn into a strong tie-in as the project grows. It’s pretty tricky to introduce Elm to a mature project running on a different technology.

    In this talk, we’ll see how web components change the game. Finally, we can use the right tool for every job! We can introduce Elm bit by bit to any JavaScript app – or neatly embed JavaScript UI nuggets in an Elm app.

    We’ll learn from the ups and downs of regular microservices, catch a glimpse of the culture that this approach has brought about at Lystable and leave with a strong toolset to make things happen.

  • Date manipulation with Elm

      June 9, 2017, 11:20AM,  20 minutes

    Vincent Billey

    Manipulating Dates can quickly become a problem, even for simple things like getting the current Date, obtaining the start of the week (especially with different date systems). How can we manage these problems with Elm, keeping our sanity in check.

    This talk will try to give an overview of the standard pitfall that can occurs when dealing with dates and how to overcome them with the Elm ecosystem.

  • Testing your Msgs fully

      June 9, 2017, 12:00PM,  20 minutes

    Martin Janiczek

    In Elm world we have both unit tests and fuzz (property based) tests - this is great! But both of these often focus mainly on the small helper functions that create your app (and single Msgs at best). But there’s a whole lot of untested long-term scenarios the user could get into using multiple Msgs.

    In this talk I’ll tackle this idea: testing your app more thoroughly using sequences of Msgs and finding unexpected “loopholes” in your system, using techniques first envisioned by Quviq’s QuickCheck.

  • Dive: Building Prezi-like Presentations with Elm

      June 9, 2017, 12:40PM,  20 minutes

    Matthias Rella

    On Elm’s website Prezi is featured for using Elm. However, as of December 2016, Prezi presentations are still based on Flash. So in this talk I introduce Dive, a programming framework written in Elm for building visual and animated presentations like Prezi’s. After explaining the API, I describe the internals of the framework and compare two rendering approaches, Canvas vs. SVG. Along the way, I also demonstrate why it was easy to create Dive with Elm, since the core of the framework took me just a couple of hours. And of course, the presentation slides of this talk are built with Dive itself.

  • Lunch

      June 9, 2017, 1:00PM,  120 minutes

  • Persistent collections: How they work, and when to use them.

      June 9, 2017, 3:00PM,  20 minutes

    Robin Heggelund Hansen

    Most applications, in any language, requires the use of collections. Elm has several collection types built-in: Lists, Arrays, Sets and Dicts. When is it better to use a List instead of an Array, and when do you use Sets? In this talk, Robin explains how the different collections are implemented under the hood, with the hope that this knowledge will make it painfully obvious when to use the different collection types.

  • Music Chords Charts in Elm

      June 9, 2017, 3:40PM,  20 minutes

    Christophe Benz

    This talk is about music but is not restricted to musicians!

    When playing an instrument in a jam session, musicians sometimes need to see the chords of the tune they are playing. A chords chart is a convenient way to represent a music tune as a table, containing chord names in “Jazz notation”, but not music notes. Chords charts are scattered on forums, are static images most of the time, and there are many versions of which some are wrong.

    These drawbacks led me to start the Open Chords Charts project. The backend is a centralized and collaborative database of chords charts. The frontend, written in Elm, allows to browse charts, add/edit them, fork other users charts, fix errors and make links between charts. I’ll show some features such as changing the key in which the song is displayed – a killer feature for musicians who dislike to do the transformation in their head. The frontend is responsive and offline-first, so that musicians can build a set-list and follow the songs on their

  • Elm from a Business Perspective

      June 9, 2017, 4:20PM,  20 minutes

    Amitai Burstein

    In Gizra, we run an unusual stack that helps us reach blazing fast websites - Drupal runs our backends, Elm in the front, and most recently Yesod (a Haskell framework).

    There’s a certain mindset in choosing these technologies - it’s about the idea of “correctness”; making sure we can move quickly without breaking stuff.

    In this session, I’ll explain in depth about this mindset both from the development perspective, and the business one.

  • Elm Native UI in Production

      June 9, 2017, 5:00PM,  20 minutes

    Josh Steiner

    thoughtbot has launched the first ever production Elm Native UI app! In this talk, I’ll discuss my journey building the app and contributing back to Elm Native UI, the benefits of using Elm Native UI over other technologies, and the existing hurdles. I’ll also compare using the library to Swift/Cocoa Touch and React Native. Hopefully, the talk will inspire others to start playing with Elm on mobile.

  • Elmception - supercharging presentations with Elm

      June 9, 2017, 5:40PM,  20 minutes

    Mario Rogic

    Presentations are one-sided by design. Someone talks, people listen, a lucky confident few might pipe up to ask questions at the end. Speakers struggle to read the audience without disrupting to ask questions, and the audience has no way to give feedback without disrupting the speaker.

    Presentations are slow, single-threaded and syncronous affairs!

    What if we could improve these problems with Elm?

    This talk will involve the audience in a live experiment in having realtime engagement using Elm. We’ll engage in dialogue concurrently, we’ll have instant relevant and screen-visible feedback.

    Aside from a scene-setting introduction, the audience will democratically determine, in realtime, both the order and selection of talking points, allowing the presentation to mould itself to be the most relevant it can be for this particular audience and point in time.

    We’ll use Elm, to talk about using Elm, to talk about Elm. It will be Elm all the way down!

Tickets

Tickets Information by EventLama

Early Bird Discount applied

× €199.17 (€39.83 VAT) ×

Early bird ticket

Standard ticket Discount applied

× €249.17 (€49.83 VAT) ×

2-day conference ticket (2 breakfasts and 2 lunches included)

Late bird ticket Discount applied

× €332.50 (€66.50 VAT) ×

Getting There

Metro 7 - Villejuif Louis Aragon

15 minutes from Orly airport with shuttle.

Sponsors

Basic

Want to get involved and help support Elm Europe 2017? We'd love to hear from you.

Organizers

Thibaut Assus

(organizer)

Sébastien Crème

(Co-Organizer)

Guillaume Boudon

(Co-Organizer)

Igor Cheloudiakoff

(Co-Organizer)

Romain Dausset

(Co-Organizer)

Guillaume Hivert

(Co-organizer)

Rohan Orton

(Co-Organizer)

Julien Michot

(Co-Organizer)