WEBVTT

1
00:00:00.000 --> 00:00:01.360
She's here, but yeah.

2
00:00:01.360 --> 00:00:04.160
Willow is very interesting because when we started NPMX,

3
00:00:04.160 --> 00:00:08.120
we saw that other three projects were doing similar things.

4
00:00:08.120 --> 00:00:12.000
This happened a lot when you have an idea that is ready.

5
00:00:12.000 --> 00:00:13.720
We all share a lot of context.

6
00:00:13.720 --> 00:00:16.200
And people start to work in the same thing.

7
00:00:16.200 --> 00:00:19.000
And the good thing is that we know each other.

8
00:00:19.000 --> 00:00:19.560
We went.

9
00:00:19.560 --> 00:00:20.520
We took it.

10
00:00:20.520 --> 00:00:21.840
And we decided to work together.

11
00:00:21.840 --> 00:00:26.480
And NPMX is here today because we didn't do four different

12
00:00:26.480 --> 00:00:31.360
alternatives to the browser for the NPMX.com browser.

13
00:00:31.360 --> 00:00:33.280
But we all work together.

14
00:00:33.280 --> 00:00:35.040
So thank you, Willow.

15
00:00:35.040 --> 00:00:38.560
And Shames is also here, part of the core team.

16
00:00:38.560 --> 00:00:41.520
And he is leading E18E that I think

17
00:00:41.520 --> 00:00:45.000
you may have seen him working on improving the performance

18
00:00:45.000 --> 00:00:47.560
of every package in the ecosystem.

19
00:00:47.560 --> 00:00:51.400
And the relationship between E18E and the NPMX community

20
00:00:51.400 --> 00:00:55.080
is a great example of how we work, not only internally,

21
00:00:55.080 --> 00:00:56.520
but also with other communities.

22
00:00:56.520 --> 00:00:59.400
And later on, we are going to see a little bit about that.

23
00:00:59.400 --> 00:01:01.000
And Daniel will say hi.

24
00:01:01.000 --> 00:01:03.400
He will have love to be here.

25
00:01:03.400 --> 00:01:05.400
And we wanted to include him because he

26
00:01:05.400 --> 00:01:07.480
has started the project.

27
00:01:07.480 --> 00:01:09.920
So for people that are not programmers,

28
00:01:09.920 --> 00:01:12.360
when we talk about packages, imagine

29
00:01:12.360 --> 00:01:16.160
if we would like to, for the app protocol, the Bluesky

30
00:01:16.160 --> 00:01:19.720
app protocol handle, we would like to see the display name.

31
00:01:19.720 --> 00:01:22.640
Bluesky app has a nice public API for it.

32
00:01:22.640 --> 00:01:25.000
But we normally don't start from scratch.

33
00:01:25.240 --> 00:01:28.400
We use libraries that are distributed as packages.

34
00:01:28.400 --> 00:01:32.200
So in JavaScript, we will import it, a client,

35
00:01:32.200 --> 00:01:34.880
for example, from AdQ from Marie.

36
00:01:34.880 --> 00:01:39.560
And we can create a client for that service.

37
00:01:39.560 --> 00:01:43.400
And this let us do very comfortable with type it,

38
00:01:43.400 --> 00:01:48.640
functions, and get the display name in an easy way.

39
00:01:48.640 --> 00:01:51.600
So packages let us build software collaboratively.

40
00:01:51.600 --> 00:01:54.680
And depending on the work of amazing other people

41
00:01:54.680 --> 00:01:58.280
and don't start from scratch, the package registry

42
00:01:58.280 --> 00:02:01.920
from the web, like a JavaScript, is MPM.

43
00:02:01.920 --> 00:02:04.000
You will do MPM installs, a group client

44
00:02:04.000 --> 00:02:06.800
to get this one in your project.

45
00:02:06.800 --> 00:02:10.560
And in MPMx, we actually have a dependency on Marie.

46
00:02:10.560 --> 00:02:12.360
We are using her libraries.

47
00:02:12.360 --> 00:02:13.800
So thanks, Marie.

48
00:02:13.800 --> 00:02:17.680
Not only on Marie, but on a lot of really wonderful

49
00:02:17.680 --> 00:02:22.720
open source projects, all the beta stack, Nax, Vue, and JS

50
00:02:22.720 --> 00:02:23.440
Org.

51
00:02:23.440 --> 00:02:25.440
There is so many people.

52
00:02:25.440 --> 00:02:30.160
We couldn't have built MPMx without this in two months.

53
00:02:30.160 --> 00:02:34.320
We are relying on all this, the work of a lot of people.

54
00:02:34.320 --> 00:02:38.600
And in the case of MPM, so this is the world's largest software

55
00:02:38.600 --> 00:02:39.120
registry.

56
00:02:39.120 --> 00:02:40.920
This is a graph from Geek Health,

57
00:02:40.920 --> 00:02:42.480
released not long ago.

58
00:02:42.480 --> 00:02:44.600
If you take into account JavaScript and TypeScript

59
00:02:44.600 --> 00:02:47.440
together, it's almost double of Python.

60
00:02:47.440 --> 00:02:53.440
It's an amazing registry of the work of so many people.

61
00:02:53.440 --> 00:02:55.920
And it's a little bit hard to understand

62
00:02:55.920 --> 00:02:58.440
because it consists on three parts.

63
00:02:58.440 --> 00:03:01.120
The registry is called MPM and has that logo.

64
00:03:01.120 --> 00:03:03.400
The CLI is called MPM and has that logo.

65
00:03:03.400 --> 00:03:05.880
And the website is called MPM.js.com

66
00:03:05.880 --> 00:03:07.240
and has the same logo.

67
00:03:07.240 --> 00:03:09.280
So people, when they think about MPM,

68
00:03:09.280 --> 00:03:11.520
they think about all the things together.

69
00:03:11.520 --> 00:03:13.200
But there are three different parts.

70
00:03:13.200 --> 00:03:16.080
The registry where all the tarballs are stored

71
00:03:16.080 --> 00:03:18.920
and they have a public API that you can fetch.

72
00:03:18.920 --> 00:03:20.920
The CLI is something in the command line interface

73
00:03:20.920 --> 00:03:23.960
that we use to interact with that registry.

74
00:03:23.960 --> 00:03:28.040
And the website allow us to browse, search,

75
00:03:28.040 --> 00:03:29.800
do admin stuff.

76
00:03:29.800 --> 00:03:34.080
So MPM, right now, it is on the hands of Microsoft.

77
00:03:34.080 --> 00:03:39.600
And yeah, they have not been adding a lot of features

78
00:03:39.600 --> 00:03:41.160
lately to it.

79
00:03:41.160 --> 00:03:44.480
So other open source people and projects

80
00:03:44.480 --> 00:03:47.120
have been trying to say, maybe we

81
00:03:47.120 --> 00:03:48.480
should innovate a little bit.

82
00:03:48.480 --> 00:03:51.200
And so on the registry side, you have

83
00:03:51.200 --> 00:03:53.640
JSR from the Dena Fox.

84
00:03:53.640 --> 00:03:58.040
You have Vault that also were ex-MPM folks trying

85
00:03:58.040 --> 00:04:00.840
to see what they could improve.

86
00:04:00.840 --> 00:04:04.800
We could have twice, maybe as fast,

87
00:04:04.800 --> 00:04:06.640
if we are able to modify the server

