Okay. Hello. This is lots of people. Yeah. The WordPress REST API. So now I have everybody here from my very clickbaity title. I'm going to exploit that. So typically, when, you know, you write a talk, then you try and keep things simple and have a few themes that you reiterate and do that, and that is completely the opposite of what I have done for this talk. So it is a bit of a train moving through, and hopefully it will somehow end at the right point at the end of this hour session. Should always say, like, we're going to have, like, a couple of minutes intermission in the middle if anybody wants to leave or come in from our sessions. So there's, yeah, a good amount to get through here. So let's go. And it's probably worth bearing in mind if they like code concepts and things that I have. It's quite pseudo-code, so it's not all copy-pasteable. It's more about the ideas and things like that. So obligatory first slide. What is an API? We probably all know what an API is. Here's me using REST API console to make some requests to the WordPress REST API to show you how that works. So we can request some posts. We can add some parameters to change the data that is returned from those endpoints. That's pretty much how it works. I don't think we need to kind of go into a lot of detail there. The more important question is probably why a REST API, especially when we're talking about trying to get this immersion to core, this is quite an important question. So having a REST API just allows us to open up WordPress in a programmable way to every other platform, language system out there, so we can just make WordPress as part of lots of other things rather than being a little siloed thing. That's pretty much how I think about it. Anyway, the REST API doesn't really do anything on its own. It's just a mechanism of which to interact and kind of bootstrap that. So here's a quick demo of me making an HTTP request on the command line to list some posts. So you can see I get my posts. And then I can also search for something, get a little post with world, and I can pipe that into JQ and list the titles of those posts, and I can also get those posts URLs in the API, and then I can use that in turn to send delete request to those posts to delete everything with the word world in it, and then just go to the admin to verify that it's done. So that's quite a simple program that I made there just on the command line, but you can see that you can open up WordPress to this world of possibility where you can use it for a lot of different things. So the kind of format that I want to go is a journey through the REST API in time to kind of outlay the kind of different decisions and features that have been built along the way, and hopefully within that you'll be able to get all of the concepts, et cetera. So it started how long ago is this? Three and a half years ago, so yeah, it's been a pretty long project founded by Ryan McQ as a gist over Christmas, because I guess that's what Ryan does at Christmas. So January 2nd, this 590 line patch lands on GitHub, and forward another six months, because that's how Ryan works, I decided to make it a Google Summer of Code project, so that will enable him to work over the summer on this idea that he has for core to have a WordPress REST API sponsored by the Google Summer of Code project. So primarily, Ryan and Rachel Baker work together on building out what is kind of dubbed version one of the REST API, and that is released version one stable one whole year later. So that's a lot of work that kind of went into that version one, and was used to a pretty large degree as well. It allowed access to the core WordPress data types. It was read and write, and broadly speaking, it's a very good API, but having several problems in terms of its goal of getting into WordPress core, but was utilized a lot for plugins and things like that for custom development. So to try and address some of those shortcomings, though it was a solid API, I think it was just missing some key things that were going to be required for WordPress inclusion. It had no real internal API for registering routes and things like that, so I guess something akin to register post type or something. Before that, you could still register post types in WordPress. You just had to filter things, et cetera. That's kind of how version one of the API worked. It was also a little tricky to extend. Most of the endpoints had just been written for purpose for doing the thing that they had done, rather than being reusable blocks of code, so it was a little more tightly coupled and more difficult to do because of that. So we decided, I guess, this is when I got involved with the project along with Daniel Bachuba, to do version two of the REST API to kind of have a run over again, I suppose, see if we could get something that was more appropriate for core inclusion, was the primary kind of focus on that. So this is where I decided to get involved, and probably the date that I remember the best for the biggest regret of the last several years. The first thing that we focused on in version two or one of the first things was the idea of that being a metadata level on top of the API, often referred to as schemas, which is a programmatic way to read the API and interact with it in a more automated fashion, rather than needing to be completely custom implementations for this specific WordPress REST API. So you're probably wondering what the heck that means. It's a little abstract, so I kind of give a quick demo here. I make a GET request to a post, and when I do that in the API, I get a response for the post object. The post object has a little more data than this, but you kind of get the idea. If I send an options request to the same URL with the REST API, I get this big JSON schema blob telling me what all of these different fields mean, so I can use this for things like documentation and things like that. And as you can see, there's like a one-to-one pairing typically between the properties and then a programmatically readable description and definition of what that field is. Like I said, this can be used for documentation, which is kind of handy. You can also use it to build an automatic UI in clients, so maybe if it's a custom post type that isn't a recognized data format, you could have a client that is automatically rendering different fields based off of the automatic description of those. So, for example,


