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