88
00:04:06.640 --> 00:04:09.800
and make the CLI and the server together,

89
00:04:09.800 --> 00:04:12.120
communicate in a little bit of a better way.

90
00:04:12.120 --> 00:04:15.200
On the CLI, this has been for a long time.

91
00:04:15.200 --> 00:04:18.080
Yarn first show a lot of innovation.

92
00:04:18.080 --> 00:04:22.360
Then PMPM in the VTecho system.

93
00:04:22.360 --> 00:04:24.720
And front end, now PMPM is huge.

94
00:04:24.720 --> 00:04:27.160
We are all using PMPM.

95
00:04:27.160 --> 00:04:32.720
And on the website side, we have nothing.

96
00:04:32.720 --> 00:04:35.680
Actually, there are some things, for example, for the graph.

97
00:04:35.680 --> 00:04:39.800
There is a lot of mini websites to do graph for the other graphs.

98
00:04:39.800 --> 00:04:42.560
And they are all Yarn, JSR, Vault, all

99
00:04:42.560 --> 00:04:44.960
have their own little browsers.

100
00:04:44.960 --> 00:04:48.800
But there's nothing that we can put here.

101
00:04:48.800 --> 00:04:51.560
And we actually need something there.

102
00:04:51.560 --> 00:04:54.480
Because I don't know if you see how the light in the room

103
00:04:54.480 --> 00:04:58.680
changed, but it only has light mode.

104
00:04:58.680 --> 00:05:03.760
So for some of us, that is the way we don't use it.

105
00:05:03.760 --> 00:05:08.480
And also, if you see the weekly download graph there,

106
00:05:08.480 --> 00:05:10.160
you can only see the last week.

107
00:05:10.160 --> 00:05:12.600
You cannot explore the graph.

108
00:05:12.600 --> 00:05:14.800
There is so much more that we could do here.

109
00:05:14.800 --> 00:05:18.480
And the packages and all the relationships,

110
00:05:18.480 --> 00:05:20.520
it is a social endeavor.

111
00:05:20.520 --> 00:05:24.480
We could see where are the maintainers?

112
00:05:24.480 --> 00:05:26.280
I don't know where there are the maintainers here.

113
00:05:26.280 --> 00:05:28.920
Where are the relationships between the different packages?

114
00:05:28.920 --> 00:05:31.200
The graph of the different dependencies.

115
00:05:31.200 --> 00:05:34.040
All these things are extremely important.

116
00:05:34.040 --> 00:05:40.200
So Daniel sent to Bluesky this post on January 23,

117
00:05:40.200 --> 00:05:42.320
saying that for reasons he would like

118
00:05:42.320 --> 00:05:45.640
to know what are the frustrations with the package

119
00:05:45.640 --> 00:05:46.160
registry.

120
00:05:46.160 --> 00:05:47.920
And a lot of people responded.

121
00:05:47.920 --> 00:05:49.920
It's like 50 replies.

122
00:05:49.920 --> 00:05:52.400
Nine hours later, he had a working prototype.

123
00:05:52.400 --> 00:05:56.240
And he is starting to invite people to work with him.

124
00:05:56.240 --> 00:05:59.600
He didn't take it for himself only.

125
00:05:59.600 --> 00:06:03.400
And in the first week, that resulted in 50 PRs

126
00:06:03.400 --> 00:06:05.280
in the first day.

127
00:06:05.280 --> 00:06:06.920
So a lot of people were frustrated

128
00:06:06.920 --> 00:06:10.240
and wanted to actually change things.

129
00:06:10.240 --> 00:06:14.920
We created community chat.

130
00:06:14.920 --> 00:06:17.160
And it's starting to invite people through DMs

131
00:06:17.160 --> 00:06:20.520
and through Bluesky, like a big post in Bluesky,

132
00:06:20.520 --> 00:06:23.760
a little bit, because we wanted to start intentionally

133
00:06:23.760 --> 00:06:25.360
growing the community.

134
00:06:25.360 --> 00:06:29.080
One of that invites was to zero, because at the beginning,

135
00:06:29.160 --> 00:06:32.240
the first time that Daniel asked me

136
00:06:32.240 --> 00:06:34.440
if I would like to work with him,

137
00:06:34.440 --> 00:06:37.520
I say, we should do something with that proto,

138
00:06:37.520 --> 00:06:40.120
because that proto is awesome.

139
00:06:40.120 --> 00:06:43.720
So this time, inviting zeros, they will say, yes.

140
00:06:43.720 --> 00:06:46.440
And we are working together.

141
00:06:46.440 --> 00:06:52.680
And the second week, at the end, we had 1K issues and PRs.

142
00:06:52.680 --> 00:06:55.240
It is like one every 20 minutes around the clock.

143
00:06:55.240 --> 00:06:57.040
That is kind of impressive.

144
00:06:57.040 --> 00:06:59.880
And we ended up with 100 contributors

145
00:06:59.880 --> 00:07:02.560
that were invited through this open and working,

146
00:07:02.560 --> 00:07:07.560
the 1.5-car starts without real promotion.

147
00:07:07.560 --> 00:07:10.680
It was like we didn't want to mention the name

148
00:07:10.680 --> 00:07:11.520
at the beginning.

149
00:07:11.520 --> 00:07:13.880
People were saying, where is the link?

150
00:07:13.880 --> 00:07:15.080
And yeah, you could find it.

151
00:07:15.080 --> 00:07:18.200
If you really care, you could find it.

152
00:07:18.200 --> 00:07:21.480
So we are back to the light thing.

153
00:07:21.480 --> 00:07:27.040
And this resulted that if you go to any web page

154
00:07:27.040 --> 00:07:29.080
and you put an x at the beginning,

155
00:07:29.080 --> 00:07:31.840
we are recovering the x for something more important.

156
00:07:31.840 --> 00:07:36.880
And you're going to get to dark mode.

157
00:07:36.880 --> 00:07:41.040
So this is our browser for the MPM registry.

158
00:07:41.040 --> 00:07:43.720
And we are seeing ad-cute client here.

159
00:07:43.720 --> 00:07:50.880
And actually, we can, I don't know, we can go to ad-cute.

160
00:07:50.880 --> 00:07:52.920
So you can see a package.

161
00:07:52.920 --> 00:07:55.200
And you can see that there is a graph.

162
00:07:55.200 --> 00:07:55.920
And you can see that.

163
00:08:03.680 --> 00:08:05.120
OK, sorry.

164
00:08:05.120 --> 00:08:05.720
Nice.

165
00:08:05.720 --> 00:08:08.960
And this works, actually.

166
00:08:08.960 --> 00:08:13.080
OK, that's very interesting.

167
00:08:13.080 --> 00:08:14.760
It will be a little bit more difficult.

168
00:08:14.760 --> 00:08:17.440
So yeah, so we can go here.

169
00:08:17.440 --> 00:08:22.360
And yeah, now in the graph, we can see a beautiful graph.

170
00:08:22.360 --> 00:08:24.960
And you can see, like, everything.

171
00:08:24.960 --> 00:08:25.460
Yeah.

172
00:08:29.720 --> 00:08:35.040
So this thing that we're building is not only a product.

173
00:08:35.040 --> 00:08:40.360
We are also working together and constructing a massive team

174
00:08:40.360 --> 00:08:43.120
that is going to keep working on this project

175
00:08:43.120 --> 00:08:47.040
and in other things that maybe we want to change.