and welcome to week three of understanding containers. I'm joined here by the inimitable Taylor Jaden, and he's gonna plow through another compelling week of content around containers and understanding them. I think, Taylor, and correct me if I'm wrong, what we'll be looking at in this episode is setting up a load balancer, enabling yourself to assign a IP address to that load balancer, which will in tail allow you to map a domain. And then finally, reason why load balancer is so popular is then you can get your handy dandy SSL cert, which is often difficult with Docker containers in any other fashion. So does that give you a kind of good roundup of what we're about to tackle here in this episode? Yep, yeah, that's exactly, that's our objectives is we're gonna get that SSL working and we're gonna map a custom domain. We are gonna take things kind of step by step so I can kind of show how these things interact. One of the things that most of the stuff we're gonna be doing today is not in text files, unlike last time or at the terminal, some of it will be, but much less of it. And because of that, a lot of the stuff is a little bit, I think, weirdly more procedural, the order in which you do things can matter, what you click on, stuff like that. So I'm gonna make sure I'm going to be going at a pace where everything makes sense as best I can. But this is one of the things that, and we'll do more complicated stuff even next week, but one of the things I kind of like about Docker Compose is last time we took our command and formed it into a file and that's hopefully what you have right now running for NextCloud. But you can look at that file and describe what's happening. And there's a lot of power in that because you can compare that against somebody else's setup, right? Well, something like this, because we're doing moving pieces with a separate container in Reclaim Cloud or a separate node, I should say, and custom domain, what we're gonna need to get into C-Panel to map a custom domain. So some of this stuff is a little bit, I wouldn't say trickier, but it's a little bit more, you need to, I think, kind of know what's happening and why you're doing it. So yeah, so we'll dig right into it. And for me, I always think it's practical because I always, once I figure out in my stumbling way how to get a Docker container up, I feel like it's not finished until it has a domain that I can point to and the HTTPS cert to make it official. So I like it because this is, for me, always the finishing up of an environment and making sure that it's live and ready to go. So for me, while a little bit more procedural, it's really kind of like practical in getting that thing up and running. I put so much importance on a domain, maybe too much. You? You care about that? I do, too much. Yeah, no, I do too. And I would totally agree. I think the custom domain or a subdomain even is the cherry on top, right? Like it's not done until you've done that. It's your coat of paint. So, all right, so before we dig into it, I'm gonna mention again that the glossary is a resource that you should be paying attention to. And it- I love the glossary. I'm fully leaning into the unhinged glossary that this is not even a glossary anymore. This is just slides. But as I've been going, I've been writing our weekly posts. I just like having a ever-expanding continuous resource. And so that's been helpful for me for planning. And I hope it works for you because I don't like the idea of someone trying to find something in here or in our course and having to go, was that week two or week three? No, it's all in the glossary. So I did wanna mention that we have some examples of Docker Run and Docker Compose and breaking down by color coding what's happening in there. This is related to the stuff we did last time. And I've been updating some terminology, things like that. And I also have the handy commands. So these are going to be slides that show commands that I've used in the session that you should have available to you. A few notes here, because this is slides on the web, you can actually, let me back this out a little bit, if you're, cause it's just a webpage, keep in mind you can copypaste this. This isn't some PowerPoint. This has web technology, all right? So you can copy paste these. That's very much on purpose. Command references are no good if you can't copy this. Yeah, yeah. So, and just short descriptions. The other thing I wanted to mention here is these blue titles are links. I never mentioned that and it's not obvious, but these link out to documentation I find useful that's less concise than what we're using, but if you're looking for more, you might wanna check it out. Particularly for Docker and Docker Compose, I'm linking to this thing that I love called cheat.sh. If you've ever done stuff at the terminal and you've used man pages, it's kinda like that, but the cool thing is they're basically, it's just a website, you go cheat.sh, and then after the slash, you can add whatever is the name of your command. And it will just give you a few examples that people like. So these are community-maintained and I love these. They're just super fast and handy to get to. So I'm linking to those. And we have some things in Docker Compose as well. Some of them which we'll use this time actually. So I kinda have been adding to it as needed as I've been prepping for these. So sometimes there's gonna be stuff in here that you won't have used yet and that's fine. All right, so that's what's new in Glossaryland. We'll get started right away with getting domain mapping and stuff happening. So if you've left off where I did last- I would magnify that a bit. A little bit more. I would, yeah, you can. Yeah, we can do that. Let's go here. Yeah. All right, so if you left off you should have a NextCloud instance running in Docker. I'm gonna go into my config manager here in the file manager and click on root to get into the root folder and click on NextCloud because that's where we had done all our stuff, made our Compose file. And I'm gonna open up the Compose file and it should look something like this. This is the very simple Compose file I created that we are using. Before I make any changes in here or do anything, if you click on your environment name, you probably still have everything loading over port 8080, which is important because that means you have to type colon 8080 to get to anything. But it is working, HTTPS is not set up, no custom domain. The first thing we need to do is fix our port situation. We shouldn't be loading over 8080 anymore. We wanna load over port 80. So that's pretty easy because I've opened my Docker Compose file up that I made. I can just change that to 80 and hit save. And then all I need to do is restart the application to tell it, hey, you should run on this port. One thing that you can do that I should mention right away here, and I'm actually gonna undo my change here. I forgot about this, is one thing that's super handy anytime you're making changes to stuff in Reclaim Cloud and you're wanting to test something or maybe just not sure about what you're doing yet, is the clone environment tool. This is my favorite thing possibly about Reclaim Cloud. If you go in the environment section, this button right here is the clone environment button. And it'll give it its own little name or I can, let's call it Next Cloud Backup. It will clone what I'm doing. So it will basically make an entirely duplicate environment and it will carry over all the files, everything. All of that stuff will be preserved. So this is great to make backups of things as you're trying out new stuff or maybe you're gonna test an upgrade of something just invaluable in my opinion. So while that's running here though, we're gonna keep going on editing this. So I'm gonna change my port in my compose file to 80. Let's save. And I can't open a terminal right now because it's cloning the environment. I guess I didn't really think that through. But what we'll do is we're going to, once the clone is done, we're going to use Docker compose to take the whole stack down and bring it back up. And again, this is in the handy containers. Do you want me to run some comic relief here? Because that's pretty much all I'm good for. Sure, sure. I don't have anything funny to say. You mean the classic, just be funny. Like that doesn't, yeah. Just come on, be funny. So in our handy command reference, we have, this is how we take down a, well this is how we stop the containers in Docker compose. So we'll use that. And then we'll use up-d to bring them back up. And this will take a little bit here. My clone is already done. So that's awesome. Okay, so I'll leave that one be for later. Actually, we probably won't use it today. But maybe I need to restore back or something like that. So now that my clone is done, I can open a terminal. And it is important when you are cloning to make sure you're opening a terminal or your config panel in the right place, right? I want this one, not my backup. All right, if I ls, I can and then cd into my next cloud directory where I made my compose file. There it is, okay? So I'm gonna stop everything. And the reason I had to do that, right? Move into that next cloud directory is Docker compose commands require you to be in the same folder as that.yml file. That's really important. If I try to do this and I'm not in my next cloud folder, it's gonna say, I don't know what you're talking about. Couldn't find a suitable configuration file. All right, so I'm in my right folder down, okay? And we'll do Docker compose up dash D. And now if I click on this, it's working. Now we are getting a little error here about an untrusted domain. You may or may not be getting that now. I'll go into more detail on how we fix that. That's a specific next cloud thing. But we're gonna kind of focus on getting things working over HTTPS and stuff like that first before we worry about this error. So, but like I said, that's a next cloud thing.  All right, so the first thing, now that we have this loading on port 80, which is awesome, we need to see if we can get it loading over HTTPS. So before you map a domain or maybe you're running something that you don't really care to map a domain ever, like you're just using the reclaimed cloud environment URL and that's fine for you. There is something you can use called auto SSL. So that's an option to you, but it only works if you're not mapping a custom domain. The first thing we're gonna do though, because we are gonna eventually map a custom domain is we're gonna add a load balancer. So if I go into this balancing section of the config manager here or the topology manager and then go down to engine X and then 1.22.0, that's just the newest one. Just pick whatever is the newest one. You will have a load balancer. One thing that's really important to note in here is whatever block in the topology section in reclaimed cloud has a white square around it or a white border on it. That's the one that you're looking at here. So note that our Docker engine CE, this one has a IPv4 address. And if I click on our load balancer, this one does not. That's going to be a problem for us or not a problem so much as we're kind of wasting an IP address.  Basically when you visit this website in a browser, the load balancer is sort of the middleman between Docker and NextCloud and your browser. So because of that, the load balancer is the thing that we're going to need to give to an IP address to so that we can map a custom domain later. And because that's getting an IP address, we don't need Docker to have one anymore. So we're also going to remove, if you click on this Docker engine CE, we're gonna remove the IP address from that. And then we'll give the IP address for engine X. You'll note that when you do that, it's actually gonna turn off access via shared load balancer. That's fine. And we'll hit apply. And so this will take a second because it's gonna have to make the load balancer and it's going to remove the IP from Docker and it's going to create an IP for the load balancers. It's doing all of that so it takes a little bit. You can see now I've got a second node in my environment here. One of the things that I've been kind of trying to come up with forever, a more perfect analogy for is sort of why we even need to do this load balancing stuff or do any of that in Reclaim Cloud. And I think the closest thing that makes sense to folks who've worked with shared hosting or domain of one's own is the analogy of Apache, which is the web server in those cases. So in a LAMP stack or shared hosting environment, every application that that's running is meant to work with Apache as the web server. And so in that instance, Apache can handle all of the traffic where it goes, where the web requests go, what programs should run them. So if you've got a WordPress site running, Apache gets that request from your browser and then hands it off kind of to WordPress and says, here, what do you make of this? WordPress does its magic, comes back and says, here Apache, give the person this file. In this case, the load balancer is doing very much the same thing. It's sort of giving that traffic in, giving it to whatever is happening in our Docker engine container, in this case, NextCloud, and then being sort of the middleman in that setup. And the reason we need that is when we give a HTTPS cert, we're gonna need something that Jelastic knows about that can manage the certs and all that stuff. So that's where the load balancer comes in is the cert will go on the load balancer because it's sort of a known quantity. Okay, so the changes I made are done. If I click on this node ID dropdown, you'll note that there's an IP address here now. So that's cool. And the IP address that was on our engine node is now gone. So I'm gonna actually copy this IP address. And if I spit this into my address bar, it should load, great. So that works now. And then finally, I have to map a domain to this. So I'm gonna go in my C panel. You can use your own C panel or you can use pretty much anything that can manage D and as if you have domains registered someplace else. And if you really have no place that you have to do this, just message me in Discord and I can help you come up with something or we can even map something from my domain to your test environment. You know, I'm glad you're using C panel for this because in my demonstration on a certain app I was working for, I think it was like ghost. I use Cloud Flare. And I was upgraded by Stephen Downs. You got down. So I'm using, I got downed. So thank you for saving us. Yeah, well, I like Cloud Flare a lot but I still use C panel for pretty much all my DNS because I'm more familiar with it, I guess is really the only reason. So yeah, all right. So I've got a couple of different domains. I'm going to map nextcloud.jdin.me. That's what I would like. So I'm gonna make an A record here and I will type in nextcloud.jdin.me and then I'm gonna paste that IP address that I had from last time in and add an A record. Now, if you've done anything with DNS you know that there's a magic to the time frames with which this stuff works. There isn't literally a magic but it might as well be in my opinion. So if you happen to have visited this URL before there's a chance that you just set up because you're testing it or something there's a chance that it'll be cached and you'll need to wait a couple hours probably for it to show up for you. I don't think I've ever tried to visit nextcloud.jdin.me before so this should work right away. Yep, so it's working. So my custom domain is here and it's loading but I just wanted to note that like if you are doing some testing, it's possible that it'll be cached you'll need to wait a little bit. If you run into that, let me know in the Discord and I can kind of help you work through that you have things set up even before the caching is done. There's a number of ways to handle that and we can help with that. So I don't wanna go into it in this video but that would be a perfect thing for Discord. All right, so I've got my custom domain nextcloud.jdin.me but it's still not loading over HTTPS. That's because I have to do the last step and that's to add a cert to the site. Now if I go into add-ons here and this needs to be in the load balancer section, there's a few things in here but one of them is let's encrypt free SSL. And if I hit install, I just need to type in the domain that I've mapped nextcloud.jdin.me, hit install and this will take a minute or two. But it's worth the wait. Yeah, the cool thing about this is, let's encrypt, I should really know more about let's encrypt as an organization because I remember when it was new and it was like HTTPS is the future, man. Well, it's not the future but it's going to be the future of everything. It's long overdue is what they were saying. Yeah, and everyone's like, so get set up and everyone's like, okay, but certs costs so much money. And then let's encrypt comes around and go, nope, it's free if you use this with some, I think there's restrictions on who can use it for what purpose, is that accurate? Or how many you can use? Yes, yeah. It's just like you can't just, let's encrypt thousands of websites. They put a rate limit on it. Okay. And, but then it's free and the real kicker that maybe I, like I haven't really appreciated as much as is the fact that they have their own tools and APIs to help you manage them longterm. That as a user, if you're using something like Cpanel or Jelastic here, you don't really have to think about. You just say, I want to cert please and it does its thing. And if there's some kind of problem, it'll email you but that's because they have all this scripting and programs that will automatically go check if the cert's up to date and needs renewal and it does all that in the background. That is amazing. As someone who used to work in IT at a university and had to do some manual cert stuff, that is not how certs normally work. And you think about, let's encrypt, it was a nonprofit initiative that worked on donations and they basically made sure that I think, I don't know what the rate is but it's significant number of websites now. I would say upwards of 80% of all websites load over HTTPS. And this is a matter of like when we started reclaim hosting is when it came out. So like eight, nine years maybe that they had like basically 80 to 90% of all websites are loading, that's a gigantic shift. Yeah, it's huge. A gigantic culture. When you think about it, there's a story to be told about how they did that because it's amazing. Yeah, I would say. People disagreed with the logic of it and whether everything should load over HTTPS. I know there's some standouts for HTTP but still the way they did it and how they did it is remarkable. Yeah, there are some things on that. I remember, you don't hear as much of that anymore because I think that battle's kind of lost honestly. Like if it's not loading over HTTPS at this point, you're gonna get like weird things in your browser and all kinds of stuff. But I do hear that. Like I remember hearing a lot about like, especially folks that have poor access to internet that do caching and stuff that that was a big bottleneck. But it's one of those things where on the other hand, like it's sort of the problem that HTTPS was designed to prevent was that your traffic wasn't being handled by anybody else. There are actually other ways to do that now is the kind of unfortunate thing. But yeah, it's a big thing. I remember, I feel like when I was in college, that's where it changed. Like going into college, my email loaded over HTTPS. And I think maybe my bank and that was kind of it. And at the end, it was like, if you're loading, if you're visiting a popular website that's not on HTTPS, what are you doing? Like. Yeah. And it was a learning curve, I think. And we were a small company still to start. And it was a learning curve cause Tim was playing with like the Let's Encrypt surf bot and all that programming was still pretty rudimentary. But we were able to integrate it with C-Panel and we were able to automatically initial, automatically, basically give out search to everybody so it didn't have to be a manual process, which I think changed the game. Oh yeah. The first time I used Reclaim. The first time I used, this would have been on shared hosting in like 2016 or 2017. And having come from self-hosting, like I would go spin up like a digital ocean droplet and install stuff. Someone was like, oh, you should, that seems really expensive. You should use this Reclaim Hosting thing. And I was like, cool. And I started this, I made a WordPress site and I was like, that was easy. And then I visited it and it was already on HTTPS. And I was like, what happened? Like I was shocked. That was magic. We were lucky cause Tim was mindful of that as soon as it came out. And he was like, this is something we're gonna have to do. And it's gonna represent some issues but we're gonna have to do it.  But like, Let's Encrypt really started that. And they made your kudos for the work they did and how they did it. I'd love to listen and hear that story, frankly. Yeah, yeah, totally. All right, so Let's Encrypt cool stuff, good tangent. So now if I go to my next cloud.jdnm me and I type in HTTPS colon slash slash in front of it, bam, it works, it's loading over HTTPS. Now, the only thing, we got two remaining things here. Unfortunately, we still have this access through untrusted domain thing. So we're gonna take care of that first. Now, further information, how to configure this can be found in the documentation. If I click on that, and I did of course some reading on this earlier, but basically what happens is if you set up next cloud on a certain domain name and then move it, it's going to say, I don't know what this domain is and for security reasons, it's gonna refuse to load unless you add this new domain to a config file. And so it says it's in config.php. So we actually need to go into the files of our container because this is in next cloud's own settings. This is not in our Docker engine CE, it's main file system. It's actually in the Docker container where we're running file system. Now we can get to them through Docker engine CE, but so we're gonna actually have to edit a file in a Docker volume, right? Docker volume, keep in mind our glossary, this is one way to store data and persistently. The other one is bind mounts. We're using volumes for this particular thing because that's what their documentation had. And you'll notice I added a new bullet point. It says data is stored in varlib Docker volumes. Okay, so let's go in there. So we're gonna go into the configs for our Docker engine CE and I don't need to mess with the compose file right now. So I'm gonna go back to root here, actually. And I can actually do that by just clicking this little folder right in the corner here. So we need to go to varlib Docker. And in there is a volumes folder. And this is where our volumes live. So you'll notice that there's a next cloud DB that was from the demoing I was doing of the more complicated compose file. And then there's next cloud, next cloud. That's just the way it named it, but next cloud is the name of our volume. So that's our volume folder right here. And then in there is a data folder. And here we go. This is all of our files and stuff that makes up that next cloud is reading, essentially. So in the config folder is our config.php file that the documentation over here mentioned. So I'm going to, whoops, sorry. So I'm actually gonna take this. A little chain.me plug there. Yeah, well, we'll get there. We gotta look at the blog for the next thing we're gonna do. I've got links queued up all over the place, so. So in the documentation it says, hey, there's a spot in this file that says trusted domains and then there's section where it lists them. Okay, so if I go over here in config.php, I'll double click on it and it'll open it up. Give myself a little bit more room here. We could search through this whole thing and here we go, trusted domains, array and it says next cloud Taylor wc.reclaim.cloud colon 8080. Okay, so that's where it thinks it should be loading from and that's why we're having this problem. We could just change this to be our new domain. That's what I'm gonna do. And in their documentation, they have listed out several acceptable places for it to load from. I'm just gonna change it. I'm not gonna be using this URL anymore. So I'm just gonna make it be nextcloud.jadon.me and I'll save this and let's refresh our page here to see if this works. There we go, I got a login page. So now if I log in, see if I remember my password and it's not loading over HTTPS. But it is if I type it in manually. So we'll have to look at that. I think I know there's a trick. Yeah, so the final thing, nextcloud for whatever reason doesn't automatically redirect you to HTTPS. In a lot of cases, we want that to happen. We want when you visit something or to just automatically go right to the HTTPS version and that's not what's happening right now. Even though the cert is there and it's working if you manually go there. So what we're gonna do is we're gonna check out a blog post I made this week. And because we have that Nginx load balancer, this is actually really easy to fix. We just need to add a new file into the file manager in that Nginx load balancer and copy and paste this code in. So I'm going to while I'm here and I'll link to the blog post for you all so you can copy this code as well. I'm just gonna copy this and if I go back into Reclaim Cloud, I can actually close this. I'm not gonna need this file anymore. Close all this stuff right now. And I need to now make a, get into the load balancer files, not the Docker engines files. If I open that up in the Favorites area, I can hit conf.d and then click this little gear and make a new file. Call it redirect.conf. I think technically you can name that whatever you want, but as long as it ends in .conf, but I usually do redirect.conf. And then we'll paste that in and hit save. And then the final thing is we're gonna have to restart our load balancer so that it will read these files for us. So if I restart this here, take it to 10, 20 seconds. Okay, that's done. Let me open up a new tab, see if it works. Bam. Now we are logged in, or sorry, now we are on the login page and it's automatically redirecting to HTTPS. So that's it, we're working, we're golden. Yeah, the blog for the win again. Yeah. And I don't remember the username and password I set, so I would probably have to reset my password. But that's not gonna make compelling video educational content, so I'm not gonna do it right now. But it's loading, so that's good enough. So that's a lot.  We gave that load balancer an IP address so that we could map a custom domain and we removed the IP address from our Docker engine CE container because we won't need it anymore because of load balancer. Then we mapped the domain using IUC panel, you can use whatever domain management you have available to you. And if you have questions on that part or don't have something available to you, let me know, we can set you up with something for the purposes, like, even if it's just a sub domain or something, we can make it work for you. Then we loaded it over that mapped domain and it worked. We used the Let's Encrypt add-on and Jelastic to issue a cert. And then we fixed NextCloud's little bug by, well, it's not bug, but their little security thing by telling it, hey, this is the new domain that you're supposed to load from based on their documentation. And then finally, we forced it to load over HTTPS, which I have instructions for in a blog post I just made. So I'll link that, of course. Yeah, so I think pretty successful endeavor. We now have a secure NextCloud instance running on our own custom domain. Yeah, any questions? And very well done in terms of pacing and giving people an overview and our little divergence into the history of Let's Encrypt, which now we're gonna have to research. Compelling, I think where this is as good as it gets at ReclaimEdTech. Yeah, so we'll look out for the blog post on ReclaimEd.Tech. I'm gonna have you do basically everything I just did in terms of mapping a domain, getting HTTPS working and making sure NextCloud will actually load on this new URL and the redirect. So we're gonna have you do all of that stuff and I'll have all the links and resources you need to do it. Of course, there's also this video. So if you have any questions on any of that, let me know. I will say before we sign off that there are other ways to do HTTPS depending on your environment setup, depending on what type of application you're using. Sometimes there are applications you'll run on ReclaimCloud that do their own HTTPS. You just need to tell them what domain that they should be getting a cert for. So there's that. What I wanted to cover here, this is a use case that is sort of a pretty universal way. And that's kind of one of the cool things about ReclaimCloud is because of that load balancer and the Let's Encrypt add-on, that is a method that will work with almost any application. And so we just did it in probably the most universal way you possibly can. And that's one of the reasons we did this with NextCloud is because NextCloud doesn't actually come with any fancy way to do it itself. So that's one thing to look out. I'm sure we'll get questions on is how can we didn't do it this way? There are other ways and we can talk about that stuff in the Discord. I more than welcome that conversation because it's good to know what's all possible. But the way we just did it here is kind of the way I almost always do it and the way that will work with almost any application out there. Cool. Yeah. It was a good session. Thank you all for joining us back in the EdTech Void. And we'll see you in Discord. And on Friday for the Q&A. See ya.


