JS Party ā€“ Episode #300

Best of the fest! Volume 2

featuring our favorite moments from the last 100 episodes

All Episodes

JS Party listeners and panelists celebrate great moments from the last 100 episodes! Youā€™ll hear from 14 of our favorite humans (and 1 horse) across 11 episodes. Hereā€™s to our first 300 episodes and the next 300 as well. šŸ„‚

Featuring

Sponsors

Socket ā€“ Secure your software supply chain in GitHub PRs! Try it for yourself today

Fastly ā€“ Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com

Fly.io ā€“ The home of Changelog.com ā€” Deploy your apps and databases close to your users. In minutes you can run your Ruby, Go, Node, Deno, Python, or Elixir app (and databases!) all over the world. No ops required. Learn more at fly.io/changelog and check out the speedrun in their docs.

Notes & Links

šŸ“ Edit Notes

Chapters

1 00:00 It's party time, y'all 00:38
2 00:38 Episode 300! 02:39
3 03:17 The return of horse_js 03:10
4 06:27 The "His Beloved TypeScript" song 02:06
5 08:33 Kyle Beard & the future of React 13:47
6 22:20 Mikey G & Jerod's fantastic humor 02:19
7 24:39 Jarvis Yang & things bing Litt 03:21
8 28:00 Sponsor: Socket 03:26
9 31:36 Lars Ellingsen & spicy debates 06:22
10 37:58 Brian Zelip & Amal's insights 03:00
11 40:58 Kris Torres & Team Jerod 03:03
12 44:01 William V & extended convos 02:22
13 46:23 Mycale & the TypeScript wars 06:39
14 53:02 Nelson & recreating Node 04:04
15 57:06 Nathan P & creative coding 05:33
16 1:02:39 Amal & peddling vegetables 07:52
17 1:10:30 Nick & sneaking it in 01:23
18 1:11:53 Chris & Luis Villa 02:13
19 1:14:07 Jonathan C & live call-ins 04:04
20 1:18:10 Nick's final words 00:48
21 1:18:59 Join the community! 01:40
22 1:20:39 Closing time 00:19
23 1:20:58 Thank you šŸ’š 02:06

Transcript

šŸ“ Edit Transcript

Changelog

Play the audio to listen along while you enjoy the transcript. šŸŽ§

Oh, my goodnessā€¦ 300 episodes. Can it be that we have created 300 of these JS Parties? I guess so, because thatā€™s how it works when you increment the number once every time you make a new episode. So weā€™re here to celebrate, reminisce, and talk about the best of the fest with many of our JS Party friends. Amal is hereā€¦ Hello, Amal.

Hi. Happy to be here. Great job fake-rhymingā€¦

Thank you. I have a knack for fake-rhyming; not for actually rhyming, but for almost rhyming. They call that a slant rhyme here in these United Statesā€¦ But you wouldnā€™t know that, because youā€™re over in Amsterdam, you know?

Yeahā€¦ I think in Amsterdam they would just call it badā€¦ [laughter]

Well, theyā€™re far more honestā€¦

Ooh, Amal is laying down the shadeā€¦

Yeah, itā€™s gonna be a fun oneā€¦

Alright, so apparently, hungover Amal is spicy Amal.

Oh, my Godā€¦ Itā€™s not a hangover if itā€™s non-alcoholic.

Enough saidā€¦ Thatā€™s Kball, bumping in there. Whatā€™s up, Kball?

Hey. Excited about this. I was realizing at some point, I think JS Party is now my longest-running gig. I have been hanging out with JS Party longer than Iā€™ve ever worked for a company.

Awwā€¦

Oh, wow. That makes us feel special.

What brings you back each and every week?

You all, of course. You set me up for that.

But you havenā€™t been here for a while. So Iā€™m wondering, what did we do?

I was here last weekā€¦

Iā€™m just messing around. New jobā€¦ You know, things get busy. That guy chomping at the bit just canā€™t wait to say hoy-hoy, but I wonā€™t let him until I introduce himā€“

Hoy-hoyā€¦

Itā€™s Nick Nisi. Heyā€¦

I preempted you. [laughter]

You did. Youā€™re feeling salty as wellā€¦ Chris - weā€™re not sure if heā€™s salty or not. He just rolled out of bedā€¦ But he said if I do one headlie, heā€™ll get excited. I donā€™t know, he didnā€™t say that. I just made it up. Hi, Chris.

Hi. Good morning.

Good morning to you. And of course, this is our 300th spectacular, so if youā€™ve been listening for a while, you know Iā€™ve been relentlessly pestering you to send us messages, audio preferred, but text okayā€¦ And thank you all for writing in, for calling in. We have two voice mails to play today, and we have a bunch of listeners who will get shout-outs and I will read what they had to say. Weā€™re gonna talk about some of our favorite parts about the last hundred episodes, some of their favorite partsā€¦ And just see where this goes. To do that, I thought it would be kind of lame if I were to just read all these messagesā€¦ And I remembered my old friend, HorseJS.

Hello, JavaScript developers. I just want to take a moment.

Nick, you know HorseJS, right?

I know of themā€¦

Tell the people about HorseJS, Nick.

They were a Twitter account, are a Twitter accountā€¦ I guess Twitterā€™s not a thing, so they were a Twitter ā€“

I think were is probably the way to say it, yes.

They were a Twitter account that would take fragments of other tweets and use them out of context, that were all related to JS.

I will clarify that I do not regret using Redux.

Good times. Very good times.

Thatā€™s right. Very good times. And that would be very obscure ā€“

Any JavaScript nerds wanna get rekt?

ā€¦and so much so that there was other Twitter accounts that would explain the context for what HorseJS was saying, which was also really fun. One of my favorite troll accounts of all timeā€¦

React, itā€™s okay.

And we actually integrated it into the show. So the death of HorseJS is really bumming out the JS Party. In fact, we interviewed HorseJS one time, right, Nick? Me you and Divya interviewed HorseJS. And at that time, I had to decide how HorseJS was going to sound. And I thought itā€™d be weird to assign it a male voice, a female voice, and so I was reminded of that great movieā€¦ Not Alice in Wonderland. Whatā€™s the other great movie? Thereā€™s just two of them.

Billy Maguire.

Somewhere Over the Rainbow? Whatā€™s that movie?

You lost the rest of us.

Wizard of Oz?

Yes! I was reminded of that great movie, The Wizard of Ozā€¦ With the horse of many colors.

See, you just have to think like Jerod. I just had to put myself in Jerod shoes, you know?

Thatā€™s right. Well, itā€™s Alice in Wonderland and the Wizard of Oz. Arenā€™t those two semantically linked in your head, [unintelligible 00:04:55.13]

For sure. For sure.

Okay. Yeah, itā€™s just two great movies. So the horse of many colors - I thought HorseJS would be the horse of many voices. And so weā€™ve had a HorseJS on the show throughout the years, in order to just spice up the show.

Node.js will be dead in two years, and you shouldnā€™t learn Node at all.

Unfortunately, HorseJS died, and is nowā€“

Itā€™s HorseJS glue nowā€¦

ā€¦glue, yeah. [laughs] No, we donā€™t know what HorseJS became.

So you have a zombie voice for us, is what youā€™re saying? Weā€™re right after Halloween; zombie voice is appropriate.

Well, I thought HorseJS was dead, but - remember in Lord of the Rings when Gandalf dies, and heā€™s Gandalf the Grey, but then he comes back, and heā€™s actually Gandalf the White, and heā€™s even better? Well, what Iā€™ve realized is that HorseJS, the horse of many voices, is actually just like Gandalf. Itā€™s come back, itā€™s even betterā€¦

Everyone, JavaScript is so cool. Have you heard?

And it did not want to read these listener messages, but what it was willing to do was to sing us a song.

Oh, wow.

[00:05:59.27] If yā€™all could see Chrisā€™s face right nowā€¦ [laughter]

HorseJS ā€“

I think that should be the thumbnail.

ā€¦was willing to sing us a song in collaboration with Amal.

Wait, what?!

The song is called ā€“

I didnā€™t consent to thisā€¦ [laughter]

Just wait, youā€™re gonna love this. The song is called ā€œHis beloved TypeScript.ā€ And I will play it now for the first time and probably the only time in human history.

I donā€™t know what it is, but Iā€™m just digging the mood for this 300th episode.

[laughs]

I didnā€™t know this was the Nick Fest.

Iā€™m just wondering if Amal isnā€™t the only one imbibing. [laughter]

Honestlyā€¦ Wow. Wow.

Chris, your reaction?

I really ā€“ I have no wordsā€¦ [laughter]

Iā€™ve left Chris speechlessā€¦ Thatā€™s a win. Thatā€™s a win. Alright, well, thank you HorseJS and Amal for ā€œHis beloved TypeScriptā€, the first and only song written and performed entirely by a horse. Okay, letā€™s move on. Kyle Beard, our first listener to write in.

ā€œHello, Kyle Beard here. So many good episodes, but Iā€™ve listened to number 267, which is ā€œThe future of Reactā€ multiple times. Very useful to get the perspective of the team behind RSC, especially at the time.ā€ I thought that might bring out a topical conversation about React Server Components, and maybe server actions in Next.js 14, and maybe the use server directive, and - who put that sequel in my React component? What do you guys ā€“ what are your thoughts on this? This is a hot topic - for or against, happy or scaredā€¦

