00:00:00.000
Ready for takeoff.
00:00:17.580
Hello everybody! I'm very excited to be here. I'm starting my talk with this loading GIF intentionally because I didn't want people to get scared of the actual talk.
00:00:23.520
I am going to talk about the war in Ukraine. And before you think, 'Oh God, Ukraine. Not again!' I want to promise a couple of things.
00:00:29.820
I promise not to share any violent pictures, and I promise not to talk about politics. I will make a couple of humble attempts at humor, and I promise to try my best to answer two questions: why and how. Why should we help here, as attendees of the Ruby conference, and how can we do it?
00:00:41.460
But who am I to talk about this? I'm Olya Boiaryntseva, a full-stack engineer at Cisco Meraki. I apologize; I forgot to take off my mask. And here's the shocking news: Cisco Meraki is still hiring.
00:00:49.200
I'm also Ukrainian. My family is in Ukraine. My cousin is currently in the army, fighting on the front lines, while my grandparents are in a city occupied by Russia.
00:00:55.079
The majority of my family and friends are in Kyiv. They are without power, heat, and water, but they are there and they are fighting.
00:01:07.020
So, why should we help? First of all, I believe that all of us here are Ukrainians in some way. You are either Ukrainian or you have Ukrainian relatives or friends.
00:01:12.479
If you don't have a Ukrainian friend, come talk to me after the talk. I will be your Ukrainian friend.
00:01:18.060
Also, we should care about this professionally. Here is a shameless plug: Victor Chaple, a very prominent member of the Ruby community, was actually a speaker here at RubyConf in Nashville, 2019.
00:01:29.820
Victor is currently in Kharkiv. Just imagine, Kharkiv is a city in the eastern part of Ukraine, which has been bombed every single day for the past nine months. He's still committed to open source and is a contributor to the Ruby language.
00:01:47.220
So, if you don't want to be friends with me, think about this professionally. Here is Victor, showing his dedication, and consider how we can help.
00:02:03.119
Of course, the best way to help is by donating money. Usually, people divide between those who donate always and those, like my husband, who believe it’s a scam and that it never reaches its destination.
00:02:15.000
Yes, with big international charities, only a little fraction of the money reaches the intended place, so the best way is to find local charities that work there in Ukraine.
00:02:24.659
However, it can be hard for Americans to find these local charities [[you have to know the Ukrainian language, you have to have friends, but now you have one friend]].
00:02:33.860
But still, if it's hard to do that, I would ask you to take just one picture from this talk, please take a picture of this charity: Razum.
00:03:01.000
Razum means "together" in Ukrainian.
00:03:05.340
This charity was founded in the United States and is fully transparent with its expenses, plus they are a registered nonprofit. So if you donate to this charity, you can claim the money on your tax return.
00:03:24.689
I personally volunteered with this organization for many years. I know all the members of the board, and not a single cent is spent on salaries. Everything you donate will go to Ukraine.
00:03:34.440
But now I want to mention another way you can help. I imagine there are a lot of professionals in this room.
00:03:40.899
I ask you, please hire Ukrainians. There are many Ukrainians in the United States who came here through the United For Ukraine program.
00:03:50.700
Maybe you have an offshore team and you're thinking about letting go of your Ukrainian team because of power outages. Let me tell you, those people are buying Starlink to have power and Wi-Fi.
00:04:01.200
So please, don't fire them; hire Ukrainians.
00:04:09.060
I’ve been good with my time. I have ten seconds left. I wanted to say a huge thank you. I want you to remember me not as just another Ukrainian asking for money, but as one who said, without you, we could not continue fighting. Thank you very much.
00:04:25.020
Hi everyone, my name is Jose Miguel Tomita Rodriguez, but you can call me Xiaomi for short.
00:04:30.419
This is my talk: baking is like programming.
00:04:37.860
A little about myself: I'm a pastry chef turned developer and aspiring career transitioner.
00:04:45.360
The title of my program is "Vegan Gluten-Free Baking is Like Tutorial Hell: Lessons from the Entry Developer Trenches."
00:04:51.300
I've always loved baking. I’ve been baking since middle school and have worked professionally with vegan gluten-free pastries for the past three years.
00:04:58.020
As for software engineering, I've grown to love it as well. My first experience coding was in high school, where I almost failed the class.
00:05:04.560
I was reintroduced to programming in undergrad when I coded for video games, and as of March this year, I graduated from the Flatiron School software engineering boot camp.
00:05:11.020
Let’s dive right in! For those of you who do not know what tutorial hell is, it is an early period in the developer lifecycle.
00:05:17.760
It’s when bootcamp graduates, self-taught coders, and any other poor souls jump from tutorial to tutorial, trying to level up their skills.
00:05:24.360
They hope to become self-reliant coders and land that first tech job.
00:05:29.340
Unfortunately, jumping around can easily turn into an endless cycle.
00:05:38.160
Either the material doesn’t stick or you get lost in the amount of code and skills needed to become a competitive candidate.
00:05:44.620
This inability to break out of that cycle turns into a loop and becomes hellish.
00:05:51.720
The smacking around in the dark is actually very similar to the work I do at the bakery.
00:06:02.099
So what's the deal with vegan gluten-free baking?
00:06:08.640
First of all, it's not very well documented science. There are many online recipes that we can call tutorials for the focus of this talk, but they leave a lot to be desired.
00:06:15.060
Usually, they're only really good as a jumping-off point.
00:06:21.780
Additionally, there are constraints in the bakery I work at.
00:06:27.600
Not only do we serve people who have Celiac or vegan diets, but there's also an emphasis on healthful eating.
00:06:34.060
Everything is organic and minimally processed, which leads to many design constraints.
00:06:42.780
For example, these design constraints provide an abundance of options regarding ingredient choice.
00:06:49.740
Do you use almond flour, sorghum flour, millet, brown rice, or oat flour? What amount of fats do you use?
00:06:58.860
Do you utilize coconut oil or olive oil?
00:07:05.100
What mix of ingredients are you going to choose that gives the results you want in terms of flavor, presentation, and cost?
00:07:11.400
Let's take starches as an example. There are a variety of starches we use at the bakery, and they all basically do the same thing.
00:07:17.660
However, they each have their own nuances. Unless you experiment with them, you won't know what they do.
00:07:23.880
This abundance of options is akin to the many programming languages and frameworks available.
00:07:29.760
As an entry-level developer, you can feel lost amidst all the tutorials and guides available online.
00:07:36.660
Without a set guidebook, it becomes a protracted process not only to make single batches or one-off tutorial-based projects but also to develop good coding patterns and self-reliance.
00:07:45.720
To break free from this tutorial hell, we need persistence and continuous learning.
00:07:50.700
For example, every time I make cinnamon rolls at work, I learn something new that may become a best practice.
00:07:56.820
Did you know that if you add more water than you think to gluten-free bread, you actually get a better rise because it becomes fluffier?
00:08:03.060
Or how about that you can only get one rise out of gluten-free bread? My hypothesis is that there's no gluten structure to reinflate.
00:08:11.160
We've got one good rise. This is similar to how I learned Redux—by going through it and learning it.
00:08:17.180
Another lesson is to repurpose your mistakes. Don't let them go to waste.
00:08:24.720
Even if you're stuck on a project, comment it; at least that will count as a GitHub contribution.
00:08:30.180
And lean into your support network. I have been blessed with a strong support network that has helped me persevere through both baking and coding.
00:08:36.720
Friends, family, and mentors have contributed to my success. Also, my classically trained pastry chef, Katie, has been learning alongside me.
00:08:43.380
With her expertise and my hands-on knowledge, we made it through the pandemic gluten-free, and I have also had the opportunity to meet many inspiring engineers.
00:08:49.440
Lastly, I have my lovely family—my husband and my cat—who have been with me throughout the process.
00:08:55.740
Without them, I wouldn’t be here today. Thank you for your time, and feel free to connect with me if you'd like.
00:09:02.820
My name is Tom Brown, and I'm glad to be here. Here's my presentation on sharing our personal identifiers on Mastodon.
00:09:09.360
For instance, on Mastodon, using a username like Alice at mastodon.social is complicated because that domain is not personal.
00:09:20.640
So, what if she wants to use her personal domain? The cheapest and easiest option is to add a .well-known/webfinger file.
00:09:26.160
She can use the Novu Mataki's web finger gem to assist her with this.
00:09:30.960
If she installs the web finger gem and connects her personal email to the web finger, she will receive a JSON object.
00:09:38.520
Then, she can put that data into her .well-known/webfinger on Jekyll and ensure the well-known directory is included.
00:09:45.060
This way, she can be searched for using her personal domain instead.
00:09:53.040
Thank you!
00:09:58.700
I'm going to need a little help, Barrett. If I could have your help up here, please?
00:10:06.240
Thank you! I only have one minute to address a glaring topic in the room.
00:10:12.420
I have spoken at RubyConf for Rails several times to discuss an important issue in our community.
00:10:18.600
Because I only have a minute, I will quickly go through a handful of things.
00:10:24.720
First, I believe everyone here has the best intentions to learn how to give a stellar high-five.
00:10:30.720
So, I'm going to cover that today.
00:10:36.180
Deep breaths; thank you! I know it’s a unique time for high-fives, so I would like to advocate for alternatives.
00:10:42.660
Barrett and I will demonstrate a few alternatives for you to practice.
00:10:48.360
First up is called the jellyfish. It goes like this: extend for a high-five, then stop and float away.
00:10:54.840
Those are no-contact alternatives, so Barrett and I will show you how to do that.
00:11:01.260
Now, the next one I'm sure you’re used to is the elbow bump.
00:11:07.380
Lastly, we will show you the foot bump, which you're probably familiar with.
00:11:13.680
I know that the World Cup is happening, so please don't take out your aggression during this!
00:11:19.500
So, it goes like this. Very good!
00:11:26.580
Now, please demonstrate amongst yourselves. If you're comfortable participating in an actual stellar high-five, I can teach you that too.
00:11:34.680
Step number one: don't look at your hand, look at their elbow instead.
00:11:40.560
It will sound great every time. Look at their elbow. Congratulations, you all just gave a stellar high-five!
00:11:54.420
Hello everyone, my name is Richard. Today I'm going to talk about open source, but before that, I want to share a little about CPR.
00:12:01.800
CPR is a life-saving technique that stands for cardiopulmonary resuscitation.
00:12:08.060
Has anyone here ever taken a CPR class?
00:12:15.660
Good, I'm glad to see a lot of hands. You will probably know this already.
00:12:20.340
One of the things you’re trained to do in CPR is to single out one person to call 911.
00:12:26.100
Why just one person and not yell for everyone to call it?
00:12:33.279
If you don't single someone out, everyone assumes someone else will handle the problem.
00:12:39.038
This is known as the bystander effect.
00:12:46.100
Now, the more people we perceive who know about a problem, the less likely we are to believe it's our responsibility to fix it.
00:12:53.980
That's why when commencing CPR, you pinpoint someone to call 911. You're breaking the bystander effect.
00:13:01.560
What does all of this have to do with software, you might wonder?
00:13:08.380
Please raise your hand if you have ever used software.
00:13:15.420
Okay, great! Keep your hand up if you have encountered a bug in your software.
00:13:21.620
Wow, even more hands! Keep your hand raised if you have filed an issue about that bug.
00:13:26.440
Alright, keep your hand raised if you have submitted a pull request to fix that bug.
00:13:32.160
Thank you. Everyone look around, these are the very same individuals who saw a problem and chose to take action.
00:13:39.920
I want to give a round of applause to everyone who has contributed to open source.
00:13:46.160
When people see a problem in software, they often assume that everyone knows about it, and the bystander effect kicks in.
00:13:53.960
The good news is that there is an antidote to combat the bystander effect. You can choose to become an active bystander.
00:14:01.060
Next time you see a problem, remind yourself that if you don't take action, no one will.
00:14:07.240
It's all about taking action. To contribute to open source, start by setting a simple open source goal.
00:14:14.500
When I began, I wanted to make a commit into Rails, which I did, and I was thrilled!
00:14:20.800
I want you to pick something that excites you. After that, take an action that moves towards that goal.
00:14:27.480
If making a commit seems daunting, slice it thinner. Instead of fixing a bug with a commit, file an issue.
00:14:34.200
If you can’t do that, slice it thinner still. Can you look at someone else's issue and leave a helpful comment?
00:14:43.900
Reproduce their reproduction of the bug? If you can’t do that, slice it even thinner.
00:14:50.700
You might read another issue and find a helpful comment, give it a heart emoji, and say 'Great job!'
00:14:56.520
Even the smallest action counts and encourages you to engage more.
00:15:01.920
As you help yourself and others in this way, you can break out of the bystander effect.
00:15:07.920
If you want some help getting started contributing, I created CodeTriaged.com, which sends you an issue in your inbox.
00:15:16.260
I announced it ten years ago at RubyConf, so it feels like quite a homecoming.
00:15:24.840
With the issue in your inbox, you can read it, comment, heart it, or depending on your level of involvement, you might even fix it!
00:15:31.560
For the rest of the conference, you can take ten dollars off my book, 'How to Open Source,' with the code RUBYCONF2022.
00:15:39.300
Come talk to me later if you'd like to discuss open source or just want a sticker!
00:15:46.140
Everyone in this room has the capacity to change our community. You have the ability to change the world!
00:15:54.000
The important part is that you take action to break out of the bystander effect.
00:16:00.840
Can everybody hear me? I need this hand free for a moment because I want to hold my drink.
00:16:07.200
Thank you! My name is Bryce Simons, and I know the burning question you're all asking: is that my dog on my shirt?
00:16:15.660
Yes, it is! Her name is Cora, and she is three years old. She’s not related to the talk, but I wanted her for good luck.
00:16:22.740
I am also a career changer. I attended the Turning School of Software and Design; shout out to them, they’re amazing!
00:16:28.400
I’m also very fortunate to be part of the Scholars and Guides program.
00:16:34.080
I want to shout out RubyConf for helping me attend!
00:16:41.620
Now, I was thinking about what type of lightning talk I wanted to give.
00:16:48.020
I have a tendency to talk a lot, so I might talk a little fast because I have a lot to say.
00:16:56.300
I wanted to cover something fun, so I picked a game called Simon Says.
00:17:02.460
Can I get a raise of hands from everyone who has played Simon Says before?
00:17:11.900
Awesome! Now I’m going to go over the rules to make sure we’re all on the same page.
00:17:17.820
Here’s how we play: I’ll be Simon. When I say “Simon says,” followed by an action, you will perform that action.
00:17:30.020
For example, if I say, 'Simon says, put your hand on your head,' you will do that.
00:17:36.300
However, if I say an action without saying 'Simon says' first and you do it, you’re out!
00:17:43.360
Now, Simon says, put your hand on your head. Great job!
00:17:50.400
Now, Simon says, touch your shoulders.
00:17:57.780
Simon says, touch your nose. Simon says, put a finger in your ear.
00:18:04.900
Simon says, put your hand on your cheek.
00:18:07.100
Some of you are cheating! Simon says, pause. Everyone take a seat.
00:18:14.000
Now, why do we play this game? It’s a fun reminder that your actions count.
00:18:21.760
If you want to see change in your workplace or in your relationships, lead by your actions.
00:18:28.720
So, keep that in mind as you move forward. Thank you for your time!
00:18:35.040
Hi, my name is Jacob Daddario. I'm a junior Ruby on Rails developer.
00:18:41.040
I had the good fortune to break into the industry this past year, and this is my first RubyConf.
00:18:47.160
So, thanks for welcoming me!
00:18:53.540
I want to give a 500-foot view of models, specifically multi-tenancy and row-level multi-tenancy.
00:18:59.200
Disclaimer: I am a junior developer, and I wanted to show younger developers that these technical concepts, though intimidating, are easier to understand than they seem.
00:19:04.860
I developed a small toy application with some friends still in college, and I wanted to implement multi-tenancy.
00:19:11.640
So, I hopped on Twitter and asked friends for gems people use for this.
00:19:17.400
Chris Oliver maintains the access tenant gem, so I opened the source code and found that it was only about ten files—how hard could that be?
00:19:24.700
I don't pay myself to work on my toy app; I figured time didn't matter, so I began experimenting to see if I could learn something.
00:19:31.640
Most of it is just adding code to the models, with a few key pieces for row-level tenant safety.
00:19:37.500
Here are the three pieces for making your models tenant-safe:
00:19:44.500
First, safety by default: my tenant is called 'organization,' which means we have a default scope on all your models.
00:19:51.980
This ensures records don’t accidentally bleed between tenant accounts.
00:19:57.920
Second, we set the tenant on the models automatically.
00:20:04.800
Anytime you run a create action on a model, it will automatically set that tenant ID.
00:20:12.160
Last, we validate that all records belong to the same tenant.
00:20:19.320
This validation checks that records with inherit relationships belong to the same tenant.
00:20:25.580
Finally, we locked down accessors to control how tenants can be set.
00:20:32.920
That's a brief overview of what I've done with multi-tenancy.
00:20:39.760
This experience helped me clarify some fears about these concepts.
00:20:46.440
Thank you for taking the time to listen! I'm glad to have the chance to share.
00:20:53.080
Hey everyone! I'm Mike Eduard, a software engineer at Fountain.
00:21:00.920
I wanted to share my positive experience with mentorship; specifically, coming from the mentor side.
00:21:07.740
I've been coding across different companies for about ten years, and I joined Fountain in July.
00:21:14.440
This is my first time working in a real shop.
00:21:21.680
I work with Ruby day to day, and this is my first time in a Ruby shop professionally.
00:21:27.720
One of the things I talked to my manager about when I started was mentoring student engineers.
00:21:34.800
He suggested I mentor someone at Fountain, which I thought was great.
00:21:41.540
My mentee, who’s actually here today, has been a big help in understanding how things work.
00:21:48.060
I could show him how I think about pair programming and TDD, and he helps me understand our system.
00:21:54.900
Mentorship isn't just about helping another; it helps mentors improve too.
00:22:02.280
I want to shout out that we’re setting up a formal mentorship program based on our experiences.
00:22:09.720
If you want to learn more about the initiative or pick my brain, I'll be available today and tomorrow.
00:22:24.660
I guess this is my lightning talk, titled 'Why Open Source is Easy.'
00:22:31.540
I picked that name because it’s something you can immediately dispute—how can he say open-source contribution is easy?
00:22:40.060
This talk is for people who have never made an open-source contribution.
00:22:47.240
For me, the barrier to entry felt high due to the vast number of libraries and projects.
00:22:54.620
I often wondered how I could make a meaningful contribution.
00:23:00.780
It turns out contributing to open-source is actually easy.
00:23:06.180
One of my recent PRs was for Hanabi, and it was super small. If you look at the last ten commits, you will see it.
00:23:13.740
My approach was not to search for any grand contributions.
00:23:20.440
Everyone talked about how innovative and interesting Hanabi seemed.
00:23:28.280
So, I decided to dig in myself.
00:23:35.020
As I navigated the toolsets, I followed the documentation and guidelines.
00:23:41.760
I noticed the output didn’t match what the documentation said.
00:23:47.560
That was when I knew I should edit the documentation and push for a PR.
00:23:54.120
My contribution felt more like 'leaving it better than I found it.'
00:24:00.680
The best part was that one of the principal developers on that project saw my PR and thanked me for my contribution.
00:24:08.540
To me, that felt significant; I felt part of a community that cares.
00:24:15.640
I encourage everyone to contribute to open source because the Ruby community is incredibly welcoming.
00:24:21.460
In closing, take action! Become more involved.
00:24:28.260
Hey everyone, I'm Jenner. I'm here to talk about something I've recently worked on.
00:24:35.380
I've been working with a company called Flux.ai, a web-based schematic capture and PCB design tool.
00:24:42.360
It's kind of mind-boggling; if you asked me a year ago, I would think it impossible.
00:24:48.720
I'm looking into integrating a thirty-year-old circuit simulation library called NG Spice.
00:24:56.620
We want to compile this for WebAssembly and run it in the browser.
00:25:01.680
This means we need to translate a schematic into a netlist format for NG Spice.
00:25:08.520
Once we have that, we can conduct a transient analysis.
00:25:15.000
After running it for a certain duration, we get an estimate of the voltages over time.
00:25:21.840
For example, running it for two and a half seconds gives us data points.
00:25:28.640
What we’re interested in is the memory usage when we simulate longer periods and with different circuits.
00:25:35.340
This was a challenging domain for me, having primarily worked in full-stack web development.
00:25:44.480
In the NG Spice repository, they have examples that I was able to plug into a script to measure memory usage.
00:25:50.800
First, I had to identify the peak memory usage.
00:25:57.840
Using GNU's time utility, I was able to track this effectively.
00:26:02.440
The script took different circuit parameters to process the simulations and parse the output.
00:26:08.400
Then, I entered the data into plots to analyze scaling with simulation duration.
00:26:14.940
I also wanted to improve the usability of the script by allowing unit arguments.
00:26:21.620
Instead of specifying nanoseconds constantly, I wanted the option to say ms or us.
00:26:28.460
I added methods to the Numeric class to accept these conversions.
00:26:35.300
This is how it basically works in practice.
00:26:41.920
Overall, I really love Ruby for helping me navigate areas where I had major imposter syndrome.
00:26:47.720
It enabled me to understand and work through concepts that I was still grasping.
00:26:54.560
I appreciate you all listening.
00:27:01.620
Today I'm going to share a little about my journey getting into Ruby.
00:27:06.480
Good afternoon everyone! My talk is called 'Don't Abuse Reduce.'
00:27:11.380
My love letter to our lovely Enumerable module.
00:27:18.640
I work for Shopify, specifically on the Shop app.
00:27:25.060
I just want to give a thesis right away: with powerful code constructs, you might lose understanding at a glance.
00:27:31.740
When it comes to loops, the idea is clearer in imperative code compared to functional style.
00:27:37.880
For illustration, let’s say we have nested cohorts of students and want to find who’s on the honor roll.
00:27:45.840
The imperative code is nested and complicated to follow.
00:27:52.180
In contrast, using methods like map or filter is relatively clearer.
00:27:59.560
When encountering reduce, we may end up with unclear results.
00:28:06.640
This almost makes us feel like we have to play interpreter in our heads.
00:28:14.160
There are other examples, like grouping by criteria. We find ourselves over-complicating the method.
00:28:22.320
In this example, reduce could be avoided, and a clearer method could be implemented.
00:28:29.960
In conclusion, use the Enumerable module to ensure greater understandability in your code.
00:28:34.920
With this clarity, others can easier comprehend your code at a glance.
00:28:41.520
I'd like to dive into marketing buzzwords that are heavily inflated.
00:28:47.680
In the context of Stack Overflow, we've proposed a model to avoid stupid questions.
00:28:55.140
The best way to prevent this is through professional tools.
00:29:00.579
What if we could have chips installed in our brains to help guide our questioning?
00:29:06.780
The first question I would like us to ponder together is how to ask better questions.
00:29:12.060
My first test question would be: Can I embed a PHP script into my Rails app?
00:29:20.880
You know that’s a terrible question! Maybe rewrite it in Rust!
00:29:27.360
Another robin is: 'Can I convince them to use Ruby?' No, that is off-topic!
00:29:35.040
Additionally, asking how to run rails, ENV production, and DB drop might lead to catastrophic data loss.
00:29:48.360
Lastly, checking the color Chuck Norris is red? That one's a duplicate.
00:29:53.860
Can we transpile React into Ruby to put it on the front end?
00:30:01.680
And lastly, how do I make the voices stop?
00:30:07.259
I put this warning slide that might include hallucinations, depression, and difficulty distinguishing reality.
00:30:14.500
Some applicants in the trial program have not been found.
00:30:21.580
Thank you all for your attention!
00:30:25.420
Hi, I’m Casey.
00:30:31.060
I want to tell you about an injury I had as a tech worker.
00:30:36.500
Did you know there are job hazards in tech? Coding for 30 years might not be healthy!
00:30:42.860
I was incapacitated for two months two years ago.
00:30:49.140
I couldn't do anything; I couldn't drive or sit at a computer.
00:30:54.940
My friend brought over a projector to watch Mary Poppins—thoughtful, but miserable!
00:31:01.040
I have what doctors call peripheral neuropathy. It causes nerve pain.
00:31:08.020
This happens when tension in the neck or shoulders affects the nerve.
00:31:16.120
You may have a similar nerve issue if you're programming hunched over.
00:31:24.240
How can you heal? Perhaps do less of the activities irritating it.
00:31:31.500
Maintaining an ergonomic desk setup can help prevent poor posture.
00:31:38.180
In terms of healthcare, prevention isn't easy in the U.S. until symptoms become debilitating.
00:31:44.620
If your fingers start tingling, that often leads you into the healthcare system.
00:31:50.940
I urge you all to prioritize your health. Thank you!
00:31:57.320
Hi everyone! I was coding at home one afternoon when it became dark outside.
00:32:05.540
I suddenly realized the sun was gone, so I wrote a song about it.
00:32:12.560
[To the tune of 'Under the Boardwalk'].
00:32:20.080
Oh, when the sun goes down, my screen’s the only thing I see.
00:32:27.460
This troubled world recedes, leaving just my code and me.