elm Europe will be a two-day conference dedicated to elm, taking place at the EFREI Engineering School in Villejuif (near Paris, France) on June 27-28 2019.
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.
Night owl and procrastinator from Czech Republic. Working with Elm full-time, woohoo!
I’m a video and livestream producer, based in the NYC-area, who loves Elm. I just finished a batch at Recurse Center and am trying to figure out how to further meld my loves of live-streaming and Elm.
Lead developer at Veepee (vente-privee.com) I used ELM as an introduction to Functional Programming to my team and it works like a charm so far
Manuel is a functional programming enthusiast that recently got into Elm. Besides programming, he loves retro computers and games which led him to develop a Nintendo Game Boy Emulator in Elm, combining both interests. Professionally, he is the CTO of itravel, a German digital tour operator where he uses functional programming in both back- and frontend.
Known as @Kalabibishkis in the Elm Slack community.
Romans started programming as a hobby in early 1999, working on registration and a shop for the Ultima Online Sphere Server. Now he works at Evolution Gaming, where he develops high-load and cross-platform UI for gambling games.
His current hobby project is a side-scrolling game in Elm, that he has been developing for the last 1.5 years.
Jonas Coch is a frontend webdeveloper at itravel, living in Cologne, Germany. He used to circumvent IE 6 bugs, then fell in love with XSLT and is an Elm user since 2015. When he is not writing Elm at work or in his spare time, he is spending time in the garden or soldering Arduinos.
Joël is a software developer at thoughtbot. He’s always been passionate about data modeling and has fallen in love with Elm’s tooling for this. Over the past year he’s discovered the fun of gamejams and built three games in Elm. Outside of programming you can find him buried in a history book or exploring the many neighborhoods of Boston.
For a few years now I’ve been working on expanding the capabilities of Elm as a tool for visualizing data of all sorts. I’ve written gampleman/elm-visualization and gampleman/elm-mapbox to address the need for a flexible data graphics and mapping package respectively. In my day job I work on using satellite technology to tackle deforestation.
I’m currently doing a master in computer science in Nijmegen (the Netherlands) focussing on the intersection between mathematics and computer science. My elm projects often have something to do with parsing and visualization: topics where the theory (geometry, automata, physics) gives practical (and pretty) results.
Chad Stearns is an American living in Germany with his wife, where he writes Elm code at Humio. Lately has been enjoying Haskell but usually he just likes economics.
A young, aspiring full-stack engineer in Fringe81, the company of advertising platform in Japan. Started career from Scala, Golang, but now big in Elm.
Andrey is an 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.
Noah is a queer technologist from Brooklyn, NY, who likes his Elm with a soft-boiled egg and black coffee. He organizes the Elm NYC meetup group and is a Recurse Center alumnus. Prolonged exposure to Noah is not recommended. Consult your primary care physician before seeking Noah.
Jordy Moos is a self-taught developer with a broad scale of interests but mainly passionate about databases, reactive-, functional- and game- programming. At the age of 12 he started with php and Javascript and at the age of 14 he built a text based browser game. At the moment he works at high traffic company PB Web Media were he increases his programming skills by combining multiple disciplines using Couchbase, Docker, Scala and Elasticsearch.
I’m a co-founder and developer at Spottt, a Lyon-based startup where we create innovative management solutions for rummage sales / fair trade organizers. Autodidact and passionate about computer science for ~3 years, I’m interested in functional languages in general, especially Elixir and Haskell. Studying machine learning & deep learning in my spare time and loving it!
I’m a freelance Design Director and Product Designer. I use Elm to experiment with new kinds of design tools.
Emma Cunningham is a formal semanticist turned software engineer who currently is interested in thinking about distributed systems, data visualization, and DSLs. When they’re not cranking out code, Emma practices sleight-of-hand magic and ferments all kinds of things in their hometown of Los Angeles.
Liz Krane is a Developer Evangelist at Sentry and founder of Learn Teach Code, an organization that empowers aspiring developers to lead their own local events to create stronger, more diverse tech communities. She loves finding new ways to combine code with other disciplines like art and music, sharing everything she learns while she tries to learn everything!
I am a programmer, musician and photographer. I started with Elm about 2 years ago at my company Webbhuset, where I work as CTO.
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, I organise and run the Elm London Meetups, and frequently teach and speak about Elm to diverse audiences.
Originally a robotics and embedded software developer at the University of Magdeburg, who became obsessed with programming paradigms. Due to his participation in the “Industrial eLab” project he had to shift to web-development where he got in touch with Elm…
June 27-28
elm-europe conference. Speakers to be announced.
June 26
elm-graphql pre-conference workshop (optional).
June 27, 2019, 8:00AM, 60 minutes
.
June 27, 2019, 9:00AM, 40 minutes
Richard Feldman
Keynote
June 27, 2019, 10:00AM, 20 minutes
Martin Janiczek
The (reference) Elm compiler as we know it right now is currently implemented in Haskell, and emits JavaScript code. I’ll be talking about my side-project: an Elm compiler written in Elm, emitting JavaScript—sure—but hopefully allowing for native code, WebAssembly and other possibilities!
Topics include:
June 27, 2019, 10:40AM, 20 minutes
Andrey Kuzmin
There is no doubt that the Elm architecture and Virtual DOM make Elm enjoyable for building web apps. When it comes to the domain of real-time graphics, it still remains underdeveloped. Even though this opens up a whole new range of opportunities, is Elm ready for such experiments?
Having accepted a challenge of building a dice roller game, I ended up rolling my own physics engine. With no prior experience in computational physics, I studied existing implementations. Through a try and error, I programmed the necessary bits in pure Elm.
From this talk you will learn how it was possible because of existing tooling. You will see how types and immutability make complex algorithms easier to comprehend. And of course, you will share my excitement of watching the demos on the big screen!
June 27, 2019, 11:20AM, 20 minutes
Albert Dahlin
At my company we are mainly building E-Commerce websites using Elm. Some examples in production are: - https://vanbruun.com - https://scanfast.se - https://himla.com - https://shop.izettle.com (needs iZettle account)
Each site is built as a single monolith Elm application, sizes ranging 80-110k lines of code. About 50% of the code base is shared and reused between projects. We are about 20 developers working on these (and other) projects.
These circumstances presents some challenges: - Re-usability & maintainability cross project - Testing - On-boarding new developers - Accessing Browser APIs - Performance (web workers) - Code splitting (soon)
5 months ago we started discussing how we can improve our code base to meet these challenges. Our conclusion was to move away from a monolith and break up the application into several smaller apps that talks to each other (the actor model).
This work has now started and that is what this talk is about. Was there any improvement in the end?
June 27, 2019, 12:00PM, 20 minutes
Jono Mallanyk
I’m a product designer that always hit early roadblocks when learning code. Where do I start? How do I make changes without breaking everything? Because of the challenges, I assumed “my brain must not be wired for programming.”
This changed when I found Elm. The experience of learning Elm gave me the confidence to add code to my design toolkit. Now I use Elm in client work and to experiment with new kinds of design tools. Designers can write more than just views: learning to think like a developer has changed the way I approach work as a designer.
My goal is to help developers and designers work better together using Elm, and see more designers join the Elm community.
My talk will cover: -How Elm became a valuable part of my design toolkit -Specific learning roadblocks and how I overcame them -How these lessons reveal opportunities for better shared tooling between developers & designers -What design tooling can steal from Elm
June 27, 2019, 12:30PM, 60 minutes
.
June 27, 2019, 1:40PM, 20 minutes
Liz Krane
Building my first Elm app was a two-for-one deal: learn functional programming and learn to sight-read sheet music! I’ll share my greatest challenges and most valuable lessons from building this musical side project, with Elm as my first introduction to purely functional programming.
Highlights include:
Tagline for this personal project: learn to hear with your eyes and play from your heart!
June 27, 2019, 2:20PM, 20 minutes
Seiya Izumi
It is no doubt that all Elmers are making an application that is going to be LARGE! We are also the same. The bigger our application got, the more severe, challenging decisions we were required to make in viewpoint of software architecture, design pattern - you name it.
My talk shows a long journey of our product with Elm including decisions we have made, troubles we dealt with, and so on.
Audience can learn how to make their application scalable all the way around blunders in the viewpoint of real world use of Elm.
This is the true story which comes from the largest Elm application in Japan.
June 27, 2019, 3:00PM, 20 minutes
Romans Potasovs
What under water stones is when you try use Elm for games, that renders 60FPS, what must be done different. How use patterns designed for imperative programming in FP.
June 27, 2019, 3:40PM, 20 minutes
André Dietrich
Markdown is an ideal tool for documenting and thus a suitable format for Open Educational Resources, but as a static markup language it is also boring. So the idea was born to create a DSL that is based on Markdown but intended to be used for developing online courses, that look like screen-cast with various interactive elements. Starting this project with Elm, it was more or less an explorative journey, with rapid changes in the DSL and the interpreter that were guided by the elm compiler. Code-blocks are now executable and editable, quizzes can be defined in various ways, images are generated from ASCII-art, effects and transitions combined with text2speech that enable interactive storytelling, among other features. But the course itself is still a valid Markdown document that can be edited by any ordinary person, even without programming skills. The interpreter build around the Elm-architecture hides all complexity, such as code evaluation, internal message routing, lazy parsing, etc. - https://LiaScript.github.io
June 27, 2019, 4:20PM, 20 minutes
Benoît Chiquet, Radwane Hassen
Elm started its journey at Veepee in 2017. Since then, multiple teams have adopted it and pushed it in production. In this talk, we will tell you the technical and human story of our products through multiple anecdata:
- How we managed to convince people to give Elm a try, and how we onboard newcomers on Elm,
The hope is that after this talk, you will find your own way to start Elm in your company and build successful production stories
June 27, 2019, 5:00PM, 20 minutes
Dan Abrams
The most difficult part of directing a live, multi-camera video production, is avoiding mistakes. You mean to switch to Camera A, but put up the title card, instead, requiring difficult work to go back in and edit.
But Elm’s type system lets us model our data such that we can make such mistakes impossible. Using Algebraic Data Types to model my video layers and State Machines to model my transitions, I can effectively make impossible video states impossible.
The talk will include a live-streamed demo of controlling robotic cameras, switching video cameras, adding graphics, all from a web front-end built in Elm, while I’m speaking. It will all go out on the Elm Europe 2019 Livestream feed.
June 27, 2019, 5:30PM, 150 minutes
At the end of the first day, we’ll have a party with a jazz concert, and some food. Let’s talk about what inspiring projects we want to create with elm together. Climate change ? Education ?
June 28, 2019, 8:00AM, 60 minutes
Get together and talk to strangers about elm, it’s the place to do that !
June 28, 2019, 9:00AM, 40 minutes
Mario Rogic
Elm achieves a lot by paradoxically “doing less”. It’s a really interesting effect!
We have been experimenting for 1.5 years on expanding the “do less” ideology. Instead of a backend with an API, database, interchange format, hosting, deployment, migrations… what if we had none of those? Could we think of web development differently? While lots of discussion has been had about “putting Elm on the server” over the years – we’ve tried to explore in a different direction entirely.
This talk will explore our soon to be released project, Lamdera; the first language-as-a-service platform (as far as we’re aware!). We’ll share discoveries we made while building it, why the web development approach we have today is as it is, and what “truths” we might be able to reconsider as we approach 2020.
We’ll be doing some live coding in Elm and have audience participation in order to demonstrate our ideas and get live feedback from the community.
June 28, 2019, 10:00AM, 20 minutes
Manuel Fuchs
Emulating a retro game console is a many-faceted task. Besides emulating the central processing unit, there are many other components that need to be emulated and integrated before games become really playable. This talk will focus on the Game Boy’s APU, the Audio Processing Unit.
As the Game Boy is limited in memory, computing power and storage, simply playing audio files is out of the question. To accomplish this task, the Game Boy synthesizes audio out of thin air, based on control instructions.
You will learn what sound actually is, how computers work with it, what tradeoffs can be made and why retro computers have their own distinct sound.
Last but not least, we will take a deep-dive into the Game Boy specifics and how its APU can be emulated with Elm.
June 28, 2019, 10:40AM, 20 minutes
Jakub Hampl
More and more of our data is location aware and we are starting to care about showing and visualizing geospatial data. In this talk I will introduce a library for decoding, storing, measuring, transforming, generating, aggregating and interpolating that kind of data along with real world examples from the domain of disaster recovery using satellite technology and how these techniques can be used to build clever geospatial dashboards in Elm. I will also briefly demonstrate how one might visualize this kind of data using gampleman/elm-mapbox.
June 28, 2019, 11:20AM, 20 minutes
Joël Quenneville
Games are fun to play and fun to make! Elm is a great way to get started building games. We’ll take a whistlestop tour of 2d-game math, visuals, dealing with time, common data modeling solutions, and more. You will be equiped with the knowledge to participate in a game jam and turn your ideas into a playable game.
June 28, 2019, 12:00PM, 20 minutes
Folkert de Vries
The talk will cover basic concepts of binary encoding, and then look in detail at how using binary decoders with elm/bytes is similar to using elm/json and elm/parser, and in particular where it is different. The questions I want to answer are:
The content is based on my experience decoding font files. I’ve written about the topic (and some of the pitfalls) in these discourse threads:
Part of the work can already be found on Github
June 28, 2019, 12:30PM, 60 minutes
.
June 28, 2019, 1:40PM, 20 minutes
Emma Cunningham
In this talk, we will look at a project where we read data from an audio file using the WebAudio API and use the data to generate browser-based art, evolving through time. We’ll do some live coding with the project to show how to start with a small idea and build upon it. After demonstrating the project, we’ll then dig into the code and review the use of opaque types, looking specifically at how they are used in the project to expose an API that can be used to change elements in response to audio events. Let’s have a bit of fun and make some surprising, delightful art for the web!
June 28, 2019, 2:20PM, 20 minutes
Diane Manière
“A function or expression is said to have a side effect if it modifies some state or has an observable interaction with calling functions or the outside world.” - Wikipedia
This is the story of how we adopted Elm in our young startup, and how we evolved alongside our growing codebase.
I’ll try to debug several side effects Elm had on our world. Some that can be directly traced to Elm: how we managed to avoid writing CSS ever again, or how our quality code standards took a step up when developing our second product, and some more insidious: how functional programming sneakily influenced our coding style, how we changed our way of writing tests, or how our application backend changed as Elm took more and more place.
June 28, 2019, 3:00PM, 20 minutes
Jonas Coch
elm-search provides a unique way to search exposed values of all published packages by approximate type signature.
In this I will share my story of implementing the initial version to learn the language Elm with its tooling, ecosystem and community. We will have a look at the search algorithm and then explore what lead me to write a new version with an improved search and more features. Finally we’ll have some fun with package statistics and see how elm-search can help in learning and teaching Elm and what it might do to improve the developer experience.
June 28, 2019, 3:40PM, 20 minutes
Jordy Moos
Do you want to play your own levels in Boulder Dash? Well, you actually can! And I can tell you how it is made. This combination of gaming, functional programming, and a nip of nostalgia will give us an interesting and addictive result where you can unleash all your creativity.
In this talk, we will discuss how you can apply the tricks of game programming to make a funny game in Elm. As kind of a fun experiment, I recreated the game Boulder Dash with my love of game programming to better learn Elm. The experiment got “a bit out of hand” and the game turned more into a game engine. Not only can we play Boulder Dash, but we can also watch the Game of Life and solve the challenge of day 15 of the Advent of Code 2018. Because why not? I would like to share my enthusiasm for the project and share how things are done. How are some challenges solved functionally? And how can you create your own games using JSON? The goal is to inspire people and to also make something funny.
June 28, 2019, 4:20PM, 20 minutes
Noah Z Gordon
Elm’s not just great for web development – it’s also a wonderful tool that you can use to make interactive, creative visuals! By following the same fundamental principles established in the Elm Architecture, you can start making HTML-based art in a matter of minutes.
I will start my talk by giving a brief history of generative computer art from its inception. Then I will describe more modern forms of computer art, including “algorave”-style live coding.
I will go on to explain the framework I use to achieve different effects and how Elm’s type system simplifies the production of recursive art.
Then I will introduce some of the art that I’ve worked on in Elm, which combines the live coding style with a slider interface that allows the viewer to directly manipulate the parameters of the piece and layer many complementary effects.
I will conclude with a live demonstration, hopefully set to music :)
June 28, 2019, 5:00PM, 20 minutes
Juan Fraire
I was the first IT employee at COYA AG I decide to choose elm vs other alternatives in November of 2016
June 28, 2019, 5:30PM, 10 minutes
Théophile Kalumbu
Developer and Designer collaboration has always been a challenging subject. Designer:” Can you please make the red background slightly darker?” Dev.: “You mean #FF3300 or #FF9922 ?” What if we had a tool that designers and developers could use in order to create an efficient collaboration and avoid these kind of impediments ?
This tool is called a Design System and has been a buzz word in the digital world for a couple of years. Material Design, IBM Carbon etc… All these are shared design rules and principle that are provided by leading tech companies in order to help their teams build cohesive and qualitative products.
In this talk, we will see how through Elm and its great ecosystem we can build a DSM that can help Developers and Designers build great products. We will define a Design Language made of colors, typography and layouts thanks to the expressiveness of the Elm Type System.Then we will make reusable views and combine them in order to build a Pattern Library.
June 28, 2019, 5:55PM, 10 minutes
Chad Stearns
I have written a lot of code (including some Elm code) that deals with generating audio and simulating realistic sounding musical instruments. It’s been a deep dive for me into fascinating different theories of sound. I’d like to share what I have picked up. Here is an outline:
June 28, 2019, 6:10PM, 10 minutes
Dillon Kearns
Test-Driven Development is a powerful programming technique because it:
In this talk, you’ll learn how to get those same benefits using elm’s compiler like a test framework. This isn’t a replacement for Test-Driven Development in elm, but rather a complementary technique.
Kent Beck says that our goal is to write “clean code, that works,” but that we make it harder on ourselves by trying to start with clean code, and then make it work. Similarly, in elm it’s a lot more difficult when we try to get clean working code, and then get it compiling. Start by finding the Shortest Path to Compile. Once we’re compiling, getting the correct values (getting it working) becomes far easier! And once we have correct values, refactoring (getting it clean) becomes far easier!
We are very happy to announce that we’ll be hosting a pre-conference workshop on Elm-GraphQL. Library author Dillon Kearns will teach you everything you need to make guaranteed-correct, type-safe API requests from your Elm app! This full-day workshop will give you a deep dive on everything from GraphQL core concepts, to techniques to build elm-graphql queries quickly and easily. You’ll even pick up advanced techniques on how to effectively model data in your GraphQL Schema, and getting real-time data using Subscriptions.
Check out the full details and workshop agenda here: https://incrementalelm.com/elm-graphql-workshop
To get an overview of the library and some of its features, check out the Github project, or watch Types Without Borders from last year’s Elm Conf.
We are very happy to announce that we’ll be hosting a pre-conference workshop on Elm-GraphQL. Library author Dillon Kearns will teach you everything you need to make guaranteed-correct, type-safe API requests from your Elm app! This full-day workshop will give you a deep dive on everything from GraphQL core concepts, to techniques to build elm-graphql queries quickly and easily. You’ll even pick up advanced techniques on how to effectively model data in your GraphQL Schema, and getting real-time data using Subscriptions.
Check out the full details and workshop agenda here: https://incrementalelm.com/elm-graphql-workshop
To get an overview of the library and some of its features, check out the Github project, or watch Types Without Borders from last year’s Elm Conf.
One-day Masterclass with Richard Feldman (Saturday).
Learn from the best with Richard Feldman — the author of Elm in Action — on this 1-day masterclass this Saturday June 29th at EFREI.
Don’t forget to bring your laptop and a French AC adapter during the workshop.
Want to get involved and help support elm Europe 2019 ? We'd love to hear from you.