I'm good. I'm good. I just came back from a camping trip this week. So I'm showered and feeling good. You showered for this? Yeah, yeah. Oh my God. You wouldn't be able to tell, but I did. So what I'm doing right now, why I might seem distracted, is that I am actually looking at this new reclaim.tv and like and subscribing on Mastodon. Yeah, we got all kinds of new stuff. I feel like we had the Reclaim EdTech year in some ways culminated with the conference, which was, of course, not just the whole company. And then we kind of took a couple of weeks in the August, like two weeks. And now it really feels like year two. And so one of the things that you and I were talking about is we need to get back to more just sort of off the cuff of regular streaming. So we're going to try to make a thing of this a little bit more, is just, hey, we're going to go talk about X. And this is going to be maybe the first one of these, or not maybe, it is the first one of these. You might be watching on YouTube, you might also be watching on Reclaim TV, which is our new owncast install that is going to be something we'll be trying to stream in both places most of the time. And owncast is a really cool tool. We'll talk about owncast at some point on its own possibly. Did it come up in our open source media ecosystem? Yes, it did. Yep. And I think you and I both played with owncast quite a bit over the years. But it had been a little bit since it had been about a year since I had really dug back into it because we had been going all in on Peartube. And Peartube is great too. We're not abandoning Peartube. But we're trying to, we won't talk too much about it because we have limited time, but we're trying to kind of rethink and kind of situate like, well, we want people to have, we want people to know that all the streaming and video stuff we do is both on YouTube and on the Fediverse, basically. And what does that mean and how can we make that easy for people to navigate and know where to go? And so what we're kind of landing on at the moment is, okay, well, we'll keep doing stuff on YouTube, of course. And then we're going to use owncast as kind of like the front end. So if we are live doing anything, you just go to Reclaim.tv and you should be able to see us there. That's at least in theory. It's actually happening. I can see us there. Yeah, yes. I should say, I know we are live today because I have the thing up or whatever. But yeah, so one of the cool things that StreamYard lets us do is send our streams to multiple places. So we're using that. And then I think the next step is, every once in a while, I like to do, when I do streams myself, I like to use OBS so I can really just like crank the quality to max and do like 4k and stuff. And I want to see what that means for simulcasting. I don't even know if it's going to be possible, to be honest, bandwidth-wise and everything, but I'm going to mess with it. So yeah, I do realize I have to put our title in because it just says test right now. But that's one thing I have to mess with. But yeah, this is the first one of these simulcast Reclaim ed tech streams. So we're mass communicating. Is it one at a time in here? Yeah, that was for year one. This is year two, we have to do two streams. Yeah, exactly. Exactly. Year two, two streams. You're three, who knows? So for today, we're going to talk about, though, Taylor, what is the news? We want to talk about UMW blogs. And this is going to be about the technical sort of background detail, well, technical details about the archiving of it and how it was done and, you know, sort of what we did to make it work. I don't think it's going to be the last time we're going to talk about UMW blogs archiving project. In general, I think it would be awesome to talk with some of the folks from UMW right now and have you talk about maybe like, you wrote a great blog post, a eulogy of sorts to UMW blogs and, hey, nobody's going to be creating new content on it anymore kind of thing. But I would love to talk more about that in general. But we thought it would be good to separate out into its own little informal stream of just like the nitty gritties of like, how do you take a site with, you know, 10,000 sites and archive it to flatten the HTML in a way that is possible? Yeah, let's hear it. How did you do it? I'll start with the question. Taylor, how did you archive UMW blogs? So, yeah, so basically we used a tool kit called the site archiving toolkit, which I've talked about before. And this is a toolkit that I put together that really is just a nice, easier to use wrapper. It's a script around two tools, WebRecorder and HTTrack. WebRecorder and HTTrack are really interesting tools. We've done a little bit about them before. I'm sure we'll talk about them again. I'd love to do at some point maybe a whole course on archiving if that is interesting in the far future. But basically they do two things different. They do the same thing different ways. They take, you give it a URL, these two tools, and HTTrack will give you a flattened HTML structure. So, it'll give you a folder of HTML files basically. And it'll be representative of what the website looks like right now. So, you can take a dynamic site like a WordPress site or really anything and get a copy of it as it looks like in that moment in HTML. WebRecorder or a browser tricks crawler, which is sort of like the souped up version of this that you can run on a server. WebRecorder does the same thing, but instead of delivering just a folder of HTML files, it gives you a sort of zipped up web archive file. And it's very sophisticated. WebRecorder has all kinds of capabilities to capture like funky things that the modern web can do, like sometimes fancier. This isn't so much a consideration with WordPress sites, but sometimes other types of tools will do things like use JavaScript to load in other style elements dynamically after the page loads, actually. And WebRecorder has capabilities to do that. So, HTTrack is great because it's sort of simple and it gets the job done. And what you're left with is HTML files, which is the same kind of HTML files we've had as long as the web has existed in a lot of ways. And WebRecorder packages it into its own thing, which is still based on a standard, but you need a special way to be able to view those files, basically. And what my toolkit does is make it really easy, well, relatively easy. You give it a command of archive and a URL you want to archive, and then it will use both of those tools to make those archives and then set them up so that you can view them and move them to a web server for long-term preservation. Is it true, Taylor, that you have a basically an installer in ReclaimCloud to do this? Like, I'm not being facetious. You have created one, right? Yep, yeah. This is a thing you can run in ReclaimCloud right now. So, if you go to the marketplace and I'll kind of talk about like what this meant for the BUNW blogs archiving process, but if you go to the marketplace and search for archiving, site archiving, or go to the education category, I have it bookmarked here, you can just click a button and get your own copy of this. And I'll demo what this looks like in a second, but basically, once you, I've already got one deployed that I use from time to time, but once you've got one deployed, you open up a terminal in it and you just type archive and then the URL you want to archive. So, I'm going to give it a few of them. We'll do a small site that I have that I know is going to finish relatively quickly and we'll do like the Reclaim.Cloud website. And so, you can give it one URL or you can give it several and it will just one at a time go through the list basically. And if you give it several, you need to separate it with a space. Can I give you a URL to try? Yeah, I actually already started this one. So, let me quit it. This is the first, because this is talking about UNDW blogs. There was a proto UNDW blogs called like blogs.dlsweb.org that's still online. Well, okay. So, we can do that and we're going to see this will be a good demo depending on how long it takes of why this isn't super straightforward for WordPress multi-site, right? Why couldn't I just say, hey, just go archive umdwblogs.org. Done, you know. And why isn't it that simple? Because this made simple a lot of elements, but there was still quite a bit of extra stuff. So, yeah, we can definitely do that and see how it does basically. Yeah. Let me just delete the things. Okay. So, what was the, I am still going to have it do that tiny site just so we can see the completed one because this one probably won't finish while we're talking. So, what's the other URL? It's HTTP. I don't know if it's HTTPS. I don't know if that will create a problem. Let's see. Let's visit it and we'll see. Yeah, it does. It loads securely blogs.dlsweb.org. I can't believe it's still online. WordPress is resilient. Yeah, it's crazy. So, mine loads not over, but if I... But if you force it, it will do it. Yeah. It's got parts of it are insecure. We'll see how this goes. I'm actually going to, because it looks like some images are insecure, I'm going to have it do the non-secure version, but this is a good first step is if you're going to use my toolkit to archive something. These tools are not smart. So, that my toolkit certainly isn't smart. It's basically just a script that's giving my favorite command line options for using these, and you don't have to worry about it. That's nice. But if you do something like, let's say I wanted to archive my blog site, and you gave it HTTP colon slash slash jaden.me. If you did that, it would... Oh, I guess I'm not redirecting HTTPS on my website. I need to do that. But a lot of websites force you into HTTPS. And if you give the not the right version, right? If you give it HTTP, and it redirects, what you'll end up with is one blank page because my... The web recorder and HTTRAC will be like, cool. We recorded that redirect. Oh, did you want us to actually record the page behind the redirect? No, we won't do that. Too much. Yeah. So, you do want to be careful. And it's just one of those things you got to play with it, right? Like, because every site has a little bit different things, little bit different things with it.  Let's not do the HTTPS version just to see how that goes. So, anyway, I'm going to give it two URLs, and it's going to go ahead. The cool thing about this is it's actually doing them simultaneously, both the browser tricks crawler and HTTRAC thing. Right now, we're looking at the HTTRAC's command line outputs. You can watch it, but you can actually close this, and it will just keep doing its thing. Oh, really? So, you can close it, and it's basically already in the background? Yeah. If for the Docker inclined, it's running as a Docker... It's running as a daemon. So, with the dash D command line switch, so that it just will keep doing its thing. In fact, if you want to quit it, you have to type a special command that will go, and it will quit the container. Is the command quit it? Yeah, it's... I should make that. It's quit dash crawlers. So, I do have this roughly outlined on the GitHub page, and I'm working on documentation for it, like good documentation, but this has the basics. So, basically, archive, space, the URL, and you can give it more than one if you want, and then quit dash crawlers. That's the command. Look at you. That's awesome. You're so blown. You can also run this on your own computer if you install Docker on your own machine if you want to. There are a lot of downsides to that, because while this will run in the background, even on your own machine, if your machine goes asleep, it's not gonna stop, right? So, I wanted this to be an option for folks, and I wanted to say, like, hey, if you don't want to run this on the cloud, you don't have to, but this type of work really is a lot easier on the cloud, especially because you can let it loose with as much resources as you want to give it, as you want to pay for, and then as soon as the crawl is done, it costs you basically nothing. In fact, you can delete the environment if you download your crawls. And there's a story there that you'll get to when you talk about even though you blog. It's like, what you expected the time it would take, and what the time you did it in, right? Yeah. So getting to the UMDB blog specific. That's how that tool works. We're gonna, if I refresh the page here, this is, sorry, let me do this again. So this is the URL for my archiving environment. If I click on it, it's just running a basic Apache server. Like, if you've ever used Apache and not put an index file in a folder, you'll see something like this. That's literally what my toolkit's doing because I am not a web developer. And so this recipes one is done. So what you see here is, hey, this one's incomplete. That's the ELS web one. The recipes one is done. This site is like nothing. So it probably took a very short amount of time. There's six things in this folder, three of them for web recorder, three of them for HD tracks. So I can download the completed crawls with these zip files here and I can just click on them and they'll download. I can look at the log if it's stuck. This is great because you can actually look at the log even while it's running in the incomplete folder and we'll look at that. Or if you're just curious, you can look at this and go, all right, it started at 13 minutes past the hour and it finished at almost 15 minutes past the hour. So it took two minutes for HD track. And you'll notice if we go to web recorder here, it's log. Now this log is really messy to look at, but this one started 13, 55 and finished at 1504. So in this case, it took about the same amount of time for both of these to finish. I can also click on the ones here that have no other thing here. I can just look at it and browse the actual work of it. And you'll notice here that the full URL is kind of messy because it's in this archiver environment, but it does work. So we can look at this kind of broken site that I have that I never did anything with. Someday, I will. And if I do the same thing with web recorder, this is kind of the cool trick. So web recorder is, it's easy to make web recorder archives, but they don't have documentation on it. Well, what if I wanted to host an archive somewhere, but I wanted to make this like dead simple so that people could run my tool, download the zip file and literally go to shared hosting and unzip it and just you're done basically. That's the goal. And so this is what you wind up with. It takes a second to load because that's just how web recorder works. But you get this fully browsable web recorder archive. It'll have the URL, the original URL here, which I think is kind of a nice touch.  Why that's there? I don't know because it's never going to be any different, but whatever. There's back and forward buttons in there. And then this will actually search through the entire text. So if I look for the word soup, it's, hey, it shows up on these two pages. Nice, which is cool. And so that's the difference. Now, the actual content of the archive, if I go in here is kind of simple. So if I go to the crawls folder, that's where they all get saved. And let me zoom this in a little bit. So this one here, here's the two folders. These zip, again, these zip files are literally the same as these. It's just zipped up so you can really quickly download them. And if I go in the web recorder folder, here's everything. So there's an index file. This is the actual stuff. This is the archive. If you didn't want to host this, you could just grab this file and throw it in Google Drive something or something for later saving. Or if you want the whole thing so that you could host it someplace else without even having to remember how it works, you just keep the zip file because the zip file is going to be, I accidentally went back and reclaimed cloud. The zip file is going to be basically the same just with that extra HTML file. So yeah, this is the WACZ, web archive zipped. So this itself is compressed. And then the replay folder just has the JavaScript that makes the player we were looking at, the website work. And then the index file is real basic. It's just saying, hey, here's the name of that archive. And here is the URL that you should open the archive to and embed. And I have some, hey, if you don't want it to look this way, they have some documentation on how you can change from default to replay. So if I change this to replay only, it doesn't actually show that address bar, I believe. Is replay web dot page, is that the, what's the name of the tool? Yes, replay web dot page is their little way that you can host, or sorry, host, you can read a web archive file. So my little thing here is designed to make this unnecessary, basically, for certain use cases, right? My goal is like, imagine if the way we archive UMW blogs was to say, all right, well, here's 9,000 files. If you want to look at them, you have to download one at a time and go to replay web dot page and click choose file, and that would suck, right? Like, nobody would want that. So my little thing is to basically do what replay web dot page does, but in a way that feels more like the web, basically. And again, I'm not to, I'm not trying to blow this out of proportion. All my script does is just simply write this index file for you and grab this replay folder for you. This is documented on the replay web dot page site. They have a thing that's like, hey, you know, if you want to do this yourself, download this folder, write an index file. But I wanted to make that like something you didn't have to think about. Is that something the web recorder folks built? Yes, yep. Okay, gotcha. Yeah. So problems with doing this for a 9,000 site, a WordPress multi site like UMW blogs. And I should say it's 9,000. We archived around 9,000 sites. That was after the Shannon and possibly other folks at UMW did a lot, a lot of cleanup work. So they went through and helped people move to their new WordPress multi site for probably, I would imagine that was that work was happening for basically the entire year before. And also archiving some stuff that was just broken and stuff like that. So, sorry, archiving, archiving the WordPress multi site sense, right? Yeah, exactly. We take it offline. I think there was as many as 13 or 14,000 sites at some point. Yeah, yeah. So this was, we narrowed it down to 9,000. And what we found was, A, the way my toolkit works, where it takes both versions, the HTTRAC and web recorder version, well, we don't really need that. We really only need one good version, right? The reason my toolkit works this way is so that you can look at both versions and decide which one you want to keep, basically, because those tools work differently and sometimes one will do a better job or just spit your use case better, right? One of the things that's cool about the HTTRAC thing is that all of the links are, if you put these files in the right place, are the same links. But that's not how web recorder works out of the box because it's this funky JavaScript application, basically. So what I originally was thinking was, okay, let's use HTTRAC because then all the links will resolve. Well, what I found in my testing is if I just use HTTRAC, HTTRAC is much slower for larger sites. And I'm not really sure why that is. It just is that way. Web recorder is really fast. By my guess, if I gave HTTRAC 9,000 sites to crawl, it would have taken up to nine months for it to finish. I did a test of like 300 sites and it took multiple days to finish. So I was like, okay, well, that is not going to work. But the web recorder one went much faster. To speed it up even further, I decided what I was going to do was split this. I was going to make nine and I ended up actually doing 10 different environments in Reclaim Cloud that were all just doing web recorder archiving for this project. So we took our list of 9,000 URLs to archive and we split it up into basically nine pieces with a 10. I'll talk about the 10th one a little bit. And so they were all simultaneously working. And I should say Jim had to pop out for a second, but he'll be back. So this was kind of a big wrangling of files and stuff to make that all work. So what I was just saying is that we took this 9,000 URLs and I made nine environments and split it into roughly 1,000 URLs per environment. And so that we could do nine environments simultaneously all crawling UMW blogs at the same time. And I will say I was a little bit worried that UMW blog itself was going to crack under the pressure of that kind of traffic. But it did fine. It really was. But who hosts it? Yeah. Yes, exactly. Well, and that's the thing, if we, if it was hosted someplace else, let's say that it didn't crack under the traffic pressure, it probably would have gotten blocked for what like malicious traffic. Can I ask you something with that 10 instances that you were running? How did it know which ones to do? Did you say, do these X amount of sites, you do these X amount of sites? Did each of them have a predetermined site? That is an excellent question and a great way to transition. So what I did is I made a special version of my site archiving toolkit just for this project. And I wouldn't have to do it this way. But it was just easier for me to basically take my site archiving toolkit and I made a branch called UMW blogs. And this is where all of my work happened for this project, basically. So what I did and let me again zoom this in a little bit, it's really the same basic thing, but I went in and I disabled some functionality. So I said, I disabled the stuff that would make HT track archives. So that we just weren't doing that. We're skipping that part. And then I made a script for each archiving server. So basically, first I use the WPC li to get a list of what are all my URLs. And then I made that into a text file. So this is a text file of all the URLs. And then I just manually in a text editor, I used VS code to select 1000 of those at a time. And I put him into a script like this. So it was archive.sh. That's the that's the archiving script that I made. And one line here per URL. Right. So the nice thing about doing it this way is I could look at in the logs and see, well, where is it right now? It roll right now it's working on summer in Spain that unwblogs.org. So I know it's at site 49 of 1000. And so this is really nice during the monitoring aspect of it. And then I made one of those for each of them. And then that's how this started. And I ended up having to get even a little bit more funky with it. You'll notice these resume files. These are scripts I made where basically I found that the web recorder version we were using has some bugs. I mean, every software has bugs, but there was a particular bug where once in a while it would get stuck on a site. And so I would look in there and notice that it hasn't made any progress in like three hours. And so that I would go in and I would quit it. I would take the site that it was currently working on. And I would move it to this stuck.sh file. And so there was really only 23 sites I had to do this with, including the front page, by the way. Did they have something in common that made them do this? I'm really not sure. I think that this something to do with the size of the sites, I think it once they get to a certain point that this version of web recorder was just choking on it. And it was just not having a good time because most of these, actually that's not true. Some of these were smaller, but some like the tag site, this site is massive. It's a copy of every post on the network from 2008 to 2015. So it's just huge. But yeah, I honestly, Jim, I didn't take the time because it's not like I could do anything about it anyway, right? Because it's not my software, right? Ultimately, web recorder would have the folks in that project would be best served to fix that. So what I did is I set them aside for the moment, I said, great, I'll return to these. And one at a time I would add to the list. And then the resume file is how I resume. So I would go through and say, all right, well, like for instance, UMW seven got stuck on ethics and lit was the one right before it. So ethics and lit was 827. So it probably got stuck on this one, the one right before it. And so I would delete, I'd make a copy of the file, delete everything before it and restart the crawl. But let's start with the next one. Basically, that was a manual process, right? But, but honestly, here's how crazy it is. That MOPO site that I got stuck on is Mara Scanlon's modern poetry site. So that's crazy that I know Oh, and that one looks like it was busted. So, yeah, so anyway, so that's, that's how that worked basically. It was a little bit of manual process restarting these, but not that bad. I mean, honestly, 23 problematic sites out of 9,000, like, I'll take it. Good numbers. Exactly. So I gave nine. So I created nine of these environments and I went in and ran the commands and each one, right? But the nice thing is I made this GitHub branch so that I would have sort of the same set of files on each that was really just me going in and typing bash UMW two dot sh basically, and it would run the thing. And so then I also, I also made a different version of my installer specifically for this. Now this isn't, this wasn't published. I just took this JPS and use the import button and reclaim cloud to run it. But what this one does is it's really the same thing as my normal installer, except it's specifically getting the branch version, right, the UMW blogs version, so that when I would deploy these nine archivers, it automatically had these set of files right away. And the cool thing is I could use get to manage all of this, right? So if I made changes, I could just do a get pull and it would all have the same version of everything. Now there, there are more sophisticated ways to do this. Like I even thought about because I had nine of these, like if you had like, say, 40 environments, you could use something like Ansible to actually run the same command in each place. But I wasn't going to set up and configure Ansible for just nine environments. That would be a nightmare. And I'm not really an expert at Ansible anyway. So while we at the company, like infrastructure has expertise, that's not really something I know that much about. So exactly. But my point is to say there are ways to avoid having to type the same command in nine times, besides copy and paste, which is of course what I did. So my installer here grabbed this special version and deployed it. And then I ran that installer nine times. So I had nine environments to work with. And then I did end up making a 10th one where I ran the stuck script. And this one, I had to modify further so that it would use the latest version of web recorder, which actually seemed to fix some of the bugs I was running into. So that was a little bit of a process to figure that out. So then what you've got is 10 places where all of these files are. So the next step for me, and I'm not going to go into a lot of detail, but the next step for me was to back up all of these to Google Drive. I wanted to have a copy in case I messed anything up. So I used our clone to do that. So they basically uploaded right from the environment to Google Drive. We've used our clone around here for a few different things. And it's basically like a command line interface to cloud services. It's really, really cool tool. Then I are synced all from all of these different places to one container that was going to host all of the archives, basically. And so I used, I set up the private key, a public key pair thing and did the archiving. And some of this I was able to kind of automate and make a little bit faster. So let me, I have a whole set of notes here that were sort of my like, all right, let's formulate this terrible long command that will do five things in a row so that I can paste it in nine times, basically. So when you mean archiving the files, right? So when this was done, right, say umw4.sh, it created a web recorder archive that you then uploaded into one space. Like, how did that work? Good question. So it was making one web recorder archive per site, per sub-site, just like we're seeing here on my little test one that I was messing with. So I would look at UMW, it was like the URLs were like, umwblogsarchiver4.us.reclaim.cloud. And I actually ran these across every region in our infrastructure, just to balance the load. Again, I was, I was worried that it was going to cause problems in terms of storage and things. And to be perfectly honest with you, it would have in terms of storage, but not really CPU or RAM or anything. So, so then I basically would look at, I'm gonna click on like, you know, like 50 of them, be like, did these all work? And then I are, I are synced all of them over. One other change that my special version of the UMW blogs archiver did is it actually did not zip up any of them because I wasn't going to be downloading them, right? I didn't need that extra zip file. So it was designed to just make the files that we needed as to save space, basically. Then, so, so they all got synced to this environment, which I could pull up, which is, let me have to zoom out and zoom back in here, just because I'm making this text bigger. But this is an environment I made called UMW blogs archive. It's actually in our EU region, which I just cause honestly, it was a new region at the time. It still is, I guess. And they all end up in the web root directory. So this, this environment is just an engine X environment. It has PHP and engine X and that's it. It's very bare bones. And so all of those wound up in here, if I do an LS here, it actually takes a while to do it. And all 9,000 are in here. So there's 9,000 folders, basically, and it's not exactly 9,000. I think it's like, like 9100 or something like that. I don't remember off the top of my head. And so in each of these is that archiver archive.wacz file that we were looking at. So if I go in here and look at Z M A L I K, how about that one? Same thing as, so there's that index file, the archive file and the replay folder. So the cool thing with this, and this was kind of part of the project is that the folks at UMW one is they wanted the ability to kind of easily delete or hide archives if people chose to. So they, they've said like, Hey, if we have someone that comes to us and says, I don't want this hosted anymore, we have to have a way to take it down, which was a great thought. Honestly, like you, you, yeah, it was good, good foresight there because if they hadn't said that, I might have done this a little bit differently. So that was all in one archive. But I'm actually going to reach out to them about a site. If I can share this for a second. Yeah, I might get this one. I might get this one. Take that one down. Is it slanderous all kinds of garbage on that site? It's just the header images from Tom Woodward. And it's just wonderful because he took that image and what the image says is sometimes I stay awake watching you sleep. And that's the baby with me photoshopped it.  Anyway, yeah, that's a fun and it looks amazing. It looks great. It's yeah. So this is the end result and we'll talk a little bit about because to be honest with you, the archiving, I know it sounded complicated in some ways it was, but I had a process. I kind of knew what I was going to run into and it worked really well. Really the part I was had the most figuring out to do going into this just because I've been working on this site archiving toolkit kind of for like a year and a half now in some ways. So I'm getting more and more familiar with the web recorder and HD track stuff. But the hosting part, how do we host 9,000 of these was really challenged for two reasons. So A, just a lot of them. And B, UMD blogs is a sub domain site and I was not about to go and make 9,000 sub domains in like C panel manually or something. And this isn't even running C panel by the way because ultimately they don't want to pay a lot like we don't want to have UMW blogs cost a lot of money for UMW to host, right? Because C panel has license associated with it. That makes no sense. So what we did is basically fancy redirects to make all of the links still work. And that was that was some figuring for me because I'm just like doing redirects and HT access or in this case in engine X configs is tricky. I messed around with it. And I frankly, I just didn't I couldn't get it to work the way I wanted because I wanted two kinds of redirects. First of all, the sub domain should redirect to the right folder. So you can see this right now in your example site. So if I type in, well, A, if I just go to umwblogs.org, that's an example too. But if I go to Jim groomed at UMW blogs, .org, it's going to the web server is going to take that request and say, ah, he he wanted, Taylor wanted to visit Jim groomed at UMW blogs.org. But I'm going to take him to UMW blogs.org slash Jim groom instead because that's where the archive lives. The second part is individual pages should also redirect, right? We don't want to break links here as best as much as possible. And that's a challenge because there is only one real web page in there. And that's that index file that loads the archiver or sorry, loads the web recorder playback replay web page thing. Cool thing about a web recorder, though, is they have a capability, this address bar, right? Like, so if I go to this blog, if I click on this link here, it shows me the right where it used to live. And it actually does, if you configure this correctly, it does actually change the URL up here so that you can, so that's a real link on the web. So my thing also takes any other part of the URL and parses that out and passes it to web recorder so you land in the right place. So if I take this whole URL right here, Jim groomed at UMW blogs.org slash blog and put this in an address bar, it's going to parse it out correctly so that you land in the right place. Because I really, I don't 100% know, this wasn't something we like, you know, with working with UMW like worked out all of the like, oh, what should redirect and what shouldn't. But I was like, let's be good citizens of the web here, we should try to preserve as much of the links as possible. Certain things won't always work though, right? Like if someone was linking to your to this header image here, well, that's sort of in the archive and that link probably has changed. But to be honest, that type of linking for embedded images from other sites is never a good practice. So, you know, those things change anyway. So the cool thing is if you do something like on a search engine, like look for a site, UMW blogs.org and just look at search results, these should work, even though they are at the old URL. Yeah, there we go. Wow, look at that. That's crazy. So the way that redirect worked, I'm pretty proud of this because it took me a long time to figure out. And again, I think it's someone who's more familiar with PHP and this kind of stuff. Maybe maybe this is old hat. But I wrote, I had trouble parsing the URL to do all of those two things at the same time, the subdomain and the rest of the URL. That wasn't working for me in nginx or hdxs properly. So I actually wrote a tiny little PHP script to handle this. And the way it works is in the environment, and if I go back up here, there is an index.php file that gets, you know, loaded if you don't specify anything else. And it in here, it just says, hey, if the host names that's UMW blogs.org equals the URL that people requested, go to this specific one, right? And that's to make the homepage work, basically. But for anything else, this is kind of the actual magic, take the URL and parse it out like this, grab the subdomain they asked for, and put that in, and then grab the rest of the URL they asked for and put that in. And this handles basically all of the traffic. So the funny thing is here is, technically, while we flattened UMW blogs, we do, it's not actually a flattened thing. It's using a little bit of PHP. But this is no database calls. No database. And this is 10 lines of PHP, you know, like this is not much. Can I ask you something on this? What is the, so a lot of this is happening in web recorder. What is HTTracks role? So in this case, we didn't use HTTrack at all because we only needed to wind up with one version, right? And HTTrack was so slow that it was going to take forever. So we decided, no, plus the storage here. So UMW blogs beforehand used like, I want to say like, it was like two to 300 gigs of storage. So it's a pretty large, you know, pretty large site. The problem is that was a dynamic, dynamic site, right? So like, if you, if you think about it in terms of like the way what's actually stored there, well, the database contains all the text for all the posts and anything that's common, right? So if you have 15 sites on UMW blog, sorry, 15 themes on UMW blogs, let's say one of them, one of those themes is used on 7,000 sites. It only needs one copy of the theme, right? But that's not the case with this. These are all individual sites. So that, you use more storage. This is using about 500 gigabytes of storage. So almost double basically, which is honestly not as bad as I thought. I was a little worried it could be worse, but there wasn't really a great way to estimate this ahead of time. So I could, what I did is I, I archived like a few hundred and then extrapolated from there and said like, well, it uses about this much for this, you know, times 18. This will be about the storage. But obviously I couldn't know that for sure because there are some larger sites and some smaller sites, but it actually ended up being the cool thing is the scale of this, that, that law of averages type math actually worked. So yeah, but I wasn't sure, right? And the cool thing though is while it uses more storage and of course the storage will cost more, right? Because twice as much, the cloudlet usage here is nothing. This thing sits at one cloudlet basically all the time. And let me, so that's crazy. It's literally using one cloudlet. We only even let it get up to 16. I've never seen it use more than two because it's not doing anything. It's just, it's just providing one file. It's running a 10 line PHP script, you know? And then, so for perspective, UMW blogs used like 120 basically just at any given time. Gigantic amount. So they're gonna save a lot of money based on that. Can you get analytics about who visits on this? We could. I don't write now, right? But we theoretically could do some things with, honestly, what I would probably do right away is just use the web server logs to get some basic stuff. But we'd have to feed that in a tool. To be perfectly honest, I'm not that familiar with engine X, really. So I know that where those logs are, but we would have to parse them in some way that would be useful. And the cool thing about cPanel is those tools are built in for Apache logs, right? The AW stats and stuff. But there would be ways to do this here. We could do something like use Matomo and put a Matomo tag on that index file. So what we would do is go in and right at the bottom of this index HTML file, throw a Matomo tag on every single one. And I wouldn't have to do that 9,000 times. We could, we could script that to just throw that at the bottom of each. And that would give us some analytics. And that's probably the way I would do it. And honestly, I would host Matomo just in cPanel probably, so we don't really have to think about it. But you could also host Matomo in maybe its own cloud environment. I wouldn't want to put it in this one just because Matomo does require a database and stuff like that. So like, why complicate this environment? Keep it separate. Yeah. But yeah, you could right now. We're not really tracking anything. I would be interested to see or you could use Google Analytics too. But like, why do that? Yeah. So that's kind of how that works. Oh, one, one other thing is the way that this file gets called that index file, right? Because if you visit, you know, the way web servers work, if you visit unwblogs.org, it's going to actually visit unwblogs.org index.php, right? But if I ask for anything else, that's not what it's going to try and visit. So the way I had it call that script is in engine x's configuration. And I'm looking through my notes right now to find out even where this is, because I just don't remember off the top of my head. It's it's etsynexconf.d, sites enabled, default.conf. In here, I set the error page, the 404 error page to that index file. So if you request a file it does not know about, it's going to run that redirect script. So that's cool. And and was great because then that that just that kind of handles everything in the way that you would expect it to work, because what I ran into with my previous attempts at this was like, I could make redirects work the way I wanted, but then it would break any site that actually existed. So this is great. This only runs if you don't ask for a site that exists, wait, that's important, right? Because you should be able to type in jimgroom.umwblogs.org, and this is going to be great when this gets removed, but whatever. Or you should be able to go to undooblogs.org slash jimgroom, because that's where the actual archive is now located. Both of those should work. It's so good. It really it's an awesome project. ELS blogs, I'm glad you took me through this, because now I see some of the issues it's going to run into with redirects and subdomains. I think I ran that as a subdomain, but I have to check. But this is what I wanted to wrap my head around. The good thing is I want to archive the 100,000 posts in DS106. And that'll be relatively easy. They're all in one database. Yeah. So if it's at one base URL, then you should be able to just because keep in mind the way the archiving stuff works for WebRecorder and HDTrack is it's literally firing up a web browser. In the case of WebRecorder, it's actually literally Chrome, which is really interesting. It uses a dockerized version of Chrome. And it just clicks on every link it can find. That's all it does. I shouldn't say all it does. That sounds reductive. It does a lot, but it doesn't know magically that these other subdomains exist. So if I was to point this at umwblogs.org, well, the only thing it would capture is every page on here, but there's tons of sites that aren't linked to from here. We've got some broken images, unfortunately. I'm going to tell you that was not the archive it was broken before I archived it, but there are some downsides. I've been through enough of these that broken images don't scare me as much with an archive anymore. Yeah. And I'm not obsessed enough anymore to go back and fix everything. Yeah, for sure. Once I was. So the search, search isn't going to work because this called the database, right? So if I search in here and go like this, it's going to say, uh, sure. But you can, so there are some downsides, but that's where this little, this little tool up here is really cool because I can look in here and um, I don't know. Go Hitchcock, Hitchcock. And so it's on all of these pages in this archive, right? This is the first site. So we can look at, this was talked about on this post from 2014 and apparently one of the search, maybe not, is in a featured category, you know, so you get some capability to search, which is, I think, good. And that's one thing that HD Track won't be able to do for you. So that's one downside to that. But, you know, for smaller projects, using HD Track is actually nice because you don't have to do quite the level of redirection that I did to make all of the links still work. Yeah. But, you know, now that I've figured it out, we can reuse that till, you know. I think I might use HD Track for Dia's 106 and see how that works before going web recorder, but I now know, like, when to use what and why. So that's awesome. Well, and the cool thing is with my Site Archiving Toolkit as it exists is you can just let it loose and see how it goes and decide after the fact. Exactly. Now I understand better. Yeah. And for a thousand sites, that's a big one, right? Like that will take a long time probably. But, or sorry, a thousand posts. Yeah, it will take a while. But let me say we got one minute left before we have to jump. What's your last word on the Archiving Toolkit? Well, the thing is I'm constantly improving it. We do have a few people using constantly. I'm improving it bit by bit. You know, I have upcoming features I'd like to add like I would like to give you a flag or maybe a config file where you can tell it I only want to make one type or the other things like that. But, you know, this is really just to try to make these tools that already exist easier to use. And I do have some folks who are using it and giving me feedback on like, oh, this didn't work. And sometimes I'm like, sorry, I talked to Web Recorder. Actually, I haven't really had to say that too much. These tools do typically do a pretty good job. But, you know, if you have something you want to archive, check it out, use the Toolkit. I want to hear about what does and doesn't work. I can't promise I can fix everything, but like, I really want to make this something that doesn't feel like a daunting task. Now, I don't mean 9,000 sites is an extreme case. But if you want to archive one or two sites, this shouldn't be that hard. And that's what my Toolkit is trying to do. Yeah. You won't need 10 different server cloud-led driven instances to do this. First, spin up your own cloud infrastructure. Exactly. Yeah. Exactly. Can I have a last word? Yeah, of course. Thank you.  I'm not constantly, what am I talking about? Hey, I don't want to oversell my commitment here. It's just like, this is something we do, you know, I don't want to. On the fly self-editing. You're like, no, not that word. Cross off this word. It's awesome. I don't want to oversell and let me think that like, that this is something I'm spending 20 hours a week doing. It's like, once in a while, I'll spend an hour or two playing with it. It's a brilliant tool. You archive looking for Whitman, which was a project using a bit of a smaller WordPress. And that was a HT Track 1 in that case. And that worked out great. It was a great archive of a great project.  So it's an awesome tool. And I hope you constantly update it because we need it. You'll have to talk to my boss about the time allocation. Yeah, yeah, yeah. Let me see if I can get him on the phone. I heard his real jackass. Cool. Well, hopefully this was, I don't know, useful or interesting to somebody. I'm going to try it this weekend on DS 106 and I'll also try it on the ELS blog. Let me know and how that goes. And you know, like I said, I think we should have a larger conversation about the project of retiring your new blogs and what that meant. And this is one small part of it, but I wanted to get all this technical stuff out of the way because that I think this is cool and I'm excited about it, but there's a lot more to talk about. And I really hope that some folks who are in charge of web services that maybe have to be spun down, consider something like this and you know, talk to us about it. Maybe we can help you think and the cost is not so crazy. I think that was also a good thing that came through. Like you can do this and keep it alive for a pittance. And you know, there is some work in an archiving and there's some work and spinning anything down, but saving it for long term. I agree with you. It's a responsible move. If you're building this kind of web content as part of a higher ed organization, I mean, people will miss it. I believe, and I firmly believe that. And I think it's worth the investment to preserve it. Thank you very much for coming to my TED Talk. I said that for you, Brian Lam. Jerk. Okay. See you all.


