 and having to move it all to a company like Box, which says on the website, oh, if you need to send us three terabytes of data, just send us a hard drive by mail. You know, I mean, that's, well, a little 1995, I'd say. So if on cloud, you don't have that problem, you can just keep it where it is. Another nice feature is your on cloud encryption app, which can encrypt all the files that you have in storage. So what it does is whenever the file is sent from a client, and that goes encrypted, of course, to your own cloud via HTTPS, SSL, or TLS. And when it receives the file, it will encrypt it and then store it on the storage. Now, combine it with external storage, and suddenly Dropbox can become useful again. You just use it as a dumb data store for your encrypted files. Very nice. So there's a whole bunch of apps that are all kinds of other stuff to your own cloud, the calendar app, Compact. There's a real-time document editor called Documents, our own cloud documents. And the sites from that app, technically speaking, that's a JavaScript app that runs in your browser. It's very easy to install an on cloud, because there's one click in our app store, and then you have it that's downloaded and installed. We were currently also working with Colabora on creating integration for Libre Office online in on cloud, because the documents have for on cloud, first of all, again, it's a JavaScript app. So that means that the documents look slightly different than every browser. This is the same problem that Microsoft Office 365 has, same problem as Google Docs had. It's never really exactly as it would look when you look at it on a desktop. Libre Office online works different. It doesn't run in the browser. It runs on the server. And then streams the UI effectively to your browser. That's heavy on the server, but it's pixel-perfect rendering, exactly what you would get on a desktop, because it is the same code, exactly the same code. Plus, it also has all the features of Libre Office, so it can do spreadsheet, documents, anything that's in there. And again, this is only documents right now. So we'll keep both, because this is if you run on a Raspberry Pi, you might not want all of Libre Office there running. That's pretty heavy. At least, if you do it with multiple people. And on cloud documents, it's very light, because it doesn't run on the server. It runs on the client. So we'll keep both, but I'm quite excited about Libre Office online, because I think it's really cool to have that. And there are also kinds of other apps, like password managers, and I mean, there's lots of stuff. Mails, bookmarks. This is the app store on the left, so you just get categories, and you click on enable or disable. That's all you need to do. Because if you click enable, it's not installed, and it's downloaded and installed. Separate installation or something. And on the right, there's the website, so you can also check out oncloudapps on apps.oncloud.com, see if there's something that you're looking for that you need, and then you know what's available. So for admins, our own cloud tries to be easy to maintain, but also give administrators of cost control. So we have things like, you know, you can set up an email server and edit the mail template so your users get notifications when they get a share, or when a file got downloaded if they wanted a notification from that. I have a couple of really cool features that I'll actually get to later, the server to server sharing. Was that intentional? All right. Yeah, excellent. All right, keep it. Good for me. One of the nice things, I don't actually have a screenshot of that, but I think one of the nice things that owncloud does in the admin screen is that on top, you get a whole bunch of warnings, well, warnings. Let me say it in nicer terms. It tries to help you, you know, make sure that your configuration is secure and performant. So owncloud will work the first time you install it with, let's say, SQLite. But if you put a lot of files on an owncloud with SQLite, it gets slow. So you'll get a notification in the admin screen on top where it says, hey, you know, you're using SQLite, which is great, but there are performance limitations. Click here for the documentation how to upgrade to MySQL. And there's a whole bunch of things like that, like for example, you know, this folder has wrong permissions. It'll work, but it's insecure. Click here to find out how to increase the security of your owncloud installation. And so on, and so on. We try to make it easy to make owncloud, you know, fast and secure. I mean, the problem, of course, with security is that it's rarely the technology that's a problem. It's the people using it. And that's the way we try to deal with that. So as you see, you can, you know, enable or disable public uploads, all kinds of other settings. Ops, create users, owncloud has an LDAP backend some other ways of like managing users. But of course, for small installation, the easiest is to just use the built-in user management. That'll be fine. So this is owncloud itself. Next, I'm gonna talk about Pi, but first, are there any questions about owncloud? What it does? How it does it? What you might wanna do with it? Ask me now. You can ask later too, but yeah, yes. Does it support Spider Oak as a backend? Well, I haven't seen it's like, it's not like one of the options there. However, I don't know what kind of API Spider Oak uses or offers. So if they offer a web dev interface, then yes, or FTP, because those are supported and somebody supported an Amazon S3. So again, I don't know, I can actually show you the list of supported, no, that's the wrong direction. Sorry for that. So the list of supported backends is here, as you can see, Amazon S3, and what works with it, Dropbox, FTP, Google Drive, OpenStack, owncloud, another owncloud, you can use it as external storage, as FTP web dev, there's also Samba and SIFS as CIFS, which is not in this list, because clearly on this owncloud, they didn't have the Samba client installed, and then ownclouds will tell you how you don't have the Samba client installed, so it's not in the list, but it'll show you the rest. Any more questions? No. So as I already mentioned, so owncloud uses our hash external data storage capabilities, and we feel that you should do things like redundancy and stuff there on the file system level, or use rate, something like that. Also a note, rather on a similar note, owncloud is not a backup, it synchronizes your files. That means if you have files locally, and you use the sync line to sync them to the server, and you think, okay, I can delete them locally because you're not safe, well, you just delete them from the server too. I mean, we have a file history, or how do you say that, like a ability to bring back, restore all the files, so owncloud actually automatically always keeps a copy of every time you change a file. It keeps like one copy per minute in the first 10 minutes and one copy per hour in the first day, and one copy per day in the first week, and one, you know, and so on. So you could say you can use the backup, but it is not a backup, that's not what it's made for. And the same, it doesn't replicate. So you have the ability to connect two different owncloud servers, and share files between them, and have users basically have them act as one owncloud server, called Federation. I will get to that later. But the data stays on one or the other, because also we want the owner of the data to be in control. So if we would start to replicate data to another owncloud, then suddenly you're giving away a new data, and it's again on somebody else's server. All right, this is about control for people themselves, rather than whoever else. Any more questions? All right, let's talk toys. So, may I introduce to you the banana pie and the raspberry pie? There are millions more developing boards out there, but these happen to be the ones that I'm most familiar with and also have with me. They're roughly same form factor, same size. They're very compatible as well. Specifications are different. Raspberry pie, this is a Raspberry Pi 2. I'm talking about co-op core 900 megahertz video core video, one gig DDR2, well, you can read, I'm sure. Now, the big difference between the two is that on the second line, the Mali 400 versus the video core four, the video core four is like, I don't know, four or five times faster. If you want a media player in your home, connected to your TV, Raspberry Pi 2 is your best bet. It's actually from all the development boards. Out there is pretty much the best for that option because it has just very good performance on the video side of things. On the other hand, the biggest downside of the Raspberry Pi is that that 100 megabit network plus the four USB ports are all connected to one single USB port on the chip. So, from an IO data transfer perspective, it is just terrible. I mean, if you would connect four hard drives to it and then try to get data off the network, what are you doing? This is really, really gonna be slow. On the other hand, the Banana Pi has a one gigabit network port on the chip, so direct and fast. And it has a SATA port, which is, well, orders of magnitude faster than USB and two USB that are, well, together one hub. So, for data storage and running a little server, they both cost the same. They're roughly the same size, but the Banana Pi is a lot nicer for a server while the Raspberry Pi is a lot nicer for a media center. I'm telling you this in parts because, well, we have a device over the Raspberry Pi too, and people ask me quite frequently, what device should I use for what? Doesn't mean you can't use the Raspberry Pi because we do, we have it running at the booth again. It works, but from a performance perspective, there's a lot of work to optimize it more than you would need for the Banana Pi. Anyway, so I've been given these workshops. I actually proposed to give one of these workshops for the, for scale, to install own cloud on a Banana or a Raspberry Pi. The secret to these workshops is actually that installing own cloud is boringly easy. I already explained it's a PHP web app. If you drop it in the right forward, it'll work. And the hard part is installing a web server and running a web server. So how many of you have a server running here or there already, you manage one? Okay, that's about a third. So for you, the hard part of running own cloud is done. If you wanna learn how to run own cloud at home, don't bother, just go to the install page, get it, drop it in the forward. It'll work, follow the instructions. As I said, you know, own cloud will tell you what to do. It's really, it's not completely trivial. I mean, you know, if you wanna make it fast, you need to install caching and other stuff. I'll get to that a little bit later, but for just home use, if you have a server, you already have done the hardest part, right? If you have SSL set up, security, I mean, I found that at least by far the most difficult part. So the own cloud part is gonna be easy. Now, security is a bit harder. Now, of course, if you want to run own cloud for 150 people, or for 150,000 people, then things get a little more interesting. Because then, you know, that Raspberry Pi isn't exactly gonna cut it anymore. So I'm gonna talk about that. Now, a colleague of mine started a couple of months ago developing a cluster of banana pies, in which he wanted to use, well, clustering technology, you know, a cluster file system of spread over multiple pies, database spread over multiple pies, different application servers, you know, the whole caching infrastructure, again, I'll get to that later, on banana pies, and then see how fast he could make it. And this was what I wanted to talk about today, with a comp, because, you know, this is not finished yet, it's basically stuck, you know, there's this time thing, somebody get me in the way, and all these other distractions from pecs. So I won't talk much about this, I'm gonna talk about much of the underlying technology, though, I'm gonna talk about scaling own cloud. I'm gonna start with a small own cloud, server for, you know, a couple of dozen users. As I said, for home users, you don't need much scaling knowledge. It's nice to make it fast, so use PHP 7, use, you know, decent cache, you'll get to that, but, you know, it won't be terribly complicated for a home user, but for a small business, or if you wanna give a lot of people access to it, it's nice to make it a little faster. So the basic you would need is indeed, you know, just LAMPstack Linux Apache SQL. Now I know Nginx is probably faster than Apache. Yeah, maybe, most of the developers do use Apache though, so it's simply the most reliable and easy to use solution. And it's not that slow, if you use more PHP, and we're actually right now, we're working on with the Pi project that I'll talk about later. We're just using Apache at the moment. I'm sure somebody will try and make an Nginx version, and maybe we'll see that it's gonna be 20% faster, which I think is worth it, but it's pretty good. MySQL too, actually we recommend MySQL in parts because you have Calera clustering that you can use, or Calera, I don't know how you pronounce it. Probably not the way I just did it in Dutch. SQLite works, but it really, really does not scale. So SQLite is by far the easiest way to get on cloud installed, because then you really just need to drop it in the folder, and then you go to your own cloud URL, and you give your username and password, and then you're done. And with MySQL, of course, you have to create a user in the database and tell your own cloud about the user and that stuff. It's a little more complicated, but it's worth it, as soon as you have more than, you know, five users or a few gigabytes of files, et cetera. PHP 7, it's out, go play with it. I mean, I wouldn't use it in the business yet, but it's really fast, and it's very noteably fast. We did some statistics with own cloud. They promised PHP 7 is twice as fast as PHP 5.6. It's true, it's really true. For own cloud, it's definitely true. It'll be twice as fast. Red is another cache, make it also faster. So I'll talk a little bit about those as well. Red is more on the high end, although I found it surprisingly easy to install my two-person system, which is useless. Yes, well, officially supported, you know, that's a big word that makes it almost sound like you should run it in your company. I run it, it works fine. On the Raspberry Pi, I would certainly do it, because hey, twice as fast, right? But I believe at the moment, the calendar app has a problem with it, which is kind of a downer for a lot of people. So like some of the apps don't work. The core is pretty solid, because we developed own cloud 8.2, which has been out for a couple of months now. We developed it basically while all our developers were happily playing with PHP 7 because it wasn't out yet, which means you need to run it, right? So that's pretty solid. For own cloud nine, you know, this official thing will probably be slept on it, yeah? So yeah, it's worth trying, but there are one or two apps that don't support it. So, you know, your mileage is very, keep asking questions by the way. Totally cool was that. Okay, so I'm gonna talk about the small setup of one server. I mean, this would be like, if you take a dual core system with 16 gigabytes of RAM, which is a beefy server, but nothing totally special, following the recommendations I'll give you, you can run for about 150 users without breaking a sweat. So, and that means these users running like the client and multiple devices right, so the clients are hammering the server every 30 seconds or every 15 seconds. So don't underestimate the load that 150 users generate because they all have multiple devices, their phone, their phones, their tablets, their desktops, et cetera. So that's all work for the server to handle. And of course, they all wanna send public shares to customers or to other people to fund. So with Apache, use mop PHP. And again, I'm gonna just stay simple to Apache and MySQL. As I said, if you grow this system in the future, if you now are on MySQL, that means in the future you can move to a Galera cluster, which makes a lot easier to keep your database performing. For backups, now the normal way of doing a backup is that you stop on clouds, you put in the maintenance mode, that means it won't work for the users. Then you do a database dump and you do the backup of the data. And then you restart everything again. That's all a massive downtime, but if you have a big database, obviously it is gonna be time. The neat trick is to use Butra-Vez. I mean, with Butra-Vez you can just make a snapshot. Now you do the database dump and make a Butra-Vez of the database or of the data. And that's where you don't have any downtime. And obviously the same goes with Butra-Vez if you use that, but then you're probably not running Linux. Another tip though, if you do use Butra-Vez, make sure that the database is on a partition that you have mounted with no data COE, so no copy on write, because that will kill your performance completely. Now if you, I don't know how many you guys know about Butra-Vez, but the way it works is that every time Butra-Vez writes a file, let's say you have a picture and you just change the metadata, it doesn't just change the metadata, it makes a copy of the whole file and put it somewhere else. That's good, because that means if you later wanna go back and undo the change you did, well, the original file is still there. And for an SSD this is fine. Also in terms of performance. If you start doing this with a database which makes hundreds of thousands of tiny changes all the time to one very big file, you can imagine that this is not a very smart tactic to get decent performance. So for databases you should always turn that off either on a partition or you can even do it on the file level. Another tip is to put local session management in a tempfs, so PHP on cloud just uses a session management from PHP and PHP has a folder designated on your system where it stores session management. I don't have it out in my head, but you can look it up in the PHP.ini file, what folder it is. We have it in our documentation as well. But it's smart to put that on tempfs because then it's a memory, it's a lot faster and there's no need to store that stuff because if your server would crash, well, then it's not like those sessions are gonna be reused on the next reboot anyway. So for memcache, you should use it and just use the APCU. So the upfound PHP cache, let's version. That's relatively easy. Well, it's actually very easy to install and you just tell on cloud in the config file to use that as far cache and you've got a pretty massive speed up for basically no work. This doesn't work clustered and if all these 150 users have a folder that they have shared with them, so actually we internally have our own cloud and there's one message shared folder that all the employees have access to and that everybody puts most of their stuff in aside from the private files they're working on. In that setup, you have a lot of file locking going on and it might be good to then actually use Redis which is a cache tool that you can install to Google it to use that for the locking, for the file locking. So you can say in the config file like I use Redis for file locking that'll keep that, well, fast. Okay, let's go a little bigger. So if you split stuff up now you get a little more of a serious system here, right? I mean, we're talking about two to four application servers. You know, you would put, unless you're trying to do this on a banana pie, you would then give them four cores, maybe 32 gigs of RAM. Two database servers here, also a lot of RAM, probably even 64 gig each. You put your storage on external storage so like NFS or S3, something like that. Use LDF for authentication and then you have a couple of web servers that actually handle the incoming user requests. So on those, again, you need to put the session management in tempFS, especially now because now performance becomes even more critical. And then you have an HA proxy which basically does load balancing between the two to four application servers. So in this setup, you can get to, yeah, let me see what are the numbers I attached to that. Well, I put those here. All right, so this is the setup that can go to a thousand users quite easily, right? And 200 terabytes of storage. So going back to the details, so the setup was in hardware, I just went over that. So the setup that you do for load balancing, you use HA proxy, the SSL terminates there with sticky sessions. I mean, again, this is all documented so you can loop this up as well but those are the settings that you use for HA proxy. And the database do MySQL and as I earlier said, use Galera. So use this in the master slave. So for example, if you wanna do a backup, then you basically stop the master slave replication, do a backup of the slave and you do an NFS snapshot. And that way, you have no downtime at all. And then you just turn the master slave replication on again. So it's more of a backup than you really are using it for a lot of data storage. LDAP, yeah, you can put a read-only slave on each of the application servers so they don't always have to go to the main LDAP server but just for updates and changes that will give you a lot of extra speed. And then there's the reddish side of things. So now it's a good idea to use reddish for the locking and APCU for the local cache on the client themselves. And NFS, well, yeah, it can be set to less storage. I mean, you can spread it out. I mean, it's a dark storage, right? As I said earlier, you keep that side of things outside of own cloud itself. Now, I'm not gonna go deeply into this one because that's where it gets really fun, right? I mean, now you're talking about 5000 users to 100,000 or more. We have such deployments. And here, you have set the bytes of storage perhaps. Again, this is what the certain guys do. They have a very complicated setup but they also really deep, they have replaced parts of own cloud with their own storage solution. So we have a, that's coming out in own cloud nine. The storage system allows you to hook really directly into like your own unique storage which for high performance situations can make a big difference. And then, yeah, you get perfect high availability and all that. Now, one cool feature that you should use here, and that's what a lot of bigger deployments do, that's also why I said you go to about 100K, maybe 150, but if you want larger deployments, we actually don't recommend to try to have it on a single instance. So this is where Federation comes in. I talked about it a little before. This is where it gets really cool. So own cloud has this ability where you can connect different own cloud servers with each other. Now, let me go back a little bit. Think about Dropbox. There is one or multiple big data centers where all files are and all storage is. So if you want to work together with another Dropbox user, you need to have a Dropbox account on that same Dropbox cloud thing, essentially one server. And even if you would run an own cloud and you want to work with somebody else, well, you can give them anonymous links. As I said earlier, they are pretty powerful. But still, when push comes to shove, if you really want to work together, you would need to give them an account on your own cloud that keeps everything centralized. It's also cheap. I mean, this is the model of software as a service. I mean, it's nice. It's used in a lot of places. It's fancy. But it can also be slow because your data can be far away. Now, own cloud, of course, gives you the private cloud thing. Everybody can have their own little cloud with a couple of users that can work together and can do all their things, full control. The thing is, if you want to work with somebody on another own cloud server, then you need an account on the other server and soon you have 20 accounts and it makes no sense, right? So this is where Federation comes in. So we developed an own cloud seven technology called server-to-server sharing. And you could create a share and send that to somebody else and they could add it to their own cloud and they would basically then mount your own cloud as external storage in their own cloud and they could just then use that as a folder just like it would be a Dropbox folder or anything else. This is really cool. Now, we've been adding a lot of functionality to that and then the upcoming release and already in the current release, you can quite easily share files and you can even find users. So you can connect two own clouds with each other and then it will even auto-complete users on the other own cloud. So it'll really be like you're on the same cloud. So if you have a deployment for half a million users, which they have in Germany, in Northern and Westphalen, which is the biggest province in Germany, you have five universities, six, I think all the universities in Northern and Westphalen, how many that are B, I don't know. But they all run their own own cloud server. That means they are all still in charge of their own data and they can have their own access policies. Those are little circles around everything. They have their own rules. They say, look, we don't want this student to work with these files. You can say, look, these file types are not to be accessed by this group of people. People in this location can't have access to that. You can say, look, we have files that need to stay in Europe and not allowed to go to the US, but it can go to Australia. All these policies, you can then apply on your own server, on your own data. But at the same time for the users, they don't notice that they're working on a cluster of five, six, seven, completely different independently controlled own clouds. They just type the name of the person they want to share something with. It gets shared that our person can download it and sync it and nobody ever knows that there's something going on down there that there are differences, that means managing different servers. But this is really cool technology that we're developing. So this is pretty much a scalability part of things. I have a few more things, including the Raspberry Pi to go to, I also don't know how much time do I still have, 10 minutes, right, excellent. Well, if you already have any questions, then this is not a good time to shoot in my direction. That's us, by the way, at the TU Berlin, which is not our own couch user. They gave us location for the conference already for a couple of years, really cool. Yes, yeah, Windows, Mac, Linux, Android, iOS. There are a couple of unofficial ones as well in various places. Silphish, I believe, has one, but yeah, yes. Yeah, if you start to layer it, you want to break it, right? Yeah, you can nest it. I mean, obviously there's a point where things will start to break down and become difficult, et cetera. In theory, you can go pretty far. I have a couple of, I mean, do we need to stop? Oh, sorry, yes. His question was, of course, can you nest all these sharing between servers and, you know? I mean, hey, go ahead and try to break it, right? I mean, it's actually one of the things CERN, so CERN, they really are big on-cloud fans. They developed a tool called Smashbox, because their own on-cloud instance is called CERNbox, and then Smashbox, Smash is CERNbox. So it's an automated testing tool which basically pretends to be an on-cloud client, and then they first create via provisioning API a whole bunch of users, and then a whole bunch of clients are being simulated that are gonna do all kinds of weird shit and sharing and layering and re-sharing and then deleting a share and just see what happens. So they found quite a few weird things, because, yeah, you can do really interesting stuff with layering and sub-layering. So, well, they made this open source, because, you know, their research institution and what they do is open source. So now we're actually using CERN Smashbox since about a year to test on-cloud ourselves. It's a nice piece of collaboration which has made a lot of things a lot more of boost, but it also forced us to simplify a number of things. Like, one of the things, and I think that's coming in on-cloud nine, is that when you share a file with someone and then that person shares to a third and that to a fourth and, you know, you go back and you go around and around, you could do that then with the older on-cloud releases, but obviously at some point it's gonna do weird stuff and break. So in on-cloud nine, we basically flatten the hierarchy and if you share someone with someone, something with someone and you allow them to re-share, so when they re-share, it effectively looks like you share to that third person and you are the one who has to un-share it if you don't want that share to be there and if you stop your share to the second person, the middle person, then that third share is still there because it's a separate share that came from you because otherwise you can get these circular shared things and we just flatten the whole hierarchy and I think with server to server sharing you have similar things and we flatten things. Like for example, I already know in the current on-cloud release you can't put a file in a folder that's shared with you by someone in the folder that you shared with them. I mean, these circle of things are now basically it says, look, you can't do this. Sorry, we wanna avoid breaking stuff. Yeah, three. No, I'm not familiar with the RBD, so we asked if we had that place of that on the pie. No, we haven't. So this is a little bit of this federation and action. There is a project, I didn't even put the name here, but it's called Open Cloud Mesh and it's an intercontinental collaboration of research institutions and universities in the U.S., Europe, and Australia and they have all their own cloud instances connected and are working together. All these researchers use an own cloud to share their data and they are working hard on extending this. There was a conference last week in Switzerland which was technically a cloud file sync and share for research institutions conference. But in reality, I think 18 of the 19 presentations was about own cloud, so they kind of settled on the solution. And yeah, they're gonna go big on own cloud, which is really cool, I think. We also have some really big installations in Brazil and India that we're, well, we actually don't really know what they're doing there exactly, so we're trying to get in contact with them, figure out. But there are some really big installations out there with like up to millions of users even. What's missing a bit here is a slide on the Raspberry Pi device, which should have been here. Yeah, exactly, because this is like a very empty slide. So I will just do that, well, with the device itself. So a couple of weeks ago, Western Digital sent us an email and they said, look, we have this project which is called the Pi Drive. And what it is, let me take this out, it's a package you can buy, it's already available. And you got this, you got a one terabyte hard drive and a couple of cables and SD card. And then you buy your own Raspberry Pi and you stick it here in the back, so this is, you know, you can have a nice case for it. And this case, by the way, is also available for 3D printing if you want to make it yourself, you don't need to buy it from them. Really cool, right, point for Western Digital. And with that, you can make your own like, you know, media server, Kodi or something at home. And, you know, because of the nice thing around it, it's kind of like living room proof, you know, it doesn't look, well, like you're a massive, you know, anti-social person with weird devices lying in the living room. So I think that's really nice. So they came to us and he said, you know, that they had been experimenting with various software to run on that thing. One of those was obviously, you know, XBMC or Kodi these days, but they also had been experimenting with OnCloud. And they thought it was really cool and, you know, I mean, Western Digital need to sell hard drives. OnCloud tells people that they can host their own stuff at home, and that's made in heaven, right? So now we're working with them on a project where the plan is, in a couple of months, if it's done, to make available in the Western Digital Store a OnCloud branded and pre-installed device kit, which you can buy for about 70 bucks, which gives you a one-parabyte hard drive and a box with a nice OnCloud logo on it, et cetera, so you can build your own OnCloud at home. So we are working at the moment in the community project because this is not company, this is just volunteers in a free time, so, you know, I can't make too much promises, especially because I'm not one of the people building it, other people doing that. But the idea is that we're gonna put, yeah, a set of software together. At the moment, we're playing with Ubuntu Snappy among other things, because that's kind of like interesting technology. And then we're gonna create an image that Western Digital is then gonna give to people together with a little manual as part of that retail package. Yeah, and then you can buy your own OnCloud from Raspberry Pi, so you still have to get your own Raspberry Pi and put it all together, but that's five minutes' work, it's just plugging in the USB ports. It's very nice hardware, you can see it in action at our booth. This is actually 3D printed, because that's like the cover on top to make it completely, you know, family-friendly, but it's still a 3D print model, so I have to figure out if we can really do this. Yeah, it's all very clever, I think, really interesting. So if you're interested, come drop by the booth or just look me up. I mean, I'm done, I think my time is over, and honestly, I don't have that much more to say. So there you go.