1
00:00:06,480 --> 00:00:12,439
Hey everybody, thanks for coming to
another episode of Adventures and Angular. I'm

2
00:00:12,439 --> 00:00:16,679
the host Aaron Frost with Hero Devs. Today on the panel, we have

3
00:00:17,440 --> 00:00:24,359
the loved geos Ephemes. Hey everybody, Choe Emes here, CEO of Thinkster

4
00:00:24,440 --> 00:00:29,239
dot I out and Cypress expert.
Now, hey, nice bro. Did

5
00:00:29,239 --> 00:00:32,280
my Cypress webinar today? It was
awesome, So yep, Cyprus expert.

6
00:00:32,520 --> 00:00:38,719
And we have the beloved beloved Brian
Love. Hi everybody. Brian. Who

7
00:00:38,799 --> 00:00:42,679
are you? Tell everyone who you
are? So I'm a Google Developer expert

8
00:00:42,719 --> 00:00:46,759
Angular and right now I'm just doing
independent consulting, so helping out a couple

9
00:00:46,799 --> 00:00:51,479
of clients here in Denver, and
also Lucas ruble Key out of Phoenix kind

10
00:00:51,479 --> 00:00:54,679
of doing a project with him right
now as well. So mainly focused on

11
00:00:54,759 --> 00:00:58,439
Angular, but I certainly do a
lot of full stack development with node and

12
00:00:58,560 --> 00:01:03,240
nests as well. So nice yeah
man. And I was going to ask,

13
00:01:03,280 --> 00:01:06,799
is your is that workshop the Cypress
that you did, Is that going

14
00:01:06,840 --> 00:01:10,359
to be available online? The webinar
or the workshop? The webinar? The

15
00:01:10,400 --> 00:01:11,879
webinar is going to be available online, although I think we're going to do

16
00:01:11,879 --> 00:01:15,760
the webinar again a couple more times. But if we have the workshop coming

17
00:01:15,799 --> 00:01:19,120
up on July seventh and eighth,
that will also be available online for people

18
00:01:19,200 --> 00:01:23,319
to buy the workshop, but it's
a full day cypress workshop. I'm doing

19
00:01:23,359 --> 00:01:26,319
a little selfless plug here while we're
talking about about it. But yeah,

20
00:01:26,359 --> 00:01:29,319
I think the webinar, we're going
to make it an available online for people,

21
00:01:29,359 --> 00:01:30,959
but I think we're going to do
it a couple more times too.

22
00:01:30,040 --> 00:01:34,560
How far out are we on our
publishing? Were a few weeks just to

23
00:01:34,680 --> 00:01:42,760
correct it wasn't a selfless plug.
It was a shameless Yeah. If anything,

24
00:01:42,840 --> 00:01:47,480
it was selfish. But it's notice
how if you use a word that

25
00:01:47,599 --> 00:01:51,480
sounds right but is wrong, it
totally changes what things mean. Right,

26
00:01:51,560 --> 00:01:53,480
Yeah, yeah, yeah, right, yeah, right. Well, if

27
00:01:53,519 --> 00:01:59,719
I say shamish, that's just a
Scottish person, but if I say slish,

28
00:02:00,480 --> 00:02:04,439
it's different. You're right, shameless
plug. Bro. It's like when

29
00:02:04,439 --> 00:02:07,239
I talk about my fat free twinkies. They're not fat free, but if

30
00:02:07,280 --> 00:02:10,479
I say that, it totally changes. Yeah, they might be trans fat

31
00:02:10,520 --> 00:02:16,800
free. Well, let's get to
our guest we have on the show,

32
00:02:17,120 --> 00:02:22,639
another Google developer expert, Michael print
Is. Mike, can you introduce yourself

33
00:02:22,719 --> 00:02:27,240
to everybody. Hey, I'm Michael
Prentiss. I am in central Florida on

34
00:02:27,280 --> 00:02:31,800
the beach on the East Coast,
and I run a small consulting company,

35
00:02:31,960 --> 00:02:37,560
Devon Tante, and I spend a
lot of my time lately as a contributor

36
00:02:37,639 --> 00:02:42,400
on the Angular Components team, the
lead maintainer of angular jass material, so

37
00:02:42,479 --> 00:02:47,159
the previous version, and so I'm
keeping that alive and stable and mature and

38
00:02:47,479 --> 00:02:53,039
fixing accessibility and performance and things like
that, as well as working on making

39
00:02:53,080 --> 00:02:57,159
sure all the use cases around upgrade
work so you can have a nice upgrade

40
00:02:57,560 --> 00:03:01,120
angular material. Now, my understanding
is the East Coast is the worst of

41
00:03:01,159 --> 00:03:06,479
the two coasts. Is that true
or false? Well, it depends on

42
00:03:06,520 --> 00:03:08,840
what you want to do. There's
not really any surfing on the West coast,

43
00:03:08,879 --> 00:03:14,360
so I'm here for the waves and
some surfing, some rocket launches.

44
00:03:14,479 --> 00:03:17,120
That's a good point. If you
just want sort of waste deep water that's

45
00:03:17,199 --> 00:03:22,479
kind of just stagnant and you know, pretty then the West Coast is great,

46
00:03:23,159 --> 00:03:25,560
but it's ptter too. Are we
good to call you by your usual

47
00:03:25,639 --> 00:03:30,400
nickname? Point Break? Is that
is that fine? Never heard that one?

48
00:03:32,719 --> 00:03:37,439
I love point Break? So so
let me let me ask a question

49
00:03:37,960 --> 00:03:43,639
when as you introduce yourself. I
know that angular js is in long term

50
00:03:43,680 --> 00:03:49,759
support on version one dot seven and
one dot two technically is still in long

51
00:03:49,840 --> 00:03:53,639
term support too, since that's the
last version that supported I eight, So

52
00:03:53,680 --> 00:03:59,479
I know those are technically in long
term support, meaning but they get very

53
00:03:59,520 --> 00:04:04,199
little. So how much love does
angular jazz material get like it sounds like

54
00:04:04,680 --> 00:04:11,360
you're actively doing it. Yeah,
so angular js is in long term support,

55
00:04:11,439 --> 00:04:14,319
and you know, they've had a
few releases come out with some little

56
00:04:14,360 --> 00:04:17,879
fixes here and there, fixing some
regressions. One dot seven eight is a

57
00:04:17,959 --> 00:04:21,199
recent one. I think the LTS
is about one dot seventy five, so

58
00:04:21,240 --> 00:04:26,399
there's been a few small patch releases. But yeah, there's no like if

59
00:04:26,439 --> 00:04:29,360
you open an issue or open a
bug. For the most part, they're

60
00:04:29,399 --> 00:04:33,160
not really accepting those. So if
you want to make some major change angler

61
00:04:33,240 --> 00:04:36,519
js, they're kind of recommending,
you know, it's safe to pork it.

62
00:04:38,000 --> 00:04:41,000
There's not a lot of things going
on, so if you did need

63
00:04:41,000 --> 00:04:45,040
to pull a few things in you
could. For angular js material, we

64
00:04:45,160 --> 00:04:48,800
started a good deal after angler js
started, and we have we're built on

65
00:04:48,879 --> 00:04:53,160
top of that. So we've kind
of been you know, catching up,

66
00:04:53,360 --> 00:04:57,839
and we have a lot of components
and we want to make the components a

67
00:04:57,839 --> 00:05:01,680
bit more mature and accessible before we
kind of say, you know, LTS

68
00:05:01,720 --> 00:05:05,800
is ready to go. These are
stable and completely done. So yeah,

69
00:05:05,839 --> 00:05:10,560
we are working. You know,
it's basically just me and you know a

70
00:05:10,639 --> 00:05:15,639
number of community contributors that are still
still working on things fixing. A lot

71
00:05:15,639 --> 00:05:18,800
of people are still using it.
I think we have fifty thousand downloads on

72
00:05:18,879 --> 00:05:23,600
MPM a months, but then a
lot of users strong script tags and UMD

73
00:05:23,879 --> 00:05:29,639
and also power yeah, because it's
still from back in the day when that

74
00:05:29,759 --> 00:05:32,680
was the thing, right yep.
Yeah, So we support this wide range

75
00:05:32,720 --> 00:05:36,480
of like script tags all the way
to now in our builds. We don't

76
00:05:36,519 --> 00:05:40,680
publish or talk about it a lot, but we do actually put our builds

77
00:05:40,680 --> 00:05:45,839
out into like closer modules and there's
quite a bit of modularity there that if

78
00:05:45,879 --> 00:05:48,079
you needed it, you could go
and grab it. But Mike, to

79
00:05:48,079 --> 00:05:54,879
be clear, Angular JS material is
not it hasn't been like an LTS or

80
00:05:54,920 --> 00:05:58,720
deprecator or anything. Right, You're
still it's still being actively maintained. Correct.

81
00:05:59,000 --> 00:06:02,199
We are you know, evaluating and
we've got a one dot two dot

82
00:06:02,240 --> 00:06:06,959
O release that we're kind of looking
at. Okay, but it's kind of

83
00:06:08,240 --> 00:06:11,040
where that's sort of in limbo as
we try to you know, get the

84
00:06:11,120 --> 00:06:16,240
high priority issues and accessibility fixed and
the nice breaking changes around like aligning with

85
00:06:16,360 --> 00:06:21,959
Material Design Speck, but does break
Google internal and that's sort of a problem,

86
00:06:23,079 --> 00:06:25,480
so we're trying to figure out how
to deal. You still have Do

87
00:06:25,480 --> 00:06:29,439
you still have customers inside of Google? Yeah? A lot, I bet.

88
00:06:29,680 --> 00:06:31,879
We have to go through the whole
presubmit process, so we're working with

89
00:06:31,959 --> 00:06:35,720
different teams as you know, issues
are found, and you know, we've

90
00:06:35,720 --> 00:06:40,639
had a few contributors from inside of
Google who wanted to add something. We

