1
00:00:06,719 --> 00:00:11,320
Hello everyone, Welcome to Adventures in
Angular, the podcast where we keep you

2
00:00:11,400 --> 00:00:16,239
updated on all things Angular related.
This show is produced by two companies,

3
00:00:16,239 --> 00:00:20,280
Stop and Devs and Onvoid. Top
and Doves is very great Top and Doves,

4
00:00:20,280 --> 00:00:24,280
so get top and way pay and
recognition. We're working on interesting problems

5
00:00:24,280 --> 00:00:30,039
and making meaningful community contributions an Onvoid, which provides remote design and software development

6
00:00:30,120 --> 00:00:34,520
services on a task basis, so
clients only pay when tests are delivered and

7
00:00:34,799 --> 00:00:40,759
approved. In today's episode, we
will talk about a very at least in

8
00:00:40,880 --> 00:00:46,359
a first glance advanced topic, but
perhaps we're going to see that it doesn't

9
00:00:46,359 --> 00:00:53,560
need to be so complicated as it
initially seems, which is contributing to Angular.

10
00:00:54,039 --> 00:01:00,240
Yep, it's you, the developer
that uses Angular, contributing to the

11
00:01:00,280 --> 00:01:04,319
actual creation of this amazing framework.
My name is Lucas Paganini. I'm your

12
00:01:04,359 --> 00:01:10,200
host in the podcast, and joining
me in today's episode is the also great

13
00:01:10,400 --> 00:01:19,319
host Subrette Mischa. Hello everyone,
and our special guest Santash. Hey,

14
00:01:19,719 --> 00:01:23,040
well, and let me introduce Santage
a little bit. So he has a

15
00:01:23,239 --> 00:01:29,120
very long intro if we're going to
talk about everything that he does. So

16
00:01:29,280 --> 00:01:34,920
he is a senior software engineer at
Seloni's Google Developer expert for Angler, so

17
00:01:34,959 --> 00:01:38,959
he knows what he's talking about.
He's a GitHub star and ex champion.

18
00:01:41,640 --> 00:01:47,840
What an MMA winner joke, But
yeah, he does have awesome titles.

19
00:01:48,079 --> 00:01:52,920
He loves contributing to Angler and its
ecosystem. He's also a co founder of

20
00:01:53,120 --> 00:02:00,200
This is Learning and he is also
the author of NGX Builder's package and part

21
00:02:00,359 --> 00:02:07,480
of the nas JAS add onscore team. Besides that, somehow he finds some

22
00:02:07,599 --> 00:02:12,680
free time to also run his own
talk show, which is called This is

23
00:02:12,840 --> 00:02:17,159
Tech Talks, where he invites industry
experts to discuss different technologies. So,

24
00:02:17,280 --> 00:02:22,039
Santage, thank you so much for
taking the time to be here. It's

25
00:02:22,080 --> 00:02:27,479
a pleasure to have you on the
show. Yeah, I was looking for

26
00:02:27,680 --> 00:02:31,360
like this this two one selves free
and then and I was like, okay,

27
00:02:31,439 --> 00:02:38,759
let's do this exactly great. Okay, so let's just dive into the

28
00:02:38,840 --> 00:02:49,319
subject. So Santage, first off, let's dismistify the complexity of contributing to

29
00:02:49,439 --> 00:02:58,199
Angler. So how hard is it
in practice? Because also let's just let's

30
00:02:58,280 --> 00:03:02,919
not pretend that it's like super trivial
and any developer that is just getting started

31
00:03:04,000 --> 00:03:07,280
is going to be able to do
this. This is probably not for someone

32
00:03:07,319 --> 00:03:14,719
that is just getting started, but
how complex really it is? Because I

33
00:03:14,840 --> 00:03:20,680
myself have been working with Angular for
many years and I'm not so sure if

34
00:03:21,080 --> 00:03:24,960
I would be able to be a
valuable contributor to the Angular cod base.

35
00:03:25,039 --> 00:03:30,719
It just feels too complex and too
big of a codase, too big of

36
00:03:30,719 --> 00:03:37,319
a project even to find myself in
there. So how would you advise people

37
00:03:37,400 --> 00:03:45,800
that want to make Angular better?
Remember, so you don't have to contribute

38
00:03:45,840 --> 00:03:47,639
in every area. And so if
you think about Angler as a framework,

39
00:03:47,800 --> 00:03:52,319
you have fonts, you have out
there, you have so many things different

40
00:03:52,319 --> 00:03:57,120
packages which gets published inside Anglo.
So someone to get started with, I

41
00:03:57,199 --> 00:04:02,120
always recommend to actually start with talks, right, So because talks are like

42
00:04:02,400 --> 00:04:05,719
of course, when you are going, when you're learning Angler, you will

43
00:04:05,719 --> 00:04:10,319
probably end up at the dogs.
Right. And if you think like there

44
00:04:10,360 --> 00:04:15,960
is something just missing or which is
not well explained, that's or maybe brittain

45
00:04:15,000 --> 00:04:17,439
in a complex way. It depends
upon the writer, right, I mean

46
00:04:17,959 --> 00:04:25,160
some engineer, let's say, who
is working on Angler. Probably they may

47
00:04:25,279 --> 00:04:29,120
not explain it an easier wing because
they know already know stuff which happens with

48
00:04:29,160 --> 00:04:31,879
all of us in all of us
right even at day to do ta work.

49
00:04:31,920 --> 00:04:35,439
When we write some design doc as
we already know know those things.

50
00:04:35,480 --> 00:04:41,480
We try to complex it unnecessarily because
that's the only way probably we can write.

51
00:04:42,040 --> 00:04:45,920
But not that that might not be
a good in the terms of someone

52
00:04:45,959 --> 00:04:50,839
who is new to the framer and
talks should always focus on making it easier,

53
00:04:51,319 --> 00:04:56,000
like to get new learner, right
or someone who is learning the technology

54
00:04:56,160 --> 00:05:00,759
to get into this framework. So
that's that's one way you can think about

55
00:05:00,759 --> 00:05:06,040
it, like making your first contribution. Also like and it keeps improving,

56
00:05:06,199 --> 00:05:11,199
so they're adding more features, more
and more features. So it's possible that

57
00:05:11,279 --> 00:05:14,879
some dogs are missing because you know, hang, the team is not really

58
00:05:14,879 --> 00:05:17,800
big, right, so it has
probably twenty five people who work on frameworks,

59
00:05:17,800 --> 00:05:21,879
so maintaining dogs and everything it is
a little bit complex. But they're

60
00:05:21,879 --> 00:05:26,800
doing a great job. I mean
they're trying to keep their talks up to

61
00:05:26,879 --> 00:05:29,720
date, uh, which is which
is a good thing. But yeah,

62
00:05:29,720 --> 00:05:34,680
that's a that's also your opportunity once
you become like and one more thing,

63
00:05:34,759 --> 00:05:40,519
right, I mean, contributing to
talks also gives you some idea about how

64
00:05:40,560 --> 00:05:44,680
they get flow works, I mean
get because they use get up actions right,

65
00:05:45,480 --> 00:05:48,000
so you know like how how the
guitub actions are, what are the

66
00:05:48,000 --> 00:05:54,920
steps are necessary, basically making you're
set up on your local machine right and

67
00:05:55,199 --> 00:05:59,560
making sure the build works and you're
able to verify all those things locally.

68
00:05:59,720 --> 00:06:02,680
You also learn about a lot of
kid concepts, which I mean, I

69
00:06:02,720 --> 00:06:05,680
believe me. When I made my
first contribution, I was I had no

70
00:06:05,759 --> 00:06:10,680
idea about repased and of course it's
not bad thing, right, I mean

71
00:06:11,160 --> 00:06:15,160
probably never used it. So you
learn a lot of concept as well when

72
00:06:15,279 --> 00:06:20,759
contributing to talks, So it makes
your future ps much better. But now

73
00:06:20,839 --> 00:06:25,360
let's come back. What after Dogs? I mean, of course you can

74
00:06:25,720 --> 00:06:30,000
still continue contributing to Dogs, but
as you said, Tangler is a very

75
00:06:30,040 --> 00:06:34,120
big favor, there are many more
areas. So this is what I used

76
00:06:34,160 --> 00:06:38,519
to do when I started contributing.
So I used to watch the reposits.

77
00:06:38,839 --> 00:06:42,000
That's the first thing which I did. I just clicked on watch and I

78
00:06:42,079 --> 00:06:47,319
started watching all the issues which are
raised and see like which issue can be

79
00:06:47,439 --> 00:06:51,920
like very maybe not easy, but
yeah, which issues something which I can

80
00:06:53,000 --> 00:06:56,360
pick up right? Because let's say, if there is there is something which

81
00:06:56,399 --> 00:07:00,279
is a bug, and I think
I can I can broadly defert that bug'll

82
00:07:00,279 --> 00:07:02,360
pick it up. So keep and
watch. And let's say, if you're

