Dominic Lizarraga

Lightning Talks

Lightning Talks

by Michelle Yuen, Katya Sarmiento, Tim Carey, Dominic Lizarraga, Kaylah Rose Mitchell, Angela Choi, Greta Parks, Rock Davenport, Mia Szinek, Jack Permenter, Rachael Wright Munn, Jonan Scheffler, Naofumi Kagami, Samantha Holstine, Max Wofford, Gary Tou, Caleb Denio, Obie Fernandez, Peter Szinek, Mason Meirs, Joshua Paine, Eric Saupe, Josh Nichols, Amanda Lundberg, and Vagmi Mudumbai

The video titled "Lightning Talks" features a series of short, impactful presentations from various speakers at RailsConf 2023. Each speaker delivers a five-minute talk on different topics primarily related to software development and technology. Here are the key points discussed throughout the video:

  • Presentations Format: The session follows a strict five-minute format per speaker, ensuring a fast-paced and engaging experience for the audience.

  • Key Topics:

    • Citizen Science: Michelle Ewan discusses the Xenoverse platform, where volunteers can help with scientific research by classifying images of asteroids. This demonstrates the power of collective contributions to science.
    • Mental Health Awareness: Katya highlights avoidant restrictive food intake disorder (ARFID), sharing personal insights and advocating for better understanding and awareness of this eating disorder.
    • Career Advice for Developers: Tim shares how prior experiences, like being an auto mechanic, helped him as a software developer; emphasizing problem-solving skills are transferable across disciplines.
    • Data Privacy: Kayla Rose Mitchell discusses the importance of data minimization and privacy in software engineering, especially in light of evolving regulations like the California Privacy Rights Act.
    • Secure Password Practices: Angela advocates for stronger password policies in web applications to boost security, emphasizing the risks of weak passwords.
    • Career Transition Stories: Greta shares her journey from a professional cellist to a software engineer, highlighting the importance of curiosity and self-worth in navigating career changes.
    • Technical Insights: Multiple speakers cover practical technical advice, highlighting how to effectively use join tables in databases, the importance of using strong password requirements, and how to implement OpenTelemetry for application tracing.
  • Call to Action: Each talk concludes with an invitation for the audience to engage further, share experiences, and explore collaborations within the Ruby on Rails community.

Overall, the video offers varied insights into technology, personal experiences, and practical knowledge, aimed at enhancing understanding and application in software development and related fields.