91
00:06:40,720 --> 00:06:45,399
just recently had a we have our
autocomplete. It only does virtual repeat,

92
00:06:45,680 --> 00:06:48,720
which means that all the items have
to be the same size. But we

93
00:06:48,800 --> 00:06:54,160
got a contribution from inside Google to
make variable height there. So it doesn't

94
00:06:54,279 --> 00:06:58,360
use virtual scrolling, so it's not
as performance, but you do get your

95
00:06:58,639 --> 00:07:06,480
variable height. So so it was
sounding like Angular Jazz material project, what's

96
00:07:06,560 --> 00:07:11,199
kind of fully run by the community, But since there's so much dependency on

97
00:07:12,160 --> 00:07:15,680
at Google, is it is it
still a Google project? Like are you?

98
00:07:15,920 --> 00:07:18,439
Are you working with the team at
Google, Mike. Yes, yes,

99
00:07:18,560 --> 00:07:23,319
I'm on the Angular component's team.
I work with Jeremy and the rest

100
00:07:23,319 --> 00:07:28,079
of the team, the caretakers and
whatnot, go through that the full process

101
00:07:28,199 --> 00:07:31,720
of pre submitting and running tests and
screen shot tests against all Google and so

102
00:07:32,240 --> 00:07:36,519
like analytics. A lot of their
products are using their Jazz, material Cloud

103
00:07:36,720 --> 00:07:40,879
and fire based. You know.
It's it's like because a lot of those

104
00:07:40,959 --> 00:07:43,800
a lot of those apps are still
in a hybrid state right where they're moving

105
00:07:43,839 --> 00:07:47,839
them over from Anglo jazs Angular.
Yeah. Yeah, and there's a lot

106
00:07:47,839 --> 00:07:53,439
of apps that are just Angular JS
and they're not you know, there's no

107
00:07:53,720 --> 00:07:57,279
major reason to move them. A
lot of internal apps and things like that.

108
00:07:57,519 --> 00:08:01,959
Interesting. Yeah, it is interesting. I didn't know that. That's

109
00:08:01,000 --> 00:08:05,120
good to know. Well, that's
kind of fun being on the components team.

110
00:08:05,279 --> 00:08:09,519
Yeah. I try to help out
with you know, the main components

111
00:08:09,680 --> 00:08:13,360
REPO, CDK and material when I
can, but limited time. Mostly I

112
00:08:13,399 --> 00:08:18,800
just help a little with schematics and
some triage. I also help with the

113
00:08:18,879 --> 00:08:22,319
CLI documentation. Yeah, you were
helpful with helping me a little bit with

114
00:08:22,319 --> 00:08:28,120
schematics, right, and so I
certainly appreciate all that you've done there.

115
00:08:28,839 --> 00:08:31,399
Yeah, I did some projects in
the past with enterprise customers, so I

116
00:08:31,720 --> 00:08:35,879
dug into schematics a bit. Yeah, it's fun interested in that area.

117
00:08:37,120 --> 00:08:39,480
We're not here to talk about schematics. So we're talking about migrating angular jas

118
00:08:39,600 --> 00:08:46,600
to angular or excuse me, migrating
angular jazz material to angular material. Sorry,

119
00:08:46,679 --> 00:08:48,840
let me get that clear. Yeah, so are we talking about migrating

120
00:08:48,879 --> 00:08:54,120
angular jazz material to angular or migrating
an app that uses angular JS material to

121
00:08:54,240 --> 00:09:01,759
angular material? Yeah? Like what
are we talking about? So in the

122
00:09:01,840 --> 00:09:05,879
past, we've had an angular io. There's a guide for enng up grade,

123
00:09:07,360 --> 00:09:11,080
so you got to get your angular
jass app up to Angular. But

124
00:09:11,600 --> 00:09:18,840
if anyone's ever tried it and they
use angular jazz material, it's just just

125
00:09:18,919 --> 00:09:22,080
easy, like it's not even very
hard. Yeah, it's it's like a

126
00:09:22,080 --> 00:09:26,679
one page doc, right, Yeah, and you just followed instructions that are

127
00:09:26,720 --> 00:09:35,480
perfectly perfectly there's no holes and super
simple copy paste. Isn't it just energy

128
00:09:35,559 --> 00:09:41,320
upgrade? Don't you just run a
command I wish, I wish this is

129
00:09:41,360 --> 00:09:45,879
a series of short stack overflow articles
and then you're done. Okay, all

130
00:09:46,000 --> 00:09:52,480
right, so you go into the
pit of despair and you decide that you're

131
00:09:52,519 --> 00:09:58,440
gonna upgrade, which is actually I
say that it's it's better to upgrade than

132
00:09:58,480 --> 00:10:01,919
it is to like go to another
framework. In my opinion, it's better

133
00:10:01,919 --> 00:10:05,919
to upgrade to Angular. It's cheaper, but it does have that initial like

134
00:10:07,440 --> 00:10:09,440
I got to set it up.
That initial setup is like a punch in

135
00:10:09,480 --> 00:10:13,000
the neck, right, Yeah,
And there's a bit of in the beginning

136
00:10:13,000 --> 00:10:16,399
about like how do I wrap my
arms around this? Like what are all

137
00:10:16,440 --> 00:10:18,799
the things that I need to do? And how am I going to plan

138
00:10:18,879 --> 00:10:24,960
and estimate this? Yeah, because
most people doing this, they've been doing

139
00:10:24,960 --> 00:10:28,240
Angular Jazz for probably not an insignificant
amount of time. They don't they don't

140
00:10:28,279 --> 00:10:33,799
have the some of them have webpack
experience or well they'll have some other types

141
00:10:33,840 --> 00:10:35,919
of experience, but others don't,
right, Like, so it's a massive

142
00:10:37,000 --> 00:10:39,960
upgrade, Like depending on where you're
at, there's a lot of different steps

143
00:10:41,000 --> 00:10:43,879
involved, and you know, you
can get a long way into it.

144
00:10:45,360 --> 00:10:48,519
You you know, you can upgrade
to some components, you can upgrade to

145
00:10:48,600 --> 00:10:52,440
type scripts and web pack, and
you won't feel any of the pain of

146
00:10:52,600 --> 00:10:58,000
hitting some of the Angular Jazz material
stuff until you're you know, halfway through

147
00:10:58,039 --> 00:11:01,480
it and then you try to you
know, go into hybrid mode and you

148
00:11:01,519 --> 00:11:07,480
can run into some issues. So
there's sorts of upgrade. There's sort of

149
00:11:07,480 --> 00:11:11,639
the NG upgrade and then there's the
NG upgrade lights, which now it's upgrade

150
00:11:11,679 --> 00:11:16,720
static I think it's called there's different
terms around it, but it's basically are

151
00:11:16,759 --> 00:11:22,360
you using upgrade module or downgrade module? And so with upgrade module, Angular

152
00:11:22,440 --> 00:11:28,519
Jass material is not going to be
happy if you're using the upgrade Okay,

153
00:11:28,840 --> 00:11:33,320
so you're you're gonna want to use
the downgrade and downgrade the angular version.

154
00:11:35,720 --> 00:11:37,799
Is that what you're saying? Like, yeah, so there's a whole guide.

155
00:11:37,919 --> 00:11:43,120
It's it's actually called upgrading for performance
on Angular io, and that goes

156
00:11:43,159 --> 00:11:46,799
through using the downgrade module, and
that is sort of the process you want

157
00:11:46,840 --> 00:11:52,120
to follow for Angular jass material compatibility
as well as you know, improved performance.

158
00:11:52,759 --> 00:11:58,320
I'm really ignorant to this material piece
of the upgrade. I've done an

159
00:11:58,399 --> 00:12:03,080
upgrade, but the material piece,
I'm like totally ignorant. But it's actually

160
00:12:03,639 --> 00:12:07,679
even more money than Google saving you
by offering this, like the fact that

161
00:12:07,720 --> 00:12:13,960
I can downgrade Angular material components to
be run in Angular JS, Like that's

162
00:12:15,399 --> 00:12:20,720
that's a phenomenal cost savings. Anyway, it sounds like it's probably also not

163
00:12:20,919 --> 00:12:26,200
trivial. It's not. It's not
trivial, but I'm putting together a stack

164
00:12:26,240 --> 00:12:28,759
blitz. It kind of shows how
to do it, but it's it's it's

165
00:12:28,840 --> 00:12:31,480
one piece, you know, so
you kind of have to have already gotten

166
00:12:31,559 --> 00:12:37,159
to webpack and things like that.
So yeah, there's some different things.

167
00:12:37,320 --> 00:12:39,960
You got to have to set up
some facades and you set up you know,

168
00:12:41,000 --> 00:12:43,559
your downgrade module and you connect everything
up. But then once you have

169
00:12:43,720 --> 00:12:48,000
that, as long as you sort
of play within the right sandboxes, you

170
00:12:48,159 --> 00:12:54,559
are able to put you know,
Angular material components angular material components in the

171
00:12:54,600 --> 00:12:58,559
same app on the same page and
actually community cool. Do you provide like

172
00:12:58,639 --> 00:13:07,200
some some downgrade helpers that will help
keep the APIs that the Angular JS apps

173
00:13:07,200 --> 00:13:11,879
are using able to work with the
APIs of the new Angular material components?

174
00:13:11,919 --> 00:13:16,480
Like, are you providing additional support
because I'm I know you don't have the

175
00:13:16,519 --> 00:13:18,960
same APIs in the new version that
you did in the old version, So

176
00:13:20,000 --> 00:13:26,440
are you providing that transfer layer like
thing? No, nothing, nothing quite

177
00:13:26,519 --> 00:13:33,120
like that. We don't really add
any any specific APIs other than we just

178
00:13:33,200 --> 00:13:37,600
allow you know, our angular just
material APIs to work and then you can

179
00:13:37,639 --> 00:13:41,039
bring in the angular material and those
will work. So that's one of the

180
00:13:41,120 --> 00:13:46,679
big sort of issues, is like
you can't just convert like a toolbar to