So I have a reaction. So Iā€™ve long been in favor of making it easier for frontend folks to build full applications. And I think weā€™ve moved in that direction for a lot of things, and I think generally thatā€™s good. And that was the whole JAMStack thing, and weā€™re doing that by letting you just [unintelligible 00:09:35.20] React and write other things. Okay, all these things are good. And I have recently, for the first time, had the experience of having to jump into two large existing Next.js full-stack applications, and oh my God, they are terrible. This is great for building simple applications, this is great for I have to access a little bit of dataā€¦ But this is not one of the places where separation of concerns and getting rid of it makes for better applications. These things are tangled nests of workflow-dependent mess, that are really, really hard to maintain and work with.

[00:10:15.01] So I think enabling this type of stuff for simple things is great, and I also think that this is a place where, from what I have seen recently, this trend of trying to mash everything together and say ā€œYou know what, we can treat our backends the same way as our frontendsā€, and all of these different things has led to some really awful application architectures, and maintenance nightmares, and all sorts of headaches. And I donā€™t know all the reasons, but it turns out thereā€™s a lot of specialized knowledge in the frontend - weā€™ve been trying to get that across to people for a long time, that this is a specialized discipline; thereā€™s a lot of important things to learn. Itā€™s not just simple things, itā€™s not just - as one of my developers said, ā€œTaking JSON and shuttling it at different places.ā€ Thereā€™s a lot to think about. That same thing is true of the backend, and trying to mash it all together and not have to worry about it works great for small applications, works great for demos, leads to some really terrible, unmaintainable systems at scale.

My thought on it is that it does seem weird, it does seem like it would be a tangled mess to maintain, potentially. I havenā€™t really done much with itā€¦ Iā€™ve done some Next stuff and ended up abandoning it, because it wasnā€™t great at the time. And from what I see on Twitter, itā€™s still not great. But at the same time, I want to approach this kind of in an opposite way of how I approached React in 2013, when it came out, with that separation of concerns. Bringing my HTML into my JavaScript - that seemed wrong and weird at the time. Now JSX seems totally normal and awesome. In 2033, is thatā€¦ God, I hope Iā€™m not still writing this stuff. [laughs] Iā€™m kidding. I would love to be writing it in 2033.

Well, if youā€™re not writing it, Nick, somebody has to beā€¦

I really want to hear from Chrisā€¦ I have some thoughts, but I feel like Chrisā€™s face is giving me like way more interesting things than what Iā€™d have to sayā€¦

I mean, really, I have no opinion. I donā€™t really know how to use React. Iā€™ve never used Nest, or Next, or whatever the hell it is. So I have no idea. Iā€™m sure it sucks, though. [laughter]

Chris, would you ever write a button where in the on-click you just put some SQL and run it immediately? Thatā€™s what it is.

Would you ever write a button?

Iā€™ve written many buttons. I used to be an Angular JS proā€¦

Iā€™m sorry.

But not anymore.

I mean, Angular was a leader in its day. Angular JS, specifically. Yeah, and I think even Angular in its current evolution is doing a lot of really interesting things as well. So yeah, no hate on Angular. But I think for me this trend of kind of RPC, which is an old pattern that was popular a long, long time ago, and back when single-page apps werenā€™t really a thing, you knowā€¦ And so for me, it was really interesting, this old pattern of RPC coming back. So RPC - I think it stands for Remote Procedural Call, or something like thatā€¦ But this is kind of a pattern that existed a long time ago, before single-page apps sort of thing; think PHP days and before. And so itā€™s interesting to see this kind of resurgence of RPC in this Reacty/Nexty worldā€¦ And then also I think Signals is doing some of that work as wellā€¦ Thereā€™s quite a few places in the ecosystem that I think are following this patternā€¦ So I donā€™t know, I mean, itā€™s definitely not something Iā€™m personally excited about, but again, not having used it in production, itā€™s hard to make an informed opinionā€¦ Which, based on Twitter, you would think everyoneā€™s using it in production, and has well-informed opinions, you knowā€¦ [laughs] And yeah, RPC is definitely not unique to web tech either, exactly. Chris just typed that in the chat.

[00:14:14.04] So yeah, I donā€™t knowā€¦ Not for me personally, but itā€™s interesting. Iā€™m eager to see how this plays out. Iā€™m definitely curious to try it in production and see if it makes senseā€¦ I agree with everyone, I think in the simple cases - okay; but as soon as it gets complicated and hairy, I would refactor that out very quickly. So thatā€™s kind of where I stand. But again, not having used this in production, itā€™s hard to have like a well-informed opinionā€¦ Which, based on Twitter, you wouldnā€™t think that.

Well, Iā€™m withholding judgment till I see it in a more serious way, I guess. Right now itā€™s just like ā€œHereā€™s a demo of one lineā€, but letā€™s actually see that in use. It did give me that response of ā€œThis is exactly how I was writing my index.php files when I was in collegeā€, and those became giant piles of spaghetti code very quickly, and I needed something else. And so I donā€™t personally ever want to go back to that lifestyleā€¦ But wait till we see more, because itā€™s very much [unintelligible 00:15:11.14]

Lifestyle. Wow. It really does feel like a lifestyle, I agree.

It does, doesnā€™t it? Like, ā€œHereā€™s how I write my web apps.ā€

Yeah. Youā€™re either writing it that way or youā€™re not, you know? [unintelligible 00:15:21.18] one camp or the other.

At least then you were writing it server-side and maybe like doing messed up stuff, but it was gonna be executed server-side and then rendered; not like youā€™re writing it and you donā€™t know if itā€™s server, is it front end, is it gonna be part of my SPA? I mean, you do know, if you know what youā€™re doingā€¦ But when you come to something else, youā€™re like ā€œI donā€™t know.ā€ And that just seems somewhat more fraughtā€¦

I think these are only available in Server Components. But it is kind of interestingā€¦

Iā€™m not sure about that.

We had this idea of ā€œWeā€™re gonna have Server Components so we can write our same code on the frontend and the backend, and itā€™s good.ā€ But now thereā€™s some things that youā€™ve got to use a client on, and thereā€™s some things youā€™ve got to use a server onā€¦ And really, is there actually a benefit from having these things both look like React?

100%. Thatā€™s where I come down on it, too. And I just feel like the messaging around like Next 13 and 14 and RFC has just been really jumbled, and really hard to follow. The Server Components stuff on the outset seems like a really good idea, and it seems like this is pushing you towards a better practice of shipping less JavaScript to the frontend. What is Server Actions ā€“ whatā€™s the best practice that itā€™s pushing me towards there? Itā€™s muddied to me. And it just ā€“ I donā€™t know.

Well, it goes back to our conversation with the React team on the episode that Kyle was talking aboutā€¦ I mean, that was like an hour and 15 minutes of which afterwards I didnā€™t come away feeling like spectacular about the story. I was just like ā€œYeahā€¦ā€ I mean, Dan was still kind of figuring out how to talk about it, and he gave us some analogiesā€¦ I mean, you can go back and listen to that; youā€™ll hear Nick and I trying to follow alongā€¦ And we are not inexperienced developers. Itā€™s just like the way itā€™s been presented is not straightforward. And so it leaves you kind ofā€¦

I mean, I think there is something here thatā€™s interestingā€¦ So for a long time, we lived in a world where we had these really great, ergonomic frameworks that were only available on the frontend. And we said ā€œOh, okay, weā€™re shipping SPAs, we do all this stuff on the frontend, thereā€™s a simple API in the backend.ā€ And then we said ā€œOh, thereā€™s all these downsides of single-page applications. We want to maybe be able to render on the server, send over HTML, maybe we send less JavaScriptā€¦ Okay, letā€™s do that.ā€ And we had server-side rendering. And then weā€™ve got ā€œOkay, these things are still kind of like a SPA, but theyā€™re server-side rendered, but theyā€™re still a separated frontend. Theyā€™re talking back to a backend thatā€™s written somewhere else, thatā€™s handling our data.ā€ And people say ā€œOkay this is good, but now I still have to deploy two things. This is a pain in the butt. What if I could do all of my stuff in one application, I could have the benefits of the front, I could have the benefits of the back, I could do all these things togetherā€¦?ā€ And so theyā€™re trying to kind of go back to this whole single-stack application that you had in the world of a PHP app, or Rails, or something like that, and kind of recreate that, but instead of going back to front, theyā€™re creating it front to back. Is that the right approach? For simple applications, that is great.

[00:18:21.10] I have yet to find something that is ergonomically beautiful and easy to work in as an old Rails application. Those are great. And they have technical limitations, and they only meet certain things, and at some point you want the power of a separated frontend, or something like that. So I think this is kind of in that same world. Itā€™s great for simple applications; you can do everything in one spot, you only worry about one deploy, it goes out on your, Fly server or whateverā€¦ But ā€“

Vercel.

Or Vercel.

I mean, letā€™s be serious, thatā€™s where it goes out, right?

Oh my God, Vercel is such a pain to deal with backends onā€¦ It doesnā€™t do it. Theyā€™re trying to fit everything into this frontend-centric world, which works for some sets of things, butā€¦

