boarzVideosClipsStatistics

🎬Torcoders which are roarers

🎦
Featured in#️⃣EP 218 - Beta Testing Fixes Part 3
AllClipsEpisodesHas Blog PostZainThaneshKartikTorey
091
Today's Stream
📅 2021-10-17 
(710 days ago)
⌛ 1:26:37
📰
ZainboarKartikboarThaneshboar
🎬
Torres Strait Icelander people
Today's Stream
ZainboarKartikboarThaneshboar
092
Today's Stream
📅 2021-10-18 
(709 days ago)
⌛ 1:05:40
📰
ZainboarKartikboarThaneshboar
🎬
Icelander or Islander?
Today's Stream
ZainboarKartikboarThaneshboar
093
Today's Stream
📅 2021-10-19 
(708 days ago)
⌛ 1:01:58
📰
ZainboarThaneshboar
095
Today's Stream
📅 2021-10-21 
(706 days ago)
⌛ 1:16:08
📰
ZainboarKartikboarThaneshboar
097
101/200 Episodes
📅 2021-10-24 
(703 days ago)
⌛ 1:00:53
📰
ZainboarThaneshboar
🎬
Best Practices
101/200 Episodes
ZainboarThaneshboar
099
103/200 Episode
📅 2021-10-26 
(701 days ago)
⌛ 1:10:51
📰
ZainboarKartikboarThaneshboar
101
105/200
📅 2021-10-28 
(699 days ago)
⌛ 1:15:24
📰
ZainboarThaneshboar
🎬
ROAR coders
105/200
ZainboarThaneshboar
103
109/200
📅 2021-10-31 
(696 days ago)
⌛ 1:11:38
📰
ZainboarKartikboarThaneshboar
105
111/200
📅 2021-11-02 
(694 days ago)
⌛ 1:11:33
📰
ZainboarKartikboarThaneshboar
109
115/200
📅 2021-11-07 
(689 days ago)
⌛ 1:02:25
📰
ZainboarThaneshboar
🎬
What's testing
115/200
ZainboarThaneshboar
🎬
CORS coders
115/200
ZainboarThaneshboar
111
117/200
📅 2021-11-09 
(687 days ago)
⌛ 1:06:25
📰
ZainboarKartikboarThaneshboar
113
119/200
📅 2021-11-11 
(685 days ago)
⌛ 1:08:01
📰
ZainboarKartikboarThaneshboar
115
120/200
📅 2021-11-14 
(682 days ago)
⌛ 1:06:19
📰
ZainboarKartikboarThaneshboar
117
Today's Stream
📅 2021-11-22 
(674 days ago)
⌛ 1:01:46
📰
KartikboarThaneshboar
118
How This Video Has 12 Views, Explained
📅 2021-11-25 
(671 days ago)
⌛ 0:59:47
KartikboarThaneshboar
119
How This Video Has 14 Views, Explained
📅 2021-11-29 
(667 days ago)
⌛ 1:16:20
📰
KartikboarThaneshboar
121
Today's Stream
📅 2021-12-02 
(664 days ago)
⌛ 1:02:25
KartikboarThaneshboar
122
Today's Stream
📅 2021-12-06 
(660 days ago)
⌛ 1:02:01
📰
KartikboarThaneshboar
123
Today's Broadcast
📅 2021-12-07 
(659 days ago)
⌛ 1:01:00
KartikboarThaneshboar
124
Today's Stream
📅 2021-12-09 
(657 days ago)
⌛ 1:05:48
📰
ZainboarThaneshboar
🎬
Complimenting the wrong person
Today's Stream
ZainboarThaneshboar
🎬
Alt+F4 Zain
Today's Stream
ZainboarThaneshboar
126
Today's Stream
📅 2021-12-12 
(654 days ago)
⌛ 0:12:47
📰
ZainboarThaneshboar
127
Today's Stream
📅 2021-12-12 
(654 days ago)
⌛ 0:50:29
📰
ZainboarThaneshboar
130
Today's Stream
📅 2021-12-16 
(650 days ago)
⌛ 1:16:51
📰
ZainboarThaneshboar
134
Today's Stream
📅 2021-12-21 
(645 days ago)
⌛ 1:03:43
📰
ZainboarThaneshboar
137
Today's Stream
📅 2021-12-26 
(640 days ago)
⌛ 1:17:00
📰
ZainboarThaneshboar
🎬
Fixing and failing
Today's Stream
ZainboarThaneshboar
152
AWS WebSocket + Lambda + DynamoDB
📅 2022-01-14 
(621 days ago)
⌛ 1:04:33
📰
ZainboarThaneshboar
154
Test
📅 2022-01-17 
(618 days ago)
⌛ 1:03:13
📰
ZainboarThaneshboar
156
AWS Websocket + DyanmoDb + Lambda
📅 2022-01-19 
(616 days ago)
⌛ 1:06:33
📰
ZainboarThaneshboar
🎬
Brown is always better than white
AWS Websocket + DyanmoDb + Lambda
ZainboarThaneshboar
160
How To Host A Web App using AWS S3 and CloudFront
📅 2022-01-24 
(611 days ago)
⌛ 1:16:15
📰
ZainboarThaneshboar
162
How to Host Web App Using AWS S3, CloudFront and Route53
📅 2022-01-26 
(609 days ago)
⌛ 1:03:12
ZainboarThaneshboar
🎬
The more you know
How to Host Web App Using AWS S3, CloudFront and Route53
ZainboarThaneshboar
164
How To Host Web App In AWS S3 with Custom Domain Using Route 53
📅 2022-01-28 
(607 days ago)
⌛ 1:08:57
📰
ZainboarThaneshboar
🎬
Inactive brain
How To Host Web App In AWS S3 with Custom Domain Using Route 53
ZainboarThaneshboar
166
Today's Broadcast
📅 2022-01-31 
(604 days ago)
⌛ 1:11:16
📰
ThaneshboarToreyboar
168
Generate SSL Certificate via AWS Certificate Manager
📅 2022-02-02 
(602 days ago)
⌛ 0:58:02
📰
ZainboarThaneshboar
172
Today's Broadcast
📅 2022-02-07 
(597 days ago)
⌛ 1:05:20
📰
ThaneshboarToreyboar
176
How To CRUD Data Through AWS Websocket with Multiple Clients
📅 2022-02-16 
(588 days ago)
⌛ 1:07:32
ZainboarThaneshboar
179
Today's Stream
📅 2022-02-23 
(581 days ago)
⌛ 0:59:43
📰
ZainboarThaneshboar
180
How To HASH A Password using BCRYPT in Node
📅 2022-02-25 
(579 days ago)
⌛ 1:03:48
ZainboarThaneshboar
182
Create Passcode UI
📅 2022-02-28 
(576 days ago)
⌛ 1:01:29
📰
ZainboarThaneshboar
186
Today's Stream
📅 2022-03-07 
(569 days ago)
⌛ 0:55:51
ZainboarThaneshboar
187
Today's Stream
📅 2022-03-09 
(567 days ago)
⌛ 1:00:11
ZainboarThaneshboar
189
Special Appearance
📅 2022-03-11 
(565 days ago)
⌛ 0:58:44
ZainboarThaneshboarKartikboar
191
How To Make Frontend Talk To The Backend - NodeJS
📅 2022-03-14 
(562 days ago)
⌛ 1:07:00
ZainboarThaneshboar
196
Today's Broadcast
📅 2022-03-21 
(555 days ago)
⌛ 1:06:59
ThaneshboarToreyboar
198
Verify Passcode Saving Information to DynamoDB with NodeJs
📅 2022-03-23 
(553 days ago)
⌛ 1:03:09
ZainboarThaneshboar
🎬
Tough questions
Verify Passcode Saving Information to DynamoDB with NodeJs
ZainboarThaneshboar
201
Today's Stream
📅 2022-03-28 
(548 days ago)
⌛ 1:08:28
ZainboarThaneshboar
203
Today's Stream
📅 2022-03-30 
(546 days ago)
⌛ 0:57:26
ZainboarThaneshboar
🎬
Tandoor? Wat even iz dat kind of fing
Today's Stream
ZainboarThaneshboar
207
Get Board Columns from Frontend to Backend NodeJS
📅 2022-04-04 
(541 days ago)
⌛ 1:00:38
ZainboarThaneshboarToreyboar
🎬
Bish Bash Bosh
Get Board Columns from Frontend to Backend NodeJS
ZainboarThaneshboarToreyboar
209
Today's Stream
📅 2022-04-06 
(539 days ago)
⌛ 0:59:39
ZainboarThaneshboar
🎬
Zip first developer
Today's Stream
ZainboarThaneshboar
213
Today's Stream
📅 2022-04-11 
(534 days ago)
⌛ 1:02:34
ZainboarThaneshboar
215
Jira Organising & Beta Testing Day 1
📅 2022-04-13 
(532 days ago)
⌛ 0:58:09
ZainboarThaneshboar
218
Beta Testing Fixes Part 3
📅 2022-04-20 
(525 days ago)
⌛ 1:01:02
ZainboarThaneshboar
▶️
Torcoders which are roarers
Beta Testing Fixes Part 3
ZainboarThaneshboar
🎬
Delusional Zain
Beta Testing Fixes Part 3
ZainboarThaneshboar
🎬
Hey guys, torey here
Beta Testing Fixes Part 3
ZainboarThaneshboar
220
Beta Testing 5
📅 2022-04-22 
(523 days ago)
⌛ 1:10:18
ThaneshboarToreyboar
221
Today's Stream
📅 2022-04-25 
(520 days ago)
⌛ 1:01:01
ZainboarThaneshboar
🎬
Zain's going platinum
Today's Stream
ZainboarThaneshboar
🎬
Doggy dog
Today's Stream
ZainboarThaneshboar
222
WebSocket Heartbeat & Thanesh's Farewell
📅 2022-04-27 
(518 days ago)
⌛ 0:51:08
ZainboarThaneshboar