181
00:13:46,759 --> 00:13:50,120
a toolbar, Like you can't go
MD to MATT and it will just work.

182
00:13:50,519 --> 00:13:54,519
Yeah, you can't just do MD
to MATT and then everything's working now

183
00:13:54,799 --> 00:14:00,639
because some of the elements have gone
to the CDK and some of them have

184
00:14:00,720 --> 00:14:05,320
gone to material and like our layout
system was completely pulled out into you know

185
00:14:05,720 --> 00:14:11,120
a number of separate things. Yeah, got it. So you can't you

186
00:14:11,120 --> 00:14:16,360
can't just it's not a one to
one no, And so we put together

187
00:14:16,440 --> 00:14:22,399
this migration guide now it's on it's
published now to the material Angular jested org

188
00:14:22,399 --> 00:14:26,240
slash migration. So we've got a
guide now that will break you through and

189
00:14:26,399 --> 00:14:31,240
it'll walk you through and it'll show
you like these things map one to one.

190
00:14:31,399 --> 00:14:33,080
The name is a little different,
but here's the links to both of

191
00:14:33,120 --> 00:14:37,000
the docks, so you can go
look at the APIs and then we also

192
00:14:37,039 --> 00:14:43,600
break down some of the bigger changes
like theming, layout, typography and just

193
00:14:43,039 --> 00:14:46,559
know how those work. What are
the features that are supported in the two

194
00:14:46,639 --> 00:14:52,279
different? Because it's not complete feature
parody. So if I want to downgrade,

195
00:14:52,519 --> 00:14:56,519
like if instead of doing an MD
button and I want to I want

196
00:14:56,519 --> 00:15:01,200
to use the map button, they
should look largely the same. But I

197
00:15:01,240 --> 00:15:05,840
can't just rename it to Matt button
and expect everything to work. I have

198
00:15:07,000 --> 00:15:11,159
to do a lot of stuff.
It sounds like, like what's involved in

199
00:15:11,240 --> 00:15:13,840
like just doing like one component with
a button, and like, what do

200
00:15:13,879 --> 00:15:16,000
I have to do in that component? It's a good question if it's just

201
00:15:16,039 --> 00:15:20,840
a button, Yeah, you gotta
change the name. And we've got a

202
00:15:20,840 --> 00:15:26,200
little bit different syntax as well,
because we've got like Matt raised buttons,

203
00:15:26,240 --> 00:15:31,639
so we use the attributes instead of
a class in some cases. Additionally,

204
00:15:31,759 --> 00:15:35,600
the data binding will be a little
different if you're doing anything there, and

205
00:15:37,720 --> 00:15:41,200
the padding and the spacing will be
a little different. Most of the behavior

206
00:15:41,240 --> 00:15:43,240
will be similar, but there may
be a little bit of a padding in

207
00:15:43,279 --> 00:15:46,759
space, get some looking field changes. It sounds like, yeah, you

208
00:15:46,879 --> 00:15:50,840
need to, you know, check
your CSS and make some adjustments. So

209
00:15:52,600 --> 00:15:56,120
I'm guessing because I asked this,
and maybe I didn't askiade like when you

210
00:15:56,159 --> 00:16:00,679
take an angular two components and you're
going to downgrade it, you have to

211
00:16:00,720 --> 00:16:03,960
wrap it in that downgrade component function. Right, that kind of takes it

212
00:16:04,000 --> 00:16:08,759
and says, oh Angular, Jess
understands you. You know, now,

213
00:16:10,360 --> 00:16:14,639
do I have to manually do that? Or are you providing the downgrader.

214
00:16:14,919 --> 00:16:18,360
I'm going to call it a downgrader
because I'm not in I'm not part of

215
00:16:18,360 --> 00:16:22,919
your world, bru, and I
don't understand what they're called. So are

216
00:16:22,919 --> 00:16:25,840
you providing me the downgrader for the
button or do I have to like,

217
00:16:25,919 --> 00:16:27,720
oh, button, I gotta go
down and then then I gotta do my

218
00:16:27,759 --> 00:16:30,600
I gotta write my own downgrader thing. No, you don't have to do

219
00:16:30,639 --> 00:16:34,799
your own downgrader thing with When you
do your Angular JSS module, do you

220
00:16:34,919 --> 00:16:40,519
kind of you put in there like
downgrade module and then you hook in your

221
00:16:40,759 --> 00:16:45,759
bootstrapped your Angular module and then you
need to register your components and directives.

222
00:16:47,039 --> 00:16:52,799
So in this case, you would
register your Angular components as directives. So

223
00:16:52,879 --> 00:16:56,840
you tell it the selector and then
you say downgrade component and then you just

224
00:16:56,879 --> 00:17:03,480
give it the class of the the
Angular component. Yeah, so that's what

225
00:17:03,519 --> 00:17:07,359
you do for your actual components.
You don't actually need to go and do

226
00:17:07,400 --> 00:17:11,279
that for like Matt toolbar class or
anything like that. Okay, so the

227
00:17:11,319 --> 00:17:15,599
button, the buttons one of the
easier ones. It sounds like I got

228
00:17:15,640 --> 00:17:21,720
to change a couple binding syntaxes,
but largely I think I'm hoping that people

229
00:17:21,720 --> 00:17:25,440
on the podcast are like imagining.
Okay, largely, the button is going

230
00:17:25,519 --> 00:17:30,680
to take me a nominal amount of
time per button, right, there's no

231
00:17:30,880 --> 00:17:33,480
there's no finding replaced schematic type thing
for this. So it's gonna take me

232
00:17:33,480 --> 00:17:37,240
a nominal amount of time per button. What are the ones that are like,

233
00:17:37,680 --> 00:17:41,799
it's not one to one because the
MAT's like it's the button is one

234
00:17:41,839 --> 00:17:45,119
to one. You're changing from button
to button and you're done. What are

235
00:17:45,119 --> 00:17:48,279
the ones that aren't but one to
one? The calendar that one of them,

236
00:17:48,559 --> 00:17:52,279
or like well, for for date
picker, there is a date picker,

237
00:17:52,640 --> 00:17:59,160
so there you know that's comparable.
Okay, there's actual an emty calendar,

238
00:17:59,319 --> 00:18:04,200
which is like the actual calendar the
month few and other material doesn't expose

239
00:18:04,279 --> 00:18:08,279
that, so you wouldn't want to
migrate that piece. You have to keep

240
00:18:08,279 --> 00:18:12,240
that, you know, in the
hybrid mode until you find another solution.

241
00:18:12,359 --> 00:18:18,000
For now, So you're saying the
angular jazz has a calendar. Angular aular

242
00:18:18,079 --> 00:18:22,480
jets material has a calendar, and
there isn't one in angular materials what you're

243
00:18:22,480 --> 00:18:27,200
saying, correct, So that's a
calendar. Yep. Actually in some cases

244
00:18:27,279 --> 00:18:32,000
the combination is better because a lot
of people on a adjust material they really

245
00:18:32,079 --> 00:18:36,160
need a table. Oh and there's
really nothing whereas you can bring in the

246
00:18:36,200 --> 00:18:41,759
CDK table or the angular material table
have your whole anger material app but then

247
00:18:41,839 --> 00:18:47,039
boom, you've got an angular material
table and you're good to go. Boom.

248
00:18:47,359 --> 00:18:49,599
Nice. So there's benefits that way, and then you know as far

249
00:18:49,640 --> 00:18:56,160
as what's not so like md panel
goes to the CDK. Now that's overlay.

250
00:18:56,319 --> 00:19:03,160
There's like virtual repeat that's handled and
the Virtual four for CDK there's we

251
00:19:03,240 --> 00:19:08,279
have some live announces brand new right
yeah, it's just under a year old.

252
00:19:08,359 --> 00:19:15,640
I think virtual repeat the CDK Virtual
four kind of the thing. But

253
00:19:17,200 --> 00:19:19,400
there's a bunch of different attributes and
things that you can use with it.

254
00:19:22,400 --> 00:19:26,559
Yeah, and then accessibility and like
bide ie stuff those are also in the

255
00:19:26,559 --> 00:19:33,400
CDK. And then the layout is
really sort of it splits off like you

256
00:19:33,400 --> 00:19:37,400
can do really simple lightweight layout with
the CDKS layout Okay, you do some

257
00:19:37,440 --> 00:19:42,000
responsive breakpoints, and you can you
know, do that in typescript as well

258
00:19:42,039 --> 00:19:45,880
as in your templates. But then
if you want sort of the full on

259
00:19:47,319 --> 00:19:52,200
like material you know, Angular Jazz
material layout system, that kind of got

260
00:19:52,240 --> 00:19:56,599
poarded over to Angular flex Layout mm
hm, the whole library, and they've

261
00:19:56,640 --> 00:20:03,640
actually added grid support and that's sort
of a heavy weight, full layout system.

262
00:20:04,119 --> 00:20:07,480
But that adds just like our layout
we you know, when we do

263
00:20:07,559 --> 00:20:12,240
our layout and Angular Gestion care,
we generate a ton of CS to handle

264
00:20:12,319 --> 00:20:19,440
every possible container and nested layout and
whatnot. And when you say generate,

265
00:20:19,680 --> 00:20:25,400
that's on runtime, right, you're
generating all that CSS. Yeah. Yeah,

266
00:20:25,440 --> 00:20:33,359
so you'll see in your project like
a mass and so they've improved upon

267
00:20:33,480 --> 00:20:36,680
that, but it's still like it
has to do a lot of work and

268
00:20:36,680 --> 00:20:40,880
solve a lot of problems. So
I put in our migration guide some details

269
00:20:40,920 --> 00:20:45,839
about kind of the bundle size impact
you're looking at. It really depends on

270
00:20:45,920 --> 00:20:49,599
if you're just using Flexbox. If
you're using Flexbox Angrid, so as you

271
00:20:49,720 --> 00:20:53,119
use it's all modular. So if
you just use a few features, you