Has Uber Eats fundamentally changed your business? Yeah, it's been amazing. It levels the playing field on building brand awareness, you know, in markets where particularly vehicular markets like Los Angeles, where you don't have a lot of people walking around, we're getting exposure to a lot of people on the apps. So they're trying us on the apps and then coming into the stores and discovering us. I know a lot of business owners and they see this complaint about the 15 or 20% cut they take. If you spend 30 minutes doing a P&L and looking into what it would cost for you to do that delivery aspect yourself, you are gonna be so much higher than 20 points. So like for us, we're really happy with those.


So my name is Bob German, and I've been a SharePoint fan since it was called Site Server. Well, I did start with Site Server. I kind of skipped SharePoint 2001. But it's kind of one of the cool things about this is it's the last time they've really changed the user experience or the way you develop for the UX was when .NET came out in 2002. And so I've been there all the way through all the different phases and fits and starts of different ways of doing it. I've spent a fair amount of time. I guess I got involved in it in the first developer kitchen, which was February of 2016, and I've been playing around with it ever since. What I've been trying to do is to develop solutions that will later go into the SharePoint framework. It only recently shipped, so over the last year I've been building solutions for my clients and kind of coaching my team to build things for my clients that we can later pour it in. So there's some rules of the road there of making it self-contained and following certain guidelines to make sure that it will work when you port it over. And I've been pretty pleased with the results. I did a talk here at SPTECON on future proof and was able to demo a couple of things that I had built actually up to two years ago that ported over 95% reuse into the SharePoint framework. Well, I think it's a really important and good thing overall. It's a big change. It's a lot for a lot of us to digest. But if they didn't do it, we'd end up no offense to the Lotus Notes fans, but we'd end up like Lotus Notes. Microsoft has to embrace the cloud and device era with SharePoint or SharePoint will die. It will just fade away. And this is a credible way to do it. The other thing is that over the years they just kept adding new layers on top of what they had and that just made it heavier and heavier and more and more arcane and archaic to actually build anything. And while this may seem unfamiliar to a lot of SharePoint developers, it's actually good to see it be a clean start and not have to carry all that baggage of weird things like, you know, scripting on demand and, you know, XSLT and even JS Link and stuff is looking a little bit long in the tooth at this point. I love what I see up on their roadmap. It'll be interesting to see when it all comes out. It's also great that they're being so open about it, right? So there's a website where you can go and see. Kind of looks like a mini version of their backlog. And I think they're doing all the right things. You know, there's some sort of pain points like the modern libraries and lists. I had a customer who got really badly affected by having their custom actions break. So I'm hoping that they fix that. I'm also hoping for single page applications where we can just really party down, do whatever, you know, the customer needs or really make a unique page experience on top of SharePoint. I guess my favorite part, I'm going to go with TypeScript. I like that it's TypeScript first and that the entire framework is in TypeScript. And it's just, I've become, this really was my introduction to TypeScript. I had looked at it a little bit, but I hadn't started using it every day. And now I feel completely like I'm missing it if I don't have it. If I, you know, I go back to JavaScript and I can do it. In fact, I probably do it more often than not. It's funny, I actually give my clients, if they have, if the client has a, I'm in consulting, if that wasn't obvious. If my client has a developer team, I ask them, you know, I try to talk them into TypeScript, but I give them the opt out because they may not want to have to learn it. But without it, I just feel like I'm not delivering the same level of robustness and it's just not as much fun. Right now, I'm going to go back to those two things that are already on their backlog. I really want something that will replace, you know, custom actions, display templates, that kind of thing. And also something that would allow me to do a single page app. One thing I would change, I think it's not a big change. I would just like to see a lot better documentation. Like trying to figure out how to do things is often an exercise in reverse engineering. And I know that, you know, different versions, if you've been at this and I know you have as long as I have, you know, some versions kind of come out and technical writing is right there and you've got everything laid out. And others, well, you're kind of left on your own and I'm feeling kind of like we're left on our own, which is unfortunate given how big the change is. And we're like looking at blogs. Thank you so much for all your blog articles, Andrew. But just, you know, it's like, why isn't there more up on Microsoft? I think the biggest challenge is the learning curve, is the shift. I mean, I think it's a healthy challenge, although it's a little bit ironic that, you know, one of the reasons that I was told that they shifted to the stack, more of an open source stack, was so they could attract more developers. But what I'm starting to suspect is that you still have to still know kind of what SharePoint is and how it works. You still have to know the object model underneath for making your REST calls or what have you. And you've got to learn TypeScript and you've got to know, you kind of end up wanting to know React. I'm starting to feel like, you know, the product is written in React, all the first-party web parts are written in React. The UI fabric support is better in React. So I'm just starting to feel like I don't want to swim upstream, I'm just going to do React. But all those things, I think, narrow it back down so they widened it out. And now it's narrowed back down again to these people who have this. And this is just maybe not Microsoft, right? It's just the way the web development world is. It's like you can choose, it's like a Chinese menu. Every single item, you can choose a different choice. And so to find somebody with the, with the, or to tool up on all the choices that they've made, I think is a challenge. So enterprise developers are, this is really unfamiliar to most of the people I talk to and how I work with. I think in the future this is going to, this is going to be the, this is the future. I think that it's going to, Microsoft is going to replace every single page or augment with a choice at least for a while. Every single page in SharePoint so that eventually you don't need to see any classic pages at all. And you know, there's, there'll be some, some bumps along the road. There'll be some places like with the modern document libraries when they came out and some things broke. And I think Microsoft learned from that, that they had to maybe give it a little bit more of a soft rollout. But they do kind of push things out a little bit aggressively to try to, I understand they want to drive adoption. But then, you know, it's hard for people to test the things that they've built internally. So my theory is it's going to, it's going to happen. We're going to move completely over to the new model. They will support the classic mode for probably five years or more. Until people literally stop using those pages. And they have the telemetry to, to figure that out. Whatever bumps there are on the road are going to be less than the alternative. Because the alternative is that SharePoint fades away and it would probably get, end up like Lotus Notes. And it would probably be take a half a dozen products to take over all those workloads. And it would be very fragmented. And so, you know, whatever pain anybody who's watching this might be feeling around the learning curve and the transition and realizing that your sites are going to change or, you know, hopefully you'll have some control over it, but they're going to change out from under you. Think about the alternative pain of the whole thing just kind of fading away and having to figure out what to do. You know, it's, I think Microsoft's made the right choice here.