176
00:08:47.040 --> 00:08:51.280
And we are also already organized it a little bit.

177
00:08:51.280 --> 00:08:55.320
From row that you see there are all the maintainers

178
00:08:55.320 --> 00:08:57.560
of our project.

179
00:08:57.560 --> 00:09:00.960
These are the core team of our project.

180
00:09:00.960 --> 00:09:03.000
And actually, these are just roles.

181
00:09:03.000 --> 00:09:06.360
Because there is resources that we need to keep together.

182
00:09:06.360 --> 00:09:09.600
But we are all peers and work together.

183
00:09:09.600 --> 00:09:13.280
And I see that why this work it, there is a lot of things.

184
00:09:13.280 --> 00:09:14.800
Each of these things will be ad-talk.

185
00:09:14.800 --> 00:09:17.000
But I will go very fast through it.

186
00:09:17.000 --> 00:09:20.640
But there is a coherent, consensual prohibition.

187
00:09:20.640 --> 00:09:23.120
But we try to iterate fast, knowing

188
00:09:23.120 --> 00:09:24.640
that the code is my level.

189
00:09:24.640 --> 00:09:26.320
And we can keep changing it.

190
00:09:26.320 --> 00:09:27.400
And we use versions.

191
00:09:27.400 --> 00:09:29.720
So we can iterate in main.

192
00:09:29.720 --> 00:09:32.720
And then when it's ready, we release it.

193
00:09:32.720 --> 00:09:35.560
Daniel is extremely good in doing that.

194
00:09:35.560 --> 00:09:37.480
We lean in conventions in libraries,

195
00:09:37.480 --> 00:09:40.800
like NAGS, that allow us to go extremely fast and don't

196
00:09:40.800 --> 00:09:43.320
discuss absolutely every little detail.

197
00:09:43.320 --> 00:09:45.800
We empower people that care about accessibility,

198
00:09:45.800 --> 00:09:46.960
performance, tests.

199
00:09:46.960 --> 00:09:51.200
If you care about any of these things, come to work with us.

200
00:09:51.200 --> 00:09:54.240
We have a pragmatic path to a more open future.

201
00:09:54.240 --> 00:09:56.320
We protect our trust network.

202
00:09:56.320 --> 00:09:58.480
We don't open everything directly.

203
00:09:58.480 --> 00:09:59.680
We are very intentional.

204
00:09:59.680 --> 00:10:03.040
Because we care about those people.

205
00:10:03.040 --> 00:10:04.480
And we optimize for adoption.

206
00:10:04.480 --> 00:10:07.920
And this may, people would not like it a little bit.

207
00:10:07.920 --> 00:10:11.200
But we actually meet users and contributors where they are.

208
00:10:11.200 --> 00:10:13.200
And this means that we are using GitHub.

209
00:10:13.720 --> 00:10:15.040
And Discord at this moment.

210
00:10:15.040 --> 00:10:16.720
And people are not that happy.

211
00:10:16.720 --> 00:10:19.480
But we will laugh long term to change that.

212
00:10:19.480 --> 00:10:21.080
We are rooting for Tangle.

213
00:10:21.080 --> 00:10:22.560
We are rooting for Rumi.

214
00:10:22.560 --> 00:10:25.000
We are rooting for everything that you are building.

215
00:10:25.000 --> 00:10:29.800
And when things are ready, we are going to be migrating there.

216
00:10:29.800 --> 00:10:33.040
And when we work in community, we are by humans

217
00:10:33.040 --> 00:10:35.560
and for humans.

218
00:10:35.560 --> 00:10:38.880
Our collaboration tools are community infrastructure.

219
00:10:38.880 --> 00:10:41.520
We try to mix in the go-to or Discord.

220
00:10:41.520 --> 00:10:44.880
You will see it's full with Bluesky links.

221
00:10:44.880 --> 00:10:47.040
Everyone that shares our values is welcome.

222
00:10:47.040 --> 00:10:48.720
This is very important.

223
00:10:48.720 --> 00:10:49.960
If you don't share our values, you

224
00:10:49.960 --> 00:10:52.880
can go build something else.

225
00:10:52.880 --> 00:10:55.480
New contributors are peers to ours.

226
00:10:55.480 --> 00:10:58.760
So as soon as you join and start contributing to the project,

227
00:10:58.760 --> 00:11:01.240
you're going to feel that you're one of us.

228
00:11:01.240 --> 00:11:02.640
And you have a voice.

229
00:11:02.640 --> 00:11:04.280
And you can change things.

230
00:11:04.280 --> 00:11:08.760
And if you want to work, you're going to, yeah, please go.

231
00:11:08.760 --> 00:11:10.760
Improve things.

232
00:11:10.840 --> 00:11:14.640
We do governance rules and no hierarchy.

233
00:11:14.640 --> 00:11:16.520
Ideas are discussed in the open.

234
00:11:16.520 --> 00:11:19.640
But we have a lot of spaces of trust where we've cashed them

235
00:11:19.640 --> 00:11:20.140
out.

236
00:11:20.140 --> 00:11:21.840
And this is like mapping real life.

237
00:11:21.840 --> 00:11:24.560
You first discuss with your friends, with your colleagues,

238
00:11:24.560 --> 00:11:27.560
and then you go to the public.

239
00:11:27.560 --> 00:11:31.240
This is important when you have these private spaces.

240
00:11:31.240 --> 00:11:32.960
You're not taking things from the public

241
00:11:32.960 --> 00:11:33.960
and putting them there.

242
00:11:33.960 --> 00:11:37.640
You're taking things from DMs and putting them up.

243
00:11:37.640 --> 00:11:39.560
And we shape our line of space together

244
00:11:39.560 --> 00:11:42.200
with decide what tools we use together.

245
00:11:42.200 --> 00:11:46.600
And this team is kind of like an ever-growing, healthy network

246
00:11:46.600 --> 00:11:47.200
of trust.

247
00:11:47.200 --> 00:11:49.680
We have been building things forever,

248
00:11:49.680 --> 00:11:53.120
like from VIT, VITES, people from the out-proto community

249
00:11:53.120 --> 00:11:57.080
have been building those things that now we're doing together.

250
00:11:57.080 --> 00:11:59.720
And this is very thrilling and very exciting.

251
00:11:59.720 --> 00:12:02.760
So after all this, the second week, in the third week,

252
00:12:02.760 --> 00:12:04.040
we were not sleeping.

253
00:12:04.040 --> 00:12:06.080
People were sleeping three hours a day.

254
00:12:06.080 --> 00:12:08.200
And it was not healthy at all.

255
00:12:08.200 --> 00:12:12.880
So we ended up deciding that we needed to change that.

256
00:12:12.880 --> 00:12:15.920
And we decided to take a vacation.

257
00:12:15.920 --> 00:12:17.560
When the project was going exponential,

258
00:12:17.560 --> 00:12:20.480
we just stopped it working for a week.

259
00:12:20.480 --> 00:12:22.400
And we located this court.

260
00:12:22.400 --> 00:12:25.200
We stopped it merging PRs for a week.

261
00:12:25.200 --> 00:12:29.040
Some of us went to this mountain with a family and a snowboard.

262
00:12:29.040 --> 00:12:32.840
And some other people stayed touching grass in ways

263
00:12:32.840 --> 00:12:33.720
they like it to do.

264
00:12:33.720 --> 00:12:35.220
For example, programming other things,

