List

Lightning Talks - Part II

Lightning Talks - Part II

by Greg Belt, Ryan Biggs, Yehuda Katz, Ryan Brunner, Mike Scalnik, Felix Dominguez, Reid Morrison, Evan Dorn, Jay Moorthi, Rod Paddock, Richard Schneeman, Sam Woodard, Charles Lowell, Matt Rogish, Brad Wilkening, Matt Conway, Dr. Nic Williams, and Evan Phoenix

The video titled Lightning Talks - Part II, part of Rails Conf 2012, features a series of rapid-fire presentations from various speakers, each sharing insights related to Ruby and Rails development. The talks present a combination of technical advice, project introductions, and personal anecdotes designed to engage the Ruby on Rails community.

Key points from the speakers include:

  • Greg Belt presents Seven Tips for Running an Open Source Project, emphasizing the importance of community building and documentation while cautioning against over-reliance on dependencies. He urges developers to prioritize user experience in their projects.
  • Ryan Biggs discusses Integration Testing Engines, advocating for designing routes within engines instead of the main Rails application for better organization and testing practices.
  • Yehuda Katz introduces Tokaido, a precompiled Ruby environment aimed at simplifying Rails setups and reducing installation complexity for beginners.
  • Ryan Brunner highlights the benefits of being involved in local user groups, suggesting that participation can enhance networking opportunities, ease recruitment, and improve presentation skills.
  • Mike Scalnik shares his experience with Railcar, an installation tool designed to streamline Rails environment configurations, making it easier for new developers to get started.
  • Felix Dominguez reveals common mistakes job applicants make, advocating for showcasing skills and honest self-assessment during recruitment processes.
  • Reid Morrison outlines methods for encrypting sensitive data in Rails applications, focusing on password management within configuration files to enhance security.
  • Evan Dorn speaks about Ninjascript, a tool to simplify event handling in jQuery, enabling more efficient coding practices.
  • Jay Moorthi introduces tddium, a continuous integration service aimed at supporting developers in managing testing workflows.
  • Rod Paddock shares a success story of using Nokogiri to help bloggers recover lost content, showcasing the power of Ruby tools to solve real-world problems.
  • Richard Schneeman presents a gem to simplify wizard-like interfaces in applications, demonstrating the utility of clean, structured code architecture.
  • Sam Woodard explains the usage of flashs3rails, a tool that facilitates direct uploads to S3, enhancing user experience in Rails applications.
  • Charles Lowell discusses embedding JavaScript into Ruby applications and calls for community collaboration to refine this integration for better interface support.
  • Matt Rogish addresses Hacking the Airlines, sharing strategies to navigate airline systems to obtain better flight arrangements using airline miles and elite status.
  • Brad Wilkening provides insights on leveraging the current high demand for software developers to negotiate better job conditions and opportunities.
  • Finally, Matt Conway talks about Monitoring with Graphite, highlighting its capabilities for real-time data visualization and system performance tracking.

The session wraps up with a call to action for attendees to actively contribute, learn from each other, and embrace the collaborative spirit of the Rails community.

Second half of Lightning Talks!

00:25 - Greg Belt - Seven Tips for running an Open Source Project.
01:27 - Ryan Biggs - Integration testing engines
04:55 - Yehuda Katz - Tokaido
09:25 - Ryan Brunner - Seven reasons why you should help organizer your local user group.
14:20 - Mike Scalnik - Railcar
16:27 - Felix Dominguez - Why you don't get hired
20:53 - Reid Morrison - Rails Encryption
26:11 - Evan Dorn - Ninjascript
27:00 - Jay Moorthi - tddium
31:44 - Rod Paddock - How I saved the World with Ruby and Nokogiri
34:15 - Richard Schneeman - Wizards from WTF to Wicked
36:42 - Sam Woodard - flash_s3_rails
40:36 - Charles Lowell - One Man in the name of Embedding Javascript into Ruby
44:37 - Matt Rogish - Hacking the Airlines
49:08 - Brad Wilkening - Top 10 Reasons you should probably quite your job
54:08 - Matt Conway - Monitoring with Graphite
58:51 - Dr. Nic Williams, Evan Phoenix - It's a Wrap!

