Welcome, everyone, to the Linux Foundation Open Source Summit. Hello. Welcome, everyone, to the Linux Foundation Open Source Summit. My name is Kathy Jory. I'm streaming to you live from San Diego this morning. Actually, I don't live in San Diego, but having to be visiting down here. So I'm going to talk to you about today about the privacy implications and security of running a smart home. So hopefully, some of you out there have checked it out. There's a lot of convenience and physical security and things that are nice about smart home equipment. But there's a lot of things to watch out for as well. I worked for a little over two years on the project at Mozilla that was an attempt to be standards-based through the web smart home project. It really is successful. It really works great. And that's what I'm going to be demonstrating today. So do it yourself, even though I'm working as a volunteer right now on the project leadership committee of MicroBlocks, I still do a lot of support for Mozilla project as well. So we're right in. And I have some links on this main page that takes you to microblocks.fun, iot.mozilla.org, during the slides as well. And after I go through a few slides to introduce the things, I'm actually going to play a prerecording that I took at my own home for some of the smart home equipment that I have there so you can see what I have in this slide, which is a little video of what's going on there. So I want to explain what's different and what's similar. Oh, no, sorry. Before I go into that, I wanted to mention an online tutorial. And it is free and open to the public. I wrote up this to some other talks I've been giving to universities, IEEE chapters, and so forth, so they could do a walkthrough of the Web of Things gateways and some of the more popular things you can do with it. So this online tutorial, I'll try to put a link in the chat funk at the Q&A session. So that's the tutorial online for you. And then I want to jump in talking about what's important to you. Security is important to all of us. And when everyone talks about security, security, security, but I would argue more security for all privacy, for all the things that are going to their home when you open and close the door, lights turn on, this being streamed through your video cameras, do you really want to share that with all the companies, especially the big lightens? And that's where I'd say, no, there's certain things to share. My washing machine broke, and there's some diagnostic information I should be able to actively adopt in today, OK, I'm pushing this diagnostic data to manufacture of my smart dishwasher, whatever. And that's an acceptable use of sharing the data. And then thirdly, interoperability. Like, I cannot tell you how disappointing it is to be locked into one ecosystem or one protocol or whatever. And there's so many things out there, and they're so ubiquitous already that the whole idea of the web of things is saying, the internet of things is these things, it's not going to change, and people are involved in it. But how do things interoperable at a higher layer? Well, that's the IoT data. Express it in a format readable JSON as properties, actions, and events. You can publish that as web services, the same as web services you use for else. And now, suddenly, I can have this push button from Samsung control this outlet from IKEA. So suddenly, I can make these interoperable. This has a event of put double-pushed, long press. And this has an on-off property. So I can make maybe this press turn it on, and a double-press turn it off. And I use these for the buttons for dimmable bulbs from IKEA, and so forth. So that's the interoperability phase is you don't have to make the hardware know about each other, but you got to make them intersect at a higher level. So how does that happen? Basically, with the WP web standard, it's just like we communicate over web sockets and HTTP at a higher layer, and all the Zig Z-Wave, Bluetooth, HomeKit, whatever it is, communications can go on as it does today. You just have to get that stuff networked to some of a web server that ties it all together. And that's what we're going to talk about today with the gateway is this becomes on a Raspberry Pi. This becomes the hub of it all running the web server. So eventually, you bring all the data to an IPer. And the beauty of the project at Mozilla, the WebThings Gateway, is because it runs this Raspberry Pi. Here I have one with an LED strip. Here I have one in a nice little bottom OK-do because there's just released a kit where you can buy this with the microSD card. You know, you flash a microSD card, and you can buy it pre-flashed for this kit and turn it into your home gateway just like that. That's kind of nice. So the thing is, all of the data runs here. And now we have an old voice local voice system that runs like I plug in to one of the USB ports, a job or speaker microphone, and I can do voice command. And those voice commands don't ever leave this box. In other words, there's no cloud backing this up right now. There's no cloud backing up the data. Cloud backing up the voice or processing the voice. There's no cloud processing any of the smart home data that goes on on the gateway. So that's the big difference between the Mozilla smart home approach and industry. Where industry, every time you buy another smart thing from somebody, you download their app. You set it up on the network with their app. And Mozilla's approach, once you get it on your network, you can usually throw the app away. Keep it just in case, factory reset. But pretty much after that, it all communicates locally for most devices. And then there are battery operated devices like this little Xiaomi motion sensor. This happens to be Zigbee. So what happens when you have Zigbee and Z-Wave devices is that you need to buy a dongle. Here I have a Z-Wave dongle. And here I have a Zigbee dongle. For Zigbee, I usually use this Con-B2 dongle from Dresden Electronics. And so then in the typical vendor approach, all your data goes to the cloud. And these approaches, it all goes to your Raspberry Pi. And then basically what you wound up with is your own private smart home where the gateway and all the things connected to it, the web things gateway, is in your home, you can buy all of these devices, which a lot of my home for convenience, these little battery-appointed ones are nice. But you can also make your own. And I'm going to be demonstrating a really fun project, MicroBlocks, where I can turn these into web things quite easily, all these microcontroller things. It's a really, really powerful project. And then what does that result in? You build and buy. I mean, you can do a combination of both results in your own privacy. So you can do a floor layout view or just, I usually use the icon view. And that's what we're going to be demonstrating shortly. OK, so now I mentioned the fact that you can build your own web things. And it's a really powerful thing for education and for just makers doing yours. So what I'm going to show next, actually, one more thing. So the web things framework is, OK, this is your hub. And these things, then how do your things produce web of things standard-based data? Well, sometimes they don't. This thing is a ZigBee device. What happens is the gateway hosts what's called an add-on. And the community has helped build boatloads of add-ons that run here. And they basically do the bridging from whatever the thing speaks, say ZigBee. In this case, it's just I could do a radio link, proprietary radio link, or I could do just the USB and plug it straight into the hub. Whatever the add-on is, it basically bridges all the data to the web thing API. So you can see these frameworks that are written in Node, in Python, MicroPython, Rust. And one of them is MicroBlocks. It's not listed here, but it's one of the third-party libraries of which there are a whole bunch of them. So the schemas, it's important to know the schemas, are at iotutamazula.org slash schemas. And all of these frameworks are available on the website. So let's just show you, if I were to use this and this and turn this into a web thing for the web things gateway, the minimum I would need is I could load the MicroBlocks IDE, which I will demonstrate during the demo period. And I just give it a name, a capability. This is going to be a smart light, a property of on off. It can have multiple properties. It could have dimmability. It could have brightness. But just the simple thing is on off. I start the little web thing server. And then I basically have a setUserLED function that turns on and off in LED. And I could have a button press turn on and off the LED. Or I go to my web browser and I can turn on and off the LED. And that web browser can be on your smartphone, a tablet, just your laptop, any browser. So you're not stuck to specific smartphone apps. You can use any browser. And what does that look like? So the way that MicroBlocks works is behind the MicroBlocks, there's actually op codes and other information. So the thing, description in JSON becomes this huge, long string that describes the properties, actions, and events of the thing I make. So here's just a list of the types of capabilities that are in the Mozilla IoT schema, the types of properties, and the types of events. So the block makes that are to basically like assembly language, readable code. And those are converted into machine code that are actually running on a virtual machine on the board. For common boards, like the circuit player on MicroBit, when you plug it into the MicroBlocks IDE, it will download the virtual machine for you. But if you have some random other microcontroller and you can get a virtual machine running for it, then Platform.io can do all sorts of, you know, let's you build the virtual machines all 100% open source, education free, and you can build virtual machines for other hardware. OK, guess what? It's demo time. So hopefully this will work where I'm going to jump to my next slide and be able to play it. Here's the office light. I can turn on with a button, one press. Double press turns it off. I can also just click any of these icons to turn it on. If you're actually hearing this because I'm not hearing it. And I can do a long press to go full brightness. These are just some rules I have set up. So let's go around the house and check out what else we have. Next, we're going to wander into the laundry and check out my smart home camera. See this camera right here? That's the view it has out. Now, if we actually go to the home cam, we can compare the snapshot of what the camera sees. Pretty slick, eh? Better move this so I can close this. And in this laundry, I also have a very tiny Xiaomi temperature sensor. You can see it tells me the temperature. All right. There's a streaming function you can also do with the camera, but I'm not going to do that right now. We're going to head out to the front door. Right hidden behind my little bench, I have an IKEA button. Buttons are useful for a lot of things. Let's see what's going to happen when we open the door. There's my door sensor right there. And it's active or not active. Now we're going to go out and see that right outside the front door. We have a Xiaomi motion sensor. So the porch is active, porch motion. And then right down here, we have a string of LEDs. This might be hard to see. We're going to use the button to turn on the LEDs. You can also change the color. Just see what's going on here. These should be so bright out here. I can't see the garden. There's the LEDs. And then different button presses will change the garden color to different colors. And you can see the different colors. We'll leave that on for a moment. We'll head in. And I'll just show you the hub of all these things is what's called the WebThings Gateway. So I'm going to head over into the TV area. And you see that the TV area motion sensor just triggered. And I'm going to show you this little table. I have set up a bunch of things for the demo. But here's the Raspberry Pi with a ZigBee adapter. It's plugged into a speaker microphone, a Jabra, off-the-shelf speaker mic. There's a Google Home that does announcements for me. I'm going to show you what kind of announcements. This is a leak detector that's normally under the sink. So if it got wet, there's a rule. Let's see. I've got to scroll down here. You see the leak just went wet. And then every minute and a half, it should trigger the Google Home to do an announcement. I'll show you the Google Home right here has this leak detector thing. And you can also do random announcements. Check under the sink for possible leak. So that's what just happened when this got wet. So I'll let it dry off. And it only does that while the thing is wet. Check under the sink. Check under the sink for possible leak. OK, so now this should dry. And again, if I just show you the Google Home, hello, Linux Foundation. I'll show you how this works. Submit query. Hello, Linux Foundation conference attendees. All right. And now what is this little speaker microphone here for? It's good for turning things on and off with your voice. So I'm going to say, hey, Snips, turn on the music. And if you note, it actually just turned the Sonos to playing. And it's streaming radio Swiss jazz. So hopefully you can see, hear that. Hey, Snips, set the music to 60%. Do those things. Now we're going to walk over. Probably turn off the music for now. We're going to go over to this entry door. And you see here, I have a Samsung SmartThings door sensor.  That's very convenient. This is the main door that we come in and out of the garage. Oh, me. OK, I need to get that thing to dry out. And then down here, I just set up my study and my coffee button and lamp. And we're going to just see, let's see, where's the coffee? Now the leak is still showing wet. Here's the coffee button. And you can see that. I just, I don't have the coffee plugged into it. But you can use buttons to turn things on and off. And so I did a triple click to turn it off. And then I have this lamp. Hey, snips, turn on the study. And you can see, even though I'm all the way across the room, I can still turn on this light. Hey, snips, turn the study to blue. Pretty cool, huh? And then I can, there's a string of lights outside. And it's this string right here. And we're going to turn on that string just with a light, just with the web since I can't hear it from here. See, where is it right here? And hopefully you can see that string of lights go on. And then there's also the back deck motion sensor right here inside that, let me see, that little Ikea motion sensor. Come back in. And we'll say, hey, snips, turn everything off. Hey, snips, turn everything off. It's possible to leave. Oops, I still have to get the leaf to dry up. Still wet. Hey, snips, turn everything off. There we go. Now there's like just a couple more things I want to show you really quickly. And one is the convenience of having temperature and sensor. So like I said, some of these smart things, sensors have temperature sensors in them. So we're going to check out this upper deck sensor. So if I tip it up there. And you can see that it, when it opens, it triggers the fan right next to it to go on because there's a rule that says when the upper deck temperature is greater than 23, then turn on the fan. And so the fan for the outlet just went on. That's a Samsung smart things button. And then I just want you to show you here, this is just an Ikea outlet plugged in outside. And because we're in California, the weather is nice enough that this is just been outside all year round. And lastly, let me just show you the temperature here. It is right now 25 degrees Celsius. Not a bad day. And the rest of it I will do in real time at the show. Bye. OK, it looks like I'm back. All right, I was watching a little bit of the chat. So in addition to the learn more, the first thing I'm going to do is screen share with you all so that I can do a little bit more in depth of the gateway. So I'm going to share my screen. And here we are. So hopefully this will switch in and you can see my screen. All right, starting with, for example, just out front, I can click on this little screen and see that the car is still there. And just see what's out front. And you can do a video encoding through the Raspberry Pi. But I wrote a Raspberry Pi 4 when you turn on the stream. It takes quite a bit of chugging. I have this all running on a Raspberry Pi through now. There's I use pulses to turn on and off things.  It's basically under the add-ons. You can set as many pulses as you want. It's a type of add-on right here, where if I configure, I have a pulse called a house. And I have a pulse called everything. And I've inverted the everything pulse so that I can use my voice to, say, turn the community everyone. And so I have a pulse house that turns everything on. Another one called everything that turns everything off. This is just an IKEA smart bulb that I can set the brightness. And I have this tied to a button, one of the Samsung Smart Things buttons. And a single press turns it on. Double press turns it off. Long press turns 100%. So I don't want to repeat everything I did in that recorded video. But for example, the Sonos speaker has all sorts of things you can do. But there's almost too much going on behind the scenes. So it's better that I tie a virtual dimmer switch. This music button is really a virtual switch. And then I can use my voice with it, or I could use the browser. And I can just click on the music by clicking the icon, just like this button here. I just turn it on. If I want to change the color, I can go in here and change to a specific color or some sort of pretty pink, whatever it is. And, yay, verily, it will be turning those things on. Before I jump into too many of the other demos in here, I want to show you logging, which is extremely powerful in my opinion, so whether or not from Uzbekistan. And so I can look in there and see when did the door that you go in and out last opened recently within the last hour. And I can look at when things open and close over the course of a week. And you could see that somebody's around a lot, because they're all stuck inside or stuck close to home. When we're back in the two people in the family to go off to work and come back, if this type of data of when things open and close are in the wrong hands, then people know that those empty hours occurring on a daily basis throughout the work week would tell people when to break in. You can also see from the motion sensors and the front door we go in and out less often. All of these Samsung battery operated motion sensors, leak detectors, everything have temperature. And I just find it exceedingly interesting to watch temperatures over the course of a week. So this is a Xiaomi temp sensor in the laundry. It's a smart thing button in the office there. And I have an add-on of just open weather map API data that pulls in so you can see the temperature outside. And then you can see the variation of a temperature sensor that's by the window. It matches the outside. You can see that over the last couple of days, the temperature went way down. Earthquakes are something that is extremely interesting to watch from California. And in fact, where announcements occur when it's over 5.0. So within the last week, you see that there was a 5.8 and a 6.1, I believe. It was pretty far away, like 394 kilometers away from my house. I didn't feel it. But it's really kind of interesting to watch these data. My port sensor is this Xiaomi one. It's very sensitive to wind of a bush that's nearby that flaps. So it's not really as good of a motion sensor as it is a wind detector. But you know, you can use things for different purposes. This is a IKEA motion sensor. I don't have one here, but it points at the back deck. I go riding, rowing out in the bay so I can see the tide in Redwood City. Again, this is internet data that is being brought into my home. So you filter it specific to your interests and your locations. Normally you have to go out to the internet and fetch information from different places. This brings it all to you, which is quite convenient. This garden lights in the front. I have turning on at sunset and turning off at 10 PM every day. So it seems like someone's home whether we're there or not. And I still have the ability manual override, of course. This is that leak detector that something funky happened when I got it wet and it didn't. I actually had to pop out the battery and plug it back in. And it was fine after that. But the sync detector rarely goes off. I've only had it go off once for real in this instance where somebody was putting a canner bottle or something in the back recycling under the sink and accidentally spilled some water that got the leak detector wet. And yay, verily, it went off and let me know. So it's kind of convenient to have that Google Home announcement. And I get a Slack message. And if I'm at my computer, I get a browser message. And then my upper deck door sensor, another Samsung one, has a temperature sensor in it. And when it opens up, when I open it up in the evening to cool off the house, we don't have air conditioning, it automatically turns on the fan next to the screen door if it's above 23 degrees Celsius. You can change your units and so forth to Imperial units. But I'm very much a metric fan. This is where everything lives, like, in my house on a floor plan. And I put on the side buttons that don't really relate to things that are physically located. But the office light, as you saw that I had turned that on, I can turn it back off again. This is where the Google Home and the Sonos and the doors and everything live, so you can turn things on and off. And this is the outside light string. So it's kind of fun to be able to, I know where things are. Some simple rules to start says, here's my office button. If I press it once, turn on the office light. Easy peasy. Same button, double press, turn the office light off. Same button, 100%. So with three simple rules, I can do that. Here's my virtual button for the music button, turns the speaker on. I could do a whole bunch of pulses to change setting and so ray assist jazz to KQED or something like that. I also have the volume. There isn't a complete track of this level to that level and the rules, that's tricky. So I do a greater than 50% set the volume high and less than 50% set the volume low. That seems to work pretty well for me.  And here's the, for example, illuminate things at sunset. So I have a front office desk lamp. When I was working out of the house, it was nice. In the winter, it gets dark early.  So it looked like somebody's working in that office. Also the front garden lights would come on at sunset. And this event sunset at my location is based on the date time add-on. It's extremely convenient. In fact, just before I jump back into the rules, I just want to show you the date time add-on. So you can set rules based on, you know, like the leak detector will go every even minute. It will make that announcement to me until I make the thing dry again or turn off the rule. You can also disable the rules. But behind this has sunset and sunrise and stuff. So let's just go back to that rule a second.  So this rule was sunset, so we'll leave it like that. And then the next rule was those same lights go off at 10 p.m. These are the motion ones. So because the porch motion was so active with a nearby bush blowing in the wind, you can see I have disabled that porch motion thing. But otherwise I had it, would I have it do, tell, you know, announce it to me on the Google Home and say, you know, there's some motion on the porch. So if I put one of the better motion sensors out there, or actually I think I just need to put it on the other side of the porch because it's battery operated, I can look at it anywhere, facing back toward the front door. It's got to move its position. And then it should be fine because it's always nice to know, you know, there's somebody actually on your front porch, even if you're inside the house. Let's see. And then this is the, that Ikea light switch that has like dimmers and scene control and so forth. It has so many functions. You could literally use this five button button for oodles and oodles of rules in your home, like levels and scenes, an event one press, two long press, two release, three press. I mean, literally every one of these events could trigger an action. So, and then the other thing about the garden switch is like there's different colors one, but then there's the main one where I just, let's see, where's the garden lights on? I use a while off. If something triggers, you can do something, but you can have the button on and while the button is on, the garden is on. I do that with the music, virtual button and the Sonos as well. So that as soon as you turn it off, then the thing goes back off.  I can have something where I want at a certain, let's see. I mean, literally I could do like at a certain time, like 12 o' six a.m. It could send a browser, oh, no, I didn't want Slack. I wanted browser notification, but I could actually send Slack messages through this exact Slack channel if I hook up the Slack API. And say, it's 11 o' six. And they're just like fired off, it's 11 o' six. So that's a little browser notification. And again, I can go in there and delete my rule, my new rule, or I could just disable it. And this is the one where if the fan, if it's hot upstairs, turn on the fan. And my earthquake alerts, and if I'm away, I can have something that on our authorized, people are asked to leave the premises immediately, stuff like that.  And then the key is in the settings. So the domain, you get to get your own private subdomain and there's a technology called PageKite that's used with the Raspberry Pi to tunnel in over HTTPS. There's another company, NKN.org, that is used there sort of overlay of security that you can, it's decentralized, you don't have to use the tunneling and you can get access remotely. But basically you're looking to remotely log into your gateway because none of these data are processed or stored in the cloud. On the network side, you have the option of on the Raspberry Pi of Ethernet or Wi-Fi, mine happens to be just Wi-Fi connected and it seems to work fine. You can enable as many user accounts as you want, I'm not gonna show you those, you're gonna try to log into my gateway. Add-ons, well, before I get to add-ons, that's the coolest thing, but localization, you can pick a number of different languages and these languages are posted as a pontoon project, just like Mozilla translates Firefox via this pontoon projects. So we have all these different languages that people have contributed for the WebThings gateway. If you don't see the language that you speak, then contribute a language translation and you'll be able to pick it. And temperature in units is Celsius or Fahrenheit. Updates right now, I'm using version 0.11 because my demonstration of the SNPs add-on was only available up through .11. .12 is the latest release and I've happened to have just last week been able to test the first instance that's add-on beyond the developers of the deep speech-based local voice. So some of you might ask, how good is the voice? Well, I've been really pleased with the SNPs add-on and libraries that can be running on a low Raspberry Pi and nothing goes to the internet and I'm hoping that deep speech works just as well because it's really fantastically convenient to be able to use your voice to turn things on and off. And I'm able-bodied, but you can imagine everyone that has less mobility or anything, if they have voice, that's just a great, great thing. And I'm hoping that someday there will be the text-to-speech capability that I use through the Google Home. I'm hoping that will also be available as an add-on. There are some demos of that available. It just doesn't work quite as easily for me as the Google Home. But the updates are over the air. Authorizations, right now I have one authorization. This is a JSON token that you enable in the developer section. And this is allowing web-to-web services to exchange a secure token in order to get data over the API. And right now the voice add-on that I use is the only one that uses this secure token. There's no experiments right now, but under developer for Raspberry Pi, you can enable SSH. I have it blocked to the outside, but internally I can SSH into my gateway. You can view internal logs. We'll show you a list of the logs and you can click on them. And you can create local authorizations. Again, I'm not gonna do that, but basically what happens is when you do that, you get to select do you want that third party to be able to monitor or just monitor and control or just monitor and then for which things, and when you apply that it will boom, it'll create a JSON token and actually shows you code snippets of using it in Rust and Node and Java and JavaScript, different languages. So that's pretty cool. That's mostly what you see under settings. Let me think if there's anything else that I wanted to show there. And then just going back here, it's kind of fun to look at some of the internet-based data. This is the, when is the high and low tide gonna be today? So I can plan my rowing. What's, here's the pre-canned Slack messages that I have that will send me information on the Slack channel because it might be the command parser or it might be the speech-to-text that was a little different. And then we can check back on the weather and you could have smart gardening that you could key off of internet data, not necessarily all local data if you don't have a sensor for the wind, you could just pull it off of the internet, let's see. And then earthquakes too bad there isn't one active while we're doing this, but it's really fun to see where they're occurring in the magnitude and the distance from my house. So it's all kind of focused on me and the preferences that I give in the add-on itself. So one more thing I wanted to show you then is the add-ons. So if you look at the add-ons, the datetime adapter really useful says who created it and what the license is. And then when I configure this one, I just have to include a latitude, longitude and some other information. And so like for example, if you like the Google text, home text speech one, which I find very fun. If you click on that link, it will take you to the GitHub account for that or whatever account it is. It'll take you to the source code and then there will be usage for how to use it better. And for example, the Slack integration again is there and that's not what I wanted to do. I wanted to click this so you could see the, again the read me for how to integrate messages to go to Slack. And then I use that for my smart home capability. So no matter where I am, those data will be pushed out to the gateway through the Slack connector and I get these alerts no matter where I am. And I have WiIMO and TP-Link. I'm not using an easy way of at the moment, but if you click plus and see the add-ons, this again shows you who created it, Felipe Koval and the license. They're all open source licenses. And if you want to add it to your gateway because you have those devices, then you just click add. Some have configurations that you need to build upon that, but they're all, at least I've found, to be very straightforward. So as I just scan this list, you can see all the fun counters, a fun one. You want to count how many times the door is open and closed during the day. I used that one time. It was fun. And every time I log in here, quite honestly I see new things like the display toggle. If you want to turn a Raspberry Pi touchscreen that's attached to your gateway on and off, you could have a display toggle thing. And then you could probably use your voice to say, turn on the display. And so the new voice controller is gonna be, hey, web things is what you'll say. I use the earthquake monitor. You can have it send email to you. There's lots of devices you can build on your own and including the micro box add-on. So I don't use micro box so much with my own home gateway, but I use it a lot just on my desk in my office. And I'll get to that one eventually. There's a frontier silicon internet radio. There's another internet radio one. So you can stream radio stations through your gateway. Anything that has this little notification of a bell, those are notification add-ons. You'd set up a rule, some event or some change of property state occurs and it will send you these notifications. All of HomeKit, by the way, if you buy devices that are HomeKit capable, I find they're a little bit more expensive, but I've heard the quality is quite good. So you buy anything that supports HomeKit and be sure, like some devices like the Phillips Hue or the IKEA gateway, I think there's add-ons where you can actually use both the commercial hub and the Mozilla gateway. HomeKit, as far as I understand, is not like that. You have to pick, you're using Apple's HomeKit hub or you're using the Mozilla webthings gateway. Let's see. And see on devices, internet radio, Cody Lamed, LG WebOS TV. There's several devices that support that WebOS. And Matrix Chat was one that Christian Paul just recently added. He works at Matrix. Mozilla uses Matrix for its chat. Capability. Microblox, this again is one of my favorites because now I can turn all of these little microcontrollers into webthings using this add-on. And actually, Microblox supports native webthings which is way down at the bottom. Let me just show you. Whoops, it's under W. Webthings. So this is the native webthing support. So if you program in, let me show you all of these, these types of devices, the M5 stack and M5 stick and M5 atom and anything ESP8266 or ESP32 based, they directly support this stuff with the webthing API, which is just really super cool. So you just plug in the SSID and password of your Wi-Fi in a Wi-Fi block to program these things and then you connect them up as webthings. Wi-mo devices I find really clunky on the provisioning side. Once you get them set up, they tend to work okay. So anyway, the add-on community I think is just phenomenal and a lot of devices, so Xiaomi, IKEA, smart things, all of these things that are ZigBee based, they're all accommodated by the ZigBee adapter. So you don't need to look for an IKEA adapter or a specific Samsung adapter. Okay, I'm spending way too much time on the gateway and I need to come and answer some questions because I didn't actually get to micro blocks. One more thing I want to show you is here's micro blocks, here's my micro bit and I can just go in here and say open. There's a Mozilla webthings category and I can say, okay, make a heart rate monitor and it will load an example and I can turn this. You can just see that it's heart rate, it's a multi-level sensor, it's got a number of property it starts and then if I run this, it will blink 60 beats a minute and if I push button A it goes lower, push button A it goes higher and all it is is these variables over here, the beats per minute and the interval that gets exchanged, just the beats per minute actually that gets exchanged with the gateway. And I just wanted to say that micro blocks totally rocks because it's a live programming language. So if you just click on a block, it actually happens in real time, include the display. All right, all right, so I'm gonna jump into questions and I will continue to do the Q&A on the track in Slack. So let me just, the privacy is critical, just how good is the voice? It's gonna get better and it's not perfect, it won't be as good as Alexa or Google Home. Somebody else asked about OpenHAB, I haven't actually personally used OpenHAB, I watched somebody else who uses it but why is web things, Mozilla did things differently because they didn't wanna force someone into one language and the add-ons you can write in any language and the web is really any language. So those were the questions that I got asked on the Q&A there and I welcome you to go over to the chat channel and we'll just take it from there on the Slack chat. Hope that works for everyone, thanks for your time. We'll see you on chat and let's see. Is my email actually first dot last? No, it's not, it's my first name, dot my last name, edgmail.com. I don't know if this is still live but I can look at Slack channel questions and answer them. The sensors I use, Xiaomi, Samsung Smart Things Ikea for the battery app and stuff, the powered stuff really doesn't matter. And then there's a link to the tutorial if you wanna do it yourself in the Slack channel. And I hope you all get a chance to give it a try, it's really a great project. I still don't know if this is going live. Are we still live?


