 Thanks for that PWA thing. I've been looking at it, I've got Lighthouse and Stool somewhere there, but I haven't got into it yet. I must say I prefer AdCache. It was so much simpler how you could just name your files. It just worked. Now everything's so much more complicated with this JavaScript stuff. Show them it. I got the JavaScript for T if everyone's wondering. Oh, I'm miserable. Oh, it's not working? It's not receiving? Sorry. What OS are you in? What OS are you in? Arch Linux? Other bits? How many Arch Linux users? I've compiled it myself. Oh, Jimmy, you're on Arch Linux. Join us losers after the next users. That's what a losers stands for. Okay, so serverless is quite a hot topic. Is it working now? It's not working. That's actually quite good because I was going to show you something proprietary. Maybe it's going to all work when USB-C comes around. Yeah, serverless is something my colleague was saying, oh, we're going to do serverless app. And just like, I guess there's a hype cycle with all technology. When I got down to doing serverless app, I felt like I was the only one doing it because if you look on the stack of the flow, there's quite a few questions about the topic. I get into where I had trouble with serverless. Oh, it's starting? Okay, it's starting. Okay, so serverless is pretty hot. Everyone knows what AWS stands for, right? It stands for, ow! It stands for, okay, full disclosure, guys. I'm a Trump supporter. I'm joking. Full disclosure, I'm a white guy, married to an Asian woman. I think it's in your form. I am a Amazon hero, which means Amazon sort of selected me for running the Amazon user group. So yeah, I'm invested in, I guess, Amazon. But if you can do the same sort of stuff in other platforms, let me know because I am just generally interested. But yeah, I think AWS stuff is the best right now. You know, full disclosure, take what I have to say with a grain of salt. My question is online. I also have a YouTube channel with my keynote out, so subscribe to my YouTube channel. Now, this is the company I work for. It's called Sport. It does, we do Bollywood. So we're like the Netflix of Bollywood films. So yeah, we use a lot of AWS stuff and that sort of stuff. So this is why I cracked out keynotes on my live computer. This, so I just did it with the keynotes and it was easier. So this is where we are, I think, right now. Like, you know, how many of you guys are like on a lamp stack with a bit of jQuery? You know what I mean? A little bit of jQuery here. How many people are here? Put your hands up. Just three? You're definitely there. I'm surprised you didn't use Josh here. And now we're, I would say we're pretty, I mean, the hype cycle is pretty much here on the microservices. So in my workplace, this is like some sort of Rails API and this is ReactJS. Am I right guys? Are we here? Are you with me? Are you awake? Christ sake! Yeah, I think we're pretty much here. I think it's called microservices. Sorry, I didn't even find what that means. Lamps like when you run like a Red Hat server. The next is Apache. Apache. Probably nginx. Probably majority. And probably, yeah, maybe case people. I mean, this is also typically Rails. So microservices, yeah. In my workplace, they run Rails and some ReactJS. Or some strategy-generated pages. That's something I've done recently. Strategy-generated pages. Oh yes. I'm so happy to see the low graph going down today. And a big wave around the top all the way out. But now everyone is talking about servers. So this is the jobs you're bullshit everyone's talking about. Full stack! It's like, oh god, oh god. I'm scared everybody. But it's, I think it's cool. I think it's cool. But it's not a big assumption for servers. So I guess servers in my opinion is where you work entirely with JavaScript. All day, every day. You're basically writing Lambda functions. And the service that I want to describe today is that I'm building my own, like, hmm. Is it called an MPM module or something? The package.json and webpack. And then I pull in AWS SDK. And then I host it on S3. And basically it's a static JavaScript app that's talking to AWS APIs. This is how I define a server. I think, is that the right definition? Guys, I don't know. Please make it so, because I'm not sure. Is it serverless or less or servers? So... And another thing is like... I mean, you're just not running your own server anymore. I guess. I guess. And that's supposed to be good. So what makes serverless possible, right? It has some major assumptions. Like, you need some extra APIs. I've worked with APIs, like I'm sure some of you have. And the nuances of using APIs is like... It's pain. It's pain. And then if you're in something like a terrible internet country, like... What country has terrible internet? Indonesia or something? It's probably a bad idea to do serverless, because you're going to be having like internet connectivity problems talking to a AWS server. With extra APIs. We're making a huge assumption here. I'm assuming that Amazon is really close to me, super reliable and has a lot of APIs. It's like, that's not really the case for most of the world. Let's be honest. And Amazon is decayed. But the good news is that I've discovered, like, doc lines and things like that, that makes talking in JSON very easy, I'd say. Then you need the security thing. To be honest, this is one of the things I came here to sort of consult with you guys, because I'm really not sure about security in this. I'm really not sure, because like, yeah, we're building in our company logic into this app, which you could probably decompile, and then you could probably hack me. I think the security is a little bit dubious. And the way that like, oh, all two, and all these sort of like STS tokens have passed around, it's a little bit scary. But the good news is that Amazon have like, quite fine-grained control, and you can have a look at access, like access advising, you can see exactly what's been accessed. So Amazon kind of take care of this thing, but not really. The security thing is the nightmare. So my big suggestion, I hope you guys can remember this, is that if you're going to do a service app, I think try to internally to your company, as opposed to that, before like, going whole hog and coming with it. That's my advice. And then yeah, you need excellent tooling out there. So it's like, what was life like before Google DevTools? Google DevTools have saved me. Again and again. Firebug. Jesus man, it's like walking through modern glasses. Yeah, I guess Firebug was good until when Google hired that guy or something. But yeah, you need like really cool tools to do this stuff, I think. Who's using Webpack, for example? Maintainer. What? Oh, that's nice. Yeah, I like Webpack. Yeah, so I want you to say the hardest thing about this whole thing was actually setting up the Oval 2 authentication so that the person using the app can get access to the APIs. It was quite complicated. I think the easiest way to do it is just use Amazon and Cognito. But like many companies, who uses Google Apps for like doing the whole frickin' thing in the company? Is it just me and my employers? Come on guys, don't be shy. Okay, Google Apps is pretty common. And that means that you have to go through... I think Google is the worst, actually. Google, you have to go down this weird place. I don't know what to call it. Oh no, I missed it. Oh, you have to go through this Google 8 Guide and you have to find this thing. You have to set it up. And then you map that client ID back to Amazon and with some tinkering and all that sort of stuff, it might, it should work. And if you guys run into trouble, I've done this a few times now, so you can probably ask me. And then furthermore, you can limit the scope of who can log into your app to a domain, like my employers at school.com. So basically, if everything goes super-duper well, you should get something like this. And you can see that. Basically, it's limited to at school.com. Oh gosh, that's like a month of work to get that far, almost. So once you've got this horrible authentication puzzled out of the way, then you can log in and gain access to Amazon API as you're away. You can build a serverless application. Do I need to tell you how to do that? Google App. No. Anyway, I have a demo for you guys. Well, do I have a demo? Yeah. I wrote, if you can remember this URL, you can have a look at it. It's basically, where is it? I killed it. Oh no, here it is. Basically, it's a very simple view app. Who's using Vue.js? I'm using, I'm hitting all the things. Serverless view, JavaScript. PWA, no, I'm not using PWA. But this is a very simple app. MIT license, whatever. And you can basically, all it is demonstrating me looking at a down and low DV table. That's amazing. It took me months to get here. Am I an idiot? Okay, in my last few seconds, I'll show you what I've done at work. So at work, we're all Amazon up really. Some movies come into the S3 folder. And then it gets put in the DynamoDB. And then you edit the movie here. And as you can see, this URL is just what you call it, an S3 website URL. So everything here is serverless. Everything is driven by like Lambda APIs or Lambda APIs and the AWS SDK DynamoDB. I even bothered to write a little S3 interface as my internet was working. That's another thing to bloody worry about, the token expiring. But yeah, I even wrote like a little S3 interface and a thing to upload files. And I think after getting this far and everything like this, and after being bruised and beaten by Docker and all that sort of stuff, I'm loving this. I think I've seen the future, guys. I'm actually loving this. Of course, I'm making some assumptions that this thing we have probably and AWS is just extraordinary. But this is the way to go. This is so much easier than freaking running up Docker and talking to the Rails guys. And it is quite cool. And especially with the tooling that Webpack provides, like I'm just blown away and I can just beam into a file, check something, and then it's just reloaded. That's why I can cry. It comes so far. So I'm like 295, right? Well, it looks like 295. I'm playing CSS or something, dude. But yeah. Okay, hold on. Watch out. This is some CSS. So, yeah, I think this is the way to go. If someone knows a better way, please let me know. But I think with Amazon APIs and the JavaScript, I think I'm pretty cool about this. Can someone throw a cat on me? Is I doing my way, so I'm not sure that I'm not delusional? I think it's great. I use a lot of those Amazon APIs. I also have a server. I have serverless apps. I have a server. Which is better, man. Serving multiple times. But I think there is a learning curve to the Amazon APIs. Yeah. The documentation, once you get used to it, it's not that bad. But it is a pain. I must say it's a learning curve. But the big breakthrough for me is really using doc clients. Because that's more JavaScript-orientating or something like that. If you use DinoDB by default, you have to name your types all the time, which isn't curating. But doc client makes it easy. Yeah, I guess the trouble is, Amazon, I don't know how long they're going to be around for, but there's something else, and then there'll be another API you have to work with. There's no standard API for doing credit operations, is there? I've got three days, though. Oh, okay. I'm taking questions. What's your favorite volume movie? Do you and Eddie are in front of order? Volume Movie. June 3, with the girls, and the iconic soundtrack. Easy, next. Do you say doc client? Doc client. We don't see it like a doc. Oh, doc client. Yeah. And that's the revelation. I was going to link it there, but that would probably make you cry. I know you already said this, but how reliable do you think those connections are in low internet? Low internet? Yeah. Like in India? Yeah. God knows, probably shit. I've been fricking sick of poor docs. I think this is a fantastic place to do your next little internal app. Yeah. Don't get carried away and like, oh, I'm going to build a big, I'm going to build Google guys. Don't bother me. So when you said data to the server, can you say this is data just for me or this is a piece of data that other people will be able to access? Yeah. You can set the policy in S3. I had management thing. I was going to try to show you a policy, but for some reason. Yeah. I mean, you have really good control here. You have awesome control. Is that the server or the server? Or let's, oh, I see something wrong about AWS. Do you have anything like, if you can get some? Not a question. What do you mean? I mean, there's something. What's something? No. I mean, sometimes do the WebSocket server do that? No, no, no, no. But like, boys, do we actually, I mean, I'm in DevOps, so I have to maintain WebSocket server. And to be honest, fuck that shit. Maintaining WebSocket server is not fun. Really? Sockets are very expensive. So yeah, and use it for a chat server. Please blank this out. We should kill the chat server. We should kill the chat feature. No one uses it. Only creating slammers do. Okay, carry on. How can you handle, for example, the interactions with serverless? Do you think, actually, you just do a gap course to document and update? But you can make sure to be in each time server as it's the one that's called to the live. How can you not stay in the pool of connection services? I mean, I do it very madly and probably badly by just doing an update. When I'm on a push button, I don't do anything very, like, back around the evening, you know what I mean? I'm doing it very madly. I mean, you're welcome to look at my code and laugh. But yeah, it's just like fetch calls and whatever. I'm actually using the SDK, what am I talking about? I just use that. Amazon SDKs. So I'm assuming they do it efficiently and maybe they intelligently call the connections, but knowing AWS client, they'll probably fuck it up. Can I take a picture? It's really wonderful. Oh, last one. Yeah, cool. Okay, thanks guys.