I must say good morning. Good afternoon. Good evening wherever you may be across the planet around the world My name is Greg Prescott from n5d.com and Sintasia.com because I'll be doing a live spirit chat tonight at 7 p.m. on the Zintasia Z-E-N-T-A-S-I-A Zintasia YouTube channel and tonight's topic is real life experiences Supernatural entities so Many of you have had some kind of experience with that whether you've seen a ghost Maybe an interdimensional entity gnomes Elementals, you know right down the line. There's a number of them that you may or may not have experienced So that's what we're gonna be talking about tonight, you know, it's a lot more common Than what you might think it is but you know a lot of a lot of the normies out there will say all you're crazy You're just seeing things. No, it's not true things exist outside our Spectrum of vision that we can't explain it. We're gonna be talking about that tonight.  Hey karmic vibes. I see you. I see you in the chat So yeah, I got a few things I want to cover but yeah, that starts tonight at 7 p.m. on the Zintasia YouTube channel and I'm gonna Put a link in the chat for that Elizabeth Namaste, how are you? She says she'll be there so yeah, it's and We're also it's also gonna be you know, if you want to say your experiences live and share them on Screen like like this I'll put a link to the zoom along with the code in there and please join us and share your story because You're not alone Definitely, you're you have wonderful things to share and So many people need to hear your story. So I'm gonna give a few examples And then we'll jump right into it when it begins at 7 p.m. Eastern 4 p.m. Pacific Midnight in the UK All right, so I'm gonna just cover a few topics right now Oh, thank you. Elizabeth said she subscribed already. Thank you. Appreciate that Um Karmic thighs looking 80s throwback today, Greg. Yeah, I got the Kramer guitar shirt that cut off sleeves Yeah feeling feeling a little little wild today.  Well, it's right over there And I have yeah, there's two of them over there an acoustic and I'm electric so few things I want to cover just Coming in and saying hi and giving you guys a heads up about tonight But you know, I've been on on Twitter and you know ever since Jack Dorsey sold Twitter to Elon Musk and subsequently it became X There's a There's a different vibe going on there and it seems like there's so many people that are just engagement farming And they're asking these stupid questions That everyone's going to agree with And it just irks the crap out of me. I don't know why it bothers me that much because It doesn't seem sincere. I guess or it's it seems fake. I Don't know But it bothers me when I see these Engagement farmers out there.  I wrote one down here Look at this video and tell me what you see and it's a video of Taylor Swift Nice, I said I see that I lost 27 seconds of my life that I'll never get back Why don't you just tell us what you see and we'll say if we agree. How's that? But that's what engagement farming is all these people are just doing engagement farming They may as well ask because a lot of them are just asking simple yes or no questions like They're playing to the manga crowd sometimes and that they'll say they'll say stuff like Do you think Trump will win in 2024? Of course, everyone's gonna say yes. They may as well ask. Do you enjoy breathing?  You know stupid questions that you already know the answer for it's called engagement farming and it's all over Twitter Another thing I've noticed lately, and I don't know if this is real or if it's bots on Twitter If it's real it I feel I feel horrible for these people why pets are dying What did they get vaccinated to I don't know well Probably shouldn't have said that But yeah, they have to get their shots anyway pets all to get shots We're not talking about anything else other than their normal pet shots So Yeah, but I've noticed a lot of them Have passed and it more that an inordinate amount I mean occasionally you see that but I'm just seeing an inordinate amount of pets dying and I thought wow this is What's up with this? What's the message that's going on here if it's not if they're not bots, right? Hi to Carla. Thank you for joining For his ease works great, too. I use this Shampoo I bought it or conditioner. I bought it Aldi's for like three dollars Oh, oh, that's awesome. I never see your lives. This is the first well, I'll be going live at seven o'clock on the Zantasia YouTube channel as well as on Zoom so join us there if you've ever seen if you have any stories of Seeing interdimensional entities or just things beyond the Normal 3d life or world so we're doing a show on that about supernatural entities starts at seven o'clock Join us Hi to Paula. How are you? Thank you for joining me? Yeah, so that's that's what's going on with Twitter or X whatever you want to call it I've been doing the keto I started on January 1st and Here I haven't had a cheat day yet because I found Little hacks around The things I miss Like I was watching this one keto channel. I Think her name's Myra. I forgot the name of her channel But she gave a great tip one One ingredient pizza crust You're thinking one ingredient. Yeah, so you I've got these three carb flour tortillas, I guess crepes and You pour avocado oil in your in your fry pan turn it up to medium heat put your tortilla crepe in there and On Friday and it'll puff up a little and flip it over it gets brown Then you put your sauces on I did two of them today. I did one. I put a mixture of ricotta cheese mozzarella cheese Mozzarella and Some parmesan mixed it all together made a It's kind of like the filling you would put inside a lasagna, right? And I put that on top of one pizza along with oh, I made garlic butter and mix that all together and then put that on and then topped it off with more mozzarella and parmesan and That was broiler under the The broiler for a few minutes until the cheese gets to the consistency that you're looking for and man It was really good. Then I did a red pizza also Would doing the same thing except I had this tomato sauce that I bought and it's only it's it's a It's hard to find sugar-free or sugarless tomato sauce even though I have all sorts of stuff I can use to add sugar to it. That's Sugar-free like monk fruit or Stevia But I found a tomato sauce at Walmart that was really low in the sugars that were in it So I make my own sauce.  Oh, they were both fantastic Really good. I'll have to do a video on them. But yeah, fantastic. So but I'm yeah, so I Haven't had a cheat day because I'm finding hacks around the things I miss the most and I've said before Like two of the things I was really looking forward to When I do do finally have a cheat day is pizza and chicken Alfredo. Well, I got the pizza covered even though it's not the same as like There's a place called Jets pizza They have these little pizzas the four corner pizzas that they're called And they're kind of deep dish. Oh But yeah As good as it is. I don't need it and the chicken Alfredo. Okay, the only thing I'm missing in the chicken Alfredo Are the noodles the linguine or whatever you kind of noodle you want to put in there I can still make the Alfredo with the chicken and it's keto. I just don't have the noodles. So I Don't know what I do miss is Orange juice and milk milk, especially I was a milkaholic Milk is my hands down favorite beverage with I go if I go to the to a fine restaurant I will ask for milk And the same thing happens every time Ali can tell you she'll show vow And this has happened numerous times Waiter comes up. Can I take your order for drinks? Yeah, I'll have a milk Every time they go milk With a question mark milk But I stutter milk Now I wouldn't say that because they would spit in it. Yeah, yeah, no We were at this one restaurant but the last time I was in England and I Ordered milk and apparently they used all the milk They don't serve a lot of milk at this restaurant and they brought me out a big glass of milk But that was it because somebody at our table wanted Some milk with their coffee. They said no, we don't have any more. I'm like, oh god. That was me. I drank it So Yeah So I found my little hacks around not having to cheat on The keto diet so I started at 226 and I'm at Two or two points something right now. Let me pull up a screenshot Okay, yeah, here we are Okay, so You can see on the left January. I lost just about 15 pounds. I started at 226 I averaged 216 for the month and Then February I've lost 8.4 pounds. So I've lost in total 23 pounds a little over 23 pounds And on the right you can see today's latest weight reading was 202.8 but the thing is, you know, I I've been kind of I've been plateauing again and I'm looking at it, you know In a week. I've only lost like a pound and a half but the thing is you can't really judge by that because You got to look at the big picture All right, so it's a pound and a half. Do you know how much a pound of fat? How much it looks like? Have you ever seen a pound of fat? There's people that they have the YouTube channel So they'll show you what a pound of fat Conglomerated looks like and it's a lot So I lost a pound and a half. I'm okay with that Okay, and that's that's the big picture. I've lost You know, it's some eight pounds and some odd ounces this month and 15 almost. Yeah 15 pounds last month It's coming off and I just got to keep doing what I'm doing Some of the things I enjoy doing like there's a two ingredient Waffle that you can make and I have this little waffle iron That that I use it's pretty pink one. All right, I don't give a flying f about what color it is but You can make instead of bread you make your own waffle using this thing and All you do is you take a half cup of whatever cheese you want I use mozzarella and one egg mix it together pour half of it in your waffle maker You know and take it out when it's done and then pour the other half in there And you got your sandwich right there and what I like doing with that is I had this it's a Hamilton Beach Sandwich maker and the waffles fit perfectly in there. You can see they use like bagels and English muffins and stuff the The waffles I make fit perfectly in there. So what you can do is you'll take like a waffle Maybe put some ham or sausage whatever you want to put in there I'm just throwing stuff out there and then a little cheese on top and then you close it down and your next layer would be like the egg and Then you top the egg off with Cheese or more ham or bacon or whatever and the meat has to be cooked before and it's not gonna cook in there So you'd have like pre-cooked bacon sausage, whatever And then you you close it up and when it's done it only takes five minutes and you have this amazing sandwich That's 100% keto. It's a great way to start the day fills you up and There's so many things you can do. I tried I put I made those to those waffles and then I put strawberries and bananas or strawberries and blueberries on the inside and Then pressed it together, you know The blueberries are gonna roll out a little when you try to open it up and take it out Which is fine. You just scoop them on the scoop them onto your plate But then a little whipped whipped cream on top, which is keto as well and It's an amazing dessert and that's another thing for dessert. I like making strawberries and blueberries with whipped cream Just mix it together good to go and that kind of tackles my sweet tooth. Also, um, I bought for This is another thing if you want if you have like sweet cravings, I'm not big on sweets but I bought I buy this zero sugar chocolate chips and I and it's really good. You can't even tell the difference between that and regular chocolate chips So I'm keeping away from sugar and trying to limit my sugar as much as I can But I bought that. It's really good And then you find other things, you know, for example, if you like chicken breaded chicken, you know, here's instead of using bread crumbs pork rinds, right Just as crunchy just as flavorful if not more a simple hack to make things work and You know variety is the slice of life So you want to shake things up a little and look for new recipes. There's a guy on Facebook he I think his name is keto snacks with a Z at the end Great channel Simple recipes quick and easy Some aren't quite as keto as he implies and you guys just got to do your own research on that and I love his channel, but And his videos are great except for the end He has this annoying laugh at the end that everybody complains about but yeah, he still does it so Anyway, check it out keto snacks with a Z at the end But yeah, that's so that's what I do I try to find Cool channels that I've subbed to and or follow on Facebook to get great ideas for recipes now When I made that white pizza, I didn't search for any keto recipes but that was kind of like my own thing and I'll put it out there so other people can copy it on their channels or whatever But yeah, when I don't about you guys, I love white pizza when I go to upstate, New York There's there's a place called Al frescoes and For lunch. They had these huge Monster slices of pizza for like 275 a slice and I'll get one slice of red traditional pizza and one slice of White pizza it just it's really good. I love white pizza. I don't know if any of you are white pizza fans But you know, I found a great way to make a keto white pizza.  You can drink tea, but I'm not a big tea drinker. I don't mind ice tea I just don't have the patience to make it apparently, but I do like iced tea. It's not bad Yeah Hershey's I could have bought something else, but hey, you know, I You might have a lot more money than I do and I have to cut corners in any other place. I can and Yeah, so I did buy Hershey's Money's really tight on my end. So that's how I can't afford Organic everything I wish I could I can't so yeah, and that's what what I do. I try to AI because Keto is a lot. There's a lot of meat in keto. It's not a carnivore, but there is a lot of meat involved I wait until there's sales like at Win Dixie. It's a Grocery store here in Florida. I think it's throughout the United States as well But when Dixie will occasionally have sales on New York strip steaks or T bones for like 4.99 a pound, which is You can't find that anywhere if you go to Publix. It's twice as much You know and I I wait for the sales and like I just bought some pint of blueberries for What was it like $1.79 at all these some something really cheap and and the strawberries are cheap there, too They're like $2 for a pint so yeah, I'm just trying to save and cut corners and You know money's tight. You got to make it stretch. So That's what I do and sometimes It's brands like Hershey's and It is what it is. It's nothing. There's nothing much I could do about it I you know unlimited on my income when I had money I would spend I'd go to had a subscription or membership to Costco and I'd buy all the organic there When I had money and you know, but if you don't have it You know, it's easy to say.  Hey, this is the best I can do Okay so Yeah Once again, yes Hershey's I thought I explained this enough.  I really wanted to make sure that you guys Hopefully you guys can join in on spirit chat Tonight on zoom join me on the live feed that will be broadcasted onto the Scentasia YouTube channel. I just put that link into into the chat on both YouTube and Facebook so it starts in about a little over half an hour. We're gonna be Plugging away. It's only an hour long. Yeah, so don't be late because I'll try to bring everyone in To to share your stories You know, I I could spend the whole hour talking about shit that I've experienced and been through but This is about family and it's about you and it's about your stories I really want to hear them and it's important that other people hear from other people that This isn't This isn't uncommon.  Join us people need to hear your story So I'm gonna leave it off at that. I'll be back on in about half an hour on Zoom and on the Zantasia YouTube channel So hopefully I'll see you at one of those places. Please though join me on the live link on zoom and share your story I hope to see you there. All right, and that's gonna do it for me till the next time I'm Greg from in 5d comm and Zantasia comm and in 5d dot. Not Sending you all infinite love and light from my heart to yours Namaste everyone