265
00:12:35.220 --> 00:12:37.520
because they cannot stop.

266
00:12:37.520 --> 00:12:41.960
Luke, for example, did a nice browser extension

267
00:12:41.960 --> 00:12:46.040
that modifies the GitHub graph to have grass instead.

268
00:12:46.040 --> 00:12:48.040
And when he did it, actually he did it differently.

269
00:12:48.040 --> 00:12:50.920
But our community told him, you know what?

270
00:12:50.920 --> 00:12:55.280
When you contribute a lot, it should have less grass.

271
00:12:55.280 --> 00:12:56.440
And actually, he did that.

272
00:12:56.440 --> 00:12:59.760
So the more you work, the tighter the grass is.

273
00:12:59.760 --> 00:13:02.680
And if you work too much, there will be brown patches.

274
00:13:02.680 --> 00:13:05.200
So this is a...

275
00:13:05.200 --> 00:13:07.680
When we add this feature to NPMX, it's going to be this.

276
00:13:15.120 --> 00:13:17.820
So yeah, the four week went out.

277
00:13:17.820 --> 00:13:18.760
The vacation is out.

278
00:13:18.760 --> 00:13:20.480
And we have been working.

279
00:13:20.480 --> 00:13:21.760
Salma is working with us.

280
00:13:21.760 --> 00:13:24.080
And she's amazing outreacher.

281
00:13:24.080 --> 00:13:27.640
And she prepared this idea of having a lot of fun

282
00:13:27.640 --> 00:13:31.600
lunch in the sixth week with a lot of blog posts.

283
00:13:31.600 --> 00:13:34.040
So from this one, we did a web ring

284
00:13:34.080 --> 00:13:37.280
that we linked to 26 other blog posts.

285
00:13:37.280 --> 00:13:39.920
She did one about how to make your first contribution

286
00:13:39.920 --> 00:13:40.760
to open source.

287
00:13:40.760 --> 00:13:42.640
So go read that if you want to do it.

288
00:13:42.640 --> 00:13:44.880
Daniel talked about how it's a lot better

289
00:13:44.880 --> 00:13:49.880
to have the next team instead of the next developer.

290
00:13:50.060 --> 00:13:51.920
I wrote about conversion communities,

291
00:13:51.920 --> 00:13:54.960
because again, this worked, because at the beginning,

292
00:13:54.960 --> 00:13:57.960
there was already a network of grass between a lot of people.

293
00:13:58.840 --> 00:14:01.760
Alex wrote a book about these months.

294
00:14:01.760 --> 00:14:04.520
So if you want to really know what is going on,

295
00:14:04.520 --> 00:14:06.180
you go check that one.

296
00:14:07.120 --> 00:14:10.240
Graph Heroes is the one doing the graphic magic.

297
00:14:10.240 --> 00:14:11.840
There is a library from Vue.

298
00:14:11.840 --> 00:14:14.760
And it talked about how you can improve,

299
00:14:14.760 --> 00:14:16.680
how much the library improve it.

300
00:14:16.680 --> 00:14:19.000
And this was also something that we saw with Delc.

301
00:14:19.000 --> 00:14:21.440
All the stack improve it, because the people doing

302
00:14:21.440 --> 00:14:24.240
the libraries are now users and can improve things.

303
00:14:25.120 --> 00:14:29.600
Thank you for inviting us here.

304
00:14:29.600 --> 00:14:32.280
And actually, the Elprota community have been so good,

305
00:14:32.280 --> 00:14:35.120
from two NPMX to from the beginning.

306
00:14:35.120 --> 00:14:37.080
The Bluesky team also was our first sponsor,

307
00:14:37.080 --> 00:14:38.880
that is a nice piece of lore.

308
00:14:38.880 --> 00:14:42.200
And we have already other sponsors like Vercel,

309
00:14:42.200 --> 00:14:46.000
Voice Zero, Netify, and Vault also.

310
00:14:46.000 --> 00:14:48.440
And yeah, and we are talking with other companies

311
00:14:48.440 --> 00:14:50.120
that want to help us.

312
00:14:50.120 --> 00:14:51.840
If you are a company and want to help us,

313
00:14:51.840 --> 00:14:54.840
please talk with us.

314
00:14:54.840 --> 00:14:58.760
James wrote about collaborating with NPMX.

315
00:14:58.760 --> 00:15:01.940
Philippe, that work in Netify, like talk it about,

316
00:15:02.960 --> 00:15:06.360
yeah, how working, like he's a senior developer,

317
00:15:06.360 --> 00:15:09.120
has so much knowledge, but still these months,

318
00:15:09.120 --> 00:15:11.560
these two months really helped him.

319
00:15:11.560 --> 00:15:14.240
Paola, actually I love this blog post,

320
00:15:14.240 --> 00:15:16.600
like you should go read it, like she wrote about,

321
00:15:16.600 --> 00:15:18.840
it was her first contribution to open source,

322
00:15:18.840 --> 00:15:21.600
and how she overcome the Hillary Postor Syndrome.

323
00:15:21.600 --> 00:15:23.760
And now she's a very important part of our community.

324
00:15:23.760 --> 00:15:25.640
She did so many features.

325
00:15:25.640 --> 00:15:27.480
We are talking about doing a talk together,

326
00:15:27.480 --> 00:15:30.920
maybe in another conference later in the year.

327
00:15:31.840 --> 00:15:34.680
Storybook also, like another good relationship

328
00:15:34.680 --> 00:15:37.640
that we, like they are already like putting

329
00:15:37.640 --> 00:15:39.360
little things there.

330
00:15:39.360 --> 00:15:40.800
I don't know if Jason is here,

331
00:15:40.800 --> 00:15:45.760
but like we also launched it with a code TV blog post,

332
00:15:45.760 --> 00:15:48.240
a stream that was really nice.

333
00:15:48.240 --> 00:15:51.880
And so, yes, now we have an answer for that.

334
00:15:51.880 --> 00:15:53.200
There is NPMX.

335
00:15:53.520 --> 00:15:58.520
And, yeah, so one of the things about like this collaboration

336
00:16:02.560 --> 00:16:04.800
that I was mentioning between other communities,

337
00:16:04.800 --> 00:16:06.520
if you go to Fast Globe, for example,

338
00:16:06.520 --> 00:16:08.400
this was a library that everybody uses,

339
00:16:08.400 --> 00:16:10.920
you can see that it has 94 million downloads.

340
00:16:10.920 --> 00:16:13.000
So like a lot of people will actually go

341
00:16:13.000 --> 00:16:15.840
and check their downloads and install it without syncing.

342
00:16:15.840 --> 00:16:19.580
But if you see now in our UI,

343
00:16:19.580 --> 00:16:24.180
we have a notation from the people, the AATNE,

344
00:16:24.180 --> 00:16:26.860
they curate this model replacement annotation.

345
00:16:26.860 --> 00:16:29.540
And it say that you may not need this dependency.

346
00:16:29.540 --> 00:16:31.380
And if you click the link, you're going to see

347
00:16:31.380 --> 00:16:34.380
that it talks about replacement, like tiny globes,

348
00:16:34.380 --> 00:16:36.380
that is half the size.

349
00:16:36.380 --> 00:16:39.460
And actually, like it shows you how you have to replace it.

350
00:16:39.460 --> 00:16:41.700
And this is very good because they were doing this work