272
00:20:53,119 --> 00:20:56,279
get a smaller hit. But like
if you use everything, I think you

273
00:20:56,359 --> 00:21:00,920
can get up to like sixty kb
just dad like the flex layout with all

274
00:21:02,240 --> 00:21:06,559
the features. Wow. So is
that the recommended approach or do you recommend

275
00:21:06,640 --> 00:21:12,000
just writing your own you know,
s CSS with flex Flexbox and CSS grade.

276
00:21:12,440 --> 00:21:15,480
Yeah, it depends if if you
want to get some of the responsive

277
00:21:15,799 --> 00:21:19,799
features and some of the reactive like
observable APIs and stuff, you can use

278
00:21:19,799 --> 00:21:26,359
a CDK layout that's just like a
three KB MOMP. So it's pretty small,

279
00:21:26,839 --> 00:21:30,359
yep, but you don't have all
the attributes and all the other things.

280
00:21:30,880 --> 00:21:33,200
So that's an option. But yeah, for a lot of apps and

281
00:21:33,279 --> 00:21:38,039
a lot of cases, flex box
and grid just CSS is sort of the

282
00:21:38,960 --> 00:21:44,319
recommended way to do it. We
have links in here for flex Box Zombies,

283
00:21:44,400 --> 00:21:48,279
Flexbox Froggy, places where you can
go and you know learn, you

284
00:21:48,319 --> 00:21:51,960
know how to use these and cut
out the need for you know, a

285
00:21:52,079 --> 00:21:57,160
jobscript library since you can write that
CSS. Yeah, just use the platform.

286
00:21:57,680 --> 00:22:00,200
Yeah, man, Joe, remember
we were talking about this stuff the

287
00:22:00,240 --> 00:22:06,799
other day and you had you had
a bunch of questions, right, tons,

288
00:22:07,240 --> 00:22:08,920
tons, I mean there's so many
I can't even I can't even keep

289
00:22:08,960 --> 00:22:12,279
them straight. But you forgotten them. Well, I forgot like there's there.

290
00:22:12,279 --> 00:22:18,599
They're just jumbled, like you know, what is and who is and

291
00:22:18,640 --> 00:22:22,839
how is It's just a big question, just a big question. What isn't

292
00:22:22,240 --> 00:22:29,759
not? What is it not?
What isn't not? Yeah, that's a

293
00:22:29,839 --> 00:22:33,319
new question. Yeah, Like I
do have a few questions about just how

294
00:22:33,359 --> 00:22:38,160
you're handling supporting people that are actually
doing upgrades and all the crazy scenarios that

295
00:22:38,160 --> 00:22:41,319
they're coming up with, like oh, I'm trying to do this and this

296
00:22:41,400 --> 00:22:44,480
isn't work and I'm trying to do
this. Like for me when I was

297
00:22:44,720 --> 00:22:49,720
I spent I think eight years of
my life roughly with on ENNG upgrade eight

298
00:22:51,200 --> 00:22:56,519
eight around eight around eight? Uh
yeah, crator, did you mean on

299
00:22:56,480 --> 00:22:59,519
an angular JS? No, no, no energe upgrade. But here's about

300
00:22:59,519 --> 00:23:02,960
it my life. That's sort of
feels like I'm just like going off feel

301
00:23:03,119 --> 00:23:04,799
I don't really, I don't really
believe in Like I didn't have a calendar

302
00:23:04,839 --> 00:23:11,960
control really like relative years. Yeah, I hadn't implemented the calendar control when

303
00:23:11,000 --> 00:23:15,519
I had started tracking, so I
wasn't I'm not one hundred percent sure on

304
00:23:15,559 --> 00:23:18,920
the exact but it's about eight years. But when you do an upgrade,

305
00:23:18,079 --> 00:23:22,000
you know, jobs troup with math
it's eight years, but there might be

306
00:23:22,039 --> 00:23:25,640
a rounding error in there. You
might want to convert that to weasm bro,

307
00:23:25,839 --> 00:23:30,720
you might GI. But when you're
doing upgrades, that was one I

308
00:23:30,759 --> 00:23:34,319
did a lot of work with upgrades
and man number one question with people,

309
00:23:34,319 --> 00:23:38,119
well not number one, but one
of the very common question was material Right,

310
00:23:38,240 --> 00:23:41,839
Like, I look at this and
I just think, oh my gosh,

311
00:23:41,920 --> 00:23:47,759
if I'm migrating from a material angular
JASS app to a material angular app,

312
00:23:47,960 --> 00:23:52,559
there's so many like controls that just
still aren't in material angular. What

313
00:23:52,599 --> 00:23:56,400
do you tell people to do?
Like just from a high level strategy standpoint,

314
00:23:56,359 --> 00:24:00,119
it really depends on their you know, final goal and you know the

315
00:24:00,160 --> 00:24:04,640
size of the app and whatnot.
I think for a lot of you know,

316
00:24:04,720 --> 00:24:08,079
a lot of teams, it's just
bring in the angular stuff, you

317
00:24:08,119 --> 00:24:11,720
know, the angular material stuff.
Get the benefits of that, and and

318
00:24:11,880 --> 00:24:15,400
you know, add your new components
you know in that. I think,

319
00:24:15,480 --> 00:24:18,920
you know, from what I've heard
talking to people even within Google as well,

320
00:24:19,319 --> 00:24:22,039
that seems to be what they're doing
a lot of is you know,

321
00:24:22,119 --> 00:24:26,480
as we add a new component,
we'll do it in an angular in the

322
00:24:26,519 --> 00:24:30,279
new angular angular material we'll use the
CDK, but you know, we we

323
00:24:30,359 --> 00:24:34,640
have enough of a look and feel
similarity that the UI will work together.

324
00:24:34,759 --> 00:24:38,839
Maybe if you'll see us a squeaks. But so just leave the angular jas

325
00:24:38,880 --> 00:24:44,799
material stuff in angular jas material and
focus on the future building with the angular

326
00:24:44,799 --> 00:24:48,599
material if you can. It really
depends on your use case. If you

327
00:24:48,720 --> 00:24:52,279
know all of the you know the
fine, you know, the small,

328
00:24:52,400 --> 00:24:55,319
the performance, all the stuff the
angular gives you, then you might be

329
00:24:55,359 --> 00:25:03,279
more motivated to you know, just
come into Joe's question. As Joe,

330
00:25:03,319 --> 00:25:08,079
as you asked that, I'm staying. Yeah, well you eloquently stated it.

331
00:25:08,599 --> 00:25:11,079
I'm sitting there imagining, you know
that scenario where it's like, all

332
00:25:11,160 --> 00:25:17,799
right, imagine that you have an
app that's written in angular jazz and an

333
00:25:17,839 --> 00:25:22,640
you jest material and you have to
upgrade it to something else, right Joe,

334
00:25:22,960 --> 00:25:26,599
mm hmm exactly. Well, if
you if you don't use NG upgrade

335
00:25:27,400 --> 00:25:33,359
and you don't go to angular jezz
material or angular material angular thing material,

336
00:25:33,960 --> 00:25:40,599
you have to manually do all this
upgrade stuff anyway, like you have to.

337
00:25:41,240 --> 00:25:44,400
There's no NG upgrade support for you. Like let's say you're gonna go

338
00:25:44,440 --> 00:25:47,559
to a view or spelt or react
or you know whatever, pick your pick

339
00:25:47,559 --> 00:25:51,119
your fa your jobs. So even
though as crazy as it sounds, and

340
00:25:51,200 --> 00:25:56,519
as as like Mike's talking about the
many to one and the random spacing problems,

341
00:25:56,559 --> 00:26:03,640
and there's not a parody on imagine
doing all that without a whole entire

342
00:26:03,680 --> 00:26:06,960
team of people supporting you, Like, it's even as hard, as as

343
00:26:07,039 --> 00:26:10,200
hard as it sounds, and as
hard as Mike is like saying, hey,

344
00:26:10,440 --> 00:26:14,200
it's not trivial. It's not trivial, because it isn't and he's not

345
00:26:14,279 --> 00:26:17,160
lying. But as hard as it
sounds, and as hard as it actually

346
00:26:17,240 --> 00:26:18,920
is, and as much as it's
gonna cost you to actually do it,

347
00:26:18,920 --> 00:26:23,200
it's still cheaper than if you are
like, all right, I'm gonna go

348
00:26:23,279 --> 00:26:30,960
another route to another thing that has
absolutely no pavement for me to just walk

349
00:26:30,039 --> 00:26:33,839
down, you know what I'm saying, Like I gotta all up myself.

350
00:26:33,279 --> 00:26:37,279
Sorry. Here kind of provides the
glue there. But if you go to

351
00:26:37,440 --> 00:26:41,720
like view or something, you actually
have like three or four different material libraries

352
00:26:41,720 --> 00:26:47,480
to choose from before you even get
started. And then we don't there's no

353
00:26:47,599 --> 00:26:51,640
mapping to tell you, yeah,
how to get there. And as people

354
00:26:51,680 --> 00:26:56,799
who are comfortable with a framework,
which most anulogists people are those people right

355
00:26:56,880 --> 00:27:00,440
where, Well, if you're still
an anulogist, you're not out one of

356
00:27:00,480 --> 00:27:03,759
the I like to just use the
platform. I like to just use Vanilla

357
00:27:03,839 --> 00:27:06,880
jas. People like that's that's generally
not who you are. I realize I'm

358
00:27:06,920 --> 00:27:08,599
generalizing, and I know that's that's
just not a good thing to do.

359
00:27:08,680 --> 00:27:14,279
But so I think that this is
still a comfortable path. I think for

360
00:27:14,359 --> 00:27:18,079
a lot of people, it's a
it's a less even it's a less mountainous

361
00:27:18,119 --> 00:27:21,839
way to go than then. Like
the way Mike just said, let's go

362
00:27:21,920 --> 00:27:25,039
to view and just figure it out
on our own, without any support,

