Podchaser Logo
Home
Supper Club × Nate Weinert and Tamagui

Supper Club × Nate Weinert and Tamagui

Released Friday, 14th April 2023
 1 person rated this episode
Supper Club × Nate Weinert and Tamagui

Supper Club × Nate Weinert and Tamagui

Supper Club × Nate Weinert and Tamagui

Supper Club × Nate Weinert and Tamagui

Friday, 14th April 2023
 1 person rated this episode
Rate Episode

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

Rate

Join Podchaser to...

  • Rate podcasts and episodes
  • Follow podcasts and creators
  • Create podcast and episode lists
  • & much more

Episode Tags

Do you host or manage this podcast?
Claim and edit this page to your liking.
,

Unlock more with Podchaser Pro

  • Audience Insights
  • Contact Information
  • Demographics
  • Charts
  • Sponsor History
  • and More!
Pro Features