WEBVTT

1
00:00:06.480 --> 00:00:11.080
Hey everybody, Welcome back to another
episode of JavaScript Jabber. This week,

2
00:00:11.119 --> 00:00:16.679
on our panel, we have Steve
Edwards to borrow from a j Yo yo

3
00:00:16.800 --> 00:00:21.399
Yo, coming after coming at you
from a cloudy and cool Portland after having

4
00:00:21.440 --> 00:00:26.199
been in Arizona, sonny and warm
last week. Right, I'm Charles Maxwood

5
00:00:26.239 --> 00:00:29.879
from Top Endez. Yeah, it
was rainy last week here, but looks

6
00:00:29.879 --> 00:00:33.640
like it's going to be a nice
day today. So we have a special

7
00:00:33.679 --> 00:00:37.399
guest this week. We have Santosh. I don't know if we have your

8
00:00:37.479 --> 00:00:41.280
last name anywhere where I can see
it. You gonna introduce yourself and let

9
00:00:41.280 --> 00:00:45.159
people know who you are and why
we're excited to have you here. My

10
00:00:45.280 --> 00:00:49.280
name is and I live in Germany, so I live near Hamburg. I

11
00:00:49.359 --> 00:00:52.799
keep killing people that I live in
Hamburg, but it's it's a life because

12
00:00:53.039 --> 00:00:58.240
that's the net. So people in
Hamburg so and I put it on.

13
00:00:59.039 --> 00:01:03.359
So I'm seen as of the engineer
that's too honest. And I'm involved in

14
00:01:03.399 --> 00:01:07.840
mertical communities, so I'm developer expert
for Angula. I'm also a get up

15
00:01:07.840 --> 00:01:14.079
Star and I'm also part of an
X Champions program which is a program MANX.

16
00:01:14.599 --> 00:01:18.120
And I'm also co founded for a
community so we learn. We run

17
00:01:18.159 --> 00:01:22.239
a committee called This is Learning and
This is Tech Talks the podcasts, which

18
00:01:22.239 --> 00:01:26.280
we do generally. Uh, we
have been doing it for a year now

19
00:01:26.879 --> 00:01:30.120
and that's what that's what I do. And you might have seen me from

20
00:01:30.159 --> 00:01:36.319
the active and I'm just so much
active there, very cool. Well,

21
00:01:37.599 --> 00:01:38.959
the topic I have in front of
us, and this might be a little

22
00:01:38.959 --> 00:01:44.439
provocative for some people, is why
why Angular is the best framework for you?

23
00:01:45.280 --> 00:01:49.280
And uh, yeah, I think
just to get us started. It

24
00:01:49.319 --> 00:01:55.879
seems like React as kind of the
one that far and away people are adopting,

25
00:01:57.040 --> 00:02:00.799
and so are you. I guess
what I'm asking is are you putting

26
00:02:00.799 --> 00:02:05.599
forward that that's a mistake or just
not as good a decision as you could

27
00:02:05.599 --> 00:02:09.199
make if you go for Angular.
And I'm just here to share my point

28
00:02:09.199 --> 00:02:15.599
of view bi Angular as best pay
Yeah, I mean generally it's like uppe

29
00:02:15.840 --> 00:02:22.680
that you you to decide what what
is best for you by Okay, So

30
00:02:22.719 --> 00:02:27.199
why should people use Angular then?
Because I know Steve does view. Just

31
00:02:27.240 --> 00:02:31.919
to give a little background, and
I've done I've kind of played with them

32
00:02:31.919 --> 00:02:38.520
all and I've mostly settled on Stimulus, which isn't a surprise if you're into

33
00:02:38.719 --> 00:02:43.879
Ruby on rails. So yeah,
you might get a little pushback here or

34
00:02:43.919 --> 00:02:46.719
there because neither of us use Angular
on a regular basis. For what it's

35
00:02:46.719 --> 00:02:51.800
worth all throwing this caveat that I
did start out with Angular, but it's

36
00:02:51.919 --> 00:02:54.919
what is now Angular JSS, Angular
one, whatever you want to call the

37
00:02:54.919 --> 00:03:00.400
the first version. So I never
I switched twitched over Review at the time

38
00:03:00.479 --> 00:03:07.360
that it was rewritten into Angular too, you know, and on for various

39
00:03:07.400 --> 00:03:10.240
reasons you know that we can discuss. But so I wasn't. That was

40
00:03:10.280 --> 00:03:20.199
my Angler was my my initial step
into JavaScript coding on the front end most

41
00:03:20.199 --> 00:03:23.039
people because it was one of the
earliest framework, right, I mean it

42
00:03:23.319 --> 00:03:25.680
came even before Yeah, so most
of the people were doing Angler jays and

43
00:03:25.719 --> 00:03:30.520
then Angler two came in, which
is the current Angler which we are to

44
00:03:30.520 --> 00:03:34.520
talk about. Angler jas is now
end of the least end of light,

45
00:03:34.719 --> 00:03:38.960
so it's not even supported by Angler
officially, but I think there are few

46
00:03:39.000 --> 00:03:45.680
companies who were supporting long term support. But that's another thing. So it's

47
00:03:45.719 --> 00:03:50.960
like started around Angler two when people
started moving away from Angler jas to the

48
00:03:51.000 --> 00:03:54.560
frameworks. I mean that was I
would say, yeah, that was very

49
00:03:54.960 --> 00:04:00.599
hard time even for the framework because
there are multiple things. Right, when

50
00:04:00.639 --> 00:04:03.400
Angler two came, Anger team said
they are going to rewrite it in typescript,

51
00:04:03.439 --> 00:04:06.919
and not many people were fan of
typescript. So if you if you

52
00:04:08.120 --> 00:04:11.560
all remember, like Typetrip, Angler
was the first tramwork to actually bet on

53
00:04:11.599 --> 00:04:15.079
typescript. They said, yeah,
they will rewrite everything in typescript. And

54
00:04:15.079 --> 00:04:19.360
then Microsoft cattal like good, good
packing. They even like wrote a blog

55
00:04:19.399 --> 00:04:25.480
post three years ago that Google team, our Angler team was a big support

56
00:04:25.600 --> 00:04:30.160
behind the success because no one was
trying to adopt it, but they did.

57
00:04:30.519 --> 00:04:34.839
They're oute of big enterprise framework using
type script and it's it's been used

58
00:04:34.879 --> 00:04:40.279
now by millions of developers. So
that was the early start. And of

59
00:04:40.319 --> 00:04:45.519
course there was no path. I
mean the another issue was Angler JAS to

60
00:04:45.639 --> 00:04:47.959
Angler two. Okay, there was
there was no migration path. So everyone's

61
00:04:47.959 --> 00:04:54.160
scared, like what happens tomorrow,
right, I mean if once like Angler

62
00:04:54.240 --> 00:04:57.560
jas is officially dead, how we
will able we will be able to migrate

63
00:04:57.560 --> 00:05:00.560
to Angler or the new version?
There was no clear But of course now

64
00:05:00.639 --> 00:05:05.839
there is a there's a guy,
there's a great like anglers who angled it

65
00:05:05.959 --> 00:05:12.879
up and it's available now, but
that was the time. Actually there was

66
00:05:12.920 --> 00:05:16.279
some bad decisions, I would say, which which costed like big panic in

67
00:05:16.319 --> 00:05:24.000
the community, even the people who
were using Yeah, I remember we were

68
00:05:24.040 --> 00:05:28.959
talking to So I was one of
the people that started and hosted for a

69
00:05:29.000 --> 00:05:32.240
long time the Adventures in Angular podcast. That was your first podcast I ever

70
00:05:32.279 --> 00:05:36.240
started listening to check with Adventures and
Angler, Okay, yeah, and so

71
00:05:36.319 --> 00:05:43.360
we were talking to Mishkoh and a
bunch of the other people that were involved

72
00:05:43.360 --> 00:05:46.439
in a lot of that. Yeah, there was a lot of anxiety at

73
00:05:46.480 --> 00:05:49.639
the time over you know, where
Angler was going to end up. And

74
00:05:50.040 --> 00:05:54.920
yeah, they made the cutover to
type script. Initially, they were trying

75
00:05:54.959 --> 00:06:00.680
to come up with their own uh
script that you know, transpiled to JavaScript

76
00:06:00.680 --> 00:06:06.319
that was similar to typescript, and
I guess they got what they wanted from

77
00:06:06.360 --> 00:06:11.120
the typeescripts team and made that transition. But yeah, so at this point,

78
00:06:12.600 --> 00:06:15.079
yeah, Angler is much more modern. It has a lot of other

79
00:06:15.079 --> 00:06:18.120
things going for it. But yeah, anyway, it was just an interesting

80
00:06:18.160 --> 00:06:23.600
time to be involved in that.
So that was it was like the same

81
00:06:23.720 --> 00:06:27.079
time I started like two Gangla Jays
around winning fifteen. I mean I was

82
00:06:27.160 --> 00:06:31.560
laid into the ecosystem of course,
and then twenty seventeen at the Angler four

83
00:06:31.639 --> 00:06:34.560
game, that's when I when I
picked it up. So of because I

84
00:06:34.600 --> 00:06:38.759
was lucky not to get into Angler
two. I know a lot of people

85
00:06:38.839 --> 00:06:44.720
were actually frustrated with every like breaking
changes with a u RC and everything.

86
00:06:44.759 --> 00:06:47.160
I just keep hearing the study and
then it makes it like, oh and

87
00:06:47.319 --> 00:06:51.199
I decided not to jump in trite
into it, like when Anglo two was

88
00:06:51.240 --> 00:06:55.959
going on. So what is it
about Angler that you think makes it a

89
00:06:56.000 --> 00:06:59.639
great choice? Yeah, I mean
there are so many things, right,

90
00:06:59.680 --> 00:07:02.319
I mean, first, of course, the current state of Angler. So

91
00:07:02.399 --> 00:07:06.199
if you see, like of course, there was a time when people thought,

92
00:07:06.199 --> 00:07:09.879
okay, Angler is going to be
dead. Angler is not going moving

93
00:07:09.959 --> 00:07:15.680
forward, like there are no new
features, even like they're not I mean

94
00:07:15.920 --> 00:07:18.000
even they are not listening to the
to the community. I mean, if

95
00:07:18.000 --> 00:07:23.000
you if you go to the open
issues, they were like like two top