83
00:07:02,360 --> 00:07:09,720
planning to start contributing to framework,
just just ortuant click on that subscription button.

84
00:07:10,120 --> 00:07:13,040
Just don't get up, so you
start getting all the notification about new

85
00:07:13,079 --> 00:07:18,079
issues and then probably don't jump in. And then of course you saw the

86
00:07:18,120 --> 00:07:21,120
first session and you tried to go
it and pick it up. But I

87
00:07:21,240 --> 00:07:27,240
think for sometimes just read it like
what people are doing, See the different

88
00:07:27,279 --> 00:07:30,920
piers, like how people probably wrote
the code. Try to read the code.

89
00:07:31,360 --> 00:07:34,079
Try to debug it locally. I
mean, it's not something you have

90
00:07:34,120 --> 00:07:38,720
to do it in framework because you're
already using framework, right if you're an

91
00:07:38,759 --> 00:07:43,120
angry defliper, you are installing Angular
and you're using it. So try to

92
00:07:43,160 --> 00:07:46,759
debug it on your local machine.
See how code works. For example,

93
00:07:46,800 --> 00:07:50,600
let's say if you're talking about form, just a debugger, right, and

94
00:07:50,759 --> 00:07:55,360
then see like what happens when you
try to create a firm group or when

95
00:07:55,360 --> 00:07:57,720
you try to create a firm control, or if you're trying to add a

96
00:07:57,800 --> 00:08:01,480
validation. What are the code which
were executed inside the framework, which also

97
00:08:01,560 --> 00:08:05,519
gives you enough ida. I would
say, pick up an area to start

98
00:08:05,560 --> 00:08:09,759
with. If you think you want
to contribute to forms or if you want

99
00:08:09,800 --> 00:08:13,319
to contribute to Router, pick up
one area you also have. So I

100
00:08:13,399 --> 00:08:16,319
mean to give you an idea.
Angle has three different repositives. It's not

101
00:08:16,480 --> 00:08:22,399
like onely Angler. So Angler has
a framework which is inside Angler slash Angler,

102
00:08:22,480 --> 00:08:26,399
but they have CLA and they have
material as well. So if you

103
00:08:26,480 --> 00:08:31,120
think like, okay, the framework
is something not maybe you don't want to

104
00:08:31,639 --> 00:08:35,519
contribute that much, go to cl
I. I'm in CLS. Everyone is

105
00:08:35,519 --> 00:08:39,480
building CLA right, and that that
would be something which may be familiar to

106
00:08:39,720 --> 00:08:43,360
maybe because that's written in a plain
time script. Right, there's nothing advanced

107
00:08:43,440 --> 00:08:48,080
up there. You can become many
issues there. I think there are still

108
00:08:48,120 --> 00:08:52,360
many open issues in CLA. You
can do that. Or if you think

109
00:08:54,080 --> 00:08:58,000
you're someone who is better at designing
the component and you know how to do

110
00:08:58,120 --> 00:09:01,679
it, just go angular components,
which is nothing but the Angler material.

111
00:09:03,879 --> 00:09:11,279
And yeah, so these are the
areas where you can country and what do

112
00:09:11,399 --> 00:09:16,960
we need to keep in So first
off, I love that you mentioned starting

113
00:09:16,080 --> 00:09:22,480
with the dogs, because first off, yes, this is the easiest part

114
00:09:22,600 --> 00:09:28,080
for someone just starting out, and
it's also the most valuable for the community

115
00:09:28,159 --> 00:09:33,240
as a whole, because in terms
of people that are just starting out,

116
00:09:33,600 --> 00:09:39,600
they have a fresh mind because they
didn't get used to many of the things

117
00:09:39,639 --> 00:09:43,759
that we might that we might take
for granted but maybe confusing to someone just

118
00:09:43,799 --> 00:09:48,759
getting started. So if they do
start with the dogs, then they are

119
00:09:50,279 --> 00:09:56,679
the ones most qualified to make it
simpler. Right. Of course, they

120
00:09:56,759 --> 00:10:01,720
have the issue that they don't have
advanced knowledge the framework, so maybe they

121
00:10:01,799 --> 00:10:05,279
wouldn't be able to understand some of
the other things that could be presented,

122
00:10:05,960 --> 00:10:11,559
so that's always a challenge, but
they can definitely think about ways to simplify

123
00:10:11,679 --> 00:10:16,279
their understanding, especially if they just
finish going through the dogs for the first

124
00:10:16,320 --> 00:10:22,120
time, so it's like someone just
read the entire dogs for angular, then

125
00:10:22,559 --> 00:10:26,919
they have most of the knowledge that
they need to contribute to it, and

126
00:10:28,120 --> 00:10:33,000
they also have freshened their minds,
which were the parts that weren't very easy

127
00:10:33,080 --> 00:10:39,120
to get through. So that's an
excellent point. I think it makes total

128
00:10:39,240 --> 00:10:43,519
sense when we do get to the
code, though, do you think that,

129
00:10:45,759 --> 00:10:48,399
like you mentioned, oh, perhaps
you're not too comfortable with this particular

130
00:10:48,480 --> 00:10:52,960
part of the code, so maybe
you can try this other one. But

131
00:10:52,559 --> 00:11:01,919
do you think there's any part that
has more or maybe less easier things to

132
00:11:03,039 --> 00:11:09,919
do, Like I know that many
open search repositories have issues tagged as good

133
00:11:09,039 --> 00:11:15,559
first contribution, right, but I'm
not so sure if there's still room for

134
00:11:15,720 --> 00:11:18,279
that in Angler, because I imagine
that if there's anything that is pretty easy,

135
00:11:18,919 --> 00:11:26,480
then the actual team members of Angler
would probably address that fairly quickly.

136
00:11:26,120 --> 00:11:33,639
So yeah, how is that in
terms of easy tasks to do? In

137
00:11:33,799 --> 00:11:39,399
some of those inner modules of Angler, there are still because I said,

138
00:11:39,480 --> 00:11:41,600
like Angler is not a very big
team, and in case they find some

139
00:11:43,000 --> 00:11:45,840
good first issue, they do market
as a good first issue because I have

140
00:11:46,480 --> 00:11:48,240
I mean when I started up,
of course I have picked up some good

141
00:11:48,279 --> 00:11:54,320
first issues message and mostly like right
now, if you want to contribute,

142
00:11:54,840 --> 00:12:01,159
you can find a lot of issues, probably elated totalks because Angler teams like

143
00:12:01,360 --> 00:12:03,759
created a new dog if you remember, like it used to be Angler dot

144
00:12:03,799 --> 00:12:09,360
io and now it's on dot So
this is a new website and there are

145
00:12:09,799 --> 00:12:13,519
things to do and anglating needs have
help, right, so they marked them

146
00:12:13,559 --> 00:12:18,200
as good first issue. Or you
can search for dogs. They might not

147
00:12:18,320 --> 00:12:20,159
be good first issue, but you
can just search go to label and just

148
00:12:20,200 --> 00:12:24,279
search for dogs and you'll be able
to find some good first issue to contribute

149
00:12:24,320 --> 00:12:28,200
with. But yeah, I mean, if there are some good first issues,

150
00:12:28,440 --> 00:12:33,440
they do market. So it's not
like there are nothing or there are

151
00:12:33,480 --> 00:12:35,799
no good first issues in Angular.
It's it's not like that. But I

152
00:12:35,879 --> 00:12:41,600
think most many projects have that,
and that those can be related to some

153
00:12:41,720 --> 00:12:46,120
migrations, maybe some code which was
like there from a long time they wanted

154
00:12:46,159 --> 00:12:50,159
to remove it, maybe some Pluto's
those are those are kinds of things which

155
00:12:50,639 --> 00:12:56,279
you can actually pick up from the
repository. So I haven't seen many good

156
00:12:56,320 --> 00:13:01,399
first issues in Cli, but of
course a good first issues in Angler and

157
00:13:01,519 --> 00:13:09,120
companies, that's fine. Yeah,
you have one question like coming to your

158
00:13:09,159 --> 00:13:11,639
minds for a newcomer, Like suppose
they come and they know that angle is

159
00:13:11,720 --> 00:13:18,320
quite popular, and suppose they selected
doc as a issue or some good good

160
00:13:18,399 --> 00:13:22,320
first issue. There might be that
a lot of other similar developer also trying

161
00:13:22,360 --> 00:13:28,480
to create pull request, So how
like how to make that your pull request

162
00:13:28,519 --> 00:13:33,799
will be picked up first and to
reve it first. There is some criteria

163
00:13:33,879 --> 00:13:37,559
for that, or they have some
contribution guidelines and all. Yeah, I

164
00:13:37,679 --> 00:13:41,799
mean, so to make sure like
you are not doing the same same thing,

165
00:13:41,879 --> 00:13:45,159
which is which another developer is doing. Make sure that you comment there,

166
00:13:45,759 --> 00:13:48,519
uh and tell them, okay,
you're doing it. It's not like

