spotifyovercastrssapple-podcasts

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
#20

Our special guests

Links

Transcript

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