96
00:07:23.040 --> 00:07:27.519
most voted issues which were still open
for after four years, and everyone was

97
00:07:27.560 --> 00:07:30.839
frustrated when the even the community was
like bait of fun ansious again that what's

98
00:07:30.879 --> 00:07:35.519
what's going to happen? And then
came Hangler fourteen. So Angler fourteen as

99
00:07:35.560 --> 00:07:42.360
were all all this new features or
the team actually started pushing so many new

100
00:07:42.360 --> 00:07:47.560
things, and I think they they
we keep hearing about Angler renaissance, right,

101
00:07:48.079 --> 00:07:53.680
and that's what happened. So after
Angler fourteen, Angler started moving into

102
00:07:53.680 --> 00:07:59.399
different directions. They started listening to
the community. So most of the top

103
00:07:59.519 --> 00:08:03.040
vote features are actually fixed now,
I mean they're they're already being used by

104
00:08:03.120 --> 00:08:09.000
people. And uh, I would
say, uh, the kind of shift

105
00:08:09.399 --> 00:08:13.120
which Angler has taken. For example, Angler modules, Like there was a

106
00:08:13.199 --> 00:08:18.160
there was a time that we everyone
who was actually teaching Angler or learning Angler

107
00:08:18.199 --> 00:08:24.480
they had to actually word and learn
about Angler modules like what what are modules?

108
00:08:24.680 --> 00:08:28.360
And now with that, after Angler
fourteen, team decided to actually remove

109
00:08:28.399 --> 00:08:31.519
it, like they said, okay, let's make it optional. So they

110
00:08:31.519 --> 00:08:39.080
started removing the headaches or I would
say the most important Uh, not most

111
00:08:39.080 --> 00:08:43.840
important, but I would say most
complicated things like which which you need to

112
00:08:43.120 --> 00:08:48.240
understand before jumping into Angler. They
started removing those blocks. For example,

113
00:08:48.240 --> 00:08:54.320
they made Angler models option. Okay, they started making uh, some changes

114
00:08:54.360 --> 00:08:58.600
to talk to more functional program For
example, not everyone is more comfortable writing

115
00:08:58.600 --> 00:09:03.720
classes in type script. So for
example, guards Angler guards, they used

116
00:09:03.759 --> 00:09:07.679
to be all classes. Now they
are functions which enabled like there are a

117
00:09:07.679 --> 00:09:11.279
few changes or there isn't there are
new functions which enabled most some of the

118
00:09:11.320 --> 00:09:16.559
library offers to actually adopt functional approach. One of the librares I think maxim

119
00:09:16.600 --> 00:09:22.000
meno is jeris, which is for
state management. So they started, Yeah,

120
00:09:22.120 --> 00:09:26.360
so they started moving most of the
code to functional approach to make it

121
00:09:26.440 --> 00:09:33.200
like more pre more more easy to
write. So apart from that, of

122
00:09:33.240 --> 00:09:37.679
course, now let's talk about SSR. There was like a long period of

123
00:09:37.679 --> 00:09:41.159
time where Angler's team said, okay, they are not going to do SSR,

124
00:09:41.240 --> 00:09:43.200
right, I mean, they're not
going to support SSR. And then

125
00:09:43.519 --> 00:09:48.759
community came and wrote Angular Universal.
Yeah, so Anglo Universal was something which

126
00:09:48.799 --> 00:09:54.000
was driving SSSR for a longer rift. And now Anglar team has actually adopted

127
00:09:54.039 --> 00:09:58.679
that Angler USL as part of the
Angler package itself itself. It's called Angular

128
00:09:58.759 --> 00:10:03.000
s are now and the team is
focusing more on SSR, so they're trying

129
00:10:03.039 --> 00:10:07.360
to give better experience when you're using
SSR, so partial iteration is there.

130
00:10:07.879 --> 00:10:13.279
And now they are trying to merch
Angler with another framework called wiz, which

131
00:10:13.399 --> 00:10:18.360
was actually an internal framework within Google. So it's like this is just announced

132
00:10:18.440 --> 00:10:24.639
at Chicon this year that they're going
to do it to make SSR more better

133
00:10:24.679 --> 00:10:30.440
met Angular so they have partial iteration, and of course there will be like

134
00:10:30.799 --> 00:10:35.039
more pandular label change fiction which is
also coming with a Angular. So those

135
00:10:35.080 --> 00:10:41.919
are the things which makes I would
say Angler as best framework for you right

136
00:10:41.960 --> 00:10:48.080
now because they are actually adopting new
features making learning framework more more more more

137
00:10:48.080 --> 00:10:52.000
easy to you, Like they are
moving all the complicated things more complicated concepts.

138
00:10:52.519 --> 00:10:56.960
Yeah, we can talk about more. Yeah, it's it's funny because

139
00:10:56.000 --> 00:10:58.519
you're talking about a lot of these
things. I mean, I remember when

140
00:10:58.600 --> 00:11:03.399
n GR came out, Remember when
Angular Universal came out. You know,

141
00:11:03.519 --> 00:11:09.240
we're talking to you know, the
guys behind all that work. And yeah,

142
00:11:09.360 --> 00:11:13.840
it seems like a lot of these
things though anymore just kind of on

143
00:11:13.000 --> 00:11:18.440
par with what people expect from a
modern framework, right. I mean View

144
00:11:18.519 --> 00:11:22.120
has a lot of these same kinds
of options, don't they, Steve and

145
00:11:22.240 --> 00:11:26.200
few X and View. I don't
know how you do SSR with View,

146
00:11:26.240 --> 00:11:28.240
but yeah, well there's next.
I mean you have a you know,

147
00:11:28.759 --> 00:11:33.600
like next or next. I believe
Angeler has a meta framework quote unquote don't

148
00:11:33.639 --> 00:11:39.320
they analog now? So I think
Spelly has been. I don't know.

149
00:11:39.720 --> 00:11:43.000
I haven't heard from anything from the
True brand it's been working on Analog has

150
00:11:43.000 --> 00:11:48.559
any Yeah, so Analog is the
meta framebook. Which so let me ask

151
00:11:48.600 --> 00:11:52.440
you one question. You know one
of the like I said, apologize,

152
00:11:52.440 --> 00:11:58.879
I haven't really worked in Angular two
x on one of the features that View

153
00:12:00.120 --> 00:12:07.000
has that I consistently hear from people
who have moved to View from Angular react

154
00:12:07.159 --> 00:12:11.720
or. You know, your framework
of choice is the single file templates component

155
00:12:11.120 --> 00:12:18.679
functionality in that you know, basically
you have your template function same with you

156
00:12:18.799 --> 00:12:22.519
two or View three or's just straight
HTML, right, You're not having to

157
00:12:24.279 --> 00:12:26.919
put backticks around thing to make sure
your quotes are you know, just right

158
00:12:28.000 --> 00:12:30.879
so it can interpret it. It's
just very easy to read. And then

159
00:12:30.879 --> 00:12:35.679
you plug in any of your attributes
and your directives and classes and stuff as

160
00:12:35.759 --> 00:12:41.120
regular HTML, which makes it easier
for a designer to work with. Now

161
00:12:41.159 --> 00:12:45.279
I'm reading the Angular docs and I
don't see that capability. I might be

162
00:12:45.320 --> 00:12:50.679
missing it because I haven't been studying. So how does Angular make the templating

163
00:12:50.759 --> 00:12:58.240
portion easy? So if a single
component is something which is not heavily an

164
00:12:58.240 --> 00:13:03.480
angle of it, so Angler's generally
whenever you start a new project us in

165
00:13:03.559 --> 00:13:07.480
CLN, so you have to put
strap and component. So you put strap

166
00:13:07.519 --> 00:13:11.000
and root component and then bin root
component. You can render anything and temperate

167
00:13:11.080 --> 00:13:13.679
is nothing, but you can actually
there are two options. So you can

168
00:13:13.799 --> 00:13:18.480
create an estimate file and you can
provide it to the component class that okay,

169
00:13:18.519 --> 00:13:22.120
this is the temperate and where you
will have all the estimate files.

170
00:13:22.759 --> 00:13:26.120
Or you can just write it between
the deepestrict file itself, so you have

171
00:13:26.200 --> 00:13:30.360
something called template as a string,
so you can just say back takes and

172
00:13:30.360 --> 00:13:35.039
then you can start writing your estimal. So it's it's different from others like

173
00:13:35.080 --> 00:13:39.399
for example React as ASIX of course
who has dot move file which is where

174
00:13:39.440 --> 00:13:43.519
you can write all the things.
But Angle it is like plain STML,

175
00:13:43.559 --> 00:13:46.399
so you can just write estimate file
and start writing your stment up with the

176
00:13:46.440 --> 00:13:54.000
help of some of the template functionality
which is provided by Angle. If you

177
00:13:54.000 --> 00:13:56.120
need SEFC, if you need sec
you should give it. Try to analog

178
00:13:56.440 --> 00:14:00.879
because they are trying to fill in
this gap, so they're go adop like

179
00:14:01.039 --> 00:14:07.200
all this features, which is widely
asked for but by by the by the

180
00:14:07.200 --> 00:14:11.759
divelopers who are coming from background of
food, right, so they are like

181
00:14:11.879 --> 00:14:16.519
thinking about to the secs. So
yes, it's availability a handle just I

182
00:14:16.559 --> 00:14:20.960
think you can go and write out
with the current rings. Now with those

183
00:14:22.000 --> 00:14:26.519
templates, are you also have a
CSS handle? Is that something that's in

184
00:14:26.519 --> 00:14:30.919
a separate file that you would import
into your component then, or is that

185
00:14:31.039 --> 00:14:35.000
something that you can do like a
style bark or something like that inside of

186
00:14:35.000 --> 00:14:39.080
your component. Both the options are
available if you want. You can do

187
00:14:39.120 --> 00:14:43.120
it in line with style styles property, so you can just say okats the

188
00:14:43.159 --> 00:14:46.360
stiles and then you can write your
in line spies. Or if you want

189
00:14:46.360 --> 00:14:50.000
a cess file to be a separate
file, you can define it as a

190
00:14:50.039 --> 00:14:54.559
string same as your st piles.
Right, so you can create as a

191
00:14:54.799 --> 00:14:58.559
CS file or stats file what I
when you're using ale supports everything, so

