Ruby on Rails

Lightning Talks

Lightning Talks

by Nick Quaranto, Dr. Nic Williams, Chris Morris, Jon McCartie, Bryan Helmkamp, Miles Forrest, Andrew Harvey, Benjamin Fleischer, Adam Cuppy, Hector Miguel Rodriguez Muñiz, Mario Chavez, Mike Virata-Stone, rking, Nathan Ladd, Dylan Lacey, JC Grubbs, Jeremy Green, Ron Evans, Eoin Coffey, Doug Smith, Andrew Cantino, Tanin Na Nakorn, Philippe Creux, Alex Sharp, Beau Harrington, Yoshiori Shoji, Winfred Nadeau, David Padilla, and Gabe Scholz

Summary of Lightning Talks at RailsConf 2013

The video features a series of lightning talks delivered by various speakers at RailsConf 2013, focusing on programming, community building, and personal development within the tech industry. The following key points were discussed across multiple talks:

  • Open Hack Concept: Nick Quaranto shared his experience with Open Hack, emphasizing the importance of informal coding events to foster community and productivity. He introduced a formula for success—"Pizza + Beer = Code"—and outlined essential rules for organizing hack fests to encourage participation and collaboration. He reported that Open Hack events have sprouted in over 60 cities worldwide.

  • Cloud Foundry and Technical Intimidation: Another speaker discussed the challenges of using Cloud Foundry and the importance of simplifying complex processes. They introduced tools that streamline the setup of Cloud Foundry, making it accessible for developers. A larger theme raised was the concept of 'Technical Intimidation', where tech professionals feel overwhelmed by industry jargon and trends—urging the community to embrace a culture of learning and support.

  • Finding Purpose in Work: Jon McCartie spoke about the quest for purpose in programming careers, reflecting on a personal journey that led him to work in tech for a Christian church. He encouraged others to identify what is meaningful to them, whether it be family, passion projects, or community involvement. He highlighted the importance of understanding the value of one's work and finding fulfillment beyond professional achievements.

  • Internationalization in Rails: Tanana Nakorn presented a gem he developed for Rails that allows for easy inline editing of text elements on websites, addressing common frustrations for team members who manage content.

  • Service Objects Methodology: David detailed the concept of service objects—breaking down business logic into singular, reusable units within applications. He focused on the benefits of this approach in software development, particularly in improving code organization and facilitating testing.

  • Importance of Code Testing and Community Learning: The closing talks reiterated the challenges developers face and the collective responsibility to create supportive environments for learning and growth. Speakers encouraged a community-centered approach where sharing knowledge and resources can help alleviate pressure and build confidence among developers, especially newcomers.

Conclusion

The lightning talks at RailsConf 2013 provide rich insights into community efforts, purpose in programming, and approaches to mastering technology while fostering collaboration. The speakers advocated for a supportive network within the tech community, urging developers to recognize the importance of sharing knowledge and simplifying complex processes to enhance productivity and fulfillment in their work.