167
00:13:48,120 --> 00:13:52,080
you have to like you have to
get it assigned, but you have to

168
00:13:52,159 --> 00:13:54,759
let them know that you are going
to take care of it, right,

169
00:13:54,080 --> 00:13:58,360
so the team knows that you're working
on it, and anyone else. Like

170
00:13:58,840 --> 00:14:01,279
if I go to the same issue
and I see, okay, you have

171
00:14:01,320 --> 00:14:05,720
already commented, so probably I will
not do the same now. And it's

172
00:14:05,879 --> 00:14:09,200
it's an unwritten rule in open source
that you should not do it. But

173
00:14:09,279 --> 00:14:13,960
I have seen some yeah over curious
the purpose maybe and they just squared and

174
00:14:15,039 --> 00:14:20,639
open the PR. But the chances
that their PR will be rejected it depends

175
00:14:20,720 --> 00:14:22,159
upon you, right, I mean, if you're already commented that you are

176
00:14:22,200 --> 00:14:26,159
taking care of it, and you
already have PR in working, then of

177
00:14:26,240 --> 00:14:31,159
course there are no chances that uh, the other person's PR will be picked

178
00:14:31,240 --> 00:14:35,399
up. So so we need to
mark that we are we are looking into

179
00:14:35,480 --> 00:14:39,240
it and then raise a PR,
right exactly, just first comment. I

180
00:14:39,320 --> 00:14:41,360
mean, if there are no comments, people will think that okay, no

181
00:14:41,440 --> 00:14:46,120
uncertain moment. So make sure that
you have clear intent, right, I

182
00:14:46,200 --> 00:14:50,639
mean you have like you have given
your intention that you're doing, you're going

183
00:14:50,720 --> 00:14:52,919
to work on it. Yeah,
as you are discussing about, like for

184
00:14:54,159 --> 00:14:58,919
for a complete Wigner, like would
you like to like put a light upon

185
00:15:00,120 --> 00:15:03,840
like we need to fog the project
than from there, like we need to

186
00:15:05,159 --> 00:15:11,000
create a PF from our projected to
that because a lot of people are used

187
00:15:11,039 --> 00:15:15,200
to with a single repotect is the
dust clone it posts the code, but

188
00:15:15,360 --> 00:15:18,840
here will it will work a little
different? Yeah, sure, I mean

189
00:15:18,879 --> 00:15:22,600
you opensours is different, right,
so you trrectly don't push it until unless

190
00:15:22,639 --> 00:15:28,240
you have maintainers probably and if you're
someone who's right starting, So the first

191
00:15:28,279 --> 00:15:31,080
stup is, of course quodit for
the project. A good thing about I

192
00:15:31,159 --> 00:15:37,759
think the truly has improved a lot. I mean because when I started contributing

193
00:15:39,000 --> 00:15:41,480
back in ninety nineteen, it was
it was a little bit of a mess

194
00:15:41,559 --> 00:15:45,919
up because I think they were using
vessel. It was not compatible between those

195
00:15:45,919 --> 00:15:48,399
a lot of things and it was
hard to set up. But now I

196
00:15:48,480 --> 00:15:54,159
think you also have get a course
spieces, which is free for open source.

197
00:15:54,440 --> 00:15:58,399
Right, so let's say you can
just fork your project and then you

198
00:15:58,480 --> 00:16:03,840
can start making changes for example,
especially in terms of oxychanges, it has

199
00:16:03,879 --> 00:16:07,480
become much easier, right because earlier
I had to plan everything, run it

200
00:16:07,559 --> 00:16:12,440
on my machine and make sure that
everything is working. But now thanks to

201
00:16:12,519 --> 00:16:15,840
get up giving course spaces for free, you can just open it in core

202
00:16:15,919 --> 00:16:21,039
spaces and then just make your change
and push the pier. So it depends

203
00:16:21,080 --> 00:16:23,639
upon how you want to take it. If you are comfortable using code spaces,

204
00:16:23,679 --> 00:16:27,399
of course it's free for everyone,
and if you want to do it

205
00:16:27,720 --> 00:16:32,559
on your local, just go it
and do that. But one thing which

206
00:16:32,559 --> 00:16:38,159
I'd always recommend in case you're planning
to be a long term contributed so newcomers

207
00:16:38,240 --> 00:16:42,879
they have like tendency to actually just
push everything into their masterpit brunch and open

208
00:16:42,919 --> 00:16:48,240
a per, which makes things a
little bit complicated because what in case you

209
00:16:48,320 --> 00:16:52,200
want to open another per. Let's
say in open source, there's this thing,

210
00:16:52,320 --> 00:16:56,600
right, I mean it's open source
because and no one has dedicated or

211
00:16:56,799 --> 00:17:00,039
what you can say, see alloted
time to do your per. So it

212
00:17:00,120 --> 00:17:03,559
may take one day, it may
take a month, it depends, really

213
00:17:03,599 --> 00:17:07,759
depends. But you may have a
new per which you may want to work,

214
00:17:07,880 --> 00:17:12,119
or a new issue which you won't
become within that month, So always

215
00:17:12,319 --> 00:17:15,359
do this. So in case you're
forking a new project, always create a

216
00:17:15,400 --> 00:17:18,680
new branch, create a new brunch, and then open a PR. So

217
00:17:18,759 --> 00:17:22,079
it gives you like, yeah,
then what you can do is you can

218
00:17:22,119 --> 00:17:26,200
actually create different branches and you can
still work on it. Meanwhile, your

219
00:17:26,240 --> 00:17:30,599
other pier isn't review. So a
lot of tebribus actually don't follow this and

220
00:17:30,680 --> 00:17:36,200
then they beat the master branch work
it again, and which is a lot

221
00:17:36,200 --> 00:17:41,920
of that makes sense, okay,
And we also should talk a little bit

222
00:17:41,000 --> 00:17:48,720
about their commit structure, right because
they have a very standardized way to well

223
00:17:48,839 --> 00:17:52,880
to say what your commits are doing. So I know that we have different

224
00:17:52,960 --> 00:18:02,039
scopes and that can be a little
an extra acted for first time contributors.

225
00:18:02,799 --> 00:18:06,799
Whenever you're contributing, make sure that
you go through the Contributing dot MD because

226
00:18:06,880 --> 00:18:10,480
that's where they define all the scope. I mean, even when I'm open

227
00:18:10,519 --> 00:18:11,200
my first PER, I was not
aware of it. I was like,

228
00:18:11,279 --> 00:18:17,880
what is this pynaper keeps failing because
there is some Yeah, the commit structure

229
00:18:17,880 --> 00:18:19,759
doesn't match, like okay, what
is this? But good thing is,

230
00:18:19,839 --> 00:18:25,839
of course you can go ahead and
open any existing merged PR, right,

231
00:18:25,880 --> 00:18:27,519
So in case you're confused. I
mean, of course contributing dot md is

232
00:18:27,559 --> 00:18:32,400
where you can find everything. But
just in case you're confused, just open

233
00:18:32,480 --> 00:18:36,039
an existing PR and see like how
they have permitted and if we give you

234
00:18:36,119 --> 00:18:37,400
a ideal, like okay, this
is how I have to follow. This

235
00:18:37,480 --> 00:18:41,920
is what I do generally, because
there are let's say, if you have

236
00:18:41,200 --> 00:18:45,559
multiple contributing to multiple open source projects, they have different structure and it's hard

237
00:18:45,599 --> 00:18:49,920
to remember those right after second got
to contributing dot MD. But yeah,

238
00:18:51,000 --> 00:18:53,200
I mean the best way is,
of course, say the exting per the

239
00:18:53,279 --> 00:18:57,359
close pier and the Nate idea.
And one good thing about contributing dot md

240
00:18:57,519 --> 00:19:00,680
is also they like they mentioned the
like how you can run it locally,

241
00:19:02,079 --> 00:19:07,920
how you can changes, so everything
is that gotcha. Also, just going

242
00:19:08,000 --> 00:19:14,240
back to this commit structure again,
So just to contextualize the audience a little

243
00:19:14,240 --> 00:19:21,839
bit, what I was referring to
is that Angler standardized a pattern for prefixing

244
00:19:21,880 --> 00:19:27,440
their commit messages with what they do. So you have different types of commits.

245
00:19:27,559 --> 00:19:33,920
You have feet commits, which are
introducing new features. You have shore

246
00:19:34,119 --> 00:19:41,519
commits, which are just doing day
to day stuff like running well, updating

247
00:19:42,119 --> 00:19:48,839
something or updating some dependency for example. Then you have refactor commits, which,

248
00:19:48,480 --> 00:19:52,799
as you may think of, they
are just refractory something but don't really

249
00:19:52,880 --> 00:19:59,039
introducing any functional changes at least in
theory. And then you also have like

250
00:19:59,240 --> 00:20:04,599
style which they literally don't introduce any
functional changes at all because they're for example,