192
00:14:58.960 --> 00:15:01.519
you can just define create that file
and just give a path so it will

193
00:15:01.559 --> 00:15:07.679
just work. But it's a second
file outside of your component. Is that

194
00:15:07.759 --> 00:15:11.600
right? You can do both.
I mean when you can do like within

195
00:15:11.639 --> 00:15:15.799
your types too file, you can
say stye and then you can start writing

196
00:15:15.840 --> 00:15:20.200
in a string, but it's a
string with backticks around it type of exactly.

197
00:15:20.279 --> 00:15:26.159
Yeah, okay, can the CSS
be scoped to a particular component or

198
00:15:26.200 --> 00:15:33.240
is it always necessarily global? So
good thing about Angler's FIFA. So whenever

199
00:15:33.279 --> 00:15:37.320
you create a new component like scoped
to the current component. So whenever you

200
00:15:37.399 --> 00:15:41.720
like create a new new anglerpiplication and
you run it and you try to inspect

201
00:15:41.840 --> 00:15:45.799
any component and you see the stie
so that you will find something called energy

202
00:15:45.799 --> 00:15:50.679
content uppended with this. So it
makes sure that yours, like stye sets,

203
00:15:50.679 --> 00:15:54.399
are not leaking globally. You can
also make it devlople globally. It's

204
00:15:54.440 --> 00:15:58.639
up so it's like it's it's it
gives you control to you bite fall.

205
00:15:58.679 --> 00:16:03.559
It's a was wrapped inside the component
so it doesn't lead. But if you

206
00:16:03.600 --> 00:16:07.840
want to, you can just make
it available everywhere. That's possible, basically

207
00:16:07.840 --> 00:16:12.080
overwriting global school. Now, how
does Angular handle or what are the options

208
00:16:12.159 --> 00:16:18.360
for state management? Is that something
that's built in that comes by default?

209
00:16:18.519 --> 00:16:22.879
You know View has view actually actually
with View three IT'SPNA. Now is the

210
00:16:22.879 --> 00:16:27.840
default state management tool for View three? Uh? Is there are like multiple

211
00:16:27.879 --> 00:16:30.919
options for options you want to use? Or is there a default that's built

212
00:16:30.919 --> 00:16:33.960
into Angular or at least maybe one
that's recommended. How does that work?

213
00:16:36.679 --> 00:16:41.480
Question? Because this necessary we can
really talk about signals like signals and everywhere

214
00:16:41.519 --> 00:16:47.240
now. So Angler adopted signals to
versions pack so Angly sixteen they make it

215
00:16:47.639 --> 00:16:52.320
make it as an experimental so you
know the signals, the whole signals idea

216
00:16:53.120 --> 00:16:59.279
that camelong back, but like more
people started not adopting it after solid Chase

217
00:16:59.360 --> 00:17:03.039
came up with the solution. Right, and now signals are adopted by a

218
00:17:03.120 --> 00:17:07.839
woof. It's adopted by Swelt and
Angler Oswald, so one of the framework

219
00:17:07.880 --> 00:17:11.440
which adopted signals, so to make
the state management easier. Right, So

220
00:17:11.480 --> 00:17:15.200
earlier we had multiple options, so
we had RHAS which was where you can

221
00:17:15.200 --> 00:17:18.519
actually write your own so if you
want to write create your own store,

222
00:17:18.720 --> 00:17:23.839
you can do it using RHAS.
Then people, more people from the community,

223
00:17:23.880 --> 00:17:27.799
they created their own solution as I
was taken to DUHS and GIS like

224
00:17:27.960 --> 00:17:33.519
was one of the early library which
is widely used, so it's like one

225
00:17:33.519 --> 00:17:38.599
of one out of six application in
production users. NGX. Then we have

226
00:17:38.759 --> 00:17:44.960
NJXS, which also is pretty good
state management framework. And I think there

227
00:17:45.000 --> 00:17:51.079
are a few more like which are
mean I haven't used any any other,

228
00:17:51.119 --> 00:17:55.480
but there are a few more which
exists. But it comes I wanted to

229
00:17:55.480 --> 00:18:00.559
make the state management thing easier because
why you should always reach out to managemental

230
00:18:00.599 --> 00:18:04.279
ability, maybe sometimes you don't need
it, and that's why they introduce signals

231
00:18:04.279 --> 00:18:07.440
now. So if you want to
make your state management easier, now you

232
00:18:07.440 --> 00:18:12.039
can actually start adopting signals as well. And signals can live anywhere like it

233
00:18:12.119 --> 00:18:15.519
can be it's it can just leave
outside your file lege. So for example,

234
00:18:15.599 --> 00:18:19.160
Steve Husa that you are coming from
who you are already familiar with Pinion

235
00:18:19.599 --> 00:18:25.119
which users signals actually in kind of
signals? I mean, I don't know

236
00:18:25.640 --> 00:18:30.000
is it still using proxy or it
uses signals. But a good thing out

237
00:18:30.000 --> 00:18:34.160
of this all new implementation which channel
it did? Signals are going to be

238
00:18:34.200 --> 00:18:40.480
part of JavaScript now, so it's
it's actually being implemented as part of Java's

239
00:18:40.480 --> 00:18:45.119
specification. So now all frameworks have
like most of the frameworks have agreed that

240
00:18:45.200 --> 00:18:51.039
they need signals because they are using
it. So Ryan Carnea from solid Chas

241
00:18:51.119 --> 00:18:56.799
he has been what he was the
main person behind driving all this and soon

242
00:18:56.920 --> 00:19:00.359
like it will be available in your
browser. So that's that's the future.

243
00:19:00.359 --> 00:19:06.640
I think I think everyone will be
using signals interest everyone. That's a pretty

244
00:19:06.720 --> 00:19:11.799
it's a pretty big state because because
it's part of specification, right, that's

245
00:19:11.799 --> 00:19:17.240
what. Because it's available in new
browser now, So even though it's avaliable

246
00:19:17.240 --> 00:19:19.559
to everyone, and I think most
primworks are already using it apart from react

247
00:19:19.839 --> 00:19:23.519
and until unless they come with some
come up with some solution. But I

248
00:19:23.559 --> 00:19:30.200
think, uh, yeah, all
the frameworks are actually already on signals or

249
00:19:30.519 --> 00:19:33.000
give it, give it intake because
if you say the act not to react,

250
00:19:33.039 --> 00:19:38.279
but PDIAC already uses signals as but
so all the cool kids are using

251
00:19:38.319 --> 00:19:42.599
signals. Huh is that it exactly? Yeah, I've heard about it,

252
00:19:42.720 --> 00:19:48.279
and I know my buddy Eric Hanschad
uh did a video with signals in view

253
00:19:48.319 --> 00:19:52.400
and uh, I'm not a big, you know, under the hood guy

254
00:19:52.880 --> 00:19:56.039
normally, but from reading about it, it's it's pretty simmar of the proxies.

255
00:19:56.440 --> 00:20:02.279
If I'm understanding correctly, there the
reuses for me for handling reactivity because

256
00:20:02.319 --> 00:20:06.079
you mentioned r x JAS and you
know, Chuck. To be honest,

257
00:20:06.119 --> 00:20:08.480
I always have flashbacks of some of
the other podcasters Ward and John where they

258
00:20:08.480 --> 00:20:14.400
were talking about r x JAS and
they dived right in without explaining what observables

259
00:20:14.440 --> 00:20:17.440
were. And it took me a
while to get my head around it.

260
00:20:18.319 --> 00:20:23.119
But are you basically saying that observables
is state management, because when I asked

261
00:20:23.119 --> 00:20:27.400
about state management, you brought up
r X. JAS was the solution for

262
00:20:27.440 --> 00:20:30.880
a long long time. So because
I'm had first class support for our XS,

263
00:20:32.160 --> 00:20:37.000
so every everything was observable. For
example, if I'm working with the

264
00:20:37.079 --> 00:20:41.079
rounter, I mean, so every
event is nothing but an observable. If

265
00:20:40.960 --> 00:20:45.640
I'm working with that's THEDP, so
it's nothing but an observable. So it

266
00:20:45.680 --> 00:20:48.759
was like they had like first class
support from Davon and that's why the women

267
00:20:48.799 --> 00:20:53.079
started like building the solution around XS. So if you see nng X,

268
00:20:53.880 --> 00:21:00.480
which which I mentioned, it was
nothing but like HGS plus that's and it

269
00:21:00.559 --> 00:21:06.119
was just around it. But now
as we have signals, so NJ also

270
00:21:06.160 --> 00:21:08.920
came up with a new left city
called JAIC signals, which is nothing but

271
00:21:10.000 --> 00:21:14.200
state management using signals. So to
the end developer, then, is the

272
00:21:14.319 --> 00:21:18.400
use of signals versus observables? Is
it pretty transparent or is it a change

273
00:21:18.440 --> 00:21:22.759
that you have to make in your
in your front end code to and how

274
00:21:22.799 --> 00:21:27.880
you work with them. Actually,
that's it's a very good question because right

275
00:21:27.920 --> 00:21:33.039
now community is very h I mean
there are things which are to be very

276
00:21:33.039 --> 00:21:37.480
complicated, for example, but I
just had a pretty good use case,

277
00:21:37.519 --> 00:21:40.359
right, so very bad. You
have events like where you want steam of

278
00:21:40.440 --> 00:21:42.160
data, you should go with that
exagist but most of the time you don't

279
00:21:42.160 --> 00:21:48.279
need it. Right on why you
need a continuous stream of data in your

280
00:21:48.319 --> 00:21:52.759
front And of course there are use
cases but not always. And that's where

281
00:21:52.799 --> 00:21:56.319
actually people wanted some easy solution,
right, and the signals fills that gap.

282
00:21:56.359 --> 00:22:00.920
But now you have to move,
like you have to change your mindset

283
00:22:02.039 --> 00:22:04.799
from using rx as to signals.
That's complicated because a lot of developers are

284
00:22:04.799 --> 00:22:11.000
still confused, like where should your
data fitching go? Right? I mean

285
00:22:11.119 --> 00:22:12.960
you have to at least you have
to face the data at some point.

286
00:22:14.000 --> 00:22:18.319
It's time, right, And that's
where things are like I think this is

287
00:22:18.359 --> 00:22:22.359
something which will which will be easy
or not easy, but it will be