Right. For me, itā€™s just like ā€“ if we kind of take a step back and look at, okay, well, why are we doing this? Oh, because weā€™re not really handling these loading states gracefully, and weā€™re kind of failing users, weā€™re sending them stuff up from the server that looks like itā€™s ready, looks like itā€™s clickableā€¦ When you try to do something, nothing happens. So itā€™s like ā€œOkay, well, how do we get away from that?ā€ Well, you can write code around that. Itā€™s just kind of like, well, I have this little stain on my carpetā€¦ Itā€™s like, oh great, let me just bleach the whole room. I feel like this is taking like a mega hammer to a problem that can be solved in a much more graceful way just using like vanilla JavaScript and HTML, and CSSā€¦ So itā€™s just kind of one of those things where I feel like thatā€™s the tool that we have as developers; weā€™re going to try to solve our JavaScript problems with even more complicated JavaScript, and I feel like we go down the complexity rabbit hole, because weā€™re just not incentivized towards simple solutions as engineers. I mean, itā€™s kind of really ā€“ itā€™s a hot take, but thatā€™s real talk. Thatā€™s kind of where I stand.

I think we have an episode thatā€™s like ā€œWould you like JavaScript with your JavaScript?ā€, or something like thisā€¦

Youā€™re right. Yeah.

[unintelligible 00:20:15.03] JavaScript sprinkles? Itā€™s like weā€™re still doing that, but weā€™re putting it on top of a JavaScript pasta.

Right. Yeah. JavaScript with a side of JavaSlwipt, right? [laughter] For anyone who caught the Easter Egg in one of our episodesā€¦

Ooh, yesā€¦ JavaSkwipt.

That was great. That was awesome.

Douglas Crockford calls JavaSkwipt ā€“ JavaScriptā€¦

JavaSkwiptā€¦ [laughs]

Let me say that again. Douglas Crockford calls JavaScript is smelly languageā€¦

Soundboard.

Says itā€™s ā€“

Hey, JavaSkwipt. Oh, JavaSkwipt. I love me some JavaSkwipt.

[unintelligible 00:20:55.29]

Yes, you silly wabbitsā€¦ [laughs]

Elmer Fudd says ā€œJavaSkwiptā€™s smelly.ā€

[laughs]

Okay, weā€™re gonna break the showā€¦

Do you have brownies for breakfast, or what?!

No comment, Iā€™m on vacation. No commentā€¦

Okay, we need to move on. This could be a whole episode, but it canā€™t be this episode.

Well, hold on, thereā€™s one important thing, Jerod, though, which is ā€“

Noā€¦

No, really, really, one, which is like, weā€™re announcing React features at a Next.js conference. Can we please ā€“ can we talk about that?

The unholy alliance.

Like, ā€œWhat is going on here?ā€ Yeah, itā€™s just this weird murky waters, where itā€™s like developers ā€“ people have to understand, the React ecosystem is a Venn diagram, and Next is a circle within that. It is not encompassed ā€“ like, theyā€™ve got the order wrong. Soā€¦

How big is the circle?

I donā€™t know, but Iā€™m saying a lot of people who use React donā€™t use Next. For example me, you know?

How much of this is Facebook is trying to be profitable and Vercel is still flying high on VC money?

[00:22:07.13] I donā€™t know. Either way, itā€™s sketch, and we should definitely talk about it in a show. So weā€™ll see. We can move on now, but I just wanted to throw that out there.

Itā€™s an entire episode.

Yeah, itā€™s its own discussion.

But I want to hear from our listeners, such as Mykey G. Mykey G says ā€œHello, this is Mykey Gā€, which is how Iā€™d introduce myself as well if I were Mykey G. ā€œI started listening to JS Party last year and have no regrets.ā€ Thatā€™s nice. ā€œI enjoyed episode number 281, as it not only included Jerodā€™s fantastic humor, but gave excellent arguments for a few methods of debugging, showing a different perspective.ā€ This was the Yep/Nope debugging debate, and Mykey G. knows how to make it onto the show; he gives me a compliment. And youā€™re going on the show when you compliment it Jerodā€™s - fantastic? Or what was the word? Excellent. No. Fantastic humor. This is how Amal snuck around early on[unintelligible 00:22:57.23] and I said ā€œYouā€™re coming back, Amal.ā€

[laughs] Right, right, right. Your mind is a powerful weapon, Jerod.

Youā€™re on. Youā€™re a regular. So this was ā€“ who was on that debate? It was Eric Clemens, I believeā€¦

It reminds me just how little we do as kind of like engineers to test for like the non-happy paths; those assumptions are baked into so much code. I mean, you can look at failure statesā€¦ And itā€™s actually one of the beautiful things about being in the frontend space as a web developer, is that thatā€™s a portable skill, of being able to work in the browser. You hand me a URL if somethingā€™s going wrong, and Iā€™m going to be able to look at these really rich tools that you donā€™t get when you console.log in Node. I can actually expand out variables, and copy to the console, like you mentioned. Itā€™s almost always like at the network layer, where we see that some happy path assumption isnā€™t true anymore. And then thatā€™s whenever all the problems arise.

And Nick didnā€™t show up, so I had to both moderate and debate. Ainā€™t that right, Nick?

I think it was this one. Yeah.

That was good time. That wasnā€™t like the time that Amal just didnā€™t invite youā€¦ It was different.

Oh, Godā€¦

Remember that one? ā€¦where you said anybody can come on except Nick.

Oh, I definitely have never uttered those wordsā€¦

[laughs]

And yeah, youā€™re just a troll, Jerod. Thatā€™s what I realized. I think itā€™s taken me so many years to realize this about youā€¦ And you love to troll on air, when people canā€™t really like roll up their sleeves and like punch backā€¦ [laughs]

Oh, please do. I donā€™t ever stop somebody. I meanā€¦

Iā€™m a lady.

ā€¦Chris has been coming at me for a long time.

Iā€™m a gentle lady.

Okay. Well, thank you, Mykey G, for writing in about my fantastic sense of humor. Letā€™s move on to our first audio clip. This is HorseJSā€¦ No, just kidding. This is Jarvis Yang.

Oh, Jarvisā€¦!

[unintelligible 00:24:45.11] We all know Jarvis, heā€™s been a longtime listener and community member. Letā€™s hear what Jarvis has to say.

Jarvis Yang here. Please include the ā€œThis is going to be litā€ episode, but include at least one Louis Litt code. I was hoping for at least one reference from the TV series Suits. Interesting episode anyways. Keep it up. Thanks.

Okay two words. Macbeth. Okay? [laughter] There we go. Thereā€™s a Litt quote.

So I confess to not being a Suits watcher. So Iā€™m out on Louis Litt. Otherwise that probably would have made it into a subtitle, or something. But I donā€™t know Suits, so I had to go Google this after Jarvis brought it upā€¦ But Amal, you must be a Suits fan.

Oh, Suits is great. Suits is amazing. Granted, itā€™s taken me several years to get through the last season of the showā€¦ I still think I have like four episodes or six episodes leftā€¦ But yeah, great show. Louis Litt - great character. Thank you for bringing up that analogy, Jarvis. You rock.

Yā€™all will be shocked to learn that I have zero pop culture or TV awarenessā€¦ So I didnā€™t even know this was a thing.

I am shocked.

We are not shocked.

I am shocked.

Thatā€™s just right on brand for Kball. You donā€™t know Kball doesnā€™t watch TV or movies?

Weā€™ve never had this conversation, because weā€™re always talking about careers and JavaScriptā€¦ So I feel like we havenā€™t gone there.

[00:26:08.04] I tried Suits. I tried three episodes maybeā€¦ And it just wasnā€™t sticking. So then I went and started Billions, and Iā€™m on the final season of that now. And Rick Hoffman is actually in that as well, and he plays a [unintelligible 00:26:19.08] doctor who lost his license. Itā€™s pretty funny.

I also havenā€™t watched Billionsā€¦ But I did watch some Louis Litt quotes on YouTube, andā€¦ Thanks, Jarvis; I might check that out, now with Amalā€™s seal of approval as well. It might be next up on my list. This episode, 284, ā€œThis is going to be litā€ with Justin Fagnani from Lit HTML.

There was a project at Google one time called Razor, which turned into a project called Sky, which turned into what people know today as Flutter. And it was a fast subset of the web that was designed to be embeddable into other apps, and be 120 frames per second fast on mobile devices, and whatnot. Flutter is good at what it does, but itā€™s not the web anymore. And I actually think the web could really benefit like Electron desktop apps, like mobile apps, or whatever. I just want the web to have even more reach than it does nowā€¦ And I really wish it had this kind of small, embeddable subset that, say, Servo could target as a thing it could support, without supporting the whole web, or something like that. People could embed into their super-apps in China, or whatever, where micro apps come into them, and stuff. I wish that there were ā€“ yeah, kind of the web, the good parts, as a spec.

And that was Kball and Amal. Awesome episode, so thanks for shouting that one out, Jarvis.

Letā€™s hit up our next listener, Lars [unintelligible 00:31:37.08] He says ā€œThere have been so many good episodes that itā€™s hard to choose. One of my favorites was the Yep/Nope debate episode on whether React is only good at being popular.

Good choice.

So yes, weā€™ve been having this conversation before it was coolā€¦ Thatā€™s episode 244, with Josh Collinsworth, I believe, who wrote the blog post, came on and debatedā€¦ That was, I think, called ā€œThe spicy React debate showā€, and it did get very spicy.

Do you know why React is so high in satisfaction? Because itā€™s so complicated to use it makes you feel like youā€™re a total ninja when youā€™re using itā€¦

