elm radio
Tune in to the tools and techniques in the Elm ecosystem.
2021 Holiday Special!
Some Elm friends visit for a Family Feud-style game. Plus a special Holiday roundtable to close out the year!
Published
December 20, 2021
Episode
#46
Our special guests
Ryan Haskell-Glatz (
twitter
) (
github
)
Brian Hicks (
twitter
) (
github
)
Robin Heggelund Hansen (
twitter
) (
github
)
Transcript
[00:00:00]
Hello, Jeroen.
[00:00:01]
Hello, Dan.
[00:00:02]
And here we are again, back for our 2021 holiday episode and joined again by some Elm friends.
[00:00:10]
We've got some friends who joined us in the past and some friends who've never been on
[00:00:14]
the podcast.
[00:00:15]
So we'll start with Ryan.
[00:00:17]
Thanks for joining us again, Ryan.
[00:00:18]
Great to have you.
[00:00:19]
Hello.
[00:00:20]
Yeah, thanks for having me.
[00:00:22]
Looking forward to the amazing thumbnail that we're going to get for this podcast episode
[00:00:27]
designed by yours truly.
[00:00:29]
Definitely.
[00:00:30]
We're talking gradients.
[00:00:31]
We're talking bold.
[00:00:32]
I'm not sure what font I used.
[00:00:33]
I think it was Helvetica.
[00:00:35]
But yeah.
[00:00:36]
Just no Comic Sans.
[00:00:37]
Yes.
[00:00:38]
No Comic Sans.
[00:00:39]
I love Comic Sans.
[00:00:40]
I should have done it.
[00:00:41]
I feel kind of wasted opportunity there.
[00:00:44]
Next time.
[00:00:45]
And we've got Brian Hicks.
[00:00:46]
Hello, Brian.
[00:00:47]
Hi.
[00:00:48]
Great to have you.
[00:00:49]
Yeah.
[00:00:50]
Nice to be here.
[00:00:51]
And we've got Robin Hanson.
[00:00:53]
Great to have you on, Robin.
[00:00:55]
Thank you.
[00:00:56]
It's good to be on.
[00:00:57]
So all right.
[00:00:58]
So let's dive in here.
[00:00:59]
So we're going to be, since it's 2021, to stay relevant.
[00:01:03]
We are going to be doing a fun game.
[00:01:05]
And that game is Squid Game.
[00:01:07]
So everybody's got a sense of the rules and the consequences?
[00:01:11]
I'm nervous.
[00:01:12]
Maybe.
[00:01:13]
Is this where we like, do I have to eat a squid?
[00:01:17]
No, we're actually going to be doing Family Feud again this year.
[00:01:21]
So similar to last year.
[00:01:23]
The Family Feud, we're going to be going through some survey responses from the Elm community.
[00:01:29]
And we're going to be trying to guess the most popular responses to these Elm related
[00:01:35]
questions.
[00:01:36]
So the basic rules of the game, one, the teams will fight for control over the board and
[00:01:42]
try to guess as many items as they can from the board.
[00:01:45]
If they clear the board and get all of the items before getting three strikes, then they
[00:01:49]
gain all of those points to themselves.
[00:01:52]
But if they don't clear the whole board, then as Yaron can explain to you, they get an opportunity
[00:01:58]
to steal those points.
[00:01:59]
There was quite an upset last year.
[00:02:00]
They won't do it.
[00:02:02]
They're ruthless.
[00:02:03]
So that's the basic idea of Family Feud.
[00:02:06]
And so we've got our two teams.
[00:02:10]
On team Left Pizza, we have Brian Hicks and Robin Hanson.
[00:02:17]
And on team Double Slash, we have Yaron and Ryan.
[00:02:25]
Yeah, noisy.
[00:02:26]
Hey, I tell you what.
[00:02:29]
We got Yaron, right slash over here.
[00:02:33]
And we got Ryan left slash and together, you know, we're going to divide those integers.
[00:02:37]
We decided on nicknames.
[00:02:39]
Oh, Brian, we are not prepared for this at all.
[00:02:43]
Brian's got his soundboard ready though.
[00:02:46]
I am a soundboard.
[00:02:50]
All right.
[00:02:53]
So let's start off here with a juicy one.
[00:02:57]
So let's see.
[00:02:58]
Let's get our buzzers ready.
[00:02:59]
So Yaron and Brian, have you got your buzzers?
[00:03:03]
Yes, I have it right here.
[00:03:05]
Would you like to do a test buzz?
[00:03:08]
Done.
[00:03:09]
Brought to you by Lamdera.
[00:03:10]
Yaron brought to you by Lamdera once again.
[00:03:13]
Yes.
[00:03:14]
Nice.
[00:03:15]
All right.
[00:03:16]
Our buzzers are working.
[00:03:17]
So get your buzzers ready.
[00:03:19]
Here's the question.
[00:03:21]
Name a technique that helps you fix a bug in your Elm code and Brian gets the buzz in.
[00:03:28]
Brian, what is your guess?
[00:03:30]
Running the compiler and reading the error message.
[00:03:34]
That is indeed on the board at number three.
[00:03:37]
So Yaron, you get an opportunity to guess either number one or two to take control of
[00:03:43]
the board.
[00:03:44]
But should I?
[00:03:46]
That's a whole question.
[00:03:48]
That is a question.
[00:03:49]
I'm already trying to meta this game.
[00:03:54]
I'm going to guess opaque types.
[00:03:57]
Opaque types was not on the board.
[00:03:59]
So fortunately, at least you didn't give any more points to the other team there.
[00:04:04]
That's something.
[00:04:05]
All right.
[00:04:06]
We're just going to steal the points.
[00:04:07]
That's fine.
[00:04:08]
Well, we'll see.
[00:04:09]
Maybe you'll become the point bandit this year.
[00:04:12]
Yeah.
[00:04:13]
That's what I'm waiting for.
[00:04:15]
Okay.
[00:04:16]
That's right.
[00:04:18]
Robin, it's your turn to guess.
[00:04:22]
Name a technique that helps you fix a bug in your Elm code.
[00:04:25]
I was going to say opaque types, but that would be stupid, I guess.
[00:04:31]
Refactoring?
[00:04:32]
Refactoring did not make the board.
[00:04:38]
That is one strike.
[00:04:40]
Brian.
[00:04:41]
What could be more popular than just like good error messages?
[00:04:51]
Elm test?
[00:04:52]
Elm test did not make the board.
[00:04:55]
I'm starting to wonder whether we are software engineers and we know how to fix bugs.
[00:05:01]
That doesn't seem to be the case.
[00:05:03]
There are some pretty nice answers here, but I would use Elm test myself personally.
[00:05:08]
So that is two strikes.
[00:05:09]
Robin, no pressure.
[00:05:14]
Elm review?
[00:05:16]
Elm review did not make the board.
[00:05:18]
Oh no.
[00:05:19]
I'm not sure if that's worse for me or for Jeroen.
[00:05:23]
Well, that's fair.
[00:05:25]
I'm so ready to steal.
[00:05:26]
I'm so ready to steal.
[00:05:27]
I make so many more bugs than you guys.
[00:05:29]
I think it's what's happened and I'm so prepared to do.
[00:05:32]
Yeah.
[00:05:33]
All right.
[00:05:34]
So this is now ready to steal.
[00:05:36]
Although there are only five points on the board, plus whatever question gets stolen.
[00:05:42]
So we'll see.
[00:05:43]
Only five points up for grabs.
[00:05:45]
Team Double Slash.
[00:05:48]
Now you can openly discuss what you would like to guess.
[00:05:51]
Yes.
[00:05:52]
Okay.
[00:05:53]
Debug.log.
[00:05:54]
We're coming from JavaScript.
[00:05:55]
We're just printing that stuff left and right.
[00:05:56]
That's got to be number one.
[00:05:57]
At least that's what I'd say.
[00:06:00]
Is that the guess?
[00:06:01]
What do you think?
[00:06:02]
Should we say debugging or should we say debug.log?
[00:06:05]
Let's hit them with the debug.log.
[00:06:07]
We need the confidence.
[00:06:08]
Yeah.
[00:06:09]
And we need to say L related.
[00:06:11]
Let's go with debug.log.
[00:06:13]
Hold on, Brian.
[00:06:14]
Wave is coming.
[00:06:15]
Ding, ding, ding, ding.
[00:06:18]
Debug.log.
[00:06:19]
No.
[00:06:20]
That is the number one slot.
[00:06:22]
Man.
[00:06:23]
Well done.
[00:06:24]
So now I finally steal points and it's only for five points.
[00:06:28]
It's only for five points.
[00:06:30]
Plus debug.log, whatever that was.
[00:06:31]
Now I'm trying to remember, is that the way the game works?
[00:06:35]
Oh, I hope so.
[00:06:39]
I'll watch some compilations of people saying silly things on Family Feud and see if I can
[00:06:43]
scrape the information.
[00:06:44]
I love those YouTube videos.
[00:06:45]
I'm going to say yes and I apologize for my strewn together understanding of Family Feud.
[00:06:53]
But let's go ahead and say yes.
[00:06:55]
You ruined this is your karma from last year.
[00:06:57]
All right.
[00:06:58]
So how many points do we have?
[00:07:01]
Team Double Slash, you have a grand total of 30 points.
[00:07:04]
Woohoo.
[00:07:05]
All right.
[00:07:06]
We're going to the Super Bowl or something.
[00:07:08]
I don't know what we do.
[00:07:10]
Wait, debug.log was with 25 points?
[00:07:13]
That was with 25 respondents.
[00:07:16]
That was a heavy hitter.
[00:07:18]
Oh, man.
[00:07:19]
Yeah.
[00:07:20]
Wow.
[00:07:21]
What else was on that board?
[00:07:22]
Oh, yes.
[00:07:23]
So we had number two slot, make impossible states impossible slash improve types.
[00:07:32]
Number four, add a type annotation.
[00:07:34]
Oh, that's actually a good one.
[00:07:36]
That does help.
[00:07:37]
At least it makes the errors not take over the entire page.
[00:07:41]
Look at the entire files.
[00:07:42]
It's like some stuff.
[00:07:44]
If you're using Elm Review, then you might already be having it tell you to put type
[00:07:48]
annotations before you find a bug.
[00:07:51]
Or your editor.
[00:07:52]
Yeah.
[00:07:53]
Time traveling debugger was number five with three respondents.
[00:07:57]
And number six, also with three respondents, I don't have any bugs in my Elm code.
[00:08:03]
There you go.
[00:08:04]
See, I was going to say that, but that doesn't sound good.
[00:08:10]
It's just not.
[00:08:11]
Sounds inaccurate.
[00:08:12]
That being said, it would have been better than striking out.
[00:08:17]
Because I don't know if I can show up to work tomorrow.
[00:08:19]
I don't know anything.
[00:08:23]
The good thing about food.
[00:08:24]
You just have no bugs.
[00:08:25]
Yeah.
[00:08:26]
I would say that's not what I think.
[00:08:28]
That's just what I think other people think.
[00:08:32]
Plausible deniability.
[00:08:34]
All right.
[00:08:37]
Question number two.
[00:08:38]
And for our face off this time, get your buzzers ready, Ryan and Robin.
[00:08:42]
You can use the space bar, by the way.
[00:08:45]
You can do a test buzzer if you'd like.
[00:08:47]
I love the space bar.
[00:08:48]
Yeah.
[00:08:49]
I love space.
[00:08:50]
I got your test buzzers.
[00:08:53]
I love tabs.
[00:08:55]
Does tab work for that?
[00:08:57]
We're going to fight that.
[00:08:59]
This is winning the tabs versus space argument.
[00:09:01]
Tabs does not trigger the buzzer.
[00:09:05]
All right.
[00:09:08]
Ryan and Robin, get your buzzers ready.
[00:09:11]
Here comes the question.
[00:09:12]
What is a module name you're likely to have in an Elm SPA application?
[00:09:19]
Not Elm dash SPA.
[00:09:20]
N Elm SPA application.
[00:09:22]
All right.
[00:09:23]
We've got Robin buzzing in first.
[00:09:26]
View.
[00:09:27]
View did not make the board.
[00:09:29]
What?
[00:09:30]
Yes.
[00:09:31]
It shouldn't be there.
[00:09:34]
Well, all right.
[00:09:38]
Ryan, you may be slightly biased on this, Ryan.
[00:09:41]
You have some opinions about Elm SPAs.
[00:09:44]
I do.
[00:09:45]
But hopefully this one's going to show up because if it's not there, I'm a little concerned.
[00:09:48]
I'm going to go with main.elm.
[00:09:50]
Main.elm is number two on the board.
[00:09:53]
All right.
[00:09:54]
Team double slash.
[00:09:55]
Only number two.
[00:09:56]
Taking control.
[00:09:57]
All right.
[00:09:58]
Jeroen, what is a module name you're likely to have in an Elm SPA application?
[00:10:05]
Not the tool, but the general concept of an Elm SPA.
[00:10:09]
Yeah.
[00:10:10]
I'm going to go with routes or routes.
[00:10:13]
That is number one on the board with 22 respondents.
[00:10:17]
You've got 38 points on the board here so far, and there are five more answers on the
[00:10:23]
board.
[00:10:24]
Ryan.
[00:10:25]
I'm just depressed because route was my other answer, and now I have to do some critical
[00:10:30]
thinking.
[00:10:31]
You're like, I no longer have to think about the structure of my Elm SPA applications because
[00:10:36]
they're auto generated for me.
[00:10:39]
I'm going to think about Richard Feldman's Elm SPA example and what did I see there?
[00:10:44]
There was main.
[00:10:45]
There was routes.
[00:10:46]
You had a page folder.
[00:10:47]
Was it files was the question?
[00:10:49]
Is it files or folders?
[00:10:51]
It is.
[00:10:52]
What is a module name you're likely to have in an Elm SPA application?
[00:10:56]
I'm going to go with page.
[00:10:59]
Page is number three.
[00:11:01]
So far zero strikes, and you have gone top down on this board.
[00:11:06]
One through three.
[00:11:07]
Jeroen.
[00:11:08]
Don't let them steal.
[00:11:09]
Don't let them steal, Jeroen.
[00:11:10]
Yeah, they're going to steal.
[00:11:13]
So what was the last answer?
[00:11:14]
The last answer was page.
[00:11:17]
Page with non respondents.
[00:11:19]
I think I'm going to go with types.
[00:11:21]
I don't like it.
[00:11:22]
I hope people didn't do it, but I think it's what people would reply.
[00:11:26]
So let's go with types or type.
[00:11:29]
Well, unfortunately or fortunately, that is not on the board.
[00:11:34]
Yes.
[00:11:35]
No.
[00:11:36]
Oh, I'm happy.
[00:11:38]
I'm sad.
[00:11:39]
I don't know.
[00:11:42]
That's a pet peeve of mine and your runes.
[00:11:45]
Roller coaster of emotions on Elm radio today.
[00:11:48]
Well, that's how it goes with family feud style games.
[00:11:53]
All right, Ryan, we've got one strike, three guests and four to go.
[00:12:00]
What is a module name you're likely to have in an Elm SPA application?
[00:12:04]
Home page?
[00:12:05]
Home?
[00:12:06]
Home or pages.home is on the board at number six with three respondents.
[00:12:12]
I don't understand any of this.
[00:12:16]
I feel like I have a strange advantage.
[00:12:21]
It does feel like Ryan is uniquely suited to answer this question, having really like
[00:12:26]
surveyed the community and gotten a lot of feedback and thought a lot about SPAs.
[00:12:31]
That's unfair advantage.
[00:12:32]
Yaron, one strike, four guests, three more to go.
[00:12:38]
Three more to go?
[00:12:39]
Three more items on the board.
[00:12:40]
Yes.
[00:12:43]
I'm going to go with a not found page or a 404 page.
[00:12:48]
But yeah, not found.
[00:12:50]
Not found was not on there, but that does seem likely.
[00:12:52]
That was my guess.
[00:12:54]
Two strikes, Ryan.
[00:12:56]
Oh, my goodness.
[00:12:57]
You can do it.
[00:12:58]
I feel the category is so hard.
[00:13:01]
Now we've like eliminated all the normal things.
[00:13:04]
Oh, module.
[00:13:05]
There are 50 points to steal if you guys strike out here.
[00:13:11]
Just saying, no pressure.
[00:13:13]
Delicious points.
[00:13:14]
I want them.
[00:13:15]
I am going to see you got routing the ports.
[00:13:23]
Are we listening to Murphy Randall?
[00:13:27]
Ports.elm did not make the cut.
[00:13:29]
That is three strikes.
[00:13:30]
And there are three possible questions that team left pizza could guess to steal the board.
[00:13:38]
Left pizza, you're free to discuss what you would like to guess.
[00:13:41]
Cool.
[00:13:42]
Robin, I think maybe login.
[00:13:44]
What do you think?
[00:13:47]
Maybe.
[00:13:48]
So where I apparently don't make elm apps the way everyone else does.
[00:13:54]
So I because I would I would go with message.
[00:13:57]
But that login is as good as guess as any I think.
[00:14:00]
You want to just go with that?
[00:14:02]
Login?
[00:14:03]
Yeah.
[00:14:04]
Yeah.
[00:14:05]
Let's go.
[00:14:06]
Okay.
[00:14:07]
Is login on the board?
[00:14:08]
It is not.
[00:14:09]
Oh.
[00:14:10]
Yay.
[00:14:11]
You're in.
[00:14:12]
You got points that didn't get stolen.
[00:14:14]
How does it feel?
[00:14:16]
So good.
[00:14:17]
So good.
[00:14:18]
You're in.
[00:14:19]
I can maybe win this game for once.
[00:14:24]
Let's not get ahead of ourselves here.
[00:14:28]
Well, you just got 50 points.
[00:14:34]
We'll see what the result is.
[00:14:36]
Okay.
[00:14:37]
That was the scariest question.
[00:14:40]
I so I didn't like that because I am supposed to know the answer to that.
[00:14:46]
That's true.
[00:14:47]
Was shared on the board?
[00:14:48]
Was shared?
[00:14:49]
Ryan, you're on top of it.
[00:14:50]
Shared was number four on the board.
[00:14:53]
Shared was on the board.
[00:14:54]
What else was on there?
[00:14:55]
I brainwashed people, I think is what happened.
[00:14:57]
And now I get to use that to my advantage in family.
[00:15:00]
That is very possible.
[00:15:01]
Yeah.
[00:15:02]
So we also had on the board number five was style or theme or UI, something along those
[00:15:06]
lines.
[00:15:07]
And the last one on the board numbers, that was with three respondents.
[00:15:10]
And with two respondents, number seven, we had util or miscellaneous.
[00:15:14]
Oh, man.
[00:15:16]
There's my pet peeve.
[00:15:19]
That's the module where code goes to die.
[00:15:21]
Like just nobody's ever going to open that up.
[00:15:23]
The proverbial junk drawer.
[00:15:25]
Only a single util module?
[00:15:26]
Yeah, it sounds more like a module namespace than one big util.
[00:15:31]
We have like util list.
[00:15:35]
It's just basically like if it's not in the list extra or whatever, that's what we make
[00:15:39]
a util whatever.
[00:15:40]
That's our like extra folder.
[00:15:42]
Yeah, same for us.
[00:15:43]
Brian, is that a pet peeve for you still?
[00:15:45]
I'm forcing you to cast judgment on them.
[00:15:50]
If it's extensions for things like string.
[00:15:53]
I just think often I'll write code and be like, oh, it would be cool if this was reusable
[00:15:58]
and then I'll write it and I'll put it in a util folder.
[00:16:01]
And then in like three months, I'm like, oh, it would be cool if there was this reusable
[00:16:05]
piece of code and I'll like make another module and write the same code again.
[00:16:09]
It's just like util is not descriptive enough of a name for me to find it again later.
[00:16:14]
You can just disable copy paste in the util module.
[00:16:18]
Problem solved.
[00:16:19]
All right.
[00:16:20]
So question three, back at our face off with Yeroon and Brian.
[00:16:26]
This is an apt question for our teams here.
[00:16:29]
We need to clear the buzzer.
[00:16:32]
The buzzer is reset.
[00:16:33]
All right.
[00:16:35]
Team double slash team left pizza, get your buzzers ready.
[00:16:38]
What do you think is the most commonly used Elm operator?
[00:16:42]
Yeroon buzzed in first.
[00:16:44]
I'm going to say right pizza.
[00:16:47]
That is the number one slot.
[00:16:49]
Yeroon on a roll.
[00:16:52]
Making up for a rough game last year.
[00:16:54]
I knew that I had it.
[00:16:57]
I just didn't buzz fast enough.
[00:16:59]
Oh, my goodness.
[00:17:01]
Yep.
[00:17:02]
Well, yeah, I mean, it is ironic that team left pizza did not get it or maybe it makes
[00:17:06]
sense.
[00:17:07]
Maybe it's your adversary, your nemesis.
[00:17:10]
So this is a board that only has four answers and you've guessed one of them.
[00:17:16]
So three more to go.
[00:17:18]
One three on the board.
[00:17:20]
What do you think is the most commonly used Elm operator?
[00:17:23]
You've got a grand total of 47 points at the moment.
[00:17:27]
What?
[00:17:28]
Already?
[00:17:29]
That was 47 respondents thought right pizza was the most common operator.
[00:17:33]
You can't afford for this to be stolen from us.
[00:17:35]
It's such a critical moment of the game.
[00:17:38]
I'm going to go with plus plus.
[00:17:40]
Is plus plus on the board.
[00:17:42]
It is the number three slot with three respondents.
[00:17:48]
I'm going to go with plus plus did not quite make the board had one response.
[00:17:55]
Ryan, I'm going to take any type of beautiful ironic steal away from left pizza by saying
[00:18:02]
left pizza because if they stole it that my heart would literally be broken.
[00:18:05]
Yes, that is true.
[00:18:07]
We would have to answer it as a matter of pride.
[00:18:12]
We wouldn't have any choice in the matter.
[00:18:15]
Maybe that was to your disadvantage Ryan because it is not on the board.
[00:18:20]
You could have sabotaged team left pizza.
[00:18:25]
Psych.
[00:18:26]
Your respondents just really like pretending to write Lisp I guess.
[00:18:31]
They'd had enough pizza.
[00:18:33]
They're like a one slice pizza type of person the respondents.
[00:18:36]
All right that is two strikes.
[00:18:38]
Jeroen, there are two more items on the board.
[00:18:41]
So we have right pizza and we have plus plus.
[00:18:44]
Correct.
[00:18:45]
The number two and four slots have not been guessed.
[00:18:50]
I am going to go with the equals sign.
[00:18:55]
It is equals on the board.
[00:18:58]
It is number two with seven respondents.
[00:19:01]
Impressive.
[00:19:02]
It's not an operator.
[00:19:06]
I thought that was kind of a curveball.
[00:19:07]
I'm impressed that you got that.
[00:19:09]
Yeah.
[00:19:10]
You know just after a year of thinking I'm thinking outside of the box now.
[00:19:15]
Yeah.
[00:19:16]
All right.
[00:19:17]
Yeah he's a pro now.
[00:19:18]
All right Ryan.
[00:19:19]
Two strikes.
[00:19:20]
One more item on the board to be guessed.
[00:19:23]
57 points.
[00:19:25]
Up for grabs for the steal.
[00:19:27]
You got it Ryan.
[00:19:28]
I feel like if plus plus worked I feel like it's the colon colon operator.
[00:19:34]
Is colon colon on the board?
[00:19:37]
You did not make the board.
[00:19:39]
RIP.
[00:19:40]
Team left pizza.
[00:19:41]
Here's your chance for the steal.
[00:19:43]
There is one item on the board.
[00:19:46]
I still think you should say left pizza.
[00:19:52]
Could it be not equals?
[00:19:55]
Could we review what's on there again?
[00:19:57]
Yes.
[00:19:58]
Like equals right pizza plus plus or double plus.
[00:20:01]
Exactly.
[00:20:02]
Those are the three items.
[00:20:03]
Okay cool cool.
[00:20:06]
So we've got like all of the arithmetic operators.
[00:20:10]
We've got function composition.
[00:20:12]
We've got the URL library.
[00:20:14]
We've got the parsing library.
[00:20:16]
That's all of the operators right?
[00:20:18]
Yes.
[00:20:19]
Right?
[00:20:20]
Maybe.
[00:20:21]
The mind games.
[00:20:22]
The mind games are real.
[00:20:23]
The worst part about this is that it works.
[00:20:31]
I was like what have I missed?
[00:20:36]
All right team left pizza.
[00:20:38]
Any ideas?
[00:20:40]
It would surprise me if there were the composing operators since left pizza is not on there.
[00:20:47]
And since plus is not a thing then it would surprise me if any of the other arithmetic
[00:20:52]
ones.
[00:20:53]
Yeah.
[00:20:54]
I do like your intuition about not equal.
[00:20:56]
That seems pretty likely to me.
[00:20:57]
But here's the thing though.
[00:20:59]
So where I work we don't use routing at all.
[00:21:02]
So for me routing would be very low on the list but it could be very high on the list.
[00:21:08]
So I don't know.
[00:21:09]
So to me in equals is the best bet.
[00:21:12]
But it wouldn't surprise me to learn that the slash operator from the router is a good
[00:21:19]
thing.
[00:21:20]
Yeah.
[00:21:21]
Here's the thing why I think not equals is it maybe because it's visually distinctive.
[00:21:27]
It's not like bang equals it's slash equals.
[00:21:30]
And when people are learning Elm they're like what's up with the slash equals dude.
[00:21:35]
So that might stick in people's head.
[00:21:38]
All right.
[00:21:39]
Yeah slash equals does not equal operator is it the final remaining item on the board?
[00:21:47]
Oh it is not.
[00:21:51]
Oh my gosh.
[00:21:52]
I thought you were saying it was that and I was celebrating over here.
[00:21:56]
The way you said is it Brian's like yes it is it.
[00:22:02]
Premature celebration is the root of all evil Brian.
[00:22:06]
All right.
[00:22:08]
Can you give us a category.
[00:22:10]
What's the last one in?
[00:22:11]
What bucket?
[00:22:12]
Okay.
[00:22:13]
Okay.
[00:22:14]
Yeah.
[00:22:15]
So I'll give you guys a chance for the street cred here.
[00:22:17]
So this one is majorly a curveball and it's the arrow.
[00:22:22]
Yirun's mind game, Yirun you are brilliant my friend.
[00:22:28]
It is the arrow.
[00:22:31]
How did you guess that?
[00:22:34]
I instantly knew it when I said that your mind games were called for.
[00:22:41]
I mean all the others are just not used that much.
[00:22:44]
So it had to be a curveball again.
[00:22:46]
Wow.
[00:22:47]
It turns out having somebody who builds an SPA meta framework and somebody who builds
[00:22:55]
like an Elm syntax parsing and analysis tool is actually a pretty good team because I think
[00:23:03]
that was like right in Yirun's brain ready to go.
[00:23:08]
Yeah.
[00:23:09]
No kidding.
[00:23:10]
Yeah.
[00:23:11]
As opposed to two people who are like literally implementing other programming languages in
[00:23:14]
Elm.
[00:23:15]
Yeah, it was kind of amazing.
[00:23:22]
Brian like listed out like not only like all the categories of possible things.
[00:23:25]
I was like, oh, this isn't good.
[00:23:28]
We're like honing in on like that was good.
[00:23:31]
I was surprised that not equals wasn't it.
[00:23:33]
When you said that Robin, I was like, here we go.
[00:23:35]
Yirun's mind game was that he's like, here's this thing you shouldn't be thinking about.
[00:23:40]
It's something other than that, but actually was what they should have been thinking about,
[00:23:44]
but it stopped them from thinking about it.
[00:23:47]
Brilliant tactics.
[00:23:48]
Yes.
[00:23:49]
That's how far I thought.
[00:23:50]
You've learned Yirun.
[00:23:52]
You've been studying up, haven't you?
[00:23:55]
So much.
[00:23:56]
This whole year I thought he's going to be so lazy.
[00:23:59]
He's just not going to do another game other than Family Feud because Family Feud is just
[00:24:05]
2020's game, right?
[00:24:07]
Yeah.
[00:24:08]
So since we're still in 2020.
[00:24:10]
Exactly.
[00:24:11]
Family Feud again.
[00:24:12]
That's right.
[00:24:13]
Since we are three questions in and the team left pizzas and zero points, I just want to
[00:24:20]
make sure that the thing you said about squid game in the beginning and the consequences
[00:24:24]
will be okay.
[00:24:26]
Well, you will find out in due time.
[00:24:30]
I mean, look, dying on a tech podcast is definitely top 10 ways to die.
[00:24:42]
He died doing what he loved.
[00:24:47]
The only thing I regret is that it's the first time on the show.
[00:24:54]
That's fair.
[00:24:55]
Yeah, exactly.
[00:24:56]
We need to get you back, Robin.
[00:24:58]
So that might be your saving grace there.
[00:24:59]
Yeah, but we did say if he gets zero points, then we cannot invite him again.
[00:25:05]
Well, I mean, look, it's a nice round number at least.
[00:25:09]
Yeah.
[00:25:10]
It's the roundest number.
[00:25:12]
That's fair.
[00:25:13]
Yeah.
[00:25:14]
Is it a square number?
[00:25:15]
Yes.
[00:25:16]
I mean, no curves.
[00:25:17]
Just type it, dude.
[00:25:18]
It is a square number.
[00:25:19]
For such a controversy.
[00:25:23]
Achieving a high score is so 2020.
[00:25:25]
Like 2021 achieving the low score.
[00:25:28]
That's where it's at.
[00:25:29]
Yeah, you know, Family Golf.
[00:25:32]
That's true.
[00:25:33]
All right.
[00:25:35]
So Family Feud Golf.
[00:25:37]
Now keep in mind, we are going to have a double and triple round for our final two rounds
[00:25:43]
as is tradition.
[00:25:44]
So keep that in mind.
[00:25:46]
The game is not over yet.
[00:25:47]
Did we do that last year?
[00:25:49]
We did do that last year.
[00:25:50]
All right.
[00:25:51]
I'd like to hear your, I mean, as his teammate, I don't want to lose, but I also kind of like
[00:25:56]
the idea of it being stolen from him in a completely different way.
[00:26:01]
It's like winning the first three rounds and then just double, triple.
[00:26:06]
I don't feel like we're a team now.
[00:26:08]
I kind of want to throw, but I won't.
[00:26:14]
All right.
[00:26:15]
What have we got for our face ups?
[00:26:17]
We did Brian and Jeroen facing off last time, right?
[00:26:20]
So it's Ryan and Robin facing off.
[00:26:23]
Get your buzzers ready.
[00:26:24]
I will reset them.
[00:26:25]
All right.
[00:26:26]
Our next question here.
[00:26:28]
What are you most likely to use to style your Elm application?
[00:26:32]
No.
[00:26:34]
Ryan buzzed in first.
[00:26:36]
That buzzer says Robin got negative 18 milliseconds.
[00:26:39]
Oh, pretty crazy.
[00:26:41]
Yeah.
[00:26:42]
Wait, a plus or minus 18 milliseconds, but with the latency, it says Ryan got it, right?
[00:26:48]
Yeah.
[00:26:49]
All right.
[00:26:50]
I'm going to have to plug our boy, Matt Griffith, my fellow coworker at Blessfully and say,
[00:26:56]
Elm UI.
[00:26:57]
Well, your alliance there has served you well, Ryan, because you took the number one slot
[00:27:03]
for team Double Slash on a roll here.
[00:27:06]
Jeroen, your luck has really turned around.
[00:27:09]
You've got 35 respondents saying Elm UI.
[00:27:13]
There are four more items on the board.
[00:27:15]
Jeroen, what are you most likely to use to style your Elm application?
[00:27:19]
Plain CSS.
[00:27:21]
That is exactly the number two response.
[00:27:23]
Your training has paid off.
[00:27:25]
Ryan.
[00:27:26]
I have to plug my boy, Richard Feldman here and say Elm CSS.
[00:27:31]
That is the number four slot with seven respondents.
[00:27:35]
Jeroen.
[00:27:36]
Was Tailwind a thing already?
[00:27:39]
Yeah, let's go with Tailwind.
[00:27:42]
Tailwind is number three with seven respondents.
[00:27:45]
You're leaving table scraps for the steel here.
[00:27:49]
No strikes.
[00:27:50]
No, because Ryan.
[00:27:51]
One more item on the board.
[00:27:53]
Ryan, the number five slot, you've guessed Elm UI, plain CSS, Tailwind, Elm CSS.
[00:28:01]
One more item left.
[00:28:02]
I'm thinking a preprocessor like Sass on the board.
[00:28:08]
S.C.S.S. is the number five slot.
[00:28:10]
You just cleared off this board.
[00:28:13]
Brutal.
[00:28:14]
Not even giving Team Left Pizza a chance for the steel.
[00:28:18]
I'm starting to feel bad now.
[00:28:21]
Don't say that.
[00:28:22]
That makes me feel bad.
[00:28:23]
Left Pizza, what do you have to say about this?
[00:28:26]
Good job, folks.
[00:28:27]
Nice guy.
[00:28:28]
Now I feel worse.
[00:28:29]
Oh, making them feel bad for talking smack and clearing off the table there.
[00:28:35]
I like to detach myself from the smack talk.
[00:28:41]
You simply left to see it.
[00:28:43]
All right.
[00:28:45]
That was a good showing for Team Double Slash.
[00:28:50]
So many good questions here.
[00:28:52]
I'm kind of surprised that Elm UI wasn't the first one.
[00:28:55]
The amount of adoration people have when you don't have to think about margins, it just
[00:28:58]
outweighs anything else.
[00:29:00]
That is true.
[00:29:01]
Exactly.
[00:29:02]
Just margins.
[00:29:04]
That's the reason.
[00:29:05]
Just margins.
[00:29:06]
I was definitely expecting Elm CSS to be number two.
[00:29:09]
So to hear plain CSS, I was like, all right, we got some like vanilla, indie.
[00:29:14]
I appreciate this.
[00:29:16]
The no CSS and JS crowd.
[00:29:20]
All right.
[00:29:21]
So ready for our next face off.
[00:29:24]
Brian and Jeroen.
[00:29:25]
Get your buzzers ready.
[00:29:26]
These are really nice buzzers.
[00:29:28]
Where did you get them?
[00:29:29]
Like I like the gold filigree.
[00:29:32]
Yeah, they're beautiful.
[00:29:34]
Mario handcrafted them and integrated them with Lamdera.
[00:29:38]
All right.
[00:29:41]
What's one thing you use regularly in Elm, but it still kind of feels like magic?
[00:29:46]
Brian?
[00:29:47]
I'm going to say opaque types.
[00:29:50]
Opaque types did not make the board.
[00:29:52]
Oh my gosh.
[00:29:53]
Where's the opaque type love?
[00:29:55]
I know.
[00:29:57]
Maybe people are just, it's old hat for them.
[00:29:59]
Jeroen and I just like beat that horse to death.
[00:30:02]
And they're like, yeah, they're boring now.
[00:30:04]
Now everyone's just using type aliases.
[00:30:08]
Jeroen, would you like to take a guess here?
[00:30:13]
One thing you use regularly in Elm, but it still kind of feels like magic.
[00:30:17]
I would say record constructors.
[00:30:21]
Ooh, those do feel a little bit of magic, but that did not make the board either.
[00:30:27]
Brian, back to you.
[00:30:31]
I guess I've got to just answer personally because I'm terrible at predicting what people
[00:30:35]
are saying.
[00:30:36]
And when I found out about like union types or I guess now they're called custom types
[00:30:41]
in Elm, I was like, this is amazing.
[00:30:44]
I can model everything with it.
[00:30:46]
My life is going to get so much better.
[00:30:48]
And you know what?
[00:30:49]
I was right.
[00:30:50]
They're great.
[00:30:51]
So that just custom types.
[00:30:54]
Custom types.
[00:30:55]
Custom types did not make the board.
[00:30:58]
Wow.
[00:30:59]
Jeroen.
[00:31:00]
How many guesses do we have?
[00:31:04]
Let's see how long it takes.
[00:31:06]
If we keep striking out here, we might have to just call this one a mulligan, I guess.
[00:31:12]
How many answers are there on the board?
[00:31:14]
This one has three answers.
[00:31:16]
Oh, that's why I was going for number four and five.
[00:31:20]
Why?
[00:31:21]
Get number one.
[00:31:25]
I want to say custom type constructors now.
[00:31:31]
So let's go with that one.
[00:31:33]
That is not on the board.
[00:31:34]
All right.
[00:31:35]
Brian, error messages.
[00:31:37]
Error messages is not on there.
[00:31:39]
How?
[00:31:40]
We might have to call this one.
[00:31:43]
I was like waiting for someone to say like, yeah, like compiler errors.
[00:31:48]
And I was like, this is going to be so easy.
[00:31:50]
And then you said it.
[00:31:51]
I'm like, oh, no.
[00:31:52]
I'm going to guess one last time.
[00:31:54]
Jason decoders.
[00:31:57]
Decoders is on the board.
[00:31:58]
There you go.
[00:31:59]
All right.
[00:32:00]
All right.
[00:32:01]
All right.
[00:32:02]
Team Double Slash, you're on the board.
[00:32:03]
That is the number three item.
[00:32:05]
Wait, that was number three?
[00:32:07]
That was number three.
[00:32:09]
There's still the number one and two items.
[00:32:11]
So not error messages.
[00:32:13]
I'm going to go with like the exhaustive like pattern matching.
[00:32:17]
Is that on there?
[00:32:19]
That did not make the board.
[00:32:20]
You hate to see it.
[00:32:21]
All right.
[00:32:22]
Get us two of the three.
[00:32:27]
Oh, parsing.
[00:32:30]
Parsing did not make the board.
[00:32:31]
All right.
[00:32:32]
I feel like I'm taking too hard about this.
[00:32:36]
This is something that people just say.
[00:32:38]
It's like, what's magic?
[00:32:39]
Yeah.
[00:32:40]
So I guess there are so many ways you could go with this.
[00:32:44]
That's one thing you use regularly in Elm, but it still kind of feels like magic.
[00:32:49]
I'm just going to say the compiler.
[00:32:51]
I don't know.
[00:32:52]
I feel like that's...
[00:32:54]
That is number one.
[00:32:55]
The compiler.
[00:32:56]
All right.
[00:32:57]
Brian was kind of close, but error messages seemed like its own thing.
[00:33:00]
So it was on the fence.
[00:33:02]
Yeah, it was a tricky one.
[00:33:04]
It was a close call.
[00:33:05]
All right.
[00:33:06]
That is the number one item on the board.
[00:33:08]
You're in.
[00:33:09]
Two strikes.
[00:33:10]
One more item on the board.
[00:33:11]
I'm going to quote my boy, Richard Feldman.
[00:33:13]
Currying.
[00:33:15]
That is a good guess.
[00:33:16]
Not on the board.
[00:33:17]
No.
[00:33:18]
Steal time.
[00:33:19]
Steal time.
[00:33:20]
So I was afraid this moment would come.
[00:33:26]
Because I have a feeling this is like a telltale game moment.
[00:33:33]
We're going to answer something and then the internet will remember this wrong answer.
[00:33:39]
Well, I think maybe one of the things that draws people down is the whole if it compiles
[00:33:45]
it works kind of thing.
[00:33:47]
Could it be types?
[00:33:48]
And I would think that would be separate from the compiler, perhaps.
[00:33:50]
Yeah, but we've tried a bunch of different type features and it's like, nah, people don't
[00:33:55]
care about those.
[00:33:56]
But the way that the application just works when you compile it and it works, that might
[00:34:01]
be it.
[00:34:02]
True.
[00:34:03]
The compiler has been mentioned.
[00:34:04]
Could it just be like, so like it compiled works?
[00:34:13]
Could that just be it?
[00:34:15]
Or could it be like...
[00:34:16]
Yeah, I think so.
[00:34:17]
Okay.
[00:34:18]
Sounds like that's the guess.
[00:34:19]
All right.
[00:34:20]
Is it on the board?
[00:34:21]
It did not make it on the board.
[00:34:25]
The remaining item on the board was elm format with five respondents.
[00:34:28]
What?
[00:34:29]
Sure.
[00:34:30]
No, that makes sense.
[00:34:31]
It's a pretty good thing.
[00:34:33]
Yeah.
[00:34:34]
All right.
[00:34:35]
So that's 17 points for team Double Slash.
[00:34:40]
I would have guessed something like lazy or till call recursion or maybe just plain JavaScript.
[00:34:47]
So there was actually quite a variety of responses in this, which is why it was a small board.
[00:34:52]
So we had the virtual DOM, tasks, ports, pipelines, nothing, not a lot of magic in elm, elm UI,
[00:35:01]
compiler errors, WebGL, unification of extensible records, type variables, the runtime, subscriptions,
[00:35:08]
relying on types for safety, which would be that sort of if it compiles it works idea.
[00:35:12]
Yeah.
[00:35:13]
Actually, that's just a selection of them.
[00:35:16]
There were quite a few answers here.
[00:35:18]
Centrx, shout out to elm UI.
[00:35:22]
They didn't understand that or they didn't understand how it worked.
[00:35:26]
You use it regularly in elm, but it still kind of feels like magic.
[00:35:30]
Okay.
[00:35:31]
Yeah.
[00:35:32]
All right.
[00:35:33]
If I recall correctly, one of the reasons that Evan started elm was because he wanted
[00:35:36]
to vertically send her something on a page.
[00:35:38]
So we've come all the way to this.
[00:35:41]
Exactly.
[00:35:42]
Does Evan get it now is the question.
[00:35:46]
That is a good question.
[00:35:47]
I guess any sufficiently advanced technology is indistinguishable from magic.
[00:35:53]
All right.
[00:35:56]
Next question here.
[00:35:58]
Let's get our matchup.
[00:35:59]
We've got Ryan and Robin.
[00:36:03]
Get your buzzers ready.
[00:36:04]
I'll reset them here.
[00:36:05]
All right.
[00:36:06]
What are you most likely to use a port for in an elm application?
[00:36:11]
We've got Ryan with the first guess.
[00:36:13]
What are you going to guess?
[00:36:14]
I hit it so fast.
[00:36:15]
I shouldn't hit it so fast.
[00:36:16]
Like an existing JavaScript library.
[00:36:22]
It's just whatever people wrote for that question.
[00:36:24]
The question was, what are you most likely to use a port for in an elm application?
[00:36:29]
I would guess, yeah, like wrapping a JS library.
[00:36:32]
Wrapping a JS library.
[00:36:33]
All right.
[00:36:34]
Interop with JS library is on the board at number five with three respondents.
[00:36:38]
Robin, you have a chance to get something higher than number five.
[00:36:43]
Local storage.
[00:36:45]
Local storage is number one with 19 respondents giving you control over the board.
[00:36:50]
Team left pizza.
[00:36:51]
Here we go.
[00:36:52]
I got a good feeling.
[00:36:56]
We might score points.
[00:36:59]
You might get on the board with this round.
[00:37:01]
Let's go.
[00:37:02]
Brian.
[00:37:03]
Routing.
[00:37:04]
Routing.
[00:37:05]
Is routing on the board?
[00:37:10]
Routing did not make it on the board.
[00:37:12]
Robin, what are you most likely to use a port for in an elm application?
[00:37:18]
Web sockets.
[00:37:19]
Web sockets is absolutely on there.
[00:37:21]
Number two with nine respondents.
[00:37:23]
Brian, one strike.
[00:37:25]
Oh, man.
[00:37:27]
I'm just going to be the strike person.
[00:37:30]
Robin's going to get the answers.
[00:37:31]
We've got six items to go.
[00:37:34]
This is a tough board.
[00:37:37]
If this is of any comfort at all to you, Brian, I'm all out of answers now.
[00:37:42]
Thank you for bringing it up.
[00:37:47]
That's not comforting at all.
[00:37:48]
What else do you use ports for?
[00:37:54]
I bet people would have written the web platform generally.
[00:37:59]
People wrote calling out to the native browsers API, which I would say is synonymous with
[00:38:03]
the web platform.
[00:38:05]
That is number four with four respondents.
[00:38:07]
Robin.
[00:38:08]
How many items are left?
[00:38:10]
We've got five more items.
[00:38:13]
Big board.
[00:38:14]
Nine total.
[00:38:16]
Number five was like three respondents.
[00:38:22]
We've got some with two respondents here.
[00:38:25]
Gotta catch them all.
[00:38:28]
We got local storage.
[00:38:29]
We got web sockets.
[00:38:31]
JS interop.
[00:38:33]
And interop with JS library.
[00:38:36]
That's tricky.
[00:38:38]
I'm going to go with...
[00:38:41]
I don't necessarily think it's on the board, but it's the only thing that I have.
[00:38:46]
That's because it's the number one use where I work.
[00:38:50]
That is simply doing debug logging in production.
[00:38:55]
When you compile with optimized code.
[00:38:57]
I don't think it's on there.
[00:39:01]
That's like...
[00:39:02]
It did not quite make the board.
[00:39:04]
That one only had one respondent.
[00:39:07]
Brian.
[00:39:08]
What are you most likely to use a port for in an Elm application?
[00:39:13]
On the board, we've got local storage at number one.
[00:39:16]
Web sockets at number two.
[00:39:18]
We've got the number four item calling out to native browser APIs.
[00:39:21]
And you've got the number five item interop with JS libraries.
[00:39:26]
Like a web worker?
[00:39:27]
Is that what they're called?
[00:39:29]
That is what they're called.
[00:39:31]
And that did not quite make the board.
[00:39:32]
So that is three strikes.
[00:39:34]
We've got 35 points up for grabs team double slash.
[00:39:39]
Strike champion 2k21.
[00:39:42]
Good work, Brian.
[00:39:43]
We're so close to getting points and losing this golf game.
[00:39:49]
Perfect score.
[00:39:50]
What do you think, Nero?
[00:39:55]
I'm thinking we're going to give an answer.
[00:39:57]
If it's right, then great.
[00:39:59]
If it's wrong, then we're just being nice to them.
[00:40:03]
Yeah.
[00:40:04]
Nice.
[00:40:05]
I feel maybe IndexedDB for those...
[00:40:07]
We're getting two respond answers.
[00:40:09]
Maybe we got people that know how that works.
[00:40:11]
That's an idea.
[00:40:12]
IndexedDB, what I had in mind was getting the time.
[00:40:18]
Oh, okay.
[00:40:19]
Instead of...
[00:40:20]
But no, there's more of like four flags, I guess.
[00:40:25]
When you pass in date.now.
[00:40:26]
Yeah.
[00:40:27]
And then time.every does the rest.
[00:40:28]
Maybe people do use it for the time though.
[00:40:30]
Who knows?
[00:40:31]
Or random values if they don't know how to use random.
[00:40:34]
Yeah.
[00:40:35]
But yeah, IndexedDB might be a good thing.
[00:40:36]
Or something like that.
[00:40:38]
Oh, date formatting.
[00:40:40]
Is that...
[00:40:41]
Oh, that's a web component thing.
[00:40:42]
I'm going to get Dillon now.
[00:40:43]
Dillon showed me a trick with that.
[00:40:45]
I'm good with IndexedDB.
[00:40:46]
Okay.
[00:40:47]
Let's go with IndexedDB.
[00:40:48]
IndexedDB, did it make the board?
[00:40:52]
It did not.
[00:40:53]
Oh, right.
[00:40:54]
Team Left Pizza is on the board with 35 points.
[00:40:57]
Oh my gosh.
[00:40:58]
We are so done.
[00:40:59]
That's 35 points of my life.
[00:41:01]
I don't know if it would be appropriate to give a golf clap at this point because the
[00:41:07]
golf game just took a turn for the worse.
[00:41:10]
Yeah.
[00:41:11]
Indexed went 35 over par, Robin.
[00:41:13]
How do you feel?
[00:41:16]
I mean, it's better than when I actually played golf.
[00:41:20]
So it's not too bad.
[00:41:21]
Nice.
[00:41:22]
I can't imagine trying to play golf.
[00:41:23]
I have no experience.
[00:41:24]
All right.
[00:41:25]
Just hit the club with the ball.
[00:41:30]
I think that's the hardest part for me.
[00:41:32]
Honestly, just trying to hit the ball right at my feet, impossible task.
[00:41:38]
If you hit the club with the ball, then it might have unexpected results though.
[00:41:42]
Yeah, that's true.
[00:41:44]
To me, it's all the anger management I need afterwards.
[00:41:52]
It's tough.
[00:41:53]
It's tough not hitting the ball 40 times in a row.
[00:41:58]
My days of hitting the club are long gone.
[00:42:02]
We're going to quote that out of context, Ryan.
[00:42:05]
Perfect.
[00:42:06]
I'm like the opening sound clip.
[00:42:08]
It's just like some sad guy.
[00:42:10]
My days of hitting the club are long gone.
[00:42:13]
Hey, welcome everyone.
[00:42:16]
Well, you know, the first thing Dillon says is, hello, Eruin.
[00:42:23]
That's true.
[00:42:24]
We've wanted, actually in particular with our last episode with Ryan, we wanted to take
[00:42:30]
one of his meme worthy comments and put it up front.
[00:42:34]
I don't know, we can't part with the, hello, Eruin, hello, Dillon.
[00:42:39]
Come on.
[00:42:40]
We've done it since day one.
[00:42:41]
It's a classic.
[00:42:42]
It wasn't even planned on day one.
[00:42:44]
It was just like, well, let's do the same thing again.
[00:42:46]
We should have gone with the theme music.
[00:42:49]
Yeah.
[00:42:50]
Give me, give me the basketball.
[00:42:53]
Give me, give me, give me the ball because I want to dunk it.
[00:42:57]
This is like a different podcast.
[00:42:59]
Yeah, maybe.
[00:43:00]
All right.
[00:43:02]
You all ready for the double and triple round starting with a double points round.
[00:43:09]
And remember, these points were playing for keeps here.
[00:43:13]
You all know the prize.
[00:43:14]
You all know the consequences of losing.
[00:43:16]
Right.
[00:43:17]
I'm full of fear.
[00:43:21]
You all know what I'm talking about.
[00:43:22]
I'm just going to go lock the door.
[00:43:24]
I'll be right back.
[00:43:27]
All right.
[00:43:29]
Who's at the buzzer?
[00:43:30]
Yeah, who's our matchup this time?
[00:43:32]
I think it's Brian and Jeroen.
[00:43:34]
All right.
[00:43:35]
Brian and Jeroen.
[00:43:36]
All right.
[00:43:37]
So Brian and Jeroen, get your buzzers ready.
[00:43:40]
Double points round.
[00:43:42]
Team left pizza.
[00:43:43]
This is going to be an important round for you.
[00:43:46]
What's the first thing you do when you start a new Elm project?
[00:43:49]
All right.
[00:43:51]
And Jeroen is first to the buzz.
[00:43:53]
Are you just prepping yourself for the steal here, Jeroen?
[00:43:56]
What's a...
[00:43:57]
I don't know.
[00:43:58]
Now I'm playing mind games with you.
[00:44:03]
I mean, I don't even know if it's a good strategy to buzz in at this game, which is to treat
[00:44:08]
control.
[00:44:09]
You're like, I've been doing so well.
[00:44:10]
Don't take this from me.
[00:44:11]
All right.
[00:44:12]
Jeroen, what's your guess?
[00:44:13]
I'm going to go with Elminit.
[00:44:15]
Elminit, is it on the board?
[00:44:18]
It is the number one slot with 13 respondents.
[00:44:23]
Team Double Slash coming out strong here.
[00:44:27]
There are seven more items on this board.
[00:44:29]
All right.
[00:44:31]
Ryan, what's the first thing you do when you start a new Elm project?
[00:44:35]
I type Elm S.P.A.
[00:44:37]
New because that is an important framework that everyone should use.
[00:44:43]
Elm S.P.A.
[00:44:44]
New, is it on the board?
[00:44:46]
It did not quite make it.
[00:44:49]
My heart, my fragile heart.
[00:44:52]
It actually is just underneath the threshold to make it with two respondents.
[00:44:59]
They said NPX Elm Spot in it.
[00:45:02]
So that was good on them.
[00:45:04]
Jeroen, we've got one strike.
[00:45:07]
First thing you do when you start a new Elm project.
[00:45:10]
Wait a second.
[00:45:11]
If we score no points, they can steal no points and then we win.
[00:45:16]
Ouch.
[00:45:17]
Oh my gosh.
[00:45:19]
Is there anything in the game to stop that play?
[00:45:22]
I mean, we just find the degenerate way to play Family Feud.
[00:45:27]
You look at the history of the world and you eventually find World War One and like, you
[00:45:32]
know, there's prior art here.
[00:45:34]
It's terrible.
[00:45:35]
It didn't work out well.
[00:45:37]
Should we just say fart like three times and then get over it?
[00:45:42]
You only need to say it twice.
[00:45:47]
I'll say it.
[00:45:48]
I'll say it more times.
[00:45:49]
Let's just give real answers and just say people, let's say we threw it away.
[00:45:55]
I'm going to say git init, which is my real truthful answer.
[00:46:00]
Git init did not make the board.
[00:46:05]
We had some very thoughtful answers.
[00:46:08]
All right, Ryan, we've got two strikes.
[00:46:12]
Seven more items on the board.
[00:46:13]
I'm going to accept that maybe people aren't using Elm SPA new.
[00:46:17]
Maybe they reach for create Elm app or Elm create app.
[00:46:22]
It's one of those.
[00:46:23]
It's whatever the React did.
[00:46:24]
They just put React Elm where React went and then people are like, ah, so I'm going to
[00:46:28]
go with that.
[00:46:29]
Create Elm app?
[00:46:30]
I would say that people do that, but that is actually not on the board.
[00:46:33]
So that is three strikes with 13 points to steal, Yeroon.
[00:46:38]
Maybe you shouldn't have said that thought out loud because now people are going to be
[00:46:43]
suspicious.
[00:46:44]
A little sus.
[00:46:47]
Team left pizza.
[00:46:48]
It's yours for the steal.
[00:46:49]
13 points up for grabs.
[00:46:51]
Times two.
[00:46:52]
Times two.
[00:46:53]
So exactly.
[00:46:54]
26 points up for grabs.
[00:46:58]
Could it be like installing a dependency of some sort?
[00:47:01]
Could it be like installing Elm UI or something?
[00:47:05]
Yeah.
[00:47:06]
Or Elm CSS for me is usually just like, I know I'm going to use that.
[00:47:09]
I'll just get it out of the way.
[00:47:12]
There's also like writing a hello world or filling out a like program dot browser, you
[00:47:19]
know?
[00:47:20]
Yeah, that's true.
[00:47:21]
Browser dot application, excuse me.
[00:47:23]
Because Elm init doesn't actually create Elm files.
[00:47:25]
It just sets up the Elm JSON file, doesn't it?
[00:47:28]
Yeah.
[00:47:29]
But I think we're also thinking about this logically and it's what people put in a text
[00:47:33]
box on the internet.
[00:47:34]
Yeah.
[00:47:35]
I mean, we forget that people aren't inherently logical.
[00:47:40]
I think I actually love the randomness of some of these responses to be honest.
[00:47:45]
Yeah.
[00:47:46]
Grab a beer.
[00:47:49]
It's just like, all right.
[00:47:55]
Grab a beer.
[00:47:56]
This is the Elm community.
[00:47:57]
What a high opinion you have of it, Ryan.
[00:48:02]
Hey, beer is delicious.
[00:48:04]
My days of clubbing are long over.
[00:48:07]
I do think that putting a dependency, just one of them, something, anything is probably
[00:48:14]
it, right?
[00:48:15]
Or like a hello world in some way.
[00:48:17]
But I can't decide which of those things I think is more likely.
[00:48:20]
I think because how many items are on the board, Dillon?
[00:48:23]
Seven items remain on the board.
[00:48:25]
Seven items?
[00:48:26]
I think like hello world's got to be amongst the seven.
[00:48:29]
Yeah, I feel pretty comfortable with that too.
[00:48:32]
Let's just go with that, eh?
[00:48:33]
Hello world.
[00:48:34]
All right.
[00:48:35]
Let's see.
[00:48:36]
We have a new keyword.
[00:48:37]
We have getting something on the screen with four respondents.
[00:48:40]
So well done.
[00:48:41]
Nice.
[00:48:42]
You stole with four extra points.
[00:48:44]
That gives you a total of 34 points.
[00:48:48]
Beautiful.
[00:48:49]
All right.
[00:48:50]
And I must say, I'm very proud of our respondents here because this response was getting something
[00:48:56]
on the screen or trying to get a vertical slice of the model view update cycle.
[00:49:02]
So well done.
[00:49:04]
Thanks, caring about vertical slices.
[00:49:08]
Nobody grabbed beer?
[00:49:09]
So we actually had something along those lines.
[00:49:13]
I think I would have given you grabbing a beer for this.
[00:49:17]
So actually our number three with six respondents was there were different permutations of this,
[00:49:22]
but I grouped them as one thing.
[00:49:24]
So people said smile, do celebratory dance, weep tears of joy, feel wholesome, or think
[00:49:32]
about how to top the last one.
[00:49:34]
Oh my gosh.
[00:49:37]
Think about how to top the last one.
[00:49:40]
What an inspirational answer.
[00:49:42]
It's like every day I look in the mirror, I say you're beautiful and we're going to
[00:49:47]
be more beautiful today.
[00:49:50]
I love the optimism there.
[00:49:52]
Very inspiring.
[00:49:53]
We also had the number two slot with seven respondents was define data model or types.
[00:49:58]
Yeah, that makes sense.
[00:50:01]
And we did also have install dependencies at number five with three respondents.
[00:50:06]
We had Elm test in it with three respondents.
[00:50:09]
We had copy an existing project and delete stuff with three respondents.
[00:50:15]
And we had compile with three respondents.
[00:50:18]
No one wrote write Elm code.
[00:50:22]
No one writes Elm code.
[00:50:23]
No one writes Elm code.
[00:50:25]
That's not what we do here, Jeroen.
[00:50:28]
Just get ready.
[00:50:30]
Just let the tools do it for you.
[00:50:32]
We did have honorable mentions with setting up Git, setting up Auth, setting up hot reloading,
[00:50:37]
setting up Elm program test, setting up LimeDirra.
[00:50:40]
No one did Elm review in it.
[00:50:43]
No, that was not in there.
[00:50:46]
It's a rough night for you, Jeroen.
[00:50:49]
It makes sense.
[00:50:50]
It makes sense.
[00:50:51]
Maybe our responses are outdated.
[00:50:53]
All right, everybody.
[00:50:54]
Are we ready for our triple the points round?
[00:50:58]
Yes.
[00:50:59]
So, Team Left Pizza, you're really going to need these points, I'm sorry to say.
[00:51:04]
We've got Team Double Slash with 287 points.
[00:51:09]
Team Left Pizza with 52.
[00:51:12]
A mere slice of the points.
[00:51:16]
Came here and doubled the slash and tripled the cash.
[00:51:18]
Let's take it.
[00:51:21]
All right.
[00:51:23]
So here we go.
[00:51:24]
So where's our face off?
[00:51:26]
It's going to be me and Robin, I think.
[00:51:28]
All right.
[00:51:29]
And I'm going to lose by 20 milliseconds, like I always do.
[00:51:33]
The very first round you went quick and ever since I've been scared.
[00:51:36]
I've been scared of you.
[00:51:37]
So I've been slapping it without thinking.
[00:51:38]
And I'm like, oh, that's not good.
[00:51:39]
Well, all you need to do is...
[00:51:40]
I'll take it easy if you take it easy.
[00:51:44]
And you can use that as an opportunity to exploit it.
[00:51:48]
So I'm not going to win the game, but I'm sure as hell going to win this buzzer.
[00:51:52]
All right.
[00:51:55]
Well get your buzzers ready then, because here we go.
[00:51:58]
The final question for triple the points.
[00:52:01]
What is your favorite Elm package?
[00:52:05]
Robin, nailed it.
[00:52:07]
True to his word.
[00:52:08]
Yeah.
[00:52:09]
I'm done now.
[00:52:10]
I can check out.
[00:52:11]
I won the final buzzer.
[00:52:15]
Favorite Elm package.
[00:52:17]
Elm UI.
[00:52:18]
That is indeed number one.
[00:52:20]
Ding, ding, ding, ding.
[00:52:21]
Off to a good start.
[00:52:23]
Taking control over the board for team left pizza.
[00:52:26]
Brian.
[00:52:27]
How many points was that one already?
[00:52:29]
That was 16 respondents.
[00:52:33]
So Brian, there are five more items on the board.
[00:52:37]
What is your favorite Elm package?
[00:52:41]
Surely someone said Elm slash parser.
[00:52:45]
In fact, five people said Elm slash parser.
[00:52:48]
Nice.
[00:52:49]
Well done.
[00:52:50]
Robin.
[00:52:51]
Elm CSS.
[00:52:52]
Elm CSS did not make the board.
[00:52:55]
That's one strike.
[00:53:00]
Elm slash HTML.
[00:53:03]
Elm HTML didn't make the board either.
[00:53:05]
Interesting.
[00:53:06]
That is two strikes.
[00:53:09]
Four more items on the board.
[00:53:10]
I'm just going to go with my personal favorite.
[00:53:13]
And if the game hosts will be generous afterwards, that's just a bonus for me, but I'm going
[00:53:18]
to say Elm GraphQL.
[00:53:21]
Well, you may be trying to curry favor, but your strategy paid off as number two with
[00:53:28]
six respondents, left pizza.
[00:53:30]
All right.
[00:53:33]
That strategy did not work at all last year.
[00:53:35]
I was so sure like, oh, that's not going to work.
[00:53:41]
That was for favorite Elm tools.
[00:53:43]
So I guess people consider it a package more than a tool.
[00:53:46]
I guess.
[00:53:51]
Can you recap the board for me?
[00:53:52]
Yes.
[00:53:53]
So there are three items down, three to go.
[00:53:57]
You've gotten the top three.
[00:53:58]
So what is your favorite Elm package?
[00:53:59]
We've got Elm UI, Dillon Kern's Elm GraphQL, Elm parser.
[00:54:04]
So this is very hard because it wouldn't surprise.
[00:54:07]
So like I would think logically that, no, wait, I can help you.
[00:54:12]
Can I?
[00:54:13]
That's true.
[00:54:14]
Yes.
[00:54:15]
I wasn't going to say anything.
[00:54:19]
See they're trying to cheat now.
[00:54:26]
Let's see.
[00:54:27]
Oh man.
[00:54:28]
I feel like I'm really drawing a blank on this one now.
[00:54:32]
I ran through all the things and I'm just like, yeah, that's always got to be in the
[00:54:37]
Elm.json.
[00:54:38]
Okay.
[00:54:39]
Surely, because I'm drawing a blank, I have to be a little bit cleverer here and maybe
[00:54:47]
Elm slash core.
[00:54:49]
Well, that's a clever response, but we've got clever respondents.
[00:54:53]
We had five people responding with Elm core.
[00:54:57]
You love to see it.
[00:54:58]
That is like, it's such a good package.
[00:55:01]
It's got like you go back to like doing things native in JavaScript.
[00:55:06]
It's really hard.
[00:55:07]
You miss all those nice data structure helpers.
[00:55:10]
Well thought out core libraries.
[00:55:13]
This was going to be my stealing response.
[00:55:16]
Oh, okay.
[00:55:17]
Now we're sweating.
[00:55:21]
What I was going to say just before I realized that I was cheating was that it wouldn't surprise
[00:55:27]
me if people didn't think about the things which they have in every app.
[00:55:35]
That was good.
[00:55:38]
Good thing you didn't say that.
[00:55:43]
How much is left on the board?
[00:55:45]
Two more items remain.
[00:55:47]
I think this package is an acquired taste, but coming straight from JavaScript and how
[00:55:55]
simple certain things are, but I know at least it's one of my favorite packages once I've
[00:56:01]
used it enough to realize how much it helped me out.
[00:56:04]
That would be Elm JSON.
[00:56:05]
I completely agree.
[00:56:07]
Unfortunately, it seems our respondents didn't think in the same way there.
[00:56:13]
They were thinking down a different road.
[00:56:15]
It did not make the board.
[00:56:16]
That is two strikes.
[00:56:18]
It is one of the hardest part of Elm.
[00:56:21]
I'm not surprised.
[00:56:23]
We had one respondent with that, but it wasn't enough to make the board.
[00:56:25]
It is really one of the best parts of Elm for sure.
[00:56:30]
Is it steal the clock?
[00:56:33]
We got two more on the board and one more strike opportunity.
[00:56:38]
Two strikes.
[00:56:43]
Perhaps Elm test.
[00:56:45]
Elm test did not make the cut.
[00:56:47]
That is three strikes.
[00:56:49]
Team double slash.
[00:56:51]
We've got 32 times three points up for the steal plus the stealing question points.
[00:57:00]
Two more items on the board.
[00:57:01]
Would you like to take a guess?
[00:57:02]
All right, your own.
[00:57:03]
I got two ideas and I need your help.
[00:57:07]
Elm browsers is a thing, but also remote data.
[00:57:11]
It is a pretty sick package.
[00:57:14]
I don't know relative mainstreamness.
[00:57:17]
Probably more people use a browser.
[00:57:19]
I don't think it is going to be Elm browser.
[00:57:21]
I was thinking of list extra.
[00:57:23]
List extra is very good too.
[00:57:25]
Because I know that people love the extra packages for reasons that I may or may not
[00:57:31]
understand.
[00:57:32]
Hey, when I'm looking for a transpose, it is real nice.
[00:57:36]
Help me in the advent of code.
[00:57:37]
Good to see it.
[00:57:38]
What do you think?
[00:57:39]
So you said Elm browser and?
[00:57:45]
Elm browser and then the remote data package.
[00:57:47]
I'd go for list extra, but if you want to go remote data, let's go remote data.
[00:57:52]
Okay.
[00:57:53]
All right, let's go remote data.
[00:57:54]
All right.
[00:57:55]
Remote data.
[00:57:57]
Is it on the board?
[00:57:58]
Is it enough to steal the 96 hard earned points from left pizza?
[00:58:05]
It is indeed on the board.
[00:58:07]
Remote data with three respondents.
[00:58:10]
Well done, folks.
[00:58:12]
Thank you three respondents.
[00:58:14]
Wow.
[00:58:15]
Jeroen, how does it feel making a turnaround from last year?
[00:58:20]
Pretty good.
[00:58:21]
Pretty good.
[00:58:22]
I have to thank my parents for coaching me through this entire year on working on this
[00:58:31]
game.
[00:58:32]
We played family feud every day.
[00:58:34]
Wow.
[00:58:35]
We all do around the holidays.
[00:58:40]
Yeah.
[00:58:42]
What were the other answers that we missed?
[00:58:44]
All right.
[00:58:45]
So the one other answer we had on the board was Justin Mim's date with four respondents.
[00:58:51]
Date is excellent.
[00:58:53]
Yeah.
[00:58:54]
It's a timeless library.
[00:58:55]
Wow.
[00:58:56]
That was a really good joke.
[00:58:57]
Yeah.
[00:58:58]
You're not going to get a date with that.
[00:58:59]
It's about time I made a nice pun.
[00:59:06]
So there it is.
[00:59:11]
There it is.
[00:59:14]
Okay.
[00:59:15]
I've got to do this.
[00:59:16]
I've got to do this bonus round question.
[00:59:19]
We can just do this free form.
[00:59:21]
Which country do you think has the most active Elm community?
[00:59:25]
Norway.
[00:59:26]
France.
[00:59:27]
Norway.
[00:59:28]
The US had 29 respondents.
[00:59:31]
Norway had 16 respondents.
[00:59:33]
So yes, I think it's fair to say that Norway proportionately has the most Elm developers
[00:59:41]
with a population of 5 million.
[00:59:43]
So shout outs to Norway.
[00:59:45]
Wait, that's all?
[00:59:46]
Yes.
[00:59:47]
Oh, yeah.
[00:59:48]
No, everyone here writes Elm from toddler and up.
[00:59:50]
Exactly.
[00:59:51]
They play chess, they write Elm.
[00:59:54]
All 5 million.
[00:59:56]
We also had, so which country do you think has the most active Elm community?
[01:00:00]
We had in Europe with 4 respondents.
[01:00:03]
So that technically Norway is part of Europe.
[01:00:06]
So that's even more points for Norway.
[01:00:10]
I thought Europe was a country.
[01:00:13]
So right.
[01:00:14]
And then we also had the number 4 slot was Sweden with 2.
[01:00:19]
The number 5 slot was somewhere Scandinavian slash one of those Norwegian countries.
[01:00:30]
And then number 6 was Japan.
[01:00:31]
So yeah, kudos to Norway.
[01:00:34]
Kudos to Scandinavia for rocking the Elm.
[01:00:37]
I got to call the king and let him know about that.
[01:00:43]
The king just ran Elm in it and started watching the chess champions.
[01:00:47]
Good.
[01:00:49]
Do we have to report him about drinking beer or?
[01:00:52]
No.
[01:00:53]
No.
[01:00:54]
Oh, they've got great beer in Norway around this time of year.
[01:00:57]
Holiday beers.
[01:00:58]
Yes, please.
[01:00:59]
It's so good, but it's also so horrible.
[01:01:05]
But it's tradition.
[01:01:06]
All right.
[01:01:07]
So thanks everyone for playing.
[01:01:09]
And before we wrap up, let's just do a quick New Year's roundtable and take a moment to
[01:01:15]
reflect on this crazy, hectic year and maybe try to find a few highlights.
[01:01:21]
And if there's anything that's on your mind for 2022, any hopes or goals or resolutions
[01:01:28]
in tech for 2022 for yourself, any tech highlights that you have for 2021?
[01:01:34]
Anybody want to start?
[01:01:35]
I can start.
[01:01:36]
Yeah.
[01:01:37]
So I don't know.
[01:01:39]
Not many people probably know this.
[01:01:40]
Dillon actually helped me land my gig at Blissfully where I work and something that went really
[01:01:47]
well I guess this past year, I've gotten to code Elm full time there and it's been a blast.
[01:01:52]
We're using Elm GraphQL, we're using Elm Review, we're using it all over there.
[01:01:56]
So that was a good part of the past year.
[01:02:00]
That's amazing.
[01:02:01]
I worked with Matt and everything.
[01:02:02]
But in terms of resolutions, something that I personally want to do and something that
[01:02:08]
for those of you who've seen the Advent of Code videos that I posted with those crazy
[01:02:11]
thumbnails, I want to start bringing Elm out into more public spaces.
[01:02:18]
So I think there's a lot of history of very good Elm conferences where Elm developers
[01:02:23]
are sharing with Elm developers.
[01:02:25]
But I think for me personally, I want to try to go out in the JS space and see what people
[01:02:29]
are excited about there and see if we can have a similar thing for them in Elm.
[01:02:33]
So yeah, I encourage people to think about that too.
[01:02:36]
I guess it's a fun thing.
[01:02:39]
There's a lot of great JavaScript tools out there.
[01:02:42]
You should steal their ideas and make some nice stuff.
[01:02:46]
Yes.
[01:02:47]
Love that.
[01:02:48]
I love that.
[01:02:49]
I would love to see more good resources for people to get excited about Elm in the JS
[01:02:53]
ecosystem.
[01:02:54]
Love it.
[01:02:55]
All right.
[01:02:56]
Anybody else want to hop in here?
[01:02:57]
I guess I can hop in.
[01:02:59]
To me personally, the biggest highlight of the year was the first six months of the year
[01:03:04]
when I had paid parental leave.
[01:03:06]
I spent time with my son.
[01:03:08]
That was pretty great in an otherwise dark time.
[01:03:12]
And then a second highlight, which is more tech focused, was coming back to work, installing
[01:03:17]
Elm review and having interns delete...
[01:03:20]
Not interns, but just new people who with little Elm experience just delete a bunch
[01:03:27]
of code I've written.
[01:03:28]
That was very cathartic.
[01:03:30]
And then I think a resolution for next year is probably not very Elm centric, but I think
[01:03:36]
I have wanted to for a very long time to really get into and understand Datalog and try to
[01:03:42]
find some cool use case for that.
[01:03:45]
So I'm looking forward to do some research, reading papers and in general trying to figure
[01:03:51]
out how we can use Datalog to something cool.
[01:03:55]
Finding a real world application where you can leverage that.
[01:03:57]
Yeah.
[01:03:58]
Exciting.
[01:03:59]
You and Brian should have been team Datalog because there's Datalog stuff that you were
[01:04:04]
working on, right Brian?
[01:04:05]
Yeah, I can just go next because one of your highlight in tech anyway was that I wrote
[01:04:09]
a Datalog.
[01:04:11]
So that was fun.
[01:04:12]
I called it bad Datalog because it's not good, but it was really fun.
[01:04:20]
It's a great language.
[01:04:21]
And basically, I don't know, if anybody's interested in Datalogs, I would be happy to
[01:04:25]
chat.
[01:04:26]
But my main advice is to not read the papers because they all were in this sort of space
[01:04:31]
where they were like, yeah, recursion will solve our problems.
[01:04:34]
And the way to implement a Datalog it turns out is actually just to make a relational
[01:04:38]
algebra and pretend that the Datalog is casting to like a query.
[01:04:43]
That works a lot better.
[01:04:44]
Anyway, I guess as far as resolutions, I would really love to do like recurse center again.
[01:04:51]
I did that for a week at the beginning of 2020 and it was just brilliant.
[01:04:54]
It was so fun.
[01:04:56]
Just being around other people who are just really like curious about things.
[01:05:00]
That was really wonderful.
[01:05:02]
And I would also, this is sort of less techie, but I'm really interested in recycling.
[01:05:07]
Like me and a friend here are collecting milk bottle caps right now because it turns out
[01:05:11]
number two plastic you can melt at home with no fumes.
[01:05:14]
You can work it basically how you do wood.
[01:05:16]
So we're like, okay, what can we do with this?
[01:05:18]
Can we turn some pens out of it?
[01:05:19]
Can we make like phone cases or whatever?
[01:05:21]
Like what can we do?
[01:05:22]
So I'm really looking forward to exploring that more.
[01:05:26]
Awesome.
[01:05:27]
Yaron, you got any highlights or resolutions?
[01:05:32]
Highlights of the year.
[01:05:33]
Well, I did a lot of things with Elm Review.
[01:05:36]
Yes.
[01:05:37]
A lot of things were cool things were released this year.
[01:05:40]
So Elm Review unused got a lot of new improvements.
[01:05:45]
So you deleted a lot more.
[01:05:46]
Used a lot?
[01:05:47]
Yeah.
[01:05:48]
No, I mean.
[01:05:49]
Ironically.
[01:05:50]
Unreview unused was not unused.
[01:05:53]
Let's just say.
[01:05:54]
Yes, it was not unused.
[01:05:55]
I got Elm Review simplified.
[01:05:58]
We got the new suppression system.
[01:06:00]
We got missing features like global and configuration errors, tilt call optimization, and then a
[01:06:06]
lot of other cool stuff that I'm really happy about that were released.
[01:06:10]
I'm currently looking to optimization a lot more.
[01:06:15]
So trying to make Elm Review faster and therefore looking into Elm Optimized Level 2, which
[01:06:22]
is very exciting.
[01:06:24]
So Robin, you're definitely going to hear from me more.
[01:06:29]
Looking forward to it.
[01:06:30]
Awesome.
[01:06:31]
And yeah, continue working with Elm Review.
[01:06:34]
I don't have any grand goals with it.
[01:06:36]
It's just whatever I'm interested in at the moment will be what I'll be working on then.
[01:06:44]
Yeah.
[01:06:45]
And I'm hoping for a nice year of Elm Radio episodes.
[01:06:49]
Yes.
[01:06:50]
That's all we're asking for this Christmas.
[01:06:53]
Yeah.
[01:06:54]
With a lot of cool guests.
[01:06:55]
Yeah.
[01:06:56]
But not the ones that got zero points.
[01:06:58]
And there were none.
[01:07:01]
There were none.
[01:07:03]
That's right.
[01:07:04]
Exactly.
[01:07:05]
Yeah.
[01:07:06]
Stedden?
[01:07:07]
Yeah.
[01:07:08]
So last year in our holiday episode, Jeroen, you and Matt and a lot of people on the show
[01:07:16]
were talking about wanting to not just build tools to build things, but actually build
[01:07:22]
things and get their hands dirty and build things.
[01:07:24]
I would say that's been a highlight of 2021 for me.
[01:07:28]
I built a lot of things with Elm Pages, which was great.
[01:07:32]
Not just building Elm Pages itself.
[01:07:34]
I got Elm Pages 2.0 out there, which was just sort of a goal of mine for a long time to
[01:07:40]
revamp it and think those ideas up from the ground up.
[01:07:44]
And so that was really satisfying.
[01:07:47]
And looking forward to 2022, I want to continue getting these ideas in my digital garden.
[01:07:53]
Using Elm Pages has been really fun.
[01:07:55]
I think that I really like what Ryan's thinking about with trying to make resources to make
[01:08:01]
Elm accessible to people outside of the Elm community.
[01:08:04]
And I think big picture, I'm just really thinking about how do we make Elm the best environment
[01:08:10]
it can possibly be?
[01:08:12]
And of course, there are many dimensions to that question, technical and non technical.
[01:08:16]
But on a technical level, well, having technical resources.
[01:08:21]
So I hope that I can continue to develop my ideas and share them, learn in public and
[01:08:28]
put these ideas into writing.
[01:08:30]
I'm working on some video content and I'm going to be doing a lot of paid video courses
[01:08:35]
in 2022.
[01:08:36]
I would love to see some excellent IDE editor improvements in the Elm community too.
[01:08:45]
So those are some of the things on my mind that I would feel very happy to look back
[01:08:49]
on at the end of the year, a year from now.
[01:08:52]
All right.
[01:08:53]
Well, I think that's it.
[01:08:54]
So thank you all so much for coming on the show.
[01:08:57]
This was a lot of fun.
[01:08:58]
Yeah.
[01:08:59]
A blast.
[01:09:00]
Double slash.
[01:09:01]
Double slash and left slash.
[01:09:02]
Yeah.
[01:09:03]
Thank you all so much.
[01:09:04]
And really had a lot of fun and looking forward to hopefully seeing your lovely faces again
[01:09:11]
in 2022 for some more podcast recordings.
[01:09:14]
Cool.
[01:09:15]
Sounds good.
[01:09:16]
All right.
[01:09:17]
And Jeroen, until next time.
[01:09:19]
Until next time.