 And you can start back in ever. Hi. So I gave a talk about this last week. And that was way too long, so I'll summarize everything now. I've been working on this project, Commons Host, for about a year and a half plus. It's an open source static site hosting thing. And if you're familiar, if anyone's ever built a website and you've hosted it on GitHub Pages or something like that, this is very familiar. Let's say that I have a website. I've got some files in here. I've got an index.html and a couple of files. The way I deploy that is this little node.js command, Commons Host. That's all it is. You can get it from the website there and install it. You just choose sort of like my folder, choose this directory. And then it'll just sort of, OK, by popular command, which domain name should I choose? These are the suggested ones. I like Dazning Ugly Squid. Dazning Ugly Squid, Dandy Helpless Bird, or Transcendent Tall Revit Squid. Let's try that. So it should deploy that. It generates the domain. It sets up a specific certificate. And then it saves the domain. So the next time you run it, it'll remember that domain. And with a little bit of luck, that should now be deploying. But this is a demo, so bear with me if it fails. Oh, yes. Yay. Thank you. Thank you. Live demos will do in. So yeah, that's also my new logo, by the way. Because the last two weeks I've been sort of talking about this thing that I've been doing in silence for so long. And one of the reasons is that actually I'm trying to deploy this CDN on these tiny little boxes that I can't find myself. So friends like Kenny there have graciously stepped up. And basically, this is just a little Odroid computer, a little Korean thing. Basically, the CPU of like a Samsung Galaxy S5 from a few years ago that is now just dirt cheap. And they put it on a tiny little board. Let me see if I can show that. Don't worry. OK, so a tiny little computer with a 1-gigabit port, 8-core CPU and an SSD. And basically, this is like the most compact CDN server in the world, I think. And my goal is actually to deploy these all over the world that there aren't data centers. And so right now, I'm putting a few of them in Singapore because it's where my friends live mostly. And also in Vietnam and Philippines, India, Malaysia. And so a couple of days ago, I started talking to people that I know somehow in South Africa and Kenya, I think. So I really want to put these where there's not a lot of data centers or not affordable data centers. And I think there's kind of a cool thing. And so it's just static site hosting. Everything's open source. I mean, it doesn't have to run on this. I'm just doing it so it's easier. I can also deploy this on usual normal EC2 VPSs, all that kind of stuff. I'm actually looking for help with this. So if you want to help me host something like this, if you don't mind sharing a little bit of bandwidth with the community, then please contact me. So yeah, the website was Comments Host. And all the code is on GitLab. Oh, by the way, I think, OK, I'm going to just double demo this thing now. Yeah, a minute and a half. We can totally do this. I don't know my password. Ah, damn it. OK, key chain for the win. All right, all the best practice is coming up. This is being recorded for all time, right? Nah, it's fine. Nobody will ever tell. No, it's like a fingerprint scanner. Oh. Yeah, physical security. So anyway, OK, so that works. I can see my dazzling ugly squid here, right? And then there's a little bit of work to be done. So I want to be able to deploy from the website and stuff like that. So this is the sort of things that I'm working on. I want to actually also show something that I did, which is so this whole thing actually came out of my obsession with HTTP2 server push, which is what I'm using actually to load this website quickly without doing anything like Webpack. And if you, for instance, look at the source code here, you'll see lots and lots of, hang on, network tab. Where are you? Yeah? Oh, not Chrome. OK, great. But basically what happens here is, could we sort this properly? Yeah, there we go. So all these files actually are like little JavaScript files, little CSS files like you would normally write application. But instead of concatenating all of the one blob, it actually pushes all the files. And that it does with a little thing called a push manifest that I created. OK, come on. So there's this spec that I can use that basically just says, if you're going for this URL, then use these globs here. And so for instance, on the home page, you just push all of the JPEGs, and you push all the CSS files. And it just automatically does that. The web server supports this. So if you push your static site to this, with a couple of rules, you can make your website super fast because it pushes and eliminates all the round trips that you normally get with a browser. And that's my time for today. But my next question is, does anyone have a question? So this is something to be working on as a business, right? I mean, recently I just totally ran out of money. So now I'm trying to earn a little bit. It's not like I'm selling these things for profit, really. It's probably costing me more. How do you think you're supporting yourself? Yeah, I think I have an issue for that. It's a popular issue for me. But basically, I've been thinking about lots of ideas for a while. Because one of the interesting topics to me is actually how do you do open source-free software sustainably? And so even though it's all open and available, anyone could replicate what I do. I think there's value in just bringing everyone together and deploying this network. And that's something that's not easily copyable. So I think there's some natural monopoly or whatever you would call it that could sustain the project in the long term. So you could go and say, hey, you're a media company, and you want to serve content in all these countries that you can't put like an EC2 instance, or they don't have S3, right? Then maybe we can provide something collectively. And that wouldn't be just me. That could be anyone who goes out and deploys these pubs in all over Africa or Middle East or someplace. They could then benefit from doing that, actually. They're actually on the ground, the boots on the ground, putting that hardware together, building the networks, and setting up the servers. So over time, I think that can sort of create a marketplace for people to actually build infrastructure all over the world. Same thing as what already sort of the big guys do, but this is more grassroots and I think more suitable for the world that is not like US, Europe, Japan, Singapore. But by the way, I think the reason that this could actually work, because the site that I just showed and the way it uploaded and all that, it's actually running in one of these things at my house right now. She's not even running on this. It's like running on an old iMac that I used to play games on. I stopped playing games. I'm being very productive because I've started using it as a server. It's like this nice positive spiral. But yeah, the idea is that a lot of people actually have fiber internet today, especially in Asia, it turns out. Three quarters of all fiber subscribers in the world live in Asia. It's because you don't have all that existing infrastructure investment that ISPs and people who are building new buildings and condos and businesses actually just put in fiber by default. And you don't have to cannibalize your ISP. You don't have to cannibalize its own like ADSL and cable monopoly or whatever. That infrastructure doesn't exist in most places in the rest of the world. And so you just put fiber and you instantly have like 10 gigabit or 40 gigabit or 100 gigabit connections in the future. It's just really nice that people can just run these things at home. It was actually a surprise to me that you can get fiber connections in all the major cities in Southeast Asia, China, India. Now it turns out you can get it all over Africa too. The capital cities in some of the countries, you can actually get fiber gigabit connections for not much more in some cases less than we pay in Singapore. So it actually seems to be turning out quite well. But yeah. Sorry. What do you mean like a public around IP for one of the concepts? Yeah. One of the main issues actually that I've faced and actually trying to roll this out is static IPv4. It's not necessary to have static, but I can route to a dynamic IP and just keep checking like a dynamic DNS. But yeah, a lot of ISPs, actually they really, really put every single customer, even on a residential connection, behind a NAT. So typically that was like a mobile phone thing. And that actually drove in part the massive adoption of IPv6 on mobile networks. Like most mobile networks in the world, actually IPv6, most residential networks are not. What is the opposite here in Singapore, I think? In Singapore, you have? It's dated to be IPv6 by the government. residential network. From what I've seen, like there is not a single ISP besides, I think M1 offers IPv6 when no one else does, as far as I know. Maybe the smaller guys, like super internet and stuff. The cool ones. But some of them block both the AT as well. Yeah, in fact, yesterday just someone in Japan said another HTTP2 developer guy was showing how ISPs there, because they optimized traffic over Port 80. They actually blocked HTTPS, which I'm doing everything over HTTP2. So everything is 100% encrypted TLS. So I think a lot of these ISPs are kind of still in the dark ages with their policies, their infrastructure. There's just going to be problems. So how does it work when I deploy something? How is it going to choose where it's going to be deployed? Because if I understand correctly, you basically put a bunch of things that are very small. Then eventually it gets deployed somewhere. So how do you choose where it's going? Does it get to be done with the deploy? Currently, it's completely redundant. So it's limited by the size of the smallest drive and all of the edges. So it's clearly not sustainable. So yeah, some kind of more efficient usage would be based on caching. The most basic LRU cache would actually solve almost all those issues. So every node has a copy of the old internet or the common set of tools. Well, because it's static sites, it's never really older than the deployment. I know exactly when the site was deployed, so it's never going to be older than that. It's not doing dynamic caching right now. And I might actually keep it that way. I might keep this just because there's a lot of headaches that come with caching dynamic content, like traditional CDNs do. When you're just too static, you don't have to really worry about running out of, I don't know, like dealing with caching and expirations. Another issue that I'm seeing up in the sensor, guys, don't worry. So another issue that a use case that I was considering is places where there's a lot of power outages. Like a friend of mine runs a little place in a city outside of Ho Chi Minh. And they've got three frequent power outages, whether it's his building or the neighborhood or whatever. Could be cool to just couple this with a little battery pack and have an alternative that has maybe a Wi-Fi antenna and turn it into an access point. So people can actually go up to it and download a bunch of content. Piracy is sort of a driving motivator, but I totally do. Basically, I think there's a lot of interesting use cases that come from actually being able to deploy this. So that's the stage I'm at. So in contact with some guys doing data centers in general, it's not a big problem. They have this power, which is not reliable. So what they were planning on doing is actually creating basically, so they want to build like a TR-4 data center, so that's a single-four data center. But what they want to do is basically build what they call a mini standard in use, but basically a small data center, which they will put near the land wall and things like that with this power and basically use them like a sort of a mesh network that goes around there and have part of the computing there as well. So actually, this kind of stuff could be a good fit for this type of moment. That's awesome. This probably doesn't have like TR-14 or something. Sounds like. But TR-4 is actually, so as the TR goes up, it's actually better. Which way is up? Four is up from three. Also, do you think three is better? No, three is really small. So like what I'm saying, this is like really small, right? This is literally like a phone, basically. It's almost exactly the same hardware. So I put like a little. Security, reliability kind of thing, rather than. Oh, OK, OK, OK. For others. I should ask you more questions when you do your talk. We're going to stop recording now. Yeah, it's out of time, I guess. OK, good.