Hello, my name is Toffy TV, I'm joined by John Blane in the studio to talk about this Everton Stadium, given the green light last Friday, revealed that the government would not be objecting to plan and permission that had been given by Liverpool City Council, I had to go to national government and the government of being quite happy for this to proceed. So great news, John and… Yn un, ni'n gobeithio gydag. Gydych chi i'n bobl, ond diwrnod dyma i'r ysgrifennu yn y ddylch fel'n gyfrifoedd a fyrdd o'r ystafell, ond hwn yn ddod, dwi'n meddwl i'r ddefnyddio gydag yn ffans yn y dyfodol. Dwi'n weld rŵn intygoo gydag a blwysig o'i cerdion. Yn ni gydag, yn mynd i – gydag. Yn yn ynmwych yn lleg, mae'r hyn yn yngyntid. Mae'n ffordd, mae'n gwybod hefyd yn y compwyr yw'r af ddechrau'ch yn Eiriu'r Freath? Er oed oedd yn ddechrau'ch radiol yma, y byddwn i'n ddim yn eu ddal y bramddwn i mor, mae'n contractsio'r benderfyn cywir i d melt. Mae'n ddiddordeithio'i cyfoosio, er fyddwn i gilydd oedd ddim yn meddwlol i'r bramddwn i'r ffrosifio, ac mae'n dweud o'r ddiddordi nad o'n gweld i'n wneud ar bobl yn y bramddwn i'r ffrosifio. Roeddwn ni'n dweud, dwi'n meddwl yma, ond Everton wedi cael ei ddweud, ond y projekty yn y syniadau ymddangos, Everton... Rwy'n meddwl am yr Elstyn? Rwy'n meddwl am yr Elstyn, a mae'n mynd i'r byw, roeddwn ni'n meddwl am yr Everton. Roeddwn ni'n meddwl am y dyfodill, roeddwn ni'n meddwl am yr Elstyn, the people have been not always praised for whatever reason, but I think on this one they've done really well to keep people informed, and they've done a lot of work in the background as well which meant that when it did get sent down to the national government. When it went in front of the local council as well they had the answers to all the difficult questions. That was what the chief exec changed. That's what Denise said, really, which was our intent, is to build a body of evidence that might look a bit heavy at the front, but will make it bit lighter at the end. And it was the go into the minister, despite what people thought about that and other delay and all these sorts of things. But it wasn't at all, was it? He run a few, I don't know how many it was, a few working days beyond the statutory sorts of 21 days. Ia gael yn grab i ni, mae'n gallu gwybod hynna. Mae'n gallu gyd. Rydym yn awdraeth yn fawr o'r nesafnig, ac mae'n gweld y twerd o'i gondol oherwydd'n gwneud, mae'n angen i ni. Mae'n gyd, mae'n gyd, mae'n gyd. Mae'n gyd o'r gynllun o ddweud o'r gwrs, o'r ddweud o'r gondol i'r gwylltu, ac mae wedi'n gwybod ar EBM, ac mae'n gyddo'r gondol o'r gondol o'r hwnnw. felly mae'r bodd hwnnw, mae'n bryd yn ei wneud. Felly, rydyn ni wedi'i gwybod ar y poddwysgwr yn y pwg a'n gydag arall. Rydyn ni'n gweithio'n gwneud y ffordd, ac mae'n ymwneud i'n meddygu i'r newydd ac mae'n olygu i'r bwrdd fyddwyr. Rydyn ni'n gweithio'n gweithio'n gweithio'n gweithio'n gweithio yma, Cysylltu chi'n gwybod i ddechrau'r llawl ffwrdd, chi'n ffrindl iawn i ddechrau'r llawl, ac yw'r cyffredin cymdeithasol ar gyfer y Llywodraeth Cymru, lle mae'n ddechrau i ddechrau'r llawl. Mae'n ddweud i chi'n ddechrau'r llawl, ac mae'n ddweud... Efallai rwy'n meddwlodd yw. Mae'r lleol hwst ar y gweithfeydd yma. Mae'r pwysig i chi wefaf, mae'r ddau i'r gwneud i'r pwysig, Roeddwn i'r berthynas o'i dweud yng Nghymru, roeddwn i'r berthynas yma yn y ddechrau. Mae'r llaw o'r ddweud sydd o'r parkau, os ydym yn dweud y tro yma, ond y Dderbyn yn wedi ei wneud y ddweud, ond rwy'n ei wneud ymwybod i'r ddweud o hynny. Roeddwn i'n edrych ar gyfer y ddweud, a ifydoedd yn gweithio arnynnynnyn. Roeddwn i'n dweud o ymwybod i'r ddweud hynny. Roeddwn i'n dweud. Ond os rhaid i gael chi'n gweld y rhaglen maen nhw sydd y clwyffaeth a gwahodd maen nhw'n trwng yma. Yn hyn a'r rhaglen maen nhw. Rhaid i gael, ond mae'r rhagleniau eu cael ei gwrddol yn gwneud yn ei wneud yn y gwneud. Felly gwyddo'r rhagleniau. Mae'n mynd i'r rhaid. Mae'n rhaid, ond mae'n mynd i'n gwybod yn llyfrddol o'r rhaid. A dyna nhw'n gwybod, mae'n gwneud yn rhaid i'r gweithio cerddur rydym, oedd yr adnodau. a fyddai'n gwneud o'r cyffredin ar gyfer gwybodaeth. A'r ddefnyddio'r gwrs eich ddweud yn ddweud yn y ddechrau, a'r ddweud yn dda i'r ddechrau, a'i ddweud ar y cyffredin. Rydym yn ymwyaf, a ddweud yn ymwyaf, ond mae'n gofn yn y ddechrau. Rydym yn ddweud yn dyfwyr i'r ddweud. Dwi'n ffawr yn'nwau i'w gwneud, ac ydych yn ddweud i'w gwneud y ddechrau, i'w gwybod ar y ddechrau, The world has been in on the last year with the global pandemic and stuff. It was always a great opportunity to bring a bit of regeneration to, to this city, to get a chance for people, you know, 15,000 jobs, you think will be created and that's not to mention things around it, which will undoubtedly, hotels and bars will undoubtedly pop up now because that is going to be the bookend of the city. It's going to work it's way back to the city centre and all of that area. It's fantastic for that area I think because you're perfect. Felly yn rhoi y prosiemiad gennym sut lluniau mewn gластu? Diolch yn byw, gyda i. Ydw i fod yn 50 o 20 o fwy ar y dymiad. Fyn yn dod yn fawr view. Rhaid i dyma eisiau panodd rhaen nhw. Felly mae gennym ei doswedd yn rhaid i gyfaint. Mae yn rhaid i byw i'r yrhaid i'w fyddi. Mae rhaid i byw i'w gilydd bwyntion i gyd ar yr ystyried. Mae'r rhaid i byw i'w gilydd yn rhaid i byw i'w gilydd gyd. Dyna efallai, mae'n cael ei ddweud i'r reidio ar gyfer gynnig oherwydd ein asti yn ymddangos ac nid yn unig. Mae allan amddangos yn ymddangos, mae'n cael lleannu oedd clyw ar y dyfodol, oherwydd mae'n ymddangos yn ei ddweud i'w ddweud. Yn amser, mae'n gweithio bod y car park oherwydd yn eich hynny ddweud. Rydyn ni'n iawn i'n gwybod a fyddai'n meddwl am ydych chi, yw'n rhoi bod y gallu gwybod i'r amser. Yn ni'n wneud i'ch gyd yn ystod i'r ddych yn ddiogel. Rydyn ni'n rhaid i'r ddod i'r ddysgol. Rydyn ni'n ddysgol i'r ddylch yn ddiogel. Rydyn ni'n ddysgol i'r ddysgol i'r ddysgol, felly rydyn ni'n ddysgol i'r pandemig yma. Rydych chi. Rydyn ni'n ddysgol i'r ffordd y summer, Or on-site before the summer and clear that's going to happen, isn't it, sir?  It was dead interesting when people... There was obviously some editorians who thought it would never happen and there was a lot of other people we shared the city with, who were... Hoping? Going down and filming, comed at an empty dock and saying this is going well and you know, just so... Even a couple of the lads in here just... Even the other week, we've got the screensaver on as Bramleon Ie oherwydd mae angen chi wedi credu y casgfain, a phobl ac oherwydd mae angen i chi'n cael ei ffordd yn fwy ffordd. Roedd yn iawn i chi'n golygu i'r pwyllenni. Wrth musim yn ei fod yn enwedd rhaid o ran 40 miliwn pa yma chi oedd yn lewr ac mae'n gondol roedd yn eithaf ei dweud. Byddwn ni'n clywed â'r asthau'n gyffredinol, oherwydd hynny yw quech chi'n gweithio ffais. 1990 yma'r phasg lle mae'n ceisio yn y blaenau i chi'n mynd i chi, yna fy hwn yw unig mwy oherwydd. Mae'r land wedi gweld yn y ddweud o'r gyforddol yn gynllunio'n hynny. Byddwn yn ddweud yn y ddweud, fe wnaeth yw dyma'r gwaith, oes wedi'i hynny'n gwybod i'n rhan o'r gwaith. Gweithio'n gwybod i'r gwaith now, a mae yna'n gwybod i'r ddweud. Mae'n gweithio i'r ddweud o'r ddweud o'r cyfnod o'r cyfnod o'r ddweud, ac bydd yn bwyllgor ac yn myfynol. Så mae anodd yn dweud i siarad hwyl i'n meddwl. Ond yna ddod i'n meddwl yn dda. Felly, dwi'n ddweud, maen nhw'n ddarparu. Felly ydych yn credu ddweud o'ch cyfnod ar ôl, ond mae yna ddweud o'r hyn sy'n мо. Mae'n ddweud i'r crynyddiol. Mae'r gweld ble eisiau arol. Mae ar y cyfnod sydd yn mod i'r amser. Ond yn y pwgelau efallai yna. Mae'r arol efallai yna ar y pwgelau, wrth gwrs. Mae ddweud ac roedd yn y syniad. gan y dyfodol ar y stwff y byddai'n cael llawer o ystodio gan y brif, o brach, o bwyr, o'r wych, o'r gwneud, o'r holl. Felly, dyma'n gydag eich cyfnodau, os ydym. Ac yn ystodio, dyma'n gweithio, dyma'n gweithio, dyma'n gweithio, dyma'n gweithio, dyma'n gweithio. Mae'n cael ei wneud y byddai, dyma'n gweithio, dyma'n gweithio, dyma'n gweithio, dyma'n gweithio'n gweithio. … ac liquids. Cyfnwch i'n faltyn. Weithiau, gan wych chi'n gychydig hwnnw, ac mae'n ei adeilad. Y meddwl'i'n meddwl eich ddefnydd i gynnwch ei fod yn ddigon. Mae'n gweld sy'n gweld i'r meddwl eich ddefnydd, i'n meddwl. Llyfr o'n syniad gyda chi o ddim yn gweithio i gyd... … ac mae'n meddwl, ome'n meddwl... Ni'n rhaid i chi ddud gallais nifwng o'r ganddwn ar y ganddwn. Ond dweud chwarae hwnnw er mwyn arnos. Be'r holl yn ei ddweud i ganddwn a'r fath o'r ganddwn yn mynd i chi ddweud. Mae'n dweud i ddweud, geisифwyr. Ac gweld eich ddweud. O'r oedd y byd yn gwneud y pandeimlo. Os mae'n gwneud hyn a oed wnaethaf yn holl i'w gwneud gwneud ychydig o'r ganddwn phenomenae. Mae yna gwneud i'w wneud y panteimlo i'r fath o'r ganddwn. Ie, mae'n gwneud amser o'r cyflawni. Rwy'n gwneudio 18 oed. A'n gweithio, wrth gwrs, o'n gwneud o'r cyflawni yn cael ei bod yn cael ei ffordd. A'r twfodol o'r Personal y byddai'r gweithio. Felly, dwi'n cael ei gweld feirio. Cwych chi'n cael ei fod yn eu hun o'r tyfu? Felly, cynyddoch chi'n gweithio. Mae'r clwb yn gweithio arall, am ffordd a'r lleol, ac yw'r ddau, ysbryd i'r dda, mae'n gweithio, a'n gweithio'r ffyrdd o'r gwaith a'r cyffredin. Ac nid oedd yn ffaint o'r ddim. Felly, mae'n ddim yn ffaint o'r ddim. Yn ni'n gweithio. Mae'r gweithio, mae gwaith. Mae'n gweithio. Mae'r prams. Mae'r prams a'r trolli. Mae'n gweithio oherwydd o'r ddaf yn y byddai'r blwys o'u beth oedd yn gyfwyr i'r gweithio a'u byddai'r ymddangos o'r ddim. Rwy'n gweithio o Bill Cennwight a'r newb Bill Cennwight, y dyfais of subject, a that's fine, everyone's got a different side of the fence. Mae'r dda'n myswyr sy'n dda Bill Cennwight was very much against the value engineering of a stadium. I think we all know that there was a cheaper option which would have been the Al Crosse situation on the Stone Bridge, and I haven't always wanted this one, obviously Bill Cennwight, but they wanted this one as well on the river front and all that, but it's key isn't it, the way the club have gone about it, even taking Bill out of it, taking Bill Cennwight out of that conversation, the way the club have gone about it to choose a more difficult location, probably a much more expensive location with a lot more obstacles, but the end result will be what you see. Notwithstanding inflating the thing in the sense of it undoubtedly will cost more. But you meant a rubber thing because of where it is? It will undoubtedly cost more because that's what happens isn't it, and the things they find which may end up costing more. I mean when they did some of the surveys and so on on the site, that added what they found out maybe £50m to the Bill cost. So the site itself costs us £100m more than building it in an empty field somewhere. And then when Dan's talking about the value engineering, that I don't think he's talking about the site per se, he's talking about the structure. Can you build a 53,000 seater stadium at less cost than this one's going to cost? Probably, and people sold them at Kirby, don't they? Every time I drive through town I enter the 62 from where I live after going to Warrington and I can see Halliwell Jones and that's just a smaller version of what we would have had at Kirby. There's a Tesco next door, it's a four-sided stand thing, very simple, very low value as Dan might call it, and this isn't going to be that. Now the fitting out and stuff inside, there's opportunities there I guess to cut corners, but the actual structure itself is going to look like that isn't it? And we do want it to be cost-effective because at the end of the day I never think to myself is this seat uncomfortable or not when I'm at the ground. I might have always been paying £5 grand a year for a fine dining experience and there happens to be a football match on in the background, but that's not why most of us go. The lasses who are going to be in the south stand, they want it to be close to each other for driving atmosphere. They want the rail seats to be right behind the goal and whether it's one-to-one or higher ratios, who gives a damn, but there will be standing and so on. We want them to be more? Well yeah, but most Premier League clubs right now are considering safe standing and they're putting them in. So City will put it in, Chelsea will announce pretty soon, and they're all doing it very much on the guidance of the local safety advisory groups and stuff. I spoke to the club not heavily, but just as a side chat, it must be a year ago about the last season, put some rail seats in. In the areas where standing is persistent, it's difficult for us because we'd be spending money on stuff that isn't going to last very long, and the Covid things met all of that window shorter, isn't it? But it's a shame because I think a deal could have been done there with people perhaps in people we know, like John or somebody, but a deal could have been done, that could have trialled perhaps for the original's guys to be in the standing section. You can never call it that. But anyway, we're getting distracted. This thing will have whatever, X thousands of rail seats, and by then the fact that we're designing it to allow greater than one-to-one, it might even uplift the capacity a little bit. I suppose finally the only other thing really to cover looking at it at the moment will be the name and rights thing, because obviously Alasjordd Oshman of USM with Meshiri and Stoch is it? The other gentlemen, they've paid £30 million to have the purchase option for a multi-year sponsorship on the ground. In my terms, I think they've probably paid £30 million for last call, last call being, well, we've got this deal for X, if you can match it, it's yours, so to speak, and therefore we can still go and sell it to others. But it's going to be a substantial sum, I would imagine, because it's going to get a lot of attention that stadium, because it's pretty nice and done as proud, hasn't it? And it's location, and who knows what happens when flights are going to go over it, aren't they, on the way to speak? Well, you've got obviously the new crew terminal as well, so people coming in down, it's on every drone footage of the poor little, the ground up beyond every plane, like you're saying, going over and stuff like that. So it's going to be an iconic stadium anyway, and where it is on the banks of the Royal Blue Mares and all that. I'm so pleased you know that, so many people use that phrase now. And because it winds through the shower up, no end. But everybody says it now, which is good, and I think we've talked about it on here, haven't we? We should all just say, we should never say, the mercy without sticking Royal Blue. Royal Blue, just a bad name. And he did his thing on Instagram, didn't he, of a shot taken low down, when the stadium was lit up in blue, you know? Oh yeah, yeah.  So it's all very exciting, and Amazon are going to love it when they do that. I did notice that Amazon had put a tweet out, and I did notice your response. Got us into that thing. Into that being credible, and obviously with Anciolotti as well. I get one more thing before we finish, I just wanted to talk about it. Always one more thing. Well, it is because it's just come back to me, but it's quite an important thing. I was just, I've done a bit of reading over the weekend on it, and it was in response to, well, other than footballers and statistics and stuff. It was the financial fair play aspect of the stadium, and that evidence can now no longer count against. I've got the note there just to remind me. One of what he's doing. Now the planning permission has been granted. Money spent on the stadium no longer counts against evidence in football financial rules, so what does that mean? Break that down for us. Well, in the soundbites. The amount of money that we've spent so far has been a project cost, i.e. consultants, blah, blah, blah. And as you say, it's what was it, £40 million? £40 million. You can't fix the pass, can you? But you can help. And this year we're planning to spend another, whatever it was, £15-20 million. £20 million.  That failed. But what you can do is you can capitalise costs once the project's real. Which means, bit like a player really, you can depreciate, so amatise that money over a period of time. Which will be the life of the stadium. I suspect, I mean, it's debatable what the life of the stadium will perceive to be. But it will be over tens of years, maybe 50 years or something. So if you simplistically say, if we were going to burn through £20 million this year, then that would hit our profit and loss as a minus cost of £20 million, wouldn't it? You amatise that over 20 years, but only a million. So it does help with things like financial fair play. It's less helpful around the sustainability rules that the Premier League have, although of course it does impact on your profitability. So yeah, it's not going to do us any harm, it's going to help a little bit. And we're right up against the buffers on that of course. But of course when the club has been spending money and the people are being saying you can't do this because you'll breach financial fair play or whatever, whatever, whatever, then the club know what we don't know, which is how much they've accounted for and how they're going to move the numbers around. So all I'd say is Ryzan said the finance guy always said that when the time comes to add up the numbers will be compliant. Fair enough. Sorry, again, because you brought it up, it doesn't mean that Carlo's going to go out and spend hundreds of millions of pounds in the summer. Just like as we discussed here, and it's pleased by the way to see that the world is catching up with what you discussed or we discussed a number of weeks ago that FFP is almost no more will be replaced by something else, might be called FFP, it might not. And that may or may not favour us, but either way it doesn't mean there's bucket loads of money to be churned out.  Because spending 75 million quid on a centre four would do 10% better than DCL doesn't particularly have a good idea. Exciting times for us. Dave reacted badly, the ones across the park so far. And I think as I said on EBM on Saturday morning there's three years for them to try and put fear, uncertainty and doubt into the minds of Evertonians and I think you should just lap in their faces. They're currently rewriting history that we've never built three new stadiums that Anfield was always theirs, we were thrown out, all that rubbish.  There you go. And six times obviously means a number of home defeats, not anything else these days so. I mean there you go. I mean it's exciting times, it's great news that Everton have got this and it's, you know, and I say aspect as we move forward as well in terms of the financial aspects of it. It's the way to make more money, we can't make that kind of money equal to some part and we will do this so it's all good and obviously it helps with things like players coming in, you know, the project's real now. It's great show on a player, oh look at these lovely drawings we've got but it's actually a reality now show. And that is important you know because whilst people might say that's a bit of a soft reason to go to a football club, if you're not in Europe for example which is perhaps more important. Every bit helps and you only have to listen to what players have said in the past when they were shown round Finch Farm and they see those facilities. They'll be showing play buys of this, they'll be showing player tunnels, you know. Progress though, if you're going to a club and they've got this on the horizon, it's all signs of progress so. Excellent, brilliant news for Everton, absolutely made up. Let us know what you think in the comments section, well can you just not wait now to get to Bramley more. Obviously we know we all love Goddison Park and it'll be very difficult the last few games there, it'll be quite emotional particularly the last one but. And we're all excited mum, majority are excited to get here. Some of us are going to be very, very lucky, we're going to go to the last game at Goddison and the first one here. And that is something you will tell your grandchildren. That's something to stress, yeah. Big thanks to John for joining me, let us know in the comments section below what you think. Give the video a thumbs up, subscribe if you haven't and if you want more videos including daily live videos why not join us on Patreon. See you later.