I feel called out.

ā€¦when really all youā€™re doing is using ten lines to solve a two-line problem. It makes you jump through so many hoops that you feel like youā€™re on American Ninja Warrior, reaching the top of that giant thing, just for writing a little bit of codeā€¦ When really, they made you do this; this was just solving a web problem.

I enjoyed that one as just a listenerā€¦ I think, Nick, you moderated. You did a mighty fine job.

Mm-hm.

Did I also win that one? I think I won somehow.

You never win if Iā€™m moderatingā€¦

I always win. He says ā€œI had just been getting to the point where I felt more confident in React, and that episode opened my eyes to what else might be out there. I also really enjoyed the recent episode diving into Nick Nisiā€™s toolbox, number 278, where for the first time I heard about WezTerm, which is now my daily driver. On a funnier note, the line that made me laugh the most had to be Amalā€™s revelation that the sound DMX made on most of his songs was supposed to be him barking.

Honestly, that was like a very real revelation. It was like, I had no ideaā€¦

What did you think it was?

I still have no idea.

I donā€™t know.

What is the sound? Do we have this on the board?

No, we donā€™t have it on the board. I did put it into the episode.

ā€œElon Musk says X will fund legal bills if users treated unfairly by bosses.ā€

Okay, Iā€™ll keep it as true.

Yeah, definitely true. I mean, itā€™s so ridiculous, it has to be true. Itā€™s how I feel.

So ridiculous it has to be trueā€¦ But is it actually true? Did he actually say that, or did I make it up whole cloth? [win alert] It is true. He said that a couple of weeks ago.

I asked you to repeat the title because I was curious if you said Twitter or X, and you were trying to get us on that.

Oh, I wouldnā€™t be so malicious. You know I fully support x.com.

Is this where we start playing DMX? [00:34:13.26]

Thatā€™s what I was saying ā€“ if you listened to our show a couple of weeks back, I was saying DMX is rolling in his grave right now, because heā€™s getting all of his cool songs again steamrolled.

[laughs] I never realized that what DMX was doing on so many songs was barkingā€¦

What did you think he was doing? Coughing something up?

I had no idea that was a bark. [laughter]

He was just trying to DM us, on X.

Anyways, Iā€™m sorryā€¦

Oh, thatā€™d be a cool new feature of X, if that was the DM sound anytime someone DM-ed you on Xā€¦ It barks at youā€¦

There should be like ringtones for DMsā€¦ You know, where thatā€™s a feature.

Yeahā€¦

Amal, can you make that song?

I mean, it was basically like [00:35:07.08] And I donā€™t know, I just thought he was rapping and making sounds; like, how am I supposed to know that was barking? Thatā€™s such a random thing. You donā€™t assume a human being is barking, you know what I mean? But alas, he was. I also have to say, for the React show, that was like my debut with that song, which I feel like has gotten so much general airtime, the dangerously set inner HTMLā€¦

Oh, yes.

You know what my favorite - and when I say ā€œfavoriteā€, I mean favorite-not - feature of JSX is? [singing] Dangerously set inner HTMLā€¦ Whatā€™s so dangerous about HTMLā€™s inner parts? I donā€™t knowā€¦ [laughter] But theyā€™re dangerous on the internetā€¦ Of React. Reactā€™s internet, of course.

[00:35:58.12] That was a really fun show. Yeah, Kball, you were on the opposite side. You were on the opposite team.

We were going at it. It was great.

It was great. We were just like one ridiculous argument over the other.

I love those Yep/Nope shows. They are so fun.

Yeah, theyā€™re really fun. We should do them more often.

I agree. Itā€™s difficult to come up with a premise that will be defensible on both sides, and not pylonsā€¦ Weā€™ve probably done five or six, and itā€™s almost likeā€¦ I just canā€™t ā€“ like, whereas the JS Danger stuff I can just come up with new questions; itā€™s seemingly infinite. But with Yep/Nopes I canā€™t come up with the debates often enough. And so Iā€™ve tried to have Kball help meā€¦ Maybe this is a good ChatGPT kind of thing, but if youā€™re listening and you have a good premise for a debate, just shoot me an email or hit me up in Slackā€¦ Because I would do these more frequently if we had good premises more frequently.

SQL belongs in your React components?

Yeah, I was gonna just sayā€¦ I was literally just gonna suggest that as like the [unintelligible 00:36:58.00]

Thatā€™s a good one.

Iā€™ll also say that we could probably reuse some of them, tooā€¦ Because opinions change over time, and flipping sides, andā€¦

Ohā€¦ Same debate, different sides.

Yeah. We could redo the React one, actuallyā€¦ Taking into account the new patterns, you knowā€¦

Chris, have you ever been on a debate episode? I feel like you have, but I canā€™t think of which one it would have been.

I feel like I was on one a long time ago.

We did one about ā€œShould we rebrand JavaScript?ā€ which was like because of Oracle, and becauseā€¦

And I think you were on that one. Howā€™d you come down on that one? I canā€™t remember.

I donā€™t knowā€¦

[laughs] ā€œDonā€™t know, donā€™t careā€¦ā€ I think the answer was it should be rebranded as JS, and here at JS Party we are in full agreement that it should just be JS Party.

That was episode 101. Weā€™re out of scope for today to talk about that episode.

Okay. Sorry. That goes way too far back. Letā€™s hear from our next listenerā€¦ Somebody else who called in. This is Brian Zelip, whoā€™s also been on previous shows calling in, so a familiar voice. Hereā€™s Brian.

Hey, this is Brian Zelip from Baltimore, Maryland. Over the past 100 I realized the shows that resonated the most with me were co-hosted by Amal. I always look forward to her insights, experiences, questions, and especially her ethics. Some of my favorite moments included the ESM modules history, Web Components via Lit. The show with Alex Russell, the episode on Playwright, the !important CSS, and more. Thanks so much to JS Party and the whole Changelog roster for keeping an open, explorative and thoughtful discourse going. We really appreciate you. And Iā€™ve already got a JS Party Tee, so please give mine to Amal if she doesnā€™t already have one. Cheers, yā€™all.

Oh my God, wow. That was ā€“ Iā€™m blushing. Thank you so much. Iā€™m kind of like the grandma on this showā€¦ I kind of [unintelligible 00:38:57.29] vegetable shows together, you knowā€¦ Itā€™s like, kids, we donā€™t really want to talk about our transition from CJS to ESMā€¦ But granny Amal is gonna force you, okay? [laughs]

This is gonna be good for all of us. Yeah, exactly. Youā€™ll thank me later.

Yeah. Exactly. So thatā€™s just my MO. I really appreciate it. And yeah, thank you. Looking forward to the next 100, I guess, right?

I feel like in some ways that goes back to your first episode with us as a guest. Werenā€™t we talking about TC-39? ā€¦which is another very vegetables show.

I was gonna bring that up. It was at Node.js Interactive, and Kball and I were talking to you about ā€“ I think at the time you might have been at Bocoup and you were writing tests for TC-39. Like testing things. And you brought such amazing insight into that side of the process, andā€¦ I just agree with everything that he said. Itā€™s awesome.

Yeah, thank you, guys. Thank you. I love this show. Itā€™s such a wonderful platform. You all are like such engaged listeners, andā€¦ Itā€™s a wild industry that weā€™re in; the constraints are always shifting, the requirements are always shifting, the web platform is always shiftingā€¦ And we somehow still have to kind of get things to our users, as well as professionally developed. So kudos to all of you for listening, thank youā€¦ And yeah, grandma out. For now.

That guy sounded like Steven Seagal.

Really? How does Steven Seagal sound?

[00:40:32.07]

Are you really as good as they all say you are?

Every once in a whileā€¦

I kind of want a voice like thatā€¦

Gosh, how cool would be if Steven Seagal had an alias that he used just when he listens to JS Party? [laughter] He calls in as Brian Zelipā€¦ Thatā€™d be amazing.

I think we need to get Steven Seagal on the show now, to help corroborate the story, you know?

Yeah. Confirm or deny.

Exactly.

Next up we have Chris Torresā€¦ Or is it? Or is it actually some other celebrity that poses as Chris Torresā€¦ Okay, Chris says ā€œConsole.log Hello Worldā€¦ā€ Nice intro, Chris. ā€œThis is Chris Torres, a web developer from Carson, California. Aside from the occasional Frontend Feud episodes, I love the playful banter between Jerod and Nick on the controversial topic of TypeScript.ā€

Itā€™s not controversialā€¦ [laughter]

I beg to differ, Nick. I beg to differ. It clearly is. Listen to this; thereā€™s more. ā€œApologies to Nick, but I am and always will be on Team Jerod.ā€

This sounds made up. Iā€™m sorry. Youā€™re not a real person. [laughter] Nice try, Jerod.

Ohā€¦ No, Chris says ā€œI find it very entertaining and fun to listen to. Anyways, please bring back JS Danger, as Iā€™m an avid fan of Jeopardy. Itā€™s been forever since the last episode. Other than that, thank you so much for bringing me joy and awesome content every Friday. I truly appreciate it.ā€ Thank you, Chris. We appreciate you writing that in. Yes, I do want to bring back JD Danger. I started to do more feuds because we had a nice formula of like podcast versus podcastā€¦ And because Frontend Feud is more communal, and less antagonistic. Jeopardy is one on one on one, and it really is how much you knowā€¦ And if you go back and listen to those - I mean, I was under fire as the writer of those questionsā€¦ Especially one time Suz and Emma were just coming at meā€¦ And Iā€™m like ā€œI donā€™t need this in my life.ā€