351
00:16:41.700 --> 00:16:44.260
and now they can rest a little bit

352
00:16:44.260 --> 00:16:46.060
and other people can do it directly.

353
00:16:47.020 --> 00:16:50.260
And yes, and we are keep working on features,

354
00:16:50.260 --> 00:16:52.940
like for example, James had this idea,

355
00:16:52.940 --> 00:16:56.660
it's still not on the main,

356
00:16:56.660 --> 00:16:59.940
but the idea of like we can show so much information.

357
00:16:59.940 --> 00:17:01.900
I seen in the conference, there was this idea

358
00:17:01.900 --> 00:17:04.740
of like surfacing all this information in a good way.

359
00:17:04.740 --> 00:17:08.180
And for example, Shane had this idea that between version,

360
00:17:08.180 --> 00:17:10.380
we can show how they install size

361
00:17:10.380 --> 00:17:12.060
or if there is a license change.

362
00:17:12.060 --> 00:17:13.740
And we can show like the good things,

363
00:17:13.740 --> 00:17:15.500
the warnings, the red things,

364
00:17:15.500 --> 00:17:17.420
like for example, like a license would change

365
00:17:17.420 --> 00:17:20.860
to be not be open source anymore.

366
00:17:20.860 --> 00:17:24.900
And so yeah, this is very important to us.

367
00:17:24.900 --> 00:17:28.140
And I want to say that I didn't talk

368
00:17:28.140 --> 00:17:30.020
about a product specifically so far

369
00:17:30.020 --> 00:17:32.460
because we are first doing a website

370
00:17:32.460 --> 00:17:34.980
that is very useful for a lot of people.

371
00:17:34.980 --> 00:17:37.460
And this website has a lot of opportunities

372
00:17:37.460 --> 00:17:40.220
to actually be a social website

373
00:17:40.220 --> 00:17:43.340
because doing open source and all the packages

374
00:17:43.340 --> 00:17:45.220
is a social endeavor again.

375
00:17:45.820 --> 00:17:49.660
And MPN show.com will do so much more in that regard.

376
00:17:49.660 --> 00:17:53.660
So we are going to Zeyu.

377
00:17:56.660 --> 00:17:58.660
Thank you so much.

378
00:18:06.100 --> 00:18:08.900
Do you want to be called Patak or Matias?

379
00:18:09.940 --> 00:18:10.940
Both are fine.

380
00:18:10.940 --> 00:18:12.460
All right.

381
00:18:12.460 --> 00:18:14.380
Another round of applause for Matias

382
00:18:14.380 --> 00:18:16.100
for that wonderful presentation.

383
00:18:19.460 --> 00:18:22.940
Seriously, MPNX is such an amazing project

384
00:18:22.940 --> 00:18:26.180
and I'm so happy for Matias to invite me

385
00:18:26.180 --> 00:18:28.220
to work on it with him

386
00:18:28.220 --> 00:18:32.640
alongside a great number of community members.

387
00:18:34.020 --> 00:18:37.300
So one of the big pillars of MPNX

388
00:18:37.300 --> 00:18:42.300
is really showcasing the community, right?

389
00:18:43.060 --> 00:18:45.660
Open source is not just about code.

390
00:18:45.660 --> 00:18:49.660
It is about the people who make the code work,

391
00:18:49.660 --> 00:18:54.060
who make it happen, to make it usable for anyone, right?

392
00:18:54.060 --> 00:18:58.460
Tools not only for developers but for users, right?

393
00:18:58.460 --> 00:19:02.060
And so when I got asked to be a part of this project,

394
00:19:02.060 --> 00:19:05.740
my main goal is to add social features, right?

395
00:19:05.740 --> 00:19:08.500
And of course we're here at atmosphere.conf

396
00:19:08.500 --> 00:19:11.980
And so the protocol we use is app protocol.

397
00:19:13.180 --> 00:19:14.620
And there are multiple reasons

398
00:19:14.620 --> 00:19:17.300
as to why we use the app protocol.

399
00:19:17.300 --> 00:19:22.300
And the main one for me is how developer friendly it is.

400
00:19:23.100 --> 00:19:27.120
So, sorry, I'm just taking a look, see here.

401
00:19:28.560 --> 00:19:31.580
So one of the core pillars of app protocol

402
00:19:31.580 --> 00:19:35.380
is data sovereignty, being able to own your data,

403
00:19:35.380 --> 00:19:37.540
being able to say that I made that data,

404
00:19:37.540 --> 00:19:39.100
that that data is mine,

405
00:19:39.100 --> 00:19:41.420
and being able to show that to other people.

406
00:19:42.300 --> 00:19:45.860
The main way that app protocol does this is with the PDS,

407
00:19:45.860 --> 00:19:49.060
the personal data server.

408
00:19:49.060 --> 00:19:51.160
And there are multiple ways of doing this.

409
00:19:52.400 --> 00:19:55.460
First up is doing it self-hosted.

410
00:19:55.460 --> 00:19:59.460
We're developers, we like to have servers on our own,

411
00:19:59.460 --> 00:20:02.060
whether they be tiny raspberry pies

412
00:20:02.060 --> 00:20:03.860
in the corner of our room,

413
00:20:03.860 --> 00:20:07.820
or $5 VPSs in the cloud somewhere,

414
00:20:07.820 --> 00:20:10.580
or even like beefy racks.

415
00:20:10.580 --> 00:20:13.220
I wish in the future I have a server rack in my home

416
00:20:13.220 --> 00:20:15.420
if I have the money for it.

417
00:20:15.420 --> 00:20:20.420
But having your own PDS doesn't need something that beefy.

418
00:20:22.300 --> 00:20:26.540
Right now mine is currently at self-hosted.social,

419
00:20:26.540 --> 00:20:30.580
but you as developers, whoa, self-hosted.

420
00:20:31.580 --> 00:20:34.340
Yeah, big ups, big up, whoo.

421
00:20:35.740 --> 00:20:39.420
But you as developers can easily spin one up

422
00:20:39.420 --> 00:20:44.420
using NPM Create PDS, shout out to mk.gg,

423
00:20:44.500 --> 00:20:47.360
I saw your, that's their handle.

424
00:20:47.360 --> 00:20:49.460
I saw their presentation yesterday

425
00:20:49.460 --> 00:20:52.060
about this wonderful CLI they made

426
00:20:53.700 --> 00:20:56.980
that allows you to spin up Cirrus,

427
00:20:56.980 --> 00:21:01.980
the very lightweight PDS that you could just spin up

428
00:21:02.660 --> 00:21:04.940
on a Cloudflare worker, right?

429
00:21:04.940 --> 00:21:08.220
Yeah, I'm getting a thumbs up there.

430
00:21:08.220 --> 00:21:10.900
But you don't have to self-host it yourself.

431
00:21:12.060 --> 00:21:17.060
You can instead, as a user, be a part of a community.

432
00:21:17.420 --> 00:21:20.540
So NPMX does have a community hosted server,

433
00:21:20.540 --> 00:21:23.420
kind of like Bluesky with its mushroom servers.

434
00:21:23.420 --> 00:21:26.740
NPMX has the same thing where users can host their data

435
00:21:26.820 --> 00:21:30.740
with us, that way you don't have to spin up your own server.

436
00:21:30.740 --> 00:21:34.660
That's fine, you can migrate into NPMX as well.

437
00:21:34.660 --> 00:21:37.820
You can see here that Daniel Rho and Pataq