After death hoax and diabetes battle, nothing can hold Sophie Likaba back. The woman who exploded onto the small screen as Queen Moroka in The Sophie Generations almost 20 years ago is refusing to bow down. Emerging from a bruising period last year when she had to fight off untrue rumors about her drastic weight loss, Sophie Likaba is not only back with a talk show, but is confidently brushing off detractors who spread rumors that she was HIV positive, even that she died. Last year she came out publicly about her fight against diabetes, and the devastation it wreaked on her health and well-being. Likaba tried to remain strong for her loved ones, but she said it was really painful to deal with. The actress explained how the death hoax, which went viral on social media, traumatized her teenage son, who got wind of it while at school and couldn't get in touch with her. I was at a meeting so my phone was on silent when the rumors started trending. My son tried to call me but couldn't get hold of me. Do people who start these rumors even think about what it does to our children, or that parents can end up having a heart attack? But now the Queen is back, and heralded her return to the small screen with a secret she has carried for 40 years. She shared with the viewers how, when she was just 8 years old, an uncle who she tried to greet with a friendly pek at a family gathering violated her. It was in a lounge and suddenly Malium's tongue is in your mouth. It was a shock attack. It happened in a few seconds and nobody saw it but me, so I kept it to myself, she said. The memory still haunts her. She told the Sunday Times she decided to speak out now to highlight the importance of parents listening to their children. At 8 years old, she knew the kiss was inappropriate but she found it difficult to expose her uncle. Her new talk show, hashtags, aims to create dialogue and raise awareness about topics such as sexual abuse within families. Her family only found out about the incident when she made the revelation on the show. The news of the incident came as a shock to them, she said. The TV host said even though she didn't consciously dwell on the incident, she has realized it's always been at the back of her mind. I want to say to parents, when your kids come to you and say Malium did this, believe them. The nasty social media attacks last year came just 8 months after she tied the knot for the third time, with businessman Max Likaba. But instead of enjoying the honeymoon phase of her new marriage, the actress's husband and family had to shield her after the rumors began. It was not easy for her family to watch her endure the attacks, especially her husband, who also had to come to grips with her battle against diabetes. It's good that my husband saw me at my worst because marriage means in sickness and in health. It was just a bit much for a newlywed couple and sometimes you could see he was overwhelmed. But he was like, I am here, even if I don't understand everything. Though she still faces daily struggles with the disease and is still subjected to ignorant comments about her looks, her weight loss and her relevance in the entertainment industry, Likaba said she has accepted that everything in her life happens according to God's will. I always say karma has a way of dealing with things, and sometimes it's not my job to fight everything. The universe will fight it for me. God will fight them for me, she said.


