Shane Defazio

Lightning Talks

by Obie Fernandez, Gustavo Robles, Lance Gleason, Claudio Baccigalupo, Christopher Rigor, Chris Kibble, Reid Morrison, Joshua Quick, Jason Charnes, Amy Wibowo, André Arko, Shane Defazio, Jeremy Evans, Isaac Sloan, Joe Dean, Nitie Sharma, Mike Virata-Stone, Gabriel Halley, Aaron Harpole, Ryan Davis, Elle Meredith, Gonzalo Maldonado, Peter Degen, Jeff Casimir, Ivan Tse, Hsing-Hui Hsu, and Adam Cuppy

The video features a series of lightning talks from various speakers at RailsConf 2015, covering a range of topics primarily related to Ruby programming and software engineering. The session showcases engaging stories and initiatives aimed at enhancing the tech landscape, particularly for underprivileged communities.

Key Points:

  • Andela Initiative:

    • Obie Fernandez introduces Andela, a program training 100,000 young Africans as software engineers through a rigorous boot camp model while providing them with paid learning opportunities. He highlights the role of their all-star team, including his CEO’s experience working with prominent leaders in government.
  • MagmaConf Invitation:

    • A speaker promotes MagmaConf in Mexico, which focuses on Ruby and Rails, emphasizing its beachside location and strong networking opportunities, aiming to attract attendees through personal engagement and discount codes.
  • Community Initiatives in South Africa:

    • A narrative about Manda Magagula and Lydia Abel, who work on coding education for underprivileged children through programs like Sanki Rising and ORT. These initiatives notably use coding and robotics to bridge educational gaps while seeking donations for laptops for students.
  • Rails 5 Collection Routing:

    • Discussion on routing improvements for bulk operations in Rails 5, illustrating the challenges of implementing batch deletions and highlighting the complexity added through such features.
  • Underwater Ruby Conference:

    • Chris Trigger presents the concept of combining scuba diving with programming conferences, showcasing the community spirit of Ruby enthusiasts in the Philippines and their dedication to learning and collaboration.
  • Microservices Learning from Experience:

    • A case study from Jammer on navigating the complexities of microservices, emphasizing lessons learned around managing service interactions, storage solutions, and the importance of monitoring and fault tolerance. This segment stresses practical limits and community shared experiences to make transitions smoother.

Conclusions:

  • The talks reflect a strong emphasis on education, community support, and continuous learning in the tech field.
  • They encourage professional collaboration and innovative thinking in overcoming challenges associated with software development and community engagement.
  • The presentations highlight the importance of contributing to meaningful initiatives and learning from shared experiences in programming.