438
00:21:37.820 --> 00:21:39.940
already have their data on there.

439
00:21:41.380 --> 00:21:43.480
And this PDS is not just anywhere,

440
00:21:43.480 --> 00:21:47.820
it is actually only three hours away by train

441
00:21:49.300 --> 00:21:52.780
to EuroSky servers in Germany.

442
00:21:52.780 --> 00:21:54.420
It is really close.

443
00:21:54.420 --> 00:21:55.820
So it is in Europe.

444
00:21:55.820 --> 00:21:59.180
So if you're worried about your data being hosted in the US,

445
00:21:59.180 --> 00:22:01.500
don't worry, if you're on NPMX,

446
00:22:01.500 --> 00:22:04.520
it is in, double-checking, Germany.

447
00:22:07.060 --> 00:22:11.940
So any regulations, GPR, data compliance stuff,

448
00:22:11.940 --> 00:22:14.620
it is all there.

449
00:22:14.620 --> 00:22:17.260
And once again, I wanna give a big ups

450
00:22:17.260 --> 00:22:22.260
to the PDS Czar of the project, Bailey Tauncev, he's here.

451
00:22:23.100 --> 00:22:25.380
Thank, seriously.

452
00:22:27.900 --> 00:22:31.300
We were literally talking, like when I got into the project,

453
00:22:32.220 --> 00:22:34.740
we were like, okay, we're gonna implement ad protocol.

454
00:22:34.740 --> 00:22:37.020
All right, but with that in mind,

455
00:22:37.020 --> 00:22:41.880
some people, some users, they aren't in the atmosphere yet.

456
00:22:41.880 --> 00:22:46.380
They gotta have a way to get into the atmosphere

457
00:22:46.380 --> 00:22:48.260
without going through Bluesky,

458
00:22:48.260 --> 00:22:50.140
if they have any big hang ups there.

459
00:22:50.180 --> 00:22:52.700
So I literally DM Bailey once,

460
00:22:52.700 --> 00:22:56.140
like literally like maybe a day or two later,

461
00:22:56.140 --> 00:22:59.100
the PDS is up, so it's amazing.

462
00:22:59.100 --> 00:23:02.420
And if you're here in person, that's what he looks like.

463
00:23:02.420 --> 00:23:05.020
If you're online or even here and you're like,

464
00:23:05.020 --> 00:23:08.460
I don't know who Bailey is, you do, promise me.

465
00:23:10.340 --> 00:23:15.340
The pumpkin is great branding, shout out Bailey.

466
00:23:15.340 --> 00:23:16.900
Seriously, like I keep telling him,

467
00:23:16.900 --> 00:23:19.940
he needs like a pumpkin mask to wear in person

468
00:23:20.060 --> 00:23:21.740
so that you know it's him.

469
00:23:21.740 --> 00:23:24.580
So once again, thank you so much, Bailey, for that.

470
00:23:24.580 --> 00:23:26.420
Another big round of applause for him.

471
00:23:26.420 --> 00:23:27.260
Whoo!

472
00:23:27.260 --> 00:23:28.740
That was cool.

473
00:23:28.740 --> 00:23:29.580
Whoo!

474
00:23:31.260 --> 00:23:33.940
And to show how successful the PDS is

475
00:23:33.940 --> 00:23:38.380
in getting new users onto it, just a little bit here,

476
00:23:38.380 --> 00:23:42.380
we have a little over 300, probably even more now,

477
00:23:42.380 --> 00:23:47.380
350 accounts on the server calling npmx.social,

478
00:23:47.460 --> 00:23:49.060
their PDS home.

479
00:23:49.340 --> 00:23:52.220
Seriously, like they could take a look at the avatars

480
00:23:52.220 --> 00:23:54.820
on the screen, there's so many.

481
00:23:54.820 --> 00:23:56.940
And that's just some of them.

482
00:23:56.940 --> 00:23:59.060
And a lot of these people, if you actually take a look

483
00:23:59.060 --> 00:24:02.220
at their PDSs, they haven't done anything else.

484
00:24:02.220 --> 00:24:04.860
Their first entry into the atmosphere is npmx,

485
00:24:04.860 --> 00:24:07.020
and that's one of the ways that I'm really proud

486
00:24:07.020 --> 00:24:09.700
of this project is we're getting developers

487
00:24:09.700 --> 00:24:13.960
into the atmosphere, slowly getting them acquainted

488
00:24:13.960 --> 00:24:15.940
with how wonderful this community is.

489
00:24:16.620 --> 00:24:21.140
And with that in mind, getting new developers in, right,

490
00:24:21.140 --> 00:24:24.220
and npmx is a developer platform,

491
00:24:24.220 --> 00:24:28.260
we want to get new contributors up and running, right?

492
00:24:28.260 --> 00:24:31.020
Like not only in the front end or the back end of the code,

493
00:24:31.020 --> 00:24:34.140
but getting them to make social features very easily.

494
00:24:34.140 --> 00:24:38.640
And app protocol makes that, yeah, I got it, don't worry.

495
00:24:39.900 --> 00:24:41.540
I'll press the next button soon.

496
00:24:44.220 --> 00:24:45.060
No worries.

497
00:24:45.940 --> 00:24:48.820
So new contributors, you know, sometimes when you want

498
00:24:48.820 --> 00:24:53.820
to add social features, it could be like proprietary data

499
00:24:54.940 --> 00:24:57.420
in databases, then you'd need to have like secret keys

500
00:24:57.420 --> 00:25:00.700
to work with production data, live data.

501
00:25:01.760 --> 00:25:04.260
And it could be like very wonky, but you know,

502
00:25:04.260 --> 00:25:07.940
as we all know, data is just JSON, right?

503
00:25:09.380 --> 00:25:12.720
Data, like likes and packages and all that,

504
00:25:12.720 --> 00:25:17.560
they are shaped in a standardized lexicon

505
00:25:17.560 --> 00:25:19.520
so that anyone can just read it, you know,

506
00:25:19.520 --> 00:25:21.240
it's very straightforward.

507
00:25:21.240 --> 00:25:24.520
And to work with said data to manipulate it,

508
00:25:24.520 --> 00:25:29.280
you use XRPC calls, which are basically just API fetch calls.

509
00:25:29.280 --> 00:25:31.760
Like if you know how to do curl,

510
00:25:31.760 --> 00:25:35.400
or if you know how to do await fetch on JavaScript,

511
00:25:35.400 --> 00:25:37.840
you can work with live data.

512
00:25:37.840 --> 00:25:39.860
And because the data is public,

513
00:25:39.860 --> 00:25:44.460
and manipulating data or querying data

514
00:25:44.460 --> 00:25:48.680
is just one fetch call away, a lot of services

515
00:25:48.680 --> 00:25:50.360
and infrastructure has already popped up

516
00:25:50.360 --> 00:25:53.380
that makes it much simpler to use,

517
00:25:53.380 --> 00:25:56.620
especially for new contributors, and big projects like ours.

518
00:25:56.620 --> 00:26:01.620
So another big shout out to Fig Phil for Microcosm.

519
00:26:04.820 --> 00:26:06.560
Fig ups, fig ups.

520
00:26:07.000 --> 00:26:12.000
Really one of the big pillars of the atmosphere so far,

521
00:26:12.040 --> 00:26:14.840
if you want to get records without going straight

