boarzVideosClipsStatistics

🎬Torey the stinker

⏪
🎦
⏩
Featured in#️⃣EP 217 - Beta Testing Fixes Part 2
AllClipsEpisodesHas Blog PostZainThaneshKartikTorey
🎬
Krunchmaster Kartik
Build, Break & Fix
ZainboarKartikboar
🎬
Killing it
Special Edition: We don't stop until we get our code working
ZainboarKartikboar
🎬
Schooling in brown countries
Build,Break & Fix // Weekend two hour special
ZainboarKartikboar
🎬
Unprofessional Kartik
Build,Break & Fix // Weekend two hour special
ZainboarKartikboar
🎬
Brain Refresh
Build, Break & Fix // Setting a blog using Hugo and AWS Amplify
ZainboarKartikboar
🎬
Finger driven architecture
Build, Break & Fix // Working out Software design
ZainboarKartikboar
🎬
Fast food driven architecture
Build, Break & Fix // Working out Software design
ZainboarKartikboar
🎬
Can't be ashamed if there's never a first version
Build, Break & Fix
ZainboarKartikboar
🎬
Not a uni student
Build, Break & Fix
ZainboarKartikboar
🎬
Can't work, deploying
30 mins of deployment 😠 || 30 mins of coding 🥲
ZainboarKartikboar
🎬
Two points of contact
Today's Broadcast
ZainboarKartikboar
🎬
CORS exclusive lovin'
Today's Broadcast
ZainboarKartikboar
🎬
Sensible policy
Today's Stream
ZainboarKartikboar
🎬
Shoes in mouth
Today's Stream
ZainboarKartikboar
🎬
The code always wins
Buidl Break Fix
ZainboarKartikboar
🎬
Chicken curry in the brown way
Buidl Break Fix
ZainboarKartikboar
🎬
Finger memory practice
Build Break Fix
ZainboarKartikboar
🎬
See you later Kartik
Build Break Fix
ZainboarKartikboar
🎬
Keep your code looking sexy
Today's Broadcast
ZainboarKartikboar
🎬
Echo chamber Zain
Today's Broadcast
ZainboarKartikboar
🎬
And Kartik never got a job again...
Today's Broadcast
ZainboarKartikboar
🎬
Pilot? What even iz dat kind of fing
Today's Broascast
ZainboarKartikboar
🎬
Fish and Chips
Build - Break - Fix
ZainboarKartikboar
🎬
Backup career
Build - Break - Fix
ZainboarKartikboar
🎬
Professional background? Wat even iz dat?
Today's Broadcast
ZainboarKartikboar
🎬
Private mentorship group
Today's Broadcast
ZainboarKartikboar
🎬
Actually good job advice from Zain
Today's Stream
ZainboarKartikboar
🎬
What a classic!
Today's Stream
ZainboarKartikboar
🎬
Uber driver in training
Today's Stream
ZainboarKartikboar
🎬
Viewer burn
Today's Broadcast
ZainboarKartikboar
🎬
Time for a nap
Today's Broadcast
ZainboarKartikboar
🎬
A sniffer of a line
Today's Broadcast
ZainboarKartikboar
🎬
Slow Zain
Today's Broadcast
ZainboarKartikboar
🎬
No single point of failure
Today's Broadcast
ZainboarKartikboar
🎬
Gambling on bad logic
Today's Broadcast
ZainboarKartikboar
🎬
Estimated Time of New-Careers
Today's Broadcast
ZainboarKartikboar
🎬
Fake Nod
Today's Broadcast
ZainboarKartikboar
🎬
Investing in 'the brand'
NEW SETUP!!
ZainboarKartikboar
🎬
Hitting a brick
NEW SETUP!!
ZainboarKartikboar
🎬
Master of the green screen
NEW SETUP!!
ZainboarKartikboar
🎬
Logiclesstech
NEW SETUP!!
ZainboarKartikboar
🎬
Get him to the greenscreen
Today's Stream
ZainboarKartikboar
🎬
Change the digit to a number
Today's Stream
ZainboarKartikboar
🎬
The benefits of pair programming
Today's Broadcast
ZainboarKartikboar
🎬
Xs, the healthy choice
Today's Stream
ZainboarKartikboar
🎬
Xs vs mother
Today's Stream
ZainboarKartikboar
🎬
The beginning of the end of productivity
Today's Stream
ZainboarKartikboar
🎬
Unprofessional Zain
Today's Stream
ZainboarKartikboar
🎬
Blazing fast
Today's Stream
ZainboarKartikboar
🎬
Premature celebratory dance
Today's Stream
ZainboarKartikboar
🎬
Timeline slippage
Today's Stream
ZainboarKartikboar
🎬
Speed coding
Today's Stream
ZainboarKartikboar
🎬
Sorry I dont know that voice
Today's Broadcast
ZainboarKartikboar
🎬
Definition of done
Today's Broadcast
ZainboarKartikboar
🎬
Amway bites
Today's Broadcast
ZainboarKartikboar
🎬
A cool stream
Today's Broadcast
ZainboarKartikboar
🎬
Spooky Kartik
Today's Broadcast
ZainboarKartikboar
🎬
Water physics 101
Today's Stream
ZainboarKartikboar
🎬
Scrum master Zain
Today's Stream
ZainboarKartikboar
🎬
Zain applying his scrum master skills
Today's Stream
ZainboarKartikboar
🎬
Zain the blunderer
Today's Stream
ZainboarKartikboar
🎬
Healthier than other traditional drinks
Today's Stream
ZainboarKartikboar
🎬
Real headscratcha
Today's Stream
ZainboarKartikboar
🎬
Bracket blues
Today's Stream
ZainboarKartikboar
🎬
If statements are not good practice
Today's Stream
ZainboarKartikboar
🎬
Kappa Quality Code
Today's Stream
ZainboarKartikboar
🎬
Exciting switch statements
Today's Stream
ZainboarKartikboar
🎬
Switched-on hat
Today's Broadcast
ZainboarKartikboar
🎬
Functions, one of the big coding challenges
Today's Broadcast
ZainboarKartikboar
🎬
Break fast
Today's Broadcast
ZainboarKartikboar
🎬
Blood and breath pumping up
Today's Broadcast
ZainboarKartikboar
🎬
Wrong since day 1
Today's Broadcast
ZainboarKartikboar
🎬
Electronic waves
test
ZainboarKartikboar
🎬
RAWR coders
test
ZainboarKartikboar
🎬
Transit in Japawn
test
ZainboarKartikboar
🎬
Xs sponsorship
test
ZainboarKartikboar
🎬
Lame roars
test
ZainboarKartikboar
🎬
Setting up a suppository in Diagon Alley
test
ZainboarKartikboar
🎬
Background Diagon Alley
test
ZainboarKartikboar
🎬
Half speed zain
test
ZainboarKartikboar
🎬
One second penetration
test
ZainboarKartikboar
🎬
Top loading switches
test
ZainboarKartikboar
🎬
Making it rain with CodeBuild
test
ZainboarKartikboar
🎬
What is a sea cable?
Today's Stream
ZainboarKartikboarToreyboar
🎬
If statements are bad practice
Today's Broadcast
ZainboarKartikboar
🎬
Tomato fan
Today's Broadcast
ZainboarKartikboar
🎬
Strong intro
Today's Stream
ZainboarKartikboar
🎬
Impossible URL
Today's Stream
ZainboarKartikboar
🎬
Clever devs
Today's Stream
ZainboarKartikboar
🎬
Always CORS related problems
Today's Stream
ZainboarKartikboar
🎬
CORS headscratcha
Today's Stream
ZainboarKartikboar
🎬
Torres Strait Icelander people
Today's Stream
ZainboarKartikboarThaneshboar
🎬
Icelander or Islander?
Today's Stream
ZainboarKartikboarThaneshboar
🎬
Best Practices
101/200 Episodes
ZainboarThaneshboar
🎬
ROAR coders
105/200
ZainboarThaneshboar
🎬
Diagon Alley? What is that kind of fing?
112/200
ZainboarKartikboar
🎬
C.O.D.I.N.G
113/200
Zainboar
🎬
What's testing
115/200
ZainboarThaneshboar
🎬
CORS coders
115/200
ZainboarThaneshboar
🎬
Complimenting the wrong person
Today's Stream
ZainboarThaneshboar
🎬
Alt+F4 Zain
Today's Stream
ZainboarThaneshboar
🎬
Fixing and failing
Today's Stream
ZainboarThaneshboar
🎬
Brown is always better than white
AWS Websocket + DyanmoDb + Lambda
ZainboarThaneshboar
🎬
Wild street dogs
Today's Stream
ZainboarToreyboar
🎬
The more you know
How to Host Web App Using AWS S3, CloudFront and Route53
ZainboarThaneshboar
🎬
Inactive brain
How To Host Web App In AWS S3 with Custom Domain Using Route 53
ZainboarThaneshboar
🎬
No electricity in Bali
Today's Stream
ZainboarToreyboar
🎬
Francesco
Today's Stream
ZainboarToreyboar
🎬
Indian givers
Compare Hashed Passwords Using Bcryptjs
ZainboarToreyboar
🎬
Cold coffee, cold tea
Today's Stream
ZainboarToreyboar
🎬
Tough questions
Verify Passcode Saving Information to DynamoDB with NodeJs
ZainboarThaneshboar
🎬
Tandoor? Wat even iz dat kind of fing
Today's Stream
ZainboarThaneshboar
🎬
This is why you don't click ops
Today's Stream
ZainboarToreyboar
🎬
Bish Bash Bosh
Get Board Columns from Frontend to Backend NodeJS
ZainboarThaneshboarToreyboar
🎬
Zip first developer
Today's Stream
ZainboarThaneshboar
🎬
Busted again
Today's Stream
Zainboar
▶️
Torey the stinker
Beta Testing Fixes Part 2
ZainboarToreyboar
🎬
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
🎬
Zain's going platinum
Today's Stream
ZainboarThaneshboar
🎬
Doggy dog
Today's Stream
ZainboarThaneshboar
🎬
Fartik
How To Test Prevention XSS Attack
ZainboarKartikboar
🎬
Second Favourite
Today's Stream
Zainboar
🎬
Disco Zain
Today's Stream
Zainboar
🎬
Keyboard allergies
Hook Up AWS Websocket
Zainboar
🎬
As you been poopin?
Hook Up Board Columns to Websockets Nodejs + AWS Websockets
Zainboar

