Elm Camp June 2023 Session Overview

From 28th until 30th June, there was a global Elm unconference in Denmark (announcement post)

[It was] an event geared towards reconnecting in-person and collaborating on the current and future community landscape of the Elm ecosystem that surrounds the Elm core language. (excerpt from https://elm.camp)

There were some pictures taken, and some of them and other artifacts might be added to the website in the future.

I am not affiliated with the nice organizers of Elm camp who made it possible, nor am I a particularly active member of the community.
I just thought broadcasting some (incomplete) information soon after the event would be a good idea.
No need to polish too much before publishing, this is not an Elm package after all :blush: and editing the post should be easy.

This thread
I am creating this thread to not forget about all the cool things I have heard or seen. The second reason is so people who were not attending can get news from the Elm camp, and can ask questions more specific than “how was it?” and don’t have to start conversations with “tell me everything”.

Now you could for instance talk directly in this thread about topics you are interested in.
Or you could create a new discourse thread related to a session, for instance: “I want to create the next Elm camp, what should I know from the session ‘The making of Elm camp’?”

I will try my best to update this first post over the next days as new information keeps coming in. Feel free to add comments or write me direct messages if you want something in this first post changed.

I hope that in the end this first post will be useful to read a short sentence about each session from the Elm camp, and to jump to places where more information will be found. Maybe also the name of the attendee proposing/driving the topic.

Attendees
There were about 40 people in Dallund Castle in total and Evan was attending Elm camp as a normal participant.
I have met him only this one time and this is what I remember and want to share:

  1. Evan is working on Elm full-time and is funded entirely out of his own savings since leaving noredink.
  2. He mentioned the upcoming https://elm.studio and his continued work on Elm on The Backend.
  3. And he wants to share details about his work and explorations himself when he is ready.
My personal opinion (feel free to ignore)

So far Evan has always produced high quality content and I think he wants to avoid creating too-high expectations by sharing too much, too early. So I will be patient until he thinks his new stuff is good enough to be shared and will keep enjoying what already exists and what the community is building.

Sessions
All sessions were either 15 or 30 minutes long and followed the unconference-format guidelines. So most focused on direct discussions, and no one was recording or keeping minutes.
This means that the key takeaways from sessions might vary from person to person, and I would like to update this overview to reflect more opinions.

Next 5 years for Elm

Outlook as described on Elm on The Backend, and gathering ideas in small groups how to grow the impact of Elm or its community.

Elm in Business

How do companies use Elm? How do multiple teams work together? General sharing of experiences.

Further improving error messages with LLM

Worst Elm code possible (live-coding session)

If bad Elm is still better than good JavaScript, what are characteristics of the worst Elm code possible?

Lamdera debug

A proof-of-concept debugger for understanding what is happening on the backend when working on a Lamdera app locally.
It is possible to connect https://backend-debugger.lamdera.app to any Lamdera project.

Reflecting on the last few years (non-programming-topic)

Or: “How many people moved to a farm?”

Write an elm-review rule together

Live coding following GitHub - jfmengels/elm-review: Analyzes Elm projects, to help find mistakes before your users find them. with a running commentary.

Games with Elm

elm-dev

Ideas for a new kind of IDE https://elm.dev
Code is at GitHub - mdgriffith/elm-dev and a live demo was presented at strangeloop 2022

Lamdera in business

More about Using Lamdera professionally

3D objects in Elm

Using GitHub - kraklin/elm-csg: CSG implementation for Elm

Elm for beautiful art and music

For instance a visual art piece

Options for dealing with github user renaming

And discussion about the Elm package ecosystem

Live-code an elm-land app

Building a twitter clone with https://elm.land

Debugger needs and wants

Ideas for visualizing program flow.

elm-interpreter

An in-progress interpreter for Elm code, written in Elm: GitHub - miniBill/elm-interpreter
Discussions happen in the elm-interpreter channel on “Incremental Elm” Discord

TEA with LLM/AI (actor pattern)

Future Elm IDE plugins

More on Elm Camp session about editors and IDE plugins

JS mutation observer

elm-book v2

The next version of elm-book, a tool that makes it easy to create rich documents that showcase documentation, UI components, design tokens, and more.

elm-janitor

State/intent of the janitor project and how to apply patches (from PRs on Elm’s core packages). Talk about it in a channel on “Incremental Elm” Discord.

Browser GUI for elm --init

Ideas for scaffolding a new Elm workspace

New and exciting things in programming (outside of the Elm bubble)

UI with WebGL (instead of Html)

Showcase of an UI framework for the https://town-collab.app game. It uses WebGL and no html (hence the title) and is partly inspired by elm-ui.

IDEas

Ideas for IDEs :wink:
Intellij, Language Server, elm-dev…

Getting an Elm certification

What makes a “good” Elm programmer? Certifications might be a way to fund further Elm development.

Generative art with Elm

elm-land

continuation from day before

Funding Elm

Similar to Costs/Funding in Open-Source Languages with more recent data.

The store pattern

Another look at the pattern described on 🎙 Elm Radio Episode 58: Elm Store Pattern.

Let's play games

3D objects in Elm

Similar to day before because not everyone could attend

elm-notebook

Early wip version of an interactive code notebook for teaching, learning and experimentation. Similar to jupyter, but using elm-interpreter to evaluate Elm code.
Was already announced on slack, where jxxcarlson is also available for questions.

Internationalizing the Elm compiler error messages

It might be easier for beginners if the error messages were translated to their native language.
Also thoughts about translating the keywords, so a user might program without prior knowledge of English.

Elm + PostgREST

Generating an Elm back-office admin interface from PostgREST schema definitions. Inspired by ActiveAdmin.

Forms

Showcasing different approaches and packages

3D vehicle simulation

The making of elm-camp

On finding a venue, nailing down a concept, finding sponsors and their thought process.

I try to favor publicly available links, but there are also a few links to channels on the “Incremental Elm” discord server. To join it, go to Incremental Elm Community Chat

Have fun! Or not (if you rather want to follow a being-miserable-cult than a happy-cult :sweat_smile:).

35 Likes

I did a short write-up on my Elm Camp experience in case anyone is interested https://wolfgangschuster.wordpress.com/.


@marcw I really like that you pointed out that Evan was attending as a participant, and I think this applies to others in the community as well. I didn’t see this fitting in my blog post but my wife and I discussed a bit about how this sort of conference felt compared to others. One of the things we noted was that everyone felt equal. In a typical conference there are people placed on pedestals just by the fact that they’re literally on a stage above everyone else and given a microphone. With an unconference it feels more like a meetup or even just colleagues/friends hanging out. I definitely prefer this format.

17 Likes

Thank you for sharing your experience :slight_smile:

I’m intrigued by the following item:

  • Future Elm IDE plugins

Anybody got something interesting to say?

4 Likes

Thanks for sharing!


:smile: Is this for real? I’m curious to know both what it looks like to move to a farm and if the tree-inspired name of Elm correlates to having like-minded programmers interested in agrarianism and/or nature. :deciduous_tree::sheep:

For this session we ended up splitting into 4 or 5 small groups (max of about 4-5 people per group) to chat about what our lives were like over the past few years.

I can’t speak about moving to a farm, but I can speak about moving away from farm life :smile: (more than a few years ago).

I don’t think there’s any direct correlations between the name Elm and people being interested in agrarianism and/or nature. IIRC part of the name Elm came from “people like trees”, paraphrasing.

I’m not familiar with that reference. I wondered if “Elm” was a nod to tree data structures.


I was (mostly) jesting about the correlation (I have those interests and don’t expect others to have the same), but I’m impressed that you all had this session. I think a session like this is another indicator pointing to the uniqueness and excellence of this community!

I guess my paraphrasing was slightly off https://groups.google.com/g/elm-discuss/c/S4zbHJWPXvU/m/JyavEHDDQucJ

I wanted to name it after a tree (nice names, not too much namespace pollution). I made a big list of pleasing tree names and noticed that Elm sounded quite like Element. That’s pretty much it :slight_smile:

I think I was trying to paraphrase the “a tree (nice names”.

2 Likes

It was said during gathering of topic ideas :upside_down_face:.
It is a fun incentive for sharing details about one’s own personal life and talk about non-programming related things.

1 Like

I’m a little fuzzy on the details because there were multiple sessions centering around tooling and IDEs.

But I think this one started with the elm-language-server, which powers the VS Code plugin.
How it uses tree-sitter for parsing Elm and Typescript to add type inference and type checking.

Then there was the question if type inference could also be added to a fork of the elm compiler, so fewer things need to be reinvented.
For instance elm-tooling-compiler or elm-dev (I added more info about elm-dev to the first post).

I’m not sure when the elm-land vscode plugin was mentioned in the timeline of that session, but it is published as a minimal VS Code plugin for Elm: https://github.com/elm-land/vscode/tree/main/docs with an offline docs viewer, conversion of html to elm and more.

I think the niceties (and subtle useful features) of the intellij plugin were part of other meetings, and I don’t have notes on that right now.


Maybe this list is also interesting to you?

Thanks a lot for the feedback.

I hoped to hear a bit about the IntelliJ plugin since it seems to be abandoned.

elm-dev looks pretty cool :slight_smile:

Evan and I recently moved to the farm I grew up on! We are hoping to do a bit of farming for our own consumption :blush: Evan sometimes uses learning about agriculture as a break from technical work. Very complementary occupation!

18 Likes

Programming and gardening are a great mix and complement each other well! We have 3 gardens and raise chickens and ducks. Getting your hands in the dirt occasionally helps you stay grounded and connected with the Law of the Farm. And paradoxically, it is often the simple/common things in life that bring us the most joy.

The Law of the Farm

“Did you ever consider how ridiculous it would be to try to cram on a farm—to forget to plant in the spring, play all summer and then cram in the fall to bring in the harvest? The farm is a natural system. The price must be paid and the process followed. You always reap what you sow; there is no shortcut. This principle is also true, ultimately, in human behavior, in human relationships. They, too, are natural systems based on the law of the harvest. In the short run, in an artificial social system such as school, you may be able to get by if you learn how to manipulate the man-made rules, to “play the game.” In most one-shot or short-lived human interactions, you can use the Personality Ethic to get by and to make favorable impressions through charm and skill and pretending to be interested in other people’s hobbies. You can pick up quick, easy techniques that may work in short-term situations. But secondary traits alone have no permanent worth in long-term relationships. Eventually, if there isn’t deep integrity and fundamental character strength, the challenges of life will cause true motives to surface and human relationship failure will replace short-term success. Many people with secondary greatness—that is, social recognition for their talents—lack primary greatness or goodness in their character. Sooner or later, you’ll see this in every long-term relationship they have, whether it is with a business associate, a spouse, a friend, or a teenage child going through an identity crisis. It is character that communicates most eloquently. As Emerson once put it, “What you are shouts so loudly in my ears I cannot hear what you say.” There are, of course, situations where people have character strength but they lack communication skills, and that undoubtedly affects the quality of relationships as well. But the effects are still secondary. In the last analysis, what we are communicates far more eloquently than anything we say or do. We all know it. There are people we trust absolutely because we know their character. Whether they’re eloquent or not, whether they have the human relations techniques or not, we trust them, and we work successfully with them. In the words of William George Jordan, “Into the hands of every individual is given a marvelous power for good or evil—the silent, unconscious, unseen influence of his life. This is simply the constant radiation of what man really is, not what he pretends to be.”
― Stephen R. Covey, The 7 Habits of Highly Effective People

9 Likes
3 Likes

Congratulations! I can’t recommend The Living Soil Handbook highly enough. All great projects begin with a great foundation. :grin:

3 Likes

Obviously we need a #farmers channel on Slack - I am getting a bit into forest gardening myself and manage a rewilding site of 16 acres. :slightly_smiling_face: I enjoyed hearing for the first time about “the law of the farm”.

4 Likes

I updated the first post with more information.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.