Episode Transcript
Transcripts are displayed as originally observed. Some content, including advertisements may have changed.
Use Ctrl + F to search
0:00
I sure hope you're hungry.
0:02
Who I'm starving? Wash those
0:05
hands, pull up a chair, and secure that
0:07
feed bag. Because it's time to listen
0:09
to Scott Tolinski and Wes Boss attempt
0:12
to use human language to converse with and
0:14
pick the brains of other developers.
0:16
I thought there was gonna be food. So
0:19
buckle up and grab that old f***ing handle.
0:21
Because this ride is going to
0:24
get wild.
0:26
This is... The Syntax
0:28
Supper Club. Welcome
0:37
to Syntax. In
0:39
today's Syntax Supper Club
0:41
we have a really great guest on
0:43
today. Nathan Weiner is going
0:45
to be talking about Tamagooey.
0:48
Which really is this neat thing
0:51
that unifies React Native and
0:53
the web. And allows you to have consistent
0:55
styling across everything.
0:58
And it's one of those wonderful looking
1:01
services that you have to go to the
1:03
domain to see. Just from a simply
1:05
aesthetic purpose alone.
1:07
This website is in an incredible
1:09
treat to look at. It's an incredible
1:12
treat to dive into and really explore.
1:14
So Nathan, welcome to Syntax.
1:16
How's it going? Hey, thanks
1:18
for having me. Yeah, doing pretty well
1:21
this morning.
1:22
Overall. Nate, so you
1:24
want to give a little bit of high end. Who
1:26
are you? What are you doing? What are you working on? What's your
1:28
day to day? And
1:30
yeah, a little bit about Tamagooey
1:32
too as well. Who am I? I am... I'm
1:35
mostly a software engineer lately during
1:38
the daytime. I work at Vercel
1:40
currently. I
1:43
joined them about a year ago actually. So
1:45
I've been working on the preview comments team.
1:48
Which is like a new feature that they shipped maybe
1:50
a few months ago. Where you can just comment on any of your
1:53
preview deployments. And sort of like Figma
1:55
style collaborate. And kind of like leave feedback,
1:58
open issues, stuff like that. So...
2:00
Shout out to Versailles. I
2:02
think that's been a very fun project, but
2:06
I've been doing software in some form or another
2:08
for a long time and usually front end. A
2:10
lot of React stuff since React came out, obviously.
2:15
And yeah, so living
2:17
in Hawaii currently, kind of just enjoying
2:19
that. That's been for the last year, just
2:23
remote at Versailles. So I figured why
2:25
we were in the Bay Area before that and just
2:27
kind of like had been there for a long time
2:30
needed something new. So been out here and been
2:33
enjoying the weather and the beach and everything. And
2:36
then just kind of like hacking. Yeah,
2:38
I mean, Tamagui, we
2:40
can dive in from any angle, but
2:43
it's just a project that was
2:45
born out of a project that was born out of a project
2:47
that's just been ongoing since forever. And
2:50
it's just like a bone I've been chewing on,
2:52
I think for like the, since forever. Some
2:55
like, since I've been in React, I think since
2:57
the beginning of React, I think I've just been trying
3:00
to figure out a way to do universal apps, so
3:02
to speak, or to write an app that is
3:04
native
3:06
and web and that doesn't feel
3:08
like I can't do it because
3:11
it's been me a lot of the times just kind of working on projects,
3:13
right? And I think if you're
3:15
like a solo developer or a very small team, building
3:18
a truly cross-platform
3:20
app, even if you're using React Native, which is really great
3:23
and gives you, I think a lot of help, it's still
3:25
just a mountain of work. And so
3:27
Tomagui's kind of just been my attempt
3:30
to kind of just make that
3:32
a nicer experience and be able to actually share
3:34
a lot more code, I think, between
3:36
the actual React Native apps. And the idea,
3:38
I think the goal is to not actually sacrifice
3:40
that React
3:41
Native pitch, which is that you
3:43
can still
3:44
actually have it feels like it's
3:46
rendering to the platform native primitives, at least
3:49
in some cases right now, like Tomagui's
3:51
still working towards, I think, getting some of the
3:53
components to fully kind of have
3:55
that adaptability where it'll
3:57
feel like iOS on iOS or feel like...
4:00
a web primitive on on on the
4:02
web which is kind of the gong key tell us
4:04
how does styling work in
4:06
react native yeah it's a
4:08
style seat that create it's
4:11
this basically just stab
4:13
you
4:13
just import style sheet from react native
4:16
a you put at the bottom your file you give
4:18
it you give it a name and then you put like
4:20
these styles it looks a lot like css
4:22
it's basically like a subset i would say or
4:24
simplified version of css
4:27
that's kind of just designed to be edge javascript
4:29
object you know so background
4:32
color it's got a lot of the same stuff is deathly
4:34
a subset especially these days with css
4:37
doing
4:37
something new seemingly every
4:39
week almost or her which
4:41
is good and yeah also confusing
4:43
sometimes but the yeah i mean
4:46
it's pretty straightforward i think and
4:48
then and then you could share it with the web with
4:50
react native web and can i had that same syntax
4:52
across both of them but we
4:55
can go into it i think there's a
4:57
lot of sort of ups and downs of that
5:00
of that sort of set up and i think they're also
5:02
working on some cool new stuff there there
5:04
is a project from the react native team
5:06
that's called style x added
5:08
they've just started i think they're i don't have they've
5:10
announced it fully yet it maybe was or
5:12
it is about to be announced but it's it's kind
5:15
of a simple it's
5:16
a little bit of a simplification of a very much
5:19
similar idea you just
5:21
gonna do it in javascript yeah
5:23
so what about react
5:25
native web as
5:26
a thing right i think that can
5:30
make some people little confused about why would this
5:32
even exist you want to give a a high level was
5:34
to like what react in of web is and why
5:36
anyone would consider using it yeah
5:38
sure rec reckoning the web is a cool project
5:40
i think it it was started like soon after
5:42
react native was launched the idea is react
5:44
native has it's own set of a p eyes there
5:47
that's called a super size of reacts
5:50
it adds things like style sheet but
5:52
also adds a bunch of things like
5:54
you know detecting the screen
5:57
is like unified into one a p i am
5:59
i think
6:00
what's interesting is they have all these apia is a very
6:02
simple and and kind of straightforward and they
6:04
let you just do what you would we expect to do on
6:06
a lot of native apps maybe like listening for
6:08
the color scheme or setting
6:10
the color scheme or all sorts of things
6:13
so react native were just brought that over to the web by
6:15
kind of poly filling i guess all the different
6:18
pieces
6:18
of it it's kind of a her own projects
6:22
i think twitter was built on it
6:24
originally maybe still even as
6:26
believe yeah yeah
6:27
i think so sir you know it does some serious
6:30
stuff i also i know you know
6:32
there's obviously bow bring it back for
6:34
our listeners as well as that react native
6:37
is of see javascript
6:39
and it's react components by
6:42
the the thing about react native is at the
6:44
the you i later it it layer as native
6:46
so it's every time you have something
6:48
that scrolls or even have you have a little piece of tax
6:50
or something like that that's not html
6:52
and css so at the whole
6:55
idea
6:55
behind these things is that if
6:57
you want have a consistent you why
7:00
between them you not just trying
7:02
to recreate the two things in both
7:05
camps
7:05
you are literally writing one
7:08
thing and
7:09
it works on on on both
7:11
the that right it translates it for you and you can
7:13
get a pretty close or exact match
7:16
that everything that that's correct right yeah
7:19
and it's also maybe a good point like are sort
7:21
of a good kind
7:22
of intersection
7:23
with time agree because react native
7:25
like for example the button component in react native
7:27
it will actually render out to a native i
7:30
owe s and by default on i owe us
7:32
on android at all render to a native android
7:34
by and when you use it right so
7:37
time ago he is kind of the time
7:39
agree but and by default actually render the same across
7:41
all of them but then you can fall back in
7:43
a lot of the components to that
7:45
same functionality where it actually will go native
7:48
but because we have to make a web component we
7:50
you know it's kind of like we included
7:52
by default so you can have more of a similar
7:54
you i and share more in the beginning and then maybe
7:57
like actually adapt more so but yeah
7:59
react native sort of stance is not right
8:01
once run anywhere like
8:03
they sort of say use a lot of the same primitives
8:06
you can share some things but
8:08
we encourage you to write and i
8:10
owe us out and use a o s primitives
8:12
a little bit more and like kind of do that and
8:14
make it good and i think that is
8:17
cool but i do i also think that like
8:19
with tom a gooey in what i'm trying to do is just still
8:22
give you that experience but we could deathly share
8:24
quite a lot i
8:26
think we could share a lot of stuff yeah
8:28
let's also make sure that the listener
8:30
understands the surface area
8:32
of what time ago he is because it's it's obviously
8:35
styling and then you also said it's
8:37
like components as well right
8:39
like a button component m there's
8:41
but there's more to a what else is there yeah
8:43
so it started as just styling
8:46
i'm a maybe three
8:48
years or so ago as i was working on
8:50
a project i'd only there was much out there besides
8:53
either react native web and
8:55
then i think drip see by fernando
8:57
row hose kind of a just amazing
8:59
developer and the react space center
9:01
bunch of cool stuff and then that
9:03
uniting there was maybe native base or something like that
9:05
which is which is also very core feature
9:07
complete library had been around and
9:10
a couple others i don't know but die at
9:12
the time there nothing that felt fully
9:14
like nothing really felt like web native i think
9:16
that was kind of the big thing so so
9:18
time agree is styling is what
9:20
it started with and the goal
9:23
there was there on the web i want to
9:25
output css and set of i wanted to
9:27
get rid of a lot of the j javascript burden
9:29
and be able to output like see
9:31
us as media queries
9:33
especially and css
9:36
like
9:36
interactive style so hover and
9:39
the sort of saudi typically i would
9:41
want in css because they're very sensitive to performance
9:43
and i think you can sense in a lot of apps
9:46
if they aren't doing css need a media
9:48
queries and if they aren't doing css native like hover
9:51
active type things you'll notice it
9:53
like pretty quickly as as
9:55
i read because those are so sensitive to kind of like
9:57
performance so time ago he said
10:00
to solve those two problems initially
10:02
and i think that's kind of what it achieved in
10:04
the very first versions and then since
10:06
then it's just been it's been ongoing
10:09
so i think they're the most interesting
10:11
thing about time ago he is the optimizing compiler
10:14
which is an optional plugin that
10:16
you can add on top of it it works with
10:18
just the sailing library and it
10:20
goes in and and does like a couple interesting things
10:23
one is that it generates css at build time
10:25
so that's nice you can your bundler
10:27
conserve it statically upfront has
10:30
lot of benefits i think that's something that's coming
10:32
in silex of as like a
10:34
as a more like react solution from from
10:36
matter but
10:37
that so
10:39
they think that was like that's the key thing
10:41
and an optimizing compiler goes further
10:43
the coolest thing there i think is flattening which
10:46
is that you know in a cs and gs
10:48
system if anyone's familiar with that you are
10:50
kind of like building these components by doing
10:52
like here's my little view
10:54
i'm gonna give it some like default properties down here
10:57
i'm and give it styles just a lot like the react
10:59
native style sheet dot creates and tax
11:01
year just kind of like naming something and giving
11:03
it a group of styles and
11:05
or emotion or styled components
11:08
or stitches right it works the same
11:10
way as all of those were your building out this like
11:12
set of these primitives the problem
11:14
is when you're using that
11:16
for every single div because right and
11:18
they're in rec data there's no div there's a view
11:21
which is already one level of
11:23
abstraction and like in react native web of
11:26
you if you look at the source code is doing quite
11:28
a lot as a heavy react component
11:30
and then you're doing that for every single div
11:33
basically on the entire page is a react
11:35
component that's to run and render and
11:37
the not only that but when you're doing something like styled
11:40
a bunch of times your you know creating a bunch
11:42
of these i components you're actually wrapping it with
11:44
one more level often in all these libraries
11:46
i think in anything in every library the besides
11:49
time a gooey at least at this point you
11:51
have to levels now you have your sailing
11:53
component which is than underneath rendering
11:56
a react native web components
11:59
so you're having every single day
12:01
of it in your entire app bit
12:04
it starts to feel slow basically is what i noticed as
12:06
i was building as up because you
12:08
it's you know it's one thing to have like a component
12:10
like a button it's not that common but
12:12
to have a component like a div or every day
12:14
for every text to have to go
12:16
through two levels of react reconciliation
12:19
and hooks and all that stuff was
12:22
actually quite a bit costs so the optimizing
12:24
compiler the coolest thing that it does is what i
12:26
just call like tree flattening which is
12:28
that at the call say like when you actually
12:30
use one of your south components let's just say you call
12:32
it like my
12:35
beautiful
12:35
div and it's
12:37
began right
12:39
it'll actually just flat
12:41
and that intuitive in
12:43
the actual rent like wherever you're using it at the
12:46
call at the usage site and
12:48
put the css class same there and
12:50
it can evaluate logic actually do some pretty interesting
12:52
logic bother you can do conditionals he
12:54
can do nested turn areas you can do spread
12:56
objects stuff like that that you normally kind
12:58
of do maybe with like a stately go to add
13:00
extra logic and styles it'll
13:02
analyze all of that ah it'll
13:04
pull it all out it off and i'll return to the
13:06
death so was it
13:08
like on our website thing a good example is if you
13:10
look at the time agree that down there is a little like
13:13
risk responsive section on the home page that shows
13:15
like a little fake safari browser
13:17
thing as third or third fourth section and
13:20
that fake safari browser a
13:22
time ago he actually flat and fifty know
13:25
element nodes i guess react
13:27
notes from being what would
13:29
normally be a two levels of react components
13:31
each into just gives so there's fifty
13:33
daves that are flat and by the time agree optimizing
13:36
compiler and it makes a big difference is is that
13:38
why sometimes you
13:40
like inspect element on instagram
13:42
or something like that like i'm i'm looking on instagram
13:45
right now at a anchor link to
13:47
link to somebody profile and it is wrapped
13:49
in nine dibs why
13:52
is that is that why they use nine
13:54
dibs why
13:55
i don't have it or not specifically there but
13:57
like technically
14:00
actually so like it shouldn't render out to extra
14:02
dibs although react native does make you if you
14:04
have to wrap text always in a text component
14:07
that is the one big difference so that will add
14:09
definitely like an extra a there
14:11
is there will be an extra day for every text
14:14
but technically it's just react to this
14:16
doing extra two layers of rendering but
14:18
the ultimate yeah thing should just be a
14:20
div in fact the time like one atomic whose main
14:22
things is that doesn't change the structure of
14:24
output at all as shouldn't change the structure
14:26
of the output of what would actually be rendered it's just
14:28
doing that work at build time in the kind of planning
14:30
things done so i don't i think that's maybe just a
14:33
twitter thing for the most part interesting are
14:35
inherently okay let's talk really
14:38
briefly
14:38
or maybe now briefly about the time
14:40
ago he website this is this what is this website
14:42
bill with time ago he said correct yes
14:45
to the thing is is gorgeous did you build this
14:47
whole website ah yourself yes
14:49
but i will i actually stole some
14:52
other guy started by a lot of inspiration
14:54
from stitches and like huge shut out to stitches
14:56
because some of the the variance a p i that
14:58
i also kind of change but took
15:00
inspiration from was there and i think stitches
15:03
and rate exit they're like such an inspiring
15:05
couple projects so well designed
15:08
so
15:08
well done so yes
15:10
it's at this point time ago insights is diverge
15:12
though quite a lot and i do take lot of pride and
15:14
design and my are you know my intro
15:17
into the web programming was photo shop like
15:19
playing around as a kid like doing graphic
15:21
art stuff so i've always kind of liked
15:23
designed ah so that's just
15:26
that's
15:26
it's that and too much time maybe
15:28
when i was ah not employed
15:31
and
15:31
working on it with the sites gorgeous and on
15:34
yeah you know i really think it illustrates
15:36
time ago he really well i love how you're showing
15:39
an individual components very down to being
15:41
able to change the themes and colors just
15:43
quickly innocently like all of that
15:45
stuff if if anybody wants to see
15:48
a prime inspiration for a theme pickers
15:50
light dark packers all those things this
15:53
is the website to check out and also you
15:55
have an
15:56
an ex miss mode and anatomically
15:59
mode i'm such a second
16:00
that i got a waiver a sixty four mode
16:02
in the by side so like and very
16:04
are very down with the style of thing oh
16:06
his time at tamagotchi specifically makes
16:09
a small appearance in here is that earn
16:11
a fun little nod to tamagotchi overall
16:13
yeah yeah
16:14
it was called snack you i am
16:16
originally because i you stack solid time
16:18
and and i don't know i snack happened but ah
16:21
but then expo has a thing called snack
16:23
which is just like a playground yeah
16:25
that that they were like you
16:27
know has pretty close and other guy egg
16:29
a point so i had to change her
16:32
that's with though i do like that touch or it's a the
16:34
site does it a great job of bordering on whimsical
16:37
but also like super informing the wins he's not getting
16:39
in the way of anything so bravo
16:41
over on the site you do great job of showing
16:43
examples and everything looks great
16:46
and in so
16:47
congrats on that is
16:50
think what are your ducks made with by the way is
16:52
this all custom or is this using
16:54
some sort of a doc system ah her the
16:56
dogs again i think a the
16:58
i think for the raid x say a
17:00
definitely copy and paste is some of the like syntax
17:03
highlighting stuff and like some of this structure
17:05
it like some of the initial kind of like structure
17:07
but yeah i did rebuild it all in tom
17:09
agree next j s i think is is
17:12
the ah is the platform
17:14
and yeah just it
17:16
it took awhile i mean i think it's weird that
17:18
time ago is actually kind of a to me and old
17:20
project i was looking at a video recorded two years
17:23
ago over two years
17:25
ago of me like playing with it so
17:27
it's some it's built up over time but yeah
17:29
the doctor the doctor like somewhat
17:31
custom and borrowed from our from
17:33
from redux and they the
17:35
css classes that are
17:37
opposite generated when you run it
17:39
through the compiler i'm
17:41
are they meant
17:43
to be like some of them are kind a
17:45
human readable like i see is under square
17:48
button and underscored bee gees
17:50
zero hover our
17:51
and then some of them are just generated hashes
17:54
with the ideas behind that yeah
17:56
that's actually it's trying
17:59
to do sort of it so degenerate atomic
18:01
styles if people are familiar with
18:03
that we can touch on that but it generates want like
18:05
tailwind style one css
18:07
and that's actually kind of a key to making it work
18:09
it's otherwise very very hard to make it work
18:12
but it if the it tries
18:14
to just kind of like do the real like
18:16
human readable select it'll trying to like p
18:19
x zero if it's padding x
18:21
zero if you set up a shorthand ah
18:24
but if it gets longer it turn it
18:26
it falls back i think past like thirty characters
18:28
or something it'll just fall back to a hash so
18:30
just kind of depends on the length of the generator are so
18:34
literally
18:34
every single css property
18:36
is a it's own class
18:39
right very similar to tell when border
18:41
bottom three would be it's own class
18:43
why what's the thinking behind
18:45
that when you're not offering it like that so
18:48
actually had the
18:50
predecessor to time ago was very
18:52
similar to time ago i spent a lot of time on
18:54
that i built a whole project with that and
18:57
i cut it rating on it i didn't do
18:59
native at all actually just was a web focused
19:01
on this was of this was years ago some eighty five or six
19:03
years ago and
19:05
it was as a heartbreak because at one point i
19:08
was just trying to get it to work right
19:11
and it didn't use atomic styling
19:13
and i was running to these weird little edge case bugs
19:15
as getting frustrated i was like one month i think i
19:17
was in his project and i was just like i'm in a fix
19:20
like these styling bugs and i was
19:23
getting deep into it and i realized that as i mean
19:25
atomic styling i think is the only waiters sort
19:27
of like be able to
19:30
properly
19:30
override things and css
19:32
that that doesn't like drive
19:35
you insane specimen are generating css because generating
19:37
css to like you just kind of don't i mean
19:39
you need to have like this control to
19:41
cut to get past the cascade because you're basically
19:43
not cascading in in react native he
19:46
year it doesn't read it doesn't cascade
19:49
so but also like when you're on the web
19:51
you just like as are generating south new to override
19:53
things very granular so it just lends itself
19:56
to generating
19:57
it like that but the
19:59
thing
20:00
the way I had designed this library, the
20:02
features I had put into it, it just didn't map
20:04
to Atomic Styles.
20:07
So actually, Tomogui was a rewrite. I
20:10
spent a few weeks trying to get that
20:12
to work in this library, and I realized that I
20:14
had made too many architectural decisions
20:16
at that point that were against
20:19
generating Atomic Styles and
20:21
just gave up. That was
20:23
the end of the whole project. Yeah, that's
20:25
right. And you're just
20:28
explaining what Atomic Styles are for
20:30
our audience. I know we know about them, and you kind
20:32
of touched upon it, but it'd be nice that
20:35
people can hear exactly what it
20:37
is. Yeah, so
20:39
just the idea is very simple. There's
20:41
one class name that you generate per
20:44
CSS property and
20:46
value. So background color red would
20:48
become something like bc slash
20:51
red that you would put on your class name. Instead
20:54
of having them grouped, I think anyone that grew up
20:56
doing CSS,
20:58
like before all
20:59
this stuff existed, the proper
21:01
thing was to have separate CSS, and then you
21:04
give it a nice name, and then you group a
21:06
nice group of styles together that makes sense. So
21:09
this is very different. It's like Tailwind. Anyone
21:11
who knows Tailwind knows exactly what it is, which is just
21:13
that there's one class name
21:16
per property. And you also have to expand
21:18
that. I think that's part of it. So
21:21
for example, Tomogui always expands things. So if you
21:23
say padding equals zero, it'll
21:25
expand it to be padding left equals zero, padding right equals
21:27
zero, padding bottom equals zero. Because
21:29
then, and that's the kind of key to understanding why the other system
21:32
broke, is that down the road, below that,
21:34
if you overwrite something, you need to be able to
21:36
overwrite just the padding
21:38
right if you are saying
21:41
padding right should now be 10. So it
21:43
makes it easier to kind of like very granularly
21:45
overwrite things as you go down and kind of
21:47
avoid some of the cascading logic. You
21:50
can basically sort of
21:51
stop cascading, I think is maybe one
21:53
way to think of that too, or like control it very granularly.
21:56
Yeah, it feels like I mean, using that kind of
21:58
system in a React Native context.
22:00
would be a nice middle
22:02
ground between what we're doing on the web
22:04
with atomic classes and how styling
22:07
works in React Native. One thing I'm really
22:09
impressed with in Tamagui is how some
22:11
of your components, the ones that require
22:15
buttery smoothness,
22:17
like the sheet component, where it's like a draggable
22:19
kind of... It's actually funny that you call it a
22:22
sheet because we call it a sheet too and I base it on
22:24
nothing in our own UI. And it's
22:26
basically like a thing that flies up and you can swipe
22:28
it down away if you want, but your popovers,
22:31
anything that animates on screen is
22:33
on web, because I'm not using any of this stuff
22:35
on mobile, on web is buttery smooth.
22:38
You have to do a lot
22:40
of performance work to get these
22:42
interactions running at this high framework
22:44
or frame rate or is it just straight up React
22:47
and
22:49
typical web skills getting you there? Yeah,
22:51
well, thank you, man. I mean, that's awesome
22:53
that it's... And yeah, it's good.
22:55
I'm always like nervous that everything's regressing at all times
22:58
because Tamagui surface area is
23:00
huge and it has regressed so many times. So
23:02
it's weird to me that everyone's
23:04
getting good experiences these days for the most part. So
23:07
thank you. I'm glad that it is. That's
23:11
actually... So the Tamagui site... So
23:13
Tamagui has... One of the problems that
23:15
I ran into, and this was interesting, was animations.
23:17
Like how do I do animations? Because
23:20
React Native has an animated library
23:23
that comes included, but it's also
23:26
a bit finicky. It's not the
23:28
most elegant API. I think they are planning to rewrite
23:31
it.
23:33
And then there's also this library that has come
23:35
out for the... In the last couple of years, it's very popular. It's
23:37
called Reanimated by
23:40
Native Mansion, I think. And I'm going to go speak
23:42
at their little plug. I'm going to speak at App.js,
23:45
which is their conference. But
23:48
they do a bunch of cool stuff. They're like a consulting
23:50
company from Poland. They somehow
23:52
just do these incredible, the advanced
23:54
libraries. So Reanimated is
23:57
this really gorgeous
23:58
animation library for React Native.
24:00
native that came out and sort of got a lot
24:02
of popularity there is lot of people
24:04
using reanimated and
24:06
then on the web obviously you know animations are
24:08
typically css and
24:10
so i had a slight problem of how
24:13
do
24:13
animations work and also when i was
24:15
thinking about the compiler i was really kind
24:18
of confused because i was like wow
24:20
so compiling it
24:21
but then also animating is that can i'm
24:24
like what what's gonna happen there was little nervous
24:26
that doesn't run into the situation i ran into with my last
24:28
selling library ram and a create this giant
24:31
library and invests all this time and then i'm gonna
24:33
add animations and realized that like actually
24:36
a you know like the
24:37
structure of or the architecture something
24:39
just doesn't work so i kind of started playing with their
24:41
early on it
24:43
lets you basic plugin the
24:45
drive as a driver so to speak of
24:47
what you want animate with and
24:50
gives you like a consistent sort of syntax
24:52
now is very like right now see the animations are
24:54
they work very well you can do can kind of like what
24:56
you'd expect but it's nothing fancy you can't
24:58
do like very fancy kind of like
25:01
loops and stuff like that
25:03
but you do get to plugin
25:05
a driver which is cool so on the web you can plug
25:08
in a css driver to run your animations
25:10
and not take the weight of because the react
25:13
native animated library thing by itself
25:15
is like thirty kilobytes of compress
25:18
javascript it's not
25:20
huge but it's deathly not small
25:22
specially if you're just targeting the web and
25:25
until you know time ago year lease and
25:27
i think there's libraries now you're doing
25:29
this too but ah you
25:31
can i had to accept the fact that like you needed to
25:33
bring along all over react native olive
25:36
reacts it just got your bundle got pretty huge
25:39
so i wanted to support css animations i'm
25:41
kind of maybe answering is too long because
25:43
the funny thing is their acne at the time ago
25:45
site does not you css animations
25:47
because i wanted to show off kind of the
25:50
the
25:50
fact that you can do spring base
25:53
quite cool spring based animations with
25:55
the animation drivers and so
25:57
that's i think part of the reason why the animations feel kind
25:59
of nice they bounce a little bit like the
26:01
motor mounts in and out a little bit like a spring i
26:04
mean that's all this mapping to react
26:06
native animated apia
26:09
the animated a p i am and
26:11
then yeah you just you know have
26:13
to make sure nothing else is going on on the main thread
26:15
oh can you can what what about lay
26:17
out in react native this is not
26:20
well
26:20
maybe it's as part of them agrees i
26:22
remember back when
26:24
i did a react native app the
26:26
the the layout system we had was
26:28
flex box they had ported the
26:30
whatever the flex box equivalent was
26:32
to react native is that still the case
26:34
is still use lox box for everything yet
26:36
the game itself like sparks there's
26:39
discussion of adding even just recently
26:42
there's to rf sees for adding floats
26:45
style as which is funny like
26:47
old school wow yeah
26:50
why yeah yeah how about your wife
26:52
the best questionnaire i know it and
26:54
i said the same thing i was like wait why but i
26:56
guess actually does make sense like sometimes you do want
26:58
to have an image and texts that
27:00
like the images on the right side of the text flows
27:02
around it and
27:03
you can't do that yeah yeah thats where filter
27:06
for the a half so he so that's
27:08
the reason i guess just to have react native be able to
27:10
render tax documents more like the web
27:12
and then and grid their summers of
27:14
grid i don't think and there's some people talking
27:17
about doing it but there's not much of a commitment so
27:19
it's basically flex box i was thinking
27:21
about that the other day about like how lucky we are
27:24
to
27:24
render stuff in the web you
27:26
know like it and
27:27
people complain about css but like ne
27:29
literally name anything better for
27:32
doing layouts and in as the flexibility
27:34
that we have in the web even just something
27:37
as simple as tax wrapping we often
27:39
take for granted in whom are
27:41
yeah yeah you can ever feel that when
27:44
when you're doing a you know react native app
27:46
it's just floats which are just flex which
27:48
is there which
27:49
is okay you can do you can mostly
27:51
do it but it definitely is nowhere
27:53
i mean grid is like kind
27:55
of an unbelievably powerful
27:58
layout do evers after
28:00
like i know you say there's escape hatches
28:03
the
28:03
ever say okay i'll do it in flags
28:05
for the mobile app because it's skinny
28:07
i guess it maybe not now the i phone's
28:09
again so big ah but then i'll do
28:12
it in grid on
28:13
the web is that ever how is that
28:15
iraqis are you try keep it wonder one
28:17
yeah actually i was frustrated about that in
28:19
react native
28:20
wet thousand i'm a big frustrations
28:22
of that they had a very strict policy of no escape
28:24
hatches am they were not gonna let
28:26
you even use class name
28:28
so i think at one point they supported class
28:30
name and
28:31
then they removed it and i was like a whole like
28:33
there is a big
28:34
fight on that issue including me being
28:37
like well come on
28:39
like it's class has a
28:41
cover for what am i supposed to do you know
28:44
they gotta wrap of it maybe that's why they wrapped lot of things
28:46
on instagram but you do it around me not really but you
28:48
do have to wrap things then if you want
28:50
to do web things so time is a
28:53
lot less strict i would say
28:55
and it lets you do class name am on
28:57
any of your components and that's basically
28:59
how i end up kind of like bailing out ended
29:01
that the website too much to to the credit
29:03
like like you can't
29:05
build that time agree website a hundred
29:08
percent and time again i am doing in the
29:10
patches for certain things like you know great
29:12
it blurry gradients and stuff like that that
29:14
just don't like have there are blurry gradients
29:17
fanatic radio gradient stuff like that you know
29:19
i that they do either use the escape
29:21
hatches quite a bit
29:23
and last name is usually that escape hatch
29:25
or is there anything that we we haven't touched on
29:27
that is interesting that to be were
29:29
talking about like i think there's
29:32
all sorts of interesting things i guess in terms of
29:34
like the direction of where things are going
29:36
in and the react native world
29:39
versus like and in the react world
29:42
i don't know how interested you guys are in some of that stuff
29:45
like some yeah sorry summit some of the new react
29:48
stuff but like because i think react
29:51
is moving and in so many interesting directions
29:53
at once i get react native is trying to adopt
29:56
all these web of things now say
29:58
they're going to adopt things like role attribute attributes,
30:00
data attributes, just like how you do it on a div. A
30:05
lot more CSS styling, I think they're aiming
30:07
to get gradients in as a first-class style primitive
30:09
and stuff like that. So
30:12
there's interesting things there. But
30:15
then at the same time, you have React server components, which are, I don't know how
30:17
much you guys are plugged into that world, but it's like this
30:19
whole thing now.
30:23
It's interesting because it's like how does
30:25
that work with React native apps? There's
30:28
a lot of talk that the React team has said that, yeah,
30:30
it'll work, it'll work, and we haven't
30:32
really seen a lot of how and I
30:34
think I've got an idea of how now. But
30:36
I do think it's just interesting on a meta level. It's
30:39
actually interesting because I think it almost is a
30:41
doubling down of React on
30:43
this idea that don't write your app once.
30:47
It's a very anti-rails,
30:49
or anti, let's make things as clean
30:51
as possible to share code because I think what it is, it's like this
30:53
super powerful thing for the web. It
30:57
is very confusing how you will share that
31:00
data, share that code with native. I
31:02
think in fact you will
31:04
potentially be able to, but what will
31:07
happen is that your code won't look very
31:09
much like a native app anymore. So there's
31:11
some interesting things there. And then in
31:13
Tamaguri there's interesting things too. I don't know if there's
31:15
plenty of interesting details
31:18
technically, so happy to keep in
31:20
that if you don't want to. I think it's
31:22
interesting, especially in the React native world
31:25
with these server components. What
31:27
is the temperature in the React native ecosystem
31:30
around server components? How do people
31:32
feel about the concept and the
31:34
idea and how do people feel about it potentially being
31:37
a thing they'll have to implement themselves?
31:39
A disclaimer
31:41
is
31:42
that I work for the company that's pushing
31:45
React server components. And then second
31:48
disclaimer, well sort
31:50
of, I mean it's a React project, but Vercel
31:53
is for sure the number one implementer
31:56
right now and supporter of it. And then second
31:58
disclaimer is that, you know,
32:00
i like react server components
32:02
for what it is i think it is if you're
32:04
doing a web only project
32:06
it is like gonna be a super powerful
32:08
primitive it's hard to understand it
32:10
took me a long time i think to really understand
32:13
it i don't know if i still do an
32:16
and the it's is
32:18
very ambitious is very powerful it feels
32:21
like a piece of technology that lives
32:23
at a low level to me like i
32:25
think a lot of framework
32:27
or maybe either like make it a lot simpler
32:29
to use in the future maybe abstract
32:32
it a little bit it's trying to saw
32:34
like a lot of things at once i think so it's just like
32:36
this complex beast and for and
32:38
i think that a lot of people are like
32:41
still trying to understand it and
32:44
maybe though they current understanding right now is that
32:46
you don't have to send over as much you
32:48
don't have to send over as much javascript you
32:50
don't have to hydrate so to speak certain
32:53
parts of your page if you don't will
32:55
need them to be if they can just be server rendered
32:58
say some markdown is a classic
33:00
example like you have some mark amp and your blog
33:02
you have a blog page you
33:04
want some dynamic elements maybe around it maybe
33:06
you aren't like a like by you want some
33:08
stuff that is dynamic floating even
33:11
maybe some examples inside of it but
33:13
for the most part you shouldn't be sending that javascript
33:16
that renders the marked down and all that that should just
33:18
be sent over as like a bunch of daves from the
33:20
server and then there's no javascript associated
33:22
with that said they're trying to solve this problem that i
33:24
think has been a classic problem of of react which
33:26
is that yeah you the server side rendering
33:29
so you do send over that static html it's very
33:31
nice but then you're also sending over this like huge
33:34
bundle of javascript usually
33:37
that that represents the entire page no matter
33:39
what and then you have to run that huge bundle
33:41
of javascript to hydrate the entire page
33:43
and you get this lock up period and
33:45
they're trying to lower that cost a
33:47
but then there also is data fetching
33:51
included so there's
33:53
a whole thing as a whole data fetching
33:55
side that and like a kind of a r p c
33:58
s thing going on and
34:00
So that's where it gets very weird
34:02
and interesting. Yeah, but with React Native, there
34:04
is no DOM. So like, how does that all
34:07
connect necessarily? I
34:09
guess that, yeah, it's all
34:11
a mystery to me. That is the mystery. I think from
34:13
my understanding, and don't
34:15
quote me on this, so to speak, I'm not the expert here,
34:18
but from what I understand, the idea is
34:21
you will make a network request to,
34:24
like imagine you're going from one screen to another
34:26
in an app, you're clicking like into
34:28
a detail page or something of a product.
34:31
The idea, I guess, is that React
34:35
will actually call an API over
34:37
the network to get that
34:39
next screen. But that next screen
34:41
will come down as a sort of data
34:44
representation of the components that
34:46
should be there.
34:48
And then that will
34:50
be rendered
34:51
back onto your client. So the idea is,
34:54
I think, okay, the pitch is this. You
34:56
can share
34:57
the code. You
35:01
do get to basically have this
35:03
idea where you can have dynamic pages that you
35:05
can change
35:06
without having to redeploy your app. I think this is the pitch,
35:09
is that like native apps, you have to redeploy
35:11
them and re-get the review. And
35:13
Apple's pretty strict about not letting you just dynamically
35:16
change things in the app, like actual
35:18
screens. I guess there's this workaround that
35:20
companies do now, which is that you can sort
35:22
of do that as long as you don't send the components
35:25
down. You have to have all the views
35:27
and everything in your bundle already, all
35:30
the components
35:32
and screens sort of able to be built. But
35:35
you can send over a JSON, sort of imagine
35:37
a JSON representation of the next screen, saying like,
35:39
here's the components and how they should be laid out.
35:42
And then you can request that over the network. So
35:44
what React Server Components, I think, basically will do
35:47
is do a network fetch for
35:49
that next screen. It says, here's
35:51
the structure of that screen, but you know how to build
35:54
it yourself on the native side. And
35:56
then the native app will then go in and
35:58
take all the components that are already built. he has and
36:01
build on that screen and so gives you this idea
36:03
that you can probably that this i think that you can
36:05
sort of like not have to re
36:07
go through the app store approval process every single
36:09
time on that
36:12
is that kind of the advantage i think am
36:14
if i'm talking about like trade offs it's
36:16
just that it's a very non native way to
36:18
build an app because you
36:21
typically native apps are all about instant
36:23
response over the local
36:25
first data right like optimistic
36:28
mutations ah i'm everything
36:30
wants to feel the need of as resort a famous for
36:32
just like feeling better because everything
36:34
you do happens immediately you tap and
36:37
it just happens and so i think with reacts over components
36:39
the plan is to maybe prefect a lot
36:41
of things but in but the
36:43
but then it's like how did you like you
36:46
can't like yeah he you want like data like
36:48
i don't know if you like a list and you're sorting it
36:50
or something then it becomes very complicated and gift or
36:52
rewrite maybe that component to be like
36:54
needed specific so do you think you'll end
36:56
up with a lot of these like forks or maybe
36:58
just a lot of like weirdness were like your
37:00
data models living on a server somewhere
37:03
on butts what
37:05
happens when you need to like drag something
37:07
to resort it or you need to do something very dynamic
37:10
now you have to like maybe how this like a special
37:12
logic that's like doing optimistic
37:14
local first type be native
37:16
mutations are you have to hope that like your
37:19
pre fetching is for the next pages is
37:21
fully resolved so that you get that native experience
37:23
and so i swear my question mark so
37:26
for any in the and like he said you know it
37:28
it
37:28
the further you get away from like true
37:30
native development at some point you're
37:32
like why am i not just using the web view and
37:35
then getting access to the whole damn
37:37
anyways by you
37:39
know i don't know doll it's all very
37:41
interesting world that i think we'll
37:43
see exactly where where it shakes out i
37:46
let's move into the separate
37:48
club questions is are set of questions that we as everybody
37:50
that comes on the show ah first
37:52
question we have for years of work computer mouse
37:54
and keyboard or he isn't ah
37:56
so data day i
37:58
am a weird person that just works
38:00
on my laptop. I don't work at
38:02
a desk. I have a weird lower back. It
38:05
doesn't like to sit at a desk for more than about
38:08
maybe 45 minutes before it starts telling
38:10
me to move and that it's gonna start hurting.
38:13
So I've never been able to be comfortable
38:15
sitting at a desk during the day unless my feet
38:17
are all the way up. You know what I
38:19
mean? So I've gotten very comfortable
38:22
just being on my MacBook Air
38:24
even. I love that. But right now I'm at
38:26
the desk because that's where the microphone is
38:28
and everything. And I'm using a magic mouse and a
38:30
magic keyboard, pretty boring. Could you
38:33
stand up and take it somewhere? Or
38:35
do you do the standing desk thing? Or what do you
38:37
do? I'm always moving. So couch is
38:40
common, but different positions. Laying
38:42
back, maybe I'm leaning forward on the coffee table. I think
38:45
for me, the key is I just gotta be
38:46
kind of shifting around. I
38:49
can't be sitting in one place. I don't
38:51
know, maybe it's just ADHD, but I think it's
38:53
also definitely partly my back. So
38:56
I'm all over the place. I don't do standing. I don't know. I'm
38:58
kind of used to standing desk for some reason. Yeah.
39:01
Well, I mean, there's some options, right? Standing
39:03
is an option. I do the treadmill under
39:05
the desk and that is actually pretty awesome. Somebody
39:08
likes to bop around while I'm working too. I
39:11
was often known as the guy who sat on the floor
39:13
doing stretches while I was working. So I
39:16
get your vibe about
39:16
moving around a lot while you're having to work. But
39:19
yeah. And also like you're
39:23
on your one screen. How do you like
39:25
just being on one screen? I
39:27
know me personally. I've been loving one monitor,
39:29
one screen. Yeah, you get used to it. I mean, the
39:32
only time it's very uncomfortable, I think is
39:35
when
39:35
you really have the dev tools
39:37
open and you have like an app open
39:39
and you have your editor, you are bouncing
39:41
around
39:42
quite a bit because the dev tools just take up half
39:44
your screen. And if you're trying to
39:46
fix a desktop app or something, right, like
39:48
you need to have like a bigger. So that's the only time
39:51
where I'd say you're kind of jumping around a lot, but you
39:53
get used to it. Yeah. What text
39:55
editor theme and font do you use? Well,
39:57
that's a good question.
39:59
code, but I have a theme that
40:01
I've been playing with. I think I have
40:03
a tweet I could, I can send you guys a link or something, but,
40:06
uh,
40:07
uh, it's like a very
40:09
dark theme with contrast. It's a little
40:11
bit monochrome. I'm slightly colorblind. So my, my
40:13
idea was somewhat
40:15
monochrome and then just have these like pops of color,
40:17
like just like bright yellow. So it's
40:20
a, it looks like Batman, maybe like a Batman
40:22
theme.
40:23
All right. Yeah. I could take that. Yeah. Uh,
40:26
what about your terminal and shell? I
40:28
term to ZSH.
40:31
Uh, I have tons
40:34
of aliases and stuff, I think built up over the
40:36
years, but it's other than that. It's just,
40:39
it's
40:39
just that. Yeah. What kind of stuff do you like to
40:41
alias? Just
40:42
stuff you do a lot. Yeah. Like I have like a bunch
40:44
of like GPD, which is get
40:47
or GP, which is get pushed GPF,
40:49
which is get pushed force, GPL, get
40:51
pull. I love that. I
40:53
do a lot of that too. Yeah. How do you stay
40:56
up to date? Uh, like in
40:58
like the, with the scene, right? Like in
41:00
like tech in the scene, but you
41:02
know, how do you, how do you know what's going on? You know,
41:04
you're on a lot of the cusp of things given
41:07
react native is kind of the cusp of things
41:09
all the time anyway. So, um,
41:11
yeah, just general places you go to find new
41:14
projects, new stuff coming out. Oh, for
41:16
sure. Um, I would say it's like,
41:18
it's like,
41:20
uh, in the, in the front end world is so
41:22
centralized. I think on Twitter these days, um,
41:24
in terms of just like creators that are tweeting
41:27
out about certain things or a little bit too
41:29
much drama, I think lately too. But, uh,
41:32
but yeah, I mean, uh, Twitter obviously
41:34
has a lot of incoming, um, I
41:36
read hacker news pretty addictively.
41:39
Just, I don't, I hate it and love it, but
41:42
for what it is, it's got a bunch of stuff. Um,
41:46
do I do anything else? I mean, Versailles
41:48
is kind of a plug. It was like part of the reason
41:50
I came to work there. It's
41:52
like, everyone's building stuff here
41:54
that I want to know about. So like, that's part
41:56
of like the benefits, I think. Yeah. And it
41:58
does seem like internal channel. channels
42:00
are often something we hear a lot about, you
42:02
know, work channels and Slack channels or
42:04
whatever where people are finding cool stuff. Yeah,
42:07
actually the sharing channel, like the some of the channels
42:09
that people just post like they, yeah, everyone
42:11
there is so connected. So I don't know what they're doing,
42:13
but I'm profiting there. Yeah.
42:17
That's awesome. If
42:20
you had a piece of advice
42:22
for beginners who are either
42:24
getting into web dev or maybe are interested
42:27
in getting into React Native, would
42:29
you have any advice for
42:30
them? Is this where I plug Tamagui? No.
42:33
Go for it, yeah. If you want
42:35
to build a web and native app, the Tamagui
42:38
starter I think is, I don't think you're going to get
42:40
much better in terms of like, that's
42:42
like a year's worth of work, I think that
42:44
you would. Oh, wow. You know what I mean? Like,
42:47
especially as a starter, it's a lot, unless you found another very
42:49
comparable thing. But that's only if you're
42:51
doing web and native, you want to do React Native,
42:54
then I will plug that. If
42:56
you're just a beginner, I would not plug
42:58
that. I would say don't try and build a
43:00
native and web app at the same time. That
43:02
would be my advice. Do one. Like,
43:05
if I was really trying to just get in, I would
43:07
probably try and find like a good bootcamp, you
43:09
know, like, because I think you just need someone to tell you what
43:11
to do and you need to like, you need to get some
43:13
like hands on experience. But
43:15
I've heard good things about all these days. Like
43:17
when I was growing up, I had
43:19
no one in my family knew it. I love to tell
43:22
the story, but like I
43:24
was getting into like computers and stuff.
43:26
I liked them. I love these. My
43:29
family wanted to encourage it. They bought
43:32
me two things. They bought
43:34
me C++ for dummies
43:36
and XML,
43:39
a book on XML. That was my
43:41
uncle's recommendation who was like the computer
43:44
guy in our family. He said XML is the future.
43:47
The big red one from rocks. It
43:49
was an O'Reilly. It was green. It
43:53
was the least useful
43:55
thing you could possibly imagine giving like a 14
43:57
year old.
44:00
like i had no idea
44:02
i mean i'm forty and i'm trying to build a i wanted to
44:04
build like up and at the had like a button you know like
44:06
and had like a you know that you could type or something i want
44:08
to be like a game or getting the and the
44:10
and have a seat and have a c plus plus
44:13
put words like it's teaching you how to like at
44:15
it as didn't know a cel i mean like a
44:17
was there yet so they outlawed i
44:19
mean web is so cool because you can just hack
44:21
on it these days and there's so many ways to just a ploy
44:23
easily they cameo like resale like you very
44:26
easy just to get push somewhere in plug it
44:28
in and like and get going so i would just say pick
44:30
any framework and it that the
44:32
gives you like just a little bit you know you don't have to figure
44:34
out routing so and then
44:36
or or you know maybe build like i just design a website
44:38
and just put together some daves but the
44:41
resources are incredible these days compared to back
44:43
then yeah what's and they they are excited
44:45
about in the future of web dev i think
44:48
some of the color stuff that's coming on as cool
44:50
being they like that my one of my biggest frustrations
44:52
has been like i have a variable that is like
44:54
a hex value and i want to make it opacity
44:58
city
44:58
person i
44:59
think there's like these new color mixing
45:02
and color judging like those
45:04
are cool i really like that
45:06
what else is cool
45:08
there's so much going on i mean you guys know
45:10
honestly like out as you guys what you're excited
45:12
about like that because i'm not is plugged
45:14
in like i feel like i've slowly lost
45:17
touch with a little bit of the css world on
45:19
m in and there's a so much going on
45:21
so i'm i'm i'm a bit of a like outside
45:24
of all the all that color stuff
45:26
i also saw chrome shipped out
45:29
and i'm okay okay
45:30
lab and pj but they
45:32
they ship the new like
45:34
color color specifications
45:36
so that your gradients
45:38
looks so much better because there's new
45:40
color from car profiles as a word i'm saying
45:43
okay lab as a new color profile now it's a chrome
45:46
your greens that way better and them it's it's
45:48
css has really cool all the color
45:50
mixing stuff is really cool it's just endless
45:53
new cool stuff they
45:55
have a latest chrome release know
45:57
granted it's just chrome but
45:58
had the
46:00
color level for whatever and
46:02
page transitions, which two
46:04
crazy API shipping almost immediately
46:07
after like we just got
46:10
container queries and Firefox.
46:12
It's just a wild time for CSS. So yeah,
46:15
I think the thing I'm most excited about personally is those
46:17
page transitions, really diving
46:19
into that and hopefully getting to use it in
46:22
something real at some point, whenever
46:24
the
46:24
other browsers decide to implement. Yeah, that'll
46:26
be cool. You brought up container queries too. And
46:29
I think those are cool. Especially because I think I can adapt
46:31
them to
46:32
native. So that'll be fun. Yeah,
46:35
that'd be great. Yeah, what does that look like on native
46:37
these days?
46:38
It's pretty well easy
46:41
to make a fluid app, like a responsive
46:43
app in native. Yeah, it's responsive, but
46:46
it's the same responsive or at least in React Native,
46:48
it's the same responsive as the web. So it's based on
46:50
the device or the window,
46:52
which is usually the same thing on native. I
46:54
think I actually like what is the difference, I
46:57
should know. But basically,
47:00
it's traditional sort of media query style, where
47:03
it's just like, if the screen is this big, then do this,
47:06
which seems to work pretty well, right? You basically have
47:08
iPads
47:09
that you want to adapt to, and then you have phones that
47:12
you want to adapt to on native. So it's
47:14
not as complex. Awesome. All
47:16
right, we'll move into the next section, which is shameless
47:19
or sorry, sick picks and shameless plugs.
47:21
Did you come with a sick pick for us? I did actually.
47:23
Yeah, this one, I
47:25
had a couple I was going back and forth, but I like this
47:27
one, because it's
47:29
a little bit weird about me. So
47:32
it's called, I was
47:35
visiting home a long time ago in Tucson,
47:37
very hot in Tucson, and I had these shoes,
47:39
and I was just super hot. And I was like, I need flip flops. And
47:43
Tucson has a lot of snowbirds and a lot of old
47:45
people. It's like Florida. So there's a lot of snowbirds
47:48
that retire in, we call them
47:50
that, come from the East Coast and retire in Tucson.
47:52
It's got this huge old population. So I drive over
47:54
to this mall that's by my parents house,
47:57
and it's kind of a,
47:58
it's a, you know. they
48:00
cater to the population that is around
48:02
them and i go into the store
48:04
it's it's like the the what is was
48:06
one of those shoe stores it's like all about like orthotics
48:09
oh yeah yeah yeah a i
48:12
was his dad isolated flip flops and i was like that
48:14
was the closest thing as i walk in there and
48:16
a have you tried these it's cut and and i'm
48:18
not you know i have no relation but obey
48:21
oh oh be a
48:22
eo
48:24
flip flops that
48:26
are like they just have like arch support
48:28
they got these deep they're kind of thick thick
48:30
boys a and
48:32
i try them on i was a and these are
48:35
comfortable like i'm loving
48:37
this like i never had as much support and i flip flop ice
48:40
i got i became obsessed with them i was started wearing them all
48:42
the time in then i moved back to the bay or it's freezing
48:44
so then the next step that happen after that
48:46
was like i was like i want my obey his
48:49
ah so i started getting those
48:51
kind of i think like maybe asian i don't know japanese
48:53
style like the toes oxen yet
48:56
so i can keep wearing my obey a flip flops even
48:58
if it's cold out so that is actually i highly
49:00
recommend both cause
49:02
it's because the other thing that happens if a thousand times you
49:05
sweaty right so you
49:07
have those toes ox and now you're just
49:09
a super comfy with
49:12
when a how do you spell that again oh
49:14
be a low or
49:16
is a b m i six am i doing it on yeah
49:18
yeah been looking for a good kind a thing
49:21
okay be envelops i get a bear
49:23
is because of a to seems like they do worth it look
49:25
orthopedics me ah yeah and
49:27
they don't look bad that's the guy
49:30
a part of it right you know i'll say to look bad
49:32
so oh yeah that's it that's it the
49:35
avalon or know i have the jerome i guess
49:37
yeah they don't look terrible but
49:39
you see how they either thick back and like it goes
49:41
down a lot oleic it it's can't see
49:43
that they back
49:44
here at a mythic back
49:47
awesome was going to check those out i
49:50
have
49:50
i'm due for some new sandals i've been a
49:52
a in canada pretty much all of canada
49:54
where's blend stones in the
49:56
sir and a winner and then they flip
49:58
to that birkenstocks as as
50:00
soon as you get a little bit of spring out
50:02
and you just cycle between those two. But
50:04
then I feel like the Birkenstocks quality
50:06
has gone downhill. So I'll check these out next
50:08
time I need a pair. I got to check out those because everyone
50:11
hypes those up. It's one of those things I've avoided.
50:13
I know those are comfy too. Oh, get a pair of blood.
50:15
Bluntstones for sure are like
50:17
the best. I love wearing them. I can't
50:19
deal with laces anymore. You just slip them on,
50:22
you pull them. They got a nice thing. They're super
50:24
high quality. You can maintain them
50:26
and Birks are pretty good too. What about
50:28
shameless plugs? You want a plug? Oh, yeah.
50:31
Well, I mean, you guys put I mean, Tomagui,
50:33
obviously I it's fully open source.
50:37
I'm just building it in my spare time. It
50:39
is
50:40
absolutely a beast of a project.
50:43
Please look at how many packages are in the packages
50:45
folder and
50:48
how much code is in there and
50:50
think about supporting node and
50:52
Safari and mobile and desktop
50:54
and native. So it's it
50:57
needs support even just helping
50:59
it out or or
51:01
obviously I do have sponsors. So that's my shameless
51:03
plug. But I also stream sometimes
51:06
on Twitch. My name
51:08
is Fubully.
51:10
F-O-O bully. I
51:12
don't know why, but I
51:14
don't really do much there. So
51:17
mostly my plug would just be Tomagui. OK,
51:20
sick. And do you say
51:23
Nate Birdman? Where's Birdman come from? That's
51:25
my middle name. It's my mom's last name, family
51:27
last name. Jewish kind of goes
51:29
to my grandpa. But
51:33
it is Birdman, which is pretty cool. Yeah, that is sweet.
51:36
Yeah. Wow. Yeah, we've got a lot of props
51:38
like people like Birdman and
51:41
like, yeah,
51:42
you don't I
51:44
don't I don't I'm not seeing any feathers. What's
51:46
going on here? Well, I
51:48
think that's just about all we have. Wes,
51:50
do you have anything else? No, I think that's
51:52
it. Thank you so much for coming on. We really appreciate
51:55
it. Yeah, thank you guys so much for having me on. Of course.
51:57
Thanks, Nate, for stopping on and nice, nice work.
52:00
definitely be checking that are a lot
52:02
more rigid egg as a school based
52:06
on over to syntax dot fm for
52:08
a full archives of all of our shows
52:11
and don't forget to subscribe in your podcast
52:13
player or drop a review if
52:15
you like this show
Podchaser is the ultimate destination for podcast data, search, and discovery. Learn More