522
00:26:14.840 --> 00:26:19.600
to the PDSs, you can use their services.

523
00:26:19.600 --> 00:26:24.600
We use two mainly, Slingshot, we use to resolve data,

524
00:26:25.520 --> 00:26:29.160
sorry, looking at the time, resolving data,

525
00:26:29.160 --> 00:26:31.880
getting the mini doc, so that'll just be like the PDS,

526
00:26:31.880 --> 00:26:36.520
the DID, the handle, as well as getting specific records,

527
00:26:37.360 --> 00:26:38.440
very, very easily.

528
00:26:38.440 --> 00:26:41.200
These are the two, sorry, I can't see,

529
00:26:41.200 --> 00:26:46.200
these are the two API routes that we use.

530
00:26:47.320 --> 00:26:50.640
Not only do we use Slingshot, we also use Constellation,

531
00:26:50.640 --> 00:26:54.280
a very useful tool and service that allows us

532
00:26:54.280 --> 00:26:59.280
to go through backlinks, so we can go and query a package

533
00:27:00.920 --> 00:27:02.960
and to figure out how many people have liked it,

534
00:27:02.960 --> 00:27:05.880
like specifically like individual data,

535
00:27:05.880 --> 00:27:08.320
sometimes you have multiple like records, right?

536
00:27:08.320 --> 00:27:10.840
We just want to get, to make sure that you only have

537
00:27:10.840 --> 00:27:15.840
the one person per record, as well as getting the backlinks.

538
00:27:17.160 --> 00:27:19.080
We use Constellation for that.

539
00:27:19.080 --> 00:27:21.680
And because of everything I've said so far,

540
00:27:21.680 --> 00:27:25.440
we've managed to implement our very first social feature,

541
00:27:25.440 --> 00:27:27.800
which are likes.

542
00:27:27.800 --> 00:27:32.800
So you can see here, this is just a live demo

543
00:27:33.680 --> 00:27:37.320
of my profile page, I only have 10 likes,

544
00:27:37.320 --> 00:27:42.320
but you can see here, we have a little profile

545
00:27:42.920 --> 00:27:44.680
with my name, a little description,

546
00:27:44.680 --> 00:27:49.680
I have also added a website that you could go into.

547
00:27:49.760 --> 00:27:52.560
And of course, you could see all of the packages

548
00:27:52.560 --> 00:27:55.480
that I have liked so far.

549
00:27:55.480 --> 00:27:59.640
And of course, if you as a developer want to take a look

550
00:27:59.640 --> 00:28:02.380
at NPMX and do all these likes and stuff,

551
00:28:02.820 --> 00:28:05.300
going to the connect corner here,

552
00:28:05.300 --> 00:28:09.180
going down to the connect to atmosphere bit here,

553
00:28:09.180 --> 00:28:11.100
you can log in very quickly.

554
00:28:11.100 --> 00:28:13.360
There's also like a small description,

555
00:28:13.360 --> 00:28:14.940
I'm pretty proud of that description.

556
00:28:14.940 --> 00:28:16.380
You could create a new account again

557
00:28:16.380 --> 00:28:19.940
on our community hosted PDS.

558
00:28:19.940 --> 00:28:21.700
And there's also a connected Bluesky

559
00:28:21.700 --> 00:28:23.340
if you want to use that as well.

560
00:28:24.220 --> 00:28:29.220
So there's actually a lot of activity when it comes to likes

561
00:28:30.180 --> 00:28:32.900
when we release this feature.

562
00:28:32.900 --> 00:28:37.900
So much so that since we started, NPMX is one of,

563
00:28:39.900 --> 00:28:44.140
if not the biggest users of the microcosm ecosystem.

564
00:28:44.140 --> 00:28:46.180
So once again, I want to say thank you so much,

565
00:28:46.180 --> 00:28:50.500
Fig, Phil, bad example, which is a really bad handle.

566
00:28:50.500 --> 00:28:52.940
You're a great example in the community

567
00:28:52.940 --> 00:28:56.900
for having these services up for us to use.

568
00:28:56.900 --> 00:28:59.020
And of course, because the data is public,

569
00:28:59.700 --> 00:29:03.340
anybody can use them on any website they want.

570
00:29:03.340 --> 00:29:06.660
A great example here is Blento,

571
00:29:06.660 --> 00:29:10.740
where you can connect any atmospheric data.

572
00:29:10.740 --> 00:29:14.100
And if we scroll, oh, sorry, let me go all the way here.

573
00:29:14.100 --> 00:29:18.180
And if we scroll all the way down on our Blento here,

574
00:29:18.180 --> 00:29:21.420
you could see there's so many contributors, jeez Louise.

575
00:29:21.420 --> 00:29:25.220
And we also have a leaderboard here.

576
00:29:25.220 --> 00:29:30.220
So right now, Svelte is at the top with almost 200 likes.

577
00:29:30.700 --> 00:29:33.100
So shout out Team Orange, you're doing great.

578
00:29:34.780 --> 00:29:38.460
Followed up by Nux, V and Vue, I think they're all green.

579
00:29:38.460 --> 00:29:41.180
So Team Green also catching up.

580
00:29:41.180 --> 00:29:43.700
So if you have a package, if you have a community,

581
00:29:45.260 --> 00:29:49.340
show your support, tell people to like things on NPMX.

582
00:29:51.780 --> 00:29:54.540
Let me scroll, let me go this way.

583
00:29:54.740 --> 00:29:59.740
Yeah, and now coding and virtue signaling with likes,

584
00:30:00.380 --> 00:30:03.300
that's not the only way you can be a part

585
00:30:03.300 --> 00:30:07.140
of an open source developer community, right?

586
00:30:07.140 --> 00:30:11.780
You can be just talking about your favorite feature

587
00:30:11.780 --> 00:30:13.300
in a library.

588
00:30:13.300 --> 00:30:18.300
You can congregate, coalesce, collect different libraries

589
00:30:18.300 --> 00:30:23.300
and implementations of your protocol.

590
00:30:25.100 --> 00:30:27.460
In this case, this is a bunch of PDF stuff.

591
00:30:27.460 --> 00:30:31.380
Or not even coding related, you can be a designer.

592
00:30:31.380 --> 00:30:33.300
Dame over here changed the Bluesky thing

593
00:30:33.300 --> 00:30:35.660
to better ingredients, better piece of Papa John's,

594
00:30:35.660 --> 00:30:36.500
that was great.

595
00:30:37.900 --> 00:30:42.020
Like design is also a part of being

596
00:30:42.020 --> 00:30:44.140
in the open source community.

597
00:30:44.140 --> 00:30:48.820
And so no matter where you are in the web,

598
00:30:48.820 --> 00:30:52.660
being a part of the open source community,

599
00:30:52.660 --> 00:30:57.660
whether you're on code bases, right?

600
00:30:57.700 --> 00:31:01.180
Like Entangled and GitHub contributing code.

601
00:31:01.180 --> 00:31:04.500
Whether you're talking on Bluesky or Twitter.

602
00:31:05.420 --> 00:31:09.540
Or if you have the money contributing

603
00:31:09.540 --> 00:31:13.740
with through Open Collective and Patreon,

604
00:31:13.740 --> 00:31:16.740
we want to surface your contributions as well.

605
00:31:16.740 --> 00:31:19.540
Because it's not just coders, it's everyone.

606
00:31:19.540 --> 00:31:22.020
And that's the goal with NPMX.