251
00:20:04,759 --> 00:20:11,720
running the formatter, so they're definitely
not introducing any functional changes. So

252
00:20:11,799 --> 00:20:17,599
you have different types of scopes for
your commit messages to you. So for

253
00:20:17,720 --> 00:20:21,480
example, you have a feed,
but you can put it into parentheses saying

254
00:20:21,559 --> 00:20:25,559
that this feet is for the form's
module, so you could say feet under

255
00:20:25,640 --> 00:20:32,720
parentheses forms, and then you have
your commit message and the importance of this.

256
00:20:33,079 --> 00:20:36,880
So at first, at first glance, it might seem like just a

257
00:20:37,119 --> 00:20:41,960
convention that humans are using to understand
what's going on, and yet that does

258
00:20:41,079 --> 00:20:48,160
help. But they also use it
to automatically generate change logs when they cut

259
00:20:48,319 --> 00:20:53,680
new releases. So I'm actually I
always wanted to stop and take a look

260
00:20:53,680 --> 00:21:02,599
at how they're generating this, because
it seems like it would really save up

261
00:21:02,720 --> 00:21:07,359
a lot of time, even for
closed source projects, just for the product

262
00:21:07,440 --> 00:21:11,240
thing, to look at the changes
afterwards and figure out what you go into

263
00:21:11,279 --> 00:21:17,160
an email marketing or not. So
that's actually valuable even for other projects.

264
00:21:17,559 --> 00:21:21,319
Do you know a little bit more
about how that works, Centage, perhaps

265
00:21:21,359 --> 00:21:25,880
we can talk a bit about how
to even add that to other projects.

266
00:21:26,920 --> 00:21:30,960
Yeah, I mean, so for
example, kit tub already has something called

267
00:21:30,000 --> 00:21:33,480
releases, so you can do from
there. So let's say if you have

268
00:21:33,680 --> 00:21:38,720
if you're following this semitic commit,
what is the yeah, Sember right,

269
00:21:38,799 --> 00:21:44,519
So if you're following a proper semantic
versioning and you're following this comments, you

270
00:21:44,640 --> 00:21:48,079
can generate it using guitub actions,
so not get up actions. But I

271
00:21:48,160 --> 00:21:52,640
mean you can also do it with
geituba actions. But let's say just forget

272
00:21:52,680 --> 00:21:56,000
about kitab action, you just want
to do it manually, you can actually

273
00:21:56,160 --> 00:22:00,079
use gitubs itself. So if you
go to geitub dot com and if you

274
00:22:00,160 --> 00:22:03,920
go to your project, there is
something called releases, so you can create

275
00:22:03,960 --> 00:22:07,240
a new release, and as soon
as you create a new release, it

276
00:22:07,319 --> 00:22:10,240
will create of course a new version, and it will create a creator change

277
00:22:10,279 --> 00:22:14,039
log for you as well. But
if you don't want to do it manually,

278
00:22:14,720 --> 00:22:15,960
you can do it by get up
actions. So a lot of people

279
00:22:17,240 --> 00:22:21,519
do use guitup actions to do this
by automation because you don't have to be

280
00:22:22,000 --> 00:22:25,920
like physically good and click them button
right. So choose whatever fits for you.

281
00:22:26,119 --> 00:22:27,839
I mean, if you're doing it, your release is manually get up

282
00:22:27,839 --> 00:22:32,680
actions, that's a very cool thing
to do. Otherwise just auto makee using

283
00:22:32,720 --> 00:22:37,480
getub action guitub actions. Also you
can see gutub also has the APIs to

284
00:22:37,599 --> 00:22:41,720
extract change log and do it for
you. And there are some open source

285
00:22:41,559 --> 00:22:44,960
get up actions as well. We
use it internally, I mean, that's

286
00:22:44,960 --> 00:22:48,359
salonest. We use one open source
project I don't remember the name, but

287
00:22:48,480 --> 00:22:53,720
yeah, we do have an open
source get up action. Now another subject

288
00:22:53,839 --> 00:23:00,119
that, yeah, I think that's
a I think after creator Bass, a

289
00:23:00,160 --> 00:23:03,920
lot of things became became easier,
like now people cannot come it a lot

290
00:23:03,960 --> 00:23:08,680
of things, but some people like
like for now. Some people love the

291
00:23:08,880 --> 00:23:14,720
escort, some people love wame.
So say, it depends on what you

292
00:23:14,960 --> 00:23:18,519
like and how how it can push, And it really depends, right,

293
00:23:18,559 --> 00:23:22,920
I mean, for example, so
what we're talking about is the committed history,

294
00:23:23,039 --> 00:23:26,480
right, So the important thing is
here here is following a commit structure

295
00:23:26,599 --> 00:23:32,400
which fits your use case. I
mean, for example, as lucas mentioned

296
00:23:32,799 --> 00:23:37,240
in angler they have feature, then
package name and then commit masses. But

297
00:23:37,519 --> 00:23:41,640
it can differ for your fear for
your org, so you can choose something

298
00:23:41,680 --> 00:23:47,039
else. It totally depends on how
you want to show your change log to

299
00:23:47,400 --> 00:23:52,160
the end user. For example,
let's say in our use is for Salonist,

300
00:23:52,240 --> 00:23:56,240
we have a single repository mono repository, and then we have close to

301
00:23:56,319 --> 00:24:00,119
twenty five projects, so of course
we want to like group it buy the

302
00:24:00,200 --> 00:24:04,160
project name right, so we actually
do in that way, so we make

303
00:24:04,200 --> 00:24:08,119
sure that when when we've come in, we have all this project name tact

304
00:24:08,400 --> 00:24:12,559
There is another way called labels.
You can also use labels. For example,

305
00:24:12,599 --> 00:24:18,839
let's say I can define that in
case that my my project has something

306
00:24:18,920 --> 00:24:22,440
called project slash even project or project
slash way to project, and I want

307
00:24:22,480 --> 00:24:26,559
to group them in my change clock, I can also follow labels. So

308
00:24:26,799 --> 00:24:32,680
labels are also good ideas. And
it's easy to define as well. I

309
00:24:32,720 --> 00:24:36,519
mean you can just have a labeler
dot biment find, define your path and

310
00:24:36,640 --> 00:24:42,359
define which folder like, define your
folder and then define the label name and

311
00:24:42,480 --> 00:24:48,599
then any tools. Of course,
if you're creating a changelog, I mean

312
00:24:48,640 --> 00:24:52,599
you can define, okay, how
it should be grouped and then it will

313
00:24:52,920 --> 00:24:56,519
it will be visible like that in
a change lat. Yeah. One thing

314
00:24:56,599 --> 00:25:02,279
that we haven't talked much about yet, but I think you already hinted on

315
00:25:02,440 --> 00:25:08,079
it was that Angular is not the
core code, it's also the ecosystem.

316
00:25:08,599 --> 00:25:14,400
So people can also contribute to Angular, not just by writing code to the

317
00:25:14,519 --> 00:25:22,039
main repository, but also contributing to
other community libraries or even creating their own

318
00:25:22,119 --> 00:25:27,440
libraries. Do you think that this
would be like when do you think would

319
00:25:27,480 --> 00:25:33,160
be a good moment for people to
go to that Would you say that this

320
00:25:33,319 --> 00:25:38,000
should be a first step before they
try to contribute to the main core code,

321
00:25:38,720 --> 00:25:42,640
or do you think there's no such
thing that people can just never have

322
00:25:42,799 --> 00:25:47,839
experienced contributing to libraries and just go
straight to contributing to the car code.

323
00:25:48,519 --> 00:25:52,200
Really it depends. Let's say,
if I mean, I generally try to

324
00:25:52,240 --> 00:25:56,759
categorize the contributors into area, right, someone who is a new developer who

325
00:25:56,759 --> 00:26:02,920
have never done Angler, and someone
who's experience developer. So if you're an

326
00:26:02,960 --> 00:26:07,160
experienced eveliper, you already know a
bunch of libraries because you use it daily,

327
00:26:07,559 --> 00:26:11,200
right, I mean, by using
by just using Angler, you can

328
00:26:11,359 --> 00:26:14,400
probably do some limited stuff, but
if you need, for example, state

329
00:26:14,480 --> 00:26:18,079
management, you probably will reach out
to JX or NGXS or any of the

330
00:26:18,160 --> 00:26:23,119
library and you might have tons of
similar libraries in your project. So of

331
00:26:23,240 --> 00:26:27,119
course that's an opportunity for you in
case you really want to get interested,

332
00:26:27,720 --> 00:26:34,000
like get involved, because let's agree
to this. Everyone wants to contribute to

333
00:26:34,079 --> 00:26:37,400
big project like Angle, right,
but no one wants to focus on the

334
00:26:37,480 --> 00:26:42,119
libraries. And that's why a lot
of maintenance are open source maintenances are struggling

335
00:26:42,839 --> 00:26:47,359
because of course they have they also
have limited time. They also work somewhere