arrives in Santiago, Chile, bearing a military mission from the United States. As the chief of American forces in the Caribbean zone, General George Brett are painted the flags of the countries visited by the mission. The United States is bestowed upon General Roberto Lorraine and other Chilean officers. With the United States representatives is their host, President Rios. Flags of the 21 South American republics had a parade, a festive celebration of Chile's Independence Day. Impressive show of Chilean strength. E. Smith, four times governor of New York, is dead at 70. This is Al Smith in the 20s with his wife, Katie, at the state capitol at Albany, New York. His famous brown derby and the big cigar. Smith was defeated in his 1928 campaign for the United States presidency. His progressive and humanitarian ideas have been a lasting influence on American government to his memory, citizens by the tens of thousands mass outside St. Patrick's Cathedral in New York for solemn funeral services. Mrs. Franklin D. Roosevelt among the mourners. Herbert E. Lehman, successor to Smith as governor, now director of the United Nations Relief and Rehabilitation Administration. The Army's service forces now operate special produce farms to provide fresh vegetables and fruit for American troops on Guadalcanal and nearby islands. Watermelons, a real delicacy, are among the variety of good things which are grown and transported to men in the jungle interior of the Salamans. Produces packed in strong cases, cushioned to take up the shock of parachute landings. Transport plane carries them to distant areas. Men of the air delivery section drop the containers to isolated batteries on guard far from the coast. Outpost patrol on the fighting line, Watermelon is a welcome gift from the skies. In the first of many Pacific Island groups from which the enemy has now been driven, a brief happy respite from battle. Martha of Norway arrives for ceremonies at the Norwegian Naval Anti-Submarine Gunnery School at Travers Island, Pelham, New York. Per W. Lee and Princess Martha, Norwegian sailors assigned to this course have now all been fully trained. The school has accomplished its mission. The service of thousands of her men, fighting alongside her allies in army, navy, air force, and merchant parade, Norway continues her relentless struggle against the enemy. Great channeled port at the mouth of the sand. Incendiary target markers fill the air, followed by a rain of bombs on German military installations. Power combined air and artillery assault, men and arms of General Crayar's Canadian First Army move into the outskirts of the second largest port of all France. To help German surrender, our forces enter the city. The hub, as a military port, will require extensive reconstruction. On the English side of the channel, 15-inch coastal guns open a devastating artillery barrage against the entrenched enemy in Boulogne. One ton shells hurtle on their way. Enemy resistance has reduced most of the port to rubble. Known as isolated German coastal strongholds fall one by one, 9,000 prisoners are taken, leading to the more than a million Nazi casualties since D-Day. Their army now draws heavily on ill-suited replacement material. General bombing as the prelude to enemy surrender. All civilians evacuated, the RAF smashes German gun positions only 27 miles across the channel from England. Atty aircraft brings down one of our planes, but the crew bails out in safety. For the assault, the air forces pave the way for capture of Calais by allied ground forces, the cleaning up of the important channel ports.


