elm Europe 2018

Elm Europe will be a two-day conference dedicated to Elm, taking place at the EFREI Engineering School in Villejuif (near Paris, France) on July, 5-6th 2018.

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

Youtube channel : https://www.youtube.com/channel/UCT5HLUjjXdqUSUnpblFNOwQ

Subscribe to our mailing list

Stay informed of news relative to elm Europe 2018.
We will release news about the conference (new speakers, sponsors, links to articles)

Tickets

Tickets Information by EventLama

Standard ticket - elm Europe 2018 Discount applied

× €299.00 (€59.80 VAT) ×

Conference + one-day Masterclass with Richard Feldman Discount applied

× €648.00 (€129.60 VAT) ×

Full two-day conference access (July 5th-6th) + one-day Masterclass with Richard Feldman (July 4th).

Learn from the best with Richard Feldman — the author of Elm in Action — on this 1-day masterclass this July 4th at EFREI. Ticket includes breakfast and lunch.

Don’t forget to bring your laptop and a French AC adapter during the workshop.

One-day Masterclass with Richard Feldman Discount applied

× €499.00 (€99.80 VAT) ×

One-day Masterclass with Richard Feldman (July 4th).

Learn from the best with Richard Feldman — the author of Elm in Action — on this 1-day masterclass this July 4th at EFREI. Ticket includes breakfast and lunch.

Don’t forget to bring your laptop and a French AC adapter during the workshop.

One-day Masterclass with Richard Feldman - Early Bird Upgrade Discount applied

× €448.83 (€89.77 VAT) ×

Ticket available only for owners of an Early Bird Ticket. The total price (conference ticket + this masterclass ticket) corresponds to our best offer => Combo ticket Masterclass + Conference.

One-day Masterclass with Richard Feldman (July 4th).

Learn from the best with Richard Feldman — the author of Elm in Action — on this 1-day masterclass this July 4th at EFREI. Ticket includes breakfast and lunch.

Don’t forget to bring your laptop and a French AC adapter during the workshop.

One-day Masterclass with Richard Feldman - Standard Upgrade Discount applied

× €349.00 (€69.80 VAT) ×

Ticket available only for owners of a Standard Ticket. The total price (conference ticket + this masterclass ticket) corresponds to our best offer => Combo ticket Masterclass + Conference.

One-day Masterclass with Richard Feldman (July 4th).

Learn from the best with Richard Feldman — the author of Elm in Action — on this 1-day masterclass this July 4th at EFREI. Ticket includes breakfast and lunch.

Don’t forget to bring your laptop and a French AC adapter during the workshop.

Late bird ticket - elm Europe 2018 Discount applied

× €399.00 (€79.80 VAT) ×

The Speakers

Evan Czaplicki

Evan Czaplicki

Creator of elm

Richard Feldman

Richard Feldman

Author of Elm in Action

Martin Janiczek

Martin Janiczek

A Christian, pianist, and… A NEW DAD!!! Working at RAYNET in Czech Republic.

James Carlson

James Carlson

