Talks

Just a Ruby Minute

Just a Ruby Minute

by Andrew Faraday

In "Just a Ruby Minute", presented by Andrew Faraday at RubyConf 2016, the speaker engages attendees with a game that challenges panelists to speak on specific topics for one minute without hesitation, repetition, or deviation. The game is based on a British classic known as 'Just a Minute', tailored for programmers, making it both entertaining and insightful. The session features a panel of Ruby developers who tackle various topics relevant to their community, illustrating the difficulties and humor involved in maintaining focus and clarity under pressure.

Key Points Discussed:
- Game Format: Faraday explains the rules of 'Just a Minute', stressing its complexity and inviting audience participation. Panelists face challenges as they navigate the constraints of the game, which emphasizes analytical and cerebral thinking, much akin to programming.
- Panelist Introductions: Four notable Ruby developers are introduced: Sam Pepin, Tara DeLaFuente, Aaron Patterson, and Kinsey Ann Durham, each bringing their experiences to the game.
- Topics Covered:
- The Worst Bug Introduced: Panelists share anecdotes about critical mistakes in coding, illustrating both the vulnerabilities and learning moments inherent in development.
- Goat User Stories: Tara discusses a creative approach to user stories that incorporates humor, making the technical topic relatable.
- Submitting a Pull Request: Aaron emphasizes the importance of context and feedback in ensuring high-quality contributions, which underscores community collaboration in software development.
- Moving to New York: Kinsey reflects on the personal and professional considerations when contemplating a significant move, highlighting both opportunities and challenges.
- When to Stop Coding: Tara advises on managing time effectively to avoid burnout, stressing the need for self-awareness in a demanding industry.
- Application Controllers and Code Quality: Kinsey shares best practices, reminding developers of the importance of keeping application controllers clean and maintainable.
- Community Engagement: Throughout the session, panelists call for audience interaction, fostering a sense of community among Ruby developers.

The session concludes with a reminder about the shared experiences of developers and the importance of maintaining quality and creativity in coding. Overall, "Just a Ruby Minute" not only serves as a platform for humor and entertainment but also offers valuable insights into the realities of programming with Ruby, presenting a blend of technical discussions with light-hearted moments.