So the nice thing about Frontend Feud is itā€™s the people versus the audience, right? The ones who filled out the surveyā€¦ Theyā€™re the bad guys. And JS Danger, Iā€™m the bad guy, because theyā€™re like ā€œWhy would you write a question like that?ā€ And so I just shied away from it. But I do enjoy itā€¦ We have all the code we need to run the gameboard, so I will ā€“

At least we agree that youā€™re the bad guy.

Oh, my goshā€¦

Itā€™s also ā€“ I mean, itā€™s rude when I also win every timeā€¦ So no wonder. I somehow ended up pulling it out. But yeah, Iā€™m down to bring back JS Danger in ā€˜24. Weā€™re unfortunately booked through the end of ā€™23, but in ā€˜24 Iā€™m down for some JS Danger.

Yeah. And by the way, the fact that until this day Jerod still trolls Nick, and Nick still reacts like itā€™s his first time getting trolledā€¦ Itā€™s pretty funny. Itā€™s just such a Tom and Jerry situationā€¦ Jerod loves to troll, and I think Nick loves to defend, so itā€™s just like a match made in hell, reallyā€¦ [laughs]

My favorite part is how Nick declares it not a controversial topic, and then right after that he gets owned by the listener who agrees with me.

[unintelligible 00:43:46.09]

[00:43:53.02] Chris, please directly contact with Nick with some form of government ID and let him know that you are indeed real. Letā€™s hear from our next listener. This is William V, who says ā€œI love the episode called ā€œSpicy fonts and static sitesā€, where they discussed the awesome use Eleventy, and just kept talking even after the pod was supposed to end; it pushed me to want to subscribe to Changelog Plus Plus, which is better, Iā€™m toldā€¦ā€ [Changelog Plus Plus. Itā€™s better.]

That one was cool. Thatā€™s Zach Leatherman. Of course weā€™re gonna keep talking to Zachā€¦ Weā€™ve known Zach for many years, and itā€™s hard to stop talking when you get the three of us together, after a long time of not talking.

You know, a lot of these people, when we have them on the show itā€™s like the only time we get to talk to them, just because life is busy, and weā€™re all doing our different thingsā€¦ And so many times youā€™re like catching up with old friends, and then you feel obligated to talk about a specific thing, until the show is over, and then you can just chatā€¦ So that is a good place for our Changelog Plus Plus extended episodes. I canā€™t remember if that one actually had an extension on it or not. It must haveā€¦ But that was a long time ago.

I was looking for itā€¦ That oneā€™s even older than the last 100.

Oh, outside of scopeā€¦

But it was a good one. It was a good one.

You walked off the end of an array and now youā€™re in-memoryā€¦

I mean, we could be celebrating all 300. I feel like 300 is a pretty big milestone; it doesnā€™t just have to be the last 100 that are amazing.

Fair. Thanks for just bloating out our scope here. This is how feature creep happens, peopleā€¦ Iā€™m just looking out for the user.

We just keep expanding. [laughter]

Can I give a shout-out to someone, or someonesā€¦ I think itā€™s really been primarily one editor, but weā€™ve just got to give a shout-out to Jason, our sound editor, whoā€™s fantasticā€¦

Yeah. Heck yeah.

ā€¦and edits all our shows, makes us all sound way smarterā€¦ And just does a fantastic job. We throw him so many curveballsā€¦ Right now Iā€™m in Amsterdam, using ā€“ if I sound crappy audio-wiseā€¦ And otherwise itā€™s fine too, but specifically audio-wise, itā€™s because Iā€™m using Pixel earbud headphones that Iā€¦ Because I forgot to bring my travel mic, and I havenā€™t had a chanceā€¦ But heā€™ll fix this up and make it sound way better. And so I just want to say thank you so much, Jason; we love you. You work really hard, and youā€™re a huge part of the show. So thank you.

Amen to that. Thank you, Jason. Alright, next listener message. This is from Mikhail, who says ā€œMy favorite recent episode was on the TypeScript wars.ā€

So yeah, I donā€™t know, should we pull up that tweet and read it out loud, Jerod? Iā€™m not logged on to Twitter on this machine, and I will have to pull it up on my phone. Butā€¦

Well, Iā€™m sure Rich has it openā€¦ Youā€™ve got the quote tweet thereā€¦

[laughs] Yeah. Rich is like, ā€œItā€™s embedded. Itā€™s a feed embedded in my brain.ā€

[laughs] Itā€™s his biggest mistake over the last week. Itā€™s gotta be right thereā€¦

Heā€™s like ā€œIā€™m recording this podcast through Twitter, through an iFrame on x.com.ā€

So a little bit of context around ā€“ so David Heinemeier Hansson, heā€™s the creator of Ruby on Rails. Heā€™s a very outspoken developer and business guy, quasi-professional contrarian, and heā€™s very good at taking a contrarian viewā€¦ And he has a library called Turbo, which is a JavaScript library that helps your website go faster by basically hijacking anchor clicks and replacing them with Ajax non-full page refreshes. Itā€™s a long-standing thing thatā€™s on its eighth version; itā€™s gone through a lot of iterations. Actually, we use it, an older Turbo, 5 I think, on changelog.com. Iā€™ve used it for many years. Itā€™s decent softwareā€¦ And itā€™s an open source project thatā€™s pretty much controlled and managed by him, and his company. And they took TypeScript out of Turbo; not the way that Svelte did it with type annotations, or with JSDoc comments, but just by actually removing it wholesale. And DHH wrote a blog post about why they did this, and he had a tweet about it, which Rich has now found, and Iā€™m clicking on, which says ā€œSo farewell TypeScript. May you bring much rigor and satisfaction to your tribe, while letting the rest of us enjoy JavaScript in the glorious spirit it was originally designed, free of strong typing.ā€ So thatā€™s, I think, probably a pull quote from the blog post, as his typical fare is. So thatā€™s the context. And then Richā€¦ Do you wanna dunk on him again? [laughs]

[00:48:29.23] You should read this in your Jay-Z voice, or your Barry White voice. Either one, you knowā€¦

Hang on, Iā€™ve gotta find my own tweet nowā€¦

Yeah, I liked the Barry White voice. That was good.

Okay, here we go. Do you want me to read out my own tweet?

Oh, I can pretend guitarā€¦

Okay. So just, again, for context, a lot of people had already been attacking meā€¦ [laughter] This sounds like Iā€™m an absolute psycho. Okay, okayā€“

Itā€™s just like being forced with your bad decisions like the morning afterā€¦ ā€œIā€™m sorry, Iā€™m sorry to make you read your naughty tweet on a large podcastā€¦ā€

If I had spent a little bit longer on this tweet and thought a bit more about the reactionā€¦ I probably need to change some of the wording, but here we go.

Did you know that you were gonna be reading it out loud? Iā€™m just kiddingā€¦ [laughter] Anywaysā€¦

ā€œRemoving types from your own code is clownish, epically misguided behavior. But whatever, to each their own. Removing types from a library that other people have to use, however, is just user-hostile *bleep*.

*bleep* - is that even a word that we canā€¦? That might even be censored. I donā€™t even know.

Weā€™ll have to find out whether or not it gets bleepedā€¦ But itā€™s a great turn of phrase, I think.

This was the one that Amal refused to bring Nick on, even though I lobbied for him. Iā€™m like ā€œCome on, he deserves to be here. He needs to represent his side of the argument.ā€ And sheā€™s just like ā€œNo, Iā€™m just ā€“ Iā€™ve heard enough of him.ā€

I understand.

This isnā€™t manufactured controversy. Okay? Nick was invited, Nick was the first person I invited on that showā€¦ He just ā€“ you know, his body just chose the wrong time to get sick. Soā€¦ He just wasnā€™t able to make it. But that was a good show.

I mean, the rumor was all the hubbub actually made him throw up, because his beloved TypeScript was so under attack that he was literally ā€“

I was silencedā€¦

ā€¦he just couldnā€™t even show his face. [laughs]

Nowā€™s your chance, Nickā€¦ What would you have said?

Yeah, you tell Rich Harris how it is.

No, I listened to that show and it was great. I loved Richā€™s take on it. Heā€™s got a very level-set take on the whole controversy, and I thought it was great.

It was a solid show, and it was really great to be able to walk through that nuance with [unintelligible 00:50:38.09] and learn directly from him on some of the very nuanced decisioning, and also kind of the benefits of that decision for him and his teamā€¦ It was fantastic.

It really did ā€“ like, he was the perfect person for that too, because heā€™s gone through the process of being in TypeScript, and switching back, and laid out the valid reasons for that. And I think it was different than the controversy at the time, because he still very much supports the end users of Svelte using TypeScriptā€¦ And that is the most important thing. I understand why he wants a build step to be missing. Thatā€™s totally fineā€¦ Because it was like a double-build step in Svelte, right? And so that makes total sense. I thought it was a really insightful episode.

Itā€™s a weird world, Nick, where the most important thing is that people use TypeScript.

Why is that weird?

But itā€™s your world, and Iā€™m just living in it. Why is it weird? Well, because thereā€™s other tools in the toolbox. Maybe not in your toolboxā€¦