Help us caption & translate this video!

http://amara.org/v/FGin/

RailsConf 2012

00:00:24.360 Hello everyone, my name is Greg Belt. I'm from Vancouver, Canada. I run a company called Reverb Software, and about two years ago, I started an open-source project called Active Him. We launched it into the world about a year ago, and thanks to some usage, I've experienced both the joys and pains of managing an open-source project. Therefore, I've got seven tips to share with you regarding running an open-source project. First, don't use the merge pull request button on GitHub. Second, Travis CI is awesome; use it! Third, don’t forget that design and user experience are crucial, especially if your project has a front-end, so get designers involved. Fourth, depend on fewer dependencies—aim for half as many features and twice as much documentation. Fifth, build a community around your project; it's vital. And finally, the key takeaway is to just do it.
01:27.030 Next, I'm going to discuss integration testing engines. Recently, I attended a session about engine stores. To be honest, I found myself disagreeing with some teachings about drawing routes in a Rails application. My belief is you shouldn't draw your routes in the main application but rather in your engine. This was a significant point I wanted to emphasize. If you're working on an internal engine, you should always base your routes there. Sometimes, people might complain that their routes are broken, but that's simply not the case. In fact, they're just defined elsewhere within your engine. It's necessary to use 'isolate namespace' within your engine configuration, which helps maintain tidy organization without clashes. By doing this, you can have similar routes in both the engine and the application while keeping them distinct. For instance, in a situation where we worked on Spree, we encountered issues when trying to integrate the products controller due to a lack of proper routing definitions. Ultimately, we had to define our integration tests correctly to resolve the issue.
04:55.000 This brings me to the topic of Tokaido, a project I initiated, previously known as Real Tap. The core idea was to create a precompiled version of Ruby that is regularly updated. The intention was to eliminate the local hardcoded paths that occur when you compile Ruby normally. Instead, we wanted to have precompiled binary gems that work seamlessly without detailed local installations, particularly for packages like Nokogiri that traditionally require specific dependencies. Additionally, we aimed to simplify the workflow by minimizing the chances of installation failures. For example, if you have five steps in a process and each step has a 95% chance of success, your overall success rate drops dramatically with each additional step. This is the principle that drove our suggestions for improving how Rails is installed.
09:25.000 The next topic I want to touch upon is the advantages of participating in your local user group. I am Ryan Brunner, and I help organize the Toronto Ruby Brigade, where we conduct meetups and events. Participating in local user groups allows individuals to connect with more people in their community. It provides an informal space to network, learn, and share knowledge which is invaluable. Helping organize a user group is also a great way to improve your public speaking skills. Doing a talk for a small group rather than at large-scale conferences is a perfect way to gain experience. Everyone might how to come to user events, but often, they don’t have the same platform as bigger conferences, making it crucial to give back to the local community. I encourage everyone to take similar initiatives, whether through discussion, talks, or workshops. There is immense potential in being more active in your local Ruby community!
14:20.000 Next up, I want to talk about Railcar. My name is Mike Scalnik, and I’m one of the main organizers of the Atlanta Ruby user group. When Tokaido was launched on Kickstarter, many in the community expressed that it felt like they didn’t want an engine that dictated how applications should be built. They needed a flexible tool that would assist them gently into using Rails. Railcar aims to create a simpler isolated environment that handles Rails installation with minimal user intervention. It allows for a gradual transition from GUI to CLI without overwhelming the user. The vision is to eliminate common problems developers face when installing Rails and reduce the failure scenarios where they usually get lost in complex setups. We ultimately want to ensure that both newcomers and experienced developers have a seamless experience while integrating Rails into their workflows.
20:53.000 I am Felix Dominguez, and I'm going to elaborate on some employment perspectives. The other day at a bar, a friend expressed his frustration over not getting callbacks after submitting resumes. I suggested he speak with recruiters on-site, and it immediately struck me how common this issue is. The major takeaway here: everything we've been told about hiring and resumes could be a bit off-mark. The tech industry often functions differently, and as such, it's important to display your skills upfront. Demonstrate on your resume the interesting problems you've solved and the technologies you’ve worked with, avoiding unnecessary details about prior unrelated jobs unless they apply directly to tech roles. Also, don’t underestimate the power of personal connections. Instead of going through job postings, reach out to recruiters directly via LinkedIn. Establishing a rapport that way can eliminate the need for cover letters entirely.
26:11.000 This brings us to my next speaker, Reid Morrison. I'm the software architect at Clarity Services, and today, I'll be talking about how to secure sensitive data within an application, specifically regarding database encryption and handling passwords within configuration files. We’ve all encountered situations where IT departments push back against clear passwords in configuration files. The solution requires a simple yet elegant system for encrypting sensitive information. For instance, Rails provides symmetric encryption methods that help developers efficiently encrypt data before storing it in a database, ensuring that private information is protected. Employing gems like 'encrypted' can greatly assist this process, offering convenient drop-in functionality. Moreover, addressing compliance regulations mandates careful management of encryption keys and regular updates to mitigate risks of data breaches.
36:42.000 Listen, if you’re using jQuery, you may be familiar with live or delegate methods for event handling. These methods allow you to work with future elements added to the DOM. I’m Jay Moorthy, here to introduce Ninjascript, an open-source tool designed to enhance your JavaScript behavior across dynamically updated pages. With Ninjascript, you can define behavior blocks that automatically bind event handlers to elements, even those added later via AJAX. This means your event bindings remain functional as your DOM content changes, streamlining the process of handling interactions on pages that refresh frequently.
40:35.000 My name is Rod Paddock, and I want to share a personal story regarding Nokogiri. A friend I knew had written 300 articles for a movie website that was no longer accessible. They needed help recovering years of writing, and I stepped in with Nokogiri, a powerful tool that simplifies scraping content from web pages. In less than 15 minutes, I was able to save those articles from his past work. In the overlapping time, other writers in the same position reached out for help, and together we rapidly recovered their articles as well. This showed not just how invaluable Ruby and Nokogiri can be, but also the fundamental role of helping community members restore their contributions to spin stories that help shape our culture. It's essential to remember that programming skills can help in areas far beyond just code.
46:03.000 Hello everyone, my name is Richard Schneeman. Today, I bring you insights from my experience with the development of wizards in applications—specifically, those often dreaded yet essential step-by-step processes. I worked on several projects that involved creating user-friendly interfaces to guide users through complex tasks. Wizards are often seen as cumbersome, yet they can vastly improve the overall user experience when done correctly. Using the right tools, we can streamline the wizard process, ensuring it's intuitively guiding users whether we’re developing in Ruby or any other language. Together, we can improve the experience of using Ruby wizards, making them a seamless part of the application rather than a hindrance.
54:05.000 My name is Sam Woodard, and I’m excited to share my project: flash_s3_rails, a gem designed for direct uploads to S3 from Rails applications. This addresses common issues with traditional Rails uploads, which typically tie up the server process. With this tool, users can handle uploads directly to S3, which frees up our servers for other tasks while also providing a smoother experience for end users who need fast interaction without waiting for uploads to complete. My goal with this project is not only to streamline user engagement but also to make S3 uploads accessible to developers of all skill levels.
58:52.000 Lastly, I want to introduce Matt Conway from Backblaze, who will discuss monitoring with Graphite and the insights we've gleaned from leveraging this powerful tool for our large-scale operational requirements. Graphite allows for intricate data collection and provides robust dashboards that empower us to visualize operational metrics. It’s fundamental in our development to ensure that we understand our environments thoroughly and apply these monitoring tools to maintain optimal performance. Thank you all for your time today!