288
00:22:22.400 --> 00:22:26.200
easy to understand for the developers.
After some people or most of the enterprises

289
00:22:26.240 --> 00:22:30.599
like enterprises start adopting signals, and
they come up with the use cases where

290
00:22:30.640 --> 00:22:34.599
they needed signals and where they don't
need it signals. Right now, it's

291
00:22:34.640 --> 00:22:41.920
like most of the team members from
Angler team and the g d community and

292
00:22:42.200 --> 00:22:45.839
some of the people who have already
worked on signals, they're trying to teach

293
00:22:45.920 --> 00:22:51.240
people that how we use signals.
But it's it's it's good to The adoption

294
00:22:51.319 --> 00:22:52.599
part is going to take some time
here. As you said, yes,

295
00:22:52.640 --> 00:22:56.160
there are people like even I was
confused, like why and where to use

296
00:22:56.200 --> 00:23:00.680
what? But I think after reading
some of the blogs, after eating some

297
00:23:00.759 --> 00:23:04.240
of the like after watching some of
the videos around signals, it is becoming

298
00:23:04.279 --> 00:23:10.000
easier or like easy to understand what
where should I where should I use signals,

299
00:23:10.039 --> 00:23:11.960
and where I should use r XS. It's not like RXS is going

300
00:23:12.000 --> 00:23:17.400
to go away. You know,
as of today, like one percent of

301
00:23:17.400 --> 00:23:21.240
the code based uses r excs.
So just think about it, like removing

302
00:23:21.279 --> 00:23:25.079
the RXS totally. Its it's not
possible almost right, So people have to

303
00:23:25.720 --> 00:23:30.000
think about like this is where I
really like angler that you don't have to

304
00:23:30.200 --> 00:23:34.759
adopt like new feature fully, you
don't have to replace your entire code base,

305
00:23:36.039 --> 00:23:40.160
even for signals. It's like you
can start writing your new code with

306
00:23:40.279 --> 00:23:44.640
signals and you can keep your existing
code as it is and it will still

307
00:23:44.680 --> 00:23:48.880
work. And then if you want
GODOC, you can do incremental migration for

308
00:23:48.960 --> 00:23:52.279
your existing code base, right,
So that's that's a very good thing about

309
00:23:52.319 --> 00:23:56.519
so you don't have like devilots don't
have to be like development like when they

310
00:23:56.519 --> 00:24:02.359
are adopting new features that okay,
should I read everything micropical signals and then

311
00:24:02.440 --> 00:24:06.160
use it exist? But that's not
deep. So if you'll make your life

312
00:24:06.200 --> 00:24:11.599
a little pretty easier if you are
working on enterprise and you already have exists

313
00:24:11.599 --> 00:24:17.359
everywhere ipel this question, yeah,
I mean my understanding, you know,

314
00:24:17.680 --> 00:24:23.200
I've never directly used observables myself with
the observable pattern, but my understanding from

315
00:24:23.240 --> 00:24:27.319
having listened to podcasts or you know, read about it, is that you

316
00:24:27.440 --> 00:24:33.200
really have to adjust your code to
using observables. It's not like just plug

317
00:24:33.200 --> 00:24:36.960
and play, right. You really
got to write your code in a different

318
00:24:36.960 --> 00:24:41.480
structure to use an observable versus not
using it, you know, for lack

319
00:24:41.519 --> 00:24:47.480
of a better term. So it
would seem that moving from observables to signals

320
00:24:47.480 --> 00:24:52.519
would not be a minor undertaking.
It won't be sure, I mean,

321
00:24:52.880 --> 00:24:56.440
if you're using enngetics, I mean
most people do. As a setlic one

322
00:24:56.799 --> 00:25:03.720
in six STAPs in actually nine uses
sign x. So NNGX has some new

323
00:25:03.799 --> 00:25:08.720
functions which are available where you can
if you're if you're savings observables, you

324
00:25:08.720 --> 00:25:12.960
can just convert them to signals so
they have new functions available with the new

325
00:25:12.960 --> 00:25:18.119
releases, so it will make it
can make your life or migration a little

326
00:25:18.119 --> 00:25:22.759
bit easier. But if you have
code base with our egas, I would

327
00:25:22.759 --> 00:25:26.240
suggest don't go there, like at
the start, if you're if you want

328
00:25:26.240 --> 00:25:30.119
to adopt signals, start adopting with
new code which you will write and then

329
00:25:30.160 --> 00:25:33.440
eventually once you have time, which
which is hard, right, I mean,

330
00:25:33.480 --> 00:25:37.319
this is hard because you have to
show the value to your product more

331
00:25:37.519 --> 00:25:41.160
to your company. That why we
are migrating to signals. So just hold

332
00:25:41.200 --> 00:25:45.519
on there and once you get time
and money and energy, then go ahead

333
00:25:45.519 --> 00:25:49.720
and start adopting signals. A good
thing about Angle, as I said,

334
00:25:49.759 --> 00:25:55.119
like they always take care of developers
as well. They focus more on developer

335
00:25:55.160 --> 00:26:00.440
experience, so they have been trying
to provide new fund which can make your

336
00:26:00.759 --> 00:26:06.599
migations much smoother. For example,
in Angler WHENEFA, you have to do

337
00:26:06.640 --> 00:26:11.079
input and output right, so you
have input decorator and output decorator. But

338
00:26:11.319 --> 00:26:15.079
now you have input and output as
available as signals. So they are just

339
00:26:15.160 --> 00:26:18.200
function which gives you signals. Now, so of course once you are once

340
00:26:18.200 --> 00:26:22.000
you think that, okay, these
are places where I don't need and probably

341
00:26:22.039 --> 00:26:26.480
a stream hos like just signals would
be sufficient, you can just start replacing

342
00:26:26.519 --> 00:26:33.160
them with the new function and they're
also uh. A new Anglo jay angle

343
00:26:33.240 --> 00:26:40.519
slash are exist in the rock linely
which is created especially for interoperability between signals

344
00:26:40.559 --> 00:26:45.799
and directions because it's not possible to
just rewrite entire code right to make that

345
00:26:45.839 --> 00:26:48.880
magnition smooth. They also have given
some functions which are available as part of

346
00:26:48.920 --> 00:26:56.160
the frame of itself. I also
yeah, having having played with both,

347
00:26:56.440 --> 00:27:02.799
I found that and I can't art
what the difference is per se, but

348
00:27:02.880 --> 00:27:07.319
it feels like in some instances the
way that observables work and the way that

349
00:27:07.440 --> 00:27:11.079
you know you you kind of put
a stream of data through it and you

350
00:27:11.119 --> 00:27:14.920
know it updates or transforms, you
know, depending on what you need,

351
00:27:15.720 --> 00:27:19.359
versus the way that signals work,
you know, where effectively you update a

352
00:27:19.480 --> 00:27:23.799
value and then anything that subscribed to
it gets the you know, gets the

353
00:27:23.880 --> 00:27:33.480
result. Some some data and some
youI seem to lend themselves better to one

354
00:27:33.559 --> 00:27:38.319
or the other, and so I
also see that. I think anybody who's

355
00:27:38.359 --> 00:27:44.519
thinking I'm just going to migrate all
of my observables to signals, you may

356
00:27:44.599 --> 00:27:48.799
be making things harder in some cases. You're definitely going to make things easier

357
00:27:48.839 --> 00:27:52.240
in other cases. But you know, I think there's going to be some

358
00:27:55.599 --> 00:28:00.039
version of kind of getting a good
feel for where signals shine and where you

359
00:28:00.079 --> 00:28:03.000
may just want to keep doing things
the way you're doing them. By the

360
00:28:03.039 --> 00:28:07.680
mist thing, just to mention you
said you never worked with observables, observables

361
00:28:07.720 --> 00:28:11.440
are actually going to be part of
jobs specification as well. They're already available,

362
00:28:11.880 --> 00:28:15.680
so they're going there there behind the
future flat but it's soundready available.

363
00:28:15.759 --> 00:28:21.920
So it will make probably uh yeah, it will probably increase the adoption maybe

364
00:28:22.119 --> 00:28:26.960
for observables. And it will also
make one thing really good, which is

365
00:28:26.799 --> 00:28:30.559
the rg IS library. Right,
So rges can just remove observables and just

366
00:28:30.799 --> 00:28:36.799
can be a place where you just
you just have operators. So it will

367
00:28:36.799 --> 00:28:40.920
be like win win for the committee
as well as the RIGS has been driving

368
00:28:41.200 --> 00:28:44.759
this library for a long long time. Yeah, we've had Ben on the

369
00:28:44.799 --> 00:28:49.839
show before to talk about RGS.
Now, one of the things I wanted

370
00:28:49.839 --> 00:28:56.599
to go back to one thing you'd
mentioned earlier was regarding data fetching between observables

371
00:28:56.599 --> 00:28:59.680
and signals not being moved. I
know, you know, working in a

372
00:28:59.759 --> 00:29:07.519
huge view front end enterprise application,
you know vieux is where we do a

373
00:29:07.519 --> 00:29:10.720
lot of our data fetching in order
to keep the back end in the front

374
00:29:10.759 --> 00:29:15.759
end and synk. What are the
issues with the data fetching that you mentioned

375
00:29:15.799 --> 00:29:18.559
earlier, whether it's a change or
whether it's an issue or all. And

376
00:29:18.640 --> 00:29:22.519
it was just off hand and I
wanted to clarify that. And if you

377
00:29:22.559 --> 00:29:26.039
see, like data fetching is always
a simpfulness, right, but signal signals

378
00:29:26.039 --> 00:29:30.440
have simpleness, So that's where you
have to really like understand what you should

379
00:29:30.440 --> 00:29:33.960
be using there. And now it's
just was a very good use because you

380
00:29:34.000 --> 00:29:37.400
can just say, okay, it's
an observable because it's a stream of data,

381
00:29:37.480 --> 00:29:41.519
and then you can just wrap it
inside on observable and then the stream

382
00:29:41.559 --> 00:29:45.880
which is coming from your back end, but in signals as it's in a

383
00:29:45.920 --> 00:29:52.519
symchronous synchronous it's if you try to
directly take the data like in Angler,

384
00:29:52.599 --> 00:29:56.400
we use something as a static client
service. So if you try to just

385
00:29:56.519 --> 00:30:00.839
trap or take the data from a
STIC client and sign it to a signals.