336
00:26:47,359 --> 00:26:49,920
as a full time development, but
no one cares about it even though that's

337
00:26:51,000 --> 00:26:56,000
that library has millions of downlows until
less it's an old version and then your

338
00:26:56,240 --> 00:26:59,440
employers say say why it's not updated
or we want to update Angler, and

339
00:26:59,440 --> 00:27:03,960
we are struggle because this library is
not that latest version. Until that time,

340
00:27:03,000 --> 00:27:07,640
no one cares about it. So
as an experience developer, in case

341
00:27:08,559 --> 00:27:12,640
you're already using some of those live
labels, just go and help them,

342
00:27:12,759 --> 00:27:17,119
right, I mean, you can
just probably help them a grede to new

343
00:27:17,200 --> 00:27:19,359
version. That's also contribution, right, that that will help them as well,

344
00:27:21,160 --> 00:27:23,039
and that will also give you an
idea like how to contribute to open

345
00:27:23,079 --> 00:27:29,240
source, or you're using some API
from let's say, let's say you started

346
00:27:29,279 --> 00:27:33,359
doing state management and you ended up
at some issue which is inside eng X,

347
00:27:33,319 --> 00:27:38,119
and if you can debuget and you
can contribute back, that will be

348
00:27:38,200 --> 00:27:41,799
a great start as well, right, and that will be helpful for others

349
00:27:41,839 --> 00:27:45,839
as well. Of course, there
is organizations which has some policy policy that

350
00:27:45,000 --> 00:27:49,759
they don't want people to contribute to
open source because for some experssing reason.

351
00:27:49,839 --> 00:27:53,759
But if your organization does not allow
to do it from your own time,

352
00:27:53,839 --> 00:28:00,039
right to do it only your time
on your laptop and haven't separate probably a

353
00:28:00,119 --> 00:28:03,519
kid of account. Some employers are
really have really happy to do, like

354
00:28:04,200 --> 00:28:08,680
have you use your own account?
For example that Saloni ist Selonis is.

355
00:28:10,599 --> 00:28:14,519
Yeah, I can say they're pretty
much supportive of these things. So they

356
00:28:14,559 --> 00:28:17,559
don't care. I mean they don't
care in the terms. Yeah, I

357
00:28:17,559 --> 00:28:18,720
mean this is good for them as
well. Right. They have people who

358
00:28:18,720 --> 00:28:22,119
are contributing to the film. But
some companies don't think in that way.

359
00:28:22,160 --> 00:28:26,279
They think that Okay, if you're
contributing, you are probably helping your competitors.

360
00:28:26,480 --> 00:28:30,480
I'm not sure how because you're contributing
to not toget and you're in.

361
00:28:32,200 --> 00:28:34,799
But yeah, that's a different,
different, probably topic to discuss about.

362
00:28:34,880 --> 00:28:37,039
But yeah, this is what you
can do, like as an experienced empt

363
00:28:37,119 --> 00:28:41,640
but you have more projects to contribute
to. But if you're a new teftlopper,

364
00:28:42,319 --> 00:28:47,880
probably your chances are little bit limited
because you just know about Angler,

365
00:28:48,079 --> 00:28:52,200
right, so you can just concentrate
on probably picking up something from Angler.

366
00:28:52,720 --> 00:28:57,200
Then try different libraries, because if
you think about web, most of the

367
00:28:57,279 --> 00:29:02,279
technologies which you have out, what
you will do using them? Probably you

368
00:29:02,279 --> 00:29:04,359
will create some product. It will
be same, right, I mean probably

369
00:29:04,400 --> 00:29:07,240
will reach out to similar APIs.
For example, let's say try and drop.

370
00:29:07,880 --> 00:29:11,759
If I have to drop and react, probably I'll reach out to some

371
00:29:11,119 --> 00:29:15,160
library which already exists. As a
new learner, probably I will also do

372
00:29:15,240 --> 00:29:19,039
the same. But that gives me
limited opportunately because I'm not still not aware

373
00:29:19,039 --> 00:29:23,720
of how libraries work, so I
have to be like That's why I always

374
00:29:23,759 --> 00:29:29,400
recommend that on day one, don't
think about contributing to any project. On

375
00:29:29,559 --> 00:29:32,960
day when your thoughts should be like, because I will give give my six

376
00:29:33,039 --> 00:29:37,759
months to learn about this framework,
right, I'll try to understand like how

377
00:29:37,920 --> 00:29:41,240
things work, how I can do
this, do that, and then think

378
00:29:41,279 --> 00:29:45,079
about Okay, if once I think
I have reached that point that where I

379
00:29:45,200 --> 00:29:51,240
know stuff how to do, probably
create my own library. Then as we

380
00:29:51,279 --> 00:29:55,359
go ahead and to try to jump
into the libraries and see if I can

381
00:29:55,400 --> 00:29:59,839
do so. Or again, for
as an experience developer, let's say if

382
00:29:59,880 --> 00:30:06,640
you working on some internal project and
you have use cases because you might want

383
00:30:06,680 --> 00:30:08,920
to implement something which is not there, which is not their noble source.

384
00:30:11,160 --> 00:30:14,799
This is also a good idea,
a good opportunity where you can actually create

385
00:30:14,880 --> 00:30:18,960
that profensial project, share it with
the community, and probably convince your employer

386
00:30:18,640 --> 00:30:26,680
that we should use this project.
Right and if it gives more disability to

387
00:30:26,799 --> 00:30:32,880
your orgnation, why not do that? Perfect? Yeah, and let's let's

388
00:30:33,039 --> 00:30:37,680
bring the contributions to Angular even more
closer to the reality of the day to

389
00:30:37,759 --> 00:30:42,640
day. So, for example,
what I'd like to do is to explain

390
00:30:42,799 --> 00:30:48,519
to the audience some of the projects
that you contributed yourself. So we in

391
00:30:48,640 --> 00:30:53,160
the introduction we already briefly mentioned some
of the things that you have already done,

392
00:30:55,000 --> 00:30:57,480
but perhaps we can even talk about
some of the contributions that you did

393
00:30:57,759 --> 00:31:04,759
to the Angular core code because that
is definitely going to help people bring through

394
00:31:04,799 --> 00:31:10,799
reality the types of things that they
can do. Right. Yeah, I

395
00:31:10,880 --> 00:31:18,039
mean my first peer for Angler was
actually dogs. So that was the time

396
00:31:18,160 --> 00:31:22,319
like I started exploring the ways how
I can contribute to open source and I

397
00:31:22,440 --> 00:31:25,759
was like, okay, what should
I do and how should I contribute to

398
00:31:25,799 --> 00:31:30,319
Angler? And then I ended up
at an issue that you know, Angler

399
00:31:30,400 --> 00:31:34,920
has librarries, right, can create
libraries, so it was not documented,

400
00:31:36,039 --> 00:31:41,279
like the project structure was not documented. There was uh your Angler application like

401
00:31:41,359 --> 00:31:44,559
how they looked like it was already
documented. Then I was like, okay,

402
00:31:44,680 --> 00:31:48,160
this is my opportunity, and I
went ahead and that I did that.

403
00:31:48,279 --> 00:31:52,440
That was my first pr for Angler. But before that actually opened my

404
00:31:52,480 --> 00:31:56,160
first peer for NGRX. So my
first peer was not for Angler. So

405
00:31:56,519 --> 00:32:01,000
I went to NGLs because, as
I said, like, if you're experienced

406
00:32:01,000 --> 00:32:05,480
sevenumber, you feel tried to some
different things, right, So I was

407
00:32:05,559 --> 00:32:10,400
exploring something called schematics. Strangler as
this concept of schematics and prictus, and

408
00:32:10,519 --> 00:32:14,599
I was exploring about schematics and then
I figured out, okay, there is

409
00:32:14,599 --> 00:32:17,400
an open issue related to schematics in
NGI r X, and I was like,

410
00:32:17,440 --> 00:32:20,920
okay, let's let's take this,
let's see how how to do it.

411
00:32:21,119 --> 00:32:22,599
Of course, it took me some
time to go through court based like

412
00:32:22,680 --> 00:32:28,119
how they are doing it, and
that's that's how I made my first per

413
00:32:28,160 --> 00:32:31,480
for NJRS and then I kept country
builting. I mean, I I helped

414
00:32:31,519 --> 00:32:36,640
them with some APIs. For example, if I remember, my last PR

415
00:32:36,920 --> 00:32:40,400
was related to j X data,
which I still don't understand. I think

416
00:32:40,400 --> 00:32:47,519
they replicated it any phase, and
I also like phase several prs to upgrade

417
00:32:47,839 --> 00:32:52,039
jr X back in days. Now, I don't get that much time,

418
00:32:52,240 --> 00:32:57,440
like because of course you have full
time job, and you're mean if you

419
00:32:57,480 --> 00:33:00,160
have been doing a lot of other
stuff running a community and every thing,

