May 15th, 2024 × #react#javascript#live-podcast
React Miami Live Show
The React Miami live podcast episode features special live segments like map/filter/reduce code challenges, JS or NAS audience voting games, and opportunities for the audience to participate.
Transcript
Wes Bos
Welcome to Syntax.
Live podcast in Miami
Wes Bos
This is the React Miami live version of the podcast. Thanks everybody so much for coming on out.
Wes Bos
This is gonna be a little bit of a different episode than normal. We're not just gonna be sitting here talking about lame CSS rules or something like that, but, we got all kinds of fun stuff planned for you today. Hi. I'm Scott Tolinski. I'm a developer from Denver. You can find me at s Tolinski on all of the social media. I'm Wes. I'm a developer from Canada. Any Canadians in the room? Syndax is officially a Canadian podcast about web development, so make sure you grab one of the Syndax Canada stickers.
Scott Tolinski
This is the whole Syndax team. Wes Bos, me, myself, Caitlin Blum, Ben Vinegar, Randy Rector, and CJ Reynolds, we're all here today. Say hi.
Wes Bos
Give it up for Randy on the knobs today. Yeah.
Wes Bos
So we're a podcast. We've got hasty treats on Monday, tasty treats on Wednesday, and supper club on Friday, which is our interview style podcast.
Wes Bos
And today, we've got a live podcast for you.
Plan for live segments like map/filter/reduce code game
Scott Tolinski
So the plan today is that we have a lot of segments. The first one is going to be we shouldn't have put this one first. Yeah. It's gonna be tough. I'm kinda worried about this one. Map filter reduce, where we've given each other a map filter, well, map filter and reduce, and you have to determine the output just by looking at the code.
Scott Tolinski
Next up is syntax error where we try to stump each other on syntax bugs that we've, deviously hidden in code.
Wes Bos
Wes got JS or NAAS, which we're gonna get audience to participate in. You guys get your phones out. You're gonna, vote on whether something's a JavaScript library or a made up word.
Wes Bos
We'll have a an audience stumped. If you're brave enough to come up and have us badger you with questions about server components or weird CSS issues, we got it for you. We got a a free T shirts for Yeah. The winner itself. Yeah. It's gonna be pretty sweet. So grab your phone, QR code this sucker up, because we got a couple live things that are necessary for this.
Live audience participation with phones to vote on JS or NAS questions
Scott Tolinski
This will be available again later on the show too. So pigeonhole.atforward/sick.
Wes Bos
You don't need the caps. Yeah. You don't need them? Oh, you checked it. That's good.
Wes Bos
Alright. MAP filter reduce. We give each other a chain MAP filter reduce, and the other person must find out what the output is. Scott, are you ready for your I gotta go first? Map filter reduce.
Additional live audience participation opportunities
Wes Bos
This is gonna be brutal. Oh, no.
Scott Tolinski
Okay. Oh, man. Why you do this? Audience as well. You try to figure it out. Student name length times the student score. Okay.
Scott Tolinski
So out of the first one, you get the properties.
Scott Tolinski
So you get individual, name, score, and then points.
Scott Tolinski
So for Wes, it's obviously going to be 3, times 2. We have, that is 6.
Wes Bos
I don't wanna do this, Wes. Wait. Are you are you on are are you on the map? Sorry. I shouldn't have made you do math in front of a bunch of people. Yeah. Well, how about anxiety
Scott Tolinski
making thing ever. I'm just gonna ignore that part for right now. Okay. The filter, okay.
Scott Tolinski
Come on.
Wes Bos
What what for bonus points, what's that little thing called? Modulobe.
Wes Bos
Wow.
Wes Bos
What does it do?
Scott Tolinski
How many times something goes into something else? Or is that that's division.
Wes Bos
Yeah. That's division. What remainder.
Scott Tolinski
Bam. Got it. Remainer. Model. Oh, come on, Wes. Okay. After something has been evenly divided by 2, how many are left over? Okay. So that really gives us only the even ones. So which ones are even? So Wes is even. CJ is going to be even.
Scott Tolinski
2 times 4. Okay. Scott is 5 times 3, not going to be is that even? Node. 5 times 3.50. No. Not even. A note. Yep. Okay. So so so far, we are filtering out Scott. We have Wes, which is, now points of, 6. CJ points of 8. Yep. Okay? And the reduce, we are adding the student points together, and you're just returning the points.
Scott Tolinski
So the point is, we have 6 plus 8 equals 14.
Scott Tolinski
Fifteen. What?
Wes Bos
Wait. Did I get that? Yeah. I must have got it right.
Wes Bos
Audience, what did we do wrong here? What did I do wrong? Only Scott is kept. Only Scott is kept. Why? Why? Because the module results in 0. I did the opposite. Module let me stand up for this one. Module results in 0, which JS, say it with me, faulty.
Wes Bos
Brutal. Filter. You return a faulty value from a filter. It does not keep it. Yeah. Mine isn't this hard, so thank you. I thought I I thought you got it. Yeah. I pulled this up, and I was like, oh, maybe this is a bit too hard.
Scott Tolinski
Sorry about that. I did come up with this game, though, so it's on me.
Wes Bos
Alright. For me alright. Scott data, job producer, producer, podcaster, designer, data map, bring the job back. So we got an array of strings, producer, producer, podcaster, designer.
Wes Bos
Filter where the job does not equal designer, so we have producer, producer, podcaster.
Wes Bos
Then we reduce.
Wes Bos
We start with a blank object.
Wes Bos
We set the accumulator's current string of producer, podcaster, podcaster to be equal to itself or no. If it exists, it's going to be itself plus 1 or it's going to be 1. So you're just tallying up, which by the way, you don't need this anymore because of object dot group by. Doesn't matter.
Wes Bos
So the answer will be producer 2, podcaster 1.
Wes Bos
Let's see.
Wes Bos
Oh. Oh. Oh, hold on. Hold on. Hold on.
Wes Bos
There.
Wes Bos
Do I get a T shirt? Thank you. Thank you. That was good.
Scott Tolinski
We did the 2 hardest
Wes Bos
things for us first. Actually, all of these are kinda brutal. Yeah. They're all Yeah. We I we always forget this. Syntax error. We show each other code with no syntax highlighting, and the other person must find it. It could be either a syntax error or a logic error for Scott.
Scott Tolinski
K. So
Wes Bos
you can you can ask 1 person in the audience for help. The interface looks fine.
Scott Tolinski
The user document has 2 IDs, which I guess is fine.
Scott Tolinski
1 is a number. 1 is a string.
Scott Tolinski
Export default async function.
Scott Tolinski
Save user promise user document.
Wes Bos
Is okay. I don't I can't answer anything. It's not that the fetch you don't know there's it's not that there's not a type card on the fetch. Yeah. And you have syntax highlighting in here for me. I intentionally put it on. I was like, this is so good that I can put the syntax highlighting on.
Scott Tolinski
I'll give you a hint. It is a syntax error. It is a syntax error. Oh, man. I gotta, like, blur my eyes to see this.
Wes Bos
You're you're gonna kick yourself. I know. How many of you guys see it?
Scott Tolinski
Gosh. Darn it.
Wes Bos
That's a pressure. This is something I do at least once a day.
Scott Tolinski
I don't know. I don't see it. Alright. Audience.
Wes Bos
Interface.
Wes Bos
Interface. Interface does not need a A semicolon.
Scott Tolinski
Nope.
Wes Bos
Interface does not need an equals. Equals.
Scott Tolinski
I don't use interface that much. Well
Wes Bos
Yeah. TypeScript.
Wes Bos
We don't need your propaganda, Ken. Yeah.
Wes Bos
Alright, Wes. For me. Alright. Import React component from React. Class button component extends component. Constructor props.
Scott Tolinski
Remember class components? Yes. When was the last time?
Wes Bos
Okay. My first thought JS, do you need a super in the constructor? Does component take anything? So then we Scott handle click equals that.
Wes Bos
Problem not inside this function. Okay.
Wes Bos
Render return.
Wes Bos
Is it it's the return is not on the same line as the No. That's fine. That's fine. That's just
Scott Tolinski
a that's fine. That's fine. I think it's just a image thing. It's not an image. That's not the intention. I can see the line numbers. I know. It's not intentional. Okay. Well, I I extra point for that one.
Wes Bos
That's that's right. Right? Like, you can't put the return on the next line if you don't have parenthesis. Okay. Yep. It's React. Okay.
Scott Tolinski
Syntax highlighting was turned off.
Wes Bos
You need a comma after the instance methods.
Wes Bos
You need a super. Need a super. I said it.
Wes Bos
Hey.
Wes Bos
You did say it. Remember you needed, like, commas and weird cases, though? Yep. That was weird. Yeah. Yeah. Alright. For Scott, this one does not have syntax highlighting in it.
Scott Tolinski
You are defining the type, then you're yeah.
Scott Tolinski
The equals to an object. I feel like that is the wrong order of things.
Scott Tolinski
Let me just check the rest of it.
Wes Bos
I did that to you last live episode. Did you really? Yeah.
Wes Bos
I gave you the wrong syntax for the default destructured object.
Scott Tolinski
I isn't this the wrong syntax for the Node,
Wes Bos
gosh. Darn it. Kind of. Yes. Yeah. You're look. I'll tell you. You're on the right line. It's the first line. Okay.
Scott Tolinski
Function, user, card.
Scott Tolinski
Let's see.
Scott Tolinski
Oh, man. You're crushing me.
Wes Bos
Did I make these too hard for him? Wait. I feel kinda bad.
Wes Bos
I was seeing red when I was doing them. No. This is the fine. That's fine. Okay.
Scott Tolinski
User is I mean, we'd obviously don't know what user is. User is users destructed.
Scott Tolinski
Yep. D yeah. Okay. So users should should be the variable user, not inside of brackets.
Scott Tolinski
Right? Because this is React. Yeah. This is React. It's props.
Scott Tolinski
Now I don't write React.
Scott Tolinski
I don't see it. What is it? Alright. Gotcha. Audience.
Scott Tolinski
Wes should have a timer. Right here. What?
Wes Bos
Yeah. Exactly. So the d the the destructured default value should be inside a property called user because you are destructuring user prompt. So I was on the right. You were on the I was looking into him. We'll give it to him. Round of applause. Yeah. Oh, hey. I don't want your pity.
Wes Bos
Alright. Alright. Numbered list. Destructure the numbers. Consting equals list. Return u l list items.
Wes Bos
Is this this is not React.
Wes Bos
You forgot the dot join, which is going to give you a semicolon as you stringify an array.
Scott Tolinski
I think it just might be cut off.
Wes Bos
What? I Scott this. But that's an error. Yeah. Oh, you know what? Because you use that library that you don't need to join your arrays.
Scott Tolinski
Yeah. That Node. Okay. Yeah. So that's not the issue? I cut I yep.
Scott Tolinski
You're
Wes Bos
I intentionally made these easier. Because last time I was too rough on you. The implicit return and opening No. LI needs to be on the same line. Is that not a line, folks? Node? Okay.
Wes Bos
Oh, numb no.
Wes Bos
No. Node JS, no. You can have a Vercel number. This is a future question.
Wes Bos
Node is not a reserved word.
Wes Bos
No. Is it? No. No. Alright. I give up. Audience? No key.
Wes Bos
No keys. No.
Wes Bos
You don't need keys. Yeah. Honestly, it's have you ever not used a key and it's fine?
Scott Tolinski
Yeah. It works.
Wes Bos
No. Keys are dumb.
Wes Bos
Okay. CSS. Thank you. This one this one is tricky.
Scott Tolinski
Transform. Okay. So translate x looks fine. Translate y. Let's see.
Scott Tolinski
We have let's check the parentheses.
Scott Tolinski
3 open, 3 close, 2 open, 2 close, var var move, move 10 pnpm times negative 1 px, and that's inside of the calc.
Wes Bos
Calc needs a no. No. No. I'll tell you, it's not a syntax error. It's not? It's a it's a this would run-in the browser, but not give you a value. Okay.
Scott Tolinski
Why? Why? Let me see this. Calc, there's no misspellings. It's not something devious like that. Nope. Yeah. Var move is is fine both times. Those are both pixels. You're multiplying pixels. There's nothing crazy there.
Scott Tolinski
We need well, it How many of you see it. Can you do a translate y and a translate x to separate properties? Yeah. You you can. Quick. Because I never do that. That's fine. Always three d.
Wes Bos
Oh, yeah. You pass them to a a a trans translate 3 d and pass all 3 in 1 instead. And I don't think you don't need a comma between those 2. No. No? Should I give you a hint? Yes. It's something to do with the way that I'm calculating.
Scott Tolinski
Yeah. That's kind of what I was looking at. Anybody see it?
Wes Bos
Aw, man. They're like, give give a sec. Yeah.
Scott Tolinski
Calc.
Scott Tolinski
I don't see it. What is it? Alright. Help me out there. What do Wes got?
Wes Bos
Exactly. You cannot do calculation of Vercel values. If you want to if you wanna flip a pixel value to be its negative counterpart, you must multiply it by negative Node and not negative one p x.
Wes Bos
Boo. And not a hard ask me how I know.
Wes Bos
Alright. Last 1, import for React, Node from React interface props.
Wes Bos
Type submit.
Wes Bos
Oh my gosh.
Wes Bos
Can I ask Kent to help me with this one? Fancy buzz in his friend.
Scott Tolinski
This one hurts me. Yes.
Scott Tolinski
This one hurts me too. Yeah.
Wes Bos
Oh, you can't add class. It's class name. Class name.
Wes Bos
Man, I was, like, deep into the, like alright. How do you make, like, a flexible type that can extend the HTML attributes, but you add your own? Forward ref was a red herring. Yep. You got me. Yep.
Wes Bos
Alright. JS or Nas, open up your phones. We need everybody to be voting on these.
Scott Tolinski
Okay.
Scott Tolinski
Esno, is this a JavaScript compiler and TypeScript checker written in Rust with a focus on static analysis and runtime performance?
Wes Bos
Or is it Gen z slang for easy no used to quickly shut down your friends' plans? For example, hey. Wanna go see Machine Gun Kelly this summer? E easy no. Ease no. Eze no. Eze no. Or both.
Wes Bos
Alright. Lock those votes in, folks.
Scott Tolinski
Well, let's see. Alright. Let's Alright. Get your votes in.
Scott Tolinski
And the winner is it's a JavaScript compiler.
Wes Bos
39% of you. So most of you guessed wrong in that it is a JavaScript. And it it that's actually kind of exciting that it's a a TypeScript type checker written in Rust, not just a TypeScript.
Wes Bos
Good. Wow. We we got them.
Wes Bos
Alright. Who is invented with inventing up the Boolean? Ada Lovelace.
Wes Bos
George Buhl.
Wes Bos
Grace Hopper. Dan Abramov.
Scott Tolinski
Alright. Ready to go? Get your votes in. And And I'm gonna hit go.
Wes Bos
It's Joel. George Boole, 63% of you got that correct.
Wes Bos
10% of you thought Dan Abramov. He invented React, silly goose.
Scott Tolinski
Next question here.
Scott Tolinski
Which of these statements about MySQL is false? The my sequel dolphin is named Sekila.
Wes Bos
My my s q l, which is the way you pronounce it, was named after the inventor's daughter, Mai.
Scott Tolinski
Or PlanetScale attempted to fork my sequel after licensing disagreements in 2020? Which of these is false? False. Which one is false?
Wes Bos
Oh, some of you goofed it up. That's okay.
Wes Bos
Some of I think you'll be surprised at this one. Which one is false, you flip it? Let's get have it, Scott. Let's see it.
Wes Bos
Boom.
Wes Bos
Oh, wait. No. That's wrong. That's wrong. I did that wrong. What? What? No. No. That's right. No. That's right. Have done the negative. Which one is false? PlanetScale did not attempt to forecast SQL. So the the MySQL dolphin's name is Zequila, and MySQL was named after the inventor's daughter whose name is Mai.
Wes Bos
That's real.
Wes Bos
What is Vextor, a library for validating and extracting JSON database on schemas.
Scott Tolinski
Brand name for the Venlafaxine antidepressant medication in Mexico or both? Get your votes in.
Scott Tolinski
Vextor.
Wes Bos
Vextor. What are we gonna do? Let's see it.
Wes Bos
Both 62% of you got it correct. Got it.
Wes Bos
I thought that Node would get them. Got it, guys. I'm impressed. I'm impressed.
Wes Bos
Alright. TikTokin, is it a fast byte parent coding tokenizer for use with OpenAI's models?
Scott Tolinski
A ByteDance's design token generator that outputs to CSS, JavaScript Tailwind, SwiftUI, and Android Compose, or both? Yeah.
Wes Bos
Yeah. Bytedance is the parent company of TikTok, if you haven't if you didn't know that. I'm sure. Get your votes in. Guys are Americans, so I'm sure you've heard about that.
Wes Bos
Sorry about that. It is a fast byte pair encoding tokenizer. Only 49% of you. So we tricked Wes tricked half of the people here Yep. Thinking that it is a design token generator.
Wes Bos
Didn't the Android part throw you? Android part threw me. Yeah.
Wes Bos
Alright. We got 2 more questions here. 2 more.
Scott Tolinski
Zuber, is this Uber's zoo stand based state machine library for architecting real time UIs.
Wes Bos
Is it an unincorporated community in Marion County, Florida or both?
Scott Tolinski
Zuber.
Scott Tolinski
This one's for the locals.
Wes Bos
It's an unincorporated community in Florida.
Wes Bos
34% of you incorrectly guessed that it JS an Uber's Suzanne based tape machine library.
Wes Bos
That's pretty believable, don't you think? Yes.
Wes Bos
Last Node, Temporal. Is Temporal an Australian metalcore band which disbanded after 2 years in 2012?
Scott Tolinski
An upcoming standard library for JavaScript for working with date and times or both? Get your votes in.
Scott Tolinski
Ready?
Wes Bos
And both.
Wes Bos
63% of you got it correct. Both. Congratulations.
Wes Bos
3 only 3%.
Wes Bos
Node person got all of them right. Who was it? Woah.
Wes Bos
That's so impressive. We should get him something. Yeah. Give him a shirt. Alright. Come see us after. We'll give you a code for the Syndax Wes store. That's impressive.
Wes Bos
No. Not right now. But Yeah. Not right now. Alright.
Wes Bos
We're kinda doing a show.
Wes Bos
Yeah.
Wes Bos
Alright. Audience, who wants to be stumped? We need 4 people who are willing to come answer a trivia question. Come on up. Come on up.
Wes Bos
Or or we'll get the runner, Mike. Whatever.
Wes Bos
Alright. What's your name? Rob. Rob.
Wes Bos
Alright, Rob. We got a question for you.
Wes Bos
4. Right? Yeah. 4. We got 1, 2 3. 3. One more. Number 4 right here. Yep. Just Dial X. You can come up. We'll we'll I know what we got. No. We already Scott. We got 2. Alright. I'm sorry. We got them.
Wes Bos
Wes have them we're having them on the podcast anyway. It's okay. Yeah. Alright. 1st Wes. On a blank HTML page Wait. Who are we asking this? Who are we asking? Me? Okay. On a blank HTML page, the body element has what default spacing property and value applied to it? Border Bos? Space? I have no idea. So the body element GitHub a reset, you got a bunch of spacing around. So it has no margin? Yes. It has a margin of how many pixels? 18.
Wes Bos
No. Who's got it? 12? Deno. Nope.
Wes Bos
16? No. 8. 8. Who said 8? Nice. That's good. Yo. You get a prize anyway. Just send us a DM, and we'll give you a code for a shirt. Everybody gets The body has a default margin of 8 pixels.
Scott Tolinski
Alright. Next Wes, Dev.
Scott Tolinski
What's your name? Dev. Dev.
Scott Tolinski
React DOM's use form state was recently replaced with what hook for working with server components?
Wes Bos
He might know this one. Use action Scott? Woah.
Scott Tolinski
Use action state.
Wes Bos
I'm I'm impressed because it's not in it's not in anything yet. It's not in Next. Wes, therefore, not in React.
Wes Bos
Alright. What's your name? Search.
Wes Bos
Serge.
Wes Bos
What are the 3 valid options for a form method equals blank. Get post pnpm.
Wes Bos
Nope. Nope. You want it? Correct. And Dialog.
Wes Bos
Dialog.
Wes Bos
Damn.
Scott Tolinski
The what? That JS a hutz. That was a tricky
Wes Bos
answer. Follow-up question.
Wes Bos
Why is get posted dialogue the third one?
Scott Tolinski
So you can close
Wes Bos
the dialogue.
Wes Bos
HTML has a way to close the dialogue. You must use JavaScript to open the dialogue. Thank you.
Scott Tolinski
I went deep on the the GitHub website for that one. Michael. Michael.
Wes Bos
Good. Thank you. Oh, thanks, Rainey. Send us a DM, and we'll get you a
Scott Tolinski
a shirt. Next question for Michael.
Scott Tolinski
Name eight reserved keywords in JavaScript.
Scott Tolinski
Alright. Don't don't look at the screen. I'm gonna show them all. We're gonna show them. So you Scott look at all these people.
Scott Tolinski
I gotta guess the ones that you have oh, you have a lot of them. There are a lot of them. Yarn a lot.
Scott Tolinski
For, switch, function, class.
Scott Tolinski
Why am I there? Default.
Wes Bos
Function. Vercel.
Wes Bos
That's Oh my gosh. He's got a mom. Keep going. How many names can you do? Alright. We're just gonna click them all. He's got them. Keep going. Keep going.
Scott Tolinski
Await.
Scott Tolinski
Yeah. Yeah.
Scott Tolinski
Try, catch, replay.
Wes Bos
Recently.
Wes Bos
Alright.
Wes Bos
I see. Nice job.
Wes Bos
Awesome job. Thanks, everybody. Alright. The last section we have here is q and a. If you've got a question for us, either we got Caitlin on the mic right here. Just throw your hand up. We'll answer it. You got a question about how do server components work, what is love, whatever you want. We'll answer it. You ask it or submit a question on the pigeonhole in person or online.
Scott Tolinski
Oh, yeah. I guess we gotta open up the Yeah. We do have 1. We have 2 in let's see.
Wes Bos
Who codes better, Wes or Scott? Let's ask the audience. Who do you think is a better coder? Wes or Scott?
Scott Tolinski
Clear clear winner on that one. Scott is a much better coder than I am. Thank you. Wes did Scott get his dope shirt? Mac Weldon. This shirt is from Mac Weldon.
Scott Tolinski
That's a dope shirt.
Scott Tolinski
Have you guys struggled with Next. Js caching as much as Sam? How do you say he's the same? Selikhoff. Selikhoff did yesterday on stage and Me on My Side Projects. Yeah.
Scott Tolinski
Node. That's true.
Wes Bos
Yes. I have been using the unstable cache, which where you can tag them. I really like that API, but, yeah, it's, and, honestly, the amount of times in my career that I've, like, cried because of caching is is more than 7. Yeah.
Wes Bos
So It's always caching. Yeah. It's it's always caching. Like, when I did Apollo, we would have pagination, and you would cache all of the items in the pagination. But then you add an item to the front, so you have to, like, ripple delete every other page. And, like, it's it's always just a big pain. So I think we're gonna be trying to figure this out for a while. Alright. Let's see. What is better than React? Smelt.
Scott Tolinski
Solid. Sorry.
Wes Bos
Smelt.
Scott Tolinski
What else? I yeah. I think we just named all of them. Sorry. Literally everything, but who cares? Because React is king.
Wes Bos
Well, isn't it just the man? Coming in. Yeah. When will you get Tim Berners Lee on the podcast? That would be sick. I tried to do it loud there. I go which 1? We did that one. Scott's a better coder than my than us. Yep. Yep. No no problems with that. What is your favorite CSS property?
Scott Tolinski
Low key, I like aspect ratio. I use that all the time. Aspect ratio for me. Oh, man.
Wes Bos
I've been liking, inset and inset block.
Wes Bos
Inset rule. I'll stand up for this one. Anybody tried inset block before? If you wanna set left and right values in the same swoop, inset 0, and it will set left 0 and right 0 in one go. Because block are the new logical properties where you can set left and right, and then, oh, no. Block is top and bottom. The other way around. Yeah. Modal's easy for that. Yeah. Yeah. Insight 0? CSS is awesome. The color mix stuff, I'm really excited about.
Scott Tolinski
All the new HSL stuff. Wes, what is your least favorite thing about the current state of React? Oh,
Wes Bos
I I will tell you it was freaking binding to form input events and updating to state. Like, what a pain in the ass. Like, just let me like, the most common thing we wanna do is take all of the data from a form and pull it out and put it in a state. So the new action stuff is is I'm really excited about it. Yeah. For me, it's just
Scott Tolinski
the little buggy things that get in the way, the needing a key, the Yeah. Node. The class name stuff, like, this useCallback, the stuff that a compiler could do for you.
Wes Bos
Any memo wise that I get it. Yeah. Any questions in the audience? Back end of choice. Oh, of course, JavaScript.
Scott Tolinski
Yeah. JavaScript.
Wes Bos
Data layer. Right now, my latest 2 projects have been Drizzle, which I've been a big fan of. I've been a big fan of I'm like, going forward, all of my, APIs must be fetch fetch based. So request response, web response, you know, all of that type of stuff. So a big big fan of Hano JS.
Wes Bos
Hey? No. No. No. No.
Wes Bos
No. Node. I when I when I say I wanna use fetch, I wanna mean that, fetch is based on web request and web response. Those are 2 primitives in the browser, and you can have a request in the browser, and you can have a request on the server. And the fact that those are standardized and not like some Connect JS version of request response Yeah. Is beautiful because now all of this stuff starts to work together.
Scott Tolinski
Yeah. For me, I like data layer wise.
Scott Tolinski
Right now, I'm using Pocket Bos for everything.
Scott Tolinski
Pocket Base is sick. It's easy to host your own old office bake baked right in. But if I'm going full data, like we did on the Syntax site, it is, it's Prisma and, MySQL. But Yeah. I also like Drizzle and Postgres JS well as Drizzle and SQLite. All that stuff is good for me. Why is Century's brand all purple? David Kramer here?
Wes Bos
Nope. He's he said it on the podcast. He stole it from, Heroku.
Scott Tolinski
Oh, yeah.
Wes Bos
Purple's sick, though. Yeah. I love purple. Where can I buy a Webmaster shirt? They are sold out.
Wes Bos
Better luck next time. We'll have some more cool ones.
Wes Bos
Oh my gosh. Any questions in the audience? These keep jumping around. Might be No. It's nicer when you could just be a keyboard warrior and
Scott Tolinski
type it in online. I get it. When was the last time you coded vanilla JS?
Wes Bos
When was the last time I coded Vanilla JS? Like, daily. I I'm a big fan of Vanilla JS, and that's that's why I like the Svelte stuff as Wes.
Wes Bos
And, like yeah. Scott of that's why I'm talking about Wes response, because Vanilla JS
Scott Tolinski
back end is now possible. I like the DOM Yeah. Myself.
Wes Bos
Change of opinion.
Scott Tolinski
I stopped using React. I like Tailwind.
Wes Bos
I do like React, though. I think I like Tailwind.
Wes Bos
Hey.
Wes Bos
Who's wrong? I see. Yeah.
Scott Tolinski
First.
Wes Bos
Yeah. How long for SPAs to become cool again? I just rode an SPA,
Scott Tolinski
on the flight here, and, it was great. It was really nice not having to worry about the server. I didn't need server side rendering. And if you don't need server side rendering, it just makes things harder. That's So yeah. Again I like server side rendering when you need it. It's easy enough. Beauty of JavaScript, beauty of React, Do you need to do server? Sure. Use React. You need to do
Wes Bos
SPA? Sure. Use React. You Node? Need to Static? Static site? React. What's up? I guess it's expanding on what you're just previously talking about. When would you choose, like, playing React over or Next. JS? Like, what situations you would choose them in?
Scott Tolinski
In in now, I don't know. Too many times I'd pick something that wasn't a meta framework on top of React, because I mean, even create React app was kind of like a starter kit, not like something you'd probably keep around forever.
Scott Tolinski
But now with the server side components or React server components, there really isn't a React platform for server components. You have to use Remix. You have to use, Next. Js. And and to me, I'm going to pick one of those more full featured frameworks personally. Yeah. That to me is React at this point. I'm hoping for, like, a like, I usually
Wes Bos
default, wanna try something in React. I HTML file, install React, and use Vite. Right? And then if it becomes a, like, a full blown project, then I'll I'll reach for a meta framework.
Wes Bos
Alright.
Scott Tolinski
Have I used Remix? Yes. Love Remix. Very bullish on Remix. Big fan. I like Remix, what they did for actions and, then what everybody copied from them from that. And I'm I'm glad everybody copied that from them because it's, the best way to do form stuff. Poor Ryan is gonna just fix all the server component stuff for us so we don't have to
Wes Bos
well, like, it's not our problem. It's Ryan's problem. Yeah. You know? Yep. That's kinda nice.
Wes Bos
Alright. Last question we have here.
Wes Bos
How many episodes of ZoomText did you think you would record when you started? I don't know. Node don't I don't even know what happened. Literally anything. I don't even know what happened for dinner tonight. Yep. That's actually very true for both of us. Yeah. Yeah. Just let her rip. Yeah. We we actually came up with syntax about a whole year ahead of actually recording an episode,
Scott Tolinski
and it just kinda sat in a Google Drive document for a whole year. And then one one day, both of us were like, oh, wait. Remember that thing we were gonna do? Oh, yeah. Let's do it. Yeah. And then it's really easy to just keep going once you start. And then now we're at 700 something. So thank you so much, everybody. Thanks, everybody, for coming out. This is super fun. Have a good night.
Wes Bos
And please, if there's any koozies left, take as many as you want. Please, we do not wanna take as Sanity JS you want. Beers, koozies. You want. JS stickers there's millions of stickers. Don't feel bad. Just take in, like, 70.