363
00:27:25,160 --> 00:27:27,279
out without any guides. I'm kind
of curious. It seems to me like

364
00:27:27,319 --> 00:27:30,079
this is the number one reason why
a lot of people, the number one

365
00:27:30,079 --> 00:27:33,160
reason why a lot of people don't
upgrade from Angler Jays to Angler is just

366
00:27:33,200 --> 00:27:38,440
the fact that we have this huge
custom component library we've already built. It's

367
00:27:38,519 --> 00:27:42,799
there, it works, it's fantastic, and going to anything else would be

368
00:27:42,880 --> 00:27:48,680
so horrendously painful for us that we
decide not just you know, yeah,

369
00:27:48,920 --> 00:27:52,920
when I say pain, pain is
just money. It's just a euphemism for

370
00:27:52,000 --> 00:27:56,119
money. Yeah, is that what
you say? That's true what I've seen.

371
00:27:56,200 --> 00:28:00,559
Yeah, it's hard to like I
said, it's hard to wrap your

372
00:28:00,680 --> 00:28:03,920
arms around it and really see,
Like how can I pitch this to my

373
00:28:03,039 --> 00:28:07,039
boss? If you know, I
only can tell him and show him.

374
00:28:07,039 --> 00:28:10,559
Oh, I got documentation for the
English jazz piece, but now we are

375
00:28:10,599 --> 00:28:14,880
providing the England jazz material piece,
so that you can bring all of that

376
00:28:14,960 --> 00:28:18,119
and you can say, Okay,
we're gonna we have to do our services

377
00:28:18,160 --> 00:28:22,680
and here's here's the different services with
angular jazz material that map to angular material

378
00:28:22,839 --> 00:28:26,240
and so at least there's a way
for you to like start that analysis and

379
00:28:26,319 --> 00:28:30,960
break it down and chart your own
path. We don't really right now have

380
00:28:30,240 --> 00:28:34,160
like do these components first, or
we don't. We don't have a guideline

381
00:28:34,279 --> 00:28:37,720
you know there, but we have
enough here for you to sort of see

382
00:28:37,759 --> 00:28:41,000
what how you can chart your own
path. We call out some of the

383
00:28:41,039 --> 00:28:47,160
new components that you know you haven't
seen or use, like badge and drag

384
00:28:47,160 --> 00:28:49,640
and drop and things like that,
so you get a preview into that as

385
00:28:49,680 --> 00:28:53,640
well. When I see people like
Joe kind of going to where you're saying,

386
00:28:55,160 --> 00:28:59,599
oh, I'm intimidated. It's too
scary. I don't have the money,

387
00:28:59,680 --> 00:29:02,359
right, whatever, whatever the pain
is, you know, you call

388
00:29:02,440 --> 00:29:04,799
it pain money, that's if you're
a boss, it's money, if you're

389
00:29:04,880 --> 00:29:08,759
if you're a programmer, it's fear. You know, it's imposter scenemos,

390
00:29:08,799 --> 00:29:11,839
whatever. It's a multitude of things
that are that are the pain. Why

391
00:29:11,880 --> 00:29:15,119
you don't do it? But uh, I look at it and I think,

392
00:29:15,400 --> 00:29:19,920
uh, the bare minimum that you
should do. Like, let's say

393
00:29:21,000 --> 00:29:22,680
it's a pain, and I'm not
saying it's not real. It's real.

394
00:29:23,000 --> 00:29:27,440
Okay, I've done it. I
know it's scary. Yeah, you should,

395
00:29:27,480 --> 00:29:33,519
at least, though, put in
angular upgrade so that your new features

396
00:29:33,559 --> 00:29:37,920
can go in Angular. I'm not
talking about rewriting a line of code.

397
00:29:38,079 --> 00:29:44,079
I'm talking about in your in your
worst case scenario. Just tell your team,

398
00:29:44,160 --> 00:29:48,880
Hey, starting this day, everything
is Angular. Everything from here backwards,

399
00:29:49,079 --> 00:29:53,279
we maintain, we upgrade, and
we go forward and angular jests.

400
00:29:53,720 --> 00:30:00,000
But everything new is in Angular.
And we're doing that for these reasons,

401
00:30:00,480 --> 00:30:04,680
save money. Still be able to
recruit, but la, you list them

402
00:30:04,720 --> 00:30:11,319
out. But the people who are
so scared that they won't even like take

403
00:30:11,359 --> 00:30:15,160
the first step that's where that's where
I'm completely lost. Like it reminds me

404
00:30:15,200 --> 00:30:18,480
of this this uh saying from Mark
Twain where he's like, if your task

405
00:30:18,599 --> 00:30:22,480
is to eat frogs, eat him
first thing in the morning. And if

406
00:30:22,519 --> 00:30:25,640
your task is eat big is to
eat two frogs, eat the biggest one

407
00:30:25,640 --> 00:30:29,799
first. Like there there are tasks
that are not fun, they're scary,

408
00:30:29,839 --> 00:30:33,240
they're intimidating, and your imposters from
drunk gets the best of you or your

409
00:30:33,279 --> 00:30:37,480
procrastinator instead of you, you know, whatever it is, whatever part of

410
00:30:37,480 --> 00:30:40,839
you that's like, oh you don't
do it, it gets you, but

411
00:30:41,759 --> 00:30:44,440
you got to change your mentality.
It's like, dude, eat your frogs,

412
00:30:44,480 --> 00:30:47,799
man, eat the biggest frog first, and just just just do something.

413
00:30:48,160 --> 00:30:51,839
The only thing that's worse than then
then then then than a bad idea

414
00:30:51,880 --> 00:30:55,079
is nothing. Like you gotta do
something though, like take it, take

415
00:30:55,079 --> 00:30:57,599
a step in some directions. So
so yeah, that's kind of that's kind

416
00:30:57,599 --> 00:31:03,599
of where I'm at, Mike.
Can you speak to maybe kind of internally

417
00:31:03,640 --> 00:31:07,200
google what they've done. Have they
done something like what Aaron's sane where they're

418
00:31:07,240 --> 00:31:11,839
just like, okay, listen,
we can't rewrite everything that we have in

419
00:31:11,880 --> 00:31:15,119
the you know, the cloud console
or Firebase or whatever it is. But

420
00:31:15,240 --> 00:31:18,599
going forward, we're just going to
write it all in the new Angular and

421
00:31:18,640 --> 00:31:22,680
the new Angular material. Is that
bend the experience or are they? Or

422
00:31:22,759 --> 00:31:27,519
they actually they've got engineers sitting there
just banging out code and Angular and just

423
00:31:27,880 --> 00:31:33,200
you know, going from Angular JAS
to Angular and trying to get Angular JAS

424
00:31:33,400 --> 00:31:37,200
completely. You know, well,
I think you know the reality is that

425
00:31:37,240 --> 00:31:42,680
there's thousands of apps and so they're
doing it all. There's certain apps that

426
00:31:42,720 --> 00:31:48,400
are going completely upgraded. There's certain
apps that they're just doing the new features

427
00:31:48,400 --> 00:31:53,039
and Angular material. Okay, it's
just it depends on the team, the

428
00:31:53,119 --> 00:31:56,440
app et cetera. By all,
do you mean there's also apps that they

429
00:31:56,480 --> 00:32:00,480
are committing hardcores and never upgrading,
Like is that also a thing? I

430
00:32:00,519 --> 00:32:05,559
think he said that, yes,
they're just gonna like whatever it works to

431
00:32:05,640 --> 00:32:08,680
ango JS, it's all good.
Some that just don't make sense and there's

432
00:32:08,720 --> 00:32:14,160
not even a team on it right
there's like someone built it for a you

433
00:32:14,200 --> 00:32:17,799
know, line of business need and
it's still working. Though. I think

434
00:32:17,839 --> 00:32:22,160
developers have a hard time with that
concept of not all developers, but I

435
00:32:22,160 --> 00:32:25,880
think some it's not certainly. Generally, I think people are okay with it.

436
00:32:25,920 --> 00:32:31,640
But I think sometimes people can't see
past the it doesn't make financial sense

437
00:32:31,799 --> 00:32:37,799
to upgrade this thing, you know, and they they they create false urgency.

438
00:32:37,960 --> 00:32:42,200
Like I remember I was on a
team sixty five front of developers and

439
00:32:42,200 --> 00:32:45,839
and one day We've been writing in
you know, jest for years effectively,

440
00:32:46,079 --> 00:32:52,559
right, and one day people just
start saying things like I can't do it,

441
00:32:52,039 --> 00:32:54,480
I can't do this anymore. And
I was just like, what,

442
00:32:55,640 --> 00:33:00,160
Like I've been I worked with you
for the last five years, and you

443
00:33:00,200 --> 00:33:04,359
did it for every day for five
years, like what happened yesterday that we

444
00:33:04,400 --> 00:33:08,039
can't do it today? Like like
it's still like it you say, you

445
00:33:08,079 --> 00:33:13,480
can't be more specific, like you
don't want to cause you could, you

446
00:33:13,519 --> 00:33:15,839
could still do it, you know, And so I don't know. I'm

447
00:33:15,880 --> 00:33:20,440
also very sensitive to the business need
that sometimes it doesn't make sense upgrade,

448
00:33:20,480 --> 00:33:23,400
you know. The other thing they
should be mentioned is LTS for Anglo JS

449
00:33:23,440 --> 00:33:28,279
is out to twenty twenty two.
Twenty one? Oh is it twenty one?

450
00:33:28,400 --> 00:33:31,480
Okay? Can I that's still pretty
far out right, I mean,

451
00:33:32,079 --> 00:33:37,079
if you started today, like let's
talk about Brian you've done an upgrade,

452
00:33:37,279 --> 00:33:39,599
right. Yeah, if you started
today and you weren't like aggressive, you

453
00:33:39,640 --> 00:33:44,200
were just kind of like slowly upgrading, you're going you're gonna go way past

