Zeu 0:00 She's here, but yeah, Willow is very interesting because when we started npmX, we saw that other like 3 projects were doing similar things. 0:08 This happened a lot when you have an idea that is ready. 0:12 We all share a lot of contacts and like people start to work in the same thing. 0:16 And the good thing is that we know each other, we went, we talked, and we decided to work together. 0:21 And npmX is here today because we didn't do 4 different alternatives to the browser for the npmjs.com browser, but we all work together. 0:33 So, thank you, Willow. 0:35 And James is also here, part also of the core team, and he is leading E18e that I think you may have seen him working on the— improving the performance of every package in the ecosystem. 0:47 And the relationship between E18e and the npm community is like a great example of how we work not only internally but also with other communities, and later on we are going to see a little bit about that. 0:59 And Daniel, say hi, he would have loved to be here, and yeah, we wanted to include him because he has started the project. 1:07 So for people that are not programmers, when we talk about packages, imagine if we would like to— for the app protocol that BlueSky app protocol handles, we would like to see the display name. 1:19 BlueSky app has a nice public API for each, but we normally don't start from scratch. 1:25 We use libraries that are distributed as packages. 1:28 So in JavaScript, we will import it, a client, for example, from AdCute, from Marie, and we can create a client for that service. 1:39 And this lets us do like very comfortable with like type it like functions and get the display name in an easy way. 1:48 So packages let us build software collaboratively and depending on the work of amazing other people and don't start from scratch. 1:57 The package registry from the web, like JavaScript, is npm. 2:01 You will do npm install a kube-client to get this one in your project. 2:06 And in npmx, we actually have a dependency on Marie, like we are using her libraries. 2:12 So thanks, Marie. 2:13 Not only on Marie, but on a lot of really wonderful open source projects, all the Vite stack, Nuxt, Vue, and JS.org. 2:23 There is so many people. 2:25 We couldn't have built npmx without this in 2 months. 2:30 We are relying on all this, the work of a lot of people. 2:34 And in the case of npm, so this is the world's largest software registry. 2:39 This is a graph from GitHub released not long ago. 2:42 If you take into account JavaScript and TypeScript together, it's like almost double of Python. 2:47 It is an amazing registry of the work of so many, so many people. 2:53 And it's a little bit hard to understand because it consists of 3 parts. 2:58 The registry is called npm and has that logo. 3:01 The CLI is called npm and has that logo. 3:03 And the website is called npmjs.com and has the same logo. 3:07 So people, when they think about npm, they think about all the things together, but there are 3 different parts, you know, like the registry where all the tarballs are stored and they have like a public API that you can fetch. 3:18 The CLI is something— the command line interface that we use to interact with that registry. 3:24 And the website allows us to browse, search, like do admin stuff. 3:29 So npm right now, it is in the hands of Microsoft and, yeah, they have not been adding a lot of features lately to it. 3:41 So other open source people and like projects have been trying to say maybe we should innovate a little bit. 3:48 And so on the registry side, you have JSR from the Deno folks, you have Volt that also were ex-NPM folks trying to see like what they could improve. 4:00 Like we could have like twice maybe as fast if we are able to modify the server and make the CLI and the server together communicate in a little bit better way. 4:12 On the CLI, this has been for a long time. 4:15 Yarn first showed a lot of innovation, then pnpm. 4:20 In the Vite ecosystem on frontend, now pnpm is huge. 4:24 We are all using pnpm. 4:27 And on the website side, We have nothing. 4:32 Actually, there are some things. 4:34 For example, for the graph, there is a lot of mini websites to do graph for the node graphs. 4:39 And they are like all Yarn, JSR, Bolt, all have their own little browsers. 4:45 But there's nothing that is like we can put here. 4:48 And we actually need something there. 4:51 Because I don't know if you see how the light in the room changes, but It only has light mode. 4:58 So for some of us, that is why we don't use it. 5:03 And also, if you see the little weekly downloads graph there, you can only see the last week. 5:10 You cannot explore the graph. 5:12 There is so much more that we could do here. 5:14 And the packages and all the relationships, it is a social endeavor. 5:20 We could see Where are the maintainers? 5:23 Where are the— I don't know where they are, the maintainers here. 5:26 Where are the relationships between the different packages? 5:28 All the graph of the different dependencies. 5:31 All these things are extremely important. 5:34 So Daniel sent to Blue Sky this post on January 23rd saying that for reasons he would love to know what are the frustrations with the package registry, and a lot of people A lot of people responded, like 50 replies. 5:49 9 hours later, he had a working prototype and he started to invite people to work with him. 5:56 He didn't take it for himself only. 5:59 And in the first week, that resulted in 50 PRs in the first day. 6:05 So a lot of people were frustrated and wanted to actually change things. 6:10 We created a community chat. 6:14 And I started to invite people through DMs and through Blue Sky, like backposting in Blue Sky a little bit, because we wanted to start intentionally growing the community. 6:25 One of those invites was to Zeo, because at the beginning, the first time that Daniel asked me if I would like to work with him, I say like, we should do something with that proto, because that proto is awesome. 6:39 And so like this, I'm inviting ZEOs. 6:42 They will say yes. 6:43 And we start working together. 6:46 And the second week, at the end, we had 1K issues and PRs. 6:52 This is like one every 20 minutes around the clock. 6:55 That is kind of impressive. 6:57 And we ended up with 100 contributors that were invited through these like open networking, the 1.5 stars. 7:05 Without real promotion, it was like we didn't even want to mention the name at the beginning. 7:11 People were saying, where is the link? 7:13 And yeah, you could find it. 7:15 If you really care, you could find it. 7:18 So we are back to the light thing. 7:21 And this resulted that if you go to any X.com web page and you put an X at the beginning, we are recovering the X for something more important. 7:31 And you're going to get two dark modes. 7:36 So this is our browser for the npm registry. 7:41 And we are seeing like a Qt client here. 7:43 And like actually we can— I don't know, like we can go to Qt. 7:50 So yeah, you can see a package. 7:53 And you see that there is a graph. 7:55 And you can see that— Oh, hmm, okay, sorry, nice, and this works actually. 8:10 Okay, that's very interesting. 8:13 It will be a little bit more difficult. 8:14 So yeah, so we can go here, and yeah, now in the graph we can see a beautiful graph. 8:21 So yeah, and you can see like Everything. 8:29 So this thing that we're building is not only a product. 8:35 We are also working together and constructing a massive team that is going to be keep working on this project and in other things that maybe we want to change. 8:47 And we are also already organize it a little bit. 8:50 The front row that you see there are all the maintainers of our project. 8:57 These are the core team of our project. 9:01 And actually these are just roles, because there is resources that we need to like keep together, but we are all peers and work together. 9:09 And I think that why this work— there is a lot of things, each of these things will be a talk But I will go very fast through it. 9:17 But there is a coherent, consensual product vision, but we try to iterate fast knowing that the code is malleable and we can keep changing it. 9:26 And we use versions so we can iterate in main, and then when it's ready, we release it. 9:32 Daniel is extremely good in doing that. 9:35 We lean in conventions in libraries like Nuxt that allow us to go extremely fast and don't discuss absolutely every little detail. 9:43 We empower people that care about accessibility, performance, tests. 9:47 If you care about any of these things, come to work with us. 9:51 We have a pragmatic path to a more open future. 9:53 Like, we protect our trust network. 9:56 We don't open everything directly. 9:58 Like, we are very intentional because we care about our people. 10:03 And we optimize for adoption. 10:04 And this may— people will not like it a little bit, but we actually meet users and contributors where they are, and this means that we are using GitHub and Discord at this moment, and yeah, people are not that happy, but we would love long-term to change that. 10:19 We are rooting for Tangle, we are rooting for Rumi, we are rooting for everything that you are building, and when things are ready, we are going to be migrating there. 10:29 And when we work in community, we are by humans and for humans. 10:35 Our collaboration tools are community infrastructure. 10:38 We try to mix them. 10:40 Go to our Discord, you will see it's full with Bluesky links. 10:45 Everyone that shares our values is welcome. 10:47 This is very important. 10:49 If you don't share our values, you can go build something else. 10:52 New contributors are peers to us. 10:55 So as soon as you join and start contributing to the project, you're going to feel that you're one of us. 11:01 And you have a voice, and you can change things. 11:04 And if you want to work, you're going to— yeah, please go improve things. 11:10 We do governance through roles and no hierarchy. 11:14 Ideas are discussed in the open, but we have a lot of spaces of trust where we hash them out. 11:20 And this is like mapping real life. 11:21 You first discuss with your friends, with your colleagues, and then you go to the public. 11:27 This is important when you have these private spaces. 11:31 You're not taking things from the public and putting them there. 11:33 You're taking things from DMs and putting them up. 11:37 And we shape our line of space together. 11:39 We decide what tools we use together. 11:42 And this team is kind of like an ever-growing, healthy network of trust that we have been building things forever, like from Vite, Vitest, People from the App Proto community have been doing all those things that now we're doing together. 11:57 And this is very thrilling and very exciting. 11:59 So after all this, the second week— in the third week, we were not sleeping. 12:04 People were sleeping like 3 hours a day, and it was not healthy at all. 12:08 So we ended up deciding that we need to change that. 12:13 And we decided to take a vacation. 12:15 When the project was going exponential, we just stopped it working for a week. 12:20 And we locked it, Discord. 12:22 We stopped it merging PRs for a week. 12:25 Some of us went to the mountain with the family and snowboard, and some other people stayed touching grass in ways they like to do. 12:33 For example, programming other things because they cannot stop. 12:37 Luke, for example, did a nice browser extension that modifies the GitHub graph to have grass instead. 12:46 And when he did it, actually he did it differently, but our community told him, you know what? 12:50 When you contribute a lot, it should have less grass. 12:55 And actually he did that. 12:56 So the more you work, the tighter the grass is. 12:59 And if you work too much, there will be brown patches. 13:02 So when we add this feature to npmX, it's going to be this. 13:15 So yeah, the 4 weeks went out, the vacation is out, and we have been working. 13:20 Salma is working with us, and she's an amazing outreacher, and she prepared this idea of having a lot of launching the 6 weeks with a lot of blog posts. 13:31 So from this one, we did a web ring that we linked to 26 other blog posts. 13:37 She did one about how to make your first contribution to open source, so go read that if you want to do it. 13:42 Daniel talked about how it's a lot better to have a 10x team instead of a 10x developer. 13:50 I wrote about converging communities because, again, this worked because at the beginning there was already a network of trust between a lot of people. 13:58 Alex wrote a book about this month, so if you want to really know what is going on, you go check that one. 14:07 Grafieros, like he's the one doing the graphic magic. 14:10 There is a library from Vue. 14:11 And he talked about how you can improve, like how much the library improves. 14:16 And this was also something that we saw with Elk. 14:18 Like all the stack improved because the people doing the libraries are now users and can improve things. 14:25 Thank you for all the— yeah, for inviting us here. 14:29 And actually, like the Elk community have been so good to NPMX from the beginning. 14:35 The Blue Sky team also was our first sponsor. 14:37 That is a nice piece of lore. 14:38 And we have already other sponsors like Vercel, Void Zero, Netlify, and Volt also. 14:46 And yeah, and we are talking with other companies that want to help us. 14:50 If you are a company and want to help us, please talk with us. 14:54 James wrote about collaborating with npmx. 14:58 Philippe, that works in Netlify, like talking about Yeah, how working— like he's a senior developer, has so much knowledge, but still these months, these two months really helped him. 15:11 Paula, actually I love this blog post, like you should go read it. 15:15 Like she wrote about— it was her first contribution to open source and how she overcome the imposter syndrome. 15:21 And now she's a very important part of our community. 15:23 She did so many features. 15:25 We are talking about doing a talk together maybe in another conference. 15:30 Later in the year. 15:31 Storybook also, like, another good relationship that we, like, they are already, like, putting little things there. 15:39 I don't know if Jason is here, but, like, we also launched it with a CodeTV blog post, a stream that was really nice. 15:48 And so, yes, now we have an answer for that. 15:51 There is npmx. 15:59 Yeah, so one of the things about this collaboration that I was mentioning between other communities, if you go to FastGlob, for example, this was a library that everybody used. 16:08 You can see that it has 94 million downloads. 16:10 So a lot of people will actually go and check the downloads and install it without thinking. 16:15 But if you see now in our UI, we have annotation from the people, the A18E, they curate this model replacement annotation. 16:26 And it says that you may not need this dependency. 16:29 And if you click the link, you're going to see that it talks about replacement, like TinyGlobby, that is half the size. 16:36 And actually, it shows you how you have to replace it. 16:39 And this is very good because they were doing this work. 16:41 And now they can rest a little bit, and other people can do it directly. 16:47 And yes, and we keep working on features. 16:50 Like for example, James had this idea. 16:53 Still not on the main. 16:56 But the idea of we can show so much information. 17:00 I think in the conference there was this idea of surfacing all this information in a good way. 17:04 And for example, Shane had this idea that between versions we can show how the install size, or if there is a license change. 17:12 And we can show the good things, the warnings, the red things, if for example a license would change to not be open source anymore. 17:20 And so, yeah, this is very important to us. 17:24 And I want to say that I didn't talk about Proto specifically so far because we are first doing a website that is very useful for a lot of people. 17:35 And this website has a lot of opportunities to actually be a social website because doing open source and all the packages is a social endeavor, again. 17:45 And npmjs.com could do so much more in that regard. 17:49 So we are going to Zew. Patak 18:03 Thank you so much. 18:06 Do you want to be called Patak or Matthias? 18:10 Both are fine. 18:11 All right. 18:12 Another round of applause for Matthias for that wonderful presentation. 18:19 Seriously, npmX is such an amazing project and I'm so happy for Matias to invite me to work on it with him alongside a great number of community members. 18:34 So, one of the big pillars of npmX is really, really showcasing the community, right? 18:43 Open source is not just about code. 18:45 It is about the people who make the code work, who make it happen to make it usable for anyone, right? 18:54 Tools not only for developers but for users, right? 18:58 And so when I got asked to be a part of this project, my main goal is to add social features, right? 19:05 And of course, we're here at Atmosphere Conf, and so the protocol we use is App Protocol. 19:13 And there are multiple reasons as to why we use the app protocol. 19:17 And the main one for me is how developer-friendly it is. 19:23 So— sorry, I'm just taking a look-see here. 19:28 So one of the core pillars of app protocol is data sovereignty, being able to own your data, being able to say that I made that data, that that data is mine, and being able to show that to other people. 19:42 The main way that our protocol does this is with the PDS, the personal data server. 19:49 And there are multiple ways of doing this. 19:52 First up is doing it self-hosted. 19:55 We're developers. 19:56 We like to, you know, have servers on our own, whether they be tiny Raspberry Pis in the corner of our room or $5 VPSs in the cloud somewhere. 20:07 Or even like beefy racks, you know. 20:10 I wish in the future I have a server rack in my home if I have the money for it, you know. 20:15 But having your own PDS doesn't need something that beefy, right? 20:22 Right now mine is currently at selfhosted.social, but you as developers— woo, self-hosted! 20:32 Yeah, big, big ups, big up. 20:35 But you as developers can easily spin one up using npm create pds. 20:41 Shout out to mk.gg. 20:44 I saw your— that's their handle. 20:47 I saw their presentation yesterday about this wonderful CLI they made that allows you to spin up Cirrus, the very lightweight PDS that you could just spin up on a Cloudflare worker, right? 21:05 Yeah, yeah, I'm getting a nod, I'm getting a thumbs up there. 21:08 But you don't have to self-host it yourself. 21:12 You can instead, as a user, be a part of a community. 21:17 So NPMX does have a community hosted server, kind of like Bluesky with its mushroom servers. 21:23 NPMX has the same thing where users can host their data with us. 21:28 That way you don't have to spin up your own server. 21:30 That's fine. 21:31 You can migrate into NPMX as well. 21:34 You can see here that Daniel Rowe and Patak already have their data on there. 21:41 And this PDS is not just anywhere. 21:43 It is actually only 3 hours away by train to Eurosky servers in Germany. 21:52 It is Really close. 21:54 So it is in Europe. 21:55 So if you're worried about your data being hosted in the US, don't worry. 22:00 If you're on NPMX, it is in— double checking— Germany. 22:07 So any regulations, GDPR, data compliance stuff, it is, you know, all there. 22:14 And once again, I want to give a big ups to the PDS czar of the project, Bailey Townshend. 22:21 He's here. 22:24 Seriously, we were literally talking, like, when I got into the project, we were like, okay, we're gonna implement add protocol. 22:34 All right, but with that in mind, like, we— some people, some users, they won't, you know, they aren't in the atmosphere yet. 22:41 They got to have, you know, a way to get into the into the atmosphere without going through Bluesky, if they have any big hangups there. 22:50 So I literally DM'd Bailey once. 22:52 Like, literally, like, maybe a day or two later, the PDS is up. 22:57 So it's amazing. 22:59 And if you're here in person, that's what he looks like. 23:02 If you're online or even here and you're like, I don't know who Bailey is, you do. 23:07 Promise me. 23:09 Like, the pumpkin? 23:12 Is great branding. 23:14 Shout out Bailey. 23:15 Seriously, like I keep telling him, he needs like a pumpkin mask to wear in person so that you know it's him. 23:21 So yeah, once again, thank you so much Bailey for that. 23:24 Another big round of applause for him. 23:29 And to show how successful the PDS is in getting new users onto it, just a little bit here, we have a little over 300, probably even more now, 350 accounts on the server calling npmx.social their PDS home. 23:49 Like, seriously, like, they could take a look at the avatars on the screen. 23:52 There's so many, and that's just some of them. 23:56 And a lot of these people, if you actually take a look at their PDSs, they haven't done anything else. 24:02 Their first entry into the atmosphere is npmx, and that's One of the ways that I'm really proud of this project is we're getting developers into the atmosphere, slowly getting them acquainted with how wonderful this community is. 24:18 And with that in mind, you know, getting new developers in, right, and NPMX is a developer platform, we want to get new contributors up and running, right, like not only in the frontend or the backend of the code but getting them to make social features very easily. 24:34 And App Protocol makes that— yeah, I got it, don't worry. 24:38 I'll press the next button soon. 24:44 No worries. 24:46 So new contributors, you know, sometimes when you want to add social features, it could be like proprietary data in databases, then you'd need to have like secret keys to work with production data, live data, and it could be like very wonky, but you know, as we all know, data is just JSON, right? 25:09 Data like likes and packages and all that, they are shaped in a standardized lexicon so that anyone can just read it, you know, it's very straightforward, and to work with said data, to manipulate it, you use xRPC calls, which are basically just API fetch calls. 25:29 Like if you know how to do curl or if you know how to do await fetch on JavaScript, you can work with live data. 25:37 And because the data is public and manipulating data is— or querying data is just one fetch call away, a lot of services and infrastructure has already popped up that makes it much simpler to use, especially for new contributors and big projects like ours. 25:56 So another big shout-out to Fig Phil for Microcosm. 26:03 Woo! 26:04 Big ups, big ups. 26:09 Really one of the big pillars of the Atmosphere so far. 26:12 If you want to get records without going straight to the PDSs, you can use their services. 26:19 We use two mainly. 26:21 Slingshot we use to resolve data. 26:25 Sorry, looking at the time. 26:27 Resolving data, getting the mini-doc. 26:30 So that'll just be like the PDFs, the DID, the handle, and as well as getting specific records very, very easily. 26:38 These are the two— sorry, I can't see. 26:41 These are the two API routes that we use. 26:47 Not only do we use Slingshot, we also use Constellation, a very useful tool and service that allows us to go through backlinks. 26:56 So we can go and query a package and to figure out how many people have liked it, like specifically individual data. 27:05 Sometimes you have multiple like records, right? 27:08 We just want to get to make sure that you only have the one person. 27:12 Per record as well as getting the backlinks. 27:17 We use Constellation for that. 27:19 And because of everything I've said so far, we've managed to implement our very first social feature, which are likes. 27:27 So you can see here, this is just a— this is a live demo of my profile page. 27:36 I only have 10 likes, but You can see here we have a— we have a little profile with my name, a little description. 27:44 I also added a website that you could go into. 27:49 And of course, you could see all of the packages that I have liked so far. 27:55 And of course, if you as a developer want to take a look at npmx and do all these likes and stuff, going to the Connect corner here, going down to the connect to Atmosphere bit here, you can log in very quickly. 28:11 There's also, like, a small description. 28:13 I'm pretty proud of that description. 28:14 You could create a new account, again, on our community-hosted PDS. 28:20 And there's also a connect with Bluesky if you want to use that as well. 28:24 So there's actually a lot of activity when it comes to likes. 28:30 When we released this feature. 28:32 So much so that since we started, npmX is one of, if not the biggest users of the Microcosm ecosystem. 28:44 So, once again, I want to say thank you so much, Fig, Phil, Bad Example, which is a really bad handle. 28:50 It's a— you're a great example in the community for having this— these services up for for us to use. 28:57 And of course, because the data is public, anybody can use them on any website they want. 29:03 A great example here is Blento where you can connect any atmospheric data. 29:10 And if we scroll— oh, oh, sorry. 29:12 Let me go all the way here. 29:14 And if we scroll all the way down on our Blento here, you could see there's so many contributors. 29:20 Geez Louise. 29:21 And we also have a leaderboard. 29:24 Here. 29:25 So, right now, Svelte is at the top with almost 200 likes. 29:30 So, shout out team orange. 29:32 You're doing great. 29:34 Followed up by Nuxt, Vite, and Vue. 29:37 I think they're all green. 29:38 So, team green also catching up. 29:41 So, if you have a package, if you have a community, you know, show your support. 29:46 Tell people to like things on npmx, right? 29:51 Let me scroll. 29:53 Let me go this way. Zeu 29:54 Yeah. Patak 29:56 And now coding and, you know, virtue signaling with likes, that's not the only way you can be a part of an open source developer community. 30:06 Right? 30:07 You can be just talking about your favorite feature in a library. 30:13 You can— congregate, coalesce, collect different libraries and implementations of your protocol. 30:25 In this case, there's a bunch of PDS stuff. 30:27 Or not even coding related, you can be a designer. 30:31 Dame over here changed the blue sky thing to better ingredients, better pizza, Papa John's. 30:35 That was great. 30:38 Like, design is also a part of being a in the open source community. 30:44 And so no matter where you are in the web being a part of the open source community, whether you're on code bases, right, like Entangled and GitHub contributing code, whether you're talking on Bluesky or Twitter, or if you have the money contributing with— through Open Collective and Patreon. 31:13 We want to surface your contributions as well because it's not just coders. 31:18 It's everyone. 31:19 And that's the goal with NPMX. 31:22 And so, for the next slide here is a concept that community member Alex whipped up on Figma for a future of NPMX. 31:34 Where you can scour the full network for what the project is doing and its community. 31:41 So you could see here it could be Bluesky posts, it could be GitHub patch notes, it could even be the maintainers themselves just surfacing specific people. 31:52 So no matter if you're a maintainer, you're just a— you're a contributor, or you're just someone that like we need to give special thanks to, we want to shout you out. 32:03 And one of the ways that we're looking into this, into implementing this feature is Keytrace. 32:09 It's a very promising product where you can connect many different accounts to your Atmosphere account. 32:17 In this case, I have here mine where it's my Atmosphere account, right? 32:22 My Proto account connected to my Tangled, to my GitHub, as well as just my website in general. 32:28 So you know that if you go to zia.dev, That is definitely me. 32:33 And so once again, I want to really, really stress that no matter who you are, you can be a part of the open source community. 32:42 So if you code, come and contribute code, right? 32:50 Engineer with us. 32:52 If you are a designer, make things pretty with everyone. 32:57 If you know any other languages, I only, like, you know, I really only know one, but some people can do like 10, amazing. 33:05 Translate. 33:06 That's very, very important, right? 33:09 If you are really into accessibility, making sure everyone has access and everyone can use the tools that we build, you are also important as well. 33:19 And of course, if you have the money to keep the lights up. 33:21 You are important too. 33:23 So, if you are any one of these and NPMX has resonated with you, please come build with us. 33:31 We are at npmx.dev. 33:34 If you want to take a look at the code, we are at repo.npmx.dev. 33:38 If you want to chat along, talk about anything and everything NPMX, go to chat.npmx.dev. 33:44 That will go to the Discord. 33:46 And, of course, if you want to tag us on Bluesky and just you know, talk online, we are at social.npmx. 33:56 With that in mind, I just want to say thank you once again to the Atmosphere conference, Boris, Ted, Nick, for organizing this. 34:06 Everyone in this room who is so passionate about the atmosphere and the future that it brings that they're here in person, and of course people who are online watching remotely no matter where you are. 34:19 It is very wonderful. 34:20 So once again, I want to say thank you. 34:22 And before we wrap up, I want to bring on Matias for final remarks. 34:25 That was amazing. Zeu 34:33 That was great. 34:35 Yeah, I wanted to say thank you, but you did it so well. 34:36 So I just will say again, thank you so much. 34:40 Actually, these past days has shown us, like, make us very hopeful because you are not only building the technology that we need, you are living it. 34:51 And this is also what we need. 34:53 Like, you are living in using the principles that you want to put into the technology. 34:59 So yeah, you make us very hopeful. 35:02 And I want to say that not only if you want to build with us in the sense of building, like, NPMX, but if you are building anything else, still let's talk because there is always things that we can collaborate, we can abstract libraries and use them together, we can help Fik and give him money to actually— like, yeah, we can do really a lot together. 35:26 So that's it. 35:30 Thanks a lot.