Summarized using AI

Self-Care on Rails

Ben Greenberg • October 21, 2021 • online • Talk

In the talk titled "Self-Care on Rails," delivered by Ben Greenberg at EMEA on Rails 2021, he reflects on the challenges faced during the pandemic and shares how Ruby on Rails played a pivotal role in improving the quality of life for him and his family. The presentation emphasizes the importance of self-care and the need for developers to create tools that support both their well-being and that of others.

Key Points Discussed:

- Role of Technology in Self-Care: Ben highlights how developers can use their skills for good amidst difficult times, focusing on utilizing Ruby on Rails to create significant life enhancements.

- Community and Ethical Responsibility: The Ruby community is filled with initiatives aimed at doing good through code, along with the notion that those with privilege, especially in programming, have an ethical responsibility to make society better.

- Personal Reflection on Self-Care: The speaker shares personal struggles from the pandemic year, noting how mental health issues surged, especially among the youth, and underscores the importance of self-interest and taking care of oneself amidst community responsibilities.

- Real-Life Applications: Ben illustrates how he addressed his children’s needs during the pandemic by creating applications:

- Virtual Birthday Parties: He built a Ruby on Rails application utilizing WebRTC technology for his son’s birthday party, allowing kids to connect and celebrate virtually by sharing videos and having real-time conversations. This helped alleviate feelings of isolation during lockdowns.

- Automating Health Declarations: Ben developed a Ruby gem called 'School Declare' to simplify the daily task of submitting health declarations required by schools, thus streamlining a burdensome daily obligation into a manageable automated process.

- Conclusions and Takeaways: The talk concludes with a significant message about giving oneself permission to seek ease and reduce stress, reinforcing that self-care is not selfish but essential. Ben encourages developers to remember that personal priorities matter and to create solutions that prioritize mental well-being.

Overall, this engaging talk serves as an encouraging call to action for developers to integrate self-care into their coding practices and to utilize their skills for improving lives in meaningful ways.

Self-Care on Rails
Ben Greenberg • online • Talk

Date: October 21, 2021
Published: unknown
Announced: unknown

This past year has been one of the most challenging years in recent memory. The pandemic has taken a toll, including on children.

Adults used their professional skills to help make the year a little better for the kids in our lives: Therapists counseled, entertainers delighted, teachers educated... and Rails developers developed!

In this talk, I'll share the apps I built on Rails that helped my kids and me cope, celebrate and persevere through the year.

In 2020, tech was pivotal in keeping us going, and for my kids, Rails made the year a little more manageable.

This talk was delivered at EMEA on Rails, a virtual mega-meetup which took place on June 9, 2021.

EMEA on Rails 2021