386
00:30:00.880 --> 00:30:04.119
It will fail. It will fail
because it's it's the a simplest function,

387
00:30:04.200 --> 00:30:08.680
which is restunning an object to a
syndronus think, so it won't be

388
00:30:08.680 --> 00:30:12.000
able to get the data. So
that was where of course when I tried

389
00:30:12.039 --> 00:30:17.559
it, I was really confused what
should I do here? And luckily I

390
00:30:17.599 --> 00:30:21.000
was actually experimenting with NNGRX, so
NJX can fill that gap for me.

391
00:30:21.119 --> 00:30:25.400
I don't have to focus too much
on that, and I just use the

392
00:30:25.440 --> 00:30:30.119
existing NGRX functionality and just use a
new function which they have evens. So

393
00:30:30.160 --> 00:30:33.440
it's called two signals celic signals.
So there is a function called select signal

394
00:30:33.480 --> 00:30:38.720
so which can wrap up or give
your stream and convert it to a signal

395
00:30:41.279 --> 00:30:42.160
without doing anything. I mean,
you don't have to do much. You

396
00:30:42.240 --> 00:30:48.839
just have to replace your functions which
was earlier observable and just called to select

397
00:30:48.839 --> 00:30:52.960
signal. That's a that'stant. So
that's one thing where like a lot of

398
00:30:52.000 --> 00:30:56.960
people, a lot of new developers
who will start atopting signals will probably struggle.

399
00:30:57.200 --> 00:31:00.640
So okay, let me make sure
you stand this. Because the issue

400
00:31:00.720 --> 00:31:04.920
is a synchronous is the way to
do the data fetching at least you know

401
00:31:04.960 --> 00:31:07.640
what I'm used to, because you
can load your page and not have to

402
00:31:07.680 --> 00:31:14.279
wait for synchronous function So are you
saying that the n g r X wrapper

403
00:31:14.400 --> 00:31:21.759
around signals gives you the capability to
a synchronous data stetching there there's some yeah,

404
00:31:22.160 --> 00:31:26.839
good, Yeah, that's my question. Yeah, yeah, songs something

405
00:31:26.839 --> 00:31:30.519
called Jeric effects, which is which
is made, which is made, which

406
00:31:30.559 --> 00:31:38.000
was made for actually all this simpleness
events or any any functionality which which has

407
00:31:38.119 --> 00:31:41.799
effects, right, which causes an
effect. So it was there from table

408
00:31:42.079 --> 00:31:47.160
and they made it like more better, like two or to support signals.

409
00:31:47.799 --> 00:31:51.279
So they just get it this new
SELP signal functionality, so you can just

410
00:31:51.319 --> 00:31:55.319
easily as I said, like people
who are using ng ng x, they

411
00:31:55.359 --> 00:32:00.240
will have like a very not much
complicated time getting to signals. Fact,

412
00:32:00.839 --> 00:32:05.960
people who are just using plain at
exists. Of course, the internal celebrity

413
00:32:06.000 --> 00:32:10.119
which I mentioned amiability and angulal is
that David still which offers the functionality to

414
00:32:10.160 --> 00:32:15.920
convert signals to observable and observable to
signal. Even I think enetics is using

415
00:32:15.079 --> 00:32:20.599
that internity, but you still have
to write some code. So from a

416
00:32:21.640 --> 00:32:27.039
market standpoint, I'm not sure if
this is something you're aware of. Where

417
00:32:27.039 --> 00:32:32.680
do you see Angler being used?
Ranging from the small one off, you

418
00:32:32.720 --> 00:32:40.519
know, hobby project up to enterprise
applications. My perception, just from various

419
00:32:40.559 --> 00:32:45.119
data points that I've seen around the
web is that it tends to be more

420
00:32:45.160 --> 00:32:51.079
of an enterprise application tool as compared
to a smaller hobbyist, you know,

421
00:32:51.160 --> 00:32:57.119
one off type of thing. For
instance, Uh, my fire department uses

422
00:32:57.480 --> 00:33:01.680
an application and that we use for
tracking all over incidents and medical calls.

423
00:33:01.680 --> 00:33:06.400
And it's very large, and it's
you know, it's it's a company that

424
00:33:07.880 --> 00:33:13.599
you know that provides instances for different
departments and it's based on on Angler.

425
00:33:13.640 --> 00:33:15.599
Excuse an angler? You can tell
by looking in the a lot of n

426
00:33:15.640 --> 00:33:27.319
G stuff. What's your perception of
where this tool is used in that spectrum?

427
00:33:27.720 --> 00:33:30.799
When you say Angler is used in
enterprises, yes it is. And

428
00:33:30.880 --> 00:33:36.559
that's that this is where actually team
wants to change the perspective perspectly now right

429
00:33:37.000 --> 00:33:39.319
because for a longer pit of time, I mean, people were thinking about

430
00:33:39.400 --> 00:33:44.599
like the act as next who has
nuxt so to do all the s?

431
00:33:45.240 --> 00:33:50.920
And it makes like very easy to
play U a bit like new new frame

432
00:33:50.960 --> 00:33:53.680
books. But when it comes to
Angler, I mean that it was there

433
00:33:53.720 --> 00:33:57.279
was no clear clear way, right, I mean there will looks so many

434
00:33:57.319 --> 00:33:59.200
things which you have to learn.
For example, Alex, yes, you

435
00:33:59.240 --> 00:34:01.920
have to learn about just you have
to learn about change section. And now

436
00:34:02.200 --> 00:34:07.799
actually Angler is trying to move up
there, and the whole idea was although

437
00:34:07.839 --> 00:34:13.079
the whole idea is actually to get
more adoption to the new developers as well.

438
00:34:13.559 --> 00:34:16.840
That's the idea. So new dimples
can come easily and start playing around

439
00:34:16.960 --> 00:34:21.719
with tanglags, right, rather than
focusing more on concepts betaric shares or officer

440
00:34:21.800 --> 00:34:29.960
pupils for what you call and even
modules. So now I think more people

441
00:34:30.000 --> 00:34:36.519
have started talking about Angler because it's
becoming more easy for new developers. I

442
00:34:36.519 --> 00:34:38.559
would not say z of course,
there's nothing called nothing in easy, nothing

443
00:34:38.599 --> 00:34:44.960
easy in actually programming. That's that's
just a buzzword. But I would say

444
00:34:45.440 --> 00:34:51.440
as like Anglo prows or the new
feature comes in and it uh the less

445
00:34:51.519 --> 00:34:54.760
number of concepts which you have to
learn about, it will it will grow

446
00:34:54.800 --> 00:35:00.679
in the adoption as well. And
with introducing signals, which is being adopted

447
00:35:00.679 --> 00:35:04.360
by many frameworks already saying there are
frameworks work who are using it. I

448
00:35:04.400 --> 00:35:07.760
think it will only go in the
right direction and more people are more early

449
00:35:08.400 --> 00:35:15.360
early stage companies will also adopt Angler, especially now the buzz around Angler plus

450
00:35:15.360 --> 00:35:19.440
base, which which will make it
a better framework. I think one of

451
00:35:19.440 --> 00:35:22.519
the best, I would say when
it comes to a scile, because this

452
00:35:22.719 --> 00:35:27.960
has been already being tested heavily within
within Google. They have been using it

453
00:35:28.000 --> 00:35:30.719
for a long long time. Even
Google Search is driven by wiz and once

454
00:35:30.760 --> 00:35:36.800
that functionality comes to Angler, I
think there is no other framework which stands

455
00:35:36.840 --> 00:35:38.119
a chance. I would say,
as as as I said, like I

456
00:35:38.480 --> 00:35:40.840
like, I like hort text,
and everyone loves that hot text. Right,

457
00:35:40.840 --> 00:35:45.679
So this is my outtake that everyone
will be doing Angler if they think

458
00:35:45.679 --> 00:35:51.280
about s as a well, Okay, I'll dispute that just based on my

459
00:35:51.400 --> 00:35:54.440
knowledge of other frameworks. I'm just
curious by way of a little background and

460
00:35:54.679 --> 00:36:00.400
apologies if I miss this earlier.
Uh, what experience in working with View

461
00:36:00.480 --> 00:36:04.719
or React or Spelt or some of
the other frameworks as compared to Angular.

462
00:36:07.519 --> 00:36:09.079
I think I started with Angler jas
early, as I said, and then

463
00:36:09.079 --> 00:36:13.840
as I started learning the act,
and then as soon as I started writing

464
00:36:13.920 --> 00:36:15.840
Jas. I said like, okay, this is not the framework I want

465
00:36:15.840 --> 00:36:21.239
to learn, and then who felt
like very similar to Anglo jas. So

466
00:36:21.320 --> 00:36:24.440
I did something. But once I
wrote typescript, right, So, as

467
00:36:24.480 --> 00:36:28.760
I said, in twenty seventy,
no one was doing type scrip and I

468
00:36:29.559 --> 00:36:31.760
started writing Angle because of typescript.
It's sort of it was not like I

469
00:36:31.840 --> 00:36:37.440
liked Angler and I started doing typescript
because I was adopinated. So I came

470
00:36:37.440 --> 00:36:40.840
from a dotinate background all the type
language, and I really like typescript.

471
00:36:40.880 --> 00:36:43.440
So I was like, okay,
this is the line, this is the

472
00:36:43.480 --> 00:36:45.920
frame book. We supports typescript,
so I'm going to just do this.

473
00:36:45.440 --> 00:36:50.119
Of course I learned who I mean
when it was WODO. I think I

474
00:36:50.119 --> 00:36:52.159
did a little bit of WOO three
as well as FCS and all those things.

475
00:36:52.559 --> 00:36:55.760
But yeah, never worked on it. Mostly my work has been around

476
00:36:55.800 --> 00:37:00.559
Angler JAS and most of them.
Now I do an ex toroths. But

477
00:37:01.360 --> 00:37:05.760
so, what are the things coming
out next in Angular that you're excited about

478
00:37:05.960 --> 00:37:10.840
or that people should know about.
Of course, one thing which was as

479
00:37:12.039 --> 00:37:14.440
like there are a few concepts which
is hard to learn about, right,

480
00:37:14.440 --> 00:37:16.639
and one of them was changed section. So if you if you remember like

481
00:37:16.960 --> 00:37:22.079
Charles, like early Anglo Jas had
ala JS one had one issue, right,

