 Welwg. Y次 y haf fawr yn gennym bod yn deall pwy moc cyflaesion. Mae'r rhan ni yn gweithio ffarnw mikau rhai ar y gamin autyn ni ond y ffordd ar y dyfodol. Dwi'n rhaid i ni'n eitio sicrhau hyn, RubyConf. Rwy'n dweud i ni'n ymddangos i fynd i gwirio' i'r gwaith. Welwg. Dwi'n rhaid i ni'n ymddangos i RubyConf. Rhaid i ni. I'r mae angaf Andrew Faraday, a roeddech chi'n fawr hwnnw i ddim i gael y llan iawn texturea i chi i ddim. I'm not sure which is which. I am from a dim and distant place called England and in England we have these things called panel games. Now this is, it's kind of like a game show but unlike game shows it's not about a problem being solved or a question being answered. In panel games we play with language and with ideas and the way that the panellists use these things. The one we're about to play is called Just a Minute and each round of it I'm going to select one of the panel and give them a ruby related topic and they'll be asked to speak about it for one minute which should be easy for seasoned speakers such as these. However there are things they must not do. They must avoid hesitation, repetition and deviation which makes it hard to finish a sentence in the English language without doing one of those things. So for that reason it is a terrifying and very difficult game so I would like you all to show all the encouragement you can to this panel. If you believe somebody has done well by all means put your hands together, raise your voice, let them know. The game involves challenges where the panellists challenge each other based on whether they think the rules have been broken. And they're a bit subjective so if you think a challenge is harsh by all means let us know that as well. Okay there's one more third piece of audience interaction that I'll be asking for and this is by far the most important. The show starts on all occasions with the same declaration of welcome to the show and then some piano music the same theme. So when that piano music kicks in I want you all to kindly put your hands together and raise the roof because that is how we know the game is on. Are we ready RubyConf? Welcome to just a minute. That's right good afternoon and welcome to a very special just a Ruby minute here in San Antonio, Texas for RubyConf 2015. My name is Andrew Faraday and I'm going to be serving up a slice of British culture in the form of the game we call just a minute. In each round of this game I'm going to select one of these witty, insightful and of course terrified individuals currently arrayed around me and giving them a Ruby related topic. They will then attempt to speak about it for 60 seconds which should be easy but the other panellists will be listening intently ready to interrupt and steal the topic from them. If they detect any hint of hesitation including long pauses or hedging noises, repetition of words other than the title that panellist has used in this round or deviation where they are simply no longer talking about the topic they have been provided. If they detect these rules being broken they can challenge by pressing their buzzers somebody buzz for me. Right you'll notice the timer has stopped and one of our panellists has turned green. I will ascertain the nature of their challenge and if it's correct they'll gain a point and then they will take the topic and the timer and be allowed to speak until the minute has elapsed or they're in turn challenged. If the challenge is incorrect then I'll give a point to the original speaker and give it back to them. Whoever is speaking at the end of any minute, which sounds a little bit like, wait a second, two seconds, we're getting a point for speaking at the end of that round, which means that's the rules. All very simple, let's meet the panel. Okay on my far left we have a developer at fun and plausible solutions, a member of the aspect core team who has been on the show once before so a Ruby Jam veteran. Please welcome Sam Phippen. Also on my left we have got a member of both the Ruby and Rails core teams. We're currently working at Red Hat and the founder of the Friday hug we all enjoy so much. Please welcome Aaron Patterson. To my right is a developer at fun and plausible. No, sorry Kinsey. Ghost spot check. A huge part of Cubmo and Bridge Foundry also on her second just a Ruby minute so a veteran of the game. Please welcome Kinsey Ann Durham. Last up we have a designer and Rails developer working from Brighton England, the organizer of the Brighton Ruby conference where this event first found its voice. Father of twins, the terminally exhausted Andy Crowell. Let's crack right on. Sam, you were first up to speak. Your topic is my first application. Now I said you can repeat the topic title. This is Tech Jam. So you can also use short forms of the title. You may also say app as much as you please. You ready Sam? But loads of people waiting to hear you speak. It's going to be awesome. Let's see what happens. OK, you have 60 seconds starting now. My first application wasn't actually a Ruby on Rails application. Andy. No, that was a mistake. I was excited. To be clear on the rules application is part of the title. Exactly, and as I pressed the button I realised that. OK, I'm going to let you off that one. Oh really? It's just very exciting. It is very exciting. And terrifying. Sam, I'm going to let you carry on there with 55 seconds starting now. So I had this PHP app I was working on, and it was something of a trainwreck. The best part was the app. Kinsey. Hesitation. Yes, there was definite hesitation there. Harsh. Kinsey, I'm giving you a point. You're the only one that thinks so. And yet. OK, Kinsey, you have 46 seconds starting now. My first application that I built was a dog park finder. I am obsessed with Harley. I have a tattoo with her paw prints. She is awesome. She is my best friend. Sam. Repetition of she. Isn't that a particle though? Did I say it more than twice? You said she is twice, which is very similar. I'm giving that to Sam. OK, 30 seconds, you're back with Sam Pippen for 30 seconds starting now. I think a lot of developers, when they get started on their first application, can feel a sense of abject terror. The responsibility of writing code that is going to eventually face a customer can be very, very daunting. Yes. Kinsey. I did that in the practice as well. Yes. Such hyperbole. Kinsey, your challenge? Yeah, repetition of very. Repetition of very. OK, so it's back with you for 15 seconds on my first application starting now. My first application that I built. Repetition of built, isn't it? Yes, repetition of built from earlier on. I was almost exactly the first sentence you said before. OK. Andy, you have 12 seconds starting now. The first application that I built was a PHP app about dog... No, I disagree. He spoke through the laughter. He went through the laughter. He didn't pause for applause. He spoke straight through it. Andy, I'm giving you the point for the challenge and 8 seconds starting now. My first application on Ruby on Rails was a masterpiece in unprepared mess and... That was hesitation. Oh. Andy Croll, currently in the lead after round one. Yes, it was hesitation, but nobody buzzed in time. OK, on your first up to speak next. Oh, no. Awesome, your topic is my favourite text editor. My favourite text editor, Aaron Patterson, 60 seconds starting now. My favourite text editor is not text mate or Emacs or Vim or Ed. Sam. Repetition of all. Yet there was three oars there. If you had not said all, that would have been amazing, by the way. OK, Sam, you have 51 seconds on my favourite text editor starting now. Vim for life. Say it to the mic. Hesitation, sorry. Hesitation, yes. OK, Kinsey, you have 49 seconds starting now. I also like Vim right now. I'm using a text editor called RubyMine, and the debugger is shipped. But, you know, it's still a great product at times, and I can easily... Sam. Repetition of and. There was a lot of ands there. Oh, that's harsh. I could get some booze on that. Booze! I did say let him know. They started booing me after three rounds last time as well. It's great. It's about the... However, it was correct. It was harsh. I'm giving that to Sam. So 31 seconds starting now. In all seriousness, I think it's acceptable to use different text editors depending on the language, framework, or system that you're working in. It's often the case that sometimes you want an IDE, sometimes you want... Repetition of sometimes. Sometimes, correct. I'm passing against the point. So that is 18 seconds back with you, Aaron, on my favourite text editor. Starting now. My favourite text editor is the text editor that I like to use every single day, including weekdays. Sometimes I use it on weekends, but that's when I'm just coding for fun. I think that using a text editor is an important part of it. OK, that's the end of round two, and it is anybody's game. Currently we have a three-way tie with three, and Aaron claslin with two. Kinsey, you're up next to speak. We've got a technical topic, concurrency for you. One minute on concurrency starting now. I wish I knew more about concurrency, so I could talk about it intelligently while I'm up here in front of tons of people. This is a little embarrassing, but not really, because I can just talk about something related to concurrency, but not have to technically explain it. I might know more about it if I had a background in computer science or went to a coding school. I'm sure they teach that there. There are two coding schools in Denver. I'm going to call Hesitation. That was very elongated. However, that was 32 seconds knowing nothing about the subject. That was amazing, however, Sam does get the point, and 28 seconds starting now. I know a little bit about concurrency, but inevitably when one is building a program which is concurrent, it ends up being an unending fucking nightmare. This is typically because concurrent programs are... Repetition of programs. Yes, repetition of programs. So Kinsey, it's back with you. 11 seconds starting now. I think that we should be teaching more people... Andy. Repetition of teaching. I didn't say that. Did anyone hear teaching earlier? No. That was an incorrect challenge. Kinsey gets a point, and those six seconds back starting now. As I was saying, before I was rudely interrupted... Kinsey was winning at this point in Brighton as well. This time she knows the game. Don't jinx it, don't jinx it. Kinsey is an absolute sniper. Leading on six, and Andy, you're up next to speak. Your subject is Hello Ruby. Hello Ruby Andy Croll starting now. By Linda, which was dark in its name. Yes. Yes. Kinsey, you have 55 seconds starting now. When I see the word Hello Ruby on the screen, I'm not really sure what it means. So I'm thinking about a song called Hello Dolly, which is by the great Dolly... Andy. Well, that's deviation, isn't it? That is deviation. You were talking about Hello Dolly and not Hello Ruby. What's Hello Ruby? I don't even know. I would say Hello Kitty. I wasn't about the Hello Kitty path. I think Andy's going to tell us. He knows. Andy Croll, you have 45 seconds starting now. The trouble with a subject such as Hello Ruby is that it's difficult to know where to go with it. There is a children's book that was kickstarted in the recent past, and I am probably going to run out of words if I don't keep talking out loud like this. That's got to be deviation as well. Yes. Hesitation deviation. Pretty much everything. Sam, you have 29 seconds starting now. I've just learned that Hello Ruby is a book written by Linda Lucas. The thing that's interesting about that is I actually met Linda at the Frozen Rails Conference in Finland the one time that I went. The conference was super interesting, and someone's just called me on repetition of conference. Andy Croll, you have it back. 14 seconds starting now. As a father of twins, I look forward to the day when I'm able to pass them a copy of Hello Ruby, two of which I bought during the campaign when she was funding into... Oh. Hesitation. Yes. Hesitation. So, Aron, you've got in with two seconds on Hello Ruby starting now. Hello Ruby is a book. Excellent. That was round four. Currently, Kinsey's in the lead. Aron's only just behind. OK, Sam, you're up next to speak. My project is legacy code. Legacy code, 60 seconds starting now. I help make R-spec. R-spec is a really... Andy. I believe that was repetition of R-spec. It was! Yeah, fair enough. OK, Andy Croll, you have 55 seconds on legacy code starting now. It has been said that as soon as you write code, it becomes legacy code. The times that you spend not writing legacy code are few and far between. It's very difficult to think about any code that I've written that doesn't somehow end up as legacy. Repetition of written. Was there written earlier? I... Right and written. I think he's good. Andy, you have it back. 38 seconds. Wait, what? Right and written are two different words. OK. It's the same word, it's just different. They have different letters and they sound different. Ow, it's hard. Just explaining the rules. This might be the American-English language barrier. So, Andy, you have it back. Hi, Texas. 38 seconds starting now. My first app was a PHP app about... Sam, repetition of app. Repetition of app, of course. What? It could have been leading to legacy code. A code that was written some time ago. However, Sam got there first. So, you have 34 seconds starting now. I like to describe myself as a machine for generating legacy code. I'm a consultant and most of the work I do is basically just screwing everything up and getting a paycheck. It's great. So, yeah, if you're into... Andy. That's hesitation. Oh, I disagree. Yeah, it was definitely a bridging word. Filling that space. I'm going to give you that one. They're not sure in the room. Andy, you have 19 seconds starting now. Just as when you're on a panel game, it's easy to make enemies with the people listening to you. It is easy also to make... Sam. Repetition of easy, yes. And make, and I was also about to say enemies, so... Fair enough, so Sam, you have 12 seconds starting now. There are many definitions of legacy code and also code smells. There's a book by, I think it's Martin Fowler who explains how to detect code smells. Oh! Oh! Nobody buzzed, but yes, he did. He didn't repeat his smells. Check me out. OK, we're going to have a tie in the lead between Sam and Andy, our British contingent on the show. Aaron, you're next. And your topic is duck typing. Duck typing Aaron Patterson starting now. So I think that duck typing is a very interesting technique for ducks to use when they are typing at a computer because ducks also like to produce legacy code. Oh, Sam. Repetition of ducks, which is not in the title. Yes! Not like you. However, it was correct. The topic is duck and you repeated ducks. Technically correct. Technically. Technically correct is the best kind of correct. Can I repeat duck typings? You couldn't have repeated typings either. OK, so Sam, you have 50 seconds on duck typing starting now. Duck typing is a way of building a type system for applications such that when you pass objects around them, they respond to different method calls. This allows you to infer different behaviours. Aaron, repetition of different. OK, so Aaron, you have the topic back for 34 seconds starting now. As I was saying, duck typing is when a duck typing... and you get some legacy code out of the duck typing. That we see them doing a terminal. Oh, I was going to say hesitation. It was hesitation. I don't know if it works. It's a very long-agent version of the word typing. So, Kinsey, you have 27 seconds starting now. So when I was first learning Ruby a couple of years ago, I was very confused by the term duck typing, and everyone kept telling me the same slogan, and it was, if it walks like a duck, if it quacks like a duck... If, repetition of if. That was two ifs. I was preempting your next one. So that was an incorrect challenge due to my lack of precognition. You gained a point. I'd have 11 seconds on duck typing starting now. So, as I was saying before, I was so rudely interrupted by Andy for sitting next to me. Repetition of if. That was three times. Just looking at the board, I'm going to give you that point. Oh, a pity point! I have the remaining 3.9 seconds on duck typing starting now. Duck typing is an interesting programming technique that I like to use. Interesting. Sam? Repetition of technique from your earlier speech. Yes. Yeah, and interesting too, I think. Sam, you have half a second to speak about duck typing starting now. Duck. Okay, so Sam got the point for speaking at the end of that round. Kinsey, you are next up to speak. Five fun things to do with Ruby. Five fun things to do with Ruby starting now. Five fun things to do with Ruby is a great topic because I've seen a lot of talks that are about fun things to do with Ruby. One of those is music. I've seen music presentations. Oh, music. Andy. Repetition of music. Repetition of music. Absolutely. Andy Crowe, you have 45 seconds starting now. Given that I have chosen Ruby as my programming language, I like to think there are more than five fun things to do with Ruby. There could be 10 fun things to do with Ruby or perhaps 15 fun things to do with Ruby. And you could spend many hours, 20 hours talking about... Repetition of hours. Absolutely. Kinsey, you have the topic back. And 25 seconds starting now. Splice is an awesome company where they are doing fun things with Ruby, but they actually are not doing fun things with Ruby anymore. They actually write Go. Repetition of fun things which is in the title. Yes. Fun things. That was an incorrect challenge. So yes, Kinsey, you're getting the point. Oh, I'm sorry. You could have had repetition of doing, but now it's too late. So Kinsey, you have 16 seconds starting now. Wait, don't I get another point? You were given the point. Oh, sorry. Andy. That was hesitate. That was hesitate. You were too busy trying to get additional points. You got to speak when the time is up. I thought I was missing a point, so I just wanted to make sure that it was properly reflected. You gained the point for that time. Okay, so I lost that one? Yeah. Yeah. So, which means Andy gets a point and has 14 seconds starting now. Five fun things to do with Ruby would be an excellent name for a talk if I were to submit it as part of a call for proposal for something like RubyConf, or Railsbridge, or other things. That was hesitation. Andy Kroll somehow got away with that third awe. I wasn't quite fast enough. Andy, you're first up to speak next, and open source software is your topic. Open source software starting now. I think it's clear to see that none of us would be here today were it not for the principles of open source software. We all rely in our day jobs on software that has been open sourced by smarter people than ourselves who might find useful in the future. People than ourselves who might find useful libraries that they build for other people to use and open source style goodness. Hesitation? I think there was hesitation there. So put me out by misery. Okay, Sam, you have got your point and 37 seconds on open source software starting now. Open source software can be acronomised in a number of ways, including O source software, O source software, O source software, O source software. Repetition of S. Repetition of S! So, Kinsey, you've gained the point for that, and you have the subject back for 25 seconds starting now. There are a lot of scary and kind of upsetting statistics around contributions to open source software. Currently, I believe, you don't quote me on this, but 2% of open source software contributors are women and 98% of open source software are men. I will not quote you on that last sentence. It was a beautiful one. Yes, so you get the point. You're currently in the lead, and maybe you've got time for two more rounds. Sam Fippen, you're next up to speak, and your subject is The Friday Hug. The Friday Hug starting now. To my immediate right is the inventor of The Friday Hug, one Aaron Patterson or Tenderlove on the internet. The great thing about The Friday Hug is it encourages all of us to celebrate the end of the week and the achievements that we've made and the time that we've spent building our applications. One of the interesting things about The Friday Hug is it encourages you to take a selfie when you... Repetition of encourages? Yes! Completely correct, Aaron. You have 34 seconds on something uniquely equipped to speak about. Starting now. I invented The Friday Hug on a Friday. I recall The Friday Hug day very clearly. No, he doesn't. Your first challenge whilst he can't remember Friday... Hesitation was correct. Andy, you have 23 seconds starting now. To be sharing a stage with the creator of The Friday Hug at this venue where The Friday Hug is unfortunately unable to be performed due to the lack of Fridays rather than the lack of hugs. Sam, repetition of lack? Repetition of lack. Sam, you have 10 seconds remaining. You're right, Aaron. You're okay for now. Sam, 10 seconds starting now. What I've just discovered is that talking about The Friday Hug is a good way to bring its creator to absolute hysterics on a panel of game shows such as this at RubyCon. I think this will have to be our last round currently, Sam is in the lead. It's almost anyone's game. Aaron, you are first to speak in this next round. Performance tuning is your topic. Performance tuning, Aaron Patterson, starting now. Performance tuning is a very important topic that I like to talk about, especially because I enjoy tuning my piano and playing it very quickly. I'm going to suggest hesitation. That may well have been hesitation, Sam. Sam, you have 49 seconds on performance tuning starting now. Performance tuning, Aspect, has been a really interesting exercise. Mostly, we've been used allocation tracing to determine where objects are created within the library. This then enables us to make performance optimisations by removing object instant... Kinsey. Repetition of optimisation. Or object, sorry, object. Which one are you challenging on? Object. Okay, Kinsey, you have 32 seconds on performance tuning starting now. So someone who really inspires me in the space of performance tuning is Eileen. You might know her on Twitter, but I am not going to say her handle because that would be repetition. And she gives an excellent talk about performance tuning in tests and in controllers. And if you haven't seen it, it's a really great presentation. Repetition of presentation. Yes, repetition of presentation. I said, Ann, 100 times. So, Aaron Passon, you have 9 seconds to gather 7 points. Sorry. Starting now. I really enjoy performance tuning of software and legacy systems, especially when it... Andy. I just wanted to go before we finished. So there was no challenge? Aaron, you get a point. Cheers, Andy. And you have 2.6 seconds starting now. I just want Aaron to have another point. You know that's the incorrect challenge, so I'm giving Aaron another point. And 2.1 seconds starting now. Aaron's a nice man. Also an incorrect challenge. So Aaron, you have 1.7 seconds. And we are running over time, incidentally, starting now. I just wanted to see if I could do it. It's on GitHub, I would raise an issue. I challenge myself. The simple answer is no, you can't. I'm just going to start you again. I can't give you a point for that. I wish I could. You have 1.4 seconds starting now. It wasn't me. Andy. Technically Aaron hasn't said anything in about 4 seconds. I so want to give you that point. Hesitation, surely. Is Andy correct, do we think? I'm giving you a point. And 1.1 seconds on performance tuning starting now. Performance. Thank you so much RubyConf. This has been amazing. So at the final scores, Sam Phippen is winning with 15 points. We have a tie for seconds. And a very close fourth. So it only remains me to thank Ian Messeter, the man who created this game, and Nicholas Parsons who has been hosting it for nearly 50 years. I really am just keeping his seat warm. And RubyConf, please, one last time, join me in showing your appreciation for the panel. Aaron Patterson, Kinsey-Anne Durham, and today's winner, Sam Phippen. I've been Andrew Bowden. Thank you very much. Goodbye.