A fyddwn niín description yn y taeth, a felly rydych i'n bwysig a'i gael ein sgwlad nifer dow i chi'n bwysig. Pan d巴ud wedi bod yn gwneud i ddaeth i ddim yn ei gafodd ddigonio. Felly wedi gydagon ni'n meddwl i'r sgwladwch, neu'r trainer ydy i! Rydych chi'n meddwl, dweud o'n meddwl fyddwch... Ac ar ddiweddol ar nifer, yna elen ond mae'r cyhoedd ymddangos ar y brifysgirio yn y felly, yma'r amser gyda'r arnau chael bod yn y prifysgirio'r amddangol. Felly mae'r hyn yn y Cysyfaint Gweinwyr sydd wedi'u gwybod i'ch meddwl, ond rydw i'n mynd i chi'n gwneud y meddwl a'r ysgol ym Ysgol, ac yn ymgyrch i'n amlwg yn gwneud i'n meddwl y British person, ond mae'n gwneud i'n meddwl i'r USA, ond yna'r ysgol i'n meddwl mewn gwirionedd ac yn adnodigu yno ar gyfer eu gweinwyr. Mae'n tynnu yng Nghylch Gweinwyr a'r ysgol o'r hwnnw a'r wneud i'r hwnnw. felly iawn i'r maen nhw'n meddwl yma'r Gweithdoedd amser yn Srinjaxxus yng Nghymru. Mae'r ddweud bod all yr oedau wedi'i ddod o'r ddweud. Mae'n ddweud yn y ddiddordeb. Mae'n ddweud o'r ddweud o'r ddweud, ond mae'n ddweud. A dyna gweithio ar y cwm yma, mae'n cael ei fod yn eich holl o'i sgol, mae wedi ddweud o'r ddweud. Mae'n ddweud ar y ddweud, 2013, January of 2015, we got the news from Austin, Indiana that they'd had a HIV outbreak. Now this was not surprising to many of us because you've already heard this morning that across the US we've seen massive increases in hepatitis C, massive increases in the rates of overdose and on the back of that because this is connected to an increase in injection drug use there's this concern and this worry that we're going to see more HIV outbreaks and it happened in Indiana. Austin is a really small community in a rural area there's only four and a half thousand people and to date they've seen over 200 people develop HIV as a result of this outbreak. That's a massive challenge for this very poverty stricken area we went to work there, it's always really interesting to me in America they call it the city of Austin it has one stoplight I'm like how do they get to call it a city it's like a village to me 200 people in that vicinity of four and a half thousand and it's in the Scott County which the county only has 24,000 people and we know that Indiana is one of the states in America has the lowest public health spending per head of population as well so there's very little resources to even provide treatment and support for people in these areas so they've been hit by this epidemic. So this news began to hit the headlines and we'd already been doing some capacity building work in Indiana and then what happened is we began to be inundated at the harm addiction coalition with people coming from the in and around those states Kentucky was very quick off the mark, Ohio was been in contact with us West Virginia got in contact with us, we are seeing the same conditions there and we think we could be on the verge of a HIV outbreak too so they came to us and said you know we really need some capacity building one of the really good things about working at the harm addiction coalition as well is that we have a really great policy and advocacy team headed up by Daniel Raymond, deputy director of policy and planning who for years have been doing policy and advocacy work in and around these areas and we were able to then complement that by bringing capacity building and training and technical assistance to help people to then begin to act on that policy and advocacy so some of the lessons we learnt that I want to share with you from doing this work I think really go to the core of who we are as harm reductionists so we're going into communities that feel very stigmatized people in Indiana have received a lot of press attention there's Austin itself, at one point some bright spark decided they should put stop signs at the beginning and the entrance of the town to say HIV here which then people quickly realise how stigmatized that was and they shouldn't do that so when we're going into communities to provide capacity building that we're recognizing that especially as outsiders that we're coming in with that sensitivity and that harm reduction love where we say we're going to meet you where you are and we're not going to necessarily tell you how you shouldn't be doing this we're going to give you the information about how people do it elsewhere and we're going to help you build it to meet the unique needs of your community and your area so being very sensitive to that when we go into those communities and also recognising that when we go into these communities people in these communities have never had a chance to learn about harm reduction you hear this saying you don't know what you don't know so we were going into communities where this was brand new stuff to people people say really messed up shit in meetings and as harm reductionist you have to kind of hold that sometimes and be ready to kind of meet them with some I call it the hug slap hug method so like you hug them in there like because it comes out of anxiety I've sat in community meetings where I've had community members that are like this is ridiculous it goes against the grain of common sense all the classic stuff we hear as harm reductionist you're enabling people but they've never had a chance to learn about actually what it is we are enabling that we're enabling people to be safer we're enabling people to help be healthier and we're enabling people to have the tools to keep themselves alive so that they have a chance to get to recovery so again as a harm reductionist it's going into these communities and being ready for that and being ready to help people understand what we're really about so we did a lot of work I even had staff sitting in training that have been told by their manager oh you're going to start doing syringe exchange and they knew nothing about it you know I had one lady in Louisville her only job in public health was to go and test the water in swimming pools to see if it was safe or not suddenly she'd been told oh you're going to do syringe exchange so we have to be very by providing this capacity to help people kind of reassure them and gain the confidence that what they're doing is not enabling because that's what I was told 20 years ago and I didn't have the vocabulary to explain why it felt right luckily now 21 years ago 21 years on I can so so what we were often doing in past part that is helping people to build their case because local people who felt like they needed to do this or they wanted to do it or they were coming to harm reduction for the first time they needed a lot of support to build their case so providing them with the data and the tools and there is this conflict we feel like why the heck should we be spending more money on research and stuff that's already been researched and we've proved that it works but some of the challenges that people face are very conservative areas that they have legislators that were like well that research is from 2002 we want to see more up to date research so there is a place I think for continuing to provide some updated research to support people in these areas to show that it is still working and it is still evidence based helping them to learn that I said to them you need this data in your back pocket when you're speaking to people in the community it's been amazing to see some of the transformations I've seen people in community meetings do 180s or even 360s we were a community meeting in Kentucky where by providing this education and this information at a very grassroots community level in a local church I saw a pastor that was completely against harm reduction decide that by the end of the meeting he wanted the syringe exchange van to come and park in his parking lot I saw a community member that was totally against it and by the end of the meeting he was getting a sharps container to go and pick up the needles that he'd seen in the back of his behind his house that he was really worried about he was almost like a volunteer for the syringe exchange so by being able to provide this information we can help people make really come to harm reduction truly understanding dispelling some of the myths a lot of people think that we have the opposite of abstinence helping people to understand that abstinence is a huge part of our spectrum but we offer many different goals for people in recovery we're not just hinged on that some of the other things that are really important to our work we're also helping the staff to understand especially in health departments the impact of stigma so we're seeing a lot more health departments coming to harm reduction now and the staff there especially those that are new to harm reduction really understanding that you can't just necessarily open up the doors of a building without understanding the stigma that gets in the way of people walking through the doors so helping people to understand what that means or people thinking that people will just roll their sleeves up and show me their track marks understanding that the shame and the stigma that prevents people from doing that and what it takes to create the engagement and the relationships that you need to get people into your services is a really fundamental part and a lot of the health departments that we've worked with most recently we were in Nevada in Utah they were like the stigma piece was really key for us to really understand this stuff so really helping people to understand that when we're doing this capacity building is important and I think the other thing that for us as harm reductionists is really important when we're doing this work is helping people to understand the history when I'm sat in a room of health department folks who are new to this helping them to understand that this did not come out of public health this came from people who use drugs for people who use drugs and that's the history of our movement it's the history of our work so helping them to understand that so helping them to then understand why it's really important that as you develop these programs wherever you are that you include the voice of people who use drugs that their expertise should be at the forefront of your planning and development and also helping them to understand the communities that have been disproportionately affected we've heard a lot about that communities of color that for years have been struggling with this they've developed their own harm reduction because nobody else was willing to provide it for them and when I'm sat in a room I was sat in West Virginia with a group of folks all white folks and I'm like how are you going to connect with the communities of color where you are who have been experiencing this for years personally because middle class white kids are dying you want to do something about it how are you going to address that with those communities too who are you going to connect with and create partnerships and alliances with to help you reach those folks too similarly we were in Florida recently they've just opened their first syringe exchange in Miami and they know they're struggling they're actually in a community of color and they're seeing more white people even though they know that there's people in that community that need them because there's a huge distrust amongst those communities because of the way that they've been historically treated so helping people to understand that in terms of their program development and then the other important part is especially when we're seeing a lot more health departments and public health folks coming to harm reduction that we help them to understand that it's still really important that they partner with community-based organizations and grassroots organizations in terms of delivering this work because often the community-based organizations are the ones that may already have the pre-existing relationships with folks that are using drugs because they may be accessing them for other services so that as health departments it's key that you include and partner with them we've also seen situations for example in Indiana where you've got really small health departments working in these counties that sometimes they have one and a half staff and suddenly they're tasked with a public health emergency so it's imperative that they partner with other organizations so for example in Bloomington Indiana the health departments there decided you know what we're not going to do this they often hold the power of getting it approved so they'll have that power to get it approved but they decided to partner with a local community-based organization that's actually now covering three counties because they are better placed to do it and in a time when resources at the state and the federal level may even be getting less that's becoming more important because sometimes community-based organizations do not only have the relationships but the resources to be able to do this and then also helping people to understand because a lot of harm reduction and the work that we've done has come out of urban areas and we're seeing a lot more rural areas that are being impacted for the first time so helping them to explore the unique ways that they need to deliver syringe exchange and harm reduction services so helping them to understand that you know you might be able to open a store front that you really need to think about mobile provision and secondary provision by having peer based distribution and one of the other things is one of the key things and I heard this through some of our other speakers actually you know thinking about Morocco where they have the regional training center one of the things we've really focused on is creating training of trainer opportunities because we can go in and we can provide this capacity building but we want people to be able to do it for themselves so really by being able to train people in those local areas who can become those harm reduction trainers there that gives them more capacity to sustain what they're doing I want to just say I hope what I've shared with you in light of all the challenges that we're facing and even in America right now where we have Bonkersville at the national level that by doing capacity building with people on the ground at a local and state level we can still foster the resistance that Deborah spoke about this morning there is hope out there there are people that are committed to doing this on the ground and so if we continue to support them to do it we can hopefully mitigate some of the challenges that we're seeing on a more national level in terms of conservative government so thank you


