Hello, and welcome to JS Danger, our "Don't-call-it-Jeopardy" game show, where three contestants put their web dev knowledge to the test. I am Alex Treb-- I am Jerod Santo, and I'm your host today. Let's get to know our contestants. First up, Emma Bostian. Emma, you hold two JS Danger accolades. The first one was the inventor of this format, and the second one is you are the lowest score in human history. \[laughter\]
Emma Bostian:Okay, go big or go home, Jerod. I don't like to half-- can I say that on air?
Jerod Santo:No.
Emma Bostian:Okay, I don't like to not... Never mind.
Jerod Santo:You can't not curse...
Emma Bostian:Thanks for having me. \[laughs\]
Jerod Santo:Happy to have you. Suz Hinton is here. Suz, you're a long-time partier, but you're a first-time Dangerer.
Suz Hinton:Yes, that's right.
Jerod Santo:Does that mean you're nervous?
Suz Hinton:I've done JavaScript trivia games before, but I haven't done it on the spot, and that tends to be -- this is basically interview mode for me, where I forget everything I know, because I'm on the spot... So it's gonna be funny, I think.
Jerod Santo:That's how it works for everybody is what we're finding. Divya is back. Divya, you are used to dominating our debate episodes, but how is your trivia game?
Divya:We'll see... I don't wanna preemptively make any claims.
Jerod Santo:Okay.
Divya:I'm not American in that way, I don't automatically go like "I win!!!" \[laughter\]
Jerod Santo:Ouch.
Emma Bostian:Are you throwing shade right now? This is starting...
Divya:\[laughs\]
Jerod Santo:She's on her game, she's ready to play.
Divya:I just at every opportunity like to mention to everyone that I'm not American, and I'm not associated... I just live here.
Jerod Santo:Well, this is how the game works - we have a gameboard; if you're watching on video, you're enjoying that. If you're listening on audio, have no fear. We will post a video somewhere, of course. This is a podcast, so it will sound great. You can play along without the video, but it's a nice companion. And we have categories. There are three rounds. Round one is Trouble, round two is Double Trouble, and then the Final Trouble will finish the game... Of which we have five categories, five questions... If you've played Jeopardy, you know what it's like.
Suz Hinton:I think I need Jeopardy explained, because it's very confusing to me and I didn't grow up watching it.
Jerod Santo:Okay.
Suz Hinton:I'm not from this country, and then also all I know is that you ask questions to answer, and that's very confusing to me... So I'm sorry. I wasn't briefed on this.
Emma Bostian:We can get rid of that rule for this if you would like...
Jerod Santo:\[04:04\] Yes, we will not dock you technically. We will probably correct you out of habit, we will not dock you. So yes, the clues are given in phrase form, and the answers are in question format. So if it's a person, you say "Who is...", if it's a thing, "What is..." So you just prefix your answer with those prefixes to make it question-sounding... But we're not gonna hold it against you. Here's how it works in terms of the game here. It's a little bit different than the typically Jeopardy where you buzz in, because of latency and internet and timing. So we go person by person. Emma is first. Emma will pick a category and a point value. I will then present that question just for her, so she has an opportunity to answer that in the form of a question. If she misses it, there's a chance to steal. We'll go in order - Divya will have a chance to steal; she can pass, or she can try to steal. If she tries to steal and gets it wrong, she also gets a negative on that question. If she steals it, she gets the points and it ends. If Divya passes or gets it wrong, Suz gets a chance to steal. Same rules apply to her, and then the next round begins. Any questions?
Emma Bostian:What do we get if I win?
Jerod Santo:You get to totally redeem yourself. \[laughter\]
Emma Bostian:Thank you.
Jerod Santo:So for round one trouble, our categories are Array Prototypes, the Internet of T (answers in that column will all begin with T), Name That Stack, Turns Out JS (which are all things that compile to JS) and It's All HTML Semantics. Emma, the board is yours... What would you like start with?
Emma Bostian:Maybe I'll start off decently, not balls to the wall. Let's go for HTML Semantics for 300, please.
Jerod Santo:For 300... This creates a disclosure widget in which information is visible only when the widget is toggled into an open state.
Emma Bostian:What is an accordion? But that's not an HTML element...
Jerod Santo:\[fail sound\]
Suz Hinton:Can I steal?
Jerod Santo:So we'll go to Divya for an opportunity to steal...
Suz Hinton:Oh, sorry. Sorry. I didn't know what the rules were.
Jerod Santo:It's alright, you'll be next. Emma, -300. Divya, a chance to steal?
Divya:What is a select element?
Jerod Santo:\[fail sound\]
Emma Bostian:Yeah, that was my second guess.
Jerod Santo:Incorrect. -300 for you. Suz, would you like to steal?
Suz Hinton:What is a detail element?
Jerod Santo:\[win sound\] Details...
Divya:Oh, man...
Suz Hinton:Nice.
Jerod Santo:This element is very popular on GitHub, because you can put it in your issue and you can put a stack trace or a long piece of details in there, and it will toggle the carrot. It will hide it by default. Very good.
Suz Hinton:I use other things like logs if you wanna show a stack trace in a GitHub issue, but you don't wanna have this long, scrolly thing for people. It's very helpful.
Jerod Santo:Exactly. So there you go. Suz steals the round. She's got 300. Emma and and Divya starting off rough...
Emma Bostian:Thanks, Jerod. Thanks for the encouragement.
Jerod Santo:Let's move to the next question. How do I do that...? There we go. First-time board user here. Alright, so it goes now to Divya. Your turn to pick a category and a point value.
Divya:Alright, can I do Name That Stack for 200?
Jerod Santo:Name That Stack for 200 - this stack would go well spread on a piece of toast. \[laughter\]
Suz Hinton:I love that this is for Divya, too.
Jerod Santo:Yeah.
Divya:\[laughs\] Wait... I've got it.
Jerod Santo:This stack would go well spread on a piece of toast.
Emma Bostian:This is brilliant.
Divya:Um, what is... Oh my gosh, why am I blanking on this?
Jerod Santo:You're either gonna get this right or totally hate yourself.
Emma Bostian:\[08:01\] Yeah.
Divya:I mean -- it's not Vue...
Jerod Santo:This \*stack\* would go well spread on a piece of toast.
Emma Bostian:Jerod, you're being you're being a little lenient with the time, sir!
Divya:Oh, JAMstack. What is JAMstack. Oh, my god.
Jerod Santo:\[win sound\] That is correct!
Divya:I was thinking framework for a second, and I was like "There isn't one..." Okay, yeah.
Suz Hinton:I was so close to stealing that...
Jerod Santo:Yeah, you're right. I waited a little long. I've gotta be more of a --
Emma Bostian:Yeah, I feel like we need to deduct points from you as a host.
Jerod Santo:Well, I'm giving all my points out, so I don't have any left to give. That being said, it's Suz's turn... Suz, the board is yours.
Suz Hinton:Can we do the Internet of T for 200, please?
Jerod Santo:The Internet of T... The heart of every HTML document. Remember, answers in this category all begin with T.
Suz Hinton:The heart...
Jerod Santo:This is the heart of every HTML document.
Suz Hinton:So I'm getting really esoteric and I'm thinking the heart is kind of in the middle, but kind of on the left, which -- like, I can think of one element that starts with T, but...
Jerod Santo:Go ahead and give it a guess or we'll have to count it wrong.
Suz Hinton:What is text?
Jerod Santo:\[win sound\] Wow, you got it! Text. Of course--
Divya:That's the heart? Really?
Jerod Santo:Of course, text is the heart of every HTML document. What's on the inside? It's all text in the middle.
Emma Bostian:Okay... These questions are so obscure. I'm gonna lose again.
Jerod Santo:Good job, Suz. You're killing it with 500 points.
Suz Hinton:Oh, no, it's going to be \[unintelligible 00:09:40.00\] \[laughter\]
Jerod Santo:Emma, the board is yours.
Emma Bostian:Alright, let's go with Array Prototypes for 300, please.
Jerod Santo:Nobody likes to start off easy with 100. This is interesting.
Emma Bostian:Nah...
Jerod Santo:Okay, Array Prototypes. This extracts a section of the calling array and returns a new array.
Emma Bostian:It's either -- I'm not gonna say it, because if I get it wrong, I don't want the next person to get it. Arrrgh...! What is slice?
Jerod Santo:\[win sound\]
Emma Bostian:Yay! Okay. I almost mixed those up.
Jerod Santo:Nice job! Slice it is. You're now back to zero points. You're out of the red. Okay... Divya.
Divya:I'll do a 100. I'll do -- let's see... Turns out JS for 100.
Jerod Santo:Turns out JS for 100. Google's language that compiles to native machine code got its second win thanks to the Flutter framework. Is this for 100? This is hard.
Divya:This is 100. This is pretty odd.
Jerod Santo:My bad... It sounded easy when I wrote it.
Divya:Google's language that compiles to native machine code...
Jerod Santo:Are you familiar with the Flutter framework?
Divya:I'm not.
Jerod Santo:Okay. Well, give it a guess. Give it a goog. You're running out of time...
Divya:Yeah, I don't know... What is -- what is some native thing... Arrgh!
Jerod Santo:\[fail sound\]
Divya:I don't know... Yeah.
Jerod Santo:Okay, opportunity to steal. Divya goes down by 100. Suz, you're up to steal.
Suz Hinton:Is it what is Dart?
Jerod Santo:\[win sound\]
Emma Bostian:Oh, Suz is gonna kill us.
Jerod Santo:What is Dart. Good job, Suz. With this steal, 600 for Suz, and it is now your turn, as well.
Suz Hinton:Can we do It's All HTML Semantics for 200, please?
Jerod Santo:You bet. This represents text which is highlighted for reference or notation purposes.
Suz Hinton:This could be a couple of things, as usual... It's very ambiguous.
Jerod Santo:Hm, ambiguous...
Suz Hinton:Represents text which is highlighted for reference or notation purposes. Um... I'm just gonna go for it and not waste time... What is quote?
Jerod Santo:\[12:04\] \[fail sound\] Incorrect. Sorry. Emma for the steal?
Emma Bostian:I'm not stealing this time.
Jerod Santo:Emma passes. Divya, would you like to steal?
Divya:Represents text which is highlighted for reference or notation purposes... Wait, what category is this under again?
Jerod Santo:This is under It's All HTML Semantics. These are semantic HTML elements. You can pass. You do not have to steal.
Divya:I feel like I'm already losing, and I don't know if it's a good idea to just guess.
Jerod Santo:So you can pass. You don't have to steal.
Divya:I will pass.
Jerod Santo:Okay, so the element which represents text which is highlighted or marked for reference is the mark element.
Suz Hinton:Oh... It's a very ambiguous question, that's all I can say.
Emma Bostian:Yeah, yeah.
Jerod Santo:I take so much heat here, as the -- well, whoever wrote these questions, we'll fire them and we'll get somebody new.
Suz Hinton:It was definitely Nick, wasn't it? This is the kind of stuff Nick enjoys.
Jerod Santo:It could have been.
Suz Hinton:Or Dylan.
Jerod Santo:I'm not gonna say who it was. Okay...
Suz Hinton:It was Nick or Dylan. Or both.
Jerod Santo:So that was Suz's question, so now it's Emma's turn.
Emma Bostian:Can I do array prototypes for 400, please?
Jerod Santo:You bet. This returns a new array that is the array joined with other arrays and/or values.
Emma Bostian:What is `concat`?
Jerod Santo:\[win sound\] You are correct. And I lost my soundboard, so I was furiously looking for it... The array prototype `concat` will return a new array that is the array joined with other arrays and/or values. Very good, Emma. You now have 400 points. It is Divya's turn. Emma knows her arrays.
Emma Bostian:I do.
Divya:Let's see... Let's do something easy. HTML Semantics for 100... You know what, I'm just gonna--
Suz Hinton:I don't know... This one topic area is very tricksy.
Jerod Santo:Okay... A section of a page whose purpose it is to provide navigation links, either within the current document or other documents.
Divya:What is navigation, or nav?
Jerod Santo:I'm gonna need one or the other.
Divya:What is nav?
Jerod Santo:\[win sound\]
Divya:Hurray!
Emma Bostian:I feel like it's unfair to use the word in the phrase, but that's just me...
Jerod Santo:It's 100 points. Come on. It's the easiest one.
Divya:Yeah.
Emma Bostian:I'm out for blood, so...
Jerod Santo:Suz's turn. \[unintelligible 00:14:29.19\]
Suz Hinton:Can I do Array Prototypes for 200, please?
Jerod Santo:You bet. This returns a new array containing the results of calling the given function on every element.
Suz Hinton:What is `Array.prototype.map`?
Jerod Santo:\[win sound\] Very good. 200 points for Suz, bringing you to 600. Emma, your turn.
Emma Bostian:We'll do Array Prototypes for 500, please.
Jerod Santo:Going big or going home.
Divya:Nice.
Jerod Santo:This adds one or more elements to the front of an array and returns the new length of the array.
Emma Bostian:What is `Array.prototype.unshift`?
Jerod Santo:\[win sound\] Very good! Killing it on the arrays.
Emma Bostian:Can you tell I'm studying for interviews? \[laughter\]
Jerod Santo:I can tell that you \[unintelligible 00:15:14.11\] Okay. Divya...
Divya:Let's see... Turns out JS for 300.
Jerod Santo:For 300. This purely functional programming language has a built-in architecture for building frontends.
Divya:What is Elm?
Jerod Santo:\[win sound\] Elm is correct.
Emma Bostian:I would never have known that.
Divya:Hurray!
Jerod Santo:Good job.
Divya:Non-studying... \[laughter\] I'm purely just grabbing general knowledge...
Jerod Santo:Okay, Suz... Your turn.
Suz Hinton:Can I get Name That Stack for 300, please?
Jerod Santo:\[15:58\] Name That Stack for 300. A majestic four-footed beast, or a tech stack centered around a popular search solution.
Suz Hinton:What...? Okay, a majestic four-footed beast, or a tech stack centered around a popular search solution. A majestic four-footed beast... I'm gonna hate myself if I find out what this is... A majestic four-footed beast... Which could be anything -- because I think all four-footed beasts are majestic \[laughter\] Or a tech stack centered around a popular search solution.
Jerod Santo:Yeah, maybe you forget about the beast and think about the search solution.
Suz Hinton:Yeah, yeah, yeah.
Jerod Santo:I'm so helpful. I don't think Trebek does this. He just sits there and stares at you. You're gonna have to take a guess... Now or never.
Suz Hinton:I'm gonna pass.
Jerod Santo:Okay, so Suz goes down... And Emma has a chance to steal.
Emma Bostian:I'm really bad at tech stacks. I know it's probably around this popular search network framework, to some extent, but I can't think of any acronyms with this, so... I'm gonna pass.
Jerod Santo:Alright. Divya, would you like to steal? You got JAMstack right...
Divya:\[laughs\] I know, but at the same time I'm not familiar with tech stacks around search engines. There are not that many. It's like DuckDuckGo...
Suz Hinton:Aaargh! I know what it is! Dang it! \[laughter\]
Jerod Santo:This is a 400-point question, so...
Divya:A duck is not a four-footed beast though...
Suz Hinton:I know what it is... And it was my first instinct.
Jerod Santo:Divya, you're passing?
Divya:I'll pass.
Jerod Santo:The answer is the ELK Stack.
Emma Bostian:Oh, okay. I would never have known that.
Divya:Okay...
Emma Bostian:That's not a majestic beast...
Jerod Santo:An elk? Have you ever seen an elk run?
Suz Hinton:It is. It's very majestic.
Jerod Santo:The popular search solution is Elasticsearch. ELK stands for Elasticsearch, LogStash and Kibana.
Emma Bostian:Oh...
Suz Hinton:Yeah, I kept thinking about Elasticsearch. That's what I thought of the whole time, and I was like "Who designed this around the Elasticsearch \[unintelligible 00:18:19.20\]
Jerod Santo:Alright, that was Suz's turn, so now it's Emma's turn...
Emma Bostian:Um... Wow, I've been sucking at everything else...
Jerod Santo:You're running out of Array Prototypes. You've gotta go for a 100.
Emma Bostian:I'd better just go for Array for 100...
Jerod Santo:Alright... This returns true if every element in the array satisfies the testing function.
Emma Bostian:What is `Array.every`?
Jerod Santo:\[win sound\] You are now a 100%--
Emma Bostian:I'm an array expert.
Jerod Santo:Yes, you are now an array expert.
Divya:Very nice.
Jerod Santo:And you have 1,000 points, putting you in first place.
Emma Bostian:But that's it. I'm gonna fail all the rest of them.
Suz Hinton:You're in the lead!
Divya:You're in the lead, yeah.
Emma Bostian:Nice...!
Divya:This is great.
Jerod Santo:I'd like to just say we're all in the positives here, so I'm feeling pretty good about this group... Divya, your turn.
Divya:Okay, I'm gonna do -- oh, my gosh... I'm gonna do Name That Stack for 400.
Jerod Santo:Okay.
Divya:Oh, God...
Jerod Santo:The A is controversial, but these three technologies are staples of the MEAN stack. We're looking for all three...
Divya:Oh, okay. It's Mongo, Express, Angular, Node.
Jerod Santo:So which ones are the three?
Divya:Do I have to name M, E and N?
Jerod Santo:Yeah, that's correct.
Divya:Oh, it's just Mongo, Express and Node.
Jerod Santo:\[win sound\] Very good.
Divya:I gave the extra A, by the way, so I should get extra points.
Jerod Santo:Well, the A is controversial. It could be Angular... Some people like MERN, or MEVN, for React or Vue...
Divya:Oh, okay. No, it's actually VENM for Vue.
Jerod Santo:Oh... \[unintelligible 00:19:54.00\] Okay, good job. You got it right. Suz, your turn.
Suz Hinton:Can I do Turns Out JS for 400, please?
Jerod Santo:\[20:03\] This controversial language aimed to expose the good parts of JS, with a cleaner syntax. Some of its ideas inspired JavaScript features.
Suz Hinton:Controversial language...
Jerod Santo:Aimed to expose the good parts.
Suz Hinton:I'm going to go with my first instinct here, which could be wrong... But I think it is "What is CoffeeScript?"
Jerod Santo:\[win sound\] Very good.
Divya:Nice.
Jerod Santo:And you get those 400 points. You now have 700, and just passed Divya for second place.
Divya:Yay...!
Jerod Santo:Emma, your turn.
Emma Bostian:I guess HTML for 400.
Divya:You killed those 500s...
Jerod Santo:A self-contained composition in a document page, application or site, which is intended to be independently distributable or reusable.
Emma Bostian:What is an iFrame?
Jerod Santo:\[fail sound\] I'm sorry...
Emma Bostian:I have no idea.
Jerod Santo:Divya, would you like to steal?
Divya:Hold on, let me read the question...
Jerod Santo:A self-contained composition in a document page, application or site, which is intended to be independently distributable or reusable.
Divya:Like reusable across sites, or what?
Jerod Santo:Or reusable -- I don't know. Probably on the same page.
Divya:On the same page.
Jerod Santo:Or... Maybe not.
Divya:\[laughs\] This is HTML, right? Yeah...
Jerod Santo:Are you stealing this, or are you passing?
Divya:Wait, wait, wait, I need like ten seconds... \[laughter\] Till I process this.
Emma Bostian:Why even --
Divya:\[laughs\]
Jerod Santo:Okay...
Divya:Let's say "What is section?"
Jerod Santo:\[fail sounds\] No, I'm sorry. That is wrong.
Emma Bostian:Wow, that was a really wrong noise.
Jerod Santo:That was close though.
Divya:Yeah, I know...
Jerod Santo:That's our steal wrong, which hasn't happened yet.
Divya:Okay. That's fine.
Jerod Santo:So Suz, would you like to steal? It's not section. I will say that was close though, Divya...
Divya:Oh, thanks.
Suz Hinton:I'll take a swing. If it's close, then I feel like my answer might be wrong, but... I was going to say "What is a custom component?"
Jerod Santo:Are you gonna actually say that, or are you just telling me what you were gonna say?
Suz Hinton:Yes, what is a custom component?
Jerod Santo:\[fail sound\]
Suz Hinton:Oh...
Jerod Santo:Suz and Divya both missing on steals. Emma, you missed as well...
Emma Bostian:Yeah, I did. I missed it.
Jerod Santo:Did I dock you your points? Yeah, because you were at--
Emma Bostian:I was at 1,000 before, yeah.
Jerod Santo:That's right. Okay, hard to track...
Divya:Yeah, she was at 1,000.
Jerod Santo:Yeah, so Divya was close. It's actually "article", which is a very common element, but just a very strange way of describing it...
Divya:Oh, my God...
Jerod Santo:So blame it on Nick, or blame it W3Schools...
Suz Hinton:I also think custom component is way better.
Divya:I actually think custom component is really reusable, if that's the thing there...
Emma Bostian:Yeah, I don't know what article has to do with distributable and reusable. But, you know...
Jerod Santo:Well, you can have multiple articles on one page, so it's reusable in that way, but they're independent entities. You can use an article as a standalone. Anyways, I don't know... I'm not trying to defend this description; I didn't write this.
Divya:\[laughs\]
Jerod Santo:Let's go on. That was Emma's turn. It's Divya's turn now.
Divya:Alright, let's go for the hard-hitters, I guess. Why not.
Jerod Santo:Okay.
Divya:YOLO. Let's do Turns Out JS for 500.
Jerod Santo:Okay. Created and maintained by Facebook, this language offers a new--
Divya:Yes! Reason ML.
Jerod Santo:Woooh! \[win sound\] \[laughter\] She didn't even let me read it...
Suz Hinton:That was -- I don't even know how that is a 500 question though. It literally spells it out for you.
Divya:Yeah, exactly.
Suz Hinton:That's so easy... \[laughter\] I'm so disappointed.
Emma Bostian:I have never heard of that before in my entire life.
Jerod Santo:See, Emma didn't know it.
Emma Bostian:I've never heard of that.
Suz Hinton:Okay, sorry. My bad. Sorry, I should not have said it was easy.
Jerod Santo:So much criticism for these questions...
Divya:No, that's payback for the 100 question... \[laughter\]
Jerod Santo:Fair enough, fair enough. The hardest part with these boards is actually figuring out what are hard ones or easy. Okay, Suz. Your turn.
Suz Hinton:\[24:00\] Can I get Internet of T for 300? Let's just be a little bit moderate...
Jerod Santo:Okay. Everything here begins with T. An object's sometimes elusive self-reference.
Suz Hinton:What is `this`?
Jerod Santo:\[win sound\] Very good, `this`.
Suz Hinton:That's not too bad.
Jerod Santo:Yeah, there you go. Suz gets 300. Now it is your turn, Emma.
Emma Bostian:Okay, Internet of T for 400, please.
Jerod Santo:When are we `new Date` without any arguments?
Suz Hinton:\[laughs\]
Emma Bostian:\[laughs\]
Jerod Santo:I've never actually read that one out loud before... That's incredibly confusing.
Jerod Santo:Okay, `new Date` is an instantiation. You can see the back ticks there. You're calling `new Date` without any arguments. Okay, I was saying it for the audience's sake.
Emma Bostian:What is a timestamp?
Jerod Santo:\[fail sound\]
Emma Bostian:I don't know... Who wrote this?!
Divya:Yeah, what are they asking?
Emma Bostian:Yeah, that's what I don't understand.
Jerod Santo:When are we... Divya, would you like to steal?
Suz Hinton:I wanna steal.
Divya:Okay, I'll steal.
Jerod Santo:Okay.
Divya:It is time -- I'm very nervous about this now.
Jerod Santo:\[fail sound\]
Divya:Yeah, whatever. Just dock me.
Jerod Santo:Suz, your turn.
Suz Hinton:What is `now`?
Emma Bostian:It starts with a t.
Jerod Santo:Oh, I'm sorry. \[fail sound\]
Divya:Are you freakin' kidding -- okay...
Jerod Santo:What is `today`?
Divya:Oh, my God! Are you kidding me?!
Suz Hinton:That is absolutely rude.
Divya:No, no. That is rubbish.
Suz Hinton:It is absolutely "What is `now`?"
Emma Bostian:Can we all agree that question doesn't count? Because that was the stupidest thing I've ever heard.
Suz Hinton:I can't believe I lost points for that. It is "What is `now`?" How can you possibly allow `today`? That is the rudest.
Jerod Santo:When you call `new date` without any arguments, it always returns the current date today. Internet of T. It has to begin with a t.
Divya:Oh, my God... I was like, timezones, whatever...
Suz Hinton:I'm not a sore loser, but that was very disappointing.
Emma Bostian:I will find whoever wrote these...
Jerod Santo:I've got a mutiny on my hands... Okay, well everybody got it wrong, so it's fair.
Divya:Oh, God... That was brutal.
Suz Hinton:I will still say I got it right.
Jerod Santo:\[laughs\]
Emma Bostian:I'm angry.
Jerod Santo:Suz, it has to begin with t. `Now` does not begin with t. Okay, moving on...
Suz Hinton:Oh, my God. I didn't think of that.
Divya:Oh, it begins with t... Yes...
Jerod Santo:`Today`.
Suz Hinton:Okay, fine. I accept this then. I just forgot the topic.
Jerod Santo:Okay, good.
Divya:Yeah, me too.
Jerod Santo:Okay, whose turn is it?
Divya:I think it's mine.
Jerod Santo:Okay, Divya's turn.
Divya:That was Emma's question, right?
Jerod Santo:Yup.
Divya:I sort of wish that the questions had the categories associated, so I can \[unintelligible 00:26:41.03\]
Jerod Santo:That's a good point. We can do that round two of this board.
Divya:For the future. Okay. I'll do the last 200, please...
Jerod Santo:Okay, this Turns Out JS, 200. Boasting static type checking and other tooling goodies, this claims to be JavaScript that scales.
Divya:What is TypeScript?
Jerod Santo:\[win sound\] Correct answer, TypeScript.
Divya:I hope Nick is proud of me.
Jerod Santo:I'm sure he is.
Emma Bostian:Well, Nick's in the chat saying he didn't write it, so... \[laughter\]
Jerod Santo:That's not actually Nick. That's an impostor.
Emma Bostian:You're not saying he's proud of you because you got his question; there's another reason.
Jerod Santo:I didn't say Nick wrote it, I just didn't say he didn't write it. Okay. Suz's turn. Full disclosure, I wrote all these questions, so you can blame me.
Suz Hinton:Name That Stack for 500, let's do it.
Jerod Santo:Which one?
Suz Hinton:Name That Stack for 500... Although I feel like all the other ones were...
Jerod Santo:The team at Neo4j would love you to use this stack. It also includes GraphQL and React. This is a true 500...
Suz Hinton:I don't actually know -- I'm not sure I know what the stack is actually called, but I know exactly what you're talking about... The team at Neo4j would love you to use this stack. It also includes GraphQL and React.
Jerod Santo:We'll need an answer.
Suz Hinton:No. I mean, I know this is not correct, but I'm just gonna throw it out there - what is Apollo?
Jerod Santo:\[fail sound\]
Suz Hinton:\[28:11\] Yeah. It's a tool, not a stack.
Jerod Santo:Suz misses. Emma can steal.
Emma Bostian:I will not steal.
Jerod Santo:Emma passes. Divya can steal.
Divya:I don't even know... \[laughs\]
Jerod Santo:Then I would say just not stealing.
Divya:I'm not gonna steal, because I don't even know what it is...
Suz Hinton:Yeah, wise choice.
Jerod Santo:Suz was on the right track. The technologies are GraphQL, React, Apollo and Neo4j. So the stack name is called The Grand Stack.
Suz Hinton:Oh, I've literally never heard of that.
Divya:Oh, the Grand Stack...
Jerod Santo:I had not heard of it either, so... That's why I said, this is a pure 500. That's a tough one.
Suz Hinton:Yeah. I knew Apollo was wrong.
Jerod Santo:Okay, we go to Divya...
Divya:Alright, let's do... Hm. Hmm... \[laughter\] I'm on the up and up, so I don't wanna get very boastful at this time.
Jerod Santo:You are. You're now in first place.
Divya:Let's do 100. Let's do Internet of T.
Jerod Santo:Internet of T. Reminder, all answers must begin with t. Rotate, scale, skew or translate an element.
Divya:What is `transform`?
Jerod Santo:\[win sound\] Very good.
Suz Hinton:That's a good one.
Divya:Yay!
Jerod Santo:Divya with 600 is still in the first place. We go to Suz. There's three left.
Suz Hinton:Yeah, so there's no chance of me being able to come back unless I get the two 500s, so...
Jerod Santo:Well, I'll remind you that round two is Double Trouble. All points double. So this game is nowhere near over.
Suz Hinton:Wait, there's another round? It's been like half an hour already.
Jerod Santo:Well, we've got an hour.
Suz Hinton:I guess... Well, I feel like I should -- I don't care about getting a quick win at this point, so...
Jerod Santo:Okay.
Suz Hinton:The HTML Semantics are incredibly, incredibly tricky, but I will take that anyway... Over an esoteric thing starting with t.
Jerod Santo:This represents a position within text where the browser may optionally break a line, though its line-breaking rules would not otherwise create a break at that location.
Suz Hinton:Represents a position within text where the browser may optionally break a line, though its line-breaking rules would not otherwise create a break at that location. This could be many things. It's definitely HTML, right?
Jerod Santo:Yes, this is an HTML element. Everything in this category is an element.
Suz Hinton:Represents a position within text where the browser may optionally break a line, although its line-breaking rules would not otherwise create a break at that location.
Jerod Santo:We'll need an answer.
Suz Hinton:I'm gonna pass.
Jerod Santo:Okay.
Suz Hinton:This is nothing obvious for me.
Jerod Santo:Emma for the steal. 500 points on the line, Emma.
Emma Bostian:No, I'm not gonna go for it.
Jerod Santo:Okay. Divya with an opportunity to cement her lead.
Divya:Okay, I wanna take a crack at this.
Jerod Santo:Okay.
Divya:I'll take a crack at this... What is <br>?
Jerod Santo:\[fail sound\] Ohhh...! So close, Divya.
Emma Bostian:That's what I would have said...
Divya:Really...?!
Jerod Santo:The correct element is <wbr>, which stands for word break...
Divya:Oh, my God...
Jerod Santo:And it is indeed esoteric, which is why it's a 500-point question. You were literally one letter off.
Divya:I know...
Jerod Santo:But you kept the game close... Emma, your turn.
Emma Bostian:I'm gonna do Internet of T for 500, please.
Jerod Santo:Okay, Internet of T. This group meets every two months to evolve the definition of JavaScript.
Suz Hinton:Are you serious? That's a 500-question? Come on.
Divya:Oh, my gosh... Come on.
Emma Bostian:I know the answer, and it's totally just blanking me right now.
Divya:This is really rude... You got this, Emma.
Jerod Santo:I feel very attacked for my board here.
Suz Hinton:\[32:00\] This is a 500 question, seriously?
Divya:I know, ridiculous...
Suz Hinton:I should have picked that one.
Jerod Santo:\[laughs\] Nonetheless, Emma doesn't know it.
Emma Bostian:I've totally blanked, now that everyone's over there like "It's so obvious, it's so obvious..."
Divya:No, it's fine. You've got it.
Jerod Santo:You've got it.
Emma Bostian:I cannot remember, for the life of me.
Jerod Santo:Okay, so I'm gonna have to say wrong answer. \[fail sound\]
Suz Hinton:Divya's gonna take the lead.
Divya:Yes! What is TC39?
Jerod Santo:\[win sound\] TC39 Working Group. Very good, Divya, with a 500-point steal, which means she gets the last clue on this board... Name That Stack for 100.
Divya:Let's do it.
Jerod Santo:Divya, name the LAMP Stack.
Divya:Oh, my--
Jerod Santo:Uh-oh...
Divya:Okay, I know that it's Apache, MySQL, PHP... And then the L stands for... Linux! Linux, Apache, MySQL, PHP.
Jerod Santo:\[win sound\] Very good. That brings us to the end of our trouble round. Emma at -300, Divya with a commanding lead at 700, and Suz pulling up the rear at -800, but don't--
Suz Hinton:I told you there'd be a dip.
Jerod Santo:Don't delay, we have twice as much trouble right around the corner. Stay tuned for round two, coming up next.
Break:\[33:33\]
Jerod Santo:We are back for round two of JS Danger, HalfStack Edition. It's Double Trouble, that means all points are doubled. Our categories for this round are Obscure Web APIs, Document.title - this is where the clue is the title element of popular websites, and you must name the website. Category three is Node Drama (hopefully no drama in that category), category four is CSS Select Star (these are all selectors), and the last category, Talk Protocol To Me (popular internet protocols). Suz, the board is yours. Where would you like to start?
Suz Hinton:Oh my God, my colleagues are watching this... This is horrible. \[laughter\]
Jerod Santo:Suz, your turn.
Suz Hinton:Sorry, sorry. I'm gonna pick Talk Protocol To Me for 400, please. That's my favorite topic.
Jerod Santo:Okay. This old-school protocol for sharing files typically runs unencrypted on port 21.
Suz Hinton:What is FTP?
Jerod Santo:\[win sound\] The File Transfer Protocol.
Suz Hinton:Oh, I couldn't remember if that was Telnet or FTP, but Telnet is more for like text communications...
Jerod Santo:Yeah, Telnet is 22, I believe...
Suz Hinton:Yeah, yeah. That's what it got refused.
Jerod Santo:Yeah, it was very close. Very good, FTP. Okay. Off to a good start. Emma, your turn.
Emma Bostian:Alright, let's see if I can get in the positives. Can we do CSS for 400, please?
Jerod Santo:Okay, you give the selector, I give you the \[unintelligible 00:35:37.00\] This is how you select active links. You can just say it out loud.
Emma Bostian:Isn't it just a pseudo-selector for active?
Jerod Santo:We're looking for the actual selector.
Emma Bostian:Okay, so a::active.
Jerod Santo:\[fail sound\]
Emma Bostian:Is it one?
Jerod Santo:\[36:02\] Divya for the steal?
Divya:Select active links... Is it like a `focus`, or something?
Jerod Santo:Are you gonna try a steal?
Divya:Yes...
Jerod Santo:Okay, so what's your steal answer?
Divya:`Focus`.
Jerod Santo:\[fail sound\] Sorry, that's incorrect. Suz, would you like to steal?
Suz Hinton:Yes. What is a :active?
Jerod Santo:\[win sound\]
Divya:Wait, wasn't that what Emma said?
Jerod Santo:Emma gave me two colons. We were looking for one colon.
Emma Bostian:No, Jerod, I challenge this.
Divya:No, no-- what?!
Emma Bostian:No, it used to be double-colon.
Divya:Okay...
Emma Bostian:It used to be double-colon and they changed it in a more recent version.
Jerod Santo:Okay. So you're a:: would also work?
Emma Bostian:So I would like to challenge this. Technically, yeah. So "The double-colon selectors are pseudo..." Oh, okay. I see. I lied. So double-colons are pseudo-elements, single-colons are pseud-selectors. Never mind. Fair enough.
Jerod Santo:Alright.
Suz Hinton:Yeah, like before, and things like that.
Jerod Santo:Right.
Emma Bostian:Those are freaking confusing.
Jerod Santo:They are.
Divya:I somehow thought Emma said :active, and I was like "If that's not the answer..."
Emma Bostian:No, I did say two colons.
Jerod Santo:Well, that's why I said she was so close, because she said ::active, and I was like "Ohhh...!"
Suz Hinton:I promise I did not see Steve's answer...
Emma Bostian:I know, we've just asked him to not-- no, I didn't assume anyone did.
Jerod Santo:Alright, so that was a tricky one. For that category we will be requesting the actual selector for each of those, so... Okay, that was Emma's turn. Divya, you are up, with 300 points.
Divya:Alright. So you said Document Title is guess the website based on the document title...
Jerod Santo:Mm-hm.
Divya:Well, let's give this a spin, shall we? Let's do 400. I feel like 200 would be like weird and tricky.
Jerod Santo:Where developers learn, share, and build careers.
Divya:God dang... Is this like "What is Stack Overflow?" or something...
Jerod Santo:\[win sound\] Stack Overflow.
Divya:Oh, yes...!
Emma Bostian:You were so unconfident, too... \[laughter\]
Jerod Santo:Good job. Okay. Suz.
Suz Hinton:Can I do Talk Protocol To Me for 600? Sorry, I just love protocols, but I'll probably show myself out with this one... So let's do it.
Emma Bostian:I don't want any of them, so...
Jerod Santo:Respond with SYN-ACK if you've got this.
Suz Hinton:Respond with SYN-ACK if you've got this. Um, what is sin?
Jerod Santo:We're looking for the protocol itself.
Suz Hinton:Oh, sorry.
Jerod Santo:It's alright.
Suz Hinton:What is TCP?
Jerod Santo:\[win sound\] Very good.
Suz Hinton:Sorry. Thank you.
Divya:Hurray!
Jerod Santo:That's alright, I didn't say that out loud; I wasn't clear. So we're looking for the protocols in that category. Good job, Suz. You have 600 points. It's Emma's turn, you have -700.
Emma Bostian:Okay, you don't have to remind me. I'll try to redeem myself... \[laughter\] You know, we're gonna go big or go home. Let's do CSS Select Star for 1,000, please.
Jerod Santo:Oh, my goodness!
Divya:Yes!
Jerod Santo:Maybe it's a hidden easy one. We'll see. Okay, this is how you select all elements with a \_blank target.
Emma Bostian:So it would be \["target=\_blank"\], with a dot in front of it, because we have to select all elements.
Jerod Santo:I'm gonna give it to you... \[win sound\] I'm not sure if that's technically correct, but it was very close. And maybe they both work. What I was looking for was \[target=\_blank\], but potentially -- did you put double quotes in there?
Suz Hinton:You can put the quotations. You are allowed to.
Divya:You can put it.
Emma Bostian:\[39:58\] You can put quotations.
Jerod Santo:Okay. I thought that might work, which was why I gave it to you. I just wasn't sure.
Suz Hinton:No, you're allowed to.
Jerod Santo:Fair enough. Good job, you got it right. It's 1,000, so you now have 300 points.
Divya:Hurray...!
Emma Bostian:Finally... \[laughter\] It's all downhill from here.
Jerod Santo:Okay, Divya, your turn.
Divya:Alright, let's see what Obscure Web APIs is for 200.
Suz Hinton:Oh, I'm so scared of this.
Jerod Santo:Shake, rattle and roll your way to unique features with this APIs hardware knowledge.
Divya:What is WebGL?
Jerod Santo:\[fail sound\] I'm sorry, that's incorrect. Suz, would you like to steal?
Suz Hinton:Yeah, um -- does it have to be the exact name of the feature?
Jerod Santo:Yeah, it has to be recognizable.
Suz Hinton:It has to be recognizable...
Jerod Santo:If I know what you're talking about, it's fair.
Suz Hinton:Yeah, what is the gyroscope or accelerometer API?
Jerod Santo:\[fail sound\] Not quite close enough, I don't think...
Suz Hinton:Ugh, come on...
Jerod Santo:Emma?
Emma Bostian:I'm not doing it... \[laughter\]
Jerod Santo:The correct answer is the Vibration API.
Divya:Oh, gosh...
Suz Hinton:Oh, okay. I thought it was the \[unintelligible 00:41:00.04\]
Divya:I also thought shake, rattle and roll was just like a metaphor to mean animations...
Suz Hinton:Yeah, I thought it was just doing this.
Jerod Santo:Yeah... My initial idea was gonna be a "shake to undo" reference, but I thought that was too easy, so I changed it to shake, rattle and roll. Now you have the inside baseball -- I'm sorry, that was a bad one. Okay, let's go to Suz.
Suz Hinton:Talk Protocols To Me for 200. \[laughter\]
Jerod Santo:She's staying consistent...
Emma Bostian:We're all staying in our lanes.
Divya:I'm glad.
Jerod Santo:Say HELO to start the conversation.
Suz Hinton:\[laughs\] I have no idea what this is... Say...
Jerod Santo:HELO.
Suz Hinton:HELO... Is this a trick question? \[unintelligible 00:41:43.22\]
Jerod Santo:This is the first thing to send on this protocol.
Suz Hinton:Say HELO to start the conversation...
Jerod Santo:Yeah.
Suz Hinton:Why is there only one L?
Jerod Santo:Because that's the actual text that you send, HELO.
Suz Hinton:Oh, I see. So we're talking about the web, right?
Jerod Santo:We're talking about the internet.
Suz Hinton:The internet...
Jerod Santo:I think you could say the web, yeah... Roughly.
Suz Hinton:I'm gonna guess.
Jerod Santo:Okay.
Suz Hinton:What is Telnet?
Jerod Santo:\[fail sound\]
Suz Hinton:Okay. I forget how you start with Telnet. I think you can just type, right?
Jerod Santo:I think you just type out whatever you want, yeah. You're just connected. Okay, Emma, would you like to steal?
Emma Bostian:I would not.
Jerod Santo:Okay. Divya, would you like to steal?
Divya:I'm passing. I don't know.
Jerod Santo:Okay. So HELO is the first message sent in the beginning of an SMTP conversation.
Suz Hinton:Oh...! I actually didn't know that. That's cool. I learned today.
Jerod Santo:The Simple Mail Transfer Protocol. The second thing you say is mailfrom, so that was too easy...
Suz Hinton:Yeah. I knew the mailfrom.
Emma Bostian:Oh...
Suz Hinton:That's awesome.
Jerod Santo:Start with the HELO. This is how servers send email to each other.
Emma Bostian:Nice.
Jerod Santo:Next up is Divya.
Divya:That is interesting.
Suz Hinton:That was at a 200. Just saying. \[laughter\]
Divya:That should be like... Yeah. 600.
Jerod Santo:\[unintelligible 00:43:09.27\] Okay.
Divya:I wanna open the Pandora's box. I wanna know what Node Drama is.
Jerod Santo:Divya wants some drama.
Divya:What number should I pick...?! Let's pick 400. Let's see what's behind that.
Jerod Santo:Okay. A December 2014 fork...
Divya:Oh, God...
Jerod Santo:...that was later merged in after establishing the Node.js Foundation. We're looking for the name of the fork.
Divya:Oh, gosh... Was this "What is Node Together?" \[fail sound\] No, I think this was before.
Jerod Santo:It's incorrect.
Suz Hinton:I can steal.
Jerod Santo:Suz, ready for a steal?
Suz Hinton:Yeah.
Emma Bostian:Hold on. Jerod, I just wanna say, you skipped my turn.
Jerod Santo:Oh, shoot.
Emma Bostian:\[43:59\] Just saying. Because you went from Suz to Divya.
Divya:Oh, no...! Okay, so after me...
Jerod Santo:We'll loop back around you. We'll go Emma, Suz, and then we'll go back to Emma.
Emma Bostian:I'm just being a hard ass. It's fine.
Suz Hinton:No, because this changes the path of the game.
Jerod Santo:We wanna be fair.
Divya:Yeah, this does change things.
Jerod Santo:I'm sorry. So Suz, you have a chance to steal here.
Suz Hinton:Is it "What is io.js?"
Jerod Santo:\[win sound\] Very good, io.js was the...
Suz Hinton:God, I remember that so clearly...
Divya:Oh, nice.
Suz Hinton:I remember literally where I was working, and all the discussions around this.
Jerod Santo:So there's some Node Drama for you. We'll go back to Emma now, since I skipped her, and then we'll go to Suz next, and then we'll start the next round. Emma, your turn.
Emma Bostian:We'll do CSS for 800, please.
Jerod Santo:Staying consistent... Select every <p> element that is the last <p> element of its parent.
Emma Bostian:p::last-child.
Jerod Santo:\[fail sound\] That was incorrect.
Emma Bostian:Really?
Jerod Santo:Divya, would you like to steal?
Divya:It's single-colon.
Jerod Santo:Are you stealing?
Divya:Yeah.
Emma Bostian:Oh, are you kidding me?
Divya:It's p:last-child.
Emma Bostian:God...
Jerod Santo:\[fail sound\] Oh, that's also incorrect.
Divya:Oh, wait... What?! Okay... Carry on.
Jerod Santo:Suz, would you like to steal?
Emma Bostian:What?!
Suz Hinton:How many points is this?
Jerod Santo:This is worth 800 points.
Divya:A lot. Yeah.
Emma Bostian:How is that possible?
Suz Hinton:Because it's not a child. You want all of them, you don't want the last child.
Jerod Santo:Yes. Every <p> element.
Suz Hinton:I haven't done this in a while, but I'm gonna do p:last.
Jerod Santo:\[fail sound\]
Suz Hinton:Yeah, see - I didn't think it was that either.
Jerod Santo:The correct answer is p:last-of-type.
Divya:Oh, last of type...
Jerod Santo:Very close.
Emma Bostian:Does anyone use that?
Divya:...right, because they aren't children.
Jerod Santo:Right.
Emma Bostian:I just wanna say, look at our scores and they're all negatives... What does this say about the board? \[laughter\]
Suz Hinton:It means that it's a challenging game.
Jerod Santo:Judge the board all you want... It is a challenging game.
Suz Hinton:It's a challenging game and we're over-confident. \[laughter\]
Emma Bostian:Yes, we definitely are.
Jerod Santo:I think that's a fair statement. So that was Emma. Now we're gonna skip Divya, because we went out of order.
Divya:Yup.
Jerod Santo:We'll go to Suz.
Suz Hinton:Okay. I feel like I kind of ran my luck out with Talk Protocol To Me... So we'll save that for maybe a Suz catch-up steal round...
Jerod Santo:Okay.
Suz Hinton:So I'm gonna do CSS Select Star for 200, please.
Jerod Santo:Okay. Select all elements with class=party.
Divya:Oh, my gosh...
Suz Hinton:.party?
Jerod Santo:\[win sound\] .party.
Suz Hinton:I thought that was a trick question. I was like "Oh, my God, I'm gonna get it wrong..." \[laughs\]
Jerod Santo:It's almost too easy...
Divya:I would have been mad if it had been a trick question.
Suz Hinton:It's more that I didn't really think about it, I just kind of blurted it out, so...
Jerod Santo:I will just say that with that answer, it moves you in the first place with 0 points. \[laughter\]
Divya:Very nice.
Emma Bostian:You say that like it's a good thing, but...
Suz Hinton:It's a non-negative number, so it's good.
Jerod Santo:That's right. You're out of the red. Emma, your turn.
Emma Bostian:CSX for --
Jerod Santo:Excuse me?
Emma Bostian:CSX for six--\[laughter\] I'm not even drinking...
Jerod Santo:CSS for 600... Select input elements with no required attribute.
Emma Bostian:With no required attribute...
Jerod Santo:That's correct. How do you select input elements with no required attribute?
Emma Bostian:Okay, so it probably uses the `not` pseudo-selector... Okay, so the \[required::not\]. I don't know...
Jerod Santo:\[fail sound\] No.
Emma Bostian:I don't know...
Jerod Santo:Divya, would you like to steal?
Divya:I'll pass.
Jerod Santo:\[47:56\] Okay. Suz, would you like to steal?
Suz Hinton:I do, but I'll pass, because I'm not 100% confident.
Jerod Santo:There we go. It's <input>:optional.
Suz Hinton:And that would have been wrong.
Emma Bostian:What?!
Jerod Santo:So if you select <input>:optional, it will give you all the inputs that do not have a required attribute... Which is kind of cool. I actually learned that making this. Okay.
Suz Hinton:Hm. I'm learning a lot. I used to be the selector queen, but then in the last five years I've lost my edge... So this is awesome. I'm so happy I'm learning this.
Jerod Santo:Awesome. Happy to hear that. Divya, it's your turn.
Divya:Let's do Document.title for 600.
Jerod Santo:The front page of the internet.
Divya:Oh, my gosh... Is this like "What is Reddit.com?"
Jerod Santo:What is Reddit.com. Very good.
Suz Hinton:I wouldn't have gotten that.
Divya:It's not my front page, but yeah...
Jerod Santo:You see, they write their own titles... So this is like websites according to themselves.
Divya:I mean, I figured... People at Reddit think they are the front page, but... Only for dudes.
Jerod Santo:\[laughs\] Suz, your turn. The front page of internet for dudes... It just doesn't have the same ring to it. \[laughter\]
Suz Hinton:I'm gonna take Obscure Web APIs for 400, please.
Jerod Santo:Okay... This API replaces the now-deprecated WebVR API, to make room for AR2.
Divya:Ohhh... I know this one.
Suz Hinton:Um. Is this a trick question?
Jerod Santo:It depends on how tricky you think it is. I don't think so.
Suz Hinton:Okay, my best answer is "What is WebAR?"
Jerod Santo:\[fail sound\] Incorrect.
Suz Hinton:Ohhh! I know what it is. Dammit. Okay...
Jerod Santo:Emma, your turn for a steal...
Emma Bostian:I'm not gonna steal, I don't know anything about APIs...
Jerod Santo:Okay, Divya for the steal.
Divya:I'll steal. Is it "What is WebXR?"
Suz Hinton:Yes.
Jerod Santo:\[win sound\] Correct.
Suz Hinton:I always forget that A is not the generalizer. It's the X.
Divya:Yeah, it's like "eXtends"...
Jerod Santo:Right. If you put VR and AR together, you have Extended Reality. Some people call it mixed reality, but they used an X instead of an M.
Suz Hinton:Yeah, Mixed Reality is like the Microsoft term.
Jerod Santo:Yeah. So WebVR is old and busted, and WebXR is gonna be replacing it here soon. That is an obscure Web API though. That was Suz's turn, so we're back to Emma.
Emma Bostian:I'm just gonna preface this with - I feel zero confidence about the rest of these, so... This is just gonna be a massive dumpster fire. I guess I'll go with Document.title 200, please.
Jerod Santo:Okay... News and podcasts for developers. \*Smirk\* \*Wink-wink\* \*Nudge-nudge\*. News. And Podcasts. For Developers. \[laughter\]
Divya:Trick question...
Suz Hinton:Divya, no clues.
Divya:I'm not, yeah.
Emma Bostian:I have zero idea, because I don't listen to podcasts.
Jerod Santo:This is like worse than when you didn't know Feross was a maintainer...
Divya:Oh, God... \[laughs\]
Emma Bostian:What is Hacker News? I don't know...
Jerod Santo:\[fail sound\] That is wrong, and we are offended. Divya, would you like to steal, please? Please, steal...
Divya:Yes, I would like to steal... What is The Changelog?
Jerod Santo:\[win sound\] Yay! Changelog.com, where we make news and podcasts for developers... \[laughter\] Okay, I'm not offended... This is Divya's turn...
Emma Bostian:You're gonna fire me, aren't you?
Jerod Santo:No...
Divya:Alright, let's do Obscure Web APIs for 600.
Jerod Santo:Okay... This API gives you visibility into tasks that take 15 milliseconds or more... For you performance nerds out there.
Divya:Oh, gosh... What is -- oh my gosh, I think I know it. Shoot, what is it called...?
Jerod Santo:This API gives you visibility into tasks that take 15 milliseconds or more.
Divya:\[52:02\] It's at the tip of my tongue... Performance thingy... I'm not gonna get -- oh, God... I know it, because I've used it...
Jerod Santo:We'll need an answer soon.
Divya:What is... What is that thing called?!
Jerod Santo:Now or never.
Divya:I'm blanking. You can just pass, yeah.
Jerod Santo:\[fail sound\] Okay. Suz, would you like to steal?
Suz Hinton:No, I don't have the fully-formed name in my head, so I'll pass.
Jerod Santo:Okay. Emma, would you like to steal?
Emma Bostian:Heck no...
Jerod Santo:Okay, so the API that gives you visibility in the tasks that take 15 milliseconds or more is the Long Tasks API. That is a tough one. Okay, that was Divya's turn... So it is now Suz's turn.
Suz Hinton:I'm really bad at the Document.title stuff, because I literally just don't go on sites that the developers go on. I don't go on Hacker News, or I wouldn't even know what the tagline of Hacker News is, for example... So I'm scared of that topic.
Jerod Santo:Okay. Are you scared of Node Drama? You seem to know Node Drama.
Divya:Node Drama...! \[laughs\]
Suz Hinton:I mean, I don't like the topic...
Jerod Santo:But you remember things.
Suz Hinton:Let's do Node Drama for 600. Why don't we just go for it.
Jerod Santo:A second major fork dubbed AYO occurred in 2017 amid controversy surrounding violation of this document.
Suz Hinton:Violation of this document... Was it the Node.js Code of Conduct?
Jerod Santo:\[win sound\] Correct answer. The Code of Conduct.
Suz Hinton:Yeah... I don't wanna think about that either... It makes me mad.
Divya:Yeah, that's the worst.
Suz Hinton:This whole thing just makes me mad.
Jerod Santo:I'm sorry.
Suz Hinton:That's fine.
Jerod Santo:We're not naming any names in this category. Let's go to Emma.
Emma Bostian:Do I have to...?
Jerod Santo:Come on, Emma. You can do it.
Emma Bostian:I want Document.title for 800.
Jerod Santo:Document.title for 800. Discover the world's top designers and creative professionals.
Emma Bostian:Well, the "creative professionals" thing makes me think it's maybe not Dribble, at that point... Or maybe it is...
Jerod Santo:Is that your guess?
Emma Bostian:What is Dribble.com? I don't know...
Jerod Santo:\[win sound\] Yaay!
Emma Bostian:Really?!
Divya:Nice!
Emma Bostian:Oh, thank God. That would have been so embarrassing.
Jerod Santo:That brought you right back into the game. You're tied with Divya at -500. Suz still in the lead at +200. We're getting to the end of this board here. Divya, it's your turn.
Divya:I'll do the last Document.title.
Jerod Santo:For 1,000, the JavaScript organization.
Divya:THE JavaScript organization... Um, "What is the OpenJS Foundation?"
Jerod Santo:\[fail sound\] I'm sorry, I can't count that.
Emma Bostian:It's Jerod's personal portfolio, isn't it? \[laughter\]
Divya:THE JavaScript organization... Okay, well... Hurray, negative many points... So Suz is next.
Suz Hinton:Yeah, I don't wanna steal, because I can see from Divya's answer that it's really easy to mess this one up, because...
Jerod Santo:Yeah.
Suz Hinton:It's technicality-related, so I'm gonna pass. It's too ambiguous.
Jerod Santo:Yeah. Emma, you probably don't wanna steal either...
Emma Bostian:How did you know?
Jerod Santo:Because I think this is hard... \[laughs\] Well, actually, let's stop the stealing and let's put Divya's answer under further review, because...
Suz Hinton:Because I think that Divya was kind of correct...
Jerod Santo:The actual answer we were looking for is Js.org.
Emma Bostian:That's what I would have guessed. Are you kidding me?!
Divya:Yeah, but I feel like OpenJS Foundation is the collective...
Jerod Santo:Well, that's why I was starting to think that maybe she actually got it right... But we're looking for the -- what do you ladies wanna do here?
Emma Bostian:I mean, I'm gonna lose, so I don't really care...
Jerod Santo:Well, we'll just leave you alone, just leave it?
Divya:\[55:55\] Yeah, it's fine.
Jerod Santo:Okay.
Divya:I'm not petty. It's all good. I know in my heart of hearts that the real JavaScript organization --
Suz Hinton:Divya, you were right. You were right. \[laughter\]
Jerod Santo:I mean, we can give her the points back. This is our game.
Divya:I mean, they do organize a conference and they do rally all the community around it. I don't know what js.org does...
Jerod Santo:Do they operate js.org? I think they do.
Divya:I don't know, actually.
Jerod Santo:I'm gonna go ahead and give it to you. I'm gonna give it to you.
Suz Hinton:I'm actually looking at js.org.
Jerod Santo:I think they actually do run js.org.
Suz Hinton:I've literally never seen this website in my entire life.
Divya:Neither have I. \[laughter\]
Jerod Santo:Well, js.org is THE JavaScript Organization. D'oh...
Divya:I mean...
Jerod Santo:You know, it's where people get free subdomains for their things.
Suz Hinton:This was definitely a 1,000 question, for sure.
Jerod Santo:Yeah, yeah.
Divya:Yeah, that's true.
Suz Hinton:I just saw Emma pulled up the website, because it's bright yellow and I can see it in her face... \[laughter\]
Jerod Santo:It's so bright that her face lit up?
Emma Bostian:This is not the website I thought it was gonna be.
Suz Hinton:Yeah, I thought it was gonna be the OpenJS Foundation.
Jerod Santo:I think it's operated by them, and it's free for developers to put their packages as a subdomain. So you could have Divya.js.org.
Emma Bostian:It's probably just a random dude that bought it, and was like "Donate to the JavaScript Foundation, to my personal PayPal."
Jerod Santo:I don't think so, but...
Divya:I have no idea.
Jerod Santo:...we'll give Divya the correct answer there. I think she got it.
Divya:Thank you!
Jerod Santo:And if not, listeners, you can correct us later. Suz, your turn...
Jingle:\[57:19\]
Jerod Santo:Hey, Jerod here. As much as I hate to admit it, Emma was right and I was dead wrong on this one. Js.org was created by Stefan Keim, who dedicated it to JavaScript and its awesome community in 2015. Its purpose is to provide short and sleek subdomains for your GitHub Pages site, and it's completely free thanks to Stefan, Cloudflare, and many other contributors. You can support Stefan's work with js.org on PayPal. I linked it up in the show notes for easy clickings. Sorry about that, Stefan. Okay, back to the game... Suz, your turn. We're getting to the end.
Suz Hinton:Let's do Node Drama for 200.
Jerod Santo:The runtime's original developer is now working on rearranging his letters.
Divya:Oh, gosh...
Jerod Santo:Oh, I lied. We do name names. This is a name.
Suz Hinton:So this is the name of the person, right?
Jerod Santo:Yeah, the original developer.
Suz Hinton:Who is Ryan Dahl?
Jerod Santo:\[win sound\] That's correct.
Suz Hinton:He was Ralph in my head for exactly ten seconds, and I was like "It's not Ralph!" \[laughter\] You know when you're on the spot, my brain is like "It's totally Ralph." I'm like "It's really not... It's not Ralph."
Jerod Santo:That's hilarious!
Divya:I just have to say, this category is very upsetting. \[laughs\]
Emma Bostian:Jerod, I also just wanna tell you that that js.org site has 800 followers on Twitter, and the PayPal goes to a random guy named, so I'm pretty sure that's not legit. Just saying... \[laughs\]
Jerod Santo:We'll have to double-check.
Emma Bostian:I'm glad Divya got the points. Don't send them money...
Jerod Santo:I'm pretty sure js.org is run by the OpenJS Foundation.
Emma Bostian:Really?!
Jerod Santo:I think so.
Emma Bostian:Anyway. I had no idea.
Jerod Santo:Let's go to -- whose turn was that? That was Suz on Node Drama. She got Ryan Dahl correct...
Divya:Yeah, it's Emma now.
Jerod Santo:...she now has 400 points. We are on to Emma.
Emma Bostian:Can I just sit at -500 and let them battle? \[laughter\]
Jerod Santo:You'd probably end up winning.
Divya:Oh, no...!
Emma Bostian:Alright, fine. Fine.
Suz Hinton:You don't give yourself enough credit.
Divya:You got it.
Emma Bostian:I don't know any of this stuff. I don't work with APIs, Node or protocols. I'm not a web developer.
Jerod Santo:You might surprise yourself.
Suz Hinton:I bet you there'll be a 1,000-point question that was easy as pie, because that happened last time.
Divya:Yeah, that's true.
Emma Bostian:Let's do Web APIs for 800.
Jerod Santo:Okay. A set of APIs allowing the manipulation of CSS from JavaScript.
Divya:There you go...
Emma Bostian:Arrgh, I feel like I should know... I should know this.
Divya:A set of APIs...
Emma Bostian:I don't know. I don't use any of this stuff, so I have no idea.
Jerod Santo:Okay. \[fail sound\] Divya for the steal?
Divya:I'm gonna take a crack at this one. I don't even know if it's right... What is CSS-in-JS? I don't even know if that's a set of APIs though.
Jerod Santo:\[fail sound\] Nope. Not what we're looking for.
Divya:Alright, it's not.
Jerod Santo:Suz.
Suz Hinton:I'm gonna take a crack at it. Is it "What is Houdini?"
Jerod Santo:\[fail sound\]
Suz Hinton:Oh...
Divya:Actually, Houdini is a very good guess.
Jerod Santo:That's a good guess. This one bit everybody. This is the CSS Object Model.
Divya:\[01:00:16.10\] Oh, God... Okay.
Jerod Santo:Just like the DOM, but the CSS.
Suz Hinton:I didn't know that was an API.
Divya:I don't know if that was an API... I thought it was just a model.
Suz Hinton:I thought it was a representation of a tree, yeah. Rude. Absolute rude.
Jerod Santo:Well, is the DOM an API?
Divya:Not really.
Suz Hinton:The DOM has an API.
Divya:Yeah, you have an API to interact with the DOM.
Jerod Santo:No.
Divya:It's not directly...
Jerod Santo:A set of APIs. You're gonna argue that the DOM is not a set of APIs?
Suz Hinton:Well, Houdini is a set of APIs.
Divya:Honestly, Houdini is a set of APIs.
Jerod Santo:I liked your answer. I liked Houdini.
Divya:That was a good answer.
Suz Hinton:I appreciate it.
Jerod Santo:I appreciate that answer.
Suz Hinton:I'm actually happy to lose points on the fact that my answer was better. \[laughter\]
Jerod Santo:Alright... That's a win/win. Or a lose/lose. Okay.
Divya:That was a good answer.
Jerod Santo:Divya's turn.
Divya:Alright, let's see, what do we have... Should I do Obscure Web APIs, or -- hell, let's just do Obscure Web APIs for 1,000.
Jerod Santo:Okay.
Divya:Go big.
Jerod Santo:Avoiding Node Drama at all costs... This makes it possible for a server to send new data to a web page at any time by pushing messages to the web page.
Divya:Ah, yes... Why is it every time I know the name, it totally -- I have really bad... Ah, I know this! What is sockets?
Jerod Santo:\[fail sound\] I'm sorry, that's incorrect. Suz, would you like to steal? This makes it possible for a server to send new data to a web page at any time by pushing messages to the web page.
Suz Hinton:Yeah, I don't think it's what Divya is talking about, because that's not obscure. I don't think that web sockets are obscure.
Divya:That's true.
Suz Hinton:I know exactly what this API is, and I think I know the name, but I'm actually gonna pass on it.
Jerod Santo:Oh, wow. Extreme self-control.
Suz Hinton:I just wanna see if I'm right.
Jerod Santo:Okay. Emma, would you like to steal?
Emma Bostian:I definitely don't wanna steal.
Suz Hinton:It's such a simple name... That's why I don't trust it.
Jerod Santo:So the correct answer of the API is called Server Sent Events.
Suz Hinton:Yes... Because here's the thing - Server Sent Events is like one version of it though... It actually has other -- there's another thing that \[unintelligible 01:02:30.17\]
Jerod Santo:There's other ways of accomplishing the same goal.
Suz Hinton:Exactly. So I didn't trust myself to pick the right one. Server Sent Events is the Safari one, right?
Jerod Santo:I think it's more than just Safari, but you could be correct.
Suz Hinton:I thought it \[unintelligible 01:02:44.12\]
Jerod Santo:I've never actually used it; it's so obscure, and there's other ways of doing it, so...
Suz Hinton:Well, it's problematic, because it's multiple -- yeah, anyway...
Jerod Santo:Alright, let's move on... That was Divya's turn. It's Suz's turn.
Suz Hinton:Oh, my God...
Jerod Santo:Node Drama or Talk Protocol To Me. I feel like this is an obvious choice for you, isn't it? Protocols...
Suz Hinton:Well, the two -- I've been performing the best in these two categories... \[laughter\]
Jerod Santo:You are. You're poised to win here.
Suz Hinton:I don't think that's true. I'm not enough in the lead. I've only got 900 on everybody, so... I'm gonna do Talk Protocol To Me for 800.
Jerod Santo:Alright... Ping! This IP protocol was developed by DARPA in 1981, and is still used today.
Suz Hinton:Um, IP protocol... And it's Ping, which is the trick... I feel like this is absolutely a trick question. A hundred percent.
Jerod Santo:You're always attacking my questions.
Emma Bostian:Well, Jerod, we're all in the negatives pretty deeply, so...
Jerod Santo:\[laughs\]
Suz Hinton:\[01:03:55.25\] IP protocol that was developed by DARPA in 1981...
Jerod Santo:I actually thought I made this board easier than the last round, Emma. We need a new question writer.
Suz Hinton:I know what the Ping is bloody hinting at, too... Okay, I know this, but I don't know what the simplified term for it is. As in, I'm over-thinking it.
Jerod Santo:Okay. Do you have a guess?
Suz Hinton:No, I'm gonna say the wrong answer, just because it's the only answer I have, which is \[unintelligible 01:04:23.13\]
Jerod Santo:\[fail sound\]
Suz Hinton:...but that's not -- actually, that was their invention, so it's not actually the protocol.
Jerod Santo:Right. We're looking for the protocol. Emma, do you want to steal this one?
Emma Bostian:No.
Jerod Santo:Divya, would you like to steal?
Divya:I'll steal. What is UDP?
Jerod Santo:\[fail sound\]
Divya:Oh, man...
Jerod Santo:I'm sorry. The correct answer is ICMP. The Internet Control Message Protocol.
Suz Hinton:Oh, yeah. Yeah.
Divya:I guess UDP is still used and is pretty popular.
Jerod Santo:If you're ever pinging another computer or running traceroute, you will be using ICMP.
Suz Hinton:Yeah, I always forget this one. I thought it was actually literally IP.
Jerod Santo:So it's Emma's turn. We have Node Drama for 800 or 1,000, and we have Talk Protocol To Me for 1,000.
Emma Bostian:Well, they both seem terrible, so let's go with the least amount of points, please... Node Drama.
Jerod Santo:After IBM acquired the owner of this popular Node package, it's leading maintainer was forced off the project.
Divya:Ah, yes...!
Emma Bostian:It's sad, because I worked at IBM, and my parents worked at IBM, and my grandparents worked at IBM...
Jerod Santo:Well, I don't think it was their fault.
Emma Bostian:No, but I feel like I should know this... I have no idea.
Jerod Santo:Okay. \[fail sound\] We'll go to Divya for the steal.
Divya:I feel like my guess is wrong, because the name has already been surfaced... And actually it's a popular Node package, so I don't know. I'm just gonna pass.
Jerod Santo:Okay. Suz for the steal?
Suz Hinton:Oh, I'm absolutely gonna hard pass.
Jerod Santo:Really?
Suz Hinton:Yeah, I don't know this one.
Jerod Santo:Okay. So the name of the package, which has actually changed hands multiple times, started by TJ Holowaychuk, and then transferred over to StrongLoop, which was then acquired by IBM, and the maintainer of the project worked for Sencham which was an IBM competitor, the project is Express.js.
Suz Hinton:Never would have guessed.
Jerod Santo:It is a very important project in the Node community, which is why \[unintelligible 01:06:34.20\]
Emma Bostian:That's probably the only one I should have known about...
Jerod Santo:Alright, we have Node Drama for 1,000 and Talk Protocols To Me for 1,000... And Divya, it's your turn.
Divya:Alright, let's do Node Drama. Let's get into it.
Jerod Santo:Let's get into it. Drama is a package that implements this conceptual model for JavaScript and Node.js.
Divya:I have never heard of this package... Drama is a package that implements this conceptual model...
Jerod Santo:Since it's so hard, I will add that Drama is a bit of a play on words... Or a conceptual play.
Divya:Hm... I'm gonna have to pass, because I have no idea what that is.
Jerod Santo:Okay, so -1,000 for Divya. And Suz can steal.
Suz Hinton:I know of the package, but I don't remember exactly what it does... But I know what it's related to, so I'm just gonna pass, because it's not even solid enough for me.
Jerod Santo:Okay. Emma, would you like to steal?
Emma Bostian:I'm passing, because if they both get theirs wrong, I somehow win. \[laughs\]
Suz Hinton:I'm guarding my lead right now, but \[unintelligible 01:07:47.22\]
Emma Bostian:There's Double-Jeopardy...
Suz Hinton:I'm probably gonna stand to lose to Emma.
Jerod Santo:There you go. So Drama is the name of a package that implements the Actor model.
Suz Hinton:Oh, yes...
Emma Bostian:Ha-ha-ha. You're so funny, Jerod.
Jerod Santo:No, I'm not funny. I didn't name the package. The package name is Drama...
Suz Hinton:I didn't know we had the Actor model in JavaScript though. That's awesome.
Jerod Santo:Yeah.
Suz Hinton:That's so good. I wanna play with this now. \[laughs\]
Jerod Santo:There you go. You learn something new every day. So that was Divya's turn. Suz, you're the late one for the board of Double Trouble, Talk Protocol To Me for 1,000. I'd tell you a joke about this protocol, but you may not get it, and that's totally okay.
Suz Hinton:Is this "What is UDP?"
Jerod Santo:\[win sound\] Wow... Divya was off by one.
Divya:I was off by one, yeah.
Suz Hinton:Yeah... I really felt for you then, Divya. I was like "No, \[unintelligible 01:08:36.07\]"
Divya:\[laughs\] All good.
Jerod Santo:Okay, at the end of Double Trouble we have Emma with -2,100, Divya with -3,100 - try not to laugh, Jerod - Suz in first place with -200.
Suz Hinton:First place in the negative... \[laughs\]
Jerod Santo:We'll be right back for Final Trouble. It's gonna get dangerous!
Break:\[01:08:57.29\]
Jerod Santo:And we are back for Final Trouble, wherein each contestant bids how much they think they can score before they answer. The category, ladies, is "This prolific JS Party panelist has appeared on 67 of our 129 episodes." Please send me how much points you're willing to wager. Wait, I screwed that up. I didn't give the category.
Emma Bostian:Yeah, you did. You gave us the question. \[laughter\]
Jerod Santo:I gave you the question. Son of a gun!
Divya:Yeah. \[laughs\]
Suz Hinton:I mean, I wasn't gonna say anything...
Jerod Santo:Well, you guys just sent me your bids, but now you've gotta send me your answers. Just send me both...
Suz Hinton:Okay.
Emma Bostian:Alright.
Jerod Santo:...and we'll come back and answer it. Oh, gosh...
Jingle:\[01:10:33.27\]
Jerod Santo:Okay, the bids and the answers are in. Let's start with Suz. Suz, you wagered 200 points, and your answer of the prolific JS Party panelist is the one and only Kball, and that is correct. \[win sound\] So Suz has zero. A valiant effort. Very good. A very good round for your first time. Let's go to Divya. Divya wagered 500 and she also answered Kball, so she got that correct. We'll give her 500 points. \[win sound\] And you end up with -2,600.
Jerod Santo:That leaves us with Emma, who also answered correctly, Kball, and she wagered 300,000 or 3,000,000.
Emma Bostian:It was 3,000,000. \[laughter\]
Jerod Santo:It was 3,000,000. So with that amazing bid, Emma wins this round of JS Danger.
Suz Hinton:She buried us.
Divya:Oh, that is smart...
Suz Hinton:I never would have gone that high, so \[unintelligible 01:11:29.00\]
Divya:I know, neither... Yeah, I was trying to be modest.
Jerod Santo:So displaying her savvy for gaming and her desire, Emma Bostian totally redeems herself. You are the winner of JS Danger HalfStack Edition. Congratulations.
Emma Bostian:Oh, gosh... Thank you. I've been waiting my whole life for this.
Jerod Santo:And that's our show. If you think this was a ridiculous game, you are correct. This game is ridiculous every single time we play it. We have lots of fun. We hope that you enjoyed it... And that's our show for this time. We'll catch you all next time. Say goodbye, everyone.
Emma Bostian:Byeee!
Suz Hinton:See you next time.
Divya:See ya!