y seminar, I'm recording only my screen, not yours, uh, but your voice as well, uh, into something that it could then later publish, uh, on YouTube, uh, into the commons. And because it's in the commons, uh, everyone can go through it and remix it however they want. Uh, but because it's going to into the commons, so no lobbyist would, uh, make a lobby that's only good for them, but to the expense of everyone else because it would really, uh, look quite bad in the commons when people start quoting it, right? So the radical transparency does have its benefits and it extends not just to the textual or numeric wax, right? Like my, my portrait photos are also either creative commons and people make a lot of memes out of it. Uh, the, the, as I mentioned, the 3D model of our presidential office is in the commons, uh, our national dictionaries in the commons and so on. So that enable the people who are good at creating, as I said, a relaxed content to take the governmental materials and then remix it, uh, based on their YouTuber channel or whatever in a way that goes the most viral. So it become a pro-social relationship with social media creators. And they also understand that we're working off something that's authentic, that is already clarified, uh, by the governments. And also equally important is to work on the gamification on the game-like interactive platforms that makes public, uh, participation fun. I mean, everyone has two minutes of goodwill. Uh, and so if you can engage them in just those two minutes and say, hey, you can change the, the policy in 2015, it was about Uber, uh, about, uh, UberX, uh, when somebody don't have a professional driver license, drive to work and back every day, pick up 10 strangers on the road, charging them for it. Uh, how do you feel about it? Now, this is a very relaxed way of putting the question by sharing just a simple fact, an anecdote and asking you how would you feel about it? People usually have two minutes to share how they feel, uh, either typing or recording, but then very quickly, good ideas come. And so, uh, when we look at the Polish platform, which is free software and is, uh, indeed public infrastructure because of polish.gov.tw, but you can set up one yourself very quickly, uh, is a survey that is crowdsourced. So on the Uber issue, for example, you may see a fellow citizen saying, oh, I think passenger liability insurance is very important. Now, if you agree, uh, your avatar move closer to me, if you disagree, you move farther away from me. So there's no way to kind of, uh, shout down a voice. All it's measuring is the plurality, the different kind of feelings around the same topic. And there's no reply button. So no way for trolls to grow because once people start trolling, it's not fun anymore. So it keeps engaging and keeps this funness. So you keep clicking agree, disagree, agree, disagree. And then, uh, you are also prompted to share your own feelings about this issue. And before long, because people understand that, uh, the game is convincing people of different clusters, not to get 2000 people voting exactly the same way because we were measuring plurality. So 2000 people voting exactly the same way, the group C, for example, may, uh, have an extra zero. Uh, but the shape doesn't change and it doesn't change their agenda setting power. It really needs to be convincing all the clusters in order for it to enter our public sector discussion. And so after three weeks of resonating of this game of interactive consensus building, we always see that just 5% of this ideological statements like it's a sharing economy, no, it's geek economy. Uh, well, people don't spend calories on it, but rather people spend time on the 90% of the things that people agree with each other on most of the things. Most of the time was most of their neighbor and they didn't know it because the mainstream and the more anti-social media amplified the 5% much more than the 95%. And so then we get the sense of the social consensus. We get a sense that people say, oh, not undercutting existing meters, empowering local temples and churches with their own fleets, making sure the insurance is covered and so on. Well, these are things widely agreed. And then we get a stakeholders live stream of conversation and Uber and taxi union and so on all are committed to those same principles. And we're done. We literally just regularized the the legislation platform of the Taiwan on the idea that Uber already committed to those common consensus that's agreed upon by their own drivers also. So they risk losing drivers if they don't say, yes, we agree. And so nowadays there are a taxi company, the Q taxi in Taiwan, and we make sure that the local temple and churches are empowered using search pricing and so on. So that the point of the story is that at no point are you asked to commit more than two minutes time. But yet after many like one more round, one more round of committing two minutes, people end up spending tons of time on this platform, maybe more so than many other social media platforms. And we then at the end of the day get a really good signal that is a co-created consensus. Wow. Thank you very much. I think this is I have heard this story from the similar story from you before. But again, listening to this is this very, how to say it, it makes us realize that that debate can be healthy, debate can be constructive if we do not amplify the most the angriest 5%. So then we can look at the common things that we hold together. That's right. Hug trolls don't amplify them. Yeah. Yeah. And then I have one another question from our audience on using on fighting with COVID-19. So the audience asks, so Taiwan is a country with advanced technology and most people own smartphones. So as a result, the fast fare fund, Taiwan main strategy to fight with COVID-19 has been very successful. But in opposite to the poor countries lag behind in terms of technology or devices, how would you serve COVID-19 pandemic under limited technology and internet access? I think this question is very interesting. I don't think it's about smartphones. I shared the story of a young boy calling 1922. I'm pretty sure he was using a landline and the SMS based contact tracing also works with flip phones like the ones that doesn't have a camera or a touchscreen. You can manually text the 15 digits and that still counts as a check-in. You don't have to scan anything. So the thing is about this gradual accessibility that whenever people learn a little bit more or it's more versed with the using of smartphones, of course, they get higher bandwidth access. But even on flip phones, even for people who are still stamping their way in and dialing landlines, because we have consulted the senior people, the elderly people from day one of the design. So it's always inclusive. You are not forced to use a smartphone or a advanced machine for that matter. I remember when we introduced the pre-registration of mosque inconvenient stores, well, in answering to the OpenStream app community, we initially wanted to use ATM, automated tele-machines inconvenient stores because everyone has a debit card and it's more popular than smartphones. And we want to say, you insert your debit card, transfer just, I think, one or two US dollars to the center for disease control. You have a receipt and you can redeem medical-grade mosques using that receipt in a few days and so on. So we think it's a pretty good system. And then I consulted with my own grandma, my father's mother, who is almost 90 years old now. And she said, well, she said, I don't think this will work. I'm like, why? And she said, yeah, she has many younger friends. And so she said, let me introduce you to my younger friends who will explain to you why this wouldn't work. Well, her younger friends are almost 80 or 70, so only young two to her, I guess. And so those elderly people, in particular, grandma Yang actually showed me how she operates because she doesn't have a smartphone. So whenever she wants to scan something or show something, she has this huge tablet that doesn't work outdoors only in Wi-Fi mode, so anything must work offline. And her debit card is only used to withdraw money and never to wire money. She said she always go to the counter and write in pen and paper because this is serious business. If she types something wrong, she will lose her savings and so on. And I mean, I'm pretty sure that many 77-year-olds think the same way. And that's the reality. We can't deny the reality. And so when she said, yeah, so if you insist on using ATM, I'll go back to pharmacy and queue for three hours and curse the government. I tend to believe her. And so again, I asked the same question. Okay, so if you're the minister, what would you do? And she's like, is there a way to convert this kiosk to accept my health card so that I can treat it like an automated pharmacist machine? So there's no money exchange involved. I can pay in coins over the counter. I can count exactly 52 Taiwan dollars around two US dollars. And I don't have to worry about my savings being gone because somebody over the shoulder have to look at my PIN code because the IC card doesn't have a PIN code that needs to be entered in pharmacies. I'm like, I've never thought about this way. But if you put it like this, there's nothing technically blocking it. So we work with more than 12,000 convenience stores to ensure that their card reader firmware and everything are upgraded. And then it's done. People started pre-ordering medical grade masks using health cards without having to enter PIN code. And they get to pay in cash if they so want. And then Grandma Yang was delighted. I mean, she convinced everyone younger than her, maybe 66 years old, in the community because she's a key opinion leader and she's a co-inventor of this government's mechanism and so on. And then we don't have to worry about convincing the elderly or people who don't use the smartphone because obviously we've taken their wisdom to account. But if you don't include these people on day one, then of course they complain and then maybe they will sow anxiety and fear and uncertainty. And then before long, the members of parliament, the city councilors starting to cancel your budget because you left the elderly behind, right? So it always pays to cancel the elderly, but not just to ask, if you feel good or bad, but ask if you're the minister or what would you do? Thank you very much for a very nice story. I think there's one audience who would like to ask questions directly, is that correct? So for those who would like to ask questions directly, could you please raise your hand or maybe just turn on your microphone? Yeah, unmute yourself. The most important thing in democracies. Yeah, that's true. I'm not quite sure if Dr. Xi Liang Li, I'm sorry if I pronounce your name incorrectly from the University of Malaya, do you want to ask questions directly? Hello. I have heard someone. Hi, I see you unmuted yourself. Hello. Yeah, we can't quite hear you. You're breaking out a lot. This might be the internet connection. Maybe the human rights situation. Sorry, Dr. Li, I think we hear you, but it's not very clear. Yeah, you can maybe type your questions. Yeah, we'll be happy. Thank you. Okay, so maybe we wait for Dr. Li to type his question on the chat box. It might be related to the... Yes, yes. Okay, I have a problem with my video. Okay, so I think maybe we wait for the question in chat box if Dr. Li is typing. Yeah, may I use my privilege as a moderator to ask you another question before we... Of course, of course, go ahead. Yeah, I will. Because you talk a lot about intergenerational solidarity. And I think that there's also a problem in many countries as well. And in Thailand, we do have this issue of different generations seem to understand each other, become very harder to understand each other. And there are many values that they hold differently. So, do you have any idea of how to create this intergenerational solidarity? You share with us the system of reverse or interring. Is there any other things that we can introduce or we can encourage this intergenerational understanding or solidarity? Yeah, definitely. In our e-petition platform, joint platform, a lot of the petitioners were people younger than 18, probably because that's the only way they can affect the policies instead of going to vote. They don't have right to vote yet. But the 16-year-olds and 17-year-olds, while being very active, are only as active as the 70 and 60-year-olds. So, these two age brackets are the most active ones on the joint platform compared to their usual internet usage, of course. But the reason why is that they tend to care more about long-term effects, more about sustainability, more about the next generation. On one hand, the 17-year-old is literally the next generation. And unlike people who are still in a business and so on, who tend to worry about their own sector, they take naturally a more multi-sectoral way because they don't identify so strongly with any particular sector. And maybe for the 60-year-olds or 70-year-olds, they have multiple sectoral experiences already in their lives. So, the point here is that we need to create spaces such as this so that they can discover each other, just like how people raising their hands do not know when they're raising their hands, whether the question is shared by the everyone else, or just a minority or majority in the audience, systems such as Polis or Join and so on, let us see each other as kind of pseudonyms and only focusing on the values that we care and with our trolls. And once these are set up, then we have, for example, a petitioner a couple years ago named I love elephants and elephants love me, a petitioning that we ban plastic straws, our national drink, the bubble tea takeouts, and gradually ban plastic straws altogether. Now, that went viral, I think it's because of a picture of a sea turtle choked by a plastic straw. But anyway, it went viral. But many people who joined are of a more senior age and they spent a lot of time campaigning for environmental actions and they saw this brilliant idea with this really good viral picture and they just associated themselves on it. But when we finally met the petitioner, well, she was just turning 17. And when we asked her, why would you like to start this conversation with the environmental protection administration? She's like, well, it's our civics class assignment. So there you have it. We have in high schools civics class assignment that encourages young people to start nationwide petition that take care of things that the elderly people care about. That's kind of a natural incentive to our intergenerational solidarity. And of course, we would end up implementing her suggestions and she would end up becoming at 19 years old commissioner one of the National Action Plan Committee for Open Governments. So it all checks out, I believe. I see. Wow. Thank you very much again for such an inspirational story. I think we have quite a long list of questions from Dr. Lee. And maybe I'm not quite sure if you have this. Yes, please. Yeah, perhaps I just, yeah, I mean, I just those are my questions for the session earlier. Yeah. So actually just one to ask if I because I'm maybe maybe just just write me. Okay. I think this is easier. And I'm just going to share my work email and or feel free to reach out about the CVR. I think we will do it in the future. Thank you very much. I think that's a better use of our time at this particular moment. And I can also refer you to the civil IOC colleagues who can answer more like technical detail questions. Thank you very much. And thank you very much, Minister for your time and also your insightful stories and I think we learned a lot today. And maybe we can have more exchange and collaboration in the future. Thank you very much for the organizer. Thank you very much for the audience who participate and ask a lot of questions. And thank you very much. We hope we can welcome you in the future and person in Thailand next time. I've got my booster shop. I can travel anywhere. And I learned that you relaxed the quarantine measures freshly for people like me. So I'm really looking forward to meeting in person. And until then, live long and prosper. Bye.