00:00:14.790 Good afternoon, RubyConf! What a nice atmosphere to start with. My name's Andrew Faraday, and some of you may remember me from last year's RubyConf. I've once again been given the fantastic honor of presenting the most British thing possible in the United States for this RubyConf.
00:00:22.150 What falls into this delightful category is a sort of conversation game. I will be challenging the panelists to speak on a variety of topics that I will give them. They must avoid hesitation, repetition, or deviation from these topics, which makes it quite challenging.
00:00:35.380 This game is particularly well-suited for programmers, as it's quite analytical and cerebral. The puzzles involve a narrow set of requirements and millions of edge cases. We are asking our panelists to navigate this challenging landscape today.
00:00:53.050 Now, the game is very difficult, and I commend the panelists for their bravery in taking the stage. If at any point you feel that they are doing well, please show your encouragement. The game also includes challenges where panelists can call each other out for perceived rule violations, which can be somewhat subjective.
00:01:21.100 There's one more important thing I need to ask of you: the show always begins with an exuberant statement of welcome and our theme music. As soon as you hear the piano music start, I need everyone to raise the proverbial roof! Can you do that for me? Okay, here goes: Welcome to Just a Minute!
00:01:58.840 Good afternoon and welcome to a very special edition of Just a Ruby Minute here in the fine city of Cincinnati, Ohio. We're halfway through day one of RubyConf 2016. Now, we are going to play a few rounds of the game called Just a Minute, the beloved elder relative of all panel games.
00:02:14.740 In each round, we will choose one of the witty, insightful, and sometimes horrified individuals currently arrayed before you. They will be given a topic that is of interest to Ruby developers and will be challenged to speak on it without hesitation, repetition, or deviation.
00:02:40.630 If the rules are broken, the panelists can challenge by pressing their buzzers. The time will stop, and if the challenge is correct, the challenger gains a point and control of the topic. They can continue speaking until the minute is over or they are challenged. Whoever is speaking at the end of the minute receives a point for doing so. Incorrect challenges will pass control back to the original speaker along with an extra point. The rules are simple, and it's a lot of fun, so let's meet the panel, shall we?
00:03:28.480 First up and furthest from the stage is the aspect maintainer, Sam Pepin. Next along the line, we have Tara 'Sure Enough' DeLaFuente, the mind behind goat user stories. Following her is Aaron Patterson, the owner of two famous Ruby cats and the founder of the Friday Hug. Last but certainly not least, we have Kinsey Ann Durham, a major contributor to both CutMo and Bridge Foundry.
00:03:48.130 Excellent! Sam, you're the first to speak, and your topic is 'The Worst Bug I Have Introduced'. You should begin with this difficult question, starting now.
00:04:11.579 The worst bug I have introduced, or should that be 'introduced', was this one time in production when I decided it would be a good idea to flush a Redis cache. It actually wasn't just being used as a cache, but also for something else. Ah, I seem to have repeated 'cache' again!
00:04:54.870 That repetition is entirely my fault. So, you have 60 seconds starting now. The worst bug I introduced was in production when I decided to do that, and it backfired significantly.
00:05:01.909 Aaron, you have 45 seconds, starting now.
00:05:20.710 The worst bug I have introduced is something that I don't want to talk about because it is embarrassing to me. Yes, that would be a hesitation on my part.
00:05:41.909 The worst bug I have introduced wasn't necessarily a bug, but my parent, Kim Barnes, who is actually sitting in the audience right now. It's important to share these experiences.
00:06:34.220 As I mentioned before, I was so rudely interrupted and deviated from the subject. The worst bug I have introduced is something we as programmers spend so much time pondering. Can anyone here relate?
00:07:09.159 Kinsey, you have 18 seconds remaining, starting now.
00:07:17.250 The worst bug I have introduced is a topic we can definitely discuss at this conference.
00:07:38.640 Sumfin gets the point for that round, and Tara, you're next with a topic chosen just for you: 'Goat User Stories'. You have one minute starting now.
00:08:03.260 When I was working at LivingSocial with at least one member of the audience, I created goat user stories with the DevOps manager, Matt Robinson. We really enjoyed talking about goats in the office, and we came up with user stories where we drew goats.
00:08:50.900 The reason I like user stories is that I find they are very relatable to my everyday work as a developer. The idea of a user story originally comes from Agile, which allows us to think about ways to develop our software in reaction to our customers.
00:09:56.510 Goat user stories are particularly fun for me because they make people laugh while delivering important software lessons.
00:10:28.270 Aaron Patterson, it's your turn to speak on the topic of 'Submitting a Pull Request', starting now.
00:10:52.270 When I'm submitting a pull request, I find that it’s crucial to think about the contents of that pull request, including the description, the commits, whether I've rebased correctly, and other important factors.
00:11:21.570 Submitting a pull request is often daunting. As a maintainer, I advise others to carefully consider their pull requests and engage with the feedback they receive.
00:11:53.740 If they provide a great context, their contributions will surely be appreciated by the community.
00:12:28.760 Kinsey, you are next with a topic on 'Moving to New York'. You have 60 seconds starting now.
00:12:55.660 Moving to New York would be an exciting adventure due to all the good food, vibrant people, and incredible activities in the city. However, it can be quite expensive!
00:13:30.100 Moving to New York is a journey that I am contemplating, and I believe it will open new opportunities both personally and professionally.
00:14:12.310 Now that we have completed a few rounds, let me hand over to another panelist for the next topic.
00:15:04.540 Bruce, you are up next. Your topic is 'Why I Code with Ruby'. Please share your insights starting now.
00:15:34.440 Coding with Ruby feels natural to me. As one of the first programming languages I learned, Ruby has a wonderful community supportive of developers at all stages of their journey.
00:16:04.750 I really appreciate how Ruby simplifies many programming tasks, making them more enjoyable.
00:16:22.980 That’s why I continue to choose Ruby for many of my projects and it's great to share that passion with everyone here.
00:17:01.230 Tara, it's your turn to tackle the topic 'When to Stop Coding'. You've got 60 seconds, starting now.
00:17:31.280 One way to know when to stop coding is when it’s late, around 2 AM or 3 AM. It's often crucial to recognize when to pause and take a step back.
00:17:56.790 Knowing when to stop can prevent burnout, which is incredibly common in our industry. We need to advocate for taking care of ourselves.
00:18:32.160 That’s a topic that can benefit junior developers as they navigate their early careers. It’s important to remember that taking breaks is part of being a successful developer.
00:19:01.790 It can sometimes be tricky to apply this advice to ourselves but learning when to disconnect can greatly improve our output.
00:19:31.350 Kinsey, you are now up for the topic 'What to Put in Application Controller'. You have 60 seconds starting now.
00:20:03.800 What to put in application controller is an interesting topic because I believe it’s essential to keep your application controller clean. I tend to separate concerns effectively.
00:20:49.250 By focusing on the responsibilities of my application, I can ensure my code is maintainable and clear for future developers.
00:21:17.660 Let’s engage with the audience to understand their perspectives on good practices related to application controllers!
00:21:55.090 Aaron, you're up next. Your topic is 'When Not to Commit'. You have 60 seconds starting now.
00:22:38.260 When not to commit is a great question because sometimes it is challenging to decide when the right moment is. I often ask for my manager's opinion before hitting that button.
00:23:07.520 Having someone review before committing helps to elevate our code's quality and prevents future headaches.
00:23:47.320 Let’s open up the floor to potential discussion about strategies we can all utilize to improve our committing process.
00:24:15.900 Kinsey, you have the final seconds on the topic of 'When Not to Commit'. Please proceed.
00:24:47.660 When not to commit is about understanding the project landscape and ensuring all changes are necessary. I aim for meaningful commits that enhance clarity.
00:25:20.560 Ultimately, we should strive for simplicity and effectiveness in our commits.
00:25:44.760 Thanks, everyone, for being a part of Just a Ruby Minute. Let’s keep engaging and sharing our thoughts as developers building our community!