Subtitles

0:00:12
[Music]
0:00:26
welcome back guys right to the episode
0:00:29
of bill break and fix brought to you by
0:00:32
tour coders which are auroras and today
0:00:36
we have finesse
0:00:38
that was a bit of a surprise finish
0:00:41
hey saying
0:00:42
everyone yeah um i thought i'll jump on
0:00:45
tonight
0:00:46
um
0:00:48
yeah for
0:00:50
for a little bit longer and then yeah
0:00:52
that'll be it but yeah so yeah glad to
0:00:55
be on tonight
0:00:59
yeah we're really
0:01:01
good to have you as a perfect surprise
0:01:03
as it
0:01:04
wasn't expecting you so
0:01:06
just a bit of a context and there guys
0:01:09
so finish our super aurora um
0:01:13
he's got some
0:01:15
family commitments that he wants to um
0:01:18
deal with and have more time with them
0:01:21
so he will be
0:01:22
stepping down
0:01:24
i'm trying not to cry and i'm really
0:01:27
trying to hold myself back but let's see
0:01:29
how i go
0:01:33
but yeah so i thought that
0:01:35
he wasn't gonna
0:01:37
come
0:01:39
today bo when i saw him i was really
0:01:42
surprised so that was a bit of a context
0:01:45
of
0:01:45
me being surprised yeah
0:01:49
yeah yeah um
0:01:51
yeah for
0:01:52
another week or so saying um
0:01:54
because um yeah like i said i'm moving
0:01:57
back
0:01:58
or moving places so i'm just in between
0:02:00
of that at the moment
0:02:02
true true nah man that makes
0:02:04
sense uh
0:02:06
you know what's the best for you
0:02:09
and um your commitment so
0:02:12
yeah do what you have
0:02:14
do what you have
0:02:15
to do and if i can do
0:02:18
anything as well do do let me know
0:02:21
thanks ann appreciate it
0:02:23
no problem at all so uh
0:02:26
let's play uh
0:02:28
let's do the acknowledgement of the
0:02:30
country and pay our respects to the
0:02:32
elders
0:02:33
so here we go
0:02:35
i begin today by acknowledging the
0:02:37
traditional custodians of the land on
0:02:39
which we gather today and pay my
0:02:41
respects to the elders past present and
0:02:44
future i extend their respect to
0:02:46
aboriginal and torres strait islander
0:02:48
people here today
0:02:52
fantastic all right
0:02:58
i was waiting for that i was waiting
0:03:00
wait for it away from my friends
0:03:05
um yeah it's still in the works okay
0:03:11
yeah i
0:03:12
think he's
0:03:13
basically programming
0:03:15
everything to be really automated as in
0:03:18
joining the
0:03:19
words together when it speaks so
0:03:22
whenever we have to as in do another
0:03:26
slide we can just enter the content and
0:03:29
it would
0:03:30
just prepare an automatic slide for us
0:03:36
automated speech as well you know yeah
0:03:38
we don't have to record it everything is
0:03:40
uh taken care of
0:03:42
yeah
0:03:43
yeah
0:03:44
that's some sexy side project there man
0:03:47
i like it
0:03:50
and then
0:03:52
all of that so
0:03:54
yeah hardcore big project
0:03:57
yeah
0:03:59
um my sources actually told me that
0:04:03
you were staying as in all
0:04:06
over 90s for the project
0:04:09
so
0:04:09
wow man you're really going hard quack
0:04:12
and tell yeah man yeah
0:04:15
very tired
0:04:17
yeah yeah
0:04:18
i can tell
0:04:21
but still here
0:04:23
that's called commitment i like it
0:04:28
all right so um yeah just a bit of a
0:04:31
background so what we're doing is
0:04:33
basically uh
0:04:35
implementing the fixes that have been um
0:04:38
set in the beta testing by our testers
0:04:42
so just basically going one by one
0:04:44
seeing what
0:04:46
needs to be done and just fixing it and
0:04:48
um yeah we will be going live for our
0:04:52
first prod uh and in the release would
0:04:55
be next month
0:04:57
but the date hasn't been decided yet um
0:05:00
that is still
0:05:02
in the pipeline
0:05:04
but yeah so i'll share my screen first
0:05:07
and um i will
0:05:10
do
0:05:11
let you know
0:05:13
we are we haven't gotten up to
0:05:17
oh by the way um
0:05:20
you know what
0:05:21
yeah i would love to be famous though
0:05:24
yeah
0:05:25
why not but i don't have the money sorry
0:05:29
oh another one another one
0:05:36
yeah so um the thing is that
0:05:40
me and tori were working on implementing
0:05:44
there's something called a websocket
0:05:45
ping pong
0:05:48
okay
0:05:49
have you heard about it
0:05:51
no no i've talked about it so
0:05:54
basically that was the first time that i
0:05:56
heard when tori told me so basically
0:05:59
what um the concept is that save
0:06:04
apparently at the moment
0:06:07
aws websockets
0:06:09
connection terminates after 10 minutes
0:06:12
of idle time
0:06:14
okay so that would mean that if the user
0:06:18
has been idle for 10 minutes he would
0:06:21
automatically be disconnected from the
0:06:23
websocket
0:06:24
okay
0:06:25
yes okay i understand
0:06:28
oh yeah okay yeah i think i know where
0:06:31
you're getting it yep sorry yeah
0:06:33
so
0:06:34
now you carry on i i
0:06:37
really wanna hear your instincts now
0:06:41
i think
0:06:43
that's the issue with the saving right
0:06:47
like the uh
0:06:49
it uses being disconnected so that means
0:06:51
their notes are not being
0:06:53
added to the board which means it's not
0:06:55
being saved
0:06:57
oh so
0:07:00
it is at this stage nothing to do with
0:07:03
um
0:07:05
uh boards and
0:07:07
saving or no it's just
0:07:10
mainly stopping the
0:07:12
users from disconnecting
0:07:15
that's all
0:07:18
oh okay okay
0:07:20
yeah so from from that one tori brought
0:07:23
a concept which which is called
0:07:25
websocket ping pong
0:07:27
so in that way what happens is that the
0:07:30
the server sends the
0:07:34
request
0:07:36
every say
0:07:37
what nine minutes
0:07:39
and
0:07:41
if the
0:07:43
client
0:07:44
side sends a message to this server
0:07:48
then that means that the user is still
0:07:50
active and it won't disconnect after 10
0:07:53
minutes so on
0:07:55
on
0:07:56
so basic
0:07:58
one side does a pink and then the other
0:08:01
side responds with a punk
0:08:03
so
0:08:05
if they both respond
0:08:07
within the time then the connection time
0:08:10
resets to
0:08:12
back to zero
0:08:14
and then the count
0:08:16
down starts again
0:08:17
from zero minutes until 10 and then so
0:08:21
on and so forth
0:08:24
okay
0:08:26
does that make sense
0:08:28
uh briefly but i think yeah make more
0:08:31
sense once um
0:08:34
okay um get into it so so i'll just
0:08:39
uh it's important to understand the
0:08:41
concept before continuing so i'll just
0:08:45
explain you uh
0:08:53
should i yeah on them some music saying
0:08:56
oh yeah i totally forgot about that my
0:08:59
bad
0:09:00
yes please what letter do you want
0:09:05
you
0:09:10
uh
0:09:14
i think that's all right
0:09:17
okay
0:09:26
okay cool so same
0:09:29
this is the
0:09:33
seven this is a client okay
0:09:38
and
0:09:39
this is the oh you're not
0:09:41
sure you're not sharing so
0:09:44
oh my bad my bad i thought it was
0:09:47
interesting
0:09:48
ah i can't share
0:09:51
i forgot about this
0:09:53
all right i'm
0:09:54
gonna have to go and then come back
0:09:57
sure all right i'll be back in a sec
0:10:00
okay
0:10:25
so
0:10:30
[Music]
0:10:38
do
0:10:53
[Applause]
0:11:33
all right
0:11:40
get those ask you a question
0:11:44
i ever thought about driving the trucks
0:11:45
today
0:11:49
no i haven't
0:11:50
i haven't really thought about that
0:11:52
maybe maybe that's would you though
0:11:55
maybe would you if you had a chance
0:11:58
yeah maybe it'd be good experience i
0:12:00
think
0:12:02
traveling across the country
0:12:05
you know if you're that sort of
0:12:07
a truck driver you know you can travel
0:12:08
around the world i mean not around the
0:12:10
country i mean at least
0:12:15
yeah
0:12:16
i've actually driven a van
0:12:18
full time for a few years i think
0:12:21
few
0:12:22
months full time
0:12:25
yeah full time
0:12:26
was it a good experience
0:12:29
yeah i basically saw the entire victoria
0:12:32
to be honest
0:12:33
really wow
0:12:35
yes say
0:12:37
it was leaving around say what what
0:12:42
six years and coming back at
0:12:45
three or four
0:12:46
five days a week
0:12:48
wow okay
0:12:50
it was a good experience
0:12:52
[Music]
0:12:53
yeah plus i mean the company was really
0:12:56
established so it wasn't
0:12:58
anything hard
0:13:00
at all yeah you know how they
0:13:03
basically have to pull packs and pallets
0:13:06
and
0:13:07
all those
0:13:09
it wasn't there
0:13:13
okay cool so
0:13:15
say this is a
0:13:16
client can you see my screen yes you can
0:13:19
yes i can see your screen
0:13:20
and this is the
0:13:22
server okay and this is our websocket
0:13:26
okay
0:13:29
okay
0:13:30
so say at the moment this uh
0:13:36
say um let's assume that
0:13:39
the connection
0:13:41
timer is 10 minutes so as soon as it
0:13:44
hits say
0:13:46
9
0:13:49
nine point
0:13:50
block
0:13:52
as in nine
0:13:53
nine minutes
0:13:55
then
0:13:57
um
0:13:58
servo will send back send
0:14:02
a
0:14:03
prompt to the user
0:14:07
as in kind of a ping
0:14:11
okay
0:14:13
and if the user accept uh as in kind of
0:14:18
[Music]
0:14:20
ponzi
0:14:21
which i don't really know how um
0:14:26
what exactly happens
0:14:28
i mean what exactly sense in in the pink
0:14:31
or the pong but
0:14:33
just to
0:14:34
illustrate
0:14:35
a concept
0:14:39
so
0:14:41
this
0:14:43
bigger dotted line is a ping and then
0:14:46
this is a pong
0:14:49
okay
0:14:50
so say if for example um
0:14:54
the client
0:14:56
sends it but he doesn't receive any
0:15:00
pawn
0:15:01
within 10 minutes as in one more one
0:15:04
more minute left
0:15:07
then it would just
0:15:08
disconnect the connection
0:15:11
it won't be any connection so the user
0:15:13
will be disconnected
0:15:17
oh okay yes i understand
0:15:19
but if
0:15:21
the user sends a phone back
0:15:24
within say
0:15:30
in
0:15:31
less than one minute
0:15:35
to this server bank that would mean that
0:15:37
okay um we're not gonna disconnect the
0:15:41
connection because this uh the
0:15:43
client
0:15:44
still there
0:15:50
does that make sense
0:15:52
yeah yeah that makes sense you're just
0:15:55
basically just checking with uh the
0:15:57
connection is live right and if it's not
0:16:01
then um
0:16:03
yeah
0:16:04
then just drop it i guess right
0:16:06
yes yes essentially
0:16:10
so that's the entire concept and we
0:16:13
don't really
0:16:14
know how the websocket ping pong works
0:16:17
at the moment
0:16:20
so we were just researching about that
0:16:22
with tori
0:16:24
okay
0:16:25
have we um so i
0:16:27
i recorded
0:16:28
some of the bugs that all the bugs that
0:16:31
was mentioned by
0:16:33
the
0:16:34
um
0:16:35
the people on slack
0:16:37
um
0:16:38
have we kind of like
0:16:40
just
0:16:41
looked through all the bugs and that
0:16:43
sort of thing or are we
0:16:45
sort of working through it as we as we
0:16:47
go along the testing yes
0:16:52
yes so before
0:16:54
we start we go to
0:16:56
jira and check what we want to
0:17:00
work on uh on
0:17:03
that day so
0:17:05
we are kind of tracking it with jira
0:17:08
every day now
0:17:09
oh okay yeah yeah cool
0:17:11
and con hey come on welcome good to have
0:17:14
you
0:17:16
um
0:17:18
generally you want a heartbeat to be
0:17:20
more regular than that to account for
0:17:22
connection jitter or loss
0:17:26
right okay so heartbeat would mean
0:17:32
pong
0:17:33
thing
0:17:35
okay that would make sense
0:17:38
got you
0:17:39
there's always a poem
0:17:48
long time to wait to send
0:17:50
keep live info
0:17:56
right okay
0:18:00
um
0:18:03
because uh the whole point of sending
0:18:07
the
0:18:08
as in ping pong thing is that
0:18:11
we don't want
0:18:13
um websocket to disconnect to be
0:18:16
disconnected
0:18:21
after 10 minutes
0:18:23
so if you're say uh
0:18:24
[Music]
0:18:26
so i
0:18:28
don't know
0:18:29
um
0:18:30
what am i missing
0:18:32
because
0:18:34
i'm thinking that
0:18:37
if we send it more regularly then what's
0:18:40
the point of implementing
0:18:44
this feature in the first place
0:18:47
because the websocket won't be
0:18:50
disconnected yeah that's the purpose of
0:18:52
the heartbeat where you're calling ping
0:18:54
pong it keeps the connection actually
0:19:00
okay
0:19:01
um
0:19:02
i guess
0:19:05
what i i was trying to get at um convoy
0:19:08
is i might not
0:19:11
explain myself properly
0:19:14
so the only reason why we want to send a
0:19:17
heartbeat um
0:19:19
after nine nine minutes and give a
0:19:22
minute to a user to respond back is
0:19:25
because we
0:19:26
we don't want to
0:19:28
disconnect that user from the connection
0:19:33
and the reason why
0:19:36
i'm choosing
0:19:38
10 minutes
0:19:40
is because that's the time out
0:19:42
by default on aws
0:19:45
websockets that if a user is idle for
0:19:49
10 10 minutes then
0:19:52
it will terminate the connection
0:19:59
does that make sense
0:20:01
what happens if the
0:20:03
disconnect randomly after 2 minutes due
0:20:06
to inactivity
0:20:10
true true that's a valid point
0:20:14
yeah i didn't think about this scenario
0:20:20
yeah
0:20:21
all right um in that case we can
0:20:24
probably
0:20:29
[Laughter]
0:20:33
that's how you learn right you get death
0:20:38
by these kind of discussions if you do a
0:20:40
regular hobby you will keep connection
0:20:42
open in 30 seconds
0:20:45
so
0:20:46
would that mean uh
0:20:48
so if a user would send a heartbeat back
0:20:53
which would be a punk
0:20:55
would that mean that the user has to
0:20:58
input say kind of press a key every 30
0:21:01
seconds
0:21:08
ping pong
0:21:12
jack dab is having some fun now
0:21:24
it will cost too much to do more than
0:21:27
one
0:21:28
once every nightmares per se
0:21:34
north geckdig and
0:21:37
no even jagdev is a spawn so he recently
0:21:39
bought a house as well
0:21:42
and a really big one though
0:21:44
which i really like
0:21:49
you want it to happen automatically the
0:21:52
ping pong
0:21:56
ah so it's an event-driven process
0:22:03
right
0:22:04
right
0:22:09
finish
0:22:11
do you want to um uh
0:22:14
read this out loud it might help you of
0:22:17
thinking on that process as well
0:22:19
okay
0:22:20
um
0:22:21
converse 64 says you want it to happen
0:22:25
automatically the ping pong
0:22:27
is an event driven process so client
0:22:30
receives a ping
0:22:32
and replies to the server with pong to
0:22:34
let it know it's still there
0:22:37
okay
0:22:56
okay so
0:22:59
i'm
0:23:00
just a bit confused so
0:23:02
would
0:23:04
so
0:23:04
if it's event event driven um how would
0:23:08
the user
0:23:10
go
0:23:12
i mean indicate as an
0:23:14
event would they just have to
0:23:17
move a mouse or
0:23:19
or how
0:23:21
what would the event
0:23:23
driven
0:23:24
consist of
0:23:27
good point
0:23:32
because
0:23:33
one thinking that i really don't wanna
0:23:36
annoy the users um
0:23:40
as in they have to do something every 30
0:23:43
minutes
0:23:47
that's a good one
0:24:01
i just understood it by the way
0:24:09
okay um
0:24:11
i guess
0:24:12
let's
0:24:13
research about how um how does it even
0:24:18
driven heartbeat work
0:24:21
and then we can
0:24:23
continue from there
0:24:25
and
0:24:27
yeah
0:24:28
if it doesn't involve
0:24:30
as in the user doing every
0:24:32
something to trigger the
0:24:35
event
0:24:36
every three minutes then yeah it's a
0:24:39
really good idea
0:24:41
okay so doing it every 30 seconds i
0:24:45
meant
0:24:47
yes yes i understand
0:24:49
yeah all right cool so i'll
0:24:51
share my
0:24:53
my screen again
0:24:57
yes
0:24:58
it's converse 64 someone you know in
0:25:01
real life saying
0:25:03
um
0:25:06
name sounds familiar but no
0:25:10
okay
0:25:13
build a real-time website for connection
0:25:17
facing my screen yet you are
0:25:20
places uh
0:25:22
what works off his heartbeat
0:25:24
heartbeat
0:25:30
aws
0:25:33
free time i'm talking client
0:25:38
heart check
0:25:40
and a heart check handshake
0:25:43
so website decline real time and point
0:25:46
where does it say
0:25:48
subscription event
0:25:50
no this is not our thing
0:25:53
that we want to do
0:25:54
implement how big for
0:25:57
api given works okay
0:26:00
okay i'm going to chat remember here
0:26:04
understand that each one
0:26:06
eventually connected can be
0:26:08
can only be either for 39 seconds
0:26:13
before it gets disconnected so i wrote a
0:26:16
heartbeat ah
0:26:18
so it's a heartbeat for us so it's a
0:26:20
function
0:26:23
that will come from the backhand
0:26:25
connection can only be idle for 29
0:26:27
seconds before it gets adjusted
0:26:29
maybe function oh okay by the websocket
0:26:33
connection pings decline every 20
0:26:36
seconds
0:26:37
to keep the connection alive and not
0:26:38
idle and i have the server send a
0:26:40
response despite my referral mclaren
0:26:43
still automatically
0:26:44
okay that's interesting okay
0:26:47
and he's saying that
0:26:49
why is the implementation incorrect
0:26:53
wow okay
0:26:57
read the comments here
0:27:00
yeah i was gonna
0:27:01
the courageous and in the courage you
0:27:04
show sends one ping message every 30
0:27:07
seconds after the connection was opened
0:27:10
after that it doesn't send any more
0:27:13
ah
0:27:16
oh yeah that's true not sure why i
0:27:18
didn't realize thank you
0:27:21
oh okay ah
0:27:24
right
0:27:25
so he sends it
0:27:27
yes after 20 second only once
0:27:30
ah okay yes yes and then it basically
0:27:33
closes it
0:27:35
yes okay
0:27:37
so this is this is
0:27:39
kind of what we're looking for but we
0:27:41
gotta send it um
0:27:43
keep sending it right yeah
0:27:46
every every 30 seconds basically
0:27:52
like conversation all right
0:27:54
cool
0:27:55
so hannah close and then
0:27:58
so
0:27:58
this happens on the client
0:28:03
and then
0:28:05
pong
0:28:08
oh okay so
0:28:10
in our case it would work in the
0:28:12
opposite
0:28:13
so
0:28:14
we would send a ping
0:28:16
from this server
0:28:19
and then the client for respond with a
0:28:23
pong
0:28:25
i think so
0:28:28
ah wow
0:28:30
i'm learning a lot already
0:28:32
i i didn't even know if this concept
0:28:35
existed in the first place
0:28:38
yeah neither did i
0:28:41
alright okay cool so we basically need
0:28:45
to use this
0:28:48
websocket url okay cool
0:28:50
i wish i had my two screens
0:28:55
i'll get it i'll get it uh terminal
0:29:00
update yeah why not
0:29:04
what happened
0:29:08
when you said that
0:29:12
um okay so we can start from the back
0:29:15
end my my favorite part
0:29:20
all columns features okay now we would
0:29:23
basically
0:29:24
pull
0:29:27
and then what we're gonna do is we will
0:29:31
make another branch
0:29:38
okay
0:29:40
zen completely misreads and
0:29:42
misunderstands code
0:29:44
and then says ah
0:29:55
um
0:29:56
i guess
0:29:58
that happens though
0:30:01
as in venue
0:30:03
trying to really work under a different
0:30:06
time pressure
0:30:10
but
0:30:12
not
0:30:13
not talking about
0:30:15
jack dab because
0:30:17
he's a superhuman
0:30:23
uh
0:30:24
check out check out
0:30:26
what can we call this branch um
0:30:29
um
0:30:32
ping pong i think i was thinking yeah
0:30:36
actually
0:30:38
why not
0:30:40
actually i'm going to do websocket
0:30:42
ping-pong how's that so good
0:30:46
okay yeah
0:30:48
what was he in your mind
0:30:51
i was trying to think of something that
0:30:52
maybe
0:30:53
um
0:30:54
was a bit more um
0:30:58
like
0:30:59
what we're trying to do like so
0:31:00
websocket
0:31:02
um
0:31:06
you know
0:31:07
um
0:31:10
we're trying to check with that that can
0:31:12
like keep a live connection right so
0:31:14
like websocket i don't know i don't know
0:31:16
what the correct terminal
0:31:17
terminology is so let's try and think of
0:31:20
that
0:31:27
keep
0:31:28
apps
0:31:30
e5
0:31:44
okay cool so we are in that branch and
0:31:47
then open it
0:31:53
okay i'm gonna try
0:31:55
to implement the server side now
0:31:59
before the end of the show
0:32:02
let's see how we go
0:32:04
um
0:32:06
okay so that would basically happen
0:32:16
so we want
0:32:17
as soon as websocket
0:32:20
connection opens which is in the front
0:32:24
end
0:32:24
isn't it
0:32:27
so we want to send
0:32:29
api gateway endpoint
0:32:33
just copy and paste it
0:32:38
um so this would be
0:32:40
done actually
0:32:42
let's
0:32:43
go right at the end
0:32:47
this will be where the
0:32:50
websocket oh
0:32:53
this red the websocket as being um
0:32:58
where the web sockets are implemented
0:33:00
right i think i don't know
0:33:02
yes which is in the front end
0:33:06
okay
0:33:09
oh no no
0:33:12
no no no no you must be right this would
0:33:16
be here right
0:33:18
that's right
0:33:19
yeah
0:33:23
file credentials well
0:33:26
this is all been done by tory
0:33:28
so
0:33:30
12 is the max
0:33:31
best topic can be connected ah
0:33:38
two hours is the max
0:33:43
for local testing okay
0:33:47
so what if we do something
0:33:50
const if you like it right not defined
0:33:56
api qr management
0:34:00
aws
0:34:08
[Music]
0:34:10
that way
0:34:12
okay and my stock api get with okay and
0:34:16
point would be
0:34:18
um
0:34:23
do you want to pause me the web uh
0:34:26
websocket
0:34:27
api
0:34:29
um
0:34:31
not sure if i have the latest one i'll
0:34:32
check on when i'm on um it should be in
0:35:12
foreign
0:35:22
oh
0:35:24
right right right right right
0:35:27
connection id
0:35:31
what would be the connection id
0:35:35
is there a connection id and point
0:35:38
in there as well
0:35:41
um so you need the
0:35:46
um you need the website at endpoint
0:35:48
right okay yeah
0:35:50
yeah
0:36:04
um
0:36:06
where would i find that
0:36:09
uh if you go to api apa gateway
0:36:13
and then it should be in there called
0:36:17
websocket and you should
0:36:20
find it there
0:36:21
okay
0:36:22
i'll just go and have a look as well
0:36:38
uh yeah i found it i'm just looking for
0:36:40
the
0:36:42
the endpoint
0:36:49
oh yeah okay okay
0:36:57
you got it
0:37:08
so this is a websocket
0:37:11
endpoint right
0:37:12
yes yes and have you got any
0:37:15
endpoint that says
0:37:18
connection url or connection id
0:37:22
yes yeah do you want that
0:37:24
yeah please
0:37:32
ah this is a connection
0:37:34
sure oh um i think i wanted i'd be
0:37:39
interesting how'd this work
0:37:49
well okay
0:37:52
um
0:37:54
i think how this would work is though i
0:37:57
would have to send all the connection i
0:38:00
would basically have to save all the
0:38:03
connection ids
0:38:07
and
0:38:10
um
0:38:12
then
0:38:13
we would have to send them
0:38:16
the request as in
0:38:21
every
0:38:22
half an hour
0:38:25
so
0:38:26
so if you check here
0:38:30
i just to see if the connection id is
0:38:33
already being saved i'm pretty sure
0:38:35
there must be
0:38:36
dynamodb
0:38:52
ah
0:39:00
right we needed to save websocket
0:39:03
connection ids as well
0:39:06
because we will need the websocket id
0:39:09
connections
0:39:12
to
0:39:16
send the heartbeats
0:39:20
which we are not doing at the moment
0:39:29
um
0:39:31
okay so that means that every time we
0:39:33
use you
0:39:34
i swear we did this function
0:39:37
the function l2 right
0:39:39
yeah it seems familiar
0:39:48
passcode no
0:39:50
okay these are working go except except
0:39:55
board name
0:40:05
reading the board names you can kind of
0:40:07
gauge who'd
0:40:08
yeah created what
0:40:10
yeah
0:40:12
and no this is
0:40:17
100
0:40:19
i know
0:40:20
this is as well yeah i know
0:40:23
i know exactly who
0:40:25
this one is
0:40:27
yeah without a doubt
0:40:29
oh the first one or the second one i
0:40:31
mean as well
0:40:33
yeah
0:40:33
yeah
0:40:35
um all right cool so we would have to
0:40:38
save the
0:40:39
connection ids
0:40:42
hmm all right this is turning on longer
0:40:46
than expected now to be honest
0:40:50
all right uh
0:40:53
so here we are taking actually for
0:40:56
forget about this one now
0:40:58
[Music]
0:41:02
i'll just comment here
0:41:10
oh what happened there
0:41:12
whoa what happened there where did my
0:41:15
thing go
0:41:16
ah my
0:41:23
okay um
0:41:26
so on connect
0:41:27
we are doing this connected and then
0:41:33
we want
0:41:34
on to i'm pretty sure we are
0:41:38
that's the thing right connection id is
0:41:40
here
0:41:41
yeah
0:41:42
it's being pulled
0:41:46
dot client wait
0:41:49
[Music]
0:41:54
the board id was not found put item
0:41:59
oh is the websocket id right
0:42:05
process
0:42:08
give me one second plug my laptop in
0:42:12
process table so if i take the
0:42:16
id from here
0:42:21
and
0:42:22
process in my environment
0:42:25
variable
0:42:26
temp
0:42:27
table underscore template
0:42:31
table underscore
0:42:33
websocket connections
0:42:37
table is called websocket
0:42:40
so is that one table
0:42:42
websocket connections here
0:42:45
there's the one
0:42:47
so why is it not
0:42:49
putting it over there
0:42:58
uh board
0:43:02
this one board i didn't connection id
0:43:05
index
0:43:10
board id connection
0:43:14
sort board id connection id gi
0:43:17
gsi
0:43:19
which is
0:43:22
this one
0:43:28
connection id
0:43:32
nope
0:43:41
um
0:43:50
okay we need to look what's happening
0:43:52
here all right what i'm going to do is
0:43:54
create
0:43:57
a
0:44:02
or maybe it's not being wired up
0:44:15
finish
0:44:18
are you there oh yeah yeah yeah yeah i'm
0:44:20
trying to think about what you mean
0:44:26
maybe yeah maybe you're right like um
0:44:28
because i do remember we
0:44:30
we were trying to get this um
0:44:34
stored in the back end right
0:44:37
so if i do
0:44:39
table
0:44:40
web socket which is here
0:44:42
and then environment variable which is
0:44:45
here and then it's saving in table
0:44:48
board id
0:44:49
connection id request contacts and time
0:44:52
to live
0:44:53
calc
0:44:57
put
0:44:59
dockline partner put item call back
0:45:05
return and it's
0:45:07
not even giving us any dates uh
0:45:10
any
0:45:11
actually isn't giving us any
0:45:15
error
0:45:16
let's check
0:45:17
all right what i'm going to do is
0:45:20
create on nikon
0:45:22
creator because i've taken this site off
0:45:26
oh you have okay
0:45:27
yeah
0:45:29
all right um what we're gonna do is put
0:45:33
the side back on
0:45:41
the tory push the changes in the front
0:45:44
end i'm pretty sure you must have
0:45:52
portfolio features
0:45:59
[Music]
0:46:06
[Music]
0:46:13
um
0:46:26
okay pause code auto tabs all right yeah
0:46:30
that was the one
0:46:32
passcode
0:46:37
all the tabs
0:46:52
oh my god
0:47:05
hmm
0:47:06
yeah okay
0:47:12
so what i'm basically doing
0:47:15
now is
0:47:16
uploading everything and checking
0:47:21
if the websocket is really not working
0:47:27
and
0:47:29
we can basically take it from there
0:47:32
yeah
0:47:33
the
0:47:35
kind of the only way we would test the
0:47:38
websocket is by
0:47:40
by actually like when the website's live
0:47:43
right like
0:47:44
yeah
0:47:45
exactly
0:47:46
so that's what i'm trying to do is
0:47:49
putting this on
0:47:52
um
0:47:52
[Music]
0:47:53
and it's free so aws is free
0:47:57
copy
0:48:01
everything
0:48:04
everything um two
0:48:07
two two two
0:48:14
everything to
0:48:16
s3 slash
0:48:30
when you took down the site you
0:48:33
deleted the files oh yeah you did
0:48:40
okay
0:48:41
this might not work because i've got to
0:48:43
give your profile name
0:48:45
yeah
0:48:55
[Music]
0:49:04
it's the rumbler there we go
0:49:07
babies uploading and
0:49:09
when they're done can you
0:49:12
put them as in can you make them public
0:49:15
yeah sure
0:49:18
and then we can test our websocket
0:49:40
okay make it up
0:49:44
brilliant
0:49:51
oh um we need to invalidate the cash
0:49:55
the cash the cash as well yeah
0:49:58
okay
0:50:00
i can do that
0:50:21
let me know when it's done yeah
0:50:24
yeah yeah
0:50:31
honestly this projection is becoming a
0:50:34
success
0:50:37
it's becoming a success
0:50:40
yeah yeah true
0:50:44
very true
0:50:47
as it is really
0:50:49
interesting
0:50:51
as in how many people have contributed
0:50:54
to that
0:50:56
that's where
0:50:57
as in
0:51:01
and how much work has gone
0:51:04
into it so one best thing gonna do is
0:51:09
when probably releasing it i'm gonna
0:51:11
probably talk to the
0:51:13
original open source
0:51:15
um
0:51:17
repo
0:51:19
owner
0:51:20
and
0:51:24
basically
0:51:25
telling we have done this
0:51:27
change on legacy and legacy code
0:51:31
to the modern code and it's also backed
0:51:34
by aws plus his saving on dynamodb
0:51:39
and um
0:51:41
do you wanna
0:51:44
integrate it as your fresh
0:51:48
fresh repo
0:51:51
and see what he says
0:51:57
yeah yeah
0:52:02
yeah that'd be good like if he
0:52:04
decides to uh
0:52:07
to
0:52:08
publish this and then
0:52:10
those users become our users like his
0:52:12
users become our users
0:52:14
yeah
0:52:15
yeah that'd be awesome
0:52:16
um
0:52:29
scrambler
0:52:34
[Music]
0:52:38
okay
0:52:39
and
0:52:40
if i do
0:52:43
testing one two three four
0:52:48
[Music]
0:52:56
okay
0:52:57
cool if you want to take this um
0:53:01
i think if you want to take
0:53:04
i'm just waiting
0:53:06
[Music]
0:53:08
and a person i know
0:53:11
does that
0:53:13
is a
0:53:14
attack
0:53:15
well
0:53:15
that's true
0:53:17
yeah it will be really hilarious again
0:53:20
that's
0:53:25
true um
0:53:30
okay
0:53:32
that's done
0:53:34
like so
0:53:35
connection is there
0:53:39
board
0:53:40
one
0:53:41
okay connection is open which is great
0:53:44
and now you are going to
0:53:47
turn more
0:53:49
so it does oh
0:53:52
so how many people are connected to it
0:53:55
so it is coming it is coming yeah
0:53:58
three people i guess
0:54:01
so there's one more i know who that is
0:54:04
and you can't hide now
0:54:08
there can only be one
0:54:11
yeah yeah
0:54:14
um
0:54:15
yeah so
0:54:17
the connection is coming soon
0:54:20
do you want to make the buck here
0:54:23
private again
0:54:26
yeah okay
0:54:29
uh yeah okay do you want to so
0:54:32
look at the time to live
0:54:36
oh i'm not time to live but
0:54:38
the idea is like we want to see whether
0:54:41
the connection holds right
0:54:43
is that something oh you guys already
0:54:45
tested it i assume actually
0:54:48
oh
0:54:48
no
0:54:49
tori actually um
0:54:53
mentioned that he thinks that um
0:54:56
the connection only lasts
0:54:59
for
0:55:01
um
0:55:07
um
0:55:12
how many
0:55:15
wait hang on what
0:55:20
wait you're looking at the wrong board
0:55:23
oh wait what
0:55:25
really no
0:55:27
wait something just happened what yes
0:55:30
and i think i know who did it
0:55:32
again
0:55:35
that's really interesting how would he
0:55:36
be able to do that
0:55:41
there are some experts out there man
0:55:47
oh yeah that is actually very
0:55:48
interesting i wonder how he did that
0:55:51
this is the live one
0:55:57
honestly this is the
0:56:00
live once he basically redirected us
0:56:03
yeah
0:56:04
to the live one
0:56:07
what did he do though
0:56:10
so have you
0:56:12
have you made the bucket
0:56:14
have you made the pocket private
0:56:17
uh not yet give me one sir
0:56:20
please because when we we never know
0:56:23
in next second when we're gonna start
0:56:26
hearing farts
0:56:29
yeah not sure
0:56:31
um i'll just disable the
0:56:35
bucket hosting i'm not sorry the
0:56:37
uh website hosting
0:56:39
yeah cool
0:56:44
okay
0:56:45
cool
0:56:47
right um so
0:56:50
this is the connection time to look and
0:56:52
this is i think showing in
0:56:54
milliseconds
0:56:56
so if we do
0:56:57
that one in
0:56:59
seconds how much of the show
0:57:04
[Music]
0:57:07
seconds
0:57:08
no minutes
0:57:13
whoa
0:57:15
time to live
0:57:22
or is it seconds
0:57:33
anyway forget it
0:57:37
so we basically
0:57:39
actually one might do
0:57:42
is
0:57:43
test
0:57:45
this
0:57:46
and see
0:57:47
what happens in my own time
0:57:50
okay
0:57:51
and see how long does the um
0:57:55
connection last if
0:57:58
both the users are
0:58:00
idle
0:58:05
might do that
0:58:06
yeah
0:58:09
cool
0:58:11
okay all right we can basically
0:58:13
call our night
0:58:16
that
0:58:18
i'm really like uh i'm really intrigued
0:58:20
but what he did i'm just like it's gonna
0:58:22
it's gonna bug me
0:58:28
yeah
0:58:29
actually hang on a minute
0:58:31
let's go on a bit of an adventure and
0:58:33
have a look oh yeah she did but let's um
0:58:37
and not do it on live um just end the
0:58:41
show and and then do it all right okay
0:58:44
yeah sounds good yeah
0:58:45
right
0:58:46
do you want to do that
0:58:48
yeah cool sounds good uh thanks for
0:58:50
joining us everyone for another episode
0:58:52
of buildbreaking fix
0:58:54
in today's episode we
0:58:57
continued with beta testing um
0:59:00
and
0:59:01
part of that is
0:59:02
we're working on the ping pong of
0:59:05
or checking of um keeper live
0:59:07
connections for websockets
0:59:10
um
0:59:12
and yeah in today's episode we
0:59:15
we had a look at some possible solutions
0:59:17
and
0:59:18
kind of testing out um what we our next
0:59:21
steps forward essentially
0:59:23
so
0:59:24
if you would like to see that see more
0:59:27
of this and
0:59:29
where we end up
0:59:30
please join us on the next episode
0:59:32
um we will be doing jump
0:59:36
so i was gonna say same
0:59:37
that's gonna do it all it's gonna say
0:59:39
same task anyways um
0:59:41
please join us tomorrow same time same
0:59:44
place
0:59:44
and same to ask
0:59:47
all right guys and um
0:59:49
just to correct that dev i didn't i'm
0:59:52
getting that one uh and i didn't say
0:59:55
this will be done hundred percent done
0:59:59
in may i
1:00:01
said that
1:00:02
probably next month so
1:00:06
probably is probably different than done
1:00:10
so
1:00:10
yeah all right
1:00:14
but yeah
1:00:16
looking good very promising and
1:00:20
thanks for joining gekdev and cornwall
1:00:23
for your um
1:00:25
useful instant
1:00:31
yeah so
1:00:34
um
1:00:39
join us um if you can and we look
1:00:43
forward to seeing you here then all
1:00:45
right have a great one and we'll see you
1:00:48
soon bye for now
1:00:51
thanks a lot good night
1:00:53
have a good night guys cheers
Other clips featured in this episode