482
00:37:22.199 --> 00:37:24.559
which was of course change sections,
so it has it used to like

483
00:37:24.599 --> 00:37:28.599
to all these checks ten times for
nobodies, right, and then ang the

484
00:37:28.679 --> 00:37:31.119
t T two came and team said, okay, we'll try to avoid all

485
00:37:31.159 --> 00:37:36.000
this loops which used to run but
in still there was something known as the

486
00:37:36.039 --> 00:37:42.559
inspection and it used to like run
in more more faster way than the anglage.

487
00:37:43.320 --> 00:37:45.800
But there was something called Enchi zone, so we had we still have

488
00:37:45.840 --> 00:37:51.559
that of course, so en she
zone was actually responsible for catching all these

489
00:37:51.559 --> 00:37:54.960
simpleness defense and then re rendering everything, right, I mean it's it's not

490
00:37:55.039 --> 00:38:00.719
basically rerendering, it's just yeah,
creating the proxy not proxy, but it's

491
00:38:00.760 --> 00:38:07.559
actually rewriting what has been changed.
And this was a big problem when it

492
00:38:07.599 --> 00:38:13.199
comes to enterprises because as Steve also
mentioned, like there is saying that Angler

493
00:38:13.280 --> 00:38:17.880
is already like always being preferred for
enterprise application. True, but when your

494
00:38:17.880 --> 00:38:22.840
application grows a lot and this change
section like runs most time most of the

495
00:38:22.880 --> 00:38:29.159
times, your application becomes slow.
So Angler also wanted to tackle this for

496
00:38:29.199 --> 00:38:32.880
a very long long time, and
there were like multiple discussions around it.

497
00:38:32.920 --> 00:38:37.280
How to do it how to remove
soon. And finally, signals scheme.

498
00:38:37.320 --> 00:38:39.679
As I said, like signals is
a big change because it is also going

499
00:38:39.679 --> 00:38:45.679
to change the way change section works
in Angler. So now the change section

500
00:38:45.760 --> 00:38:49.679
can be granular. What I mean
by granular is a component can have its

501
00:38:49.679 --> 00:38:52.800
own change section, so you don't
have to like run change section on entire

502
00:38:52.800 --> 00:38:57.440
application. I can say, okay, if there is a component down the

503
00:38:57.480 --> 00:39:01.639
tree somewhere, and it can have
just its own state using signals. So

504
00:39:01.679 --> 00:39:06.679
now Signal is going to maintain that
for us. And with handler eighteen that

505
00:39:07.119 --> 00:39:12.519
is already shipped, So now you
can have change section without ang zone and

506
00:39:12.960 --> 00:39:15.400
at a granular level, it's not
like going to impact your entire application.

507
00:39:15.480 --> 00:39:20.360
This is very important for me as
well, because of course I work in

508
00:39:20.480 --> 00:39:23.679
enterprise, have a very large application, and sometimes this causes an issue,

509
00:39:23.719 --> 00:39:28.719
right performance portal nets and then you
have to cure show white screens to your

510
00:39:28.800 --> 00:39:31.199
end users. And no one likes
white white screens, right I mean,

511
00:39:31.440 --> 00:39:35.920
of course as a user, if
I'm using it, I will hate it.

512
00:39:36.199 --> 00:39:38.760
Uh, and uh that's that's going
to be an amazing thing. But

513
00:39:38.920 --> 00:39:43.960
apart from this, like there are
a few features I will name and for

514
00:39:44.000 --> 00:39:50.840
example standardone components so no motives,
models are optional and standard APIs for UH

515
00:39:51.440 --> 00:39:53.639
for example, like for st TP
we had stor to de client. For

516
00:39:53.760 --> 00:39:59.440
router we had rou router modules.
So all these are actually becoming nothing but

517
00:40:00.000 --> 00:40:01.960
functions. So they are like just
a function which you can register and then

518
00:40:02.039 --> 00:40:08.880
use it signals of course, and
then you have, of course with all

519
00:40:08.920 --> 00:40:13.400
these signals and RXS thing, you
also have the top functions, so it

520
00:40:13.440 --> 00:40:19.599
will make your mication smooth and then
Granule level change diction. But the first

521
00:40:19.639 --> 00:40:24.000
thing about Angle which I like is
angy update. So if you have worked

522
00:40:24.000 --> 00:40:28.440
in Angler for some time, you
know, uh, there's one thing which

523
00:40:28.480 --> 00:40:32.280
Angler team does. They never ship
a breaking change. What I mean by

524
00:40:32.480 --> 00:40:36.760
they never ship breaking change. Of
course there are breaking changes which happens,

525
00:40:37.159 --> 00:40:42.239
but Angule team always ships the mignation. So for example, if they're introducing

526
00:40:42.239 --> 00:40:45.000
a breaking change, they will also
ship a migration script to you which you

527
00:40:45.000 --> 00:40:49.440
can run and migrate your entire courts. And this is something which is tested

528
00:40:49.559 --> 00:40:52.760
like on the enterprise application. It's
not something which is tested on your demo

529
00:40:52.800 --> 00:40:59.280
apps. So it's always it always
works. Most of the the propers out

530
00:40:59.280 --> 00:41:02.559
there who have been using amulal they
know that Angler is easy to migrate because

531
00:41:02.559 --> 00:41:07.920
of this micration functionality which is provided
out of the box. So you as

532
00:41:07.920 --> 00:41:09.880
then like if you put enterprises what
they care about, like, of course

533
00:41:09.920 --> 00:41:15.199
they want to make sure that the
framework they are using is up to date

534
00:41:15.719 --> 00:41:20.000
because there are fund there are companies
which cannot tolerate vulnerabilities, and if your

535
00:41:20.039 --> 00:41:22.719
packages are old, of course they
will have vulerabilities right at some point of

536
00:41:22.800 --> 00:41:27.360
the time. And then it helps
you in that as well because they're offering

537
00:41:27.360 --> 00:41:31.840
this automatic migration. And this automatic
migration is not only for enterprise applications.

538
00:41:32.360 --> 00:41:37.599
There are like millions of developers who
are building libraries who are shipping packages for

539
00:41:37.679 --> 00:41:42.039
Anguler. It also works for them. So for example, if I'm maintaining

540
00:41:42.079 --> 00:41:45.320
a library, I can just run
inng migrate as engy update and then I

541
00:41:45.320 --> 00:41:51.239
can migrate my library to the next
version and ship a new build to like

542
00:41:51.880 --> 00:41:57.320
how how many numbers of users I
have? And that's an amazing thing because

543
00:41:57.360 --> 00:42:00.639
this is something which not many frameworks
offer in case they're moving ahead. So

544
00:42:00.719 --> 00:42:06.440
Angular team is making sure that they're
moving ahead, but they're also making sure

545
00:42:06.880 --> 00:42:10.000
the developers who have been using your
frameworks. They're also able to move ahead

546
00:42:10.360 --> 00:42:15.519
without like going into trouble with this, like the migration is fooled. But

547
00:42:16.159 --> 00:42:22.360
the funny problem with migation is you
may get struck because not of Angler framework,

548
00:42:22.480 --> 00:42:24.559
but the third party libraries. It's
always like that, right, I

549
00:42:24.559 --> 00:42:30.039
mean, if you use who or
React, it's always not React or who,

550
00:42:30.079 --> 00:42:32.920
but it's third party libraries which you
use, which causes issues some time.

551
00:42:34.119 --> 00:42:36.800
And the same applies for Anglers.
So you have to make sure that

552
00:42:37.159 --> 00:42:42.400
you have less number of third party
dependencies as much as you can. Of

553
00:42:42.400 --> 00:42:45.239
course there are things which you cannot
avoid, but try to trust on the

554
00:42:45.239 --> 00:42:49.840
libraries which are already which are often
updated, right because as I said,

555
00:42:49.880 --> 00:42:52.199
like the migration path is very easy. You can just do and G update

556
00:42:52.239 --> 00:42:57.880
and then you are migrated with an
expression, which is very good. And

557
00:42:59.199 --> 00:43:02.880
another thing is backward compatibility. So
as I said, like, of course

558
00:43:02.880 --> 00:43:07.480
we are going towards signals, we
are going towards stand alone components, we

559
00:43:07.519 --> 00:43:13.760
are going up towards stand alone APIs. But you can still go ahead and

560
00:43:13.760 --> 00:43:17.519
write a code like with your existing
code base and start adopting these new features,

561
00:43:19.039 --> 00:43:23.719
which which is really cool about analytic
because you can just leave your old

562
00:43:23.800 --> 00:43:28.280
code best as it is, so
you don't have to like rush into migration

563
00:43:28.400 --> 00:43:30.760
to adopt this new feature, and
then you can throw this parallet. So

564
00:43:31.679 --> 00:43:37.000
start writing your like new code with
signals or stand alone component or with standardone

565
00:43:37.000 --> 00:43:39.719
APIs, and then start slowly,
slowly migrating your previous code, which is

566
00:43:40.119 --> 00:43:44.000
which most of the developers needs,
right. I mean they don't want to

567
00:43:44.039 --> 00:43:49.119
actually rush and adopt new new features
because just they cannot do without them.

568
00:43:49.280 --> 00:43:52.639
For example, if you have to
just strike adopt signal into my whole code

569
00:43:52.639 --> 00:43:55.239
base first before adopting signals, it
will make my life is life harder.

570
00:43:55.400 --> 00:44:04.559
Even so, those are few amazing
things which happening in it very cool,

571
00:44:07.039 --> 00:44:14.480
Steve, Did you have any other
questions? I guess I'm just curious about

572
00:44:14.480 --> 00:44:20.800
this migration tool because I'm thinking what
exactly does this target? Because I mean,

573
00:44:20.840 --> 00:44:24.599
you could have the same code written
fifty different ways and fifty different applications,

574
00:44:24.599 --> 00:44:29.320
and trying to have a one size
fits all tool that's autogmatically going to

575
00:44:29.360 --> 00:44:35.360
migrate code seems like you know,
a whole different framework within itself. So

576
00:44:35.440 --> 00:44:42.079
I'm just curious as to what exactly
does this this migration tool that you're talking

577
00:44:42.119 --> 00:44:47.400
about updates to just look for certain
certain code snippets that you know might be