454
00:33:44,400 --> 00:33:46,960
June twenty twenty one. You'd have
to get aggressive. You have to get

455
00:33:47,000 --> 00:33:51,960
aggressive. And I've worked for clients
here on Denver that have huge Anglo JS

456
00:33:51,960 --> 00:33:55,000
apps and they've gone aggressive, and
it's taken them, you know, nine

457
00:33:55,119 --> 00:33:59,720
months, ten months, and they're
just they're just pushing as hard as they

458
00:33:59,720 --> 00:34:04,240
can and they're still doing some feature
development, but they've slowed future development and

459
00:34:04,279 --> 00:34:07,320
they're just like focused on getting rid
of Angular JAS and it's just it's a

460
00:34:07,360 --> 00:34:12,519
lot of work. Yeah, and
we're in June twenty nineteen. If you

461
00:34:12,599 --> 00:34:16,679
started today, I gotta be honest, most people don't hit that twenty twenty

462
00:34:16,679 --> 00:34:22,079
one deadline. Now here's the deal
why I don't care most people in Angular

463
00:34:22,159 --> 00:34:28,480
JS, you're you're only supported if
you're on the latest one dot seven dot

464
00:34:28,679 --> 00:34:30,639
X. Okay, what you said, you're not one. Like, let's

465
00:34:30,639 --> 00:34:36,360
say you're on one dot five.
You're already not supported. So most people

466
00:34:36,440 --> 00:34:39,920
don't care about the support because they
didn't they're not even on one sevens X

467
00:34:39,960 --> 00:34:43,639
they're on you know, one six
or one five. So yep, that's

468
00:34:43,639 --> 00:34:49,599
true. You know, largely,
we really recommend that if possible, you

469
00:34:49,639 --> 00:34:52,679
know, get onto the one tous
seven one to seven eight. If something

470
00:34:52,760 --> 00:34:59,320
does come out and braze and browsers
like break something, then that is the

471
00:34:59,400 --> 00:35:01,119
branch that gonna get the fix.
You'll be able to pull that fix in,

472
00:35:01,480 --> 00:35:05,239
get your app back ount production,
and you're good to go. Whereas

473
00:35:05,280 --> 00:35:07,639
if something breaks are on one point
five, all of a sudden, you've

474
00:35:07,679 --> 00:35:12,800
got a good amount of upgrading to
do to get to one seven before you

475
00:35:12,840 --> 00:35:15,840
can apply that fix. Right,
Imagine Chrome comes out with an update tonight

476
00:35:16,440 --> 00:35:22,199
and Angular one dot two breaks.
Just let's just pretend, Okay, I

477
00:35:22,239 --> 00:35:27,079
don't know, and if you're not
on the latest one doot seven you're not

478
00:35:27,159 --> 00:35:30,960
gonna get fixed. Like it could
be even the Jquerry breaks, and then

479
00:35:31,360 --> 00:35:35,199
you need to get to that version
of ja Querry. You need to upgrade

480
00:35:35,199 --> 00:35:37,880
Angular jass yeah, or could be
exactly. It could be jQuery that breaks

481
00:35:37,920 --> 00:35:42,760
from Chrome update tonight and then you
got to get on three dot zero and

482
00:35:42,880 --> 00:35:45,159
so yeah, like you know,
maybe maybe instead of talking trash, but

483
00:35:45,280 --> 00:35:49,880
let's let's give some recommendations if we
could. Let's let's channel this into a

484
00:35:49,920 --> 00:35:55,800
better topic. If you're on an
Angular JASS app Joseph Eames, and you

485
00:35:55,960 --> 00:35:59,639
want to get ready for an upgrade? Are you want to get ready for

486
00:36:00,039 --> 00:36:02,519
some of the things we're talking about? What are some of the prelim things

487
00:36:02,559 --> 00:36:05,960
you can do to get ready?
I have I have a list in my

488
00:36:06,039 --> 00:36:08,360
head, but there's like some basic
ones and there's some more advanced ones.

489
00:36:08,400 --> 00:36:12,719
What do you what would you guys? Do you're in an Angular JS app?

490
00:36:12,800 --> 00:36:15,360
For everybody? This for everybody that's
in an all Angular JS app right

491
00:36:15,360 --> 00:36:20,960
now, start with your build tool
probably or maybe that's one of the steps,

492
00:36:21,000 --> 00:36:24,079
right, yep, Try and get
your build on web. Okay,

493
00:36:24,639 --> 00:36:30,440
yep, maybe move over to typescript. Certainly use components anger one to five

494
00:36:30,679 --> 00:36:32,719
and certainly get to one seven if
you can, trying to use the one

495
00:36:32,719 --> 00:36:39,719
to five component interface rather than one
the primitive directive interface. Correct, Okay,

496
00:36:40,320 --> 00:36:43,559
what other thing do you hit?
About? All of them? So

497
00:36:43,599 --> 00:36:49,679
we actually link to the prep guide
for the upgrade from our migration guide and

498
00:36:50,159 --> 00:36:52,920
you hit them, you know,
use a module, order, migrate to

499
00:36:53,000 --> 00:36:59,719
type script, use some component directives. There's a little caveat there that MD

500
00:37:00,079 --> 00:37:06,719
dialogue doesn't support components, so those
would still be using controllers. We've got

501
00:37:06,719 --> 00:37:08,960
some plans to fix that at some
point, but it's I don't think it's

502
00:37:09,000 --> 00:37:15,519
the end of the world. You're
still, you know, migrating a controller

503
00:37:15,559 --> 00:37:17,719
to a component. It's it's not
that big of a deal. It's not

504
00:37:19,119 --> 00:37:22,039
as easy just to copy and paste
a few things, but you won't be

505
00:37:22,119 --> 00:37:27,079
copy pasting during the upgrade, and
in this case probably anyway, the one

506
00:37:27,079 --> 00:37:32,239
that you didn't hit is following the
Angular JS style guide. Yeah, yeah,

507
00:37:32,559 --> 00:37:39,000
your code aligned to make the upgrade
smoker. I would also say stop

508
00:37:39,119 --> 00:37:45,880
using third party libraries like j querry, stop using things like low dash,

509
00:37:45,320 --> 00:37:51,320
because they're they're going to make not
necessarily loa Dash specifically, but the third

510
00:37:51,320 --> 00:37:54,960
party integrations are largely going to make
this a lot more difficult, you know.

511
00:37:55,800 --> 00:38:00,280
Now, the more different you know, chart line, libruares and date

512
00:38:00,440 --> 00:38:05,960
time picker, special libraries and a
special select library, all of those are

513
00:38:05,960 --> 00:38:09,559
gonna make grides more complicated. Yep, yep. What else could you do?

514
00:38:10,199 --> 00:38:14,119
I'm trying to think here, if
I was going to move to a

515
00:38:14,159 --> 00:38:17,760
webpack build to be totally honest,
I think the easiest webpack build. Have

516
00:38:17,880 --> 00:38:22,440
you done an upgrade or two?
I think it might be easiest just to

517
00:38:22,599 --> 00:38:28,119
have to move your Angular jass project
into the Angular Cli because it's really easy

518
00:38:28,159 --> 00:38:30,559
to do. Like, it's kind
of stupid easy, if we're being totally

519
00:38:30,559 --> 00:38:32,800
honest. So can you talk a
little bit more about that, because I

520
00:38:32,800 --> 00:38:36,800
don't think I've done that before.
I'd be interested in hearing kind of what

521
00:38:36,880 --> 00:38:40,199
you did. Yeah, So the
Angular Cli has an entry file, right,

522
00:38:40,679 --> 00:38:44,280
mm hmm. So it's just just
your main not ts. Right.

523
00:38:44,320 --> 00:38:46,039
You go into your project and your
angler j soon you see it. So

524
00:38:46,400 --> 00:38:52,280
if you just point that at your
main file for Angular JS, because your

525
00:38:52,280 --> 00:38:55,079
Angular gist, if you're using a
webpack or if you're getting ready to use

526
00:38:55,079 --> 00:38:58,840
a webpack, you're going to have
an entry point as well. Correct,

527
00:38:59,079 --> 00:39:05,000
yep, And so I would recommend
getting an entry point actually, like like

528
00:39:05,119 --> 00:39:08,440
try and get one entry file that
your webpacker, goal or broccoli or grut

529
00:39:08,519 --> 00:39:13,639
build can just hit that one file
and then it reads all the other imports

530
00:39:13,639 --> 00:39:20,800
and stuff. Right. Another thing
is you need to and I'm trying to

531
00:39:20,840 --> 00:39:23,360
think down a few levels. It's
been a long time since says there,

532
00:39:23,360 --> 00:39:28,239
so I'm not doing read job if
you're not in like a package that Jason

533
00:39:28,400 --> 00:39:32,519
environment where you install Angular js through
MPM. Like let's say you just have

534
00:39:32,880 --> 00:39:38,639
Angular jazz copied into your reput,
well worse, you've copied the version into

535
00:39:38,639 --> 00:39:45,840
your ECO or maybe you are using
it from a CDN. I would suggest,

536
00:39:45,000 --> 00:39:50,719
you know, getting your project to
be more MPM friendly as well,

537
00:39:50,920 --> 00:39:57,320
like hold your some Bower projects out
there, for sure, there's JSPM people

538
00:39:57,360 --> 00:40:01,039
are still isn't that all projects?
So I would say, hey, start

539
00:40:01,079 --> 00:40:06,880
to do some smaller things and you
can get onto a more NPM friendly thing

540
00:40:07,000 --> 00:40:09,199
without really doing much at all.
Right, you're just saying, oh,

541
00:40:09,639 --> 00:40:15,000
instead of pulling the Angular gests from
here, do it from here, you

542
00:40:15,000 --> 00:40:17,400
know. And so there's some things
you can do to get your project a

543
00:40:17,440 --> 00:40:22,719
little bit more ready, and there's
smaller steps. So on the CLI topic,

544
00:40:23,320 --> 00:40:29,079
there's definitely some known issues there with
the upgrade and the CLI. I