00:00:18.640 hello
00:00:19.760 everyone hello out there and wonderful
00:00:23.359 uh today we're going to talk about if
00:00:25.519 you could turn off your audio aria
00:00:26.800 that'd be awesome
00:00:28.240 today we're going to talk about
00:00:30.240 self-care on rails
00:00:32.480 before we do so about who i am my name
00:00:34.480 is ben green i am a developer advocate
00:00:38.000 we are mission control for community we
00:00:40.480 help uh
00:01:13.040 ariel embarrassed but the sound just
00:01:14.799 dropped
00:01:47.680 burden yourself to have friends have
00:01:49.280 companions to connect with others and
00:01:51.520 share what is uh bothering you so for me
00:01:55.280 in this past year of 2020 there was a
00:01:57.119 lot about basically using all of you as
00:01:59.680 an unburdening so thank you for that in
00:02:02.000 advance and what we want to do is talk
00:02:04.399 about the ways in which ruby and ruby on
00:02:06.640 rails can help you make your life a
00:02:09.440 little bit better and specifically how
00:02:12.080 it helped make my life and my family's
00:02:14.080 life a little bit better so first of all
00:02:17.760 there's an entire
00:02:19.360 uh arena of doing good with code you
00:02:23.040 know the the ruby community is full of
00:02:25.360 initiatives do good with code there's
00:02:27.680 things like rails girls and and you know
00:02:30.800 with ruby central has the ruby
00:02:32.319 conferences and rails conferences and
00:02:34.239 ruby gems and all initiatives and you
00:02:36.239 know that to this day so many coding
00:02:38.480 boot camps they begin with ruby if they
00:02:41.040 maybe not they don't end there but they
00:02:42.400 begin with brew becomes the entryway
00:02:44.560 into this world that we're all in uh for
00:02:47.519 so many newcomers into uh this field
00:02:50.480 there's so much out there to do good
00:02:52.080 with and in fact could even argue that
00:02:54.080 you might have an ethical obligation
00:02:56.879 good this quote is from a talk that
00:02:59.120 sandy metz gave at the last in-person
00:03:02.000 ruby conference in nashville in 2019 in
00:03:05.920 the b4 times and this quote is from a
00:03:08.080 professor of uh political science
00:03:10.640 university of chicago where the
00:03:12.080 professor that those who have the most
00:03:14.000 privilege it could perhaps fall on them
00:03:17.040 even more so to help make society better
00:03:19.920 and in almost every society in on earth
00:03:23.360 programmers software developers are some
00:03:25.360 of the most amply rewarded people we're
00:03:27.599 some of the most best paid people best
00:03:29.599 rewarded people so one could argue
00:03:31.519 within the construct of you know this uh
00:03:34.080 presentation by sandy's presentation
00:03:36.000 which i highly recommend watching if you
00:03:37.280 have a chance
00:03:38.480 that we have a unique obligation to
00:03:41.200 really do good in uh society at large in
00:03:45.360 fact you know there's a thing called the
00:03:47.360 hippocratic oath have you heard of this
00:03:49.040 hippocratic open source license to sound
00:03:51.280 familiar to any of you out there this is
00:03:53.200 a license so what is open source
00:03:54.799 licensing mostly with mostly concerned
00:03:57.040 with
00:03:57.920 you know keep my code for commercial
00:03:59.760 purposes i'm putting out code in the in
00:04:01.920 the open source world on github on
00:04:03.920 github and whatever can you take it and
00:04:06.640 use it without attribution with
00:04:08.000 attribution how can you actually
00:04:09.920 attribute it back to me do you have to
00:04:11.280 attribute it back to me
00:04:12.799 not concerned with what the effect of
00:04:14.720 the code is right this license which is
00:04:17.280 now gaining steam out in the general
00:04:19.199 community software community in the open
00:04:21.120 source world basically says i also want
00:04:23.600 to be concerned with what my code and i
00:04:26.240 want to put constraints on how you can
00:04:28.560 use my code in ways that i'm going to
00:04:30.880 deem unethical immoral for various
00:04:33.440 reasons and you you whoever can't use
00:04:36.400 this code if it doesn't paradigms laid
00:04:38.639 forth in this license even if you
00:04:40.080 attribute it to me you know with like h1
00:04:42.400 font everywhere it's all it's amazing
00:04:44.479 you know ben wrote this but if ben wrote
00:04:46.560 this what you're doing and the license
00:04:48.320 restricts it then you can't use it so
00:04:50.880 there's a lot going on in the world when
00:04:52.639 it comes to things like that but amongst
00:04:55.199 all of the idea of doing good in the
00:04:58.080 world doing good in the community doing
00:04:59.520 good with your code there's something
00:05:01.280 that we often forget and i'm gonna speak
00:05:03.199 for myself personally and maybe you also
00:05:05.759 can fit in this category we often forget
00:05:08.560 ourselves taking care of ourselves you
00:05:11.360 know there's a lot to say about if
00:05:13.360 you're not for yourself
00:05:14.960 then who's going to be for you and you
00:05:16.800 know this can be somewhat of a loaded
00:05:18.960 idea
00:05:20.080 the the concept the very idea of
00:05:23.680 self-interest
00:05:24.960 that you you know you matter that what
00:05:27.680 you do and what you value and who you
00:05:30.479 like and what you want to hang out with
00:05:32.000 and what kind of things you want to do
00:05:33.600 that all these things actually are
00:05:35.600 important
00:05:36.720 that we are told so often in life that
00:05:38.800 we don't matter that always put other
00:05:41.360 people first
00:05:42.639 and you know this quote from the midwest
00:05:45.280 academy manual which is sort of like the
00:05:47.680 textbook for community organizing it
00:05:49.440 came out of chicago from a school of
00:05:51.440 thought from saul alinsky and sort of
00:05:52.960 the whole 1960s mood of the organizing
00:05:55.120 basically says no
00:05:57.039 take that out and throw it out what
00:05:59.440 actually matters is to reconstitute your
00:06:01.600 vision as not like well there's you and
00:06:03.840 you don't really matter because you're
00:06:04.960 just yourself to know put yourself back
00:06:07.360 with everyone else and make a chorus of
00:06:09.919 voices and you need to synchronize
00:06:11.600 yourself with everyone else and
00:06:13.280 understand that your voice is amongst
00:06:15.039 that chorus of voices and you just as
00:06:17.600 you take care of others you have to take
00:06:19.759 care of yourself too this almost doesn't
00:06:22.400 sound revolutionary but yet it's so
00:06:24.240 revolutionary like we're taught so often
00:06:26.880 to not think about ourselves but we we
00:06:29.520 do that we sublimate ourselves we
00:06:30.960 supplement ourselves we forget ourselves
00:06:32.720 and it can lead to all sorts of issues
00:06:34.720 so it's not a bad thing to be
00:06:37.600 self-interested it's not a bad thing to
00:06:40.639 take care of yourself and there's so
00:06:42.639 many instances of how this happened and
00:06:44.960 manifested in this past year with
00:06:46.639 chronovirus you know this quote is from
00:06:48.639 the new york times talking about how
00:06:50.720 youth psychiatry wards were filled in
00:06:53.759 europe as they were throughout many
00:06:55.440 parts of the world children adolescents
00:06:58.080 adults were really suffering with the
00:07:01.520 the constraints
00:07:03.120 of the pandemic from an epidemiological
00:07:05.759 from a health perspective you know what
00:07:07.599 made us
00:07:08.800 find health-wise from a physical health
00:07:10.560 perspective kind of obliterated for many
00:07:12.880 of us our mental health
00:07:14.479 and really cause a real weight on our
00:07:17.599 ability to
00:07:18.880 feel like alive our ability to feel like
00:07:21.599 part of the world so the things that
00:07:22.880 kept us safe from chronovirus really
00:07:25.120 hurt us to the point where there were
00:07:26.720 people in uh
00:07:28.400 um
00:07:29.599 you know in england psychiatrists were
00:07:31.520 recommending that children break the
00:07:33.360 lockdown
00:07:34.479 in order to cope because they were
00:07:36.960 becoming suicidal they were gaining
00:07:39.039 suicidal thoughts because they were so
00:07:41.120 alone so trying to weigh the mental
00:07:43.199 health and the physical health and how
00:07:44.560 you kind of balance those two things is
00:07:46.479 not an easy thing and taking care of
00:07:48.000 yourself in that mix is really really
00:07:49.919 hard so on the sort of the big macro
00:07:53.199 level but even on the micro level this
00:07:54.879 quotes from a blog post from the dev
00:07:57.120 vlog where this person is like so
00:07:59.360 my life before a chronovirus i went to
00:08:01.520 work i went to the coffee shops and i
00:08:03.280 had a partner have a partner maybe they
00:08:04.879 don't have any more i don't know but i
00:08:06.319 had a partner have a partner and they
00:08:08.319 would also do their thing and now with
00:08:10.080 lockdown we're confined to our small
00:08:12.160 apartment
00:08:13.199 and they're working all day i'm working
00:08:15.120 all day we're both in the same room we
00:08:16.879 never leave this space and they're
00:08:18.319 driving me crazy
00:08:20.160 like suddenly like i didn't like i
00:08:22.080 didn't get into a relationship with you
00:08:23.199 for lunch
00:08:24.400 you know our relationship with you was
00:08:25.680 like breakfast and dinner not lunch
00:08:27.360 lunches you're supposed to be out of the
00:08:28.400 house but now i have you with breakfast
00:08:30.400 lunch and dinner and it's like driving
00:08:32.479 like
00:08:33.200 wild so you know even on the very small
00:08:36.159 micro level there was a lot of issues
00:08:38.560 that we were all facing
00:08:40.360 individually and this was also me too
00:08:43.680 and i just want to share a couple
00:08:44.880 examples for you uh for how we dealt
00:08:47.440 with it and how you know ruby on rails
00:08:49.279 actually helped us deal with it and they
00:08:50.880 come from the lives of my kids because
00:08:52.880 you know if you uh are a parent or if
00:08:54.720 you have children in your lives or
00:08:55.760 you're close to children in your lives
00:08:56.800 you know that children can occupy a
00:08:58.399 really central part in your life as a as
00:09:00.720 a cousin or an aunt or an uncle or a
00:09:02.800 parent or a caregiver or whatever
00:09:05.519 and so for us this manifested around
00:09:08.160 birthdays and around uh health
00:09:11.200 submission forms and we're going to get
00:09:13.040 to that in a minute and those are people
00:09:14.720 here in the tel aviv space when i said
00:09:17.040 like hatsu
00:09:18.240 like help submission forms i saw eyes
00:09:20.640 rolling like uh you know we all have the
00:09:23.680 stories with them uh so parenting is not
00:09:27.680 easy as is the most obvious statement
00:09:30.080 captain obvious could ever make
00:09:31.839 parenting during a pandemic
00:09:34.959 is freaking hard
00:09:36.560 it's really hard to parent during a
00:09:38.320 pandemic and for my kids and maybe you
00:09:41.120 know others who have kids can resonate
00:09:43.519 birthday parties at a certain age are
00:09:45.600 really important and kids like plan
00:09:48.080 their birthday parties for a long time
00:09:50.480 they are really excited for them so we
00:09:52.640 come to uh you know 2020 and it's my
00:09:56.720 son's ninth birthday party he just
00:09:58.320 celebrated his 10th one a couple months
00:09:59.600 ago and it was in person it was a real
00:10:01.920 life game among us it was awesome but
00:10:04.320 2020 he what we gonna do we started
00:10:07.279 running through all the lists of ideas
00:10:08.880 for a birthday party and none of them
00:10:10.800 could work you can't go bowling you
00:10:12.320 can't go to a movie you can't do really
00:10:14.880 and he was getting really depressed so i
00:10:17.760 essentially said you know rails has to
00:10:19.920 come to the rescue and i looked at my
00:10:22.720 computer and i typed rail's new birthday
00:10:25.680 party i didn't exactly know what would
00:10:27.839 be in that birthday party yet i like i'm
00:10:29.920 going to build something that's gonna
00:10:31.279 not have him be so sad because as a
00:10:33.600 father i couldn't stand seeing him so
00:10:35.440 sad and i wanted to help him and so i
00:10:37.360 went and like okay rails new birthday
00:10:39.680 party what am i gonna do with this well
00:10:41.600 thankfully there are things that can
00:10:42.880 actually help us one of them is a
00:10:44.640 technology called webrtc you may be
00:10:46.880 familiar with the webrtc it's an open
00:10:48.720 standard it's available in your browser
00:10:50.640 it allows you to do real-time
00:10:51.920 communication uh in your browser
00:10:54.480 basically uh audio video screen sharing
00:10:57.360 in fact this very platform we're on
00:10:59.279 right now is probably powered by webrtc
00:11:01.519 and webrtc is really cool but like a lot
00:11:04.880 of things webrtc can get pretty complex
00:11:07.839 so initially it's a you know you're you
00:11:09.920 have a front end and you're manipulating
00:11:12.079 the dom the browser the experience and
00:11:14.640 you're having event listeners and you're
00:11:16.160 waiting for people to subscribe to the
00:11:17.440 streams and you are adding them or if
00:11:19.680 they disconnect you're taking it out of
00:11:20.800 the stream and all that kind of fun
00:11:22.079 stuff but when you eventually start
00:11:24.079 getting into the complexities of it it's
00:11:27.120 kind of like golf in that this quote
00:11:29.600 from honorable palmer really i think
00:11:30.880 resonates golf is deceptively simple and
00:11:33.600 endlessly complicated it satisfies the
00:11:36.480 soul and frustrates the intellect well i
00:11:38.959 think the same is true
00:11:40.560 for uh coding and webrtc is incredibly
00:11:44.800 complex when you start trying to use it
00:11:46.399 in some ways which like beyond i'm gonna
00:11:48.480 have a one-on-one chat with you like i'm
00:11:50.399 gonna have like your video feed and my
00:11:52.399 video feed and we're gonna share a video
00:11:53.680 feed that's great that's simple but the
00:11:55.760 idea we wanted to manifest for his
00:11:57.279 birthday party was we would have two
00:11:59.360 separate views in the app one would be
00:12:01.680 everyone be hanging out together sharing
00:12:03.279 their video and chatting from their
00:12:05.200 computers and then my son is the
00:12:07.760 party and moderator admin whatever would
00:12:10.560 switch views to watch party and then it
00:12:13.120 would go to a watch party view and then
00:12:15.440 he would have his screen share of like
00:12:17.040 netflix or something and there'd be a
00:12:18.880 text chat on the side happening
00:12:20.480 synchronously and they could like chat
00:12:22.399 around like what they're watching like
00:12:24.160 kind of like you go to have a movie
00:12:25.200 party basically kind of simulate that
00:12:27.440 experience but online and then he could
00:12:29.839 go from the watch party back to like the
00:12:32.079 chat view so i was trying to code that
00:12:34.240 with just the basic open standard of
00:12:36.160 webrtc and i'm going not going quite
00:12:39.440 bold but i'm going more bald trying to
00:12:41.519 do that and it was getting incredibly
00:12:43.600 frustrating to do that but thankfully
00:12:45.600 there are actually there is things to
00:12:47.279 help you in this regard and there's two
00:12:49.279 of them particular that i think are
00:12:50.639 important to call out uh both companies
00:12:52.880 so these are commercial companies that
00:12:54.560 help
00:12:55.360 uh basically abstract webrtc simplify it
00:12:58.800 a little bit one is vonage and the other
00:13:00.240 one is twilio full disclosure i used to
00:13:02.480 work for vonage i don't work for them
00:13:03.680 anymore so everything i'm saying is
00:13:04.880 fully non-commercial uh
00:13:07.120 vonage and trillio both allow you to uh
00:13:10.560 make those api calls to them
00:13:12.880 tell them what that you want to do
00:13:15.440 with a webrtc create any kind of complex
00:13:18.000 video app you want and it does all the
00:13:19.920 webrtc work behind the scenes for you so
00:13:22.880 you don't actually have to like
00:13:24.639 worry about it basically like it takes
00:13:26.560 care of it for you and you know so
00:13:28.639 vonage has a ruby sdk which a lot of
00:13:31.760 this is front end so you have some
00:13:33.680 javascript but it has ruby sk which
00:13:35.760 allows you to sort of instantiate the
00:13:37.200 server credentials and the tokens and
00:13:39.279 pass it to the front end on the twilio
00:13:41.199 side it's all entirely on the java sdk
00:13:43.600 javascript sdk there is no ruby sdks
00:13:45.920 it's all javascript all the time so
00:13:48.399 depending on what your pleasure is uh
00:13:50.399 you pick your poison essentially
00:13:52.880 and you know like i said
00:13:54.959 you can't escape javascript
00:13:56.959 unfortunately so you're gonna have to
00:13:58.880 write a lot of javascript for this
00:14:00.160 because you are matching the browser
00:14:02.880 experience and you know yes there's i
00:14:04.720 apparently ways do this in rails magical
00:14:07.120 ways and rails to make it like a dynamic
00:14:08.959 browser experience and it's awesome but
00:14:11.519 if you want to do it in the
00:14:12.480 old-fashioned javascript way the non-dhh
00:14:14.800 way then you have to use a lot of
00:14:16.399 javascript to like manage the browser
00:14:17.839 and open and close things automatically
00:14:19.519 without refreshing so a lot of
00:14:21.199 javascript is going on there and uh what
00:14:23.760 you end up is essentially is
00:14:25.680 uh set up the video chat you set up the
00:14:28.240 credentials and then you create a bunch
00:14:29.600 of different event listeners and you can
00:14:31.760 use the javascript sdk from either one
00:14:34.000 of them to basically have a function
00:14:35.440 call instead of like okay i need to
00:14:37.360 build out this whole webrtc thing and
00:14:39.279 it's going to be this long i'm just
00:14:40.320 going to make a function call to this
00:14:42.079 api using this sdk wrapper and it does
00:14:44.240 it all for me so that helped me
00:14:46.399 basically create uh a video app uh video
00:14:49.680 birthday party map that's kind of
00:14:50.800 exactly what it looked like a little bit
00:14:52.240 so it had like a welcome page you know
00:14:54.399 well this is in hebrew because the
00:14:55.839 birthday party was in israel welcome to
00:14:58.079 the birthday party put in your name put
00:14:59.440 in your password come on and the first
00:15:01.440 thing is you get the video watch party
00:15:04.000 i took this screenshot after so there's
00:15:05.839 only me in there but you'd see a bunch
00:15:07.440 of different boxes and all the kids
00:15:09.360 would be in the boxes and they could
00:15:10.800 chat and then you go into the the watch
00:15:13.279 party element of it
00:15:14.959 and uh you'd have the sort of
00:15:17.000 semi-transparent uh text chat on the
00:15:19.680 side that so as they're watching the
00:15:22.079 whatever they're watching they could
00:15:23.760 like hang out and chat about at the same
00:15:25.600 time uh and then they could go back and
00:15:27.519 forth as often as they wanted as often
00:15:28.959 as my son wanted to turn them back and
00:15:30.639 forth basically he had a lot of fun with
00:15:33.199 it
00:15:33.839 and it ended up being really awesome and
00:15:35.920 it really helped him in tremendous ways
00:15:38.399 cope with that experience because you
00:15:40.399 know for me
00:15:41.440 when my birthday comes around i'm like
00:15:43.120 ugh my birthday again how old am i this
00:15:45.040 year like for him he's still like
00:15:47.360 excited about birthdays like birthdays
00:15:49.279 are still a big deal and he was really
00:15:51.680 pumped about it that we were able to
00:15:53.680 create for him something it made me feel
00:15:55.040 like super dad like able to create
00:15:56.639 something for him that helped give him a
00:15:58.079 really great experience uh for him and
00:16:00.480 for the kids in his uh neighborhood as
00:16:02.240 well and i think i said already that
00:16:04.560 parenting isn't easy so in addition to a
00:16:06.560 birthday party we also had to deal with
00:16:08.000 something else so here locally in israel
00:16:10.720 we had a requirement for kids in school
00:16:12.959 when school was open which might have
00:16:15.040 been in some months sunday and monday
00:16:17.519 tuesday but half day wednesday and one
00:16:19.600 hour on thursday and then not for two
00:16:21.519 weeks and then uh then wednesday and
00:16:22.959 then thursday but only on the second
00:16:24.320 sunday if it happens to be on the the
00:16:26.800 calendaring of school and opening
00:16:29.040 closings in this country was i don't
00:16:31.519 know other places was uh mind-boggling
00:16:34.160 for parents uh open clothes open clothes
00:16:36.959 et cetera but when it was actually open
00:16:39.360 parent responsibility to also submit a
00:16:42.320 daily health declaration every day for
00:16:44.800 their kids and the way it would work is
00:16:46.880 you're in the morning you're getting
00:16:48.000 your kids ready for school
00:16:49.519 is your lunch packed in the backpack do
00:16:51.279 you have the books you need i don't want
00:16:52.959 to get a call from the teacher your son
00:16:54.959 forgot this thing again how how bad of a
00:16:57.120 parent are you like you have everything
00:16:58.880 you need you know do you have your mask
00:17:01.120 because that's the thing now do you have
00:17:02.079 your mask you have your water you have
00:17:03.360 this you have that and then i also have
00:17:04.799 to sit at my computer log on to this
00:17:06.799 website that's built pretty poorly log
00:17:09.199 on to the website find where the health
00:17:11.039 decoration thing is with changes
00:17:12.480 occasionally submit it for one kid go
00:17:15.360 back submit it for the kid and then i'm
00:17:17.120 done like in what world does that make
00:17:19.760 any sense that it was not going to
00:17:21.280 happen so when you're faced with you
00:17:23.520 know a pretty significant problem um you
00:17:25.919 know that and to life is challenging as
00:17:28.640 it is one little thing can totally crash
00:17:31.280 it and we know we do basically when
00:17:33.280 we're faced with a major issue is we
00:17:35.360 automate it right if there's something
00:17:36.799 that i have to do every single day
00:17:38.880 i'm gonna find it that's exactly what i
00:17:40.640 did using ruby i built a gem and the gem
00:17:43.760 is called uh school declare it's still
00:17:45.919 on ruby gems and essentially what it
00:17:47.919 does is it scrapes this website uh this
00:17:51.120 israeli ministry of education website uh
00:17:53.600 goes through the website and there's
00:17:54.799 actually a bit of a cat and mouse i
00:17:56.000 played with the israeli ministry of
00:17:57.039 education because initially they kept on
00:17:59.440 realizing i was submitting it in a way
00:18:01.520 which i wasn't supposed to submit it and
00:18:02.640 they kept on changing the website in
00:18:03.840 slight ways to throw my app off and then
00:18:05.840 i went back and changed it and then they
00:18:07.440 changed it and back and forth for about
00:18:09.280 a week until they gave a week week and a
00:18:10.799 half till they gave up and i was just
00:18:12.320 happy and i put this app on a github
00:18:15.679 action and ran it on a cron schedule of
00:18:18.880 every single morning and had it send me
00:18:21.120 a text message when it was done
00:18:23.039 so can you imagine how helpful that is
00:18:25.200 right so instead of having to do this
00:18:27.120 myself every single day my app basically
00:18:29.840 you know validated for me that the the
00:18:32.480 form was submitted not just for one kid
00:18:34.000 but for both kids it told me if there
00:18:35.760 was an issue and would alert me if there
00:18:36.960 was an issue as well and then if there
00:18:38.640 was an issue that's probably because the
00:18:40.320 programmers at the ministry change
00:18:41.919 something so i have to go back and
00:18:42.960 change it again so for the first week
00:18:44.480 and a half this was more work for me
00:18:46.240 because i had to keep on figuring out
00:18:47.760 what you know class name on a div they
00:18:49.840 changed or like how they slightly
00:18:52.160 modified the app to break my their
00:18:54.160 website to break my app but eventually
00:18:55.919 when they stopped doing that it worked
00:18:57.440 beautifully and uh and my life was never
00:19:01.039 the same again basically it was a
00:19:03.120 tremendously helpful thing
00:19:04.960 so
00:19:06.080 what all that is to say though
00:19:08.320 is this talk while we did talk about
00:19:10.000 webrtc and we talked about you know you
00:19:12.480 know
00:19:13.600 automating school declare declaration
00:19:16.160 forms all that kind of fun stuff this
00:19:18.240 was never really
00:19:19.760 about code to begin with this talk was
00:19:22.720 actually about me personally and i admit
00:19:25.200 i was a little selfish i was
00:19:26.160 self-interested i wanted to share with
00:19:28.480 you a little bit about me and sort of
00:19:29.760 what we had to go through and deal with
00:19:31.600 but it was also about you as people as
00:19:33.840 developers people connected to
00:19:35.120 technology in any sort of way and it was
00:19:38.000 about all of us it was essentially the
00:19:39.840 idea that you have to give yourself
00:19:41.840 permission and i know this is so trite
00:19:44.640 but trust me and maybe you don't need to
00:19:46.320 trust me because it does feel resonate
00:19:48.000 for you
00:19:48.880 it's not obvious at all at least it
00:19:51.200 wasn't for me you have to give yourself
00:19:53.200 permission to actually take a step back
00:19:54.799 and make your life a little easier
00:19:56.160 sometimes that it's okay to do things to
00:19:58.960 make your life a little easier to make
00:20:01.120 your life just a tad less stressful to
00:20:03.840 make your life a little calmer and to
00:20:06.080 really remember about your self-interest
00:20:09.280 and don't forget that what matters to
00:20:11.200 you
00:20:12.000 matters
00:20:13.039 what is important to you
00:20:14.720 matters what's important to your family
00:20:16.960 matters and to not forget yourself when
00:20:19.200 you're thinking about all the other
00:20:20.559 responsibilities that you have in life
00:20:24.159 so i want to leave you with a few
00:20:25.360 resources and you can find these on the
00:20:27.600 slides after the presentation or after
00:20:29.360 this is over which is links to the
00:20:31.919 various uh code bases so the school
00:20:34.960 declaration gem can be found on
00:20:36.240 rubygems.org if you want to use it for
00:20:38.480 whatever reason you want to submit
00:20:39.600 things to the israeli ministry of health
00:20:41.440 website and the birthday video app
00:20:43.919 actually is open source obviously and
00:20:45.919 don't make fun of my javascript please
00:20:47.280 when you're looking at it it was my best
00:20:48.640 job at javascript and that's at bitly
00:20:51.520 rail's birthday and there's also links
00:20:52.799 to twilio video api and the vonage video
00:20:55.440 api and
00:20:57.799 webrtc.org which is the open standard
00:20:59.840 that really powers
00:21:01.360 all of it so thank you very much i
00:21:04.960 really appreciate your time
00:21:08.000 if there's any questions
00:21:10.559 now is the time or forever hold your
00:21:12.720 peace
Explore all talks recorded at EMEA on Rails 2021
+4