No, I think his point is itā€™s important that other people are able to use TypeScript. Right?

I know, but Iā€™m trying to take his sentence out of context, Kballā€¦ And I donā€™t need your help to recontextualize things. Iā€™m winning over here. Iā€™m winning.

This is what I do. I put things in context. Thatā€™s my jobā€¦

[laughs]

Oh, my Godā€¦

[00:51:56.10] Kballā€¦ I have a word for you. Itā€™s called buzzkill. You know, back in the day thatā€™s what theyā€™d call Kball, with the contextā€¦ ā€œActually, guys, itā€™s not the correct contextā€¦ā€ Okay, back to Mikhailā€™s message. So on that show I kind of went on a mini-rant about developer identity, and how we need to be able to detach ourselves from our tools, and float above the short-termā€¦ And to that, Mikhail says ā€œAs a new frontend dev, I love telling people why they are wrong for not liking the thing I was told to like.ā€ So there you goā€¦

Oh, yeahā€¦ And I want to say, Jonathan ā€“ Iā€™m sure this is Jonathan Creamer, right? The Jonathan thatā€™s in our chat, he just said that he loved the recent ā€œThe death of Node.js has been greatly exaggeratedā€ show, and he said that it was so much fun to hear from the folks like Matteoā€¦ You had and provide context about what Bun is trying to do. Yes, I agree. And he also loved the show ā€œAutomating the pain awayā€, which he was on almost a couple years ago.

Oh, yeah. I remember that.

That was a really good show. John, we need to have you back, Jonathan. Consider this an invitation.

For 2024. Because unfortunately, weā€™re all booked out for 2023.

Letā€™s hear from Nelson. ā€œHi. This is that kid. One of the best pods was ā€œRecreating Node.jsā€ with Eric. The talk gave me inspiration to dive into the depths of Node. Iā€™m not a contributor yet, but someday I will be. Thanks for the show.ā€ That was a crazy episode. Kball, wasnā€™t that you and I interviewing him, all about how he recreated Node.js from the ground up? A simplified versionā€¦

I feel like thatā€™s actually a key to becoming a good developer, and to going deep in all of these things. Itā€™s like, once you get outside of the domain you know, itā€™s gonna be hard. Thereā€™s gonna be dead ends, thereā€™s weird, esoteric knowledge that somehow has not made its way into the documents, or into ChatGPT, or into whatever else youā€™re using to teach yourself. And youā€™re gonna get stuck for a while. And youā€™ve gotta not give up to easy, and keep banging your head, and try changing your question or your search phrase until you figure out what is the weird thing that somebodyā€™s documented in a blog post that wasnā€™t picked up by whatever, that gets you past that barrier.

Itā€™s kind of like a video gameā€¦ Thereā€™s two kinds of video game players. Thereā€™s the ones who get stuck and theyā€™re like ā€œThis isnā€™t fun anymore. Iā€™m here to have fun. Iā€™m gonna move on.ā€ And I totally understand that, because thatā€™s logical. Like, if the goal is fun, and this isnā€™t fun - why am I doing it? But then thereā€™s the kind of video game player that I am, where itā€™s like ā€œOh, Iā€™m stuck right here. My life is gonna be hell for the next seven hours until I get past this level.ā€ And Iā€™m just gonna go over and over and over until I get past it.

Sometimes I feel like programming has been like that, for me personally, where Iā€™m like ā€œIā€™m just stuck. I donā€™t know my way out.ā€ This is pre-GPT tooling, pre-lots of helpsā€¦ And Iā€™m like ā€œWell, itā€™s me and the keyboard here. Letā€™s bang our head on it until we finally figure it out.ā€ And it sounds like youā€™ve persevered through some of that yourself, Erick, in getting this thing out there.

Yeah. In my case there is always some voice here, thereā€™s a reasonā€¦ Because why anyone hasnā€™t done anything that you are trying to do, right? My video on recreating Node - thereā€™s no content on the internet; so this is why Iā€™m building blog posts, making a lot of stuff, to try to get more people. But when youā€™re the first, this is very nice. Like, ā€œOh, I was the first. Mad science.ā€ I actually implemented the WebSocket protocol using JavaScript from scratch, like binary data, and a lot of stuff, because I was making questionsā€¦ And this is very nice when you reach the point. But the path - oh, my God. You think ā€œIā€™m gonna give up at some time.ā€ Your mind is like ā€œNo, you shouldnā€™t do it. You have a lot of other stuff to do.ā€

Right?!

[00:55:48.03] Yeah, it was a fun one. I think Erick does a really nice job of kind of breaking down these things that feel overwhelming and hard, and showing how theyā€™re not that different from problems youā€™re probably already solving, and kind of building things back up again. So yeah, I love having folks like that on. Itā€™s a really important skill, because I think getting into this industry nowā€¦ Thereā€™s so many layers of stuff out there that it feels like you have to learnā€¦ And really, most of it is like applications of the fundamentals, in one form or another. And so kind of breaking that barrier of ā€œOh my gosh, this thing has been around for 15 years. How am I possibly able to dig into it?ā€ and saying ā€“ you know what, itā€™s using the same things that youā€™re doing in your applications. ā€œLetā€™s just look at how theyā€™re applied here, and kind of making it accessibleā€ is super-powerful.

Not to mention his enthusiasm for the content, and just all things is contagious, and he makes you want to go and try things as well that you otherwise wouldnā€™tā€¦ So we should definitely get him back on at some point as well.

Alright, last listener messageā€¦ This is from Nathan P. ā€œI loved the episode with Alex Miller, which focused on making web art through the affordances of grids and web APIs. The interview inspired me to start doing some creative coding in my free time. Some of my other favorite episodes were the interviews with Alex Russell and Evan You. Iā€™m a big fan of JS Party. Thanks for all the hard work.ā€

Alex is getting a lot of love today. Iā€™m gonna have to message him and tell him that. Heā€™s at Web Directions in Australiaā€¦ I donā€™t know why I said it that way, but I didā€¦ So ā€“ thatā€™s so cool. And thatā€™s amazing that youā€™re making art. Have you considered making it in an NFT? [laughs]

Good question. Good question. Well, thatā€™s episode 275, with Amelia and I talking with Alex Miller, aka Space Filler, about indie web art and the work that he did, which was an essay/artpiece/coded thing called Grid World.

ā€œThe emptiness of a totally blank page intimidated me by demanding that I make the first move. But graph paper invited my participation by steering my pencil in the grooves of its strictly regular lines. The grid was like a friend who had already done half the work for meā€, and I feel this exact same way, but I never really thought about it in those terms, of like ā€œWhy do I like graphing paper?ā€ Or ā€œWhy do I hate blank pieces of paper?ā€ Or an empty, white canvas that is a browser viewport before youā€™ve actually put some HTML onto it. And itā€™s like, thereā€™s just ā€“ you can put anything, anywhere. Itā€™s like the ultimate paradox of choice, right? But with graphing paper, with grid paper, itā€™s kind of just like ā€œHey.ā€ Itā€™s approachable. Hereā€™s a starting place, right here where these two lines cross. Thatā€™s pretty poignant.

Thank you. Yeah, I think itā€™s something that I have thought about over the yearsā€¦

I thought that was a really cool conversation. One thing about Alex that I learned on that conversation is that his dad made Myst, if you remember the game. Chris, you seem like the kind of guy who played Myst. Yes? [laughs]

Youā€™re trying.

I am trying really hard. You didnā€™t play Myst? It was epic. It was a classic. It was amazing. It was the dawn of the PC video gaming era.

You know, I think at the time I didnā€™t have a good enough computer to play it. Because I remember it was very graphically intense. I might have had a CGA monitor at that point.

Right.

You can still get it and go back and play it. My kids have actually ā€“ I have one kid whoā€™s really into puzzles, and my wife remembered Myst fondly from her childhood, and they went through it together.

Thatā€™s awesome.

Itā€™s super-fun still.

[01:00:05.23] Yeah, itā€™s an exploratory puzzle gameā€¦ And youā€™re trying to ā€“ almost like Escape the Room, because you find yourself in certain areas of this island, and you have to get to the next area, and you have to figure out some sort of puzzle in the areaā€¦ And man, the satisfaction I just remember as a young boy finally figuring out how to do it, the order of operations, or what I had to put this thing in that thingā€¦ Itā€™s just pure joy when you unlock the next section of Myst. For me, it was probably ā€“ next to Zelda, probably like the game that really turned me into a video game fanatic back in the day. So I thought it was cool just knowing the guy who made Mystā€™s son, and having a conversation with him, who is Alex Miller. And heā€™s doing cool stuff, too. So that was a very ā€“ I thought that was kind of a deep conversation. A lot about art, a lot about the creative processā€¦ And yeah, happy to hear that it inspired Nathan to doing some creative coding of your own. Soā€¦ Very cool.

Thatā€™s really cool, Nathan. Itā€™s really unfortunate that a lot of people ā€“ their only experience of programming is kind of ā€œSir, let me talk to a database and get things out, and show it on a screenā€, or make an APIā€¦ And thereā€™s so much more to writing software. I would encourage everyone listening to this podcast and go do something creative. You want to do it the lazy way? Just go to scratch.mit.edu, and just use blocks to make a little game. If you want to get serious about it, you can look at ā€“ was it PJS? Or P3? Am I thinking about the right thing, the right library? Itā€™s escaping meā€¦ Weā€™ll put the link in the show notes.

