Holiday Special!

Some Elm friends visit for a Family Feud-style game. Plus a special Holiday roundtable to close out the year!
December 21, 2020

Our special guests



Hello, Jeroen.
Hello, Dillon.
How are you doing today?
I'm doing pretty good.
How about you?
I'm good.
And I'm very excited today because it's a special holiday episode of Elm Radio.
And we have some Elm friends for the first time.
So I'm very excited to introduce our guests and Elm friends today.
Why don't we go around?
Tessa, you want to say a quick hello and introduce yourself?
Hello, I'm Tessa.
I'm very excited to be here and very nervous about what's about to happen.
There's a lot on the line.
There's a lot on the line.
It feels very important.
It feels like...
It is.
...a very serious, very serious episode.
The stakes are high.
This is a serious episode.
We are playing for real street credit.
Credit for the streets.
I'm actually playing for street credentials.
That's what I've decided I want to win.
That might be more useful.
I'm going to be a street doctorate.
We'll get to what we're going to be doing with these fun guests in a moment.
Let's get around the table and introduce the next guest.
We've got Mario Rogic.
Hello, Mario.
Thanks for joining.
Thank you for having me.
So for those of you that might not know me, I'm from the Elm London community.
You probably see me on Slack as well.
And I've been banging on about Lambda, which is my love project on the side for some time.
So yeah, that's me.
What a delightful one.
And we might even be using a little bit of Lambda today.
To spice things up.
It all goes well.
I reserved all that.
I'd be like, this is a terrible idea and we should stop using it.
But hopefully.
Fingers crossed.
All right.
And last but not least, we've got our friend Matt Griffith.
Hey, Matt.
I'm Matt.
Probably best known for Elm UI, but also I do animation stuff and weird other projects
like optimizing Elm code and making up markup languages, I guess.
Not to mention stylish elephants.
Stylish elephants.
Oddly enough, the piece of Lambdera we're actually using also uses Elm UI, which is
kind of great.
So I'd like to thank the JS Party podcast for graciously letting me steal their show
format, which they in turn stole from Family Feud.
Also I'd like to thank Mario for building a cool buzzer that we're going to be using
to play the game.
We got 65 survey respondents for our Family Feud survey.
And thank you to everyone who wrote in.
The answers were a lot of fun.
And so what we're going to be doing today is going through those questions and playing
a Family Feud style game where we try to guess those questions.
So let me briefly introduce the show format for anybody who's not familiar with it.
We're going to go through some of the most common responses from the survey.
And two people from each team.
We've got team Turquoise with Tessa and Yaron.
And we've got team Garnet with Mario and Matt.
All right.
The competition is fierce.
So one member of each team will be facing off to gain control over the board.
If they get the top slot, then they gain control over the board and they get three strikes
to guess all the remaining items on the board.
If they succeed in guessing all the items on the board within their three strikes with
no more than three incorrect answers, then they win all of the points on the board.
If they get three strikes, then the other team has a chance to steal all of their points
from the board.
They actually steal control and then they need to continue playing until they clear
off the board, I think.
I watched an episode yesterday and they just get the points.
They don't get the points.
They just get the points.
So I'm actually kind of new to the format myself and we may do some things that are
not exactly like the show.
But what we're definitely going to do is have a good time and be ridiculous.
So because we do know that everyone listening to this podcast just watches a lot of a lot
of family feuds.
That's the one thing we know.
That's what people really want today.
The first thing that I ask people when I meet them at ELL Meetups is which episode and which
season is your favorite?
If they don't say season three episode 52, then the conversation gets kind of dull.
And if they haven't got a favorite family.
So does that...
Are we talking the turquoise family?
I think the metaphor breaks down there.
All right.
Well, this is a functional feud.
So these are functional alliances.
So how many items are on the board?
Because we don't actually have any board that we can look at.
That is true.
And neither do our listeners.
So fortunately, you are in the exact same place as our listeners are.
Only I have a board.
So the number of items on the board varies.
And I will tell you when we start a new round, how many items are on that particular board.
The number of items on the board depends on the...
If questions clearly grouped together into a chunk, and there are only about four answers,
then there are only going to be four things on the board.
If there were 10 different things on the board, then we're going to have more.
So shall we dive in?
We shall.
So for our first face off, the teams have chosen Mario Rogic for team Garnet and Tessa
Kelly for team Turquoise.
Turquoise, Turquoise, Turquoise, Turquoise.
The students.
Get your buzzers ready.
This buzzer brought to you by LimeDera.
Question number one is name an Elm list function that most Elm devs know.
And Tessa gets the buzz.
Ding, ding, ding.
You have just gained control over the board.
Team Turquoise, you have number one item, 49 respondents said
Dang, that's pretty good from my research of watching Family Feud yesterday.
I'll do a very strong start.
And actually this is a strong board to have two.
There are only four items.
You have three strikes.
Yeroon, it is your turn to make a guess.
Name an Elm list function that most Elm devs know.
I will say fold Elm.
That did not...
Ah, come on.
Oh, man.
That's a risky guess.
That is one strike.
Tessa, it is your turn.
Oh, dear.
I feel like I don't know what people use.
And this is one that people think that most Elm devs know.
So it's not necessarily their favorite or their most used.
It's the one that they think other Elm devs know.
Is that your answer?
I don't know.
I don't know.
Oh my goodness.
I'm so serious.
Which function was that?
Would you like to guess range?
Oh, range.
Yeah, sorry.
Is that your guess?
Yeah, hang on.
Range is not on the board.
Oh, no.
Two strikes.
Two strikes.
Filter is on the board.
All right.
That is...
Three respondents said list.filter.
That's all?
That's all.
Most people said map.
49 respondents out of 65.
We have two remaining items on the board and two strikes.
I'm going to go ahead and combine our two successes and guess filter map.
Oh, it's such a nice function.
Oh, no.
But it didn't quite make it to the board.
I'm sorry.
That is three strikes.
That is three strikes.
Team Turquoise, we're off to an intense start here.
So, Team Garnet, you may now discuss what you would like to guess.
This is the part where you get to discuss as a team and pick your guess for the steal.
Hold on.
Everything we discuss now is public.
Team Turquoise can guess later, right?
Actually the round is about to end.
Oh, okay.
The round is either about...
You're either...
Yeah, you're going to steal it or not.
Matt, I'm thinking reverse.
What are you thinking?
Oh, length is good.
So, all you need to do is get something that's on the board and you steal.
Reverse is good too, though, because it's like the classic...
There's two on there.
I don't know why length seems to spring to mind, but...
Fold right, fold right, fold right.
I'm inclined towards yours, Matt.
I think we try length first.
I like reverse though too.
Let's try length.
Do we...
Sorry, do we get three strikes or...
You get one strike.
One strike.
To steal.
But there are two remaining things.
There are two remaining things and you have one chance to guess it and steal the 52 points
that are on the board.
Okay, wait, hold on.
Dillon, can you tell us in collecting the answers, were respondents given a list or is it like
free form?
They just had to...
It was free form.
It was free form.
So, I think...
So, length is kind of nice because it's like I immediately think of length from like JavaScript
or something, right?
So, you're thinking like what do other people know?
Yeah, I'm going to need an answer, Team Garnet.
What's it going to be?
Want to go with length?
Let's try length.
Okay, length.
Ding, ding, ding, ding, ding.
Team Garnet steals the board.
55 points.
So many street credits.
Brutal, brutal.
Team Garnet takes the lead.
The street credentials are looking pretty good for Team Garnet.
But what was the free form?
So, list.length had three respondents.
List.head was the third item with three respondents.
Come on, just use the case expression.
We also had...
We had not quite on the board with one respondent.
We had reverse, fold, left, map, filter, map, didn't quite make the board, cons, concat
map concat and plus plus.
Technically not in the list module, but it is a list related function.
But also keep in mind that these questions are whatever people write in.
They're not strongly typed.
They're not strongly typed answers.
They're just strings floating in the universe.
They're stringly typed.
All right.
Four loops.
Dang it.
Team Garnet, Team Turquoise, we are now doing a face off between Matt Griffith and Yaroone
Are you ready?
Yaroone Buzz is ready.
I'm going to reset the buzzers.
And do we know that hitting the space bar actually does anything?
Do you want to do a test?
You can do a test.
I'm going to do a quick one.
Yeah, do a quick test.
I'll reset it.
It's pretty good.
Oh, I got a little bit of a latency edge, which I'm going to totally blow.
All right.
Name an Elm package under the Elm slash package namespace.
Yaroone buzzed in first.
Elm core.
Team Turquoise once again taking control over the board.
With the number one answer core, we had 18 respondents.
Congratulations Team Turquoise.
You've won control.
How many items are on the board?
There are seven items on the board.
We have to clear them all?
You have to clear the remaining six items.
You have three strikes.
I strategically lost this round, Mario.
I'm just kidding.
Can I just say though, because listeners can't see, but Matt was actually 20 milliseconds,
21 milliseconds behind on that buzzer.
It's basically, give or take some latency, it was basically a tie.
I got it off my game.
We'll be gracious.
We'll be gracious.
We give it to Team Turquoise.
You can start the round if you give us the 52 points back.
I'm fine with that.
I'm sorry to say.
52 is enough.
All right.
Tessa, the board is yours.
Name an Elm package under the Elm slash package namespace.
I'm pretty nervous about this too.
It seems like obviously I should know this, but do I?
Do I really?
I'm going to fire that last round and go list.
Is that under the Elm slash?
No, it's not.
No, it's not.
Oh no.
That's not on the page.
It's okay.
That is not on the board.
I'm going to have to give you a strike there.
I'm going to have to give you a strike there.
Do keep in mind that the answers do not necessarily have to be valid.
It's just anything that people put in.
It could have been on there.
It happens to not be.
Do you want us to answer wrong answers?
You need to guess what people wrote.
That's the game.
So far, I feel very comfortable with that as an approach because then we can say wrong
answers but have it be strategic.
Exactly right.
You're in.
Elm Jason.
Jason is on the board.
That's the number three item with 10 respondents.
There are five items remaining on the board and you have one strike.
Tessa is on the Elm community, I think.
So probably not that, I think.
I don't install the packages very much.
I have the set of packages that I use.
You do it like once and then I don't look at where stuff came from.
I do wonder how much people pulled open a separate browser tag for some of these because
a lot of people like copy pasted URLs and...
So it's not just me who doesn't know package names.
Ding, ding, ding.
You are on the board.
You've got three down, four to go.
Elm Purser.
That is item number five with six respondents.
Three items remain on the board and one strike.
I guess I'm not sure if the browser is a separate package.
It is if that's its name, but I think it's separate.
Would you like to guess that?
I would like to guess that.
I would like to guess browser.
Ding, ding, ding, ding.
Number four on the board with seven respondents is elm slash browser.
I totally forgot about that one.
You've got two items remaining on the board.
It's looking pretty good.
How many strikes do we have?
You've got one strike and there are 43 points on the board.
Bear in mind that I plan to get all of my questions after this wrong.
So you can't get a strike here.
All right, Jeroen.
It's on you.
I'll leave you the easy ones.
Don't say that.
That makes my failure worse.
I feel like it's not going to be in the board, but I'm going to say elm project metadata
That is not on the board and actually not in the responses, unfortunately.
Come on.
It's a great package.
It's a great package.
It sounds like something a tooling author would do.
Yeah, I was hoping for at least one person to answer it.
It's hard to know where the cutoff is.
It is.
It is.
We've got two items on the board.
We've got the number two item remaining and the number six item.
Tessa, it's your turn.
Two strikes.
No pressure.
The number two item.
So a popular response.
Name an elm package under the elm slash package namespace.
That's the only problem.
Elm slash, right?
And we said core already, right?
Yes, we did.
That was the first response.
So we have one slot.
Yeah, you've got so on the board, you've got the number one slot core, the number three
slot JSON, number four browser, number five parser and number seven time.
You don't have number two or six.
I'm going to go regex because I feel like people would maybe guess that.
Regex is unfortunately not on the board.
Didn't quite make the cut.
I'm sorry to say.
All right.
It was there.
It was there.
I'm excited, but it didn't make the board.
Team Garnet, you have a chance for another upset.
There are two items remaining on the board.
If you can guess one of those, then you steal the board.
There are 43 points up for grabs.
There's a lot of street points.
So we get to do our super secret totally in public discussion on this now, right?
Well, what are we thinking, Matt?
What are you thinking?
They all make shit up.
I thought you were thinking SVG.
I was thinking LM URL.
But I don't know if people think of that, but you kind of can't do browser navigation
stuff without it, right?
But you can't do HTML without HTML, right?
We just have to get one of them, right?
HTML is good.
HTML is good.
I'm down with that.
I thought everyone used LM UI now.
I thought HTML is dead.
Sorry, I should be clear.
HTML is bad.
We just got it exists, right?
Oh, my God.
Oh, my God.
Oh, my God.
Oh, my God.
Oh, my God.
Oh, my God.
Oh, my God.
Oh, my God.
Oh, is that still there?
Is that a thing?
The HTML package is actually under LM Explorations.
It's very, very beautiful.
I was legitimately confused for a second.
I was like, what?
We have the custom JavaScript.
That's good.
That's good.
No, I think we go with that, Matt.
Let's see.
Final answer, HTML.
What's it going to be, Team Garnet?
Is it on the board?
It is number 21.
It is number 21.
It is number 21.
It is number 21.
It is number 21.
It is number 21.
It is number 21.
It is number 21.
It is number 21.
It is number 21.
It is number 21.
It is number 21.
It is number 21.
It is number 21.
It is number 21.
It is number 21.
It is number 21.
It is number 21.
It is number 21.
I hate this game.
I am stolen.
It's how street credit is gained, right?
This is how street credit is accumulated.
Stolen street credit.
It's all stolen.
I just want people to know that I do write HTML.
That is my job that I do all day.
You only write accessible HTML.
That's why.
If everybody's installing LEMUI, then maybe they don't even install LEMHTML.
All right.
So our next face off, we're back with Tessa Kelly and Mario Rogic.
Don't press a buzzer.
We've got a bitter, bitter history here.
Yeah, the buzzer is broken, Jeroen.
It's hooked up to something else.
Just wait.
It's fine.
Actually, strategically, should I try that?
Should I try not pressing?
I don't know.
I don't know.
Just try to win.
So question number three.
We've got six items on this board.
And the question is, you need to reset.
Oh, did I not?
Yeah, I think we're good.
Name one well known LEM conference talk.
Hey, you guys may get to steal after all.
Mario, what is your answer?
Now I know what the conference talk is.
It's by Richard Feldman, the one where he outlines making impossible states impossible.
But I can't.
Yeah, you don't need to get the exact one.
I'll give.
I'd submit that one.
Richard Feldman on making impossible states impossible.
That is indeed the name.
And that is indeed on the board at number one with 25 respondents.
Team Garnet for the first time taking control of the board.
We're going to steal all your points now.
I feel like I'm missing the crowd cheering because I'm like raising my arms here repeatedly.
I can see that on the podcast.
That's a bit ridiculous.
So we'll see if this is going to be another stolen round or if team Garnet will earn some points for themselves this time.
Here we go team Garnet.
Matt, you're up.
Name one well known LEM conference talk.
Let's say do you name the author too or the name of the talk?
Anything that kind of identifies it.
I'll give you.
Maybe life of a file by Evan Jablicky.
Life of a file is on the board at number two with 16 respondents.
Okay, Matt. Matt has stolen my next answer.
That's good.
Keep in mind, this is anything that respondents put down on the board.
I would presume that keynotes would be the most memorable.
And I know that I've seen them all, but I can't remember the names now.
Just say your own.
Your own conference talks.
So I think Richard did another one.
Richard did his own version of a life of a file, but it was more about how to scale LEM apps.
I don't remember the name of the conference talk though, but is that enough to identify it?
That is enough to identify a talk.
Didn't quite make the board.
So that is a strike.
The talk is called scaling LEM apps and it's an excellent talk.
All right.
We just did it.
All right, Matt.
You've got one well known LEM conference talk.
You've got one strike.
Come on, you got to give us more points.
More points to steal.
Yeah, get a few more right before handing the board to us.
So we've got the number one and two.
We've got four more remaining.
I really like that all of this dead noise is probably going to be cut out, right?
So on the actual podcast, we're going to seem like geniuses.
Like, the answer immediately.
Hello, snappy, these guys.
Hello, editing team.
Can you please make team guards look stupid?
Thank you.
Oh, man.
Let's see.
Going to need an answer.
A well known LEM conference talk.
Oh, man.
I don't even remember what the keynote was for that conference.
It's OK.
We're going to need an answer.
Just throw anything out there.
What you got?
Let's say writing testable LEM code.
Oh, was that this is tough.
I really like that.
Sadly, that did not make the list.
But I agree.
That's a really great one.
But this was yeah, this was asking a well known one.
People people didn't put that on the board.
Unfortunately, that is two strikes.
So that must be bittersweet.
That must be bittersweet.
Everyone go listen to that.
These answers are not only not type safe, but they're not tested.
Tessa, yours wasn't on the board, but you're that much closer to the steel with two strikes.
That's all you need.
The street credit.
I only did that talk in order to trip up Matt in this moment.
And it's finally worth it.
So during the talk, didn't give you street cred.
Getting the points here now will be that's the real play.
All right, Mario.
I think I'm going to I think I'm going to go for just I'm going to try memorable.
I'm just the ones that most memorable team most impressive.
So I'm going to the Game Boy emulator and Elm talk.
How's that?
I would rememberable talk.
Unfortunately, not on board.
That makes for three strikes.
Team Turquoise.
I think I'm going to walk on water.
So if they steal, obviously they steal.
I'm very familiar with how that works.
But but if they don't steal, then the points are yours.
I know it's hard to imagine, but it means that you earned the points.
We are the points before in concept.
But you earn your own points.
All right.
This makes no sense.
And you may congregate and decide the answer you'd like.
Like how capital is right.
I don't know.
You know more about the inner circle of capitalism than I do.
One talk that stands out as memorable but wasn't strictly an Elm talk was Evans open source,
like history of open source.
Let's go mainstream.
Let's be let's be mainstream.
Something like that.
Oh, well, there's that one.
But then there's separately though, like the strange one.
Yeah, it was like this conference.
If you uniquely identify it, then I'll give it to you.
I don't think we should go for it, though, because it was explicitly at Strange Loop rather than at ElmCon.
It was for an Elm conference talk.
Was that a question?
Name one well known Elm conference talk.
I want to say type without borders.
That's a good one.
For the listener, that was Dillon talk.
I sense a bit of like shining an apple and placing it on teacher's desk right now.
Did you survey?
Did you survey your listeners?
They'd be more likely to be familiar with with your talks.
This survey was sent in the news and links channel on the Elm Radio Twitter and in a
few internal company slacks.
That is our pool of respondents.
So I'm going to need an answer.
Team Turquoise, what what's your guess for the steal?
The steal opportunity?
I think I think we should be strategic and go with it.
Types without borders.
Okay, that one.
Types without borders.
I'm honored and somewhat embarrassed.
Because you cheated and you added it to the list.
It is not on the board.
Much of my train.
Turquoise fails at stealing.
Turquoise is better at earning points than they are stealing them.
It appears so because we have a question because like I think I thought of a talk that's on
So if like we already know who got the points, right?
But yes, you can guess one.
So I think it was Luke Westby's Web Components talk.
I think everyone knows that's a good guess.
It only showed up with one respondent.
So it didn't quite make the board.
So the remaining slots we had were number three with five respondents was Elm Europe.
The conference?
That's how this game works.
It's what I wrote.
A lot of people wrote Elm Europe.
A lot of people wrote Elm Europe.
You never miss programming.
There are curveballs in this game.
So we thought Elm Europe was the best conference talk, right?
Is there a respondent who put in Elm Europe?
You need to explain yourself.
Read the questions.
Wait, hold on.
Multiple people individually gave that same response.
They did.
They may have just heard that Elm conference and then dropped the talk part, like which
was the best conference.
That's part of the...
It has jazz and chocolate croissants.
So that's pretty great.
Exactly right.
It's tough to compete with.
Our number four slot with four respondents was code is the easy part.
Number five...
I'm like, what was the keynote for the first freaking thing?
The left of the file, I think.
Number five...
The first Elm conference was code is the easy part.
Oh, that was for Elm Europe.
Number five?
Number five with three respondents was make data structures.
And number six with two respondents was let's be mainstream.
So unfortunately for team Turquoise, we've got another round won by team Garnet.
41 more points on their scoreboard.
Put it in the street bank.
We've got a decisive lead with 151 points.
We have to change our strategy.
I think maybe we should...
You buy so many strengths.
You think you should...
What, Tessa?
I think we should transition from trying to win to just doing smack talk.
It couldn't hurt.
It certainly couldn't hurt.
I started doing that at question two.
But it doesn't work either.
Round four.
And we're back with Yaron and Matt matching up at the buzzers.
Let me reset our buzzers here.
I don't know if I should press it.
All right.
The question is, what is your favorite Elm data type?
And Matt buzzes in first.
And we've got eight items on the board.
We're going for number one.
I mean, a list?
List is on the board.
And number two with 10 respondents.
There is still the number one on the board.
Team Turquoise, Yaron, if you guess the number one slot, then you gain control of the board.
I think I have it, but I don't know if I want to give it.
Let's get it.
It's more fun to guess at least, right?
Let's just go for it.
For the number one?
They can take our points, but they can't take our honor or our fun.
Well, maybe I should say something.
There you have it.
Maybe is maybe on the board.
Ding, ding, ding, ding.
Maybe is the number one response with 11 respondents.
Yaron, does that make you a pessimist or a realist?
I feel like maybe is something that is always the thing that we end up regretting that we
put in too many maybes.
I guess it's that people love the fact that we don't have null and that we can represent
those things with maybe.
It's kind of tough because it's like the first thing you learn of like, oh, we don't have
We solved it in this really great way, but definitely don't use it.
It's great when it's not overused.
The lesson about null is not to have null.
Well, well done.
Well done.
So Tessa, control goes to you.
There are six items remaining on the board.
You've got the number one and two slots and you've got zero strikes.
So what is your favorite Elm data type?
I am going to guess that our respondents will have written in custom or something like that,
like custom data type, my data type.
You are correct.
That is the number four slot with eight respondents.
Well done.
All right.
It would be a custom type.
We all love custom types.
Well, the respondents never seem to disappoint me.
So never.
Never is a great one, but it didn't quite make the cut.
That said they never.
That's one strike.
Tessa, what is your favorite Elm data type?
That is on the board at number six with three respondents.
All right.
One strike.
Set did not make the cut.
That is two strikes.
How many open slots are left?
There are four open slots remaining.
So we got maybe and list already.
You've got maybe and list and one and two.
You've got number four custom type.
You've got number six Dict.
Result is the number three slot with eight respondents.
Three more on the board.
The more you guess on the board, the harder it is to steal.
The more points they would be stealing.
Yeah, they're going to steal this.
They're crooks.
Post dramatic stress.
I'm going to go for record.
Record is on the board.
The number eight final slot with two respondents.
Thank you, two respondents.
Two strikes.
What is your favorite Elm data type?
A lot of pressure.
I've got one that I kind of want to say that I think people might have said, but then it's favorites.
I'm just going to go for it.
It's a nice type, but it didn't make the cut.
Nobody's favorite.
Only one respondent had that as their favorite type.
Well, that is one answer.
Not quite on the board.
You rigged it.
We're seeing some strong anti turquoise sentiment in the room.
Well, we'll see.
So there are two items remaining on the board and team Garnet, you've got the opportunity to steal.
You've got two items that will give you that.
Those sweet, sweet points.
Sweet. I love points.
So the ones are maybe list record custom and result and result.
Right. OK. And these two and we're in the we're in the rank.
We say big stick is on the end.
Yeah. And then we're in the five and seven responses are not guessed.
I'm thinking go more basic, probably like float or int.
I was wondering about that.
Like the primitives.
You wouldn't say data type.
I mean, even string. Right.
It's interesting because I was thinking when because I was thinking of record.
Right. And like when you say data type, it's like I immediately think of things that are like custom type and less recordy, even though it's like, OK, but, you know,
and same with like int and float, you say, like, is this a data type?
I mean, obviously it is. But like I like that thinking, though.
And to be fair, only a few people have to pick it.
Yeah. Only two people need to pick it to get it on the board.
What made me think it is that sets not on there. Right.
So like a first data type, I thought, OK, it's going to be anything like that's kind of like parametric.
Right. Anything you put stuff in.
Maybe. Maybe. Yeah.
I feel a string or int.
I'm not sure which one. Maybe string.
Maybe string or string.
Is that is that the guess?
Hold on. Hold on.
I would vote for int over string.
OK, but it's final answer. Pretty close.
So it's up to you.
OK, I'm going to I'm going to side with my teammate.
Let's go for int.
Neither of them made the board.
In fact, oh, I have points.
Oh, man.
Team Turquoise Command or something.
Turquoise is on the scoreboard.
The remaining two items, number five, which three respondents was.
Oh, I was just thinking about the package there.
Yeah. Yeah.
Everybody loves remote data.
I don't. Not anymore.
Our number seven slot with two respondents was zipper.
Well, oh, OK.
Some honorable mentions.
We had type alias, tuple, string, select list, random generators, POSIX, non empty list, never maybe JSON values.
Never maybe JSON values.
HTTP error.
Somebody likes HTTP errors.
The structure I use for the whole app, just everything's HTTP error.
I'm just going to model everything with that.
They get an HTTP error in their app and they're like, yes.
We also had browser program was another interesting one.
And unit unit type.
That's an interesting favorite one.
What does that say about a person if their favorite type is unit?
They're probably a minimalist.
Minimalist. Exactly one preference, no more or less.
And maybe they just like the shape.
It's a nice shape. It is. Yeah.
It's the most elegant looking data type.
Maybe they're maybe they're like a soft spoken, you know, don't have a lot to say type of person.
They're my favorite respondent.
I like that one, too. It's a nice one.
So how many points did we get?
Two hundred thousand points. You now have 47 points.
Not too shabby. Nice.
Team Garnet has one hundred and fifty one point.
If we go to the ceiling, which team?
How many points did we earn?
Because I feel like we earned a whole bunch.
We earned everything, I think.
You earned all but about 40 or 50 points that Team Garnet has has gained.
Yeah. All right. Next round.
So we've got another face off with Tessa and Mario.
So reset the buzzers here. Get your buzzers ready.
The question is with seven items on the board, what is an Elm tool you use?
Mario just barely got it.
Yeah. OK. So I have to clarify this for our listeners on the board.
I came in first, but Tessa came in second, but actually 20 milliseconds earlier than me.
So this is Dillon. I think I would say this is a draw.
Is there such a thing?
Should we redo?
Because technically what happens is it's given me a bigger it's given me a bonus because my latency is worse than Tessa's.
OK, let's see if Roche and Bo works with latency.
What are you saying?
Let's see if Roche and Bo works with latency. If it doesn't.
Oh, oh, I see.
You mean Scissors, Paper, Rock?
Yeah, yeah, yeah.
No, I believe it's Rock, Paper, Scissors.
This should have been a question in the quiz.
Best of one.
Best of one. OK.
How do you do this? Because we do Scissors, Paper, Rock and then on Rock you.
That'll work.
Reveal your thing.
As long as you say three things and then go, it'll work.
You know that listeners won't be able to see this, right?
Can we have one person doing announcer voice, like narrating a match here?
We can do this one now.
In the right corner we have Tessa Kelly.
And in the right corner we have Mario Roderick.
Prepare yourselves. Ready? Go.
Ready, ready, ready, ready, go.
I should have said La Roche and Bo.
OK, so we're going to say because I'm from the US and we do Rock, Paper, Scissors.
So I'm going to say Rock, Paper, Scissors.
And then you're going to like Rock, Paper, Scissors.
And maybe you don't do Scissors.
Maybe you do whatever you want.
So, OK, we're going to try this again.
OK, Rock, Paper, Scissors.
That was so fast.
This is the one.
All right, here's the one.
I thought with the paper, everything else Mario's Rock.
Here we go.
What was the question?
What is an Elm tool you use?
I'm going to go with Elm Review.
Elm Review.
Don't tell me someone else.
Elm Review is on the board at number four with four respondents.
I forgot to hit for control of the board.
For control of the board, you need to get the number one slot.
I finally like you respondents, but only the people who voted that one.
Mario, you've got the opportunity if you guess the number one slot,
you gain control over the board.
Number one slot.
Can I confer with Matt or is this so long?
This is all you.
You're on your own.
Matt's going to have to communicate through eyebrows and mental power.
He's a crook and a cheater.
Elm tools.
I mean, I can think of a few, but I'm trying to figure out what would be first.
I'd probably go with something obvious like Elm Test.
Let's go with Elm Test.
Elm Test is on the board, but not at number one.
Does that mean it comes back to me?
It goes on the board and control goes to Team Turquoise.
You've got two down and you've got five to go.
So you've got the number three and four slots and you're in.
So what do we want to do?
What do you use?
And you can't say Elm Review.
It's Elm Review.
I'm just going to go with the compiler.
The compiler did not quite make the board.
Nobody uses that Elm tool.
Does that count as a strike?
My hands translate the JavaScript.
Everybody meaningful does that.
Butterfly palpitation? Anyone?
All right.
Tessa, what is an Elm tool you use?
Elm format.
Elm format is it on the board.
It is number one with 32 respondents.
Jeroen, we've got one strike.
You've got four to go.
Elm Pages.
Elm Pages did not quite make the board.
I regret to inform you.
I wish it were otherwise.
We got one survey respondent saying Elm Pages didn't quite make the board.
Tessa, that was the answer?
Elm Pages didn't quite make this answer.
Elm Reactor?
It's a good guess.
Nobody responded with Elm Reactor.
That is three strikes for Team Turquoise.
Team Garnet.
How many open spots are there?
We have three guests, four remaining.
The number two, five, six, and seven slots are not guest yet.
Depending on if we get one, we either get the points or they get the points, right?
So we can discuss freely.
So things I'm wondering about.
Elm Live is kind of a good tool.
Not kind of, it's a great tool.
Ellie, is that a tool?
Thinking outside the box.
Just go with Babel.
Should we go real crazy?
Is JavaScript an Elm tool?
I think you...
I'm wondering, does everyone know Elm JSON?
Because that's probably the tool I use next most.
Oh, interesting.
It's great dependency and stuff, but I don't know how well known it is.
Yeah, it's a great tool.
I think it's less well known.
Like I'm not sure how many people at Blissfully know about it.
What was your first suggestion again?
So there was Elm Live, Ellie.
And I need an answer, Team Garnet.
Did you say Garnet or Garnet?
You know what I would do?
I would just pass and give us the points.
That's a really great suggestion.
That's awesome.
Yeah, no, that's great.
This is 41 points plus whatever is guessed up for grabs.
Up for grabs.
Or Elm create app.
Is that what Elm Live uses?
Clippers or a rake.
What are you feeling most strongly about?
I kind of feel like Elm Live, but I don't feel strongly.
But like the other one, like Elm JSON is good.
I just think it's less...
Less known.
Let's go Elm Live.
Let's go Elm Live.
Let's give it a bash.
Elm Live.
Is it on the board?
Number five with three respondents.
Elm Live.
Three respondents.
Those are my people.
That's the deal.
All right.
I wonder if Ellie's on there.
Because that's...
So let's do...
We're going to do two more.
Lower the other responses.
So my question is Elm analyze above or below Elm review?
That's a good question.
Elm analyze did not make it on the board.
It got one respondent.
So Elm review did beat Elm analyze in the respondents here.
Elm language server was at number two.
IntelliJ Elm was at number six and Elm SPA was at number seven.
Oh, nice.
You're listening.
So none of your two still?
Elm pages and Elm GraphQL were on there, but not...
Didn't make it to the board.
We used...
But neither did the Elm compiler.
It's not your favorite tool.
Come on.
We also had XRef HTML to Elm.
XRef is great.
Elmite to JSON, which is a very low level sort of awesome tool for introspecting types
from the compiled sort of artifacts.
Elm doc preview and the debugger.
Elm doc preview is awesome too.
I literally submitted a PR to them yesterday.
So I should have said that.
So we've got, we're going to double the points here for this round.
So that we get a chance.
So right now, Team Turquoise has 47 points in second place.
And in first place, we've got Team Garnet with 195 points.
A commanding lead.
I'd like to point out that Team Garnet is actually second from the bottom and that's
kind of embarrassing for them.
We're first from the bottom.
It's lying down.
All right.
Who do we have for our buzzers here?
Who was the matchup last time?
Was it Tessa and Mario?
So we've got Matt and Yeroon matching up at the buzzers.
Oh God.
All right.
Are you ready for double the points?
Question is, what is something you destructure in Elm?
Matt got it.
I'm going to say a record.
That is on the board at number two with 20 respondents.
So how many items are on the list?
Seven items are on the list.
Oh good.
And then we can just steal it back.
I don't want to say what I think is first.
So you said, what did you say?
Oh, he said a record.
I'm going to go with custom types.
Custom type is number seven.
Exactly what I wanted.
Control of the board goes to team Garnet.
Mario, what is something you destructure in Elm?
I would say a maybe.
I would destructure that, but it didn't quite make the board.
That is a strike.
We had one respondent who said maybe.
That's really surprising.
That is interesting, isn't it?
Well, maybe people like using the API to map it and with default and all that good stuff.
We've got sophisticated respondents here.
I feel like there will be some odd answers here.
Is it to me?
Is that?
Yes, it is to you Matt.
I'm thinking a list.
A list is on the board at number three.
So it's Mario, it's to you.
We've got four items remaining, three down.
So what have we had already?
Record and list.
Why is it Mario's turn?
Did they get the control of the board?
Yeah, we did.
Oh, they got control of the board and they've got one strike.
And maybe didn't make the cut, right?
And custom types was seven.
Exactly right.
List and record were two and three.
The rest is unknown.
So what is number one?
We don't know yet.
Good question.
How did they get control of the board then?
You just have to...
Because you did not guess the number one slot.
So it's kind of weird.
It starts off like you saw the opportunity.
Then the other one has to guess number one.
And then I think somebody just has to, it just goes.
It started with Matt guessing number one.
It started with Matt guessing the number two slot correctly.
Then you had the opportunity to take control of the board if you guessed the number one,
but you guessed the number seven slot.
Because I knew it, but yeah.
You know the number one slot, eh?
Come on.
Let's see.
Let's see.
All right, Mario.
Okay, I'm going to go with tuple.
Jeroen, is that what you thought was number one?
You would have been correct if you had guessed that.
That is the number one slot with 23 respondents.
Don't you say tuple?
People pronounce it different ways.
It's yeah.
It's a tricky one.
I suggest, yeah.
What do you call the one with three in there though?
Oh, coming out strong.
Team Turquoise.
All right.
Matt, it is to you with one strike and three remaining on the board.
We've got a hundred points.
And can you read the question like so I can get into the mind?
What is something you destructure in Elm?
Result is on the board at number six with two respondents.
We have numbers four and five remain.
One strike, Mario, goes to you.
Oh, okay.
I don't know what I was expecting.
Obviously it was going to come to me next.
I just haven't thought about it at all.
I was so relieved Matt got one.
I'm trying to think if it's going to be something obscure again, like a common, well not obscure,
but something that's not the core types.
Something like a, I don't use remote data, but does everyone pattern match on remote
Is that a thing?
What do you structure?
What are they thinking?
I'll just try along the lines of before.
What about a triple?
It's not on the board.
In fact, nobody responded with triple, but that is an interesting one.
All right.
That is two strikes, Matt.
Sorry, Matt.
It's all on you.
No, no, no.
It's cool.
I have a weird one.
I didn't make the board.
That's an interesting one though.
That's a good answer.
I like that.
I destructure arguments all the time.
No arguments here.
That's a good one.
Good thing because I would have destructured it.
So do we want to answer just values maybe?
So it's the steel opportunity, team turquoise.
What would you like to guess?
There are two items remaining.
We've got the guest items.
We've got tuple record list at one, two, and three.
And we've got a result and a custom type at slot six and seven.
We've got two remaining items.
And keep in mind, this is for double the points.
So so far we've got 104 points at stake here.
No pressure.
I am thinking either a remote data or a Boolean.
I would go for remote data.
I was also thinking remote data.
Because some people said it was their favorite custom type.
So I'm hoping those same people responded with remote data here.
I have seen beginners often case on Boolean instead of using if and if else.
I do think people who would do that are trolls.
But who would respond here?
Or we could just get rid of if statements.
I'm just saying.
That's true.
That's an interesting idea.
You know, but Elm format doesn't do it as nicely as an if else statement.
I think we're agreed on remote data, though, right?
Remote data.
Remote data.
Is it on the board?
It didn't make it.
I thought that was it.
What was on there?
154 points.
So the remaining items we had were a record with five respondents.
We didn't say record.
I said record.
I said record.
Did Matt say record?
I thought I might have missed that.
So then there was only one item remaining on the board.
Well, that changes everything.
It changes everything now.
My apologies.
I actually thought that might've been said.
So that means we've got 114 points going to Team Garnet here.
The number five item was a bit of a curve ball.
Single constructor opaque types.
Two people typed the same thing?
I had to normalize the data, but it was that general idea.
Well, in this case, I am proud of those people.
This is the advice that we give out all the time.
Yeah, exactly.
Maybe they're Elm Radio listeners and that's why they did that.
But yeah.
Next time, I'm going to need you all to tailor your advice for years up ahead of a game like
this so that we can win.
Oh my goodness.
I know this is a tricky one.
So we've got, well, let's do one more round for triple the points.
Oh no.
This is for us?
It makes a difference.
For us, it will be even more humiliating.
All right.
So for triple the points, final round.
And we've got Team Garnet with 309, Team Turquoise with 47.
And we've got Tessa and Mario matching up at the buzzer.
All right.
For triple the points, 11 items on the board.
Don't get it.
It's just 11 items on the board.
Don't buzz.
The question is, what is your favorite programming language besides Elm?
Mario buzzes in.
What's your answer?
Oh, I'm going to say, oh, I hit the buzzer thinking, what else do you use?
But it's favorite.
Oh, that is a fundamentally different question.
That's a strike, right?
Well, we don't want it.
We have to.
Let's give, yeah, Tessa, you get to answer.
What's your answer?
You are correct.
Number one.
Oh, no way.
All right.
Jeroen, control goes to you.
What is your favorite programming language besides Elm?
We've got 10 remaining, 11 total on the board.
You've got the number one answer.
This is so going to get stolen.
I'm going to say F sharp.
F sharp is number eight with 4.4 respondents.
PeerScript did not quite make the cut.
We had one respondent who said PeerScript.
You're right.
Rust is number six with four respondents.
Elixir is number three with six respondents.
Looking pretty good for the triple round.
We'll see.
JavaScript is number five with five respondents.
That was a brave play and it worked.
I think a lot of people only know Elm and JavaScript, so.
TypeScript was number two with seven respondents.
Number two.
Five more remain on the board.
Look at all these points that they're earning that we're going to steal.
Python is number seven with four respondents.
You've got one strike.
Oh, dear.
I've lost track of what we've said and what other things I hear people get excited about.
So we had number one Haskell, number two TypeScript, number three Elixir, number five JavaScript,
number six Rust, number seven Python, number eight F sharp, and we've got four remaining.
This is maybe risky, but Elm is all about delightful web apps, so I'm going to go with
HTML was not a response.
That is two strikes.
Well, just so everyone knows, I love HTML.
It's great.
Are you saying you don't love them, UI?
I'm still just trying to redeem myself from forgetting that Elm HTML existed.
All right, Yeroon, we've got four left on the board and we've got two strikes.
OCaml did not quite make the cut.
That is three strikes.
Team Garnet.
Oh, man.
Here we are again.
How many points did we prepare?
All points.
Right now, there are four guesses remaining on the board.
There are 114 points at stake.
Times three.
Actually, that is the times three.
Oh, okay.
And what are the ranks of the four?
Yeah, we've got the fourth, nine, ten, eleven.
So there's one that's fairly high up there.
So things that I wonder about.
So Swift maybe?
So this is you two can discuss and make your final answer.
I was thinking maybe even just the other basic ones like Python, Ruby.
Did we guess Python?
Wasn't there Python guesses?
Someone said Python already?
Python is on the board already.
Oh, sorry.
Someone said Ruby though.
Is that correct Dillon?
No one said Ruby.
Ruby is, yeah, because SQL.
What is the underlying language for Elixir again?
It's slipping my mind now.
Yeah, but Ruby is pretty nice because it's like pretty common, right?
Like, so you just have more people who are using it.
I'm leaning towards Ruby.
Yeah, let's do it.
All right.
Ruby is on the board.
It is.
Number four was Ruby.
Oh God.
Team Garnet.
I'm so sorry guys.
Congratulations team Garnet.
You won our first holiday special functional food.
I'm going to make t shirts made with the score.
You're all going to get one.
I'll wear it.
I think it's important to own failures in an interesting way.
You won.
You won.
You won.
You won.
You won.
You won.
You won.
You won.
You won.
You won.
You won.
You won.
You won.
You won.
You won.
You won.
You won.
You won.
You won.
You won.
You're the first from the bottom.
And yeah.
That's something to be proud of.
Also, you had the most points stolen from you, team turquoise.
So yay.
There you go.
We're knowledgeable.
We're just not very good at strategy.
I think of like questions answered correctly.
You guys are way ahead of us.
So, the remaining answers that we had on the board here for what is your favorite programming
language besides Elm, the number nine slot was there can only be one.
With three respondents.
It wasn't that exact wording, but some form of Elm is their favorite language, there can
only be one.
Go on Highlander with it.
Does that mean Elm has to kill the other programming languages and absorb their power?
What if you write the other language in Elm?
It's probably a bad idea.
Number 10 was Clojure.
Oh yeah.
Oh yeah.
These all had three respondents and number 11 was C sharp with three respondents.
Another honorable mention we had, you can't make me choose between my children.
I love them all.
I like it.
I like that.
I like that better than that better than there is only one.
We had Swift, we had Rock, Richard Felton.
I was thinking about saying that, but then I thought no.
That's kind of cool.
I'm glad that was in there.
Did Fulkert reply?
Can you tell me?
That's a good question.
I don't know if Fulkert replied.
We should have actually questioned like, okay, what is the list of people who actually responded
to this and go down like, okay.
Because we probably know most of them.
They're only people who didn't respond with the compiler as their favorite tool.
So just.
Yeah, that's a tricky one.
I think people probably didn't respond with compiler because they think of that as like
not a tool as much as the thing itself.
It's like, it's a curve ball, right?
Cause it's like a tool feels like it has to be auxiliary, like something additional, like
the core experience.
Well, all right.
Thanks everyone for playing.
And before we close, let's just do a little holiday round table.
So what are some sort of code highlights of the year for you?
It's been a wild ride for everyone.
It's had its ups and downs, but what are some of the ups in, in code in 2020 and what are
some hopes or resolutions for the next year?
Anybody want to start?
No one.
I'll start.
All right, Tessa.
So this year, some coworkers and I started doing a Friday working group kind of meeting
where we go through our UI component library and review accessibility guidelines and try
to learn to use voiceover and just try to work collaboratively to figure out what the
standards are, to understand what a user would experience and then make improvements to the,
to the components that we have.
And it's been really rewarding to go through one at a time and the other person who's most
involved with us is one of our QA engineers.
And so she's really experienced at like thinking in that way.
But yeah, so I think I want to continue to do that in the new year because it's been
a really great experience and I definitely feel like it's in an area where I've been
learning a lot.
That's a, that's a very inspirational story for, for me at least.
That's that's really great.
I need to dust off voiceover and use that more.
Like it's like going to the actual source of like, okay, what is the experience that
they're, that people are going through?
Like that's, that is like the technique.
I think it's so easy to fall into like, okay, I've read a certain number of articles that
mean like, you know, I should have more semantic stuff.
And you use that as sort of like a proxy for the experience, like the experience.
It's like, it's so good to actually get in there and be like, okay, this is, oh yeah,
that's, that's confusing.
Like and see actually like be there with it.
That's so cool.
It really helps to go through with another person because when you're by yourself and
you're thinking like what, what do users really want?
It's hard to have like a varied perspective on what a real user would think and feel in
a given situation.
So you like, do you close your eyes or like have the window not visible when you go through
with the voiceover tool?
We have the sound on for sure because it can be a little bit misleading to only look for
visual cues.
VoiceOver will pop up a little box that'll read, that'll show what it is reading.
But we found that the auditory experience is actually quite different than trying to
read the text.
So we do listen when we're, when we're testing with voiceover, but we don't necessarily turn
our monitors down or anything like that.
I did drop my computer fairly recently and entirely smashed the screen.
On purpose?
You know, it's just one of those days.
But I tried using voiceover for that and I still need to work on my skills.
So I guess that's one testing option is just to destroy your usual mode of input.
There you go.
Drop your computer.
It's solid advice.
I don't think anyone can do that.
It's a good piece of insight that you actually need to train to be able to use the accessibility
Or any computer.
I feel like a lot of programmers use computers for much of their lives, so feel pretty comfortable.
But it's not easy to use a computer in general.
Does anybody else want to share their year's highlights or predictions or resolutions for
the future?
Well, my year was pretty much Elm review all year long.
So Elm review.
Elm review in review.
Yeah, yeah.
Reviewing my code, having it review my code, having it self review itself.
So I launched it last year and I didn't get much traction.
And that started with the V2 in April.
And since then, people are starting to use it more and more.
And that is a nice feeling.
So that's the highlight is that people are starting to use my tool, which I put a lot
of time, effort and love into.
So that feels awesome.
It's nice.
I had the opportunity to use it on a project and I really like what you've done, the effort
you've put into making the sort of like report, like what it tells you.
Like this is what I found.
This is what I want to do.
It's very clear and just like really well written.
So nice job.
We've also used it and it's been awesome.
No red ink uses it.
And clicking the links to go to the place that it's pointing you to is awesome.
Yaron showed that to me the other day that you can like on Mac command click the link
and line number and it'll open it in your editor, which is amazing.
If you like, someone showed me that.
I thought it was cool.
It doesn't work for my computer.
So have you tried dropping it?
An honorable mention would be starting this podcast that has been so fun until today.
This episode will never see the light of day.
And plans for the future or yeah, I'll probably continue working on Elm Review.
I would like to build real stuff at some point.
Oh man, I'm glad you said that.
I feel like that won't happen.
So just Elm Review.
That's the most fun I've ever gotten writing Elm.
Mario, you were starting to say something earlier.
You want to go next?
I've been really excited about all of like the Elm in nonconventional places projects
that have emerged.
So I've gotten to play with, I mean, obviously I'm a little bit biased on that because of
Lambda, but I've gotten to play recently with both Elm SPA and Elm pages.
And that was both really fun.
So yeah, I'm stoked to see more people kind of exploring that like Elm, just being a nice
language and being applied against things that aren't strictly just the front end experience.
But yeah, like you said, I feel like I've been on the biggest yak shave.
What I'm looking forward to for next year is actually building stuff with Lambda because
I felt like since I've had the idea, I've spent so much time building Lambda, I don't
actually get to build anything with Lambda very often.
So yeah, being able to push that forward is really, really fun.
For a similar reason, like Tessa said, you actually get to feel what it's like for the
users, which you kind of, when you spend three months rewriting compiler stuff, Elm 0.19.1,
you no longer remember anything about the actual platform does.
I was having trouble even testing it because I was like, okay, I have to test for regressions.
What does this do again?
I can't remember how this works.
But yeah, I'm now in a phase where I've started mucking around with projects and trying various
things that I wanted to implement myself.
So I'm super stoked to do that next year and see what comes out of it.
So yeah, that's awesome.
It's super fun to just spin up a quick Lambda app and just have this little sound system
that you don't have to worry about all the extraneous details that you do with apps so
That sounds like a lot of fun to play around with that more.
Yeah, absolutely.
Yeah, I'm just going to go if you don't mind.
That's awesome that you guys kind of said that because I was sort of thinking about
this of what I've been doing and where I'm like, okay, I would really love to do this.
And that is the progression.
There's been a vision I've sort of had with animation and layout and stuff.
And the vision isn't quite...
I mean, it's always going to be ongoing.
But the current thing where I'm like, okay, this would be nice.
This would be sort of what I view as if I had a 1.0 to release, this would be what I
would want to do.
That's what I've been pouring into LMI 2.
And the idea with LMI 2 is going to be nominally about animation, which I've kind of told people
So if people are in the community, they kind of know about that.
But also about just kind of like completing that vision.
Like what do I want?
The visual UI part of things to sort of how I want them to fit together.
It's been a lot of work doing that, jumping around to Elm Animator, getting that out,
and then now integrating Elm Animator to LMI.
And sort of also, literally right now, I'm sort of back propagating as I'm using it.
I'm like, okay, how should this work with LMI?
I'm like, oh, and now I need to go change Elm Animator again.
But this year in review has been, surprise, surprise, just a lot of coding on foundational
work, like behind the scenes work.
So it's like everything I've been doing is sort of like behind the scenes.
So it's like learning about springs and how to interpolate those nicely.
How do you make a good, what does an API actually look like that is like actually has the properties
you want?
That's like the classic problem.
Taking a total detour to write Elm Optimize Level 2 to explore what.
So for people who don't know, Elm Optimize Level 2 is a separate project.
You can use it right now.
I made it with a co collaborator, Simon.
And what it basically does is it takes your JavaScript that you created and sort of does
some like it processes it, right, so it modifies the actual JavaScript so that it's faster.
And it was really about making kind of like a platform for experimenting with optimizations
so that we could actually know like, oh, if we do this, things do get faster and there's
no weird edge cases.
And then that can be like a really nice candidate for Evan to like, I want a set of results
that Evan can come to if he wants to and say like, oh, these are the easy wins, right?
And I can just add this to the compiler if he desires that.
Anyway, that's this year has been like a lot of that background work.
And the thing I'm really excited about, and I think I've been wanting to transition just
like everybody else, but it's like I got to finish these things that are sort of on my
plate right now is making stuff.
Like the reason why I made Elm UI in the first place, which wasn't called Elm UI, it was
called style elements, right?
And then there was an intermediate project called stylish elephants, which if you hear
that, people making joke, that's where that comes from.
And then it was Elm UI.
And now it's Elm UI version two, I've written like two animation frameworks.
And all of this stuff started because I wanted to make stuff, right?
And I ended up making tools, which has been kind of a joke, like, oh, Matt wants to make
a thing.
I guess he's going to go make a tool to make a thing instead of making the thing, right?
And now I'm so excited to like, there are a few projects that I want to pursue that
are actual.
I don't want to call them real because tooling is real and really fun and really satisfying,
but maybe user facing, like not necessarily developer facing.
Something I could show my parents.
It's kind of weird, but, or like show my girlfriend.
That would be cool.
Cause like, you know, when I was preparing for, as a side note, I realized I've been
talking for a long time as a side note, like when I was preparing for Oslo Elm day and
we, she came with me, we were in Oslo and I was like, I gave like a mini version of
the talk and this was for a talk for Elm markup.
And I had like this cool, like bi directional editor where you could edit the code or edit
like the actual thing.
And like I, in the hotel room, I like give the talk and I like show the editor and she's
like, Oh yeah, that's really cool.
That's great.
And then like, I give the talk and like I present it and everyone's like, Oh, and she's
like, wow, I didn't realize that that was actually like a much cooler thing.
And it's partially because most of the work I do, you know, like I go to her, I'm like,
let's talk about springs.
She's like, Oh my God.
But there are a number of things I do want, like I like, obviously we have a lot of interests
that overlap, right?
And like, it's like, I would like to create projects where it's like, okay, there's like
serious stuff I can talk to and not just her, but for a lot of people.
So that's my, my hope, my vision, I suppose.
That's a good goal.
I like that.
So I'll share my reflections on the year.
Of course it's been, it's been a tough year for everyone and it's been a strange, it's
been a year with a lot of, you know, hardship for a lot of people and isolation.
And so I would have to say that, you know, one, one highlight for me has been finding
other ways to connect with community in that time of isolation.
And so, I mean, for me, you know, doing Elm Radio with Yeroon has been one thing that
I've really enjoyed.
Just having that placeholder for these conversations with Yeroon and sharing them with the community
has been really rewarding.
It's been really cool to see, you know, as Mario was talking about all this innovation
around things happening in the Elm ecosystem and really innovative things, you know, these
different platforms, Lambda, sort of extending what you can do with Elm and Elm Review, using
Elm to look at Elm.
And so it's cool to see what the community is doing.
You know, I've started this Discord server, the incremental Elm open source community,
where there've been a lot of cool conversations about what people are building in the Elm
open source community, and that's been a joy to kind of share these conversations about
what people are really passionate about building.
And you know, there've been some wonderful contributions.
You know, we had a little Hacktoberfest event and got some really passionate people kind
of building things.
You know, some people, they were brand new to Elm and some people are very experienced
in it.
So I would say that's definitely been my highlight of the year is just this awesome community
and, you know, people who I just really love to connect with and having this episode is
a fitting way to end the year.
And looking forward, more of that, and I would also love to get a really good process for
my writing process.
This podcast has been a great way to sort of create interesting conversations and have
a frame to discuss things, and I would love to have a better process.
And kind of like everyone's been talking about, you know, instead of just building the tools,
using the cool tools you built to do things, I would love to use Elm pages to build more
cool static websites of my own and to sort of maintain my writings and things like that
and get a better process for that.
So with that, this has been so much fun, and I really, really want to thank you all for
joining and for our guests.
This has been a ton of fun.
Thank you for joining, Tessa, Mario, Matt.
Thank you so much for being our guests.
Thank you for having us.
Thank you.
Happy holidays.
Happy holidays.
Happy holidays to you too.
Thanks, everybody.
And Jeroen, I'll talk to you next time.
See you next time.