We started right away here. So today our topic is, where will your website be in 20 years? And our speaker is Jacob Burma. Thank you so much. I am thrilled that you guys came. Can I just get a show of hands? How many of you would consider yourselves primarily website designers? OK, thank you. Awesome. You and me. How about content writers, content creators? OK, lots of you. Fascinating. What about developers? A lot of developers. Lovely. OK. Surprise. But that's wonderful. My hope today is that you get a good hack out of this next talk. Maybe there's something you'll see that you haven't seen before that may be useful for you. What good is a conference if you don't have one? And speaking of which, I'm just going to put, I've talked to organizers, and they gave me permission to take the WordCamp Vancouver 2023 website and save it for not just 20 years, but 200 years. I did that this morning, and it just needs one more file. I'm just going to go in here. I'm going to hit Advanced. I'm going to make a manifest. I'll call it Permasite. I'm going to hit Next. I'm going to put it in that folder, create it. And it's free, and we're going to just keep that kind of in the oven, and we'll come back to it at the end of the talk. So where will your website be in 20 years?  I had fun making them. I am a designer. And they're all available at my website, vibrantcontent.ca, slash WordCamp. So if you don't want to take notes, you can just go grab that later. So that should be fine. Today, I'm going to be talking about link rot. Now, that's not maybe a popular topic, but it actually has some significance. As I thought about link rot, there are two aspects to this. One is broken links on a site.  But if you do, and you don't redirect all of those links, all of your links, go away the contents there. If people come to your homepage, they can find it. But the links are broken. Second, more nefarious type, is when the actual web content has changed, and someone didn't pay their hosting bill, and the site goes away, or pages are taken down. So not only did the links not work, the content is actually not discoverable online. To me, that's the easy two ways to think about link rot. And at first glance, like, who cares, really? My website has some 404s. Your websites have 404s. Not a big deal. Wikipedia has the odd 404. But I think there's something beneath the surface. Broken and rotten links are a minor annoyance. But underneath, they chip away at the assumption that the internet is forever. I think instead the internet's like a huge glacier, and it looks frozen in time, something that will last forever, but it's always, always moving, and big chunks of it are calving into the ocean all the time. I love these graphics from perma.cc. When we launch a site, that's that first image there, with no little red dots, that links are healthy. If a client notices a busted link, they'll tell us about it, and so the site goes live and everything works. And then about a year later, over 20% of sighted links may be dead or otherwise inaccessible according to their research. In five years, it gets worse. About 50% of sighted links can be affected. Again, this is kind of beyond your control. These are things that you're linking out to. And then as time goes on, link rot is inevitable. It continues and rarely reverses. How far does link rot go? Here, it's really hard to get Canadian-only statistics, but here's what I found, specifically for the U.S. 20% of all science, math, or medicine, technology articles, the links are rotten right now. 50% of sighted links in U.S. Supreme Court opinions are inaccessible. 70% of sighted links in legal journals are gone. That makes me wonder why AI is maybe hallucinating in legal findings, because all the links are broken. And then there are various estimates. I got 72% to 98% of all content on the internet gone in 20 years. That means all the work we've done, the sites we've built, where will your website be in 2043? Well, chances are it'll be gone. And in some way, good riddance. Some of it needs to go. I don't miss Netscape, and the world will survive cat memes.  And I wanted to just talk for a moment about my origin story with WordPress. About 15 years ago, I was living in Toronto. I was working for a mid-sized charity with about 20 employees. And at that point, I was the communications director. And one of the jobs I had to do was to build a website. So we found this high-end agency. They worked with the Toronto Raptors. They charged us like they work for the Toronto Raptors. It was a six-figure price tag for a mid-sized charity website. We worked for nine months, tons of meetings. At the end of it, they were pleased to show a shell. It was a gradient on the homepage. It was a logo on the upper corner. It was about eight pages in the main nav, all of which were blank. Now it's time for you to put the content in. Like, are you kidding? Where in the 80-page contract did I see that you actually weren't gonna put any contact in the website that we were making? And it was back in the day when boards used to show up for web launches. I'd say inconceivable now. But here's the board flying in a few days. And I've got this shell that I've got to present to them. And it was panic mode. It was day and night. I never made a website. Like, what are you kidding? And I have their proprietary CMS that's horrendous. And I'm trying to put some photos in. And it was basically garbage. But I didn't get fired by the board. And I just came to the end of the experience. I was like, there has got to be a better way to make websites for charities than what I experienced. It felt like 90 minutes of work that they did. And then like days and days of my life. Then I found WordPress. And I started vibrant content. And we're trying to be that better way for mid-sized charities. And we've had fun clients from Rawls and Bobway to Urban Mongolia. And it's been amazing to work with them. And my kind of the main clients I'm working with now are research institutions. And I just wanted to talk through the lifecycle of a research website. So in the background is an actual one that has faded from the world part of that 98% that is gone. This is a Canadian professor who's well known. He contacted his professor friends in the UK and the US. And they wanted to study ideology and how ideological conflict leads to geopolitical conflict, a really important topic. This was even pre-Ukrainian Russia. So he applies for grant funding from the government. They get the grant.  They give us a small pile of money to make a website. And then their hands off with creative. It's so fun, designer friend, because they're not going to give you a lot of input. You kind of get to do what you want. They paid us to host and maintain the website for three years, three years later. My colleague sends them a hosting bill, crickets. Doesn't get paid. I follow up. Oh, the grant, it's empty. We can't pay you anything else. They need about $75 a month to keep the lights on for the site. All that research. So we shut it down. And the professor was on to the next grant. And it was so pointless, all this money, all this research, all this time for a site that lived 1,000 days online and then disappeared and no one can see it anymore. And it was link rot at its worst. So that's my own experience with it. And I wanted to just kind of frame the rest of the talk with that. And we're going to move on to how do you solve some of these link rot problems. So I'm going to shift this talk from problem to solution. Start with the basics. What's a 404? An error when a web page can't be found. Some of you in this room may have coded plugins that fix 404s. So this may be repetitive for you. But for those of you who are new or looking for a way to stop link rot at step one, here's what you can do. I think the cool thing about 404s is that they show what pages users are looking for and can't find.  It's also great for your SEO. The sad thing about actually doing 404 work is it becomes an exercise and like, oh, look at all these PHP files that malicious bots are trying to find and can't find on my website. And that's like 90% of what you find when you do 404 research. But it's still worth doing. And there are many WordPress plugins to help you with it. I'm still a fan of the Redirection plugin. It's cheap and cheerful. It's free. It'll find your 404s. And you can fix them. However, it does tend to go wild with 404 logging. And you can bloat your site with that log. And you've got to watch for that. AIO SEO, sorry I misspelled that. And the Yoast SEO are both premium plugins. If you pay them a bit, then they can check your 404s and sometimes even automatically fix them. I'm also a fan of server redirects for the fix. It's just a lot faster to hit the server and go to the right place than hit the server, go to the site, go to the plugin, and then get to the right place. So I'd recommend that if you have a choice and your server and your host allows it. OK, so let's go up a level. What about external 404s? OK, so what if you want users to not hit a 404 when they leave your site? OK, we don't have a lot of control over this. In one sense, you probably don't care. It's not your problem. But in other sense, if it's Supreme Court citations, it does matter. And you'd want people to actually hit the content that you're citing. So here are a couple good references for that. I talked about Permacix before. It's a project of Harvard Library. It's easy to use. It's going to make you an HTML copy of a single page and a screenshot. It's kind of like a faster internet archive. The downside is you just get 10 links for free, and then you have to start paying. So if you have an academic site with tons of links, Permacix might not be the one for you. Here's another new tool, Archive Forever. I'm actually going to do a quick live demo of this. And we'll see how this works. So Archive Forever is developed on top of RWE, which we'll talk about in a little bit. And it is a free tool for now. I'm just going to take the home page of my website. I'm going to copy it. And I'm going to toss it in Archive Forever. And I'm going to include the screenshot. Why not? I'm going to hit Archive. And it's going to do a little work. And it's going to think about it. And then hopefully within a few minutes, it should give me a permanent URL of the screenshot. Now I missed the JavaScript, and I missed some other stings. But it did get something. And let's see if it's got the Archive page as well. OK, so it did well in the Archive page. And you can see this is a huge, long, ugly URL with RWE in the middle. But it functions. And RWE would say it's around for 200 years. And that's a permanent, permanent link that you can always go to. So that's a fun tool that's totally free for now. It hasn't been monetized and fairly new. OK, let's go up one more level. We've talked about 4.4 on your own site, individual pages on other sites, what about whole websites and saving them for long periods of time? OK, we're getting to the heart of it. Here are the options thin out. You know about the Wayback machine. It is an amazing tool. 7, excuse me, 840 billion saved web pages. Now, hands up if you have ever lost a page on a site and rebuilt it by looking at the way. Yes, you have. OK, that was a page. Hands up if you've ever lost an entire site, had to. Oh yes, you and me. I have been there. It's paid, but it's awesome to be able to be like, how did I make that? And then trying to guess from the Wayback machine. So it is a lifesaver. However, it's limited scope. Sometimes when they get one screenshot, I was trying to check a site and go down a level and get to their PDF. And you're just not going to find that on the Wayback machine. And it's low. So beautiful resource. And I hope it continues. But it does have its limitations. Now, WordPress, as you may know, is getting into the permanent game. Pay them $38,000 US dollars, and they will give you 100 years of domain hosting and website hosting. I don't know if there's a line out the door for that one. OK, so is there a better way? Enter our Weave. This is a new protocol that I've learned about. Store data for long periods of time. It's a permanent data storage platform. OK, so that's intriguing. My old business model is based on recurring revenue because I came to WordCamp, and they told me to charge clients every month. And I started doing it, and they were right. But what if I could pay once and store a site for hundreds of years? That's kind of a game changer. So I started exploring Our Weave during the pandemic as an arbitrage of my own business, and my own business model. And eventually, you got to know some of the early teams that were here at Our Weave, and one ended up as a client, Our Drive, which is kind of like a dropbox for Our Weave, which you saw at the very top. So how does Our Weave work? Well, it's blockchain-based. So I got other blockchain products, projects. It's decentralized. It's self-sovereign. It's mutably time-stamped. But whereas Bitcoin's blockchain kind of just marches along in a straight line one black after another into a chain of blocks, Our Weave uses what's called a block weave, which is a multi-directional, multi-stranded weave of data that's optimized for data storage and a very high redundancy. So as I understand it, if you upload a file to Our Weave within a matter of hours, you can have around 800 replicas around the world. So right now, there's about 150 terabytes of data on the weave, but including all the replicas, the network size is something like 92 petabytes, like just massive redundancy for all the files that get uploaded. And they check the integrity of your file every 15 seconds and would say they have the highest level of data validation currently available. And all of that makes it really, really hard to delete files that are put on Our Weave because they're all over the place, and they're copied, and they're everywhere. So Our Weave says they'll store your file for 200 years for a single price. But how do they pay people for two centuries? So that's the second part of their equation, the endowment. So when you upload a file, a big portion of that price goes into an endowment the way that big universities, like UBC Sotter School, probably has an endowment that pays the professors year after year. Our Weave's endowment will pay data stores into the future. And we can talk more about that in the Q&A if you want to dig into that. So there's been big growth in the platform since 2018, but who's using it, why haven't I heard of it? It's mostly been some niche developers that have made gateway software or permanent data leaks or lots of infrastructure projects so far. It's also proved to be fairly popular in China because it eludes the great firewall. There's no one server a government can shut down because it's multi-polar. Digital scrapbooking has been another use case early on where people can see their family photos for generations and there are some business use cases because some businesses, you have to keep your files for seven years or 20 years or 50 years and so if you can put them onto Our Weave, you know that they're around and you don't have to sweat it. So it's still early days in this technology and I would say if you want to deep dive, look up Sam Williams and listen to one of his podcasts or talks. I have some personal objections to Our Weave having been around the ecosystem for a while that I'll just share briefly here as we get into this. There's an economic objection that I've kind of, it's in my mind. So Our Weave is a crypto project and it's dependent on the AR token which is the native token of the Our Weave ecosystem but how reliable is this token that they made? Well, I suppose the answer is time will tell. It is one of the larger projects in the crypto ecosystem and the endowment is designed to account for fluctuations in the value of their currency but I think the objection still has some merit and is worth considering. I also have a bit of Betamax syndrome about the Our Weave project. If you aren't familiar with that or weren't alive then Betamax was a competitor to VHS. It was better tech in almost every respect from Sony. However, it lost the popularity context to VHS and now if you go into the back aisle of any thrift store in Canada, you see VHS tapes and not Betamax so that's the legacy. Basically the best tech does not win the day and that could be the same here. Time will tell. Now here's an interesting nuance that you should understand about Our Weave. So Our Weave promises to store your data permanently for a one time price. They do not promise to give you access to it permanently. Wait, what's the difference? Okay, someone explained it to me this way. Let's say you're moving out of your apartment and you're going away on a long trip. You go to your friend who has a garage and you say, hey, will you store my stuff for a while? I'll give you a hundred bucks. And your friend's like, sure, no problem. You go on your trip, it's great.  Oh, by the way, I need to see some of my stuff.  I mean, that's like, you want to get to the stuff that it's actually yours. So, you know, and an alternate version of this, you go to your friend's house, but they're just never home and you could just never get in to actually get to your stuff. So either way, I think there is a gap here in the Our Weave world. I think they're aware of it. If you are a developer, like many of you in the room, there are open source gateway tools so you can kind of make your own key and then you can have your own kind of pipeline to get to your own permanent data if you want. But for those of us who aren't developers, there's an objection that I still have and a concern. Lastly, Emerging Competitors in 2023, Our Weave is not the only person starting to talk about permanent data storage and poke on people's frustrations about monthly subscriptions for hosting. There's another player out of India, Lighthouse Storage that uses an endowment model very similar to Our Weave, but builds on Filecoin and also the digital scrapbooking category, there's forever.com. But both of those options, as far as I know, or just for file storage, they actually won't store whole websites for long periods of time for a single price. Here's where I land. I think the objections to Our Weave are very real, but I also think it shows some promise and it's probably the only protocol today to have a serious claim on permanent data. So I think it is still a helpful tool to deter Linkrot. So now we're gonna kind of move from that introduction of various ways to store things online for a long period of time to a demo of how do you actually do this? How do you make a permacite and upload it for a long period of time? I'm calling this 10 steps to permanence. As far as I know, this isn't anywhere online. These are things that our small agency has just kind of come up with trial and error and this happens to work and it happens to be good for clients and I will share some of the applications you could use with clients towards the end. So this is what we do and the final goal is to have like you just saw that one page, a permacite and you can compare that if you wish, our current site, vibrantcontent.ca to an entire permacite I put in and minified the long, long URL to tiny.cc slash vibrantcontent. I paid 24 cents to do that. It was a pretty good deal. The site works fine and I'll show you at the end how we got to that. So there's a few tools. Our Weave is primarily for developers but there are a few consumer-facing tools out there. DragonDeploy, Archive Forever, RDrive, Acord. I'm gonna use RDrive because I'm most familiar with it and I think it's probably the best tool in this case. Here are the 10 steps and then I'll walk through what we did at the very top with that one file. First, you're gonna build a static site. Now, this permacite is not going to be a fully functional WordPress site with the entire backend so your contact forms aren't gonna work. It might not work for e-commerce. There may be ways around that but at this point with this particular hack it is gonna be a static site. It's gonna grab your JavaScript so there may be moving things on your webpage but it's not actually going to be a full WordPress site so that's apples to oranges a bit with what WordPress is offering but it is still pretty remarkable. Next, you make an account. It's pretty straightforward but you need to know it's self-sovereign data so there's no corporation involved that can reset your password if it's lost. You not your keys, not your files. So you've got to take control of your own. I mean, the nice thing is no one's looking at what you're doing and you really have it all to yourself. Really, your own data.  I think I showed that earlier. It's just a matter of going to the big new button and then as simple as creating a new drive right there and you can name it. Now, at this point all drives have to be public. You cannot make a site private and have it fully functional and operating for 200 years. That may come later but at this point any site you put up is gonna have to be public which means you might want to think carefully about what the future of humanity will see from our world. Fourth, top-up. So you're gonna need to pay up until about maybe two months ago you had to have the AR native token to be able to do any perm-a-webbing putting stuff on the permanent web. That's changed. Now you can use a credit card and I think the minimum spend is five bucks and so as an example, the site that I did, you get about a gigabyte for $3 Canadian and my site which the static files are 71 megs became 0.03 credits and 24 cents. So you need to kind of feed the machine but the nice thing is that you can actually do that and you don't have to find a crypto exchange that will actually give you this token anymore. Makes it a lot easier. So it's four or five is upload that bunch of static files that you got with one of those tools either offline pages pro or static site. I didn't talk about those too much. I found that offline pages pro which is a Mac thing, works pretty well and tends to do a really nice faithful copy of sites but static site, yes, the static site generator also is good and there are many other tools that work with the CLI that you could use if you want. Simply static was the other one, yeah. So now that you've done that, you wait. So part of this process is when you upload files not like Dropbox or Google Cloud where you upload things and they're pretty quickly available, in general, you'll need to wait, maybe it's a minute, maybe it's 10, even 30 minutes depending on how busy the network is to be able to have your files mined and propagated in many different places. So there is a bit of a waiting game and what you wanna look for is that yellow dot to become a green dot which means you're good to go and everything's been mined. Step seven is what I did at the beginning. It's creating a manifest. This is the special sauce. This is what combines all the perma files into one site. It's what I did at the beginning of the talk. Now, you have a lot more, they have a CLI for our drive for the developers in the room and you can do some extra special things in terms of what you want your manifest to be able to combine together and you can probably even put some functionality in there where people could use things like contact forms or potentially e-commerce to be able to do more with your manifest but this is just like out of the box if you're not a developer, this is what you can make. Trick is, I'm just gonna note this and again, this is trial and error from us messing around with this and figuring it out. The trick is you wanna make sure that manifest is in the same place as your index.html file which is like the key to a static site. You click on that and you get the home page. So just make sure your manifest goes there or it's gonna manifest nothing. It's gonna kinda go crazy. So we'll have a look at that in a second. After you did the manifest, you need to wait again because that file now needs to mine and it needs to turn green light and then finally we can preview it. Let's see what happens and if our manifest is, it still looks like it's yellow but that could just be that it hasn't refreshed and let's see if anything has come from this and if we have, oh, there it is. We're Camp Vancouver, yay. And you can see the huge, long, ugly URL up there and if I click on another one, the same long, ugly URL with and about HTMLs on the end and that looks great. So now this site's been safe for 200 years for 24 cents. So that's pretty cool. Huzzah, there you go. And there's the URL. You can minify that as I did. Now let's talk about a few things. Heads up, what do you need to know?  It's not coming down, it's all over the place now. Number two, no password reset. I'll just say that yet again. Make sure that you keep your password where you want it. Static sites only, I'm not full word pressed yet. And I have had an experience where we tried to do a site which had Chinese characters in the URL. It's fine if you have non-English characters on the actual page but if those Chinese characters in the URL, it's probably gonna go sideways and it might not work. And then permanence takes patience. You're gonna have to wait a little bit. What are the applications for doing this? Well, goodbye sites. So if you've had a website end or you're refreshing a website, something you can say to a client is, hey, for X dollars, we'll create you a permanent version of your site that you can always have for reference. And a lot of our clients really love that. Like they wanna be able to reference. Especially what happens if you have a huge site and then a client wants to trim it down and be like, I wanna site this 25% the size and there's a lot of stuff I wanna get rid of. But then two weeks later they're like, well, what was on my old site? What was that file? Just make them a permit site. And they're like, X dollars, I'll make you a copy that you can always access and you don't have to make it live. It can just live on our weave and then you can just go and always have a reference for it. There's not another good way to do that. Okay, client, thank you, same thing. You've had a long relationship with the client. Say a researcher and there, yes, the project's ending, that's so sad. And then you can surprise them with a thank you. Oh, you know what? We just, we decided to save your site forever and you can get back to it. Our agency now will build this actually into the contract. So when we talk to researchers like, here's phase one, you're gonna pay for hosting and then when your thing is done and your grant funding is done, there's kind of like a last payment for turning this into a permanent site that then you can keep. And they've been very appreciative of that and then they wouldn't know that their work isn't gonna disappear with the grant. PERMA backups, so I'm sure many of you have good daily backups on your servers. I'm sure many of you hopefully have offsite backups. So if your server goes sideways, you've got one. Well, why not make 800 backups for cheap? So this, you don't necessarily even have to do a manifest for this. Like you don't have to create the file and have the working website. It can just be a static copy or it can just be your WordPress files. So we do that regularly and just make PERMA backups just in case things go sideways.  You didn't have to rely on GitHub. You didn't have to rely on a PHP server. What if you could make apps and plugins where users got to choose the version they wanted because all the versions were available permanently. That's starting to happen. Some people really get attached to an old version of an app or like functionality or it was before the ads came in. What if you could be like, I like the Instagram before the ads and I wanna use that version of it. Well, there's some cool new potential with what the PERMA web could mean for apps. What if there's a WordPress plugin you could press a button and have a static site generated and automatically sent to the PERMA web and then you could just kind of make a small payment and be able to do backups right from with WordPress. Or what if all of WordPress could be hosted there and you could get a version that you liked and use it because it was already hosted and you could generate sites from that. Those things don't exist yet, but I think we're starting to see the beginning of what permanent data could mean and it could be a big game changer for how we work on sites in the future. So if any of that's interesting, I'm happy to think about that or talk about that in Q&A. I will say I'm not a developer so I'm not gonna be able to go too deep into the technicals. So the current internet connects us across vast geographical distance. We have clients in Zimbabwe, Mongolia, that places I've never been before that it's been so fun to get into their worlds. What if this permanent data thing could connect us across vast spans of time so that people will never meet in the future can actually connect to us in our world here. I suppose that time will tell where that happens. So thank you, I appreciate your attention and if you have any questions either on Linkrot or some of the solutions I've talked about or Arweave or wanna see kind of the steps of how we did those 10 steps to permanence I am available for that. Do you have the address for your presentation? Yes I do, it's here on the bottom of the Q&A. Fibrantcontent.ca slash word camp are the 10 steps and you're free to fill out my contact form if you get stuck and you're like that didn't work I missed step six or I didn't wait for this, that's fine just let me know. Yes. I know you said you're not like a developer but just based on your own experience how like secure in terms of privacy or data depth do you believe this is? Yeah I think in my experience so again all of these are public so all the websites I'm putting up are things that anyone who figures out that giant URL or gets a copy of it can see and it's not gonna go away. So there's no privacy and I think Arweave by default is public and open because it's meant to be that kind of record. However with our drive there is another encryption layer and they would say it's like military grade and pretty secure and you can actually set your own password for individual drive so I showed you a public drive for those sites you can also make private drives that only you have on not only the password to get into your account but a second password to get into just that drive and that content. So yeah I find that's fairly secure. Personally I've put a lot of my family photos in private drives just so they're available for future generations. That was exactly the next question. I would transfer everything from let's say my cloud into this. I feel it is but here's the thing. I find that there's like a cost comparison like if you're going to put over 100 gigs maybe even 50 gigs whatever or even up to a terabyte like I think once you start hitting maybe over 200 gigs, 300 gigs the price can get very high to make it permanent data and it may not be like you paid monthly but you'd have a pretty big major cost up front. So I find it's best for like your most valuable files or your most special files. I don't think it's at a point where it can be a complete replacement for Dropbox or Google Cloud but the integration is coming. I think if we're here next year I might have a different story. Yeah. Let's say somebody stored something in the websites but legally with a code order who can delete it? Yeah so that has happened. There have been takedown requests for copy protective material that has already been put up on the perm web and oh sorry I'm gonna repeat the question. I was supposed to be doing that earlier. So the question was if there's a court order or a cease and desist letter that legally is sent from a jurisdiction and someone has put something up permanently can it be deleted? The answer is yes with difficulty and I know they have run into there was a cease and desist letter from I think a major record label cause some copy protected content was put up and made available and what you have to do is you can't coordinate those 800 copies. You can't actually get rid of those but you can coordinate the gateway. So the guy who was in my little parable who was storing your friend's stuff and he had the garage you basically have to talk to that guy and say okay just don't serve that URL for that content and they have a content moderation. Like they wanna be as permissionless as possible and open but I know that there've already been some cases where they've had to just like the data's still there on somebody's hard drive but you can't get to it cause the URL's down. Yes. These URLs are actually searched by any engines or are they kind of off? Yes they are starting to be indexed by Google but they're obviously they are like the least SEO friendly things you could possibly make cause they're word sell they're basically cryptographic hashes that are put around a central our we've or another gateway URL. So yes I've heard that they are being indexed and cashed by Google it's got almost a second layer. There's also kind of a new like Google for the perm-a-web to be able to search content like that's just come out in the last month or so but it's not something you're gonna stumble upon necessarily. There's also a thing of drive sharing so if like I've created this public drive of a few websites that I like and they say permanently I can share that whole public drive as a single file like or a single link so I can just create one and I can share it as I want to so that's another way that the content can be shared but as of now no most major search engines I think Brave might be interested in some integration if you've heard of the Brave browser cause they tend to be more crypto friendly they'll probably be the first one to have some search capacity for the perm-a-web. Can we use it for like a git repo? Yes, yeah, yeah that's the thing then you're not as tied to having to pay GitHub or hosted or anything like that yes so the git that's I think what developers are excited about is like I don't have to pay monthly or whatever or rely on this I can just have it permanently there so yes, yes. And you said once it's in there it can't be edited but if I want a new version of my site it'll have to be new. It would have to be new and you'd have to push it so yeah I was thinking about this scenario in fact talking to my friend about it earlier today so in it's funny so we have and you might have these clients too where for three or four years they have not changed a thing on their site you're like why are you paying me every month for a site you can change that you're not changing like it is literally not changing so we went to one of our clients and we're like yeah she's a former vice president of World Vision Canada and she does consulting and you know she just hadn't changed her site and we weren't sure what she was like well let's just make it permanent and then you don't have to worry about it. In the end she was like oh it kind of poked her to be like oh no I want to make some changes I want to do some things so what can you how can you do that now again the technology doesn't exist to be able to have WordPress hosted permanently I think that's coming and something I'm interested in seeing happen I would love to talk to developers about but what I think you could do is if you're getting a decent amount of traffic and you're paying for that traffic you could have the permacite be the one getting the traffic and then you could just have a local copy or a copy on your server of the one that you know and when they want to make a change you just generate new static files and put them up so that could be possible but again you have some long early URLs you'd want to do domain masking you'd have to push that out a little bit to be able to have it be like a coherent high traffic site but it's a really good for those sites that don't change or that you want to kind of archive it's a good it's a good option you mentioned domain masking is it like your SEO that's a great question where you kind of minimize by using you pretty much use domain masking to direct them yes yes I did and I just used a free tool tiny cc but you presumably work with your DNS and if they're DNS experts they're welcome to chime in on how can you could do that and it may not be the best for your SEO but it would be cheap it would be real cheap any other questions yes I guess I'm not sure if this would be a common question for other people but eventually you get to the point in your life where you start to think about estate planning yes and if you've been in development and stuff you've got these websites and other things out there and it already is quite a trend in terms of estate planning in terms of getting rid of your digital footprint yeah I guess when I didn't solve this top pedigree I thought oh maybe this is going to be the one that's going to give the answer the whole thing blows apart because your domain addresses are they're just rental yes yep exactly and as far as whatever's private once you're gone who could if not for the public but it doesn't really sound like this is fully going to address that now no there would be a few interesting potential use cases like you could have a private drive like thinking about your will or passwords or things you could have those on a private drive and give just the key and so you die and someone gets a private drive with all your personal stuff and has access to it there actually is an early consumer facing app called Sarcophagus that is designed for that so I think it I forget how it works if it pings you or it looks for activity to make sure you're alive online and then if it doesn't get it then it automatically releases the data you want it to release to a trusted person so that's kind of like next generation will planning or digital estate planning so Sarcophagus our we've Sarcophagus might be interesting to look at because they're they're trying to figure out they have a mechanism for mortality to make sure you're alive I forget what it is I just want to give it more for how to sort of launch the websites and let them go free now into the web oh okay oh yeah yeah yeah if there was something that would automatically take your websites off of domains and then kind of make permanent versions like in a timed way that'd be interesting so they wouldn't all the domains expire and the websites all die after you yeah that certainly could be a use case yeah interesting yes there's a way that when a page is not available and you want to show 404 instead you kind of redirect to that static copy that would be interesting I guess you would need your 404 to be intelligent enough to go to the right place but what you yeah what you maybe could do because I know there's some 404 redirection plugins and WordPress that just like every 404 goes to the homepage like what if every 404 went to the permacopy so you could definitely you know explore the archive version and you have like you make the permacopy with like a top bar across the top like this is an archive version of the site to get back to the original press here and so someone could like you'd create an internet archive for yourself kind of thing but instead of the internet archive it would be a searchable website that you could go through that's it really interesting use case I never thought of appreciate your creativity yes you mentioned endowment can you elaborate on that yes sure happy to from what again this is just from what I know being around the community so the R.R. Weave team looked at the price of data storage over the last like 30 years and as we know it's what that that rule in computer science someone refreshed me where the every number of years you get the same amount of data for half the price so they found the percentage was 35% year on year for the same amount of data storage it cost 35% less on average now when I read that was like my hosting bill is not going down 35% every year somebody's making more money every year off of me so what they have done with the endowment is they're not assuming that hosting costs will be static they're assuming that in 20, 40, 200 years it's going to be a lot cheaper to host a 71 meg size site than it is today but they have pegged it at 0.5% decline so it's a very gentle slope down and anything above 0.5% means that it's longer length of time so the endowment is designed like if if the world keep going and computer stores get cheaper and cheaper slowly then you get 200 years of storage if it really dips and it's more like oh yeah 10% and there's these advances and quantum computing and all that stuff then they would say the storage time goes out because the endowment has more in it to support longer storage so that's kind of and there's a you can do a deep dive on they have like a yellow paper that goes in the mechanics of it but that's what I understand from the endowment and how they continue to have funds to pay out for a number of years wonderful. Well thank you all I appreciate this and if any of you experiment with this and have any discoveries please contact me I'd love to hear what you learn.


The annual Overseas Housing Allowance Utility Expense Survey starts on March 1st. Service members living off post and privately leased or rental housing are asked to take part. The information that you provide will help the Defense Travel Management Office to better determine future utility allowances. The deadline for service members to submit their expense information is April 15th, so don't wait. Starting on March 1st, you can click on the link on the Use Our Home page under More News, or go to your command's G1 home page.