Phaser?

No, not phaser.

Itā€™s called P3ā€¦

Well, D3 too, yeah. You can definitely have fun with ā€“ the P3ā€¦

R2-D2?

P5, sorry.

P5. I knew I had the number wrong. P5ā€¦

.js.org. Yes. P5 is ā€“

Oh, my God. Okay, stop. p5js is a JavaScript library for creative coding, with a focus on making coding accessible and inclusive for artists, designers, educators, beginners and anyone else. So check it out. Weā€™ll put a link in the notes; do something with yourselves, your partner, your kids, your friendsā€¦ Donā€™t talk to a database, basically. Do something thatā€™s not that.

Right. Do not create, read, update or delete anything. Just create. Just the C. Alright, well, those are our listenersā€™ favorite bits. What about yā€™all? What did you think of? What did you care for? What do you want to hear more of on the pod? What were your favorite moments, and why was I there? [laughs]

No, I think the real question is ā€œAnd why was Amal there?ā€, because it sounds like Amal isā€“

It sounds like sheā€™s the star of the show, doesnā€™t it? Amal, your responseā€¦

I mean, just ā€“ vegetable grandma. Iā€™m just peddling vegetables, you know? And the good thing about vegetables is they donā€™t taste great, but theyā€™re really good for you. [laughs] No, actually, they do taste great, too.

It depends on how you cook them, right?

Honestly ā€“ yeah, I think weā€™ve had a really great arc. I think, full disclosure, weā€™re definitely looking at expanding the panel. As you notice, we have a few people on our list that you donā€™t really hear from as much anymore; people who have had a lot of life changesā€¦ And so Iā€™m personally really excited to ā€“ for kind of the next chapter of JS Party, as we expand the panel, get some new voices, hear new perspectivesā€¦ Yeah, itā€™s this fun show where we get to kind of talk about the thing that we love so much. I mean, weā€™re so privilegedā€¦ So hereā€™s to the next 100, I guess.

There you go. And while weā€™re doing the vegetables analogy, if you roast certain vegetables, theyā€™re amazing. Even the smelly oneā€¦ Whatā€™s the smelly one? Itā€™s green, and is in a circleā€¦

[01:04:01.23] Asparagus?

No, circular green.

Brussel sprouts.

Brussel sprouts. Asparagus is the same exact situation, although asparagus generally tastes better than brussel sprouts when done poorly. Like, a bad brussel sprouts - awful. Like, just steam it and it just smells like a foot. And then youā€™ve got to put that in your mouth? Itā€™s like, I donā€™t like feet my mouth. But roast brussel sprouts, roast asparagusā€¦

That is not a universal truth, Jerodā€¦

This is just one manā€™s opinion, okay?

Okay, just putting it out thereā€¦

Are you saying we need to be roasting Amal here?

Oh, my Godā€¦!

Yes. The more you roast her, the better it ā€“ no, my point is that when you take something thatā€™s good for people, good for your health, good for your career, good for your life, and you present it in a way that makes it good to digest, you like it, you like vegetables - like, thatā€™s a win/win, right? And I feel like, Amal, thatā€™s what you do with JS Party; you take these conversations like the history of ES modules - ā€œBoooringā€¦ Donā€™t careā€¦ Why?! Whatā€™s the point?ā€ And then itā€™s like ā€œNo, this is good for you to know.ā€ You may not even know it yet, that itā€™s good for you to knowā€¦ And the way you do your conversations, the way you host the showā€¦ You make it taste good, and enjoyable. And so itā€™s not like dry, and boring, and smells like feet.

No, itā€™s like Mr. Robin had a baby withā€¦ Whatā€™s that guy? The funny oneā€¦

Tim Robbins? Or are you thinking about Mr. Rogers?

Mr. Rogers, sorry. Mr. Rogers had a baby with ā€“ whatā€™s that guy? Is his name Peewee Herman, or something?

Yesā€¦ Both these men are dead, so this is going to be a bit strangeā€¦

Okay. And then they had a third baby ā€“ they had a third partner who contributed to the baby. That was ā€“ I donā€™t know, who do Iā€¦? Oprah. [laughs] Letā€™s go with that.

Oprah. There you go. Okay, so Oprah meets Mr. Rogers meets Peewee Herman, and talks JavaScript.

Thatā€™s me. I was gonna say Steve Jobs or something, but heā€™s kind of mean, soā€¦ Yeah, so I went with Oprah. But yeah, I donā€™t knowā€¦

There you go. Put that on your LinkedIn.

Oh my God, thatā€™s what I have to work on this week. I have to work on my LinkedIn. Itā€™s like really outdated. I donā€™t use it.

Oh, boy. Ask Kball. Heā€™s been working on his LinkedIn.

Ishā€¦

Not now. I mean, youā€™ve got a job now. But whenever you were between stuff, you had to work on your LinkedIn, right?

I was posting things on LinkedIn. Yeah, I still post some thingsā€¦

Yeah. My job was recently impacted by restructuring. I donā€™t even think anybody here knows this, besides maybe Kball.

[unintelligible 01:06:31.13]

I think you do. Yeah, Kball does. Yeah, so not that I even want to be on the market again, but I will be. Iā€™ve decided that Iā€™m leaving, Iā€™m not going to do an internal transferā€¦ So itā€™s good times doing that, that whole danceā€¦ Yeah, I know. It does suck, but also, change fuels the soul, I guessā€¦

So yeah, I figured ā€œOkay, well, I guess I should have an updated LinkedIn profile.ā€ Start there.

I donā€™t know about you, but I find that whole process kind of bizarrely funā€¦ Because you get to talk to ā€“ I donā€™t know, I geek out on companies. Maybe this is the entrepreneur in me, but I geek out on ā€œOh, how are you setting up your business model? And what are you trying to do?ā€ And so interviewing places is kind of a chance to get people to tell you about all their different dirty laundry, and how ā€“ theyā€™ll probably just show you the clean laundry, but the ways that theyā€™re approaching thingsā€¦ So you get to talk to a bunch of companies and be like ā€œAlright, well, how are you doing this? How are you setting up your dev process?ā€

And how does LeetCode prepare you for that?

I have never once in my life done LeetCode. LeetCode to me is teaching to the test, right? Itā€™s like the equivalent of studying for your SATs. There is some correlation between your LeetCode performance and how well you program, but when you study LeetCode, it is not helping in how youā€™re going to do you regular job, generally. And there are people who are good at LeetCode, and good at software development, and generally there are people who are bad at LeetCode and good at software development, there are people who are good at LeetCode and bad at software development. That whole spectrum exists.

[01:08:10.25] So yeah, itā€™s ā€“ I mean, it can be worth it if youā€¦ If you are bad at taking the test, where the test is software development interviews, particularly at companies that like to do LeetCode style, but you are good at software development; it can be beneficial for you to spend the time studying LeetCode, so that you can ace the test, so you get into the real work. But God, it drives me bonkers that that is how so many people run their interviews.

[unintelligible 01:08:38.06] for applying to jobs right now. Applying to jobs online sucks. Everybodyā€™s got 5,000 applicants, and theyā€™re machine-parsing them and scanning themā€¦ Always get a referral, which - you probably know that, Amal, but Iā€™m surprised by how many people Iā€™ve talked to that donā€™t realize that. Getting an internal referral is a low-barrier thing. Most people will just do it. You can reach out to people at the company and be like ā€œHey, can we talk for a little bit?ā€ They get to know you, they realize youā€™re a real person, youā€™re okay, and you could say ā€œWould you feel okay referring me into this position?ā€ It just gets you past the machine parsing, so you can actually talk to a human being, which is what the point really is.

Yeah, referrals for the win, for sure. Yeah, I think for me itā€™s like ā€“ Iā€™m just kind of trying to decide where I want to land. Itā€™s like, every place has its own set of problems. You just have to kind of decide on which ones youā€™re okay with living with, and which ones you want to try to tackle. Because youā€™re not gonna be able to fix everything. So itā€™s like ā€œWhat problems can I live with, and which problems am I interested in trying to kind of drive change for?ā€ Soā€¦ An interesting time to be back on the market, but feeling of oddly optimistic, I think. So hopefully I end up in a good place. Iā€™m really looking to kind of ā€“ Iā€™m looking for kind of like my retirement job out of tech right now. Itā€™s kind of weird to say that out loud, but I just ā€“ I kind of have like eight years of like wanting to work at a corporationā€¦ So eight years left in my tenure plan, andā€¦ So yeah, I donā€™t want to be working for a corporation in eight years, soā€¦

Well, if anybody out there is looking for an awesome ā€“ are you looking for manager jobs?

Engineering manager, yes.

ā€¦yeah, an awesome engineering manager - I hear a rumor. Amal is going to be on the market. So maybe jump the queue and reach out to her.

Yeah, great job.

Well said. Nick, any thoughts from you on the last 100 episodes, on the next 100 episodes, anything thatā€™s not vim or TypeScript-related that youā€™d like to say before we call it a show?

Why do you have to box me in like that, Jerod?

Because youā€™re just so predictable, Nickā€¦

[laughs] I will say, one thing that Iā€™m really excited about ā€“ or one of my favorite types of episodes or segments that we do, that I feel like might be going away, is the Explain like Iā€™m Five piece. I think that those are so fun, and the stories that we come up with, and tell, and all of thatā€¦ But no matter how we do those in the future, itā€™s always tainted by ā€œWell, AI could have generated this.ā€