In other life, a mathematician. Using Elm and Elixir to develop an awesome course notes app (http://www.knode.io - prerelease). Fan of functional programming. Learning the double bass.

Brian Hicks

Brian Hicks

Brian Hicks is the lead organizer of elm-conf and the author of The JSON Survival Kit. He lives in St. Louis with his wife, son, and cat, and works at NoRedInk.

Christopher Bertels

Christopher Bertels

I’m a programming language enthusiast. I’ve written lots of Ruby in the past, started using Elixir about 3 years ago and this year also started to use Elm for a new open source product I’m working on with friends in my spare time (Syncrypt).

Joël Quenneville

Joël Quenneville

Joël is a software developer at thoughtbot. He is passionate about best practices and building excellent software. Although he got his start with dynamically typed imperative languages, he has recently become fascinated with the statically typed functional world and Elm in particular. Outside of programming, Joël loves to study history. He often combines these two interests together to play with historically-themed software side projects.

Ian Mackenzie

Ian Mackenzie

Ian is the author of elm-geometry and several related Elm packages. He’s passionate about using Elm as a platform for 3D design, visualization, engineering and manufacturing tools. He currently lives in New York and is at the Elm NYC meetup almost every month. He’s on the Elm Slack as @ianmackenzie and is always happy to talk about geometry, using Elm to help make physical things, or just the nitty-gritty of WebGL rendering.

Luke Westby

Luke Westby

Luke is an engineer at NoRedInk and the developer of the online Elm editor Ellie. He lives in Los Angeles, CA, USA where he enjoys spending time with his wife and dog, studying politics and economics, and playing music.

Matthew Griffith

Matthew Griffith

Author of Style Elements, Elm Style Animation, and the O’Reilly book, Why Elm?, Matt is a Developer-in-Residence at Cornell Tech.

Paul Sonnentag

Paul Sonnentag

Passionate developer, studying computer science. At home on the web. Building things with JavaScript, Elm, and Clojure.

Ju Liu

Ju Liu

Italian. Working @NoRedInk. I like Elixir, Ruby, JavaScript and Machine Learning. I climb a lot.

Mark Skipper

Mark Skipper

UI Engineer at Featurespace. Previously web developer in Elm, Elixir & Python; digital factotum and academic (programming language theory). Runs the Cambridge (UK) Elm Meetup.

Decio Ferreira

Decio Ferreira

Head of UI team at Featurespace. Main focus on Web Development, 10+ years experience in JavaScript and Ruby, and now also Elm.

Emma Cunningham

Emma Cunningham

Emma is a Senior Software Engineer at Second Spectrum, where she gets to solve all kinds of fun problems around how to build compelling data visualization and analytics apps for clients like the NBA and the LA Clippers. She co-founded and co-organizes the Elm LA meetup community as well as the local LA chapter of Write/Speak/Code. Long ago, before becoming a software engineer, she became a lambda calculus enthusiast while working on formal semantics in a PhD program in theoretical linguistics.

Thibaut Assus

Thibaut Assus

Developer Startup creator Event organizer

Alexander Kachkaev

Alexander Kachkaev

Alex is a visual data scientist who is interested in connecting computer power with the the power of the human brain to solve complex data-rich problems. His journey into Elm began in November 2017 when his former PhD supervisor Professor Jo Wood demoed him elm-vega and invited to take part in making LitVis. Before re-joining giCentre (City, University of London), Alex worked as a senior design researcher at Superspace, where he helped making humane urban environments with visual analytics.

Mario Rogic

Mario Rogic

I am a technology aficionado with a particular love for the web. I believe technology should make life simple and joyful, and I enjoy being able to prove so.

An Australian currently living in London with my wife, working for locomote.com as Head of Technology.

I organise and run the Elm London Meetups, and frequently teach and speak about Elm to diverse audiences.

Matthias Rella

Matthias Rella

Entreprenerd shooting for the stars.

Andrey Kuzmin

Andrey Kuzmin

Andrey is a frontend engineer at SoundCloud. He is a maintainer of WebGL in Elm and an organizer of the Elm Berlin meetup. Apart from work, he enjoys live music in Berlin and is a yoga newbie.

Céline Martinet Sanchez

Céline Martinet Sanchez

Developer and teacher, I created a training path dedicated to Python for OpenClassrooms, the European e-learning leading platform. Before that, I entered the startup world creating my own. When I’m not coding, I like laughing and hiking.

The Schedule

  • Check in

      July 5, 2018, 8:30AM,  30 minutes

  • Breakfast

      July 5, 2018, 9:00AM,  30 minutes

  • Keynote

      July 5, 2018, 9:30AM,  50 minutes

    Evan Czaplicki

  • Making a Latex-to-Html Parser in Elm

      July 5, 2018, 10:40AM,  20 minutes

    James Carlson

    minilatex is an Elm package for converting a subset of LaTeX into Html – a way to put LaTeX into the browser. We will talk about the design and implementation of the parser and renderer, and how the package is used in a web app to create and publish technical documents. The package itself is pure Elm and relies on Evan Czaplicki’s elm-tools/parser. It uses a diffing strategy suggested by Ilias van Peer which make performance in a day-to-day editing environment extremely fast (yay!)

    The app ( under development at http://www.knode.io) will also process mathematical text. For this, it uses ports, since to process mathematical text, one must use the MathJax.js package as a kind of rendering server. We will briefly touch on this part of the design, and describe some of the technical challenges and performance issues.

  • Learning Elm in 3 days using the compiler - Switching from JS & React to Elm

      July 5, 2018, 11:20AM,  20 minutes

    Christopher Bertels

    I’m a (co-)founder of Syncrypt, an open source, zero-knowledge, client-side & end-to-end encrypted file backup and sharing service. We started out with a CLI client & daemon written in Python, that does all encryption and uploading. Later we started working on a GUI written in JS, React and Electron. Since we’re all mostly backend engineers by trade, we got tired of using JS (& React to be honest) after a short while of using it and decided to look for alternatives. I found out about Elm due to researching alternatives to React. It took me about 3 days to fully get the hang of the language but I felt productive from day 1. I’ll talk about the learning curve, about how great the development tools are in learning the language itself and how I ended up with a working prototype (including JSON parsing!) after the first 3 days of working on the Elm based rewrite. The Elm UI talks to the python daemon via HTTP & JSON.

  • ElmSEQ: A conflict-free replicated data type for Elm

      July 5, 2018, 12:00PM,  20 minutes

    Matthias Rella

    Imagine Alice and Bob editing the same text document at the same time from different devices – but both being offline. How could their changes be merged eventually so that both ends yield the same result and the intention of both probably conflicting editions is preserved? Conflict-free replicated data types (CRDTs) to the rescue! In a mobile world with unreliable network connectivity, CRDTs allow for distributed offline-first applications integrating concurrent changes in a lightweight way. Data replicas are guaranteed to be eventually consistent among peers while keeping the context and order of merged operations. In this talk I will briefly describe CRDTs in general and why they matter to reactive Web development. Furthermore, I will present an Elm implementation of LSEQ - a CRDT for sequential data like text - and its binary serialization format. Finally, I will demo a collaborative Web app built on top of it.

  • Let's Publish Nice Packages

      July 5, 2018, 12:40PM,  20 minutes

    Brian Hicks

    Have you wanted to publish a package, but don’t know where to begin? The Elm package ecosystem is filled with wonderful and useful packages, and it can be intimidating to try and add to that. But while it can take real effort to create something good, it doesn’t have to feel so overwhelming! In this talk, I’ll show you small, concrete steps to take so you can finally publish that code you’ve been sitting on. You’ll leave with the confidence that you can make something really nice!

  • Lunch

      July 5, 2018, 1:00PM,  120 minutes

  • Infecting the Visualization Design Process with the Elm Philosophy

      July 5, 2018, 3:00PM,  20 minutes

    Alexander Kachkaev

    We are drawn to Elm for many reasons: ‘compiler as assistant’, friendly error messages, pedagogic documentation, static typing, immutable data structures, pure functions. Yet the whole is more than the sum of its parts resulting in a programming philosophy that is declarative, task focussed and beginner-friendly. This talk considers how that philosophy influenced the design of elm-vega and the adoption of Elm as the primary language to illustrate Literate Visualization (LitVis).

    LitVis combines declarative specification of a visualization with a narrative that justifies its design. Elm and Vega are ideal languages for expression of the design and we describe how we integrated them with markdown to create a LitVis environment in Atom and VS Code. We describe how the Elm philosophy has influenced the design of LitVis and lessons learned. This has relevance not only for those interested in visualization with Elm but also anyone designing new packages and programming environments.

  • Now you're thinking in functions: transitioning a decade-old codebase from C++ and Scala to Elm

      July 5, 2018, 3:40PM,  20 minutes

    Ian Mackenzie

    This talk will look at some of the lessons learned from migrating the codebase of the elm-geometry package from its object-oriented origins in C++ and Scala to its current implementation in Elm.

    We’ll show how to take code that depends on various features found in object-oriented languages and rewrite that code in idiomatic Elm. For example, in a language without overloading or implicit conversions, how do you write functions that work with both vectors and unit vectors? Without inheritance, how do you share 3D transformation functionality between different types of geometry? Answering these questions carefully can require some significant “conceptual refactoring”, but often results in Elm code that is simpler, clearer and more flexible than the original! We’ll show how to take code that depends on various features found in object-oriented languages and rewrite that code in idiomatic Elm. For example, in a language without overloading or implicit conversions, how do you write functions that work with both vectors and unit vectors? Without inheritance, how do you share 3D transformation functionality between different types of geometry? Answering these questions carefully can require some significant “conceptual refactoring”, but often results in Elm code that is simpler, clearer and more flexible than the original!

  • Teaching is learning: become a better dev sharing your knowledge.

      July 5, 2018, 4:20PM,  20 minutes

    Céline Martinet Sanchez

    Regardless of your knowledge level, writing a course is a good way to improve your skills. Explaining a concept lets you watch it under a different point of view, out of habits based on practice! Shall we wait to be an “expert” to publish a tutorial? How to explain what seems so simple or, by contrast, so complicated? Come to discover it!

  • Rendering text with WebGL

      July 5, 2018, 5:00PM,  20 minutes

    Andrey Kuzmin

    We get a lot for free from using the web platform. Rendering text is one of such things that browsers do well. But what if we wanted to implement this ourselves from scratch? Then we would not only have to learn typographic terms, but also understand their true behavior.

    Having implemented the rendering of a typeface, that my wife designed, I would like to share the challenges of modelling the text flow in Elm. Even though this has a limited practical applicability, my hope is that you would not only get some insights into typeface properties, but also learn to appreciate the tools we have. And of course you will see how good it fits with Elm!

  • Live Coding a Mondrian Art Generator

      July 5, 2018, 5:40PM,  20 minutes

    Ju Liu

    In this talk we will use the amazing powers of Elm to live code a Mondrian Art Generator. We will do a deep dive on building complex random generators and see how we can combine them to generate conceptual art. After that, we will go through a proof of concept that uses recursive random generators to achieve a similar effect.

  • Check in

      July 6, 2018, 8:30AM,  30 minutes

  • Breakfast

      July 6, 2018, 9:00AM,  30 minutes

  • Keynote

      July 6, 2018, 9:30AM,  50 minutes

    Richard Feldman

  • Evergreen Elm

      July 6, 2018, 10:40AM,  20 minutes

    Mario Rogic

    Having total type-safety within an application in Elm makes working on projects a joy, especially long term when things get increasingly complicated and changing requirements abound.

    However what about type safety between versions of our apps?

    Once our applications are out in the wild, how do we get our users from version A to version B without throwing everything away in the transition? Could we use Elm’s guarantees somehow to help us make this process smooth and enjoyable?

    This talk will explore 12 months of research and prototyping on turning “decidious” Elm deployments into an “evergreen” affair.

  • With Great Power Comes Great Responsibility: Lessons from 100k LOC Elm in production at Featurespace

      July 6, 2018, 11:20AM,  20 minutes

    Mark Skipper, Decio Ferreira

    The UI client of our ARIC Fraud Hub product is a 100k LOC Elm app. Over the last 18 months we ported it from Agnular 1 to Elm, and added many new features. On the way we learned a lot. We’ll present a summary of that story: How we chose and adopted Elm. How we made Elm and Angular play nice together during the migration. What we learned from using Elm with a team of ~6 engineers on a large complex project. And what we want in the future: from Elm and from ourselves.

  • How to build a native looking date picker with elm, physics and css 3d

      July 6, 2018, 12:00PM,  20 minutes

    Thibaut Assus

    Elm helps us to think in terms of algorithms, not just in terms of “let’s make it work”. We can focus on one task at a time, without having the overhead of having to think in terms of “the whole app”.

    And it allows us to pick highly complex subjects and tackle them for fun and profit.

    Creating a date picker like https://developer.apple.com/documentation/uikit/uidatepicker is very complex. We have to model the display with inline css 3d and requestanimationframe, the touch with touch events, the physics of the date picker with some physics theory. And doing that is javascript would mean handling every aspect of it in a “global” way.

    Creating a native looking date picker in elm means we can concentrate on the bigger vision (the date picker), one little function at a time, and it means we can do it in a reusable manner.

    This talk will outline how we did it and what the result looks like, and it’ll emphasise how we designed it.

  • Getting your organization onboard with Elm

      July 6, 2018, 12:40PM,  20 minutes

    Emma Cunningham

    In this talk, I will share how my team at Second Spectrum went from the first group that was using Elm in production to how we spread excitement for Elm to other groups within our organization. Through the talk, I will share lessons learned in terms of the challenges involved in onboarding those new to Elm (and functional programming) and the benefits we saw on our team after we started using Elm, as well as suggestions for those looking to use Elm in their organizations. Finally, I’ll explain how, once we had lots of folks within our company using Elm, we leveraged that energy to start Elm LA, a local meetup that we started last year in Los Angeles, CA. The audience will come away from the talk with actionable strategies on how to get buy-in within their organizations to start using Elm.

  • Lunch

      July 6, 2018, 1:00PM,  120 minutes

  • Working with Maybe

      July 6, 2018, 3:00PM,  20 minutes

    Joël Quenneville

    One of the selling points of Elm is that you cannot get null errors. Maybe is what allows Elm to avoid this billion-dollar problem entirely. It’s a beautiful solution.

    But it doesn’t take too long before your code is one long ugly nested case statement checking Maybes at every level. Surely this can’t be right. There must be a better way.

    We have an array of tools at our disposal to solve this problem, from simple convenience functions all the way to eliminating Maybe altogether in favor of other constructs. Join me on a whirlwind tour of these solutions and take back control of your codebase.

  • When and how to use Web Components with Elm

      July 6, 2018, 3:40PM,  20 minutes

    Luke Westby

    Some things can’t be done with Elm. It’s a young language with so much potential to be realized in the years ahead. If a program you are writing today falls outside of Elm’s capabilities, like writing a server, it can better to choose a different language. When it comes to fancy UI features, though, you might be able to have your cake and eat it too. In this talk you will learn about when and how to use web components in your Elm views. The most common inquiry we’ll cover is interop with fancy JS UI packages that are not economically viable to replicate in Elm, like rich text editors. We’ll also talk about components that make visual changes outside of the Elm update cycle for performance-critical UI behaviors, and more. The examples covered in this talk are based on production experience, fully compatible with Elm and all WHATWG specs, and can be polyfilled at least as far back as IE 11 and Safari 9.

  • elm-browser - Smalltalk goodness for Elm

      July 6, 2018, 4:20PM,  20 minutes

    Martin Janiczek

    There are a lot of hidden and forgotten gems in Smalltalk. One of them is the System Browser: the main way to develop Smalltalk, and a way to explore and evolve the environment. elm-browser explores the usability of such tool in the Elm ecosystem, hopefully allowing for a faster and more to-the-point development cycle.

  • The Immutable Animator’s Toolkit

      July 6, 2018, 5:00PM,  20 minutes

    Matthew Griffith

    Elm’s basis in immutability presents a unique set of challenges to animators.

    In a language that allows mutation we can get away with hiding all our details behind local state, but in Elm we have to capture every detail in our model. This means many of the APIs we may be familiar with in languages like Javascript don’t translate directly over to Elm in the nicest way. Or they do translate, but require a lot of manual wiring and record keeping.

    However immutability is an incredible advantage and there’s no reason that advantage doesn’t translate into the realm of animation. The main challenge is adjusting our thinking around animation in Elm. So, what does an immutable animator’s toolkit look like?

    By slightly shifting our thinking and embracing Elm’s design decisions we can arrive at a unique set of tools and techniques that provides high level control over our animations and feels unique to the Elm language.

  • 3.9 million lines later - analyzing all open source elm code

      July 6, 2018, 5:40PM,  20 minutes

    Paul Sonnentag

    Github is a vast collection of code which could give us insights into how people are using Elm. The problem is that all the code is represented as text which limits our ability to analyze it automatically. In this talk, you will learn how we can leverage Elms statically typed nature to parse all public elm code on Github into a structured form which allows us to ask interesting questions like:

    • Give me examples how to use a specific library function?
    • How many people would be affected by changing some library functionality?
    • Is this library still used in recent code?

Getting There

Metro 7 - Villejuif Louis Aragon

15 minutes from Orly airport with shuttle.

Sponsors

Gold

Milesrock is a design and development consulting company. We produce functional programing code, including elm for front end.

Silver

Allo-Media

Allo-Media develops an AI technology enabling customers to be heard and understood over phone conversations, transforming phone call conservations into a source of value.

Bronze

Featurespace™ is a world-leading machine learning software company developed out of the University of Cambridge, solving real-world fraud problems for global businesses in banking, gaming and insurance. We are very much a human company, not just a tech company.

Media Partners

Lambda Days

Lambda Days is a one of a kind experience in the functional world.

Nomalab

Nomalab is a digital logistics platform for films and audiovisual programs, from masters to ready-to-broadcast or ready-to-publish.

Efrei Paris

The Efrei Group comprises two engineering schools, a digital academy, a research laboratory, a start-up incubator and an endowment fund, all grouped together on the Paris Sud campus of Villejuif.

Efrei Entrepreneurs

Efrei Entrepreneurs is the incubator of the Groupe Efrei. It hosts up to 12 start-ups for 6 to 12 months. They are assisted and followed and they can exchange with each other.

HEC Seed 2018

HEC Seed is an international conference that connects and empowers young entrepreneurs, students, investors and other professionals of the European entrepreneurial scene by employing a dynamic mix of inspiring speeches, hands-on workshops, competitive pitches and networking opportunities.

Warren Walter

Warren Walter assists you in your digital and innovative projects: consulting, technical assistance, training, design sprint, but also startups and tech events (hackathon, conference, show ...).

Girls in Tech

Girls in Tech (GIT) is a global non-profit focused on the engagement, education and empowerment of girls and women who are passionate about technology. With headquarters in San Francisco and more than 100,000 members located around the globe, GIT relies on volunteer efforts to lead each of the 60 local chapters. GIT is not just for professional women. We operate with the spirit of the girl within all of us—fearless, lively and determined.

Evil Martians

Evil Martians is a lean software development shop with headquarters in Moscow and New York and remote employees located all over the world. Using agile processes and our expertise in open-source technologies, we help startups to pivot and online businesses to grow.

ReactiveConf

ReactiveConf is a 3 day European-wide web & mobile development festival in the heart of Europe made for functional developers, where World-class JS experts share unique insights.

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

Download sponsors prospectus

Organizers

Thibaut Assus

(organizer)

Guillaume BOUDON

(co-organizer)

Igor Cheloudiakoff

(co-organizer)

Dan Abrams

(co-organizer)

Romain Dausset

(co-organizer)