Okay, given that, lines 5A and 5B, pension and annuities. So you should receive a form 1099R showing the total amount of your pension and annuity payments before income tax or other deductions were withheld. This amount should be shown in box one of form 1099R. Pension and annuity payments include distributions from 401K plan, 403B plan. The 401K is a typical plan for a business and the 403B often for government type of entities, public sector areas, government 457 plans as well. So rollover lump sum distributions are explained later. So in other words, what if, for example, you were at one job and you had a 401K plan and then you went to another job? Well, then you have this issue of do I want to keep my money in that 401K plan or do I need to pull it out? I don't want to pull it out because I'm going to get hit with penalties. Therefore you might roll it over in which case you would have something in box one typically and then not something in box two and the distribution code I believe would be a G indicating a rollover of some kind. So that would be very important otherwise and this happens to some people.  So you want to avoid doing that. So rollovers and lump sum distributions are explained later. Don't include the following payments online 5A and 5B instead report them online 1H. Disability pension received before you reach the minimum retirement age set by your employer. Corrective distributions including any earnings of excess elective deferrals or other excess contributions to retirement plans. The plan must advise you of the years the distributions are includeable in income. So when we look at the distributions it's going to become important in terms of which year the distributions should be allocated to in terms of the income for the proper year getting the cutoff dates correct. Tip, attach forms 1099R to form 1040 or 1040SR. So the 1040, the normal form 1040SR when you're over like in the retirement years. So if any federal income tax was withheld. State tax, federal tax, social security tax. Note that these forms are kind of similar to the W-2s and that well when you're working years the W-2 form is going to be the one that likely you're going to have the withholdings with. If you're beyond the working years a lot of your income that you're living on is going to be from investments but they're usually oftentimes still subject to tax because they're coming out of a 401K or IRA and therefore you might set up withholdings when you get those distributions in a similar way as you do with like the W-2 kind of withholdings or you can make estimated payments in your retirement years. Fully taxable pension and annuities. Your payments are fully taxable if A, you don't contribute to the cost C cost later of your pension or annuity or B, you got your entire cost back tax-free before 2022 but C, insurance premiums for retired public safety officers later if your pension or annuity is fully taxable enter the total pension or annuity payment from forms 1099R box one online 5B don't make an entry on line 5A. Fully taxable pensions and annuities also include military retirement pay showing on form 1099R for details on military disability pension C publication 525 if you've received a form RRB 1099R you can see publication 575 to find out how to report your benefits you can go to the IRS website and find those there.


