Keep Ruby Weird 2018

Game Show

Game Show

by Godfrey Chan, Yukihiro "Matz" Matsumoto, Kylie Stradley, and Matthew Draper

The video titled "Game Show" features a light-hearted and engaging quiz format that explores the knowledge of prominent figures in the Ruby programming community, including the creator of Ruby, Yukihiro 'Matz' Matsumoto, Kylie Stradley, and Matthew Draper, hosted by Godfrey Chan at the Keep Ruby Weird 2018 event.

The main theme revolves around testing the Ruby celebrities' knowledge through various rounds of trivia and interactive segments, with a focus on Ruby programming, its history, and the community's wishes for future versions.

Key Points Discussed in the Video:

  • Introduction of Guests: The celebrities were introduced with a humorous introduction, setting a fun tone.
  • Small Talk Round: A quick-fire segment where celebrities answered simple questions about themselves, highlighting the audience's entertainment.
  • Trivia Questions: They tackled several rounds of general knowledge questions about Ruby, including details of Ruby's release dates and relevant gem functionalities, such as the function of the "Vacation" gem.
    • For instance, the trivia included asking which blockbuster movie was released on Christmas Day, testing their pop culture knowledge.
  • Survey Round: This round involved the celebrities guessing the top features that Ruby developers wanted to see in Ruby 3.0, based on a survey of 100 Ruby developers.
    • They discussed various features including JIT compiler, stability, frozen strings by default, concurrency, and developer tooling as potential desired improvements.
  • Loop of Fortune: The final segment resembled the classic game show format, where participants guessed letters and solved a Ruby code-related phrase to earn points, culminating in a discussion about Ruby on Rails features.

The video is both entertaining and educational, offering insights into the Ruby language while providing a thrilling quiz experience for the audience.

Main Takeaways:

  • Engagement with the Ruby Community: The format of the quiz fosters a sense of community and engagement among Ruby enthusiasts, highlighting the camaraderie within the programming sphere.
  • Highlighting Ruby Features: The discussions around future feature requests underscore the ongoing development and improvements desired by the Ruby community, reflecting their collective aspirations.
  • Fun Learning Experience: Overall, the game show format successfully combines fun with learning, making technical discussions accessible and enjoyable for viewers, celebrating Ruby and its vibrant community.