Subtitles

0:00:13
[Music]
0:00:26
what is going on guys welcome back to
0:00:30
another session of feel breaking fix
0:00:33
i'm always in a shop look at that yeah
0:00:36
we are in beta testing fixing issues now
0:00:40
finally
0:00:42
hey gekko thanks for joining
0:00:45
okay
0:00:47
i love explain punctuality
0:00:50
all right so uh
0:00:52
yeah i hope you all had a really good
0:00:55
weekend as in long weekend although it
0:00:59
wasn't really long
0:01:01
not long enough
0:01:05
not long enough
0:01:06
no no no no no but hey another one and
0:01:11
then this weekend will be a long weekend
0:01:14
as well because monday is anzac day
0:01:17
what is it
0:01:19
it's anzac day
0:01:21
what's that
0:01:23
yeah
0:01:24
i just know there's a public holiday
0:01:26
that's over oh that's nice
0:01:31
yeah but um
0:01:33
there'll be i think it's something to do
0:01:35
with australia and new zealand as a
0:01:37
combined
0:01:41
yeah all right so
0:01:43
first and foremost
0:01:45
let's do the acknowledgement of the
0:01:46
country and pay our respects to the
0:01:48
elders so here we go
0:01:51
i begin today by acknowledging the
0:01:53
traditional custodians of the land on
0:01:55
which we gather today and pay my
0:01:57
respects to the elders past present and
0:01:59
future i extend their respect to
0:02:02
aboriginal and torres strait islander
0:02:04
people here today
0:02:09
that was brilliant smurf ass sand
0:02:13
all right
0:02:15
now i should probably just smooth that
0:02:17
silk that makes a lot more sense isn't
0:02:19
it
0:02:25
this project is as it's as smooth as
0:02:28
sand
0:02:29
[Laughter]
0:02:33
oh hilarious hilarious
0:02:36
all right cool so
0:02:38
yeah um so today how about you choose a
0:02:42
background
0:02:44
background noise
0:02:48
how about we let the uh viewers hate
0:02:51
khan var how about we let the viewers
0:02:52
choose the background noise today
0:02:56
ah that would be a great idea
0:02:59
yeah convo you're up
0:03:02
pick a letter
0:03:06
from a to z
0:03:10
by the way i looked at an sac day it's
0:03:12
like a memorial day for veterans
0:03:16
oh yeah
0:03:17
yeah it's coming back to me now slowly
0:03:20
but yeah
0:03:21
okay letter r
0:03:23
okay cool so
0:03:26
oh rock here we go
0:03:29
got all the rock one
0:03:35
is our next project going to be the
0:03:37
stream yard spotify integration
0:03:43
maybe if they pair if they pass 5
0:03:45
million bucks why not
0:03:48
all right i'll do it for five
0:03:50
hell yeah why not
0:03:51
[Laughter]
0:03:55
all right um so yeah today we're going
0:03:58
to be focusing on the rest of the fixes
0:04:01
that we need
0:04:02
to do so first of all we're gonna open
0:04:05
jira so
0:04:08
do you wanna go through tory
0:04:11
you want me to share my screen yeah
0:04:14
because i'm still having problems with
0:04:16
sharing the screen this oh really
0:04:18
is it chrome
0:04:20
yeah
0:04:21
it's chrome is it mac it's
0:04:24
not allowing me to do it as in chrome
0:04:27
isn't like
0:04:28
share the screen
0:04:42
um jagdev
0:04:43
finishes a new intro is still hopefully
0:04:46
a work in progress and he'll be you will
0:04:50
be here so we're going to heart once he
0:04:51
can yeah
0:04:54
he's going all in i mean so
0:04:56
all in hundred percent yeah
0:04:59
that's actually why he wasn't able to
0:05:01
make this show yesterday he's working so
0:05:04
hard on it
0:05:05
he pulled up oven overnighter and then
0:05:08
two
0:05:11
for two slides in a row like wow
0:05:14
i love your dedication
0:05:21
um all right cool
0:05:25
do you wanna
0:05:26
um
0:05:27
put the do the websocket thing
0:05:33
as in um extend the web socket timings
0:05:37
or
0:05:38
um
0:05:39
as a websocket time needs to be extended
0:05:46
wait really
0:05:51
like
0:05:52
wait is somebody having an issue
0:05:56
um
0:05:59
so we basically discussed this
0:06:01
way back
0:06:03
and um you actually said that it's
0:06:06
disconnecting the person if they're not
0:06:09
active for probably a few minutes
0:06:12
oh
0:06:13
oh
0:06:14
gosh that's where i thought why that
0:06:16
came from
0:06:18
gotcha
0:06:20
so
0:06:22
uh yeah there's also the maximum limit
0:06:25
set by aws which i think is like two
0:06:28
hours or something
0:06:30
okay
0:06:31
so i was shocked
0:06:34
yeah it should be fine
0:06:36
okay cool then that's fine then we don't
0:06:39
really need to worry about that
0:06:40
for this i think they get disconnected
0:06:44
after 10 minutes if they're idle
0:06:47
uh if that's i think that's what you're
0:06:49
referring to yeah yeah
0:06:53
um
0:06:55
so i'm not great with web sockets
0:06:58
but i think typically
0:07:02
what you do is
0:07:04
uh i think they call it like a heartbeat
0:07:07
so you send this like ping pong
0:07:10
every so often just to keep the
0:07:12
connection from going idle and then
0:07:15
disconnecting
0:07:18
ping-pong okay
0:07:20
it's almost like polling
0:07:22
i would say it's kind of similar to
0:07:24
polling so
0:07:26
right you just want to say hey i'm not
0:07:29
gone like i'm still around like don't
0:07:31
disconnect me um
0:07:34
yeah we can probably do that one do you
0:07:36
know how easy or hard that is
0:07:40
um
0:07:43
let's take a look i don't think it's too
0:07:45
bad to be honest
0:07:48
ping pong
0:07:51
[Music]
0:07:55
riding rebels
0:07:56
service
0:08:02
ah
0:08:03
that's a new concept
0:08:07
just fish just fish
0:08:12
that's exactly what we're doing jack dab
0:08:15
fishing basking blushing
0:08:18
um
0:08:19
client handshake server response keeping
0:08:22
track of clients
0:08:24
exchange
0:08:26
blah blah blah blah blah blah blah blah
0:08:28
blah blah
0:08:30
blah blah
0:08:31
okay maybe it's in here
0:08:36
[Music]
0:08:38
did that
0:08:49
um
0:08:59
they said that's your definition as well
0:09:02
i really don't
0:09:04
i think so
0:09:06
from wise to
0:09:08
oh pings and pongs
0:09:10
there we go oh um yeah
0:09:13
does that thing's important the
0:09:14
heartbeat all works okay
0:09:16
uh
0:09:18
either the clown or something should
0:09:20
stand
0:09:42
so how do we implement
0:09:44
we know what that is now
0:09:49
how do you think google
0:09:51
you use that you can use this to make
0:09:53
sure the client is still connected for
0:09:55
example
0:09:56
so
0:09:58
websocket
0:10:03
why did i say complete socket ping pong
0:10:07
um
0:10:08
[Music]
0:10:10
sending frame to a server
0:10:20
[Music]
0:10:27
i'm going to go
0:10:30
back to the mdm because i think it
0:10:35
might be there in the api
0:10:38
websockets api
0:10:40
or they might have an example
0:10:47
um
0:10:50
websocket
0:10:54
message event
0:10:56
i've done it i did it before it's just
0:10:59
been a long it's like more than a year
0:11:03
um
0:11:11
this is what i probably
0:11:12
go uh and type in google i implement
0:11:16
websocket ping pong that's so it might
0:11:19
come up
0:11:22
okay
0:11:22
yeah
0:11:32
uh i will do that
0:11:37
and i wonder if it's under if i if you
0:11:39
don't mind i'm just gonna see if it's
0:11:40
under
0:11:42
send
0:11:45
um
0:11:48
that's sending a message of course
0:11:55
message open close error
0:11:58
hold back
0:12:00
okay
0:12:04
uh
0:12:06
so
0:12:08
check that we're not reading them
0:12:10
[Music]
0:12:12
so
0:12:13
tori actually
0:12:15
raised this issue a while ago that when
0:12:19
the user is i mean when the users are
0:12:22
connected to a socket to a board
0:12:26
if
0:12:27
anyone's
0:12:28
ideal
0:12:30
if anyone's idle then the websocket
0:12:33
connection terminates itself
0:12:36
so we're just basically
0:12:40
implementing uh
0:12:42
probably a websocket ping pong
0:12:46
to
0:12:46
eliminate their bug
0:12:50
because if touring tests today
0:12:53
it happened it will happen in prague as
0:12:57
well
0:12:59
right i didn't test it
0:13:02
we tested it
0:13:05
i thought you said that oh by the way if
0:13:08
the user stays idle it does disconnect
0:13:12
oh yeah i think i think that
0:13:15
is what will happen yeah
0:13:18
okay so they just basically
0:13:21
implementing the fix for that right
0:13:26
the websockets do they work in prod
0:13:30
do they work are they all fixed
0:13:33
websocket currently looks broken
0:13:38
oh what
0:13:44
huh
0:13:47
well hang on
0:13:49
um
0:13:52
do you wanna us
0:13:55
uh tori
0:13:57
yeah
0:13:58
do we wanna test the
0:14:00
sockets first now because i don't
0:14:03
remember it's broken it's fixed
0:14:06
unless i am
0:14:07
[Music]
0:14:09
missing something
0:14:14
so if you want to create a board and
0:14:16
then send me the link of that
0:14:20
because what was the board we're using
0:14:21
dev board
0:14:24
i'm gonna tell you
0:14:26
being my approachmen
0:14:29
yeah it might be the wrong api gateway
0:14:32
url
0:14:35
that's probably the problem
0:14:38
but i made sure i changed it
0:14:40
when deploying
0:14:42
it interesting well i uploaded still
0:14:48
i uploaded the still front-end js to s3
0:14:53
in the last show
0:14:54
but maybe i didn't have the right
0:14:58
i see if that makes sense yeah because
0:15:00
um
0:15:01
when i did it i mainly had to copy and
0:15:05
paste it and then upload it yeah that
0:15:07
would make sense it's broken
0:15:11
uh do you want to try
0:15:14
this board
0:15:17
um it's test one to oh you're already
0:15:21
okay just um
0:15:23
give me the url for that one
0:15:26
for what
0:15:28
for uh the link yeah words sure exactly
0:15:33
yeah when you open the dev tools it is
0:15:35
broken
0:15:36
uh
0:15:37
same must be that thing that we probably
0:15:40
have to change there you
0:15:42
um website yeah
0:15:46
i can upload
0:15:47
the
0:15:49
um
0:15:50
upload the file again we just have to
0:15:55
invalidate the cache
0:15:57
yeah that's fine no problem
0:16:00
so we can
0:16:01
do that
0:16:04
all right do you have the url for the
0:16:05
websocket
0:16:07
yeah i'm just gonna
0:16:09
i was navigating to that
0:16:11
and
0:16:13
yeah that's all one
0:16:16
actually i can just go into my project
0:16:19
and
0:16:20
go in that way
0:16:22
oh i don't want to be your studio
0:16:25
to retest it since probably
0:16:28
oh yeah it would have impacted people's
0:16:30
testing for sure although i don't know
0:16:32
if they used it together
0:16:35
then they might not have noticed
0:16:41
i can't try this one
0:16:46
why don't why don't we use the github
0:16:49
actions to do the
0:16:51
the deployments for s3
0:16:57
because we would have set that up
0:17:03
so
0:17:05
okay i'm missing something now i am
0:17:08
missing i have a guest i remember i set
0:17:10
that up i
0:17:12
set up the github actions
0:17:14
so that it would copy to s3
0:17:18
and then invalidate the cache
0:17:20
whenever you push to
0:17:23
github
0:17:27
but i think it just
0:17:29
after you after you deleted the stack
0:17:33
it needed it needed to be it needed a
0:17:35
few in
0:17:37
environment variables changed
0:17:40
in there
0:17:42
in order for it to work again ah
0:17:45
so that was the i don't i don't i don't
0:17:47
have access to that you do
0:17:52
or maybe i do now because it's like uh
0:17:54
it's not a personal repo anymore but i
0:17:58
don't know if i have the permissions
0:18:01
yeah you can have okay so let's do
0:18:05
first thing first is
0:18:08
step by step
0:18:09
uh i don't have it in my code
0:18:14
uh do you know do you remember the
0:18:15
command
0:18:17
off
0:18:20
to copy
0:18:21
um is aws s3cp
0:18:25
and then
0:18:27
the file you want to
0:18:29
copy from and then the s3
0:18:34
address
0:18:36
so that would be in your current
0:18:37
directory
0:18:43
then the address
0:18:45
s3 colon
0:18:47
forward slash forward slash
0:18:49
scrambler front end
0:18:51
and then with a hyphen in between
0:18:59
yeah there we go all right
0:19:02
what's the
0:19:04
do you know the command to invalidate
0:19:06
the cache
0:19:08
no
0:19:09
hang on
0:19:11
it's fine you can invalidate it manually
0:19:18
i think it's in the github actions
0:19:20
actually but i you need the distribution
0:19:22
id
0:19:23
yeah
0:19:24
yeah that's what i was thinking about
0:19:28
um
0:19:30
this is a rerun
0:19:37
what happened
0:19:40
um
0:19:41
gekko said is this a rerun special
0:19:46
[Laughter]
0:19:49
he's on to us again
0:19:56
all right cool so i am i know for us
0:19:59
from my own account wow interesting
0:20:05
these are we're just re-running clips of
0:20:07
like the best of
0:20:09
last week
0:20:11
yeah
0:20:14
nothing special
0:20:17
just that
0:20:19
okay um so i'm gonna invalidate the
0:20:22
cache now
0:20:24
okay
0:20:29
all right it's in progress
0:20:46
okay that that's completed
0:20:54
yes so you want to give me the board
0:20:57
uh you already understand yeah
0:21:02
okay i'm gonna go into the board and
0:21:04
[Music]
0:21:07
okay
0:21:08
can you see my one
0:21:11
um mine's still loading
0:21:15
okay
0:21:29
right now i think it's
0:21:32
uh
0:21:35
no it's still
0:21:37
wait what
0:21:39
failed to load reserves
0:21:41
oh call them names
0:21:44
oh
0:21:46
uh what's happening there
0:21:49
express
0:22:01
[Music]
0:22:07
welcome
0:22:08
to beta testing we started from one
0:22:12
thing
0:22:13
led to another issue that led to a
0:22:16
second issue and which led to the third
0:22:19
issue
0:22:21
what is going on
0:22:23
oh
0:22:25
they got this story so
0:22:32
okay
0:22:33
well why am i getting
0:22:35
403
0:22:36
so does the dev board not exist
0:22:40
you just created isn't it
0:22:42
no
0:22:43
i just went to a url
0:22:46
oh
0:22:48
okay try to create the board properly
0:22:50
tory that's weird though it should kick
0:22:52
me if it's not a real board it should
0:22:55
kick me to the home page
0:22:59
you know
0:23:01
that's another bug then
0:23:03
but it was it was doing that before
0:23:06
it wasn't no like before we deleted the
0:23:10
stack like weeks ago
0:23:14
at least just yeah it was yeah it was
0:23:18
okay
0:23:19
um
0:23:19
what's up we're going to
0:23:26
right like this
0:23:30
uh hang on a minute i'll just check in
0:23:32
postman
0:23:37
uh there's no
0:23:40
board called as
0:23:42
the dev board interesting
0:23:45
hang on a minute
0:23:48
is someone going in there deleting
0:23:53
that would be funny
0:23:57
honestly that'll be hilarious if they're
0:24:00
doing it
0:24:01
okay no
0:24:02
no no there is a board
0:24:05
no it's not then a dev board no let's
0:24:08
just create a new one then are there any
0:24:11
boards
0:24:12
oh yeah
0:24:13
there are million boards
0:24:16
oh really i don't know so someone's
0:24:19
bankrupt
0:24:22
someone's been creating boards
0:24:24
yeah
0:24:25
blindly
0:24:30
okay chad there are no um
0:24:33
dev boards
0:24:35
that's weird
0:24:37
yeah why am i
0:24:40
looks like there's some error
0:24:45
what kind of error
0:24:47
it's your front end board name
0:24:49
because you can't find it yeah that
0:24:52
would make sense
0:24:54
for free for ah
0:24:56
um we
0:24:57
need to make the still front end public
0:25:02
in s3
0:25:04
okay
0:25:05
so i'm gonna do that that's my fault i
0:25:07
should have remembered it
0:25:09
how do you do how do you um
0:25:12
shouldn't that just automatically
0:25:14
no it doesn't matter automatically
0:25:17
unless it's on the
0:25:20
so
0:25:21
by default all the objects in s3 are
0:25:24
private unless you
0:25:30
okay
0:25:31
yeah
0:25:35
there you go
0:25:37
mr tory that's your favorite all right
0:25:39
let's see if that works now that was
0:25:41
probably the problem then
0:25:46
but if that was that in the console you
0:25:49
should have said that con access is
0:25:51
still front end
0:25:56
let's check
0:25:59
well yeah now now it brought me to the
0:26:01
dev board
0:26:02
there you go yeah so that was a problem
0:26:04
then because it wasn't able to access
0:26:06
the file
0:26:08
yeah and now the websocket is connected
0:26:11
yeehaw see what
0:26:14
okay so now i'm gonna go into the dev
0:26:16
board
0:26:18
i don't know if the name matters but
0:26:20
this is capital b
0:26:37
there you go perfect all right
0:26:41
okay cool so websockets are working back
0:26:44
to uh
0:26:45
our ping pong one
0:26:48
ping pong task
0:26:56
huh how come it's not saving you
0:27:04
it's nice it's not saving it
0:27:11
how many times are you pressing it
0:27:23
i'm not getting well it could have saved
0:27:25
it but i'm not seeing a pop-up
0:27:30
this is getting very interesting
0:27:34
i am not seeing i'm not seeing a
0:27:36
confirmation yeah because it's not
0:27:40
saving the notes for some reason
0:27:44
um but why the let's hit in a console
0:27:51
what happened
0:27:55
i think it's the viewer
0:27:59
how did they get the url
0:28:03
just to lock down the screen
0:28:06
and typed
0:28:09
yeah
0:28:11
hide the url tori hide it
0:28:22
[Laughter]
0:28:28
did you fall
0:28:31
you played that noise that's funny no i
0:28:33
didn't i didn't honestly i didn't
0:28:36
you're kidding
0:28:37
i
0:28:38
didn't honestly
0:28:40
who else is on the street
0:28:56
i don't believe you
0:28:58
you don't need to because you're playing
0:29:00
that noise
0:29:01
i didn't play that noise
0:29:04
i didn't know you actually fought it no
0:29:10
it wasn't that loud
0:29:16
here we go
0:29:20
[Applause]
0:29:21
what's happening
0:29:26
up
0:29:46
what is going on
0:29:48
i muted you for a second and and the
0:29:51
voice stops coming
0:29:54
you will find tory
0:30:02
all right
0:30:03
let's focus i know four practices you
0:30:06
because you know you know how i'm
0:30:08
meeting you and the voice stopped coming
0:30:11
oh that was it that was me
0:30:14
man
0:30:19
all right
0:30:20
that was a bit much
0:30:24
how much did you eat tori
0:30:27
a lot apparently
0:30:30
[Laughter]
0:30:33
oh man my my cheeks are from laughing
0:30:36
now
0:30:39
[Laughter]
0:30:42
all right so
0:30:45
try and save the boy
0:30:48
oh
0:30:55
come on
0:31:04
this is gonna be the
0:31:06
chill
0:31:07
so it's a joke
0:31:09
so somebody put this fart sound inside
0:31:13
of
0:31:23
[Music]
0:31:26
what
0:31:28
yeah look at that that's why it was
0:31:30
playing
0:31:37
how do they know
0:31:39
um
0:31:43
did they inject this
0:31:48
look it i keep getting more parsley
0:31:57
oh yeah playing okay i muted it i muted
0:32:01
the bra the window okay so now we have
0:32:03
another
0:32:04
one
0:32:08
wow
0:32:09
all right i'm gonna take this off
0:32:12
all right i'm gonna take this project
0:32:15
all public now hang on a minute
0:32:17
no this is not happening
0:32:21
that is hilarious honestly
0:32:34
do you think
0:32:37
i know who it might be to be honest
0:32:40
so can you send
0:32:45
well
0:32:46
how did he how did he get those like did
0:32:48
he use the websocket connection
0:32:50
to send the file
0:32:52
i'm curious
0:32:54
let's let's find out how i did this
0:32:57
all right
0:32:59
let me check let me take a look here
0:33:05
oh no did my dev tools freeze
0:33:08
uh
0:33:08
no because i've just taken this eye off
0:33:12
oh you did
0:33:13
yeah
0:33:20
that was fun i was like
0:33:22
are you playing i thought you were
0:33:23
playing a practical joke on me
0:33:26
so
0:33:27
um go back
0:33:31
to the
0:33:32
to the url
0:33:36
to what url um the pride question mark
0:33:40
yes this is the one
0:33:46
yeah so this is what might have happened
0:33:52
wow
0:33:56
so
0:33:57
either so he might
0:34:01
oh wow
0:34:03
oh no oh no
0:34:10
okay hang on i'm gonna go and delete the
0:34:12
board as well it's true it's chewing up
0:34:16
it's chewing up all the resources on my
0:34:18
computer
0:34:22
hang on
0:34:24
we're going to delete
0:34:27
my guess is
0:34:29
my guess is that
0:34:33
he's he's
0:34:35
he attached the the wave file
0:34:41
the the sound file to a note
0:34:45
yeah
0:34:46
or just sent it via websocket
0:34:49
but it'd be funny if he could attach it
0:34:51
to the note but i don't know it i feel
0:34:53
like maybe i think he
0:34:55
might not be through that he can't no it
0:34:58
must be
0:34:59
with the websocket because
0:35:02
the board is up through the websocket
0:35:08
oh it's true
0:35:10
almost under the website
0:35:12
no yeah because
0:35:14
unless he's safe
0:35:17
that's funny
0:35:18
that's funny
0:35:22
dying
0:35:23
had me dying
0:35:25
it was so loud in my headphones too like
0:35:28
i couldn't hear anything else i heard
0:35:30
was
0:35:34
uh
0:35:36
to be honest i might know who this is
0:35:39
but they're not coming on the comments
0:35:41
at all
0:35:43
they're just
0:35:44
doing it hiddenly
0:35:48
wow look at that
0:35:51
yeah take that
0:35:53
hacker
0:36:01
i think he's created so
0:36:04
just based on the pattern here it looks
0:36:06
like creating a card and then
0:36:10
attaching
0:36:15
[Music]
0:36:19
i think it's that simple actually
0:36:25
i'm guessing
0:36:26
that's really genius of him to be honest
0:36:28
yeah it's funny
0:36:34
so
0:36:37
yellow card and then that file and then
0:36:40
blue card and then that file ah so he's
0:36:43
doing with every card
0:36:45
so
0:36:48
i'm wondering if he's attaching it as a
0:36:50
uh
0:36:52
like
0:37:03
it's funny
0:37:05
ah
0:37:06
source
0:37:08
so here's the card
0:37:12
tori was here
0:37:14
or he's just
0:37:15
maybe he's not attaching them to cards
0:37:17
he's just sending them
0:37:19
through the websocket connection
0:37:23
like
0:37:27
money
0:37:29
this is hilarious to be honest
0:37:39
um yeah i don't see any content on the
0:37:42
actual cards here but
0:37:46
like if
0:37:47
i thought there was a way to look at
0:37:51
what gets sent through the network
0:37:54
websocket
0:37:58
is there any way to upload the file
0:38:01
in the
0:38:02
console well he could just do it in the
0:38:05
dev tools
0:38:07
okay i didn't know that
0:38:18
all right
0:38:19
let's go back to our um websocket ping
0:38:22
pong
0:38:25
that was really hilarious though
0:38:29
i made my day yeah
0:38:34
i honestly thought that it was you but
0:38:36
then i was i wish man i wish i could
0:38:39
power like that
0:38:42
[Music]
0:38:44
that's a lot too yeah i thought you were
0:38:47
playing like a practical joke on me
0:38:52
like
0:38:53
you're just playing some sound in the
0:38:55
background
0:38:59
yeah but no i wasn't i wasn't it was
0:39:02
like
0:39:05
oh here we go here we go here so zayn
0:39:08
i'm looking in the
0:39:10
um
0:39:11
in the
0:39:13
the the websocket
0:39:15
like messages
0:39:17
history
0:39:19
so
0:39:20
let's go back
0:39:22
up
0:39:24
and let's see
0:39:28
if
0:39:31
okay and oh yeah so yeah he just
0:39:34
so he
0:39:37
so he just injected like uh
0:39:40
a script
0:39:42
um what do you call that
0:39:44
cross-site
0:39:46
whatever like he injected some
0:39:47
javascript with the new audio
0:39:51
play script so we should
0:39:53
so i guess that means that
0:39:57
when you're adding a card
0:40:00
um
0:40:01
and it's getting sent through the
0:40:03
websocket
0:40:05
there's no um there's no
0:40:09
there's no uh
0:40:11
sanit uh there's no we're not sanitizing
0:40:14
the cards in the back end making sure
0:40:17
something like this could happen i need
0:40:19
to do that it would be bad because if it
0:40:21
was a malicious person they could
0:40:23
you know do a
0:40:25
like attach a malicious link or
0:40:27
something yeah
0:40:30
yeah that's a really
0:40:31
good point we need to do that and um
0:40:34
good to learn this through farting
0:40:35
noises too yeah
0:40:37
yeah true that is
0:40:39
like
0:40:40
and to be honest i know who exactly as
0:40:43
and i can basically confirm who exactly
0:40:45
did this
0:40:47
that has happened once
0:40:49
once
0:40:50
before in my personal website
0:40:53
and
0:40:56
and as soon as well not the um
0:41:01
sounds but a kind of a picture
0:41:05
which was even hilarious to be honest
0:41:09
and i was
0:41:10
like hang on
0:41:14
who can this be and
0:41:17
then i found a heart that did it
0:41:21
oh so it is offline now okay yeah well
0:41:24
it's offline
0:41:26
so basically
0:41:28
basically all the all he needed to do
0:41:30
was
0:41:31
add this
0:41:39
all i needed to do was just add this
0:41:41
script
0:41:43
as
0:41:44
as
0:41:45
sorry i went kind of dark there but um
0:41:48
add this script to the
0:41:51
to the um as the text or even through
0:41:55
the dev tools and then when this
0:41:58
script gets injected then it's it's
0:42:01
gonna automatically
0:42:02
play
0:42:03
the fart sound
0:42:05
yeah yeah that's basically it
0:42:09
wow
0:42:10
do audio
0:42:11
and then play
0:42:15
yeah so if we if we just
0:42:17
i open this
0:42:19
in here
0:42:21
and play it
0:42:23
we should get a part sound
0:42:35
oh wow what's going on
0:42:38
all right let's see what
0:42:40
uh i think is because um it's not online
0:42:43
is that
0:42:48
i think it's just so full
0:42:52
okay
0:42:55
oh i muted the browser that's why ah
0:42:58
okay
0:43:18
no
0:43:20
didn't play our sound
0:43:29
there you go that's how we did it oh
0:43:32
that's how we did it
0:43:34
all right so he just injected a script
0:43:36
so yeah it just needs to be sanitized on
0:43:38
the back end so that you can't
0:43:42
just inject any
0:43:43
javascript
0:43:45
onto the notes
0:43:46
and then send it
0:43:52
but that was raining genius
0:43:55
that's funny
0:44:01
it was a lot did you hear as much as i
0:44:04
could here
0:44:05
like
0:44:06
it was basically constantly going off
0:44:09
constantly
0:44:11
and i was
0:44:12
like hang on as tori really had that
0:44:15
much to eat
0:44:16
and the parts are that loud
0:44:20
[Music]
0:44:22
funny
0:44:25
that's basically the highlight of the
0:44:27
show
0:44:28
to be honest
0:44:31
yeah it was good
0:44:36
oh so he's also trying to clear the
0:44:38
console
0:44:39
okay
0:44:43
so that
0:44:46
so that you can't open the console but
0:44:49
too bad for you geckdev i turn that off
0:44:52
in my devtools
0:44:55
oh
0:44:57
that's my contact them he isn't talking
0:44:59
anymore
0:45:01
[Music]
0:45:05
i preserve my console so you can't clear
0:45:07
it
0:45:09
oh
0:45:10
on the face
0:45:13
um oh man
0:45:16
yeah
0:45:17
all right
0:45:21
this is hilarious be honest
0:45:24
as in i i kept thinking hang on tori
0:45:28
would never do this kind of a thing as
0:45:30
in far on the mic on the shelf
0:45:35
and i was like
0:45:38
keep a straight face
0:45:52
[Music]
0:45:59
to go to a doctor to get your air
0:46:02
checked i don't need nothing
0:46:03
[Music]
0:46:05
yeah what if i said that
0:46:07
i don't hear anything wayne what are you
0:46:09
talking about
0:46:12
but eventually the kind of laugh you
0:46:14
would kill me i could tell there's a bit
0:46:17
of a cheeky one
0:46:19
yeah boy i'm warning you now what you
0:46:21
gonna do
0:46:25
anyway yeah back to the
0:46:29
heartbeat
0:46:33
i thought you were watching fought beat
0:46:40
okay
0:46:43
[Laughter]
0:46:54
oh and
0:46:56
i actually thought that it was you
0:46:58
because
0:46:59
when i basically muted you
0:47:02
the noise stopped
0:47:05
and i was like
0:47:07
but then i unmuted you and then muted
0:47:10
you again
0:47:12
but then it kept on coming
0:47:16
ah but anyway i'm the heart of the
0:47:19
websockets yep
0:47:21
let's go to this one
0:47:23
and check how to implement ping pong
0:47:27
i thought there was a
0:47:29
example here
0:47:32
but maybe not anymore
0:47:37
yeah we already read this
0:47:40
hmm
0:47:42
i don't know
0:47:44
why
0:47:47
you cannot
0:47:50
find an easy
0:47:53
ping pong example
0:48:02
so it tells us what is a ping pong and
0:48:05
what does it do but that's all it
0:48:07
doesn't really tell us how to implement
0:48:09
it
0:48:10
yeah is it something that's done
0:48:13
automatically
0:48:17
hmm
0:48:22
do you wanna maybe
0:48:24
google as in implement websockets ping
0:48:27
pong i i yeah i did and i didn't really
0:48:31
see that
0:48:43
okay let me go back to google
0:48:47
um
0:48:48
i wonder if the aws
0:48:55
like or
0:48:58
keep alive
0:49:12
well i guess keep alive is if you get
0:49:14
disconnected it will automatically
0:49:16
reconnect so maybe that's different
0:49:25
i wonder if this log rocket article has
0:49:28
any info
0:49:31
their articles are usually decent
0:49:40
well if we can't find the answer then
0:49:44
uh here i would say we should
0:49:47
check out the
0:49:48
aws documentation again
0:49:52
see if they make mention of it
0:49:55
all right i will have a look
0:50:15
um
0:50:18
[Music]
0:50:27
so it's saying that um
0:50:30
actually i was
0:50:32
i will share this link with you
0:51:03
so apparently for the service side it
0:51:06
only responds with pong
0:51:09
for the
0:51:12
line side pink
0:51:14
yeah so if we ping from the client to
0:51:17
say hey i'm still around
0:51:19
then we'll get out we'll get a pong but
0:51:21
uh what it's saying is the
0:51:24
the lambda or the aw whatever the aw i
0:51:28
guess it's not a lambda but the aws
0:51:30
api websockets will not send a ping
0:51:36
only send a pong
0:51:38
to the
0:51:39
client
0:51:40
the only thing upon that okay yeah so
0:51:43
you start you say ping
0:51:45
and then you get back upon you don't
0:51:48
send a punk
0:51:50
you don't send
0:51:52
a pong you send a ping then you get a
0:51:55
pawn back because
0:51:58
the server would send the pawn back
0:52:01
in response to the ping so
0:52:04
it's always in that order it's always
0:52:06
ping pong
0:52:07
ping-pong ping-pong
0:52:10
yeah
0:52:18
well that's good to know though but yeah
0:52:20
i was thinking just like from the client
0:52:22
side we just need to send a few pings
0:52:26
mm-hmm um
0:52:30
[Music]
0:52:33
pain control
0:52:37
really
0:52:44
mm-hmm
0:52:48
i use the ping-pong id and it works
0:52:50
nicely here's an implementation but it's
0:52:52
server-side
0:52:56
so we want
0:52:57
a
0:52:59
thing which is
0:53:01
client-side
0:53:02
isn't it
0:53:04
yeah
0:53:15
yeah i've seen it called the heartbeat
0:53:19
um or ping pong
0:53:23
um
0:53:28
oh so it's got a 10 minute idle
0:53:31
connection timeout yep that's what i was
0:53:34
talking about yeah so if
0:53:36
you don't get up if you don't send any
0:53:39
data with intent or don't get any data
0:53:41
in 10 minutes
0:53:43
then the server will think you're
0:53:46
you're not there right so it'll just
0:53:48
disconnect
0:53:51
yes
0:53:51
[Music]
0:53:55
oh okay
0:53:57
i've got a tutorial i'm
0:54:00
gonna check how that is just bear with
0:54:02
me for a minute
0:54:04
okay um
0:54:17
this does not use a ping pong strategy
0:54:25
well here's some code for
0:54:30
re-establishing a connection after it is
0:54:34
after a connection is lost
0:54:39
which is just
0:54:45
pocket over
0:54:47
if this that reconnect clear time
0:54:49
[Music]
0:54:51
um how about if
0:54:53
so
0:54:55
if if the idle
0:54:57
connection times out in 10 minutes
0:55:00
how about after us
0:55:03
we set timer on in in the background and
0:55:07
as soon as he's about to be say
0:55:11
nine nine minutes we
0:55:13
promptly use
0:55:15
that um
0:55:16
please move your
0:55:19
cursor um if you don't want to be
0:55:21
disconnected from the back of yeah
0:55:26
well the cursor doesn't send a websocket
0:55:29
message
0:55:33
no so the whole point is there for the
0:55:35
user not to be
0:55:37
idle more than a certain amount of time
0:55:42
yeah but they have they have to send uh
0:55:46
i think i think receiving is fine
0:55:50
but they have to either send or receive
0:55:52
a websocket message in order to
0:55:54
in order for aws
0:55:58
to know that they're still connected to
0:56:00
the websocket
0:56:05
but i thought that um
0:56:08
aws will automatically disconnect after
0:56:12
the user has been idle for
0:56:15
10 minutes right
0:56:17
that is that is right but
0:56:20
if they're idle
0:56:21
it means they haven't sent or received a
0:56:24
websocket message in the last 10 minutes
0:56:28
so i do so basically they are defining
0:56:32
idle by
0:56:33
sending or receiving messages
0:56:36
i believe i'm definitely sending i
0:56:38
believe receiving would also be included
0:56:41
in that but
0:56:42
if it's in the spec great if not i would
0:56:45
assume receiving would also count
0:56:54
i'm
0:56:56
just thinking about this solution
0:56:59
for it
0:57:01
so basically
0:57:03
they define idle by
0:57:05
a message being received or not so as
0:57:08
soon as the messages
0:57:10
stop from both sides
0:57:13
for more than 10 minutes
0:57:15
the websocket will disconnect
0:57:24
okay interesting
0:57:35
um
0:57:38
all right we will probably have to come
0:57:40
back to it tomorrow then
0:57:42
because sure yeah i'll take i'll try to
0:57:44
take another look at it
0:57:47
like client side
0:57:49
yeah
0:57:52
that'd be awesome man
0:57:54
a lot of like like socket i o is a very
0:57:57
popular
0:57:58
um websocket library and
0:58:02
i'm pretty sure that type of thing would
0:58:03
just come baked into the api
0:58:12
had a heartbeat example in their
0:58:14
documentation but i don't know if they
0:58:16
got rid of it
0:58:19
i wouldn't
0:58:20
know i'll probably have to check that
0:58:23
but if that
0:58:24
if they have it then that would be i
0:58:26
will probably then
0:58:28
[Music]
0:58:30
the go-to way isn't it
0:58:33
yeah i think well all it really is is
0:58:36
you're just sending a message
0:58:39
i guess
0:58:41
that just
0:58:42
the server just needs to know that
0:58:47
um
0:58:48
that you're there so i believe that's
0:58:51
kind of it
0:58:56
yep all right cool
0:58:58
let's
0:58:58
revisit a tomorrow
0:59:02
and
0:59:03
yeah been a good session um yeah good
0:59:07
progress
0:59:08
hilarious moments
0:59:11
yeah really hilarious
0:59:14
which was fun um yeah thanks for joining
0:59:17
guys and for the really
0:59:20
um
0:59:21
what should i say a genius surprise
0:59:27
xxs attack
0:59:30
yeah and
0:59:33
yeah um so
0:59:35
today we basically we looked into
0:59:38
webster um made the websocket connection
0:59:40
work
0:59:41
and we're gonna we're just
0:59:44
having a
0:59:45
okay how to
0:59:47
increase the websocket timeout time from
0:59:51
uh to be more than 10 minutes
0:59:54
and
0:59:55
yeah that's basically it um if you want
0:59:58
to join us tomorrow um feel
1:00:01
free to on um because
1:00:03
we're gonna be doing some really cool
1:00:05
stuff
1:00:06
and
1:00:07
yeah
1:00:08
thanks for joining and um i will see you
1:00:11
guys tomorrow
1:00:13
thanks everybody have a great day
1:00:15
same place and
1:00:17
a different time
1:00:19
there's the one