We've seen the present tense is in isolation. Now let's look at them together. Our first example is I play football every week. This is the present simple tense and it has the structure subject I plus verb play. This is quite a simple tense for students to form, however they have to be aware of the third person singular form he she or it which usually adds an S or an ES and to the end of the base form of the verb. I play football but he plays football. Also the question and negative forms using the auxiliary verb do or does. Do you play football? I don't play football. Does she play football? She doesn't play football. The present simple tense is used to talk about habits routines facts and general truths and as such it's probably the most commonly used tense within the English language.


brought to you by penguin ice-cold heart by PJ Tracy read by Sarah Borges prologue Peter never grew tired of walking the rough forest trails near his home as twilight descended there was beauty in shadows especially on a night like this when a voluptuous full moon was rising in a velvety purple sky to him it looked like a mammoth diamond embellishing a royal cloak as he walked he admired the spires of pines vaulting high above the lower canopy of leafy oak and maple all casting eerie silhouettes on the forest floor he delighted in the first firebugs of the season punctuating the encroaching darkness like tiny restless candles as they swirled through the woods on their brief mission to mate and die eventually he stopped at the familiar clearing on the crest of a small hill where the trees opened up to reveal a moon-spangled lake he heard waterfowl flutter and fuss and squawk in their nighttime nests bullfrogs were synchronizing in an amorous corral and a pair of cats let out ear splitting yowls which preceded a union it was mating season for just about everything in the forest but there was also plenty of death afoot while mating rituals were loud and riotous the art of death was largely silent a finely attuned ear might pick up the hushed swoop of an owl's wings as it dove in for a kill the rustle of a clever fox pouncing through tall grass to take its quarry and maybe even the faint pad of a larger group of predators like wolves stalking a vulnerable fawn all were stealthy bringers of death efficient brutal and without remorse yes death was mostly silent until the cries of the dying pierced the air they didn't last long and there were no sounds after that he continued on to the abandoned cabin that had once sheltered hunters during inclement weather how ironic that it now sheltered the hunted the door creaked open on rusty hinges and he smelled mold dirt shit blood he trained his flashlight on the seven dishonest men and women the traitors who were huddled in the corner bound blindfolded and tethered to the wall it also gagged them because he had no interest in hearing their lies or their pleas they still struggled but very feebly now their cries definitely wouldn't last long he would make sure of it he studied the pathetic tableau for a few moments wondering if he shouldn't take care of things now none of them deserved the mercy of death but keeping them here was getting dangerous moving them would be even more so he heard the distant guttural rumble of thunder or had it been an explosion either way it was most definitely a sign meant to guide him the spirits were speaking to him feeling profound relief and gratitude that he'd been granted direction he slipped back outside retrieved the shovel propped against the front log wall of the cabin and began preparing the grave it would be a long night of work but he had the moon to illuminate his efforts and keep him company as he shoveled he never noticed the pair of eyes watching him from the shadows of the forest it was only when the familiar voice spoke that he realized he'd been entranced by his work to the point of oblivion foolish dangerous potentially deadly let's not kill each other Peter the man said it's time to set aside the past and help each other Peter gave to him how can you ever expect me to set aside the past things are ending you'll know that and we can't stay here I don't want your help I don't need I think you might I can understand why you don't trust me so as a gesture of goodwill I've brought you a gift I think you'll like it Peter watched a figure emerge cautiously from the forest sample complete ready to continue