00:00:12.200 It's time to play! Through these celebrities, what do they know? Do they know things? That's fine.
00:00:29.630 Thank you! What a great crowd! We don't get this kind of proud Institute every day. This is amazing!
00:00:36.739 So, what a wonderful day out here in Austin, Texas! Today, we're here to answer the age-old question: Ruby celebrities, what do they know?
00:00:50.450 Our next celebrity is the internet spider, Kylie Stradley.
00:00:57.540 Next, we have Matthew Draper, who came from Australia, so everything is upside down for him. He also occasionally works on Rails!
00:01:09.130 Well, hi everyone! Thank you for joining us today. Unfortunately, we don't have time for idle chit-chat because we have entered the small talk round.
00:01:16.110 Now, unless you're a Smalltalk nerd, you might not know this, but Smalltalk, as we saw in this morning's keynote, is one of the earliest object-oriented languages and inspired many languages that came after it, including Ruby.
00:01:26.270 That's why we have this Smalltalk round here. So, shall we get started? You know the rules: six seconds on the clock! Matz, how are you doing?
00:01:41.360 Wake up, Matz! When did you get in last night? Last night? Yes, that's a great answer!
00:01:50.450 Did you fly all the way here from Japan? Yes.
00:01:56.210 So, is this your first time in Austin? No! 10 points!
00:02:04.270 Sorry Matz, it says here that you love... well, that's it for the small talk round! Audience, give a big round of applause for our celebrities!
00:02:12.650 Thank you, Matz! You did a great job. Three celebrities, if I'm counting correctly! For now, let's take a break.
00:02:20.870 After the break, we'll answer the age-old question: Ruby celebrities, what do they know? Do they know things?
00:02:33.480 As you know, the Ruby core team has a tradition of releasing the next version of Ruby on Christmas Day, December 25th. Do you also know which of the following blockbuster movies was released in the United States on Christmas Day, December 25th? Was it A: Home Alone, B: The Nightmare Before Christmas, C: Catch Me If You Can, or D: Solo: A Star Wars Story?
00:02:47.550 So now, let's start with you, Matz. What do you think? Have you seen any of these movies? Yeah? Which one is your favorite? Oh, Home Alone! Do you think it came out on Christmas Day? Catch Me If You Can? Okay. Let's put down the boards now. Kylie, what do you think? Do you think it's Catch Me If You Can?
00:03:20.270 Obviously, I certainly was too young to have watched any of these movies except the last one, because I remember watching Solo. I like you, Godfrey. I'm also too young, so I've only seen the Solo movie. The Solo movie came out this year, right? Yes? That's kind of small. So I guess your choices are limited to the two movies that you haven't seen or Catch Me If You Can.
00:03:40.170 I've regretted this before, but on this one, I trust Matt. Okay, well, let's hear it from Matthew. Also, do you like movies? I do! Yeah, if I put my head upside down, then I think I've seen Solo. Because I'm too old, I think it came out on Christmas.
00:04:00.000 Okay, so now celebrities, I need you to work as a team and come up with a final answer for me. You're two-to-one on Catch Me If You Can right now, but you have, let's say, ten seconds to change your mind.
00:04:27.950 That was ten seconds. What is your final answer, celebrities? I'm going to defer to Matt. Okay, well, Matt, what is it going to be? No idea? It was unfortunately not one of these, but it might be an answer for a future question. Go for now: A, B, C, or D? C! Okay, C: Catch Me If You Can! That's your final answer. Let's see. Your next question is going to be from the ecosystem category.
00:05:41.000 As Ruby users, we certainly have a lot of gems to choose from, right? Like, we have a fantastic culture of sharing and reusing code. So whatever you need to do, there's probably a gem out there for it. And if there isn't one, you should probably write one and publish it to RubyGems. Now, with so many gems available to us, there are always new gems to be discovered. Released in 2011, what does the Vacation gem promise to do? Is it A: Deploy compiled and deploy a Jekyll site, B: Make it easier for you to write CLI (command line interface) tools, C: Parses output from your test harnesses, or D: Forces your server to take an annual vacation for two weeks?
00:06:16.210 Kylie, what do you think? Have you used this gem before? No? Okay, yeah, that's probably before your time, right? 2011? Sure. Sorry, B? Why not B? Okay, let's put it on the screen. So, Matthew, what do you think? I like B too. Yeah, you like B?
00:06:56.270 We tried to find a pretty obscure gem so you wouldn't know the answer. Otherwise, what's the point? Matt, which of these do you think it's going to be? Do you think C was out in 2011? Oh, C was definitely there in 2011!
00:07:06.360 Yeah, I have a really good memory about that. I pick C! I think C! You picked C! Okay, so again, we have a split between B and C. So, celebrities, you have ten seconds to come up with a final answer.
00:08:17.840 We pick B! Okay, you picked B! Let's see... well, it turns out S3 was a thing in 2011! I believe the gem's description states that the point of the gem is you can deploy your site to S3 and then you can take a vacation! Yeah, that's the Vacation gem.
00:08:29.090 Does anyone have a favorite? No? No Rails? Well, fair enough!
00:08:42.300 So, with two questions down, we have picked the categories: Slot Machine and we pick your final category. This time, it is going to be the Standard Library.
00:09:02.090 As you know, Ruby ships with a vast standard library, making it super easy to accomplish basically any everyday task, right?
00:09:12.780 However, even then, there are still things that you can't do with Ruby out of the box. From the standard library, which of the following components does not come standard with the Ruby standard library?
00:09:24.140 Was it A: A prime number generator, B: A module for reading and writing ZIP files, C: A class for parsing and generating RSS feeds for the iTunes format, or D: A web server? We will start with Matthew this time.
00:09:45.140 At first glance, I think they all roll in the standard library. Do you use iTunes? Because I don't, and I don't really know! When was iTunes just written on here? Okay, so you think they all do? I'll go with B.
00:10:02.990 Let's early? What do you think? I mean, there's a lot I don't understand about Ruby, but I really wouldn't understand why working with iTunes RSS feeds would be in the standard library. This could be my own shortcoming, but that's my guess for that. Let's ask Matz.
00:10:27.490 Matz, as in? Yeah, I know the end. I see. Okay, so before we finalize an answer, what's up with Ruby and iTunes RSS feed? It's an application of that, yeah, standard RSS XML. I see! So there's the standard for the iTunes flavor of RSS for podcasts. Ruby being Ruby has everything that you would possibly need. Even out of the box has a class for parsing and generating items RSS piece.
00:10:56.420 So now you know, if you're publishing a podcast or anything, just go to the Ruby standard library. So it sounds like you're pretty confident about B, right? Is everyone happy with that? Reading and writing ZIP files? Yeah?
00:11:10.750 Alright, that sounds like confidence to me! The correct answer is C! The Ruby standard library does come with a class for reading and writing GZIP files, but not ZIP files. They both use the deflate algorithm or at least have slightly different packaging around them. Ruby only supports GZIP out of the box; but no problem, as we said, there's always a gem for it! So if you need it, you can just install a gem!
00:11:54.610 That was a great round! Let's take another break. When we come back from the commercials, welcome back to the Show! Now we finally answer the joke question: Ruby celebrities, what do they know? Do they know things?
00:12:29.480 Alright celebrities, it's time for the survey round! For this round, we have surveyed 100 Ruby developers and we asked them, 'What is the number one feature they want to see in Ruby 3.0?' We've tallied the answers and we have the top eight answers on the board. So here are the most wanted Ruby 3 features in the non-scientific poll! I'm excited about this one!
00:12:57.830 So the rules are very simple: You basically have to guess one of the top answers that put on the board, and if you're right, it will show up. If you get it wrong three times between the team, then you unfortunately lose this round. Are we good to go? Yeah? Alright, let's start with Matz! Matz, what do you think is one of the most wanted Ruby 3 features?
00:13:43.310 A JIT compiler! Okay, let's see! Great answer! Great answer for performance! So we grouped a few things together: Performance and speed! There were also answers that just simply suggested JVM.
00:13:57.290 Okay, so that was a great answer! Thank you, Matz! Let's move on to you, Kylie! Now, before you have to say that your personal most wanted Ruby 3 feature, it's just a lot of pressure!
00:14:12.000 And that was great work! Out of the hospital votes, twenty-something of them were blank and I took the liberty to interpret that as meaning they don't want anything in Ruby 3.0 because it would be so great!
00:14:23.840 So they want stability, as discussed this morning. So, stability! Pretty votes! Now, Matthew, what would be your guess for a Ruby 3 feature?
00:14:41.070 Frozen strings by default! Is it on there? There we go! We have immutable data structures! So, some of the answers are immutable strings, but I think one of the categories was titled moans!
00:15:00.550 Okay, so back to you, Matz! Do you want to take another guess? Your guess is probably as good as mine, but my guess is concurrency! Let's see!
00:15:14.270 There we go! Nine votes for concurrency! Great answer! Now, I think for concurrency, we have a bundle of answers; we grouped in here, including async IO, async await, and also one entry was idle—an option to disable the global interpreter lock.
00:15:32.210 Okay, so let's move on to Kylie! Do you have a guess? This crowd might want from—actually, it's not just this crowd because I traveled all the way to Russia to collect early election results for this one, um and so half of like maybe 20 of the answers were from conferences in Russia.
00:15:55.340 Do you have any guesses, or would you like to pass? Strict typing! Let's see! Yes! You're correct! Yeah, collecting votes or ice includes, I believe, everything from soft typing and everything in between!
00:16:17.220 Alright, celebrities, you're doing great so far! Yeah, let's keep going! Matthew, what snake is going to get harder from here? Rails in the standard library?
00:16:31.200 Yeah, however, I believe I do have one entry! So you have to have at least two entries to go on the board—that's the rules—but I believe I have one entry here that says Active Records!
00:16:41.030 Okay, so back to Matz! Do you have another guess? Tumblr as a part of Bundler! Let's see!
00:16:58.000 Yes! Developer tooling! So this is a pretty broad one, so that includes Bundler. Also, a lot of people want a standard for matter similar to Go fmt or Rust fmt! Someone said compilers, and what's a try? Someone said better AST introspections!
00:17:15.850 And one gentleman over there said, 'Let's see, macros!' Whatever that means! And also someone said better tote organization! My favorite one is better errors.
00:17:29.320 I don't think they mean the gem better errors, but I think some newer language has error codes or links in the error message that you can click through to the documentation for those errors.
00:17:50.350 So, when a beginner sees an error, instead of telling them, 'Define method foo on new class,' they would say, 'Oh, this is probably what you're trying to do, and here's more information!' I thought that was pretty quick. Maybe you think about it, no pressure, though!
00:18:10.000 It's only, you know, it's only 11% extrapolated from the Ruby user base. So we have two items on the board. This is going to be incredibly difficult!
00:18:25.900 Kylie, do you have any ideas at this point? You can probably work together as a team. If any of you have any ideas to help, it's down to the last two mystery items.
00:18:39.180 They're supposed to be like an actual Ruby celebrity, and then I was like, here's the thing: we surveyed 100 Ruby celebrities!
00:18:55.920 So that's a 30% response rate—30% of you said no idea, which is obviously a different category from 'blank.' Wow, why are you working on it, as a team? I can tell you some of the answers that are pretty popular but barely made it on the board.
00:19:14.360 So, there are a couple of them that I grouped in the category called regrets! So more appropriately, fixing some of the regrets. I think one of the answers is 'strict mode' in Ruby where we disallow some of the unexpected things like allowing you to reassign constants.
00:19:34.300 Something like that. I believe that's probably inspired by JavaScript, and I personally like that one also! But speaking of regrets, there's also an answer called 'bucket' in this category called free tacos!
00:19:50.500 I believe also there was another one that was 'it's too hard to come up with something this early in the morning,' which I think is probably also part of the regret category.
00:20:10.280 Okay, celebrities, we are down to the last two answers! It might be...
00:20:26.560 ... okay! That was the last one!
00:20:36.920 Yeah, the last two are pretty broad categories! So if you just take a shot in the dark, it could be just landing on something related. What about Matz and Matthew? Do you have any personal favorites that you think you would love to see but might not be on the board?
00:21:57.000 Becky? What about that? Our current arguments? Let's see! Neos in taxes! So that was a pretty broad one that included, I think some people wanted pattern matching, dotted operator, hash literal syntax.
00:22:14.530 I think the idea is, if you have a variable called food and if you say curly braces food, it should mean calling in two races. Like it, I think that's called an object literal syntax in JavaScript. That's probably why it came from!
00:22:38.870 There was also one that was titled 'first-class functions.' I figured that was mostly syntactic things since we have pretty good—so whoever wants to take the last one or I can give it away as freedom!
00:23:00.270 No one? What about the audience? What do you think? You've participated in this before! Just once, you all should shout out your answers together! One! Two! Three! Go!
00:23:19.240 That was it for the survey round, and now we finally game off tonight! This one is going to be more fun! This is going to be the loop of fortune!
00:23:46.750 So the idea is that you would go like in turns, so it's like a loop! Great! So we have picked a piece of Ruby code snippets from somewhere on the interwebs, and we have turned it into a board for you. Today, your category is Ruby on Rails!
00:24:00.090 So this is your board now! Matz, I heard you're not a Rails user, right? No? You don't use Rails. Are you confident about this? No? Okay, well, we're gonna go with it anyway!
00:24:21.200 This time, it's going to be easier because all you have to do is pick one of the consonants! So there are—who knows? We'll edit that part out, but you can guess a letter! But you can also guess a number—so 0 to 9—or you can buy a vowel! Or you can also buy a symbol! So if you want to buy a ':', you know, and we take cash or credit cards! So have your preferred payments in case you want to buy some vowels!
00:25:16.380 So I'm gonna go with D! I see what you did there at the end! So you might be right about that. Matthew, what do you think? I'm gonna follow a similar strategy and say 'F!'
00:25:32.800 Let's see! Okay, we have three of them! That was pretty good. Now we have I don't know, like a third of the board! What are you thinking? You're on the Rails core team, right? Yeah, um, well, that looks like a method definition!
00:26:05.530 Looks like a method definition! That's pretty good! Yes! Why don't we go back to Kylie? Kylie, you can pick a letter!
00:26:25.000 Let's go for 'N!' Okay, let's see 'N!' Is it gonna be 'N' or is it gonna be 'M?' It could be either, right? It could be!
00:26:38.640 Matthew, do you want to spend some money to buy a vowel to figure out which one it is? Like, do you know if it's gonna be 'N' or 'M?' That's the controversy right here! If you want, I can cut you a deal: $250 for a 'Y!'
00:26:52.300 It's too easy! So I go 'Y!' Yes, haha, we have three 'S's on the board! I hope that's helpful! So back to you, Kylie! Now, what could it be?
00:27:13.210 What English word ends with two 'S's? Any guesses? Grass! Grass is a pretty good guess! So maybe 'G!' Let's just try 'C!'
00:27:27.180 Okay, let's see! Hey, we have one 'C!' Okay, so back to you, Matthew. What is it gonna be?
00:27:41.680 Yeah, you're gonna—so I guess it can't be grass anymore, but it could be, umm... Cross? Yeah, it could be 'CROSS!'
00:27:54.230 So if you want to guess at all, it's $49.99 use price, is that Australian? No? Never mind.
00:28:14.700 I think I'll go with a 'no.' Well, okay! Let's see an 'L!' Okay, we have two 'L's! So at this point, we're back to Kylie! Looks like we didn't make much progress on the top right there! Maybe it's just a like 'CL' something 'SS' and then a now?
00:28:30.900 If you want to guess a vowel—oh! But it's your guess, so whatever you want! Even, here's the thing: I guess I can't really give away the vowel because it's in two days, but how's that?
00:28:46.120 You can either buy a consonant or I can give you a symbol for free if you have a symbol in mind!
00:29:07.480 What about 'T?' Let's see! So we have two 'T's over there! So what could that be?
00:29:20.360 So that’s—that’s probably a word, right? I guess they're all words, it's not a word!
00:29:34.560 So now, Matz, my offer is still good! I see some patterns—wow, I guess I would not take it!
00:29:54.950 We have one 'A.' Wow, we have two 'A's! So, so what is it gonna be? Kylie, what's your guess? They really want you to go for 'A!'
00:30:09.530 Art! Sorry!
00:30:29.730 Alright, let's see! Okay, we have re 'R's that was a thousand, so that’s like probably something to do with pirates!
00:30:43.750 So Matthew, it's back to you! Remember, you can always solve the puzzle if you know it, Kylie! I'm gonna take a guess and say—wow, 'A!' Okay! Let's see! One! Wow, that was a complete shot in the dark!
00:31:05.520 We have '41' on the board! What is it gonna be? So kindly, Austin or at this point, it doesn't matter anymore, nothing matters anymore!
00:31:19.940 A consonant? No! It's simple! Up to you!
00:31:36.840 What's an 'O?' Okay, the rule of thumb! We have two 'O's on board!
00:31:52.450 So back to Matz! I think we're getting close! The most frequent letter in English is 'E!'
00:32:07.170 Okay! So we have class or def! 42? And then so last two 'N's! What is it gonna be?
00:32:27.100 If anyone is gonna solve it or are we gonna pick it in a letter or speed—Kylie, it's your call!
00:32:43.420 It looks like Matthew is gonna solve the puzzle! I love it! It’s 'class' or 'def' or '42' or 'self' or 'square' bracket '42' or 'square' bracket 'end!'
00:32:56.930 Let's see! This is a method! We picked up from the Rails source code, as you can see! It’s a monkey patch for the array class!
00:33:11.800 It's a convenience method for accessing the forty-second element in an array! I believe the story is that one day DHH started adding a few accessory methods on the array like second, third, second!
00:33:26.300 And then someone was really pissed off about that! What? We're gonna have '42?!' And DHH was like, 'Okay, you're gonna have '42!' It's in the Rails!
00:33:39.100 So you think this feature is gonna make it into Ruby at some point? No? Okay, everyone please give a big round of applause either somebody say there's a great job today!
00:34:06.500 We answered the age-old question: Ruby celebrities: do they know? Thanks, audience! What do you think? Thank you very much! See you next time!