578
00:44:47.440 --> 00:44:52.199
of an updated feature and try to
convert it for you. Or because I

579
00:44:52.360 --> 00:44:55.760
could just imagine something that you were
written and then breaking things, you know,

580
00:44:55.880 --> 00:44:59.760
somewhere down the line. Obviously you'd
have like tests and you know,

581
00:44:59.760 --> 00:45:02.519
maybe type to catch certain things,
but that's not going to catch everything.

582
00:45:04.159 --> 00:45:09.199
So what exactly does this migration to
do for you? So as you said,

583
00:45:09.239 --> 00:45:13.480
like people can write the code into
fifty different pasts, that's not true

584
00:45:13.480 --> 00:45:19.039
for Anglers. So Angler has like
very good structure to write the coorte from

585
00:45:19.119 --> 00:45:22.000
day one. So if you follow
those structure, for example, if you

586
00:45:22.039 --> 00:45:25.599
have a component class and then you
follow the patterns which are actually provident Banglar,

587
00:45:27.000 --> 00:45:30.119
there are not fifty different ways to
do this in Angler code based basically,

588
00:45:30.440 --> 00:45:36.320
and that's why actually Angler it also
makes the life easier for Angler team

589
00:45:36.320 --> 00:45:38.159
because they know that okay, this
is the code which we have to migrate.

590
00:45:38.360 --> 00:45:40.719
For example, as I said,
standardone component, right, so there

591
00:45:40.760 --> 00:45:46.280
is a migration which can convert your
old cote which has Angler modules to stand

592
00:45:46.280 --> 00:45:51.159
alone. Because we know that everyone
was using Model then there is no other

593
00:45:51.199 --> 00:45:54.719
way to do this. And that's
where your your migrations can just run and

594
00:45:54.719 --> 00:45:58.519
say, okay, this is the
component we need to convert to stand alone.

595
00:45:59.679 --> 00:46:02.039
A bit another thing, so if
you if if you are coming from

596
00:46:02.280 --> 00:46:07.000
WU right, so you have something
called who for or something we we four

597
00:46:07.159 --> 00:46:13.199
or we if right, so those
are direct and yeah, so we also

598
00:46:13.239 --> 00:46:16.519
had directives, so of course we
have chief and four. And now anger

599
00:46:16.639 --> 00:46:22.480
is actually has has adopted something called
control flow syntax. So control flow syntax

600
00:46:22.599 --> 00:46:25.760
is something which says at the retief
uh and then at the red four and

601
00:46:25.800 --> 00:46:30.199
then you can just write it without
without need for any extra apple which is

602
00:46:30.280 --> 00:46:35.679
uh, which is I think adopted
from swelled if I'm not wrong, so

603
00:46:35.840 --> 00:46:38.880
it has something similar. And then
to migrate, we know that okay,

604
00:46:38.880 --> 00:46:43.760
there is something called n g if
and four which already exists anral migration.

605
00:46:43.840 --> 00:46:45.960
What it does is it removes and
four n g if with the new control

606
00:46:46.000 --> 00:46:51.320
for syntax behind. And if I
talk about like there is a new magazine

607
00:46:51.360 --> 00:46:54.480
coming from STTP client module, so
everyone uses a STIPI client module, there

608
00:46:54.559 --> 00:46:57.880
is not that way, so they
know like okay, we have to just

609
00:46:58.000 --> 00:47:02.320
plow a stipre client module with a
new new fund Chinese often so this this

610
00:47:02.440 --> 00:47:07.239
makes the life vizier for many of
the tub represents because if I change a

611
00:47:07.320 --> 00:47:10.679
job, I know that this was
going to be detained in the same way

612
00:47:10.679 --> 00:47:15.760
as it was in my bigbas shop. So that makes life zil for the

613
00:47:15.800 --> 00:47:19.599
frement, even including the library of
Autus, because they know that this is

614
00:47:19.599 --> 00:47:25.400
the believer that like in which my
librity will be used. So in other

615
00:47:25.440 --> 00:47:32.519
words, the fact that that Angler
is very highly opinionated in structure is what

616
00:47:32.639 --> 00:47:36.880
makes it easier to migration. That
makes sense. I mean, I've seen

617
00:47:37.559 --> 00:47:40.639
maybe you can speak to this a
little bit. The hierarchy of opinionation factors

618
00:47:40.719 --> 00:47:46.480
amongst the different frameworks seems to range
from React, which is very unopinionated,

619
00:47:46.519 --> 00:47:51.119
and there's you know, a bazillion
different tools whether it's routing or state or

620
00:47:51.119 --> 00:47:55.280
whatever you know, up to view, up to angular and then maybe even

621
00:47:55.320 --> 00:47:59.559
Ember, if I've understood, can
be you know, more opinionated, and

622
00:48:00.400 --> 00:48:06.719
then Angler I've heard that before.
Does that sound fairly accurate? Angler is

623
00:48:06.760 --> 00:48:10.599
openated for sure, So it says
from the table, and I think because

624
00:48:10.800 --> 00:48:14.880
if you see like Angler has there's
no other people do routing, right,

625
00:48:14.920 --> 00:48:19.400
I mean, of course there was
in Anglo gsts and now there's just Angler

626
00:48:19.440 --> 00:48:24.320
Outer. So Angler provides out even
for forms. Angler provide forms even as

627
00:48:24.320 --> 00:48:29.320
a state lak. For data fitching, Angler has something but a cityp already,

628
00:48:29.599 --> 00:48:32.039
so no one else, no one
is doing actually data pitching using other

629
00:48:32.119 --> 00:48:37.239
libraries apart from esterty. So that
ends, as I said, as as

630
00:48:37.280 --> 00:48:38.960
you also mentioned, so that those
are the things which are pretty cool about.

631
00:48:40.000 --> 00:48:43.320
Sorry, what is the name of
the library that does the data fetching

632
00:48:43.400 --> 00:48:47.599
you just mentioned? Angler slash,
common slash, storty. Okay, So

633
00:48:47.760 --> 00:48:51.679
is that its own thing from the
ground up, as compared to maybe like

634
00:48:51.719 --> 00:48:55.519
a wrapper or around axios or something
like that. It's a good question because

635
00:48:55.599 --> 00:49:01.440
Angler had xmlesty pretris for so they
had to develop it based on it.

636
00:49:01.480 --> 00:49:07.760
But now most of the browser supports
right, Oh okay, so it's using

637
00:49:07.840 --> 00:49:12.679
native vetch. So now it's using
against deference, so it's like uh uh,

638
00:49:12.800 --> 00:49:15.239
it's so it's it's not by default, you can enable it, so

639
00:49:15.280 --> 00:49:19.639
it's it's still like, okay,
haying some features. So let's say when

640
00:49:19.639 --> 00:49:22.320
you're using a stratipic line, you'll
just say use fitch and we'll start using

641
00:49:22.360 --> 00:49:30.280
fletch. Okay, that makes sense. The default only made Yeah. I

642
00:49:30.280 --> 00:49:36.239
know, for a while view as
the view to compare has had view Router,

643
00:49:36.440 --> 00:49:38.199
you know, by default that's maintained
by the community. Had vu x,

644
00:49:38.320 --> 00:49:43.719
which was maintained by the community,
but you weren't required to use them.

645
00:49:43.719 --> 00:49:45.079
You had to opt in to use
view Router. You had to you

646
00:49:45.079 --> 00:49:49.039
know, you had to install it, and you had to configure your app

647
00:49:49.760 --> 00:49:52.360
to use it, which means that
you can use other ones. Now by

648
00:49:52.400 --> 00:49:57.440
default, it's much easier to use
the one that's more commonly used and is

649
00:49:57.920 --> 00:50:01.400
maintained by the community. But you've
always had that option to use other tools.

650
00:50:01.400 --> 00:50:05.000
If that well, if for you
know, if for some reason you

651
00:50:05.000 --> 00:50:09.599
want to Now, what about the
last question I have? I know we're

652
00:50:09.639 --> 00:50:15.639
getting short on time here, Chuck. Is one thing I don't see as

653
00:50:15.760 --> 00:50:24.400
much is rappers for Angular with other
tools. Case in point is inertia JAS,

654
00:50:24.519 --> 00:50:27.960
which is one of my favorites and
I've talked about quite a bit,

655
00:50:28.800 --> 00:50:32.679
which is basically a plug uh glue
layer between your front end and your back

656
00:50:32.800 --> 00:50:38.119
end makeing incredibly fast, very easy
to work with because you don't have to

657
00:50:38.239 --> 00:50:42.840
use your jobscript writer on the front
end. You rely on your back end.

658
00:50:42.840 --> 00:50:45.280
You can plug it in with note
or Ruby or Larabelle or so on,

659
00:50:45.599 --> 00:50:51.920
or other tools like Chuck. Maybe
you can tell me Fred shot Astro.

660
00:50:52.599 --> 00:50:55.159
I don't know if they have an
Angular plugin or not, but I

661
00:50:55.239 --> 00:51:00.400
don't see plugins for Angular ass you
know with third party integration tools like that

662
00:51:00.480 --> 00:51:06.719
as much as I do with reacts
belt View. Do you see that changing

663
00:51:06.719 --> 00:51:10.639
in the future as Angler becomes more
easy to use and less more for the

664
00:51:10.719 --> 00:51:15.400
enterprise level or what do you think? I mean, all the cool kids

665
00:51:15.440 --> 00:51:20.400
are going to be using singles,
signals and Angular as as I get it,

666
00:51:21.039 --> 00:51:22.480
Yeah, from what you've been saying. So I'm just curious about that.

667
00:51:23.039 --> 00:51:27.880
I found it Astro Angular. Oh
they do, okay, deal,

668
00:51:28.079 --> 00:51:34.000
Well it's for analog. Yeah,
so I would assume it works just with

669
00:51:34.239 --> 00:51:38.000
Angular. But no, but that
me Tangler. It doesn't talk, so

670
00:51:38.039 --> 00:51:45.519
analog jays Analog guys actually plugging to
work with Okay. True, Yeah,

671
00:51:45.599 --> 00:51:49.920
I mean this is where the me
definite books can fit. The gap step.

672
00:51:50.320 --> 00:51:54.440
So now, if like let's say, once Angler becomes less complicated,

673
00:51:54.480 --> 00:52:01.440
like the thing is, they have
their own what do you say compilers,

