 Okay ladies and gentlemen, welcome back to the Chaos West stage. This is here It's a stage for self-organized sessions and Amazing beautiful smart great people hold talks here such as these two and it is my honor and pleasure to Leave the stage to Astro and Muffintosh Thank you. Hi, I'm Astro This talk will include a demonstration, but also some rambling about political developments, but first let us break the ice for JavaScript The web is a really good platform to me because all the specifications and documentations are freely available You just pass URLs to people. They don't have to run your binary code without a sandbox and nowadays It's almost everywhere where you have a screen. The web is everywhere and I bet for any of you hardly there goes by where you do not use the web and Then there's JavaScript a language that is belittled by many of you, but it has somewhat improved with ECMAScript 6 and Although it's dynamically typed there are type checkers like flow. There are Super sets of the languages like type script and Dart My only sorrow point is build tool chains that bundle the JavaScript for you into some gram compressed single JavaScript file that you can deploy on your web server They are hard to figure out. They are hard to keep up with but There are no JS and electron We don't need a tool chain because you don't deliver code to clients you run locally and and Well, then you lose the the advantages of the web But you can still use the same code base as you use on the web the same Algorithms and JavaScript usage got very different with the advent of node.js and electron. You've got modularization Modularization means every tiny bit of functionality is a reusable package is so-called module on the npm the node package manager While you may know the extreme cases like the infamous left pad incident the effects of modularization Consolidation of functionality with clear boundaries clean interfaces and no bloat It may look bloated to you when it pulls in all those dependencies but it's actually an advantage and The graphic you can see here is module counts.com which compares module systems of several languages and The npm ecosystem is by far the largest Now if you take a look at this JavaScript world, I discovered stuff That I find very much underrepresented and that is peer-to-peer functionality Here are some of the some of The most active projects some examples like secure Scuttlebot which is a social networking service Which is entirely decentralized and they've got an interesting approach They have a per user blockchain where your proof of authority is a public key and public key Cryptography also means you get private messaging for free. I Just read on so secure Scuttlebot that there will be a safe organization tomorrow And now I'll give over to Maffintosh the author of peer flicks at that project member and author to 623 modules on npm Hey, yeah, I'm thank you. I'm Maffintosh It's actually the 324 an hour because I just published one an hour ago So that's pretty cool. No, I think a really interesting point about modularization and On npm especially with the peer-to-peer community and notice that we have a bunch of different peer-to-peer projects in node Did that project which I'm working on their Scuttlebot a lot of IP facets on npm also is that Since we come from a culture of very high modularization. There's a huge Net of shared dependencies that all small packages. So in the list here that Astro has picked up. I have a thing like the Multicast DNS module that is so heavily used by so many projects that I hit it gets around a hundred thousand dollars per day and So you have all these competing projects Which basically peer-to-peer projects are at at a sessions competing with each other because Projects tend to compete in the same space, but they're all reusing probably 60 70% of their module graph By using small Single-use reproducible modules. So that's super exciting The one I'm working on the most is the debt project which is on there Some Linux fool here cool Which is Peer-to-peer network for sharing a lot series of data, it's basically a An iteration on bit turn that Ames to do much more real-time sharing. So unlike IPFS. It's more based on on real-time sharing So you have a Set of files you want to share and you want to share them over time and you want to share updates to them in a very efficient and nearly instant matter but still having a peer-to-peer system and I used to work a lot with bit turned like Astro said I used to I have a project called pier flicks which is a streaming bit turn client and Since both of these projects are heavily modularized We were able to reuse a lot of dependencies like the debt project is reusing the same DST as a spit turn this and using a modularization strategy where Split things down into small JavaScript modules. It's very easy to like just pick the one you want But I'll give it back to Astro now so you can talk about other cool projects Yeah, less of the list was a web torrent web torrent is a very nice bitter and implementation Because it's very modular now bitter end is the most popular peer-to-peer protocol on the internet But what web torrent also brings is capabilities to run in the browser and you may ask yourself peer-to-peer in the browser Yes, that is available today with the web RTC stack Which brings voice of a P to the browser and for voice of a P you need low latency So there is peer-to-peer functionality web torrent can use that for Data distribution. Why is this great bitter end is in a bad situation? Let me show you web torrent logo bitter end is in a bad situation Especially here in Germany where I'm from you are liable for all the actions of the internet users of your internet connections Of your internet connection. If you ever get caught with copyright infringement You have to pay a thousand euro fine by some evil Lawyers the effect is that there's not only no open Wi-Fi in Germany. There's also It has also effectively killed peer-to-peer file sharing here No one torrents anymore except over virtual private networks to to third-party countries Now this is motivation for me to run a torrent site To show that this is no illegal technology peer-to-peer is actually much better You get data integrity for free because you need to verify what you get from random peers You get offline capability for free because what you download is on your computer and most importantly in contrast to To classic client service systems the more downloaders there are the faster it gets for everyone So this is actually democratization of means of media distribution or broadcasting and actually the term broadcatching has been coined in the combination of bitter end and podcast feeds and These podcast feeds are also mice source of legal content But in those five and a half years Now the single pet podcatcher has gained a bit torrent support and The legal lack of file sharing habits is a problem for me because no one has a bit torrent client installed anymore Now if I have Wi-Fi I can demonstrate it to you Can you hold it? Just waiting for some Linux magic to happen here. There we go Now this is the website you can Download the torrent file like you could in the past five years But as of this year I added web torrent. It was really easy and you can now click play and web torrent does everything to just add a media element and enable streaming playback Of course it takes a while to buffer. I'm having like 12 megabytes over Wi-Fi here. That's not possible. The trick is that I have another browser on this computer Running a local host seeding the file. No manual setup. Just peer-to-peer And it actually should start to play really soon. Yes and Because it's so hard to programmatically feed Media data to a to a multimedia element the web torrent people Have taken precautions that streaming is also possible and it's really great now Back to the slides Where did they go? Please hold for some Linux magic again There you go Now Lars in Germany has gotten somewhat lifted this year But uncertainty persists. You shouldn't run an open Wi-Fi here without the VPN and no one would anyway because there's just no Culture of running open Wi-Fi and what's worse? There are other problems at the door Net neutrality is melting away for example There's this telecom stream on offer It's currently a free add-on that you can That you can book to your mobile data service by a dodge of telecom and It means that these services get sero rated. They don't count into your into your traffic volume and This is now free, but of course there are monetization plans behind this cheaply rated terrorists for the masses who just want YouTube and SoundCloud and Costly flat rates for us power users If you look into other countries like Portugal, this has gotten much further No one of these users would willingly download on on my service anymore I tried to apply to the German telecom with my veteran service, but the telecom can't recognize my traffic because technology is way better than classic client-to-server and Now I am at a disadvantage and I will take action against that But my warning is if such schemes get widespread the internet will die for us power users We like to secure copy with our servers just like we use YouTube download And why is this happening in the first place because there's too much Centralism on the internet. That's why I'm telling you don't let the internet become television 2.0 Well, you have many receivers many recipients, but very few senders widespread peer-to-peer deployment means no one will put projects and companies at its disadvantage without a large public outcry Make every user a power user Just don't develop exactly for or against bad laws because then you could be accused of of willfulness Just implement what the internet allows for and then you have an existing project which can be Which can be positioned as being at disadvantage and that is That is one way of hindering these lawmaking efforts that break the internet. So please Put more peer-to-peer into your apps putting your peer-to-peer into your websites. Thank you Do we have time for questions? If there are any Can you see I'm messy. Yes, we do Dear audience time for question. Oh, we started beginning wait at the front It's not so much a question. It's more a comment either example you have in Portugal I have to comment on it because I'm from Portugal. I started a digital rights Organization there and we're going to tackle that pretty soon right now We have other actions that take all our time But net neutrality is going to be one of our big fights Okay, but now back to other topics You mentioned peer-to-peer and JavaScript curiously did not mention zero net. Do you know the project? What do you think about it? Did you say zero net? Yes Yeah, I know sir. It's a cool project. I Think I mean so when we talk about peer-to-peer and JavaScript We talk about multiple things at once. We talk about the browser. We talk about node. Yes, we talk about electron something like seronet As a mass adoption thing. I mean it's not gonna hit the browser anytime soon. So You know, we need multiple strategies, right? Well, why do you think it will not meet or not hit the browser anytime soon because it has to be installed first and Yeah, so just like anything that has that installed dialogue is just gonna have a Massive drop-off and use that option compared to a normal website for I'm not saying it's like It doesn't say anything bad about the project. It's just that in order to deploy something fast We need stuff that works in the browser now. Okay. Yeah Well, it works in the browser if you access it through a proxy, but you cannot control it So that's just it you can still access it decentralize leave it. It's not your node. Yeah So the project is cool and solving a lot of really hard peer-to-peer things like connectivity and I'm sure you know As you know years run by I'll get more and more adopted because it's a really cool project and I'll help a lot But you know, we kind of need both things still Thank you Dear audience more questions Hi Do you still need stun servers if? Because you were talking about web RTC In my in my experience it tries hard at doing like not hole punching, but if it can't get it to work It's gonna use Google service Google service and this yeah, it's done and turn service. Okay Yeah, so for web RTC It's built-in so the protocol itself is kind of complex and you know kind of a massive thing I personally wish it was much more low-level and it would just have a utp type stack in the browser So we could implement our own you can actually do stun between peers In a peer-to-peer fashion also if you have one introductory peer It's just way more complicated, which is why nobody does it But you could couldn't theory for ripped or and they could implement an extension for this for the stream that will allow a Known peer between two other peers to try that's a stun server Because it's just a matter of having you have to route a couple of messages If they can in fact connect peer-to-peer, but there are cases where Firewalls will just shut everything down and you need a ice server I think it's called right. Yeah ice server for doing tunneling that in that sense and in that case you need a centralized endpoint. Thank you Some more questions from the audience Well, and thank you very much again one last question as usual if any questions arise Where do we find you in order to talk about the whole thing a little bit more? Well, I'm on must tot on and secure Scuttlebot Yes, I'm on RC. I'm in non-free note. I'm in a dead channel and I'm also roaming around So just ping me there. We also have a there's a dead session happening at eight tonight is in the in the wiki So come find me there Cool guys. Thank you very much