00:00:11 I want to tell you about Andela. I'm out of breath because I ran up here. I'm the crazy person who put a big sign on the job board that says, "I'm training 100,000 young Africans to be software engineers." The way we're doing that is by applying Boot Camp style learning and then paying young Africans to learn how to code. We need a lot of help; we are growing very rapidly. We are venture-backed and for-profit, but we are very mission-driven. It's the most amazing mission of my life and startup experience. My CEO took his last company public. My CEO worked for President Clinton for eight years at the Clinton Global Initiative on Africa initiatives directly with the president as the RVP of External Affairs, and worked for President Obama as his speechwriter for five years. It's an all-star team. I could go on and on, but I'm probably out of time already. All I want you to do is go to andela.com, check us out, or just Google Andela. It's like Mandela, just chop off the M. Thanks very much!
01:01:00 Oh, hi! I want to invite you guys to MagmaConf this year. It's a conference down in Mexico, the biggest Ruby and Rails conference in Mexico. Last year, we had Santiago Pastorino and Sandy Metz there. This year, the only confirmed keynote so far is Bron Evans. I promise you will have a nice time; it's on the beach with plenty of networking and fun. The talks are really good, too. If you want to come and meet Mexico, you’re welcome to do it. I have a few discount codes with me, so if you want to go, just find me—I’ll be the one in the funky jacket—and I'll be happy to give you a code.
01:03:37 Thank you very much! Nelson Mandela once said that there is no keener revelation of a society's soul than the way it treats its children. Though we lost him about a year and a half ago, I want to introduce you to two people who are trying to carry that tradition forward in South Africa. The first is Manda Magagula. Manda knows what it's like growing up in an underprivileged background. He grew up in a small town in South Africa and lived in a township with poor schooling—and I mean poor. They didn't have running water at the school, let alone computers to work with. But Mandela had a thirst for knowledge. He would literally look for anything to read, searching through all materials he could get his hands on.
01:04:19 Through luck and perseverance, he got a scholarship and went to the University of Pretoria. Amazingly, despite having never touched a computer, he chose computer science as his major. Years later, after significant sacrifices, he graduated with a master's degree. Today, he is a software engineer in Johannesburg for a local consultancy called DrivenSpark. Approximately a year ago, he started a small experiment called Sanki Rising, aimed at bringing coding to six kids from a township, mostly middle school to high school age, using extreme programming techniques and teaching them how to code in Python. The program has grown successful, expanding from six to twelve students. I was there last February and saw the kids learning basic coding—it was inspiring.
01:05:09 The other person I’d like to introduce is Lydia Abel. She is part of a group called ORT based in Cape Town. This organization, which is run by women, utilizes robotics, specifically Lego Mindstorms, to help children from disadvantaged backgrounds. They focus on helping them catch up in their math and reading skills by engaging them in educational exercises using these tools. Both of these initiatives are non-profit, operating solely to support these children. Manda does this work on the side while maintaining a day job.
01:06:43 They need your help. If you have a laptop that is 10 years old or newer, consider donating it to the program. When the San Rising cohort began this year, they had twelve students but only three laptops. Thankfully, through RubyFusa, we managed to help acquire more laptops, assuring every student now has one. We're looking to grow the class, and if you have a job that allows you to work remotely and seek a purposeful engagement, or if you're traveling to South Africa, consider coming down to Cape Town to help Lydia establish San Rising there. Presently, there’s only a presence in Johannesburg. Think about bringing extra laptops on your trip, or if you’d like more information about RubyFusa, I'm one of the co-organizers, and I'd love to share more details.
01:09:40 Thank you for listening so far! I’m excited to talk about collection routing in Rails 5. So, currently, if you want to, for instance, delete two posts from your blog, you have to make two HTTP requests: delete post one and delete post four. There’s no option to delete many at once or pass multiple IDs. It may seem like a good idea, but there’s no straightforward way to implement that in Rails 5. That said, working on an R score is often not too different from collaborating with coworkers at a job. Many times, ideas seem good at face value, but when you start implementing them, you delve deeper and begin questioning their worth.
01:11:58 The initial idea emerged in 2011 when David proposed a potential solution, suggesting the possibility of updating many records inside a transaction. As the project progressed, a variety of questions arose, including how to correctly handle syntactic structures, and whether to allow ranges or accept certain punctuation. Every decision can considerably affect functionality. I pondered whether existing routes can also become overloaded with complexity. As we drew closer to implementation, we faced additional hurdles around user expectations and feature availability in this proposal. The story ends today with David, reflecting that just because something seems obvious, it might not be, and confirming that the related pull request is currently closed.
01:13:27 If anyone here has better ideas on how to proceed, please give feedback. If you need to perform batch or collection routing in Rails, there is a gem available that offers a different approach, known as BatAPI. Thank you for your attention! Now, I want to shift my focus to underwater Ruby. My name is Chris Trigger, I’m from the Philippines. If you look on the map, it’s the big red country; on the right is Japan, above is China, and then there’s the Philippines. I want to discuss something interesting: underwater Ruby. This concept illustrates how scuba divers who code can balance their passions.
01:15:50 A couple of weeks ago, we had our second Ruby conference in the Philippines. It was fun because we had people who ventured into scuba diving for the first time, some attendees experienced diving, led by several skilled speakers. The event focuses on sharing knowledge along with participating in activities. Interestingly, we found that clams in the Philippines actually produce rubies. They became bored waiting for Pearl to release a new version, so they started producing rubies! If you're considering a visit, remember that diving isn't exclusive to the Philippines; here in Atlanta, there's the Georgia Aquarium.
01:17:00 So, if you want to dive with whale sharks, the Georgia Aquarium offers that experience! I met someone named Eric during Rubicon India who spoke about diving. He attended Rubicon Australia and went diving afterward. It sparked an idea to organize these experiences during conferences. This is an excellent way to combine interests. Speaking of connections, my favorite Australian is Phil AR, who is from New Zealand. He attended the Ruby conference in the Philippines and went diving as well.
01:18:36 We want to introduce you to RubyConf PH! We have five of the ten speakers from those conferences here today. Among them, we have Amy and Andre giving lightning talks later. We also have Kichi, Pj, Rad, Schim, SAR Ley. If you're keen to learn more about the Philippines, feel free to talk to them or check out our Twitter handle for RubyConf PH. We have two conferences planned for the upcoming year.
01:20:01 Thank you for listening, our community is supportive and welcoming to newcomers! We keep our prices low, thanks to the help of sponsors. It's run by volunteers from the community. Find us if you have ideas for new locations or venues to host future conferences.
01:21:30 Next up, I'm going to talk about how we at Jammer messed up with microservices while getting some things right. First, I have to say a high level that telling your craft seriously makes you feel human. As a big Rails app with a swarm of microservices, we have had a fair share of failed attempts at managing transport layers and implementing solutions, especially focusing on what's essential for service interactions.
01:22:45 One of the distinct problems we encountered was regarding backpressure and the pitfalls of racing to scale without defining rigorous limits. We are learning to remain mindful of doing things like setting limits on queues to control the flow of messages. It’s also crucial to be conscious of storage solutions. Early decisions to adopt external database solutions influenced our ability to scale. I also learned that redefining inter-service communication formats early would help with manageable integration.
01:23:45 With microservices, splitting them too thin could essentially backfire. We’re working closer to adopting a design principle that emphasizes practical limits on our services, while keeping a keen awareness of dependencies across the board. Additionally, I would like to highlight the importance of robust monitoring systems for all of our services. We learned that metrics visibility directly affects our operational capacity; it’s critical to have effective logging and monitoring insights available.
01:24:56 I would also like to share the significance of measuring your systems to understand their performances better. It's crucial to provide fault tolerance, plan for outages strategically, and inject resilience to recover from failures swiftly.
01:25:45 In closing, make sure to prepare and utilize all the available resources you have, leverage community experiences in microservices, to help ease the transition for each development phase!