545
00:40:29,199 --> 00:40:31,440
have been actually this morning, I
was trying to hack together something. I

546
00:40:31,480 --> 00:40:35,719
had it working in stack blitz,
but then I pulled it down locally and

547
00:40:36,280 --> 00:40:39,639
upgraded it to the latest CLI,
and I couldn't I could get certain things

548
00:40:39,719 --> 00:40:44,599
instantiate, but I couldn't get things
to render. And I know that Sam

549
00:40:44,679 --> 00:40:47,400
Julian has been talking to the CLI
team about, you know, how we

550
00:40:47,480 --> 00:40:52,920
can make that work better more consistently. So there's there's some gotchas there.

551
00:40:52,960 --> 00:40:58,159
For sure, there's some gotchas.
And then I suppose let's say a programmer

552
00:40:58,519 --> 00:41:00,679
makes I'm assure to throw out at
number one hundred thousand dollars a year,

553
00:41:00,719 --> 00:41:06,559
Okay, I don't know, maybe
make more Maybia less and uh, let's

554
00:41:06,559 --> 00:41:09,639
say it's gonna take you three or
four weeks to get past some of these

555
00:41:09,679 --> 00:41:15,679
problems. And it will, I
promise it will. That's not hypothetical when

556
00:41:15,719 --> 00:41:21,079
it takes you three or four weeks. I just you may consider reaching out

557
00:41:21,119 --> 00:41:27,039
to companies like Narwal, who are
absolute experts on upgrade, because like you

558
00:41:27,039 --> 00:41:30,119
can follow the steps in Joe Eames's
Plural site course, you can follow the

559
00:41:30,119 --> 00:41:36,320
steps on Saint Julian's upgrading Angular website, and you can follow the steps on

560
00:41:36,360 --> 00:41:42,400
the documentation. But eventually you're gonna
hit you're gonna hit a wall, and

561
00:41:42,440 --> 00:41:45,280
you're gonna need to talk to someone. And you could spend three or four

562
00:41:45,320 --> 00:41:51,440
months figuring it out manually or Yeah, I would recommend getting on narwal connect

563
00:41:51,960 --> 00:41:54,280
and getting an expert on the other
end. And does the expert cost a

564
00:41:54,360 --> 00:41:57,639
lot? Yeah, I don't know. I don't know what narwal connect costs.

565
00:41:57,679 --> 00:42:00,320
Let's just throw out a number.
Five hundred dollars an hour. Five

566
00:42:00,360 --> 00:42:04,320
hundred dollars an hour for three hours
is way less than a developer that makes

567
00:42:04,320 --> 00:42:07,400
one hundred thousand dollars for three months. Like it's it's significantly less. And

568
00:42:07,400 --> 00:42:13,400
you're gonna have a much more well
thought out solution by working with like that

569
00:42:13,559 --> 00:42:19,800
type of a scenario than you are
with someone who like debate, contemplated like

570
00:42:20,000 --> 00:42:27,079
ending their life every single day when
they went home because they scenario every day.

571
00:42:27,239 --> 00:42:31,360
Yeah, and so I would recommend
reaching out to like the narwhals and

572
00:42:31,360 --> 00:42:35,960
and some of the other consultants that
have experienced with this stuff. I know

573
00:42:36,039 --> 00:42:38,280
certainly it sounds like Mike has a
consulting agency. I have a company that

574
00:42:38,320 --> 00:42:42,960
we do We do upgrades as well. So there's people that are that are

575
00:42:43,000 --> 00:42:45,400
there for you on that path.
Yeah, and even if they cost something

576
00:42:45,440 --> 00:42:52,239
like five hundred dollars an hour,
it's still cheaper. Then your time is

577
00:42:52,280 --> 00:42:55,599
gonna be and you're gonna get a
more cohesive answer. It's such a better

578
00:42:55,639 --> 00:42:59,760
answer for way, way, way
less money than if you did it by

579
00:42:59,800 --> 00:43:02,960
your also, so we're trying to
fill that gap with this new guide,

580
00:43:04,239 --> 00:43:07,199
not completely, but at least make
the gap smaller. So a lot of

581
00:43:07,239 --> 00:43:13,440
what you'll find in the guide here
is specific use cases, like I literally

582
00:43:13,480 --> 00:43:16,880
went through all of the features and
use cases and Angular Jazz material, including

583
00:43:16,920 --> 00:43:22,480
things like our meta service and things
like that, and I like specifically went

584
00:43:22,599 --> 00:43:24,599
how do I map all these things
over? And you know, like the

585
00:43:24,639 --> 00:43:30,639
meta service, it doesn't map to
angular material. It maps to you know,

586
00:43:30,800 --> 00:43:35,840
angular So there's all those sorts of
things. In the past it was

587
00:43:35,920 --> 00:43:39,239
like okay, I have panel or
something like, oh, but you know

588
00:43:39,280 --> 00:43:44,480
there's no panel and material and how
do I do this? And maybe you

589
00:43:44,679 --> 00:43:49,639
overlooked the overlay and the CDK because
it's not called panel, and then you

590
00:43:49,679 --> 00:43:52,599
may go off for weeks investigating and
then building your own. And so this

591
00:43:53,000 --> 00:43:57,639
is here to kind of connect those
dots so that you don't go into that

592
00:43:57,760 --> 00:44:00,400
hole of despair and you say,
oh, here's the happy path I should

593
00:44:00,400 --> 00:44:05,199
be on trying as well as theming, there was a lot of things.

594
00:44:05,239 --> 00:44:07,400
Actually I went into this where I
was like, an angular material, you

595
00:44:07,519 --> 00:44:10,880
just cannot theme with the power that
you can't in angular jazz material. There's

596
00:44:10,880 --> 00:44:17,280
no way because it's round T versus
at build time. Yeah, it's a

597
00:44:17,360 --> 00:44:22,800
number of different things. We do
a whole lot of runtime stuff. We

598
00:44:22,280 --> 00:44:29,719
generated an angular jazz material, and
so you get a bunch, you get

599
00:44:29,719 --> 00:44:34,880
a bunch of these like style tags
with all this stuff in there that generates

600
00:44:34,920 --> 00:44:38,199
just too much overhead, too much
you know size, and so Angular Material,

601
00:44:38,320 --> 00:44:42,840
you know, took a different approach
to that and went to a lot

602
00:44:42,880 --> 00:44:46,159
of you know sas and mixings and
things like that. And if you're not

603
00:44:46,360 --> 00:44:52,760
really familiar with sacs, you may
not understand like how to do certain things.

604
00:44:53,239 --> 00:44:57,840
And some of those things I actually
wasn't I wasn't sure that you could

605
00:44:57,920 --> 00:45:00,239
do that. And you know,
working with Jeremy and some of the other

606
00:45:00,280 --> 00:45:04,159
people call on the team, they
came and said, oh, yeah,

607
00:45:04,159 --> 00:45:07,360
that you can do this. Here's
here's the sass to make that happen.

608
00:45:07,480 --> 00:45:10,239
And so we actually were able to
put specific examples in the migration guide.

609
00:45:10,599 --> 00:45:16,079
We also enhanced the Angular Material docs
so that some of those theming approaches were

610
00:45:16,079 --> 00:45:22,519
called out and demos were given,
so certain things like that that you know,

611
00:45:22,480 --> 00:45:27,199
a normal developer could certainly assume,
like, oh, you you know

612
00:45:27,559 --> 00:45:29,920
you can't do this. You know, we've kind of dug into that and

613
00:45:29,920 --> 00:45:34,559
figured out really how that would be
done. And then a lot of a

614
00:45:34,639 --> 00:45:38,360
lot more cases than I expected,
there's a solution. It's pretty thorough.

615
00:45:38,639 --> 00:45:43,880
So let's say I'm going through your
migration guide and I find an issue or

616
00:45:43,920 --> 00:45:46,320
I have another recommendation or something I
want to contribute. How do I go

617
00:45:46,360 --> 00:45:51,800
about doing that? Should I just
do a pull request? Or what's kind

618
00:45:51,840 --> 00:45:53,320
of the way to get a hold
of you, or how do I how

619
00:45:53,320 --> 00:45:59,679
do I help? Yep, you
can open an issue, talk about what

620
00:45:59,800 --> 00:46:02,519
you know, you found or proposed
you know, a change, and we

621
00:46:02,559 --> 00:46:07,960
can talk about that and then get
pr for it. It's all a single

622
00:46:07,239 --> 00:46:12,559
markdown file, so it's really simple
to edit and modify. Just a little

623
00:46:12,719 --> 00:46:15,840
get the hub icon at the top
of the page. You just click on

624
00:46:15,920 --> 00:46:20,559
that. It'll take you into our
repo and nice you can track down the

625
00:46:21,119 --> 00:46:24,599
file. I think it's pretty simple. I think it's in docks. Yeah,

626
00:46:24,679 --> 00:46:30,360
docs content migration empty. Cool,
that's the whole thing. You can

627
00:46:30,360 --> 00:46:34,119
actually read it on GitHub and they're
marked down. If you want, we

628
00:46:34,159 --> 00:46:37,960
don't quick into styles in there,
but prefer that you can do that.

629
00:46:37,079 --> 00:46:44,119
You can send a pull request just
modify the markdown. And we really would

630
00:46:44,159 --> 00:46:46,000
like to get feedback on this.
We haven't. I don't know of anyone

631
00:46:46,079 --> 00:46:51,519
yet who's gone through the full process
and use this pull guide, so we'd

632
00:46:51,559 --> 00:46:54,039
like to know more. We've sort
of launched it in our sort of head

633
00:46:54,039 --> 00:46:58,159
branch and we kind of like told
people about it a couple of months ago,

634
00:46:59,000 --> 00:47:04,559
but the one dot one nineteen chat
uh one one nineteen release just came

635
00:47:04,599 --> 00:47:08,880
out and that promoted it onto our
main website and everything, so it's officially