00:00:19.140 Okay, there are very strict rules for lightning talks in this house. You get exactly five minutes, and then I'm going to start banging this so much that no one can hear you. You have to get off the stage. Hopefully, you don't go right down to five minutes. It's nothing personal; we have a long list of people and two hours to get through them all. If you can make your talk less than five minutes, please feel free to do so; we love that too. We have two stations here, and we're going to take turns going back and forth. We'll have someone presenting here, and then as they approach the end of their five minutes, we'll have you come over here if you're next on deck, so we can go back and forth rapid-fire. Are there any questions? How did I get so fabulous? It just came that way.
00:01:40.500 All right, let me tell you a bit about myself. My name is Michelle Ewan and I am a software developer for the Adler Planetarium in Chicago. Yeah, it’s freaking awesome! Thank you. More specifically, I work with the Xenoverse platform at universe.org. You might be asking, "What is the Xenoverse?" Very good question! It is the largest platform for people-powered research, also known as citizen science. We enable volunteers from around the world to participate in real research projects across various disciplines, from astronomy and biology to the arts and humanities. We have over 2.5 million registered users and over 250 million classifications.
00:02:20.220 Now that we know each other, let's do some science! Let me explain what we're going to be doing. We will be looking for active asteroids. Surprisingly, scientists don't really know much about asteroids out there because there aren’t many active asteroids to study. That’s what this project is about. We will be looking for a tail or a gas-like cloud called a coma in the images.
00:02:38.459 If it has either of those, then it’s a potential asteroid with comet-like activity, as we call it. So let's get started! If you're curious about how the researchers got these images, they actually come from the Dark Energy camera at an observatory in Chile. Everyone can see this, right? Now, this is the science contribution interaction part.
00:04:04.379 So, you may be wondering, "Wait, Michelle, do contributions like this really help researchers in their field?" Absolutely! As an example, in a similar project called Galaxy Zoo, one of our volunteers found a weird grain blob when classifying galaxies. She asked the community about it; no one knew what it was – not even the researchers. It was identified as a galaxy-sized gas cloud caused by a neighboring black hole. Crazy, right? No one even knew about it until one of our volunteers pointed it out. So all this to say, your contributions and curiosity make a difference.
00:04:47.360 Okay, great job everyone! Oh, thanks for listening to my talk. Here is my social media if you want to contact me. I want to say that this universe is mostly grant funded, and we do corporate volunteer events. So if you or your company are interested, please contact me. I'm over here! If you’re in Chicago, please reach out. I will give you free tickets to the museum – not for 7,000 people, but a small group is fine! Yeah.
00:05:35.400 Hi everyone! My name is Katya, or you can call me Cat if that’s easier. You can also come up and meow at me; either way works! Before I start, just a quick trigger warning: I will be talking about mental health and eating disorders, so if you don’t feel comfortable, that’s totally okay. Two years ago, I was diagnosed with ADHD, specifically combined type. I thought it would be cool to call myself the ADH decoder and hope to start a blog one day. But I haven’t gotten to it because I procrastinated. What I really want to talk about today though is ARFID.
00:06:01.540 Raise your hand if you know what ARFID is. A couple of people? Awesome! The reason why I want to talk about this is that there's not a lot of awareness around this issue. I was also diagnosed with ARFID when I received my ADHD diagnosis. I found out that a lot of people with ADHD also have ARFID. And what ARFID is, is an eating disorder called Avoidant Restrictive Food Intake Disorder. I like to call it extreme picky eating because that’s what I was told growing up. Food can be extremely stressful for me. I come from a Hispanic household, so I was forced to sit at the table until I finished all my food. I was expected to try things I didn’t want to try.
00:06:59.399 The thing about this eating disorder is that if I try to eat something and I don't like it, it's not that I don’t want it; I have a physical response. I get nauseous, I get anxious; it's not a pleasant experience. Not a lot of people talk about this. Initially, when I was told having an eating disorder, I thought, "I don’t care about my weight, I don’t count calories, I don’t have an eating disorder.” But the reason why this is an eating disorder is because there is a possibility of malnourishment. I was malnourished as a kid. There was a point in my adulthood where I was only eating like 400 calories a day.
00:08:47.520 I wish more people talked about this and offered solutions because all the apps out there are just focused on counting calories or diets, and that causes a lot of shame and judgments. Even events like this can be hard for me; I couldn't eat lunch today because it had tomato in it. Yes, I could take the tomato out, but I know I’ll get nauseous just eating it, even without the tomato. How do you share dietary restrictions like that? It feels so random and specific. It’s really difficult to manage. So, during a hackathon, I created an app. Selfishly, because I really needed a solution, I called it Meal Mind.
00:09:41.099 If you go to the QR code, you can actually see the GitHub repo. It has a lot of bugs, I will tell you that right off the bat. I did it in under two weeks while learning XJS Typescript, super basic – like do not recommend for a hackathon. But I want to refactor it from scratch, build it up, and start talking about it more. My goal is to give people a chance to have a food profile, so to speak, where they can track the foods that they like, the foods they don’t like, and perhaps get encouraged to try new things. I tried octopus the other week, which I think is bulpo. I liked it! I'm like okay, I can track that.
00:10:37.020 I can see I tried octopus one time and if I go to a tapas place, I can maybe try something else. It might go well or it might not go well, but at least I can keep track of that. Especially with ADHD, I don’t usually remember what I like or what I don’t like, which is kind of weird considering I should. The fact that food is such a stressful event doesn’t help; it’s the first thing out of my mind, but the worst thing because I'll show up to Chipotle and order chicken instead of carnitas, and then I just don’t want to eat for the rest of the day.
00:12:50.640 I am self-taught. I didn’t have the money to go to college or anything because of previous school loans. So today, I want to talk about how I supercharged my career with my prior experience as an auto mechanic and how it helped me problem-solve and debug problems every day. When a customer brings a car and says, "Hey, I have this weird noise in the right front when I go over bumps," as an experienced mechanic, I already have some thoughts going on in my head, like okay, it might be a strut or a ball joint. But am I just going to go blindly replace this strut? No, that would make an unhappy customer. So what do you do? You road test it; you verify the customer's concern.
00:14:11.640 Same thing in code, right? If a customer is saying, "Hey, when I submit this form, I get this error," you know better than to say, "Well, I don't know why I did this early in my career." Why would I go rebuild the whole form? That doesn’t make sense, right? So you verify their concern. If they do, in fact, have this noise, you bring it back to the shop, and you check things out, like checking the ball joint. That’s good! A lot of what has to do with problem-solving is also not finding what’s bad, but what's good. There’s nothing wrong with finding what's good because eventually, you’ll land on what’s faulty. You check the strut, and you see some fluid leaking out. Bingo! There it is.
00:15:14.420 Now you know to look up the procedures to replace this thing. Then what do you do? Just give it back to the customer without testing it first? No. Right? So you take it back on a road test, and oh, you know, the noise is gone now! But now the steering wheel is crooked because you took apart their steering—same thing in code, right? You fix one bug, and sometimes you create more. That’s why it’s important to have tests, as I found out very early on in my developer career as well.
00:16:49.920 So you fix the steering and return it back to the customer, and now they’re happy! So to any second career developers out there, I guess the moral of my story is to use your past experiences to supercharge your career. Okay, um, hi everyone, my name is Dominic. I’m from Mexico, and I’m attending this RailsConf as a scholar with guidance from Colin Gilbert. My topic today is traversing the depths of the ActiveRecord source code.
00:18:38.760 Just a few days ago, I was tasked to understand some methods of the Pay gem, so I wondered how I could make a shortcut to really grasp what I was doing. I built a brief acronym: Building Life Through Reliable Gems. Each of the first letters refers to different parts: the first is bin, the second is lib, which is the most important part of the whole gem, then we have test for testing, and lastly, the gem specs. If you try to memorize just the acronym, I think it’s a bit easier.
00:19:30.680 On the left, you can see a visual of how a gem structure is comprised, so let’s see Rails in action. In this case, we just started a new Rails project, added the gem, created one user model, and then added the method. The method I was after was pay_customer. What’s useful in this case is calling source_location on the class, in this case, user. You also need to be precise as to call the method you want to know more about. This will throw us two elements inside an array: a string that contains the entire path of the gem and an integer that represents the line number where you can find that method.
00:20:32.540 Another method I used in order to understand it at a high level is calling the class to see what modules it includes. We can match this to what the first method threw us, and this is just a simplified version of the file. You might not see the file, but it is the 86th line. In order to get more insights into that method, this would be vital.
00:21:32.580 What is a Rails engine, in this case, different than a gem file? It is different because it provides functionalities such as internationalization. A simple way to think of it is as a mini Rails app that you can integrate into your normal Rails app, and one commonly known example is Devise. These two paragraphs are taken from the Rails guide regarding the Pay gem, which is the Rails engine, and the main takeaway is the two methods we used: source_location and looking at included modules, along with exploring Rails engine documentation. That would be all from my side; thank you!
00:22:57.940 Good afternoon, I'm Kayla Rose Mitchell. I’m a software developer primarily working in Ruby on Rails, and I'm excited to talk to you today about data minimization and data privacy. As software engineers, we have a responsibility to design and build systems that protect the privacy of individuals and their personal data. This means incorporating privacy considerations into every stage of the software development life cycle, from design and planning all the way to maintenance.
00:23:54.920 On January 1st of this year, the California Privacy Rights Act came into effect, providing greater privacy protections for California residents, such as data access requests, data deletion requests, and more. Other states are following suit, but how do you balance future business and consumer needs versus the benefits of deleting data? A potential answer to this question lies at the heart of privacy engineering, and that's the principle of data minimization.
00:24:58.440 Data minimization is a principle of data protection that states that only the minimum amount of personal data necessary for a specific purpose should be collected, processed, and retained. It's an essential component of privacy by design and a key element of many data protection regulations such as EU's GDPR and CCPA. Data minimization aims to reduce the risks associated with data processing by limiting the amount of personal data that organizations collect, store, and use.
00:26:18.600 By collecting and processing only the data necessary for a specific purpose, organizations can reduce the potential for data breaches, unauthorized access, and misuse of personal data. This means that we should only collect and use the data necessary for a system to function and no more, especially in the current reality where data is being generated at an unprecedented rate.
00:27:42.780 Oftentimes, this data translates to profits for companies, making them less inclined to limit what they collect. The profit generated from selling excessive data pales compared to the revenue that comes from building consumer trust and retention. When consumers trust products and services, they experience greater freedom, increased creativity, and are empowered rather than just unable to use technology. So let’s embrace privacy engineering and work to create a world where privacy is respected and innovation thrives.
00:28:46.020 Alright, so hello everyone! I’ll be doing a quick five-minute presentation on secure passwords. My name is Angela, I'm a software developer at Bitesight, a custom software agency based out of Toronto. I'm a scholar at RailsConf and I'm super passionate about web security. In August 2022, I received an email and multiple text messages from my bank because my bank account was locked and almost hacked. It was incredibly nerve-wracking, and since then, I've changed and increased my password to over 30 characters using a password manager.
00:29:45.379 I’ve also taken a greater interest in web security, and I did some research on the top ten most common passwords in 2023. If your password is on this list, I highly encourage you to change it as soon as possible. I noticed that all the passwords are short, less than ten characters. This got me thinking about how I can help users have secure passwords on web apps where I work. At my job, we work with Ruby on Rails and Devise. With Devise, the minimum character length is six, and there are no requirements for uppercase, lowercase letters, numbers, or symbols.
00:30:51.560 So basically, passwords like 123456 are acceptable! QWERTY is also accepted! You can write one six times and that actually exceeds the minimum requirement. The word password is going above and beyond with eight characters! So here’s a chart of the time it takes for hackers to brute-force your password in 2022. Most applications use a minimum of eight characters with numbers, uppercase, and lowercase letters.
00:31:56.740 This takes only thirty-nine minutes to hack! If you have twelve characters with numbers, uppercase and lowercase letters, and symbols, it takes three thousand years to crack! That’s insane! Good news: Devise allows you to customize the minimum password length, increasing it above six characters, which is what I did for a web app I worked on. You can also scan to find out more about the documentation. Here are a few key takeaways: enforcing strong password requirements will help users protect their accounts. Increasing your password to twelve plus characters, adding uppercase, lowercase, symbols, and numbers equals three thousand years to crack.
00:32:50.440 Lastly, here are some sample password suggestions like "I love pizza123!", or "unicorns$456!", or "cool!456#". All of these are above twelve characters long. Lastly, don’t forget; you can always customize your password length using Devise. Thank you, and feel free to connect with me on social media.
00:33:52.000 Hi everyone. I'm Greta, and today I would like to talk about how I transitioned from being a professional cellist to a software engineer at GitHub. Many of you might be looking for jobs earlier in your careers, so I thought it might be interesting to share my story. When I say professional cellist, I really mean it. I have a master's degree in cello performance and a certificate in college teaching. I played with the Colorado Symphony and performed at Red Rocks, so I've had a lot of fun in the cello world.
00:34:46.620 But deep down, I wanted something different - something new, more puzzles. I love puzzles! I decided software engineering was the way to go, but making that career switch was really hard. The first thing I learned is it’s really important to be curious and study a lot, not just about your new field. I remember studying a lot in a coffee shop, asking so many questions to the barista that I was invited to work there a few times for fun! That led me to learn about Lottie art.
00:35:57.760 Another big lesson was not to sell yourself short; know your value! When I got my first job, I actually started in data entry, but I told them I was worth more. I showed them my resume and why they should pay me more. Once I demonstrated my passion and individual contributions, I wrote a script to automate my responsibilities, which led to me getting that person’s job! The next essential lesson was to follow your interests and passions. I wasn’t coding enough at that job, so I decided to apply elsewhere.
00:37:15.660 I’d love to share more about my journey. After getting laid off at my data engineering job, I realized that I couldn’t let any negatives get me down because if I did, I wouldn’t get anywhere. I started applying, believing in myself and my abilities. That belief and some humor helped me pass the interview process! Once you get to speak with interviewers, remember they're fellow developers, so just be yourself and be confident.
00:38:14.200 So remember: be curious, study hard, be passionate, and believe in yourself. If you’re looking for a job, I believe you all got this! Feel free to reach out to me on social media and catch up in the hallways.
00:40:07.940 Good afternoon, everyone. My name is Rock Davenport, and I am honored to be one of the scholars in the 2023 Rubicon Scholars and Guides Program. I want to express my gratitude to the board of directors and staff at Ruby Central for producing a high-level and inclusive event, as well as to all of you who have been supportive of me and provided words of encouragement during my time here.
00:41:03.999 Today, I’m going to talk about resilience. As some of you may know, I was born and raised in Brooklyn, New York, and my earliest memories are of my mom wearing a shirt that said 'Frasier.' My mom wore the shirt frequently. At some points in my life, I thought it was our family name, but it was actually a replica jersey of a guy named Walt Frasier, who you might have heard of. What I’m trying to say is I was born a New York Knickerbocker fan. Anyone who knows anything about professional basketball, specifically about the New York Knicks, would know they had a run in the ‘90s where they were a pretty good team.
00:42:26.679 They spent a lot of years in the playoffs but never actually made it to the championship, thanks to Michael Jordan. The 2003-2004 season showed the Knicks falling off a bit; after that, they went six straight years without making the playoffs at all. We eventually got Carmelo Anthony, who led us to the playoffs for three consecutive years. Shortly after that, we went another seven years without making the playoffs, to my dismay. It hasn’t been easy being a Knicks fan; our beloved team has been the butt of jokes from late-night comedians to your local cookout jester. Despite this, I have remained loyal to the Knicks.
00:43:52.120 Anyone who is a Knicks fan will let you know that that’s their team, even when Brooklyn came into town, there was no changing allegiances. This led me to a discovery: I was born with the ability to be very resilient. Some may call it delusion, but I see my loyalty to the team as an unwavering characteristic that has shaped me as a person. Throughout my life, I noticed that resilience showed up time and time again, whether it was a difficult medical diagnosis of a family member or a missing semicolon somewhere in code. I’ve stuck with it, addressing challenges head-on.
00:45:50.179 It’s that resilience that I’m proud to bring with me along with other tools as a developer. It’s that stick-to-itiveness that will provide me with the courage to strive for another solution, to dig a little deeper, and to face unknown challenges, only to wake up and do it all over again the next day. I encourage everyone, whenever that day comes and you're faced with a challenge, to dig deep inside and pull out your inner Knicks fan.
00:46:56.300 I want to share a hilarious, adventurous tale of being a solo parent while living around the world with three kids. Yes, just me and my little entourage! If you're wondering who the oldest is, he’s standing right next to me. Long story short, one day my husband met an Indian guy who convinced us to move to Bangalore to found a startup together. My response? Sure, why not? Let’s just quit our jobs and uproot our lives! Easy peasy. To prevent our jobs from going to India, we traveled there first and took a leap of faith, moving halfway across the world to live amongst the locals.
00:48:54.820 Talk about culture shock! But the fun didn’t stop there. To save my brilliant autistic six-year-old from being taught to be normal by all the experts in my country’s teachers and psychiatrists, we needed a way out. Our next stop was Thailand, where my six-year-old, Zoe, who is a prodigy, picked up dialects faster than I could say 'Ba-dye.' Suddenly, she became our personal translator and tour guide, while Ida was adopted by the local monastery thanks to their kind-hearted Buddhist babysitter.
00:50:56.140 Now, my little blonde girl is not only a local celebrity, but also a food enthusiast! Neighbors would knock on our door asking to borrow her to show around town. Can you believe that? We traveled to Singapore and met a Chinese couple who became the kids’ second set of parents, and we loved it. We immersed ourselves in diverse cultures, tantalizing food, and amazing experiences. This journey took us to Indonesia, where we found a very welcoming Muslim community.
00:51:32.660 Throughout our travels, we've visited over 70 countries and even experienced life through a military coup! We left two bombing sites just an hour before disaster struck. Talk about living on the edge! I’ve been taken aside for a friendly interrogation in Indonesia, which I like to call a less-than-pleasant facility. You should also picture a sign that shows a finger – you get the picture, a moment that made me rethink my life choices.
00:52:27.679 During the monsoon season in Bali, our wooden gates shut, forcing us to channel our inner lumberjacks with axes and machetes to escape! Speaking of Bali, there are many stories where earthquakes and volcanic ash kept us at the airport for two days! So, what was the result of these adventurous experiences? Zoe, the prodigy that she is, now speaks seven languages. She passed her first AP art history test at the age of twelve with flying colors. She received a five and mind you, she started learning English just two years before that! We never even lived in an English-speaking country.
00:53:21.699 At thirteen, she became a Korean-English translator working on webtoons and even started her own successful international business, importing K-Pop merchandise and spreading it across the globe. Ida, not to be left behind, speaks four languages, but at eleven, she still has plenty of time to catch up with her older sister. She plays chess like a pro, and when she’s not studying her chess games or learning new moves, she's least deep in developing her very first 3D game in Unity. Their appreciation for life is incredible.
00:54:02.280 Having been exposed to various cultures and languages has completely rewired their brains, turning them into superhumans. We always knew they would be, so what’s the secret to our lifestyle? Simple! Get a remote job or win the lottery! Either one works! It’s about being independent and teaching your kids independence. It’s simply not feasible to keep them in a bubble; protect them or do everything for them.
00:55:20.800 Are they hungry? Teach them to cook! My kids have been preparing their food since they could reach the stove. Encourage your kids to take care of themselves and solve their issues; it will save your sanity! Let your kids fail again and again! It’s how they learn! My children are now seasoned experts in failure - but they know how to pick themselves back up and keep moving forward. Be open-minded! As you journey through the world, you’ll meet all kinds of people!
00:57:10.800 So for the people in the back, just imagine a Rubik's Cube in your mind; it’s a mental exercise. Or you can move to the front to see the actual cube! Part of my motivation for this talk is I was once awarded the most likely person to start a yo-yo fad at my job. I started a couple of go board game fads and, recently, another co-worker and I started on cubing. I like to think I’m pretty successful in how I do.
00:58:24.680 So, I encourage you to bring this trend back wherever your company is. Now, it’s pretty hard to teach you the full algorithms for solving a Rubik's Cube in five minutes, so I’m shortening this to just the first two layers of the cube. I like to go over the anatomy of the cube, the pieces, and when they are considered solved. Each face has a center piece, which is stationary, then four edge pieces adjacent to two center pieces which are solved when they are positioned correctly.
00:59:38.299 You also have corner pieces, which consider solved when they are adjacent to all three faces of the correct color and they are aligned properly. Now I’ve told you about the three different types of pieces on the Rubik's Cube; I’d like to go over algorithms. An algorithm is a sequence of rotations you apply to a cube to transform its state. These algorithms are helpful because most of the time you've already solved a part of the cube and don’t want to interfere with the solved pieces.
01:01:00.860 So I wanted to show a simple algorithm today called the sexy move. It’s very easy to pull off and satisfying, and it's often used in more complicated algorithms. From there, I’ll go over a very beginner-friendly method to solving the first two layers.
01:02:00.350 So first, let’s start off with this. This is Rubik's Cube; it is a three by three by three cube, with three pieces across, height-wise, and depth-wise. If you look at the bottom side, it gets like the states of the cube that sinks into the move puzzle to solve. As soon as you can make it easy to profile individual components, similar to what we've been talking about, we get this which looks like we just keep scrolling and scrolling to see where the controller is.
01:03:07.540 In the end, we’re seeing the controller down at the very last spot where it is. So we’re separating codes into classes, exploring alternate ways to visualize.
01:04:10.600 I'm going to skip over some of the video flows, but if you want to chat about flame graphs while having a good drink, I'd be delighted!
01:06:45.960 Now, a little bit about myself: I trained as a court reporter from 2009 to 2012. I was hired by a big TV captioning company right out of school, and I captioned shows like Good Morning America, the Sochi Olympics, and prime time events.
01:07:15.699 I captioned half of the 2014 World Cup and have spent time captioning all sorts of interesting things like grazing conferences (yes, about cows) and conferences about maple syrup production. I captioned many areas of tech conferences, utilizing an extensive experience in corporate settings, medical schools, veterinary schools, pretty much anything!
01:08:10.250 My passion is captioning events for accessibility because being able to provide these services means getting everyone included. Additionally, I’m proud to let you know that I can write efficiently with amazing speed on a Steno keyboard!