420
00:33:00,279 --> 00:33:04,720
doing podcasts. So but whenever I
get time, like if I see some

421
00:33:04,920 --> 00:33:07,720
open issue which I think I can
do it, I take it. I

422
00:33:07,799 --> 00:33:10,759
mean, and most of them probably
maybe talks. For example, my last

423
00:33:10,799 --> 00:33:15,759
PR for Angler first talks. So
if with new talk side there was a

424
00:33:15,839 --> 00:33:21,200
section where you can migrate to standalone
components, and that was missing, so

425
00:33:21,200 --> 00:33:23,920
I just added that because of course
I had some free time lovel giveness to

426
00:33:24,000 --> 00:33:30,039
this, but I don't keep myself
limited to onunly Angular and in chairings,

427
00:33:30,079 --> 00:33:34,319
I tried to see like if there
are in other projects recently, are is

428
00:33:34,359 --> 00:33:37,400
the peer for Solid? So of
course I don't work on Solid. But

429
00:33:37,519 --> 00:33:40,279
I was just on a podcast with
Ryan Gardian to the creator of Solid and

430
00:33:40,480 --> 00:33:45,240
they're okay, how to contribute to
Solid, and believe me, I opened

431
00:33:45,279 --> 00:33:49,559
the PR during the the podcast episode
somehow, so Layer can do this.

432
00:33:49,799 --> 00:33:52,079
On the side, I was doing
my PR, So it depends. I

433
00:33:52,119 --> 00:33:55,400
mean, now I don't try to
keep myself in my last and now there's

434
00:33:55,440 --> 00:34:00,240
a PR which is still open,
which is for backstage if if you know

435
00:34:00,319 --> 00:34:05,720
backstage, this is a tool for
DevOps, right, so basically your devositve

436
00:34:05,799 --> 00:34:10,559
can create dashboard, different beat of
dashboards, documentation, all those. So

437
00:34:13,320 --> 00:34:16,519
depends. So it's not like I'm
just contributing to Angular and Angular ecosystem.

438
00:34:16,599 --> 00:34:21,440
Now. I try to help wherever
I can, wherever I think, I

439
00:34:21,559 --> 00:34:23,280
think I have time, and I
think this is something which I can wrap

440
00:34:23,440 --> 00:34:29,679
up because in continua, contribution is
useful, right, I mean I don't

441
00:34:29,719 --> 00:34:32,679
think like this is the first thing
which you could remove from your mind that

442
00:34:34,320 --> 00:34:38,920
oh this is very small contribution.
No, I mean every contribution is apprecious

443
00:34:38,960 --> 00:34:43,039
because remember, no one else was
dreaming it. I mean, there are

444
00:34:43,079 --> 00:34:45,400
millions of developers, but not everyone
is actually doing open source right, and

445
00:34:45,519 --> 00:34:52,679
no one, not everyone is actually
contributing or making something better even though they

446
00:34:52,760 --> 00:34:57,079
don't right. A lot of times
we go to the doc, we find

447
00:34:57,119 --> 00:35:00,159
something wrong, and we just ignore
it. So if you're doing it,

448
00:35:00,599 --> 00:35:04,440
you're doing something. Yeah, I
would like to ask like a different kind

449
00:35:04,480 --> 00:35:09,039
of non technical questions. So as
I as from our conversation and from the

450
00:35:09,119 --> 00:35:12,840
intro asual, A lot of people
know that you do. You are doing

451
00:35:12,920 --> 00:35:16,360
a lot. They are doing a
lot since a long time. Maybe like

452
00:35:16,599 --> 00:35:22,559
you said from tag nineteen, you
might be doing prior to that. So

453
00:35:22,719 --> 00:35:25,880
this is just a from a I'm
asking for myself as a how do you

454
00:35:27,639 --> 00:35:31,320
manage your time to do these many
things? Or like when you get time

455
00:35:31,400 --> 00:35:37,159
to read what all those? How
your taste work? Very complicated because when

456
00:35:37,360 --> 00:35:42,519
people ask me like time management and
like okay, do that the wrong person?

457
00:35:42,639 --> 00:35:45,760
I mean I don't know like how
how it works, because it works

458
00:35:45,840 --> 00:35:53,000
right somehow, somehow, I'm somehow
it works. I try to manage my

459
00:35:53,159 --> 00:35:59,280
time. Probably it really depends when
I'm feeling well. I don't try to

460
00:35:59,320 --> 00:36:06,000
push myself now because I have multiple
what you can say, yeah, for

461
00:36:06,119 --> 00:36:12,239
good the time, responsib I know
responsibility. I'm in a So there was

462
00:36:12,280 --> 00:36:15,400
time like I was not doing anything, so uh yeah, there's a there's

463
00:36:15,440 --> 00:36:19,280
a term for it, right,
So now I don't forget about it.

464
00:36:19,840 --> 00:36:22,960
But there were multiple times that I
was like not feeling feeling like to do

465
00:36:23,119 --> 00:36:28,360
anything because I pushed myself so much
for like six months, and then the

466
00:36:28,440 --> 00:36:30,400
next three months or next six months, I was not doing anything. So

467
00:36:30,840 --> 00:36:34,159
now as I've stopped doing it,
it's like, Okay, if I feel

468
00:36:34,280 --> 00:36:37,079
good and I think I want to
do it, I would do it.

469
00:36:37,239 --> 00:36:39,239
Otherwise it's okay, I mean because
I already have a lot of things to

470
00:36:39,280 --> 00:36:44,199
do. So for example, a
podcast, we we do like two poadcasts

471
00:36:44,199 --> 00:36:47,480
per month, so of course that's
that's something which also needs time. And

472
00:36:47,599 --> 00:36:52,840
then we are doing virtual this month, not this month, but next month.

473
00:36:52,039 --> 00:36:55,440
This is a great yea, so
next month we're also doing a virtual

474
00:36:55,480 --> 00:37:00,960
fun So I'm also a little bit
busy there promoting things and every like safe

475
00:37:01,039 --> 00:37:05,480
peace, collecting safe peace, asking
people to reinstill, and we're doing it

476
00:37:05,599 --> 00:37:08,280
on our own, so it's not
like it it will sponsored or something.

477
00:37:08,440 --> 00:37:13,320
So we're just trying to It's a
virtually can basically, so we know like

478
00:37:13,519 --> 00:37:16,400
of course that we need to need
for money back. I think we can

479
00:37:16,480 --> 00:37:21,719
manage because our community we mostly focus
on free stuff. That's that's our mot

480
00:37:22,119 --> 00:37:27,519
we are. We are for free
learning and open learning, mostly being open

481
00:37:27,599 --> 00:37:31,599
source, and my co founder Laws
is also big time advocate for open learning

482
00:37:31,639 --> 00:37:35,639
and open source. So that's how
we decided to do this. Uh.

483
00:37:36,320 --> 00:37:38,360
But for example, I was just
I just came back from a vacation,

484
00:37:38,480 --> 00:37:42,920
so I was on vacation for two
weeks. Because of course everyone needs the

485
00:37:42,960 --> 00:37:46,719
time of right, so time management. Yeah, I mean I'm really bad

486
00:37:46,760 --> 00:37:52,039
at retirement. I'm still like I
want to record a course and believe me,

487
00:37:52,480 --> 00:37:57,719
it's been friending from a year now, so yeah, not the best

488
00:37:57,719 --> 00:38:00,719
person. That's the only thing is
of course some how it works for me.

489
00:38:00,239 --> 00:38:07,800
But don't get motivated from what I
do. Just see like how your

490
00:38:07,840 --> 00:38:10,519
should need works, how what you
can do. Remember like if you're doing

491
00:38:10,599 --> 00:38:15,239
something community, that's enough, Like
you don't have to do everything. For

492
00:38:15,400 --> 00:38:19,239
example, when I started, I
was doing mostly open source, right,

493
00:38:19,280 --> 00:38:22,000
so when I started nineteen for India, I was just doing open source.

494
00:38:22,039 --> 00:38:27,119
Then I realized, okay, how
long a person can do the same stuff.

495
00:38:27,559 --> 00:38:30,000
I mean, we noment right,
be good, we get board.

496
00:38:30,599 --> 00:38:32,639
So I decided to do something and
s try something else. So I decided,

497
00:38:34,079 --> 00:38:37,599
okay, let's do this podcast thing. So that worked, so we

498
00:38:37,679 --> 00:38:40,440
are still doing I'm still doing this
podcast, but I also have co hosts

499
00:38:40,719 --> 00:38:44,719
just to make sure that in case
I'm not there, so other people can

500
00:38:44,800 --> 00:38:46,960
take up. Then, of course, there was a time I was like,

501
00:38:47,039 --> 00:38:50,920
okay, I want to write.
I don't write much now, but

502
00:38:51,360 --> 00:38:52,800
there was a time I was like
writing every month. So I was like,

503
00:38:52,920 --> 00:38:57,559
okay, that this is my jab
right now, and then I was