636
00:47:08,920 --> 00:47:15,679
available as a last Friday. Cool
Mike. I think, uh, every

637
00:47:15,679 --> 00:47:17,639
time we talk to the core team
members and I guess I shouldn't call you

638
00:47:17,679 --> 00:47:20,880
core team. I know you go
a shunning it away from it from the

639
00:47:20,880 --> 00:47:24,880
Angular team members. I know that
everyone's really thankful for all the work that

640
00:47:24,920 --> 00:47:29,199
you do, and it's not it's
not easy being an open source maintainer,

641
00:47:29,239 --> 00:47:32,840
So thanks for caring after all that
work. It's cool. If anyone wants

642
00:47:32,840 --> 00:47:37,320
to reach out to you on social
media, what's your Twitter handle. It's

643
00:47:37,519 --> 00:47:42,079
black Tar on Twitter and Facebook and
et cetera. But Twitter's most active.

644
00:47:42,480 --> 00:47:46,239
Okay, cool, all right,
so let's get to the picks section if

645
00:47:46,280 --> 00:47:51,159
we can. I'll go first,
and then uh, we'll go Brian,

646
00:47:51,320 --> 00:47:53,920
Joe, Mike. Is that cool? So I'm gonna pick. I'm gonna

647
00:47:53,920 --> 00:47:58,559
pick a conference coming up in September. It's called rx just Live. If

648
00:47:58,599 --> 00:48:01,679
anyone's listening to the show recently,
you know, I love rxis. It's

649
00:48:01,679 --> 00:48:06,400
about my favorite thing right now.
I think programmers would use it write better

650
00:48:06,440 --> 00:48:08,880
code. I think it forces you
to think things through. Treating things as

651
00:48:08,880 --> 00:48:15,239
streams makes a lot of sense.
And there's a conference about our exes only.

652
00:48:15,639 --> 00:48:19,440
So it's not an Angular plus RXGES
conference, it's an Angular or sorry,

653
00:48:19,760 --> 00:48:22,159
it's just an RX only conference.
But it will be two days where

654
00:48:22,159 --> 00:48:29,320
you can kind of focus in on
just learning RX and meeting people from Microsoft,

655
00:48:29,400 --> 00:48:36,760
Google, other companies that are using
RX in Angular React view node scenarios,

656
00:48:37,239 --> 00:48:40,719
and so it's a powerful conference.
It's a chance to level up,

657
00:48:40,760 --> 00:48:45,880
to go from good to great on
RXS and so I'm gonna pick it RXS

658
00:48:45,960 --> 00:48:47,880
Live. The website is rxgs dot
live. So head over and check it

659
00:48:47,920 --> 00:48:51,960
out. The speakers just got put
up this week. The call for papers,

660
00:48:52,079 --> 00:48:55,360
call for presenters just ended, and
we picktoks and so I'm gonna pick

661
00:48:55,400 --> 00:49:00,599
that because I'm more excited rxs than
I am about more those things right now,

662
00:49:00,639 --> 00:49:02,639
and this conference is going to be
It's gonna be awesome. So so

663
00:49:02,679 --> 00:49:07,039
what check arecs? Just life?
Brian? Yeah, I have two picks.

664
00:49:07,360 --> 00:49:12,559
First of all, Steven Fluin just
published some new demos with Angular eight

665
00:49:13,000 --> 00:49:15,840
out on his YouTube channel, so
definitely go check those out. He does

666
00:49:15,840 --> 00:49:19,440
a great job with those videos.
I don't know if you've seen those before,

667
00:49:19,840 --> 00:49:22,880
but they're really awesome. So he
talks about some of the features in

668
00:49:22,920 --> 00:49:25,800
Angular eight, like differential loading for
the poly fills and that kind of thing,

669
00:49:25,960 --> 00:49:30,679
so those are very cool. Definitely
check those out. And my other

670
00:49:30,719 --> 00:49:35,480
pick is I've been watching this show. It probably came out a while ago,

671
00:49:35,519 --> 00:49:38,679
I don't know, but it's called
Umbrella Academy, and I've really been

672
00:49:38,800 --> 00:49:42,400
enjoying it. It's a really great
show. So if you've got Netflix,

673
00:49:43,000 --> 00:49:46,199
check that out too, all right, cool se Yeah, So it's just

674
00:49:46,239 --> 00:49:49,440
been on my mind. I'd a
webinar about it this morning, but I'm

675
00:49:49,440 --> 00:49:53,599
gonna pick Cyprus because it's just such
a freaking cool project product. You know,

676
00:49:54,360 --> 00:49:59,360
all my life doing and testing,
it just wasn't the thing. In

677
00:50:00,000 --> 00:50:02,320
We had an author for Thinks To
that was talking about Cypress, and he

678
00:50:02,360 --> 00:50:06,760
said something that just really struck me, which was, for the first time

679
00:50:06,800 --> 00:50:09,639
in my life, I'm excited to
write into end tests. Once I found

680
00:50:09,639 --> 00:50:13,920
out about Cypress, it was the
night of that. So he loved you,

681
00:50:15,840 --> 00:50:20,880
so I like you, but I
totally echoed that. I resonate with

682
00:50:20,920 --> 00:50:24,760
that sentiment that I was not a
fan of writing and ntests and been dealing

683
00:50:24,840 --> 00:50:29,920
with him until you know, ever, it was just a necessary evil.

684
00:50:29,960 --> 00:50:31,239
Then Cypress came along and I was
like, Wow, this actually could be

685
00:50:31,679 --> 00:50:36,880
Yeah, like writingests can actually be
a cool thing. Cool. Yep,

686
00:50:37,079 --> 00:50:40,079
that's it. Awesome Mike. You
got any picks, bro, Yeah,

687
00:50:40,119 --> 00:50:44,679
I got a few. One is
the side projects I've been working on in

688
00:50:44,719 --> 00:50:51,079
my spare time with some of the
amazing gdes and community and Latin America and

689
00:50:51,159 --> 00:50:55,039
Spain and how they're Spanish speaking countries. I'm working on with a group called

690
00:50:55,079 --> 00:51:01,400
Angular Espano. So it's a website
and we've got matter Most for chat,

691
00:51:01,960 --> 00:51:07,000
so connecting Angular developers from all around
the world who speak Spanish and want to

692
00:51:07,039 --> 00:51:12,239
talk about it, ask questions,
get help support each other in Spanish.

693
00:51:12,440 --> 00:51:15,639
So that's something we've been working on. It's at Angular dot lat is the

694
00:51:15,639 --> 00:51:22,079
website dot l A T and then
another pick is related to that. So

695
00:51:22,119 --> 00:51:28,400
we just want a conference page and
so we've listed there on that page.

696
00:51:28,920 --> 00:51:34,920
We have ANGI Bolivia, we have
Angie Honduras and Angie Spain. Those conferences

697
00:51:34,960 --> 00:51:37,559
are all coming up. They all
have cfps that are opening right now,

698
00:51:37,719 --> 00:51:43,360
so you can submit talks if you're
interested and heading over to one of those

699
00:51:43,880 --> 00:51:47,679
nice sunny places. Do you submit
a talk? Would the talk be in

700
00:51:47,760 --> 00:51:52,480
English or Spanish? I think you
can do to both. Okay, I'm

701
00:51:52,519 --> 00:51:58,599
going to speak at Angie Bolivia and
I'm probably going to have my sides in

702
00:51:58,639 --> 00:52:00,639
English because I already wrote my mama, do it in Spanish. Yeah,

703
00:52:00,719 --> 00:52:05,679
nice, do it. I just
went down to Peru when I give two

704
00:52:05,800 --> 00:52:08,639
or three talks in Spanish for the
first time, and they were really supportive

705
00:52:08,840 --> 00:52:14,320
and it went pretty well. So
I do recommend it. Do when you

706
00:52:14,360 --> 00:52:17,960
speak about technical things, you just
got to embrace the Spanlish, you know

707
00:52:19,000 --> 00:52:22,679
what I'm saying, and so I
just do it. It sounds it sounds

708
00:52:22,679 --> 00:52:24,840
so dumb, like literally, it's
one of the dumbest forms of Spanish you'll

709
00:52:24,840 --> 00:52:31,760
ever listen to. But it's so
that's the reality. There's another podcast Angular

710
00:52:31,880 --> 00:52:37,920
Riando, which is like Angular and
Spanish, and we had a discussion about

711
00:52:37,920 --> 00:52:43,599
that. There's just certain words like
merge that they just say, like mergeiato.

712
00:52:44,159 --> 00:52:50,199
They don't say likergall away or something. So there's a lot of Spanglish

713
00:52:50,320 --> 00:52:52,199
and a lot of the code is
also written in English. But yeah,

714
00:52:52,239 --> 00:52:57,159
like poll request, there's no word
for that, right, so you just

715
00:52:57,199 --> 00:53:00,239
say you might pull request and you
know that's how you say it. That's

716
00:53:00,719 --> 00:53:05,599
because that's the words, right right, That's what it says, gethub.

717
00:53:05,679 --> 00:53:08,159
Everyone knows the same vocabulary. If
you try to say something else, people

718
00:53:08,159 --> 00:53:15,119
get confused. But last pick front
end Masters. I haven't really spent any

719
00:53:15,119 --> 00:53:17,639
time on there in the past,
but I've been checking out some of their

720
00:53:17,719 --> 00:53:22,360
videos. I paid for like the
thirty nine dollars monthly thing, and it

721
00:53:22,480 --> 00:53:27,400
seems like quite a value. I'm
really enjoying the content. That's cool.

722
00:53:27,760 --> 00:53:30,079
Cool man. Well, Mike,
thank you for coming on and thanks for

723
00:53:30,119 --> 00:53:34,800
all your hard work in the open
source community. Thanks for what you're doing

724
00:53:34,840 --> 00:53:37,840
within your layer Latin. Everything soon, all right, everybody, Thanks for

725
00:53:37,840 --> 00:53:40,360
coming, and until next time peace,