00:00:15.980 Oh cool, that works! Hi, hi everybody, wake up! I'm Nick.
00:00:20.990 Oh hey, those are my slides too! I'm Nick, and you can find me on Twitter as @nick.
00:00:28.550 I'm going to talk about Open Hack. I really love programming. Programming is my favorite thing to do ever.
00:00:34.640 When I program, I feel like this kid banging my hammer, and all of a sudden, there's stuff flying out of my machine.
00:00:41.090 This is something I really love. One of the things I discovered while living in Boston is a simple formula: Pizza + Beer = Code.
00:00:47.990 If you provide food and drinks, it somehow creates productivity. We used to have Boston RB hack fests, and this formula worked.
00:01:01.190 This is how rubygems.org started, along with a bunch of other projects.
00:01:07.670 I wanted a way to repeat that hack fest feeling after moving to Buffalo, New York.
00:01:13.909 I wrote down some rules for doing hack fests, which I call Open Hack, and I'm going to share those with you.
00:01:20.149 So how does it work? First, someone must organize it. This is me in Buffalo.
00:01:30.350 One person is the point of contact.
00:01:36.139 To keep the event organized, they arrange intros, which are super important.
00:01:41.780 The intros build connections because when you enter a room of nerds coding, you might feel uncertain about how to introduce yourself.
00:01:48.049 You should aim to do these intros every night since they help bring new people into the group.
00:01:55.069 When you enter the room, just say who you are and what you are working on.
00:02:00.380 It's okay to work alone, but you can also ask for help and pair with someone.
00:02:07.590 You can even socialize while working.
00:02:14.970 Most sessions wrap up after two hours, and other groups have tried longer sessions, but I get sleepy.
00:02:21.750 Sponsors help a lot too. For instance, we have 37 Signals and Engine Yard helping out the Buffalo group.
00:02:27.480 It's usually less than a hundred bucks to pay for pizza and maybe some beer, which helps a lot.
00:02:32.849 We run this every two to three weeks in Buffalo.
00:02:43.670 This has been a successful endeavor, and I discovered several local groups in Boise, Logan, Tulsa, Albuquerque, San Francisco, and Santa Barbara.
00:02:48.900 We are currently in over 60 cities, and I aim to reach 100 by the end of the year.
00:02:55.410 If you're interested in organizing, that would be fantastic.
00:03:04.690 There are groups on the East Coast, plenty in Europe, and some even in Asia.
00:03:12.020 It's mind-blowing how many groups there are just started from a few simple rules I wrote down, along with some funny gifts.
00:03:18.000 If you're interested, please visit openhack.github.io.
00:03:28.700 Okay, I was lying. I actually have announcements for other groups on Twitter.
00:03:34.830 I'm throwing a Ruby conference along with other people from the Western Europe Ruby group in Buffalo, New York.
00:03:40.470 It's happening September 20th and 21st at nickelcityruby.com. Thank you!
00:03:52.910 Alright, I'm a professional, I can wait for my turn. There are 42 speakers and only six bowls of water.
00:04:10.370 Anyway, I'm a big fan of what Heroku built, and unfortunately, I feel like a sad panda because we can't use that.
00:04:17.550 So I became really interested in Cloud Foundry.
00:04:24.690 I work at a company called Stark and Wayne, which I have been informed is the first and only company with two fictional founders.
00:04:29.970 Board meetings are fun because I'm basically talking to myself.
00:04:36.000 But the good news is that soon I will not be alone anymore.
00:04:43.730 You know, I'm getting my fancy O-1 visa.
00:04:50.340 For Americans who perhaps don't need visas, that's the alien of extraordinary ability.
00:04:56.010 So, fancy dress day will involve pants on the outside, and it's going to be great.
00:05:10.370 As a consultant, I worked with a large enterprise company that wanted to adopt agile methodologies.
00:05:20.600 I felt really bad for people who've tried to do agile without proper support.
00:05:27.860 Let me know how many careers have been destroyed by those who say, 'Yes, let's do Agile' and leave it at that.
00:05:34.260 We have a hard rule around wanting everything in our internal private clouds across the globe, but that contradicts my belief.
00:05:44.340 Everyone should have nice things, just because we work in cubicles doesn’t mean we can't enjoy nice setups.
00:05:50.340 Fortunately, there is Cloud Foundry, but it isn't necessarily easy to run on your own.
00:05:57.770 At my workplace, we outsourced it to a company called tier 3, which set it up.
00:06:05.310 One of my pet peeves in the universe is companies claiming to be open source but leaving the execution to the reader.
00:06:11.130 It's been a personal project to make running Cloud Foundry as easy as possible.
00:06:16.960 I've reduced it to running two tools and five commands, and that's exciting.
00:06:26.120 Using Bosch Bootstrap and Bosch Cloud Foundry, I won’t go into details about them.
00:06:34.520 Instead, I just want to show you the commands to run.
00:06:41.930 You can install a gem called Bosch Bootstrap.
00:06:47.460 Then, you run the next command.
00:06:53.440 If you follow along, you can execute the command that follows.
00:06:58.940 Next, you run that command.
00:07:05.160 Lastly, you run the other commands that I haven't mentioned.
00:07:11.340 The commands are reasonably interactive and will ask you questions.
00:07:18.460 For example, they'll inquire about your Amazon credentials.
00:07:25.910 If you've used fog, it actually finds your credentials and uses them.
00:07:32.220 At some point, it will ask you about DNS and other things.
00:07:41.250 The reason I built this was because I grew tired of writing documentation, so I made a tool to simplify the process.
00:07:48.300 What do you get from this tool? You get boxes—Squares.
00:07:56.520 If you ever wondered what Amazon's boxes look like, they are square.
00:08:02.430 Running your own Cloud Foundry for 30 cents an hour is pretty cool.
00:08:08.280 You might want to run services, like where the Dinos run, so to speak.
00:08:14.750 It does all of this smoothly.
00:08:20.600 The setup typically takes about three hours, so we won’t do a demo right now.
00:08:27.960 A show of hands: who hates show of hands at conferences?
00:08:35.740 This talk is dedicated to all of you.
00:08:39.830 You may have heard of technical debt, but I'm here to speak about 'Technical Intimidation'.
00:08:45.120 Do you know Rails? Do you know all of Rails?
00:08:54.400 Do you know why we like the word 'Active' so much?
00:09:01.120 Can you program concurrently? Can you asynchronously stream hypermedia?
00:09:09.970 I don't really know what that means, but Google image can help.
00:09:17.500 Can you inject SQL into a cannoli?
00:09:25.660 Do you know how to get closure with your monads?
00:09:31.180 I don't really know what that implies either, but I suspect it has something to do with futility.
00:09:38.090 Does anyone understand what this is in JavaScript?
00:09:45.010 Do you know that they are actually putting JavaScript on servers these days?
00:09:51.170 It reminds me—I have a Kickstarter for hosting Oracle on my browser.
00:09:58.020 So if you've got any loose change…
00:10:03.520 Does anybody know what Adam Keys is talking about here?
00:10:08.510 If you take out all the buzzwords from that post, all you're left with is ASCII art of a troll face.
00:10:17.360 All of these points were taken from recent Ruby and JavaScript weekly news editions.
00:10:23.910 Does anyone here know all of this? If you said yes, you're lying.
00:10:31.030 Because I made that last one up, but seriously.
00:10:45.850 Recently, a prominent member of our industry posted a blog saying he was reluctant to ask a question.
00:10:54.880 He didn't want to seem out of touch.
00:11:00.400 I can relate to that, so can Kent Beck.
00:11:06.180 Sometimes it's all just technology, and we find ourselves staring at it, feeling overwhelmed.
00:11:12.750 And that leaves us with a feeling of shame.
00:11:18.500 Two traits are common among people: adaptability and shame.
00:11:24.220 When you combine these, you get hoarders.
00:11:27.739 This illustrates how powerful shame can be in our lives.
00:11:37.330 While it may not always play out so visibly for all of us, shame can shape our thoughts and feelings.
00:11:44.620 Jerry Weinberg was once asked what the most important thing for a programmer is when starting a new project.
00:11:51.539 He answered that each should ensure they are physically fit without nagging psychological problems.
00:11:58.159 These messages are nagging psychological problems.
00:12:06.410 As we know, shame robs our perspective and convinces us that we’re stuck.
00:12:13.640 Software is hard; Steve McConnell paraphrased Dykstra, saying computing is the only profession where one mind spans intellectual distances of nine orders of magnitude.
00:12:23.950 Several known figures in programming have voiced their decisions on critical issues, underscoring the difficulty of good design.
00:12:30.950 The more closely you look at a feature, the more rough edges you will find.
00:12:36.830 The sane approach is to iterate until it’s good enough and then move on.
00:12:43.240 According to NPR, professionals sometimes struggle to spot problems they are trained to find.
00:12:50.410 A whopping 83% of radiologists fail to see the gorilla in the image, while the legendary Garry Kasparov once blundered away his queen.
00:12:58.590 So if I'm looking at two thousandth of a percent of my codebase at any time, cut me some slack.
00:13:06.700 But what about all those things? Look, you can't learn everything, and it doesn't matter, at least not to people like Martin Fowler.
00:13:13.650 Given someone with broad design skills and someone who knows your platform well, Martin will take the one with broader design skills.
00:13:20.620 So what about everyone else who does seem to know everything?
00:13:26.780 The trick is, don't be intimidated; learn from them!
00:13:33.650 Pat Metheny advises young musicians to always be the least skilled person in the band.
00:13:40.580 If you're the best player, find a different band.
00:13:46.660 To summarize: we should do a much better job if we appreciate how difficult programming is.
00:13:53.320 Stick to modest and elegant programming languages and respect the limitations of the human mind.
00:14:00.650 Lastly, one great recommendation is to find Brandi Brown's TED talks on the topic of shame.
00:14:06.530 This is me on the web, peace out.
00:14:19.180 Hi everybody! My name is Jon McCartie.
00:14:25.130 I am a Ruby developer at Life Church TV, which is a church in Oklahoma City.
00:14:35.310 You can find me on the web at @JayMcCartie.
00:14:42.520 At some point in your programming career, you’ll probably ask yourself, ‘What’s the point?’
00:14:51.730 For me, this revelation came in 2010 when I was working in a B2B start-up in San Francisco.
00:15:04.230 I remember one day on the BART train between the East Bay and San Francisco, I asked myself that crucial question.
00:15:11.150 It was a question that profoundly shifted my perspective on what I valued.
00:15:18.050 What matters to me? My family? Money? Notoriety? Or something else?
00:15:27.350 It's a good question worth reflecting on.
00:15:34.700 Each of us has an intrinsic need to feel that our work matters and that we belong.
00:15:45.330 Embedded research shows that 75% of young people aged 25 to 30 give money to causes.
00:15:51.430 Sixty-three percent say they give their time to volunteer, revealing a shift from previous generations.
00:15:59.150 This suggests we are coming to terms with finding purpose in our work.
00:16:05.990 So what is my purpose?
00:16:12.750 When I was in San Francisco, a friend told me about a church in Oklahoma City.
00:16:18.810 It's a Christian church that uses technology to reach people and change lives.
00:16:27.340 We build software for these churches and give it away for free.
00:16:34.830 For instance, we developed the YouVersion Bible app with 90 million installs to date.
00:16:41.610 That became my purpose.
00:16:46.710 My challenge to you is to discover your purpose.
00:16:54.310 What motivates you and brings you fulfillment?
00:17:01.930 The best place to start is by looking at your values.
00:17:08.330 Identify what is really important to you.
00:17:15.290 Prioritize those values.
00:17:23.680 If you are a manager, make sure your developers understand why you’re doing what you do.
00:17:29.350 Even if the project isn’t important overall, you need to communicate its value.
00:17:37.900 Developers, if you don’t have a supportive manager find purpose.
00:17:42.950 Even if your work isn’t fulfilling, understand the impact you’re making.
00:17:50.780 For example, the feature you're working on might save someone time.
00:17:56.570 Hold on to that, treasure it.
00:18:03.650 If none of these projects fulfill you, consider what you can do outside your work.
00:18:09.300 You have valuable skills.
00:18:16.050 Work with a nonprofit or find ways to give back to the community.
00:18:24.710 Your code today might not last, but the impact you create can last a lifetime.
00:18:36.630 Hi, my name is Tanana Nakorn.
00:18:41.080 Today, I would like to talk about the internationalization of Rails.
00:18:47.310 I ran into a problem a while back with copying text on a website.
00:18:52.840 For instance, if you have a button labeled ‘Sale’ and your friend from marketing wants to change it.
00:18:58.680 They might want to change it to ‘Create’ first, and then a few days later to ‘Save.’
00:19:05.390 This tedious process can be cumbersome and frustrating.
00:19:12.420 Thus, I built a gem that lets you inline edit these elements on your website.
00:19:20.240 Now, I’ll provide a demo.
00:19:26.110 On the website, clicking on a label allows you to edit it.
00:19:31.080 It also works for attributes.
00:19:37.410 The edits can be saved.
00:19:42.710 At the end, you can deactivate the edit mode.
00:19:48.190 This approach empowers other team members to directly manipulate the website.
00:19:54.680 This leads to greater happiness for everyone involved.
00:19:59.440 You can easily include this JavaScript file when edit mode is enabled.
00:20:05.140 In your Rails application, simply replace the normal functions.
00:20:11.190 You can find out more about the gem at the URL here.
00:20:17.020 My Twitter is @winfred.
00:20:29.680 Now I want to share a project I've been working on.
00:20:34.800 Good evening, my name is David.
00:20:42.240 Let’s discuss Service Objects.
00:20:49.740 Over the years, I’ve aimed to extract as much business logic as I can.
00:20:53.920 This leads me to develop a service object.
00:21:01.560 Each service only performs one action.
00:21:08.880 Currently, they're in the app/services directory.
00:21:16.330 The class name starts with a verb, e.g., ‘UserService’.
00:21:24.950 It has a single method, and I can pass arguments to it.
00:21:31.490 Using dependency injection helps with testing.
00:21:38.120 I can validate if the method fails.
00:21:43.580 When testing, I make sure the user should not be able to save.
00:21:49.510 This method approach complements lambdas.
00:21:55.090 We still gain benefits from our original design.
00:22:01.940 Lastly, a service just shows how we can efficiently use professionalism.
00:22:09.560 You can spot reusable code, and it's good for expanding development.
00:22:17.100 This approach generates considerable flexibility in your code.
00:22:25.400 That's it, so I'd appreciate any advice on it.
00:22:34.750 Thank you, everyone. I would love your feedback.
00:22:40.430 Hello everyone, I'm gonna talk about a few things.
00:22:44.680 My name is David, and I am from a work where I build developer tools.
00:22:52.420 Let me start with an overview of my work.
00:22:59.550 It's an internship project enhancing awareness.
00:23:05.150 Let’s dive right into a discussion about code testing.
00:23:14.200 When testing your code, the goal is to ensure it works.
00:23:21.150 This is crucial for maintaining user satisfaction.
00:23:29.320 So testing helps raise confidence in the product, ultimately lowering lead times.
00:23:35.530 Sorry everyone, this is the first time I've spoken publicly.
00:23:46.040 It's a nerve-wracking experience but necessary for our developers.
00:23:56.000 Thank you, everyone. I appreciate the support.
00:24:02.000 Thank you for your attention, everyone.
00:24:07.530 This conference has been illuminating.
00:24:10.430 There’s so much to learn in our industry.
00:24:15.180 With new tech emerging, it’s an exciting time.