What's good Josh Warhol's back again with another video. So we're going to check out top 10 oversellers in WWE history by none other than wrestling flashback. This should be a good one. There's probably going to be some clips that I've probably seen or checked out before, but who doesn't love wrestling like the overselling? I find those be the funniest part in a wrestling match sometimes when a wrestler is just selling like crazy. Sometimes it's funny and sometimes it could possibly overdo it. It kind of takes you out the match. Either way, this should be a good video. Appreciate all the love and support man. Roll to the honey cane, let's do this. Is this on? The term sell in wrestling refers to being on the receiving end of a move and then making it look realistic. The wrestler is selling the idea that they hurt the people watching the match. Over the history of wrestling, a handful of superstars have gone at a reputation for being too good at selling, sometimes to their own detriment. Yeah. Oh my God. But when somebody oversells a move, it means they're going a bit far with it. Yeah. Come on, bro. Some people don't. There's no denying that it could be downright hilarious. Yeah. So in this video, I break down the top 10 oversellers in wrestling history. Picks another shot right to the corner. What is that? Bro, come on. Bro, you got to salute Stone Cold when you get stuck. Special mentions go out to Greg the Hammer Valentine.  Jerry the King Lawler. East Brock Lesnar. Hey, oh God, damn.  Number 10, Triple H. There was no doubt that Triple H is one of the best inside the square circle. But he's been known to oversell on a number of occasions. Whether it's his classic turnbuckle bump, it's by the hard race, where it flips outside the ring. Yeah, boom. That's classic Triple H. Damn, cameraman fail. He's selling of the Stone Cold stunner competing with the Rock. Nope. Or his own version of the flare flop. Yup. The game might have taken the selling a bit far at times. Yeah. There was no denying that it was so interesting and still remembered.  I was trying to blow him up. Hey, fall, bro. You good? Yeah, I'm good. Number nine, Ted DiBiossi. Ted DiBiossi was considered one of the finest in the world over his generation. God damn. DiBiossi was regularly the victim of hot tag combats by the good guys. This is serious. No, no, no. He'd frequently bounce around the ring and act like he just got knocked out.  He was also notable for perfecting a forward and backward flip on the mat. Oh, wow. Look at that. In particular, from his failed double axe handle from the turnbuckle. DiBiossi, up hold.  Scott Hall. As Razor Ramone, you've got two over. Rest in peace, man. Rest in peace, Scott Hall. He was, he had some oversell moments. I hope they had the stonecoast on the club. Board with the selling. But when he made the move to WCW, Scott Hall would frequently take it too far in the most hilarious way possible. Here we go. And he connects. The facial expressions combined with the failing around the ring are so entertaining to watch. I've never seen a human being do anything like this. Bro, look at the ball. Where's Hall? Whoa! Have a look back at his uncensored 1998 match with Sting. And some would say it was Shawn Michaels and Hogan-esque in terms of overselling throughout the match. Yeah, look at this. He went this way back to the WWE in 2002. He didn't disappoint. No! Ha ha ha ha! We get off the gun! Hit him with it again? Yes! Number seven, Billy Gunn. Billy Gunn used to love bumping around the ring. Unbelievable. Flipping and flapping like he was in a pinball machine. Some of his most infamous oversells include the unique cell of the stone called Stunner. Running headfirst into the corner post. Damn! Flipping in the air when taking a clothesline. Oh, my God. Oh, yeah, they're flipping from the... There's no denying that Billy Gunn had some amazing oversells. Number six, Dee Vonderly. Oh, he loved the sale. I mean, if you haven't seen him setting that chair shot from ECW as if he was having a seizure, you're in for a treat. Oh, my God! He also mastered the classic leg tremble when getting hit with a high-pitched ring. Billy can just be twitching, bro! He was frequently going into convulsions, which he'd be called out by the commentators. Oh, my God! His head can be done! His overselling was so good that years later, Xavier Woods even imitated him. Yeah, he hinted it. He's trembling on. Now, before we go on to the top five, let's reminisce on some of the true MVPs when it comes to overselling. I'm talking about the referees, the managers, the managers, the referees when it comes to overselling. I'm talking about the referees, the managers... Oh, he's so stroking the ring! Just an announcers who read... He hit the ring with the fast pups! Perfected the art of the years.  I love this video! Oh, my God! Oh, my God! Get around! I'm done, bro.  Wow, really? Why does he hit that post? Why does he do that? Of course, the rock. Sometimes as the years go on, rock was among the few wrestlers that reached the highest level who cared more about making his opponents look good. Yeah. Oh, I love the rock selling, bro. The infamous sells for the cell calls that will live in infamy for rocks over the top selling. While the stunner is a great move itself, the rock added a special effect to it. He used to flip all the way across the ring as if he'd been hit by a crane. I love it, bro! He mentioned that he did this because he and Austin would bet cases of beer on how crazy rock could get with his sell of the famous stunner.  He didn't win it! Oh, Ric Flair definitely has to be this list. The Nature Boy Ric Flair is one of the most entertaining wrestlers ever to be on the mic or wrestling. Ric Flair actually sold moves in a very humorous way. Yeah. Sometimes, which many often felt as overselling, took those simple moves and tried his best to make them look dangerous. At the time, it definitely worked, but looking back, it's hilarious because of how far the business has come since then. Yeah. Bro, he would hit the walk and then fall, bro. That's always been funny to me. And then just the flop. From a single chop to the chest to an Irish whip in the corner, Flair would sell it all. Flair did the turnbuckle spot in nearly every match. Yep.  He's also infamous for his exaggerated Flair flop. After being on the receiving end of a barrage of strikes from foes, Ric would stumble out of the corner and fall flat on his face in comedic fashion. Ric made a Hall of Fame career out of embellishing the impact of many moves, and also helped him become loved by millions. Yeah. What? Number two, Shawn Michaels. Shawn Michaels thrived in every area of resting when making his name to WWE. Michaels would become known for his selling throughout his career, but like the others in this list, amongst the great selling, there were some heavily exaggerated oversells. Damn. Shawn Michaels was often the prototype of a WWE superstar that intentionally oversold. Oh, he sold that? Oh, yeah. Flipping over the top rope countless times. Yep. Michaels was also known for taking a page out of Ric Flair's book by getting Irish flipped into the corner and flipping over the turnbuckle to the floor. His most infamous overselling came... Oh, yeah, bro.    He was matched with Hulk Hogan at SummerSlam 2005, where he flopped around like a dying fish throughout the match. There are better, more positive examples of the man selling in an overly dramatic fashion and they're all awesome to watch. Mm-hmm. Goddamn. Number one, Mr. Perfect. Oh, Mr. Perfect. Look at that, bro. Look at that. Mm-hmm. Look at that, bro. Look at that. Ric Flair may have put the concept of overselling on the map, but Mr. Perfect brought it to the forefront of the WWF. Mm-hmm. Yeah. Bro. Bro, look at that. The 360 in the air. The 360 in the air. Look at that. Beak up. It's a thump around the ring. Goddamn. Oh, my God. He's so nice and still steps. Oh, man. Oh, yeah. And that brings us to the end of this video. As always, if you enjoyed the video, be sure to give it a like and subscribe. Thanks for watching. I'll see you in the next video.