674
00:52:01.679 --> 00:52:06.559
which makes things a little bit harder
for everyone to adopt. But once that

675
00:52:06.800 --> 00:52:10.480
compiler becomes easy, I think more
people will start adopting it. As of

676
00:52:10.559 --> 00:52:15.239
now, like Analog team figured it
out like how to do it, so

677
00:52:15.280 --> 00:52:21.519
they wrote their entire framework made of
framework using Angler plus jays. I think

678
00:52:21.559 --> 00:52:28.039
that's the that's the Yeah. I
think on jas is one they have used,

679
00:52:28.360 --> 00:52:30.519
if I'm not wrong. Uh,
and Next also uses it, right,

680
00:52:30.599 --> 00:52:35.400
so they actually took the inspiration from
the Next team and just made this

681
00:52:35.440 --> 00:52:38.440
made of framework. So I think
they're like everybody's working together to get this

682
00:52:38.519 --> 00:52:43.320
done. And the belief thing which
is stopping most of the people is the

683
00:52:43.360 --> 00:52:46.119
way angular compiler works. It's like
for a longer period of time, it

684
00:52:46.159 --> 00:52:49.920
was one leverb pack, so it
was just a putting you back. There

685
00:52:50.000 --> 00:52:52.239
was no other way to do it. Now it's adopting es build. So

686
00:52:52.360 --> 00:52:57.480
now it's it actually uses es build
and uh, it also uses wheat.

687
00:52:57.800 --> 00:53:00.920
But let's say once in future,
let's say, let's just think about so

688
00:53:01.000 --> 00:53:06.480
once it's it's start supporting bet for
the production bill DESM. I think this

689
00:53:06.519 --> 00:53:14.119
is where it will become less complicated
for the authors who are actually creating made

690
00:53:14.280 --> 00:53:16.639
freeworks on top of it. So
but it will it will? I think

691
00:53:16.679 --> 00:53:20.880
I see a future where it will
be possible, but not not right now,

692
00:53:21.400 --> 00:53:25.440
anything else, Steve, before we
jump in the picks? Uh no,

693
00:53:25.599 --> 00:53:29.639
that's all I got. All right, Well, do you want to

694
00:53:29.679 --> 00:53:34.079
start us off with the picks,
then yes, we'll start with the uh

695
00:53:34.920 --> 00:53:37.079
my picks, which are santos in
case who aren't aware of the Dad jokes

696
00:53:37.119 --> 00:53:42.639
of the week are the highlight of
every episode. I just gotta get a

697
00:53:42.679 --> 00:53:49.840
mind up here. I'm so busy
talking. H okay, So question,

698
00:53:51.280 --> 00:53:54.239
would it let see where to go? Would it kill the maker of avocados

699
00:53:54.960 --> 00:54:00.280
to put a different toy inside?
I mean I already have like f fifty

700
00:54:00.280 --> 00:54:12.159
wooden balls already. The other night, my son whose younger son, said

701
00:54:12.519 --> 00:54:15.239
Dad, there's a monster under my
bed? Can I sleep in your room?

702
00:54:15.239 --> 00:54:19.039
And I said, look, it's
you. He's after Why make him

703
00:54:19.039 --> 00:54:24.840
my problem too? I was very
sympathetic, as you can tell. And

704
00:54:24.880 --> 00:54:30.079
here's a question for you, Chuck
or santoge what was more important than the

705
00:54:30.119 --> 00:54:37.559
invention of the first telephone the invention
of the second telephone? Very good,

706
00:54:37.679 --> 00:54:44.360
thank you, thank you. I'm
impressed. Check you know, without one

707
00:54:44.400 --> 00:54:47.119
phone, really nobody to talk to. One of the funniest sketches I ever

708
00:54:47.159 --> 00:54:52.239
heard is if you remember Andy Rooney, Chuck Andy Rooney, he used to

709
00:54:52.559 --> 00:54:57.239
do his little bits at the end
of sixty minutes, and he played a

710
00:54:57.239 --> 00:55:05.480
bit one time where they supposedly had
the answer to the first call to alex

711
00:55:05.559 --> 00:55:08.079
endergrind Bell's telephone, and it was
I'm sorry, I'm not here to pick

712
00:55:08.119 --> 00:55:13.320
up the phone right now, but
if we leave a message right the answering

713
00:55:13.400 --> 00:55:19.119
machine is first phone. It was
great anyway. Yeah, that's all I

714
00:55:19.159 --> 00:55:22.039
got for picks, all right,
Well then I'll jump in with picks.

715
00:55:25.639 --> 00:55:30.599
Yeah, this last week I've mostly
been doing the political stuff and not the

716
00:55:30.719 --> 00:55:35.360
board game stuff. So I'm gonna
pick two games that I've picked before that

717
00:55:36.280 --> 00:55:40.719
I played either with my family or
my friends. The first one is and

718
00:55:40.760 --> 00:55:44.280
this is what I've been playing with
the family. It's called The Crew,

719
00:55:45.480 --> 00:55:53.719
and it's a card game and you
get basically, you get assignments. There's

720
00:55:53.719 --> 00:55:59.360
a little log book basically that tells
you what to do. So it's like

721
00:55:59.440 --> 00:56:04.440
you have to get these four cards
and you assign them out, you know,

722
00:56:04.480 --> 00:56:09.239
to different people, and then yeah, anyway, it's it's really fun

723
00:56:12.079 --> 00:56:16.199
board game. Geek rates it waits
it at one point ninety five, and

724
00:56:16.320 --> 00:56:21.880
basically you just have to be old
enough or mature enough, and you're thinking

725
00:56:21.960 --> 00:56:25.480
to figure out, Okay, how
do I play these cards so that the

726
00:56:25.559 --> 00:56:32.400
right person gets the right card.
And it's very fun. We really really

727
00:56:32.480 --> 00:56:37.039
like it, and so we're on
there. I think there are seventy five

728
00:56:38.480 --> 00:56:43.320
stages that you go through. Right
in the first bunch, you just breeze

729
00:56:43.320 --> 00:56:45.559
through them, like the first ten
or fifteen, right, and so then

730
00:56:45.599 --> 00:56:51.320
they get progressively harder. So the
last one you have a way of communicating,

731
00:56:51.960 --> 00:56:55.920
and you couldn't use that the communication
option until the third trick. And

732
00:56:55.960 --> 00:56:59.679
then there were six cards that had
to be taken in. One of them

733
00:57:00.400 --> 00:57:01.880
was a sign to be taken first
and the other was a sign to be

734
00:57:01.920 --> 00:57:06.679
taken last. And it took us
a bit of doing to get it with

735
00:57:06.719 --> 00:57:10.840
five people. So yeah, anyway, the crew it's way fun. The

736
00:57:10.880 --> 00:57:15.960
other one on Wednesday, me and
my buddies got together and we played another

737
00:57:16.039 --> 00:57:24.840
round of Risk Legacy, which is
also just I grew up playing risk and

738
00:57:28.679 --> 00:57:36.000
so I kind of have this nostalgic
love of the game Risk Legacy is if

739
00:57:36.000 --> 00:57:37.760
you've played any of the legacy games, right, so the last game you

740
00:57:37.880 --> 00:57:45.280
played and the game before that,
I'll impact the current game. And anyway,

741
00:57:45.320 --> 00:57:49.079
it's been really really fun. I
don't think you keep trackle that,

742
00:57:50.440 --> 00:57:52.639
so it has ways of doing doing
that on the board. Right, So

743
00:57:54.000 --> 00:57:59.920
we've played four rounds or five rounds. I think we've played five rounds now.

744
00:58:00.079 --> 00:58:04.880
I won the first two and so
now everybody's gunning for me to make

745
00:58:04.920 --> 00:58:09.239
sure I don't win again. But
I think one of my friends just won

746
00:58:09.280 --> 00:58:15.400
their either one of them won their
first round or somebody just won their second

747
00:58:15.480 --> 00:58:20.960
round because I was, I was
actually eliminated from the game. They wiped

748
00:58:21.000 --> 00:58:25.400
all of my guys off the board. This time. It has a board

749
00:58:25.440 --> 00:58:30.639
game weight on Board Game Geek of
two point five to nine. But it's

750
00:58:30.679 --> 00:58:34.519
been way fun. And then,
like I said, I really love playing

751
00:58:34.599 --> 00:58:45.360
Risk, and so yeah, so
I'm gonna pick those and then yeah,

752
00:58:45.840 --> 00:58:51.000
getting the page up for JavaScript Geniuses. You can find that at javascriptgeniuses dot

753
00:58:51.000 --> 00:58:58.360
com. And yeah, I think
those are all my picks. Santoche,

754
00:58:58.400 --> 00:59:02.280
what are your what are your picks? It can be anything or it could

755
00:59:02.280 --> 00:59:07.800
be anything. Yep, Yeah,
Okay, so we are like posting our

756
00:59:07.880 --> 00:59:13.880
new next episode actually tomorrow on this
is TUK Talks. So the new episode

757
00:59:13.960 --> 00:59:17.000
is with the Angler contributors. So
in case we are looking forward to contribute

758
00:59:17.039 --> 00:59:22.440
to Angler, just go through the
episode and uh, next one would be

759
00:59:22.519 --> 00:59:28.719
like I'm I'll be there at Waterkin
Festival, which is a very big given

760
00:59:28.840 --> 00:59:31.360
here in Germany, which can it's
like a lot of open source contributors,

761
00:59:31.480 --> 00:59:37.480
open source companies like our early stage
companies. It's interesting. Case you're going

762
00:59:37.519 --> 00:59:39.719
coming there in New York from Germany, just let you know we can we

763
00:59:39.800 --> 00:59:44.400
can meet from it cool And if
people want to find you online, where

764
00:59:44.480 --> 00:59:49.360
where are you usually at? So
my Twitter handle is deep I think it's

765
00:59:49.599 --> 00:59:52.320
there's some type of year, but
it's you can find me on LinkedIn and

766
00:59:53.159 --> 00:59:57.480
both places with the same handle.
Awesome. All right, well let's go

767
00:59:57.480 --> 01:00:00.480
ahead and wrap it up. Thanks
for coming. This was lot of fun.

768
01:00:00.079 --> 01:00:02.360
You can. Thanks so much.
All right, till next time,

769
01:00:02.400 --> 01:00:05.440
folks max out how heos