504
00:38:57,639 --> 00:39:01,000
doing that. So don't care.
Don't think about like doing so much stuff

505
00:39:01,079 --> 00:39:06,400
at once. Just just think like
what you feel like doing at that moment,

506
00:39:07,280 --> 00:39:08,880
and just do it. I mean, every contribution, as I said,

507
00:39:08,960 --> 00:39:14,000
like, it's a specious for someone
who's trying to learn the same thing

508
00:39:14,039 --> 00:39:19,119
which you're planned to write. So
just just think about that and keep contributing.

509
00:39:19,440 --> 00:39:22,840
Yeah, it's nice advice, like, don't very so USh to do

510
00:39:22,920 --> 00:39:28,320
a lot of things. Keep doing
one things, and after some days,

511
00:39:28,360 --> 00:39:30,800
if you look back, you have
done a lot of things. Yeah,

512
00:39:30,960 --> 00:39:37,880
I have another question which is not
very technical, but maybe you feel the

513
00:39:37,000 --> 00:39:44,199
here that you have more knowledge about
this than time management to to speak about

514
00:39:44,239 --> 00:39:52,119
this, which is the effects of
contributing to open source in your career because

515
00:39:52,159 --> 00:39:59,519
a lot of developers they put in
their minds that they must contribute it to

516
00:39:59,679 --> 00:40:07,880
open service to get good jobs.
And that's not really true, but it

517
00:40:08,079 --> 00:40:16,440
does help. But I'm wondering from
someone that did a lot of contributing a

518
00:40:16,519 --> 00:40:22,480
lot of contributions, how much do
you think that people can justify their their

519
00:40:22,559 --> 00:40:27,159
time spent on contributing to open source
in a way that they're going to think,

520
00:40:27,199 --> 00:40:30,679
oh, I'm doing this to actually
this is actually a financial investment because

521
00:40:30,719 --> 00:40:36,840
this is going to increase my salary
or or whatever. Like I'd like to

522
00:40:37,000 --> 00:40:43,599
bring a little bit more reality from
someone that has dedicated so much time to

523
00:40:43,760 --> 00:40:46,840
it. A good question because I
remember when I started contributing the first question,

524
00:40:47,239 --> 00:40:51,719
and so when I was contributing,
so I was talking to ngatics team

525
00:40:51,719 --> 00:40:54,800
a lot, and one don't the
court team member asked me like, why

526
00:40:55,039 --> 00:41:00,000
you're doing contribution? Of course it
is your attention because they I'm enjoying it

527
00:41:00,159 --> 00:41:02,079
and it was like, oh,
this is the correct way to do it,

528
00:41:02,559 --> 00:41:07,519
because there are a lot of people
who do it for money or they

529
00:41:07,159 --> 00:41:09,519
they want to get a good job. There's nothing wrong in it, right,

530
00:41:09,880 --> 00:41:13,800
I mean, if you if you
really think that contributing to that particular

531
00:41:13,880 --> 00:41:15,960
project will get you a better job, I'm into it. Not nothing to

532
00:41:16,000 --> 00:41:19,840
worry about. But my intention was
clear of it. Okay, I wanted

533
00:41:19,880 --> 00:41:22,280
to do it because I want to
health communitee and this is what I'm enjoying

534
00:41:22,360 --> 00:41:28,480
right now. So have an intention, make your intention clear, like if

535
00:41:28,519 --> 00:41:31,840
you're if you're contributed to a big
project, I think having a clear intention

536
00:41:31,960 --> 00:41:37,400
or clear goald is really worth it. And there can be a bad intention,

537
00:41:37,559 --> 00:41:38,199
right, I mean, if you
know, if you know about the

538
00:41:38,320 --> 00:41:45,079
new recent project text, See so
they did it for two years, right,

539
00:41:45,159 --> 00:41:47,639
It's was not like they just added
this back door in a day.

540
00:41:49,119 --> 00:41:52,320
They contributed for that to that project
for two years and then they finally saw

541
00:41:52,480 --> 00:41:55,800
a chance and then they added a
back to. So intention can be wrong,

542
00:41:55,920 --> 00:42:02,280
but have a clear board intention,
like why won't you contribute? Most

543
00:42:02,280 --> 00:42:05,960
of the open source contributors are doing
it. They are not doing it for

544
00:42:06,079 --> 00:42:08,519
money or they are not doing it
for good job. They are just doing

545
00:42:08,559 --> 00:42:13,480
it because they love it that they
love helping people, they love creating something

546
00:42:13,559 --> 00:42:16,119
new. If that's your intention,
of course you will. You will contribute

547
00:42:16,159 --> 00:42:20,679
for a longer time. If your
goal is to get a job, once

548
00:42:20,719 --> 00:42:22,199
you get a job, you will
just manage. You will not do it

549
00:42:22,280 --> 00:42:27,360
because that was your goal, that
was your intention. If your intention is

550
00:42:27,400 --> 00:42:30,159
to add a back door like two
years after, so that's a that's a

551
00:42:30,199 --> 00:42:35,400
different thing. But but this is
a really good question for a lot of

552
00:42:35,440 --> 00:42:39,159
people. So think why you're doing
it, and remember you don't have to

553
00:42:39,239 --> 00:42:45,800
be like very like two hundreds of
years seven. That's that's something of impossible

554
00:42:45,880 --> 00:42:50,639
until does your working on it full
time right And I know some people who

555
00:42:50,719 --> 00:42:54,280
can who are doing it. For
example Matthew who is contributing a lot to

556
00:42:54,360 --> 00:42:58,440
Angler. I don't know how it
does that, but he is. He

557
00:42:58,599 --> 00:43:01,880
keeps like doing more feature and probably
someone from Anger to So he has his

558
00:43:02,039 --> 00:43:05,920
intention right that he wants to do
it. He wants to actually invest his

559
00:43:06,039 --> 00:43:10,840
time making this framework amazing and he's
doing it. So yeah, have a

560
00:43:12,119 --> 00:43:14,639
clear gold, have clear intention why
you want to do it. In case

561
00:43:14,679 --> 00:43:19,880
you want to go longer, just
having a passion for doing it will take

562
00:43:19,880 --> 00:43:22,159
you longer. Because of course,
if my goal was to get a job,

563
00:43:22,239 --> 00:43:25,639
I mean probably I have I would
have stopped a year book or like

564
00:43:25,760 --> 00:43:29,280
after a year probably because I got
it. I got a rey more job

565
00:43:29,320 --> 00:43:34,400
and than I'm happy now. And
of course the impact right, of course,

566
00:43:34,760 --> 00:43:39,239
the impact of contributions. It can
lead you to something better. I

567
00:43:39,320 --> 00:43:45,960
mean because I generally tell this tool
everyone that whatever I have achieved is because

568
00:43:46,480 --> 00:43:50,639
of Angular community. Because that there
was a day I decided, okay,

569
00:43:50,679 --> 00:43:53,159
we'll go it and contribute to open
source. I will that this was not

570
00:43:53,280 --> 00:43:57,039
the goal. This was not the
goal to get a good job or come

571
00:43:57,039 --> 00:44:01,360
to Germany, but it helped.
It helped me get a visibility in the

572
00:44:01,400 --> 00:44:06,599
community that okay, this guy exists
and he's doing something which is amazing,

573
00:44:07,320 --> 00:44:10,639
right, and people started recognizing me
and there are people who wanted to work

574
00:44:10,679 --> 00:44:15,719
with. So if let's see,
like if your goal was to get a

575
00:44:15,800 --> 00:44:19,400
job, you will get it to
any phase in case like if you're if

576
00:44:19,440 --> 00:44:23,199
you're if you're making a bulling back, but have that goal that you want

577
00:44:23,239 --> 00:44:28,119
to actually just follow your passion,
you want to actually support this project and

578
00:44:28,639 --> 00:44:32,400
it will help you in long term, because what's the what's the point like

579
00:44:32,760 --> 00:44:37,159
getting banished from everywhere after a year
after you get a job, because you

580
00:44:37,239 --> 00:44:40,840
don't be to work on properly that
in that oorgation for more than two years

581
00:44:40,920 --> 00:44:44,679
or three years and depends. I
mean people work for five years, but

582
00:44:45,760 --> 00:44:47,840
aft of the three years you will
come back and contribute to open source to

583
00:44:47,880 --> 00:44:52,880
get another job doesn't make sense,
right, I mean making yourself visible takes

584
00:44:52,960 --> 00:44:57,039
time, and once you lose that
visibility, it's it's hard to get back

585
00:44:57,119 --> 00:45:00,599
and show that, Okay, you
have been doing this because you have start

586
00:45:00,639 --> 00:45:05,559
from zero, right, I mean
in two years, the technology change changes,

587
00:45:05,559 --> 00:45:08,320
people change, there will be probably
be net put in the community and

588
00:45:08,840 --> 00:45:15,079
you have to start from somewhere again. So yeah, I mean I just