607
00:31:22.020 --> 00:31:24.460
And so for the next slide here,

608
00:31:25.980 --> 00:31:30.260
is a concept that community member Alex

609
00:31:30.260 --> 00:31:34.300
whipped up on Figma for a future of NPMX

610
00:31:34.300 --> 00:31:38.340
where you can scour the full network

611
00:31:38.340 --> 00:31:41.380
for what the project is doing and its community.

612
00:31:41.380 --> 00:31:44.940
So you could see here, it could be Bluesky posts,

613
00:31:44.940 --> 00:31:46.860
it could be GitHub patch notes,

614
00:31:47.900 --> 00:31:50.780
it could even be the maintainers themselves

615
00:31:50.780 --> 00:31:52.500
just surfacing specific people.

616
00:31:52.500 --> 00:31:55.260
So no matter if you're a maintainer,

617
00:31:55.260 --> 00:31:57.500
you're just a contributor,

618
00:31:57.500 --> 00:31:59.340
or you're just someone that we need

619
00:31:59.340 --> 00:32:03.460
to give special thanks to, we want to shout you out.

620
00:32:03.460 --> 00:32:06.100
And one of the ways that we're looking into this,

621
00:32:06.100 --> 00:32:09.500
into implementing this feature is Keytrace.

622
00:32:09.580 --> 00:32:12.180
It's a very promising product

623
00:32:12.180 --> 00:32:16.100
where you can connect many different accounts

624
00:32:16.100 --> 00:32:17.620
to your atmosphere account.

625
00:32:17.620 --> 00:32:19.540
In this case, I have here mine,

626
00:32:19.540 --> 00:32:22.020
where it's my atmosphere account, right?

627
00:32:22.020 --> 00:32:25.580
My app product account, connected to my Tangled,

628
00:32:25.580 --> 00:32:28.780
to my GitHub, as well as just my website in general.

629
00:32:28.780 --> 00:32:32.360
So you know that if you go to z.dev, that is definitely me.

630
00:32:33.640 --> 00:32:37.600
And so, once again, I want to really, really stress

631
00:32:37.600 --> 00:32:39.720
that no matter who you are,

632
00:32:39.720 --> 00:32:42.680
you can be a part of the open source community.

633
00:32:42.680 --> 00:32:47.000
So if you code,

634
00:32:48.400 --> 00:32:50.480
a common contribute code, right?

635
00:32:50.480 --> 00:32:52.080
Engineer with us.

636
00:32:52.080 --> 00:32:56.120
If you are a designer, make things pretty with everyone.

637
00:32:57.160 --> 00:32:59.440
If you know any other languages,

638
00:32:59.440 --> 00:33:02.560
I only, like, you know, I really only know one,

639
00:33:02.560 --> 00:33:05.440
but some people can do like 10, amazing.

640
00:33:05.440 --> 00:33:08.700
Translate, that's very, very important, right?

641
00:33:09.800 --> 00:33:12.160
If you are really into accessibility,

642
00:33:12.160 --> 00:33:15.160
making sure everyone has access

643
00:33:15.160 --> 00:33:17.440
and everyone can use the tools that we build,

644
00:33:17.440 --> 00:33:19.240
you are also important as well.

645
00:33:19.240 --> 00:33:20.600
And of course, if you have the money

646
00:33:20.600 --> 00:33:23.600
to keep the lights up, you are important too.

647
00:33:23.600 --> 00:33:26.160
So if you are any one of these

648
00:33:26.160 --> 00:33:28.960
and NPMX has resonated with you,

649
00:33:28.960 --> 00:33:31.080
please come build with us.

650
00:33:31.080 --> 00:33:34.020
We are at NPMX.dev.

651
00:33:34.020 --> 00:33:35.360
If you want to take a look at the code,

652
00:33:36.200 --> 00:33:38.400
we are at repo.NPMX.dev.

653
00:33:38.400 --> 00:33:40.720
If you want to chat along,

654
00:33:40.720 --> 00:33:42.800
talk about anything and everything NPMX,

655
00:33:42.800 --> 00:33:45.920
go to chat.NPMX.dev, that'll go to the Discord.

656
00:33:46.820 --> 00:33:49.520
And of course, if you want to tag us on Bluesky

657
00:33:49.520 --> 00:33:53.360
and just, you know, talk online,

658
00:33:53.360 --> 00:33:56.360
we are at social.NPMX.

659
00:33:56.360 --> 00:34:00.000
With that in mind, I just wanna say thank you once again

660
00:34:00.000 --> 00:34:05.000
to the atmospheric conference, Boris, Ted, Nick,

661
00:34:05.360 --> 00:34:06.680
for organizing this.

662
00:34:06.680 --> 00:34:10.880
Everyone in this room who is so passionate

663
00:34:10.880 --> 00:34:13.000
about the atmosphere and the future that it brings,

664
00:34:13.000 --> 00:34:14.560
that they're here in person.

665
00:34:14.560 --> 00:34:18.000
And of course, people who are online watching remotely

666
00:34:18.000 --> 00:34:20.920
no matter where you are, it is very wonderful.

667
00:34:20.920 --> 00:34:22.220
So once again, I wanna say thank you.

668
00:34:22.220 --> 00:34:23.240
And before we wrap up,

669
00:34:23.240 --> 00:34:26.480
I wanna bring on Matthias for final remarks.

670
00:34:26.480 --> 00:34:27.320
Thank you.

671
00:34:27.320 --> 00:34:28.480
I got some of this.

672
00:34:28.480 --> 00:34:29.320
That was great.

673
00:34:29.320 --> 00:34:31.320
Yeah, I wanted to say thank you, but you did it so well.

674
00:34:31.320 --> 00:34:35.200
So I shall always say again, thank you so much.

675
00:34:35.200 --> 00:34:38.960
Actually, these past days have shown us,

676
00:34:38.960 --> 00:34:40.760
like, make us very hopeful,

677
00:34:40.760 --> 00:34:43.840
because you are not only building the technology

678
00:34:43.840 --> 00:34:45.920
that we need, you are leaving it.

679
00:34:45.920 --> 00:34:47.720
And this is also what we need.

680
00:34:47.720 --> 00:34:51.200
Like, you are leaving, using the principles

681
00:34:51.200 --> 00:34:54.480
to make sure that you are not only building the technology

682
00:34:54.560 --> 00:34:56.800
and using the principles

683
00:34:56.800 --> 00:34:59.200
that you want to put into the technology.

684
00:34:59.200 --> 00:35:02.400
So yeah, you make us very hopeful.

685
00:35:02.400 --> 00:35:05.360
And I want to say that not only if you want to build with us

686
00:35:05.360 --> 00:35:08.560
in the sense of building like MPMX,

687
00:35:08.560 --> 00:35:11.200
but if you're building anything else,

688
00:35:11.200 --> 00:35:12.280
it's still the stock,

689
00:35:12.280 --> 00:35:14.920
because there is always things that we can collaborate,

690
00:35:14.920 --> 00:35:17.520
we can abstract libraries and use them together,

691
00:35:17.520 --> 00:35:22.520
we can help Fig, like, and give him the money to actually,

692
00:35:23.480 --> 00:35:26.760
like, yeah, we can do really a lot together.

693
00:35:26.760 --> 00:35:30.040
So that's it.

694
00:35:30.040 --> 00:35:30.880
Thanks a lot.