Rightā€¦

It can generate it pretty well. So the creativity is always in question there.

Are you tipping your hand, or what are you saying here?

Oh, no.

[laughs]

I donā€™t know, I feel like when we try ā€“ I tried to get ELI5 to reproduce your Mawana storyā€¦

Monadā€™s hookā€¦

Monadā€™s hookā€¦ And it was so much worse. I think you have a future in ELI5 for as long as you want it, because AI is not taking that level of creativity away.

Right.

Well, thank you.

As long as you stay excellent, Nickā€¦ Because all of its stuff is very average. And youā€™re excellent. Soā€¦

Yeah. I eat my vegetables and write my TypeScript.

No, I said donā€™t talk about that. He snuck it in. Do you see how he snuck it in?

ELI5 Jerod trolling.

B0neskull? What would you like to do more, or hear more, or see more of JS Party in the next 300 episodes?

[01:12:02.29] So I was gonna bring up an episode, but it is too oldā€¦

No, Kball expanded the scope, if you want to.

Yeah, Iā€™ll bring it up anyway. So when we had ā€“ I really liked the episode when we had Luis Villa on to talk about Copilot. And I would love to have more talks with that dude. Because itā€™s incredibly interesting, if youā€™re doing open source, or have interest at all in any sort of licensing, that sort of thing, heā€™s just fascinating to talk to. I donā€™t know if heā€™s doing ā€“ I think he retired from talking about open source licensing, and now heā€™s looking at AI or something nowā€¦ But yeah, very interesting guy. And definitely those topics, I think, are maybe more underserved. Certainly we talk about tech, and we goof around on the talk shows, but thereā€™s this whole licensing thing, itā€™s just kind of a topic that I like to talk about. But yeah, and I think itā€™s useful.

Yeah. Actually, on that note, ā€œWhatā€™s in your pkg.json?ā€ I donā€™t know if that was in top 200, or ā€“ I donā€™t know what number that is.

But that was a personal favorite of mineā€¦ As was the recent show that we did with Matteo and James Snell, the Node show. That was fantastic. Yeah, Iā€™m just trying to think of recent ones. And then we just ā€“ itā€™s not published yet as of today, but it will be by the time youā€™re hearing thisā€¦ We just did a really great show with Valerie Phoenix, on Tech by Choice, an organization that she started to help marginalized folks enter, stay, thrive in techā€¦ And it was just fantastic. It was like such a real talk show. I thought that was like ā€“ Valerie kept it very real, and I hope you all enjoyed it.

Okay, weā€™re gonna try to take a real-time listener call, as weā€™re using shiny, new features of web-based toolingā€¦ We donā€™t necessarily expect it to work, but if it does, this will be a first for JS Party, with Jonathan Creamer from the chat.

Thanks for calling in. Your very first live caller-inner.

Iā€™m excited.

So cool.

Yeah, this is rad.

What are you bringing to the party? Weā€™ll put you on the spot. What have you got going?

Yeah, Iā€™m at Microsoft now, since we last talked, andā€¦ You know, Iā€™ve been enjoying that for a while now. And still listening to yā€™all all the timeā€¦ That Bun episode - thatā€™s what I called out in the chat - was so good that I shared it everywhere I could inside the Microsoft teams network that I have, because I thought it was just awesome.

The one with Matteo and James? Yeah, that was solid. Agree.

Yeah, the one with Matteo and James, exactly. Yeah, it was so good, and it was prescient, because everybody inside all of our teamā€™s chats was talking about Bun and everything, and I was like ā€œHey, guys, listenā€¦ Just listen to JS Party. Youā€™ll understand whatā€™s going on. Donā€™t freak out, itā€™s okayā€¦ā€

And they dropped so many gems, Jonathanā€¦ I listened to that episode three times, because there was so much that they dropped. It was just gem after gem after gemā€¦ Itā€™s like, manā€¦

Yeah, yeahā€¦ I felt the same way. It felt so good to hear from them. Because it was like - yeah, you talked about Bun, but then I also learned about how the Node.js ecosystem actually works, and all this cool stuff. So I thought it was really great. Yeah, thatā€™s what Iā€™ve been up to, just doing my same DevOps stuff that Iā€™ve been doing. [unintelligible 01:15:49.29] who you guys had on the show, another old, old episodeā€¦ He and I were just at Connect.Tech in Atlanta together, and we were talking about that DevOps stuff. He actually keynoted on DevOps, which was pretty cool, to about 400 peopleā€¦

Because I think you guys had him on first, and then me after that, and so now weā€™re talking about like partnering up on some more, and doing all thatā€¦

[01:16:13.23] Yeah, youā€™re both overdue to come back, you and Ben> I spoke with Ben more recently, and Ben is like ā€œYeah, Iā€™d love to come back.ā€ And obviously, youā€¦ So you have an open invitationā€¦ But weā€™ll have to coordinate with you at some point.

Yeah, definitely. It could even be fun if we both did the same episode together. Yeah, and talk about DevOps, and automationā€¦ Because his keynote is basically about ā€“ we love the idea of DevOps, and helping people understand frontend developers who donā€™t do frontendā€¦ And it was all about all the different crazy tools that we use to do frontend stuff, even though weā€™re not technically like writing JavaScript all the time to do that. Weā€™re doing Docker, and blah, blah, blah, and blah, blah, blah, blah, blah. But yeah, thatā€™d be great. Iā€™d love that. 2024. Letā€™s get it. Letā€™s get it.

There you go.

Thatā€™s great. I mean, I love this idea of combining guests, because our schedule is such that, you knowā€¦

Yeah, kill two birds with one stone.

Yeah, thatā€™d be super-fun. Kind of panel styleā€¦

No birds are injured during the killing.

Well, thanks for having me. Let me jump in here. I donā€™t want to kill the party, but I wanted to say hey, and how much I still love listening, as both a caller and a speaker on past episodesā€¦ Itā€™s such a great podcast. Yā€™all keep up the good work.

We love that. Thank you, Jonathan. Appreciate the call.

[unintelligible 01:17:28.15] the best listenersā€¦

Iā€™m just happy that worked very well. I think that this may have opened up a new idea for future JS Parties, right? Live call-in shows. We have the technology nowā€¦ Talk to more listeners, man. Just take some questions. Take some comments. Hot takes, warm takes, microwavedā€¦

Yeah, but for Changelog Plus onlyā€¦ [laughs]

Plus Plus. Come on man, youā€™ve left a plus off of that. Was that on purpose?

No, I just wasnā€™t sure how many pluses it wasā€¦ [laughter]

Yeah, I think for you one Plus is about appropriate. Youā€™ve gotta increment that sucker. Itā€™s an increment operator, Chris. You know incrementsā€¦

That sounds like a good point to toss to Nick for the final word of this episode 300. If you do anywhere near the world you did last time I put you on the spot, weā€™ll just have to close early. But Nick, I mean, here we are, episode 300, weā€™re at the end of itā€¦ We have huge plans in ā€˜24. We now know we can take live calls. We have games, we have debates, we have deep dives, we have vegetablesā€¦ Thereā€™s just so much thatā€™s going to happen. What would you like to say as we close out our 300th episode?

Coming soon in 2024ā€¦ In a world where Ruby on Rails is no longer coolā€¦ Jerod tries Typescript, and he loves it! And he comes and says to Nick ā€œThank youā€¦ā€

[laughs] Oh, that was spectacular. That might actually get me to do it. Probably notā€¦ Alright, that is our show. Thank you all for listening. Thank you especially to our listeners who took the time out of their busy lives to write us a nice note, to record us a nice message, or to hang out in the chat while we record.

We donā€™t do these things on YouTube anymore, and weā€™re not keeping a set live schedule like we used to, every Thursday at 1pm US Central. Itā€™s not like that. 1pm US Eastern actually it wasā€¦ Weā€™re not doing it like that anymore. Weā€™re giving ourselves a little grace, a little flexibilityā€¦ But we are still sharing the link to the Riverside now, with our JS Party channel in Changelog community Slack before we record. So thatā€™s pretty much as far as weā€™re going to be putting it out there. That being said, itā€™s still fun to hang out in the chat. Hear us record live, hear all the times I mess up, or have to cough and start overā€¦ And be part of the gang. So if you are interested in that, head to JSParty.fm/community. Itā€™s totally free, sign up, and hop in the JS Party channel of our Slack to discuss with us throughout the week, not just during our shows, but whenever something interestingā€¦ Even join the #funny channel, where Amal tries to be funny daily, maybe even multiple times a day, with fun posts of other peopleā€™s memesā€¦

I was gonna just plug #funny.

You were going to plug that?

Weā€™re the fastest-growing channel in the Changelog community Slack. Almost 30 people strong, you knowā€¦

[laughs] Okay, so letā€™s get those numbers up, folksā€¦ Weā€™ve gotta keep going up and to the right of the funny channel.

We need the hockey stick, like any good new tech thing.

Alright. For Kball, for Nick, b0neskull, and Amal, Iā€™m Jerod, this is JS Party, and weā€™ll see you on the next 100 to 300 episodes.

Changelog

Our transcripts are open source on GitHub. Improvements are welcome. šŸ’š

Player art
  0:00 / 0:00