589
00:45:15,280 --> 00:45:22,199
have a have that makes sutal sense, and it's great to give people this

590
00:45:22,400 --> 00:45:28,159
view of sure you can do it
if you're just looking to have something in

591
00:45:28,239 --> 00:45:32,039
your resume, but it's probably not
going to be a good investment of your

592
00:45:32,119 --> 00:45:39,159
time afterwards, because well for the
for the repository owners, it's most probably

593
00:45:39,239 --> 00:45:43,760
not going to be a good investment
of their time because if they stop to

594
00:45:43,840 --> 00:45:47,239
train you and then you just leave
after you get a job, then what

595
00:45:47,400 --> 00:45:52,840
do they do at that time?
But also for you, because if you

596
00:45:52,920 --> 00:45:58,199
don't stick around long enough to really
deeply understand how things work in the cow

597
00:45:58,280 --> 00:46:01,800
base, then you're missing out on
so many aha moments, you know,

598
00:46:02,000 --> 00:46:07,760
I think I think there's also value
in debt. If you work long enough

599
00:46:07,119 --> 00:46:14,039
in a code base built by professionals
that are more experienced than you, then

600
00:46:14,199 --> 00:46:17,960
over time, you're gonna internalize more
and more some of the decisions that they

601
00:46:19,039 --> 00:46:24,039
made, and you're gonna consciously or
subconsciously learn that and be able to apply

602
00:46:24,159 --> 00:46:29,079
that in your own projects. So
it's kind of like working with I think

603
00:46:29,159 --> 00:46:35,360
people forget this this aspect of it. It's like, would you want to

604
00:46:35,679 --> 00:46:40,760
work with some of the best engineers
in the world. Oh yes, I

605
00:46:40,800 --> 00:46:45,559
would love. I would learn so
much from them. But I don't have

606
00:46:45,719 --> 00:46:47,280
a job at Google. I don't
have a job at open Aye, I

607
00:46:47,320 --> 00:46:54,000
don't have a whatever. Like you
don't really need that because there's so many

608
00:46:54,119 --> 00:47:00,559
open source projects that are maintained by
those brilliant minds. So this is also

609
00:47:00,599 --> 00:47:04,840
a great way for you to develop
yourself as a professional. And if you

610
00:47:04,920 --> 00:47:07,159
don't want to use this knowledge just
to get a job, that's fine,

611
00:47:07,239 --> 00:47:12,400
like create your own startup whatever you
know, like you can use that knowledge

612
00:47:12,480 --> 00:47:19,079
for however, you want to make
an impact on your life on other people.

613
00:47:19,599 --> 00:47:22,559
So I think that's also something huge
to keep in mind. Okay,

614
00:47:24,239 --> 00:47:30,280
guys, we're approaching almost fifteen minutes
already. This is a very dense subject,

615
00:47:30,320 --> 00:47:32,119
so I'm sure that we could talk
about it for ten hours more.

616
00:47:32,800 --> 00:47:37,719
But I wonder if there's anything you'd
like to say before we start wrapping it

617
00:47:37,840 --> 00:47:42,960
up. So, I mean,
I'll be a blessest confidence to start so

618
00:47:43,519 --> 00:47:47,239
ted con. This is on con
is, which will be virtual ontreen sixteen,

619
00:47:47,840 --> 00:47:52,559
So if you can add that into
your description and that will be helpful

620
00:47:53,320 --> 00:47:58,719
to on the listeners then so they
can atend because we have more than footy

621
00:47:58,760 --> 00:48:01,360
speakers. That's the t I mean, I'm scared because this is good to

622
00:48:01,400 --> 00:48:07,679
be the first conference if you're doing
and we have a little bit ambitious in

623
00:48:07,840 --> 00:48:10,159
terms of getting food these because in
two days, but that's simple prob we

624
00:48:10,199 --> 00:48:16,440
can do it. And yeah,
okay, Well on my end, I'm

625
00:48:16,519 --> 00:48:21,159
just going to promote the two companies
that produce this show, so Top and

626
00:48:21,239 --> 00:48:25,639
DEVS and Void if you're looking to
learn more about web development in general,

627
00:48:27,239 --> 00:48:30,639
then there are a bunch of other
podcasts and content created about top and dew

628
00:48:30,800 --> 00:48:35,119
so you can take a look at
the website. And if you're a company

629
00:48:35,280 --> 00:48:40,320
or just someone looking for outside developers
and designers to help you on your project,

630
00:48:40,920 --> 00:48:46,079
then you may have experienced like a
situation where you hire someone and you

631
00:48:46,199 --> 00:48:51,679
didn't like the way that the work
was presented or the communication and then you

632
00:48:51,880 --> 00:48:57,320
just maybe got frustrated by that.
So Void aims to solve this exact problem.

633
00:48:57,760 --> 00:49:00,840
So the way that they work is
by feeling you only by task and

634
00:49:00,960 --> 00:49:06,599
only after they are delivered and approved
by you, so you have predictable costs

635
00:49:07,119 --> 00:49:10,800
and you also have quality control because
if you're not happy with the results,

636
00:49:10,840 --> 00:49:15,480
you can just ask for a change
until it is up to your quality standards.

637
00:49:15,920 --> 00:49:22,599
So it is really the best of
both forwards talking about outsourced design and

638
00:49:22,800 --> 00:49:27,840
software development services. So if you're
interested in that is you and Void dot

639
00:49:27,960 --> 00:49:32,719
com. So on Void. Yeah, so this would be my pro host.

640
00:49:32,960 --> 00:49:37,840
I'm gonna take a look at this
link to tell to say a little

641
00:49:37,840 --> 00:49:40,639
bit more about this comft. But
in the meantime, Cigarette, why don't

642
00:49:40,639 --> 00:49:45,880
you tell us what you're working on. Yeah, so I would like to

643
00:49:45,039 --> 00:49:52,559
promote my channel YouTube channel which is
fund of Furistic, I think mostly on

644
00:49:52,760 --> 00:50:00,679
Anglo, so please guard and watch
it. And currently I'm working on like

645
00:50:00,440 --> 00:50:06,000
some new hobbies. I pick up
that guy started kickboxing that's trying to see

646
00:50:06,000 --> 00:50:12,480
if it's how how it works,
and will continue on that. Yeah cool,

647
00:50:12,760 --> 00:50:17,039
okay, okay, And I will
also I will send this to our

648
00:50:17,119 --> 00:50:21,840
team so that they can add the
link to the conference in the show notes.

649
00:50:22,239 --> 00:50:24,519
But for those of you that maybe
don't have a comment section from where

650
00:50:24,559 --> 00:50:32,159
you're listening this from, it is
TI l comf dot Netlify, dot app.

651
00:50:32,679 --> 00:50:38,800
So this is Learning Conference twenty twenty
four. So I believe that if

652
00:50:38,880 --> 00:50:44,519
you look that up on Google,
you should probably find that eventually. And

653
00:50:44,639 --> 00:50:52,639
it's going to be happening on May
sixteen and May seventeen. Just to confirm,

654
00:50:52,719 --> 00:50:55,960
Satuch, this is going to be
a remote conference or is this going

655
00:50:57,039 --> 00:51:01,039
to be in person? No,
it's so much conference and it's free.

656
00:51:01,119 --> 00:51:06,920
It's free for everyone, so cool
to start and end like for a full

657
00:51:07,000 --> 00:51:10,440
day or oh no, So we
have planning to do it during a four

658
00:51:10,639 --> 00:51:15,679
to ninety p ANDC team time,
so we can cover most of the time

659
00:51:15,760 --> 00:51:20,159
zones. Base and speakers are also
from different time zones. So yeah,

660
00:51:20,199 --> 00:51:22,920
this is where I'm scared, as
I said, so managing all those forty

661
00:51:22,920 --> 00:51:29,559
speakers in different time zones that will
be there. Yeah, yeah, definitely.

662
00:51:30,079 --> 00:51:34,199
Okay, guys, thank you so
much, Santage, thank you so

663
00:51:34,400 --> 00:51:38,159
much for being on the show.
Please feel free to hop back and whenever

664
00:51:38,320 --> 00:51:44,480
you want to discuss anything, so
you have our contact and for just send

665
00:51:44,559 --> 00:51:47,519
us a message and we can find
this a lot. It's so it's great

666
00:51:47,559 --> 00:51:51,360
to have you on the show.
Thank you so much, Thank you so

667
00:51:51,440 --> 00:51:53,280
Ber, Thank you Gus. And
it was great like talking to you.

668
00:51:53,719 --> 00:51:58,119
Of course I missed the Albent but
midday. Thanks you chat with him later.

669
00:51:59,199 --> 00:52:04,599
Yeah, thanks a lot for a
nice conversation, pretty like knowledgeable for

670
00:52:04,719 --> 00:52:08,760
everyone. Yes, yes, okay, thanks everyone, and I'll see you

671
00:52:09,079 --> 00:52:10,400
in the next episode.
