Hello everyone, welcome to groundwater hydrology and management week three lecture four of the NPTEL series. In this week, we have been looking at the definitions of aquifer, how groundwater gets into the aquifer and the key aquifers in India, especially in the last lecture, we looked at the connection between the aquifer formation and how it is related to rainfall, river discharge, and also the geology, most importantly the geology of the location. We will continue our discussion on the groundwater resources in India to strive the fact that groundwater has become one of the most, if not the most important water resource. Let's look at the statistics as per the Central Water Commission, CWC. The annual water availability is around 1,869 billion cubic meters per year, of which usable water is less than that at 1,123 billion cubic meters per year. And the surface water contribution to that total is 690 whereas groundwater is 433 billion cubic meter per year respectively. So the groundwater is almost very, very near to the surface water and it cannot be neglected. That is the driving fact from this set. So how do we manage groundwater, how do we monitor groundwater? So the depth to groundwater level is monitored before the monsoon and after the monsoon. If you take for example this image, a pre-monsoon level from the Central Ground Water Board data archive, what does it tell you? It tells you how deep you have to go to access the groundwater. Look at the units. The unit says depth to water level meters BGL, which means below ground level. So if your ground is this, your well is inside the ground. So how deep do you have to go under the ground or below the ground to access groundwater? And so if you have a water level before the monsoon, if you have these data before the monsoon, it clearly tells you how stressed a location is because only before the monsoon you are more dependent on the groundwater. Once with this monsoon, the three months of good rainfall and soil moisture, you won't need your groundwater because you have surface water, dam, rivers, etc., lakes, ponds, all the surface waters could be used. But groundwater plays a key role in the pre-monsoon season. So just before the monsoon for three months. So if you look at this image 2014, you could see that the groundwater levels are very, very concerning or it is deep in Rajasthan and most of the Central India where we have hard complex hard rock aquifers. And then it is almost more than 40 meters below the ground.  So let's take a contrast. This Rajasthan area has each well you have to go at least 40 meters to access groundwater. However, in the Ganges basin region and along the coastal regions, the blue color, you can get it within 2 meters, within 2 meters, the Brahmaputra region, etc. So you can easily take groundwater here, less energy, less dependency, whereas here where there's a lot of agriculture activity, it is very, very low. So your pre-monsoon water level is a very good indicator of where the groundwater stress is and where you have to put some measurements at once. The next color you see is 2 to 5 meters below groundwater and most of India is covered with it, followed by 5 to 10 and 10 to 20. After that, the hilly areas are in the Kashmir region and your northeastern region. Not much data is available also here, so you can say safely that the groundwater use is negligible in those areas. So based on this groundwater level, so now the Central Groundwater Board is taking the water level and they take it in four times a year. So one is your pre-monsoon, your post-monsoon and then you have your winter and then your summer, spring, summer could be correlated. So this four times a year actually gives you a good picture of the spatial and temporal trend of groundwater levels. So once you have the levels, you have a pre-monsoon and a post-monsoon. So for example in 2014, you have the pre-monsoon level. What is the water that has been extracted before the pre-monsoon level? It is a monsoon of 2013, not 2014. So let's put some time here. Pre-monsoon of 2014 could be your April, May of 2014. So what is the monsoon water that comes into the aquifer that this pre-monsoon used? It is the monsoon of the previous year, 2013, June, July, August, let's say September. September is the peak monsoon month for example. So from September up to your summer is your peak monsoon has come, your recharge has happened and all the discharges happen, which means you're taking out groundwater. Using this data, you will look at some indexes that is made by the central groundwater board which is given here. Okay, this is a comparative status of the groundwater development in India and if the level of groundwater is 0 to 70%, which means annually or during a water year, you're taking 70% of your groundwater. So if you take 70% of your groundwater, not more than that, it's considered safe. Explanation is areas which have groundwater potential for further development. You are safe, but you can still push the groundwater to take more water for economic benefits and agricultural benefits. So if you have a container of your aquifer, your aquifer is containing groundwater and only 70% is used, you can have some measurements and some interventions to further use, like for example, expansion of agriculture, different high cash crops, those can be introduced there in a safe and sustainable manner. If you look at the 70 to 90% which means almost 100%, almost total of the groundwater has been extracted, those are called semi-critical and you have to be very cautious around it. You have to be very cautious in taking further water because you might easily slip in the 90 to 100%. So you have to be careful. A little bit recommendation is given for further development, but very cautiously. Let's go to the 90 to 100% which is called the critical. The critical is kind of concerning because you are totally depleting your aquifer, you're taking all the storage out and keeping it blank. So if you keep the storage blank, the next year if it is a drought year will also face consequences. So areas which need intensive monitoring and evaluation for further groundwater development. So even if you want to push it, there has to be extensive monitoring and evaluation first to monitor to manage and if the groundwater situation is better then you can add more interventions for extracting the groundwater industry, etc. But 90 to 100% is critical. So you better stop extracting more water. What do you do when it becomes more than 100%?  You're already taking out all the groundwater and more which means you're taking the past groundwater. This is very, very concerning. Areas where for future groundwater development is linked with water conservation measures. So you can only access groundwater if you have good conservation measures otherwise it's better not to use these groundwater resources which is more critical. Let's see how these different indexes fared. How many number of districts or percentage of districts from 1995 to 2011? That gives you a good temporal trend of how these indicators changed. In 1995 you have 92% of districts in the safe, 4% in semi-critical, 1% critical and 100% overexploited was 3, more than 100%. So most of your aquifers were safe in 1995. So everyone is happy you can go along and do more groundwater depletion. But then in 2003, 92 became 73 but more concerning is that most of the groundwater that was safe moved down, trickled down into the critical and more probably overexploited condition. Look at the years. It is almost nine to 10 years. So within that 10-year frame, we have pushed or stressed more groundwater resources that more of them are now in the critical and overexploited. Fast forward another five years.  So if the safe converts to semi-critical or critical, at least there is some hope that you could conserve the groundwater. The problem is most of them are ending up in your overexploited. The overexploited is going up and that is a very big concern because not only are you depleting the groundwater aquifer as critical and semi-critical, but you are overexploiting the groundwater aquifer. So that needs serious interventions and thoughts to conserve groundwater better. So we saw the depth to water level in 2014 and this is the latest version that we have. It is the 2020 groundwater scenario. What do we see here is most of the regions in 2014 that were red are still red, which means it takes more than 40 meters below groundwater level, ground level to access the groundwater to touch the groundwater surface. However, those regions, the central regions that were green in 2014 have turned now yellow and pink, which is really concerning. The green is 2 to 5 whereas yellow is 5 to 10 and 10 to 24 pink. So most of the regions are converting into the pink color, thereby explaining that there is more critical and semi-critical use of groundwater and in most regions overexploited. You could see Rajasthan is not as bad as it was earlier in terms of groundwater depletion. Still there is a lot of red color. A lot of groundwater depth has to be covered to access the water levels. Moving on, let's see in 2011 how the percentage was at state level. So different states access groundwater differently. The chief crops that they grow is different, the industrial demand is different and the domestic demand is different. So based on these different demand status, the groundwater development is also different. So if you look at it here, the most concerning is if it goes above 100%, always remember above 100% is overexploited, 90 to 100 is semi-critical and then you have critical at 50 to 70 those kind of things. So be very careful when it touches 90 to anywhere above 100. So if you look at the numbers, Delhi has groundwater exploitation much higher than the annual recharge, 140% which means it's more than the groundwater that is recharged and some measurements have to be taken urgently. Which is the most worst case scenario is your highest groundwater development is in Punjab, 172 and Rajasthan. So the red region that you saw is still showcasing that the percentage of development is the highest and groundwater level also is declining. Along with it, the recharge or how much you use annually is also increasing. The other agricultural states which are of concern is Gujarat, Karnataka and Puducherry at 90%, Tamil Nadu 77%, Uttar Pradesh, all these are above 70, have to be very cautious. So 0 to 70 is safe, but once you get into the 70s and you become semi-critical and then critical and then overexploited. So it is very important to stop the current scenario of use groundwater use and focus more on conservation and other activities. This is also visually represented. So if you put it visually, it makes more sense. That is why always you should think about doing it as a map rather than as a table. Here you have the overexploited red regions mostly in Rajasthan, Punjab, Delhi and Haryana. So those clusters are very close to each other, neighboring states. And what you see here is a localized groundwater depletion scenario which has been spreading across this Rajasthan, Haryana, Punjab region. Delhi could be explained because of the population that they have and the lifestyle to support the population. But Rajasthan, Gujarat and all the other regions which are predominantly agriculture oriented should wake up. They should wake up and do something to slowly stop the current groundwater use, reduce the current groundwater use and then have better management plans. If you look at the central region, most of it is the safe whereas this is the 2011. This is not the recent one, but I'm just comparing the two because of the data we have for percentage development. And then if you look at the southern regions of Tamil Nadu, Andhra, Karnataka, Telangana, Kerala, you do have a lot of over exploited scenarios. Most of them would concentrate on the urban cities like Bangalore and agricultural areas in Andhra and Karnataka. But the given take from here is there is multiple uses for groundwater. And if we don't agree to reduce it below the over exploited condition, which is below the 100% of recharge, then we cannot sustain the groundwater use for a long time. So it is imperative to do this. So what are the key reasons? The reasons is, as I said in my introduction slides, groundwater is mostly used for agriculture and agricultural productivity demands a lot of groundwater. Any water, but specifically groundwater during the rubby season where there is no monsoon. So if you look at this figure, the first figure by Professor Shah, you could see that the surface water use has been decreasing and the groundwater use has been increasing. They fluctuate, they changed the directions almost 1980s.  The surface water structures are also not less not maintained well and that leads to more groundwater access because people have better engineering concepts to access the groundwater. The other figure which is very interesting from the agricultural statistics in 2014 is the number of tube wells or wells that use or create access to groundwater. All of them have skyrocketed after the 1960s. So around 1960s, you have more number of tube wells coming up. Tube wells access both the shallow and the deep aquifers. They access both the confined and the unconfined aquifers. So all the groundwater is being quickly taken out of the system for agricultural use. However, the canal use has stagnated. Your tank irrigation has almost come down from the initial use whereas your wells and tube wells are increasing. Is this a sustainable sign for agriculture? No, it's not because like any other natural resource, we will run out of groundwater if we don't manage it well. How, when and why does this happen? This all happens mostly in the pre monsoon season because in the rubby, they use your rainfall for irrigation but most of it is in the pre monsoon season. And that is why the Central Ground Water Board takes the pre monsoon and the monsoon data to make these maps. The maps look really informative but what are the policies that are associated with these kind of images are still highly, we don't see much happening otherwise the groundwater levels could have come down or recharge has could have been increased but we don't see that in general. In general, the groundwater levels are continuing to decline and they are not sustainable. With this, I would end the week three with a recap. So in week three, we discussed about the groundwater hydrology. What do you mean by groundwater hydrology? What are the different components in the groundwater hydrology explanation? We looked at zone of aeration, zone of saturation, how water moves from the surface into the soil profile and the rock metrics. We discussed about the porosity being one of the key factors where water gets into the system and stays there. And the fact that most regions with less permeability and porosity cannot support groundwater activities. We looked at different components of groundwater, especially the recharge and discharge. And we looked at how it is bound by time, which means how long does it take for certain aquifers to recharge and discharge water. Along with that, we looked at the definition of aquifers. First, we defined what an aquifer is and what constitutes an aquifer. An aquifer is made of your solid particles, a soil rock matrix. Along with that, the groundwater. So there are multiple dependencies of this aquifer. So how it is developed or created. And the most important one is the solid material which comes from the geology. So geology plays a very vital role in the formation of an aquifer. And there are multiple aquifers across the globe. In India, two major aquifers we recall. One is your hard rock aquifers and then the other is your alveolar aquifers. The hard rock aquifers are mostly in the unconsolidated, semi-consolidated formations. Whereas your alveolar aquifers are all in the unconsolidated, which means there's a lot of water that recharges comparatively and a lot of water can be taken out for discharge. We also looked at how a well is placed at the potentiometric and water table concepts. We looked at differences between alluvial and metamorphic rocks, aquifers, etc. We also plotted the river networks along with the aquifer storage units to showcase that we can explain the formation of these aquifers from water. So the water can give back to the groundwater. But in our case, since there is no active live groundwater component discussed, we did show that the aquifers can lead to better groundwater management. By giving water to the hydrological springs, waterfalls and rivers and vice versa can also happen depending on where the water table is. We defined the high potential to low potential concept for groundwater. And with this, I think we covered most of the components for groundwater. And in the next class, we will slowly introduce how do you document the flow between two points. Both in the unconfined and the confined aquifer. With this, I would like to leave from you. We have finished week three successfully and we will soon start week four.


Welcome everybody, my name is Scott Mitchell and here we have a talk on managing Drupal with Nginx. Specifically, this is going to be performance of Nginx hybrid versus a regular Pure Apache setup.  Every time I come to one of these, it just gets better and better, so it's pretty awesome. You guys can follow along if you have the Wi-Fi. That's at inmotionhosting.com, slash support, slash Drupal Con, north of capital D, capital C, slash 2015. It should be exactly the same as I have here. This is local copy, no variables to mess up there. All right, a little bit about me, again, my name is Scott Mitchell. We're working with the web on and off, or mostly on since 1997, basically started by deconstructing homepages and figuring out HTML like that, learn some pro. I was already a programmer, just nothing web-based, so that's how I get my start. Since then, I've been working on and off with various different technologies. I've been with my company in motion hosting since 2010, so it's just five years there. I'm a customer community developer, and while I'm not a full-time coder, we do develop some tools to help both our customers internally and externally, but what we specifically do is, as a customer community, we help the global customer, which is not necessarily our own. But anybody that has questions on the web about Drupal or any CMS they're using, set up. So we field questions from all over. The only thing we can't really specifically address is the customized set up of servers. But we do get a lot of questions from everywhere, whether it's a WAMP set up at home, or even from other competitors or whatever. I've been working with Drupal since 2012. Not really a lot. Not really a super deep experience there, but since version six, mostly seven, because that's where most of our customers are based, and we're starting to reach into eight as that goes along. Okay, now I know you guys, it's 5 p.m. We have an hour block, and you guys want to eat, so it probably won't take the whole hour, so I'll do the best. Even if that Starbucks hasn't worn off, it'll probably be pretty quick. So we'll see how that works out. That's what we have going on here next. All right, so about in motion, we've been around since 2001, so working on 15 years here. And our focus is small to medium-sized business hosting. So if you have doctors or lawyers, whatever they have, more of the business card type websites who work with those, we have a lot of mom-pop style e-commerce businesses, whether they're running their own little Etsy projects or a little bigger, whether they're reselling some things. A guy that cuts my grass down the street, the kid, he has his own website, so pretty much everybody has websites, and we focus mostly on those guys. We do have some enterprise levels, some commercial class level, but we're another more of the outliers than the main. You can find us at inmotionhosting.com, and our specific department, my specific department, is inmotionhosting.com slash support. So if you get home later on, you find you have any questions about this, about Drupal, or anything else in general, no server configuration, but anything else, just hit us up. It's more of a forum style where you ask a question, and we come back to you. And you can follow us, of course, on Twitter at inmotionhosting. All right, so a little about this project before we get to the agenda. It was more of a theory for us. We hadn't really done this yet. We knew about setting up a hybrid system from reading what other people have done it. And so we kind of wanted to see what would happen if we took basically a Joe average site and performed this test on it and see what kind of performance increase we would get and what that could mean to our customers or anybody that might be in the same situation, because it wouldn't help everybody. We didn't fine-tune Apache Engine X. We kind of just jumped in there with it, and this is like the only big change we made. Okay, so there wasn't a lot of back-end configuration, because we wanted to see what happened just purely on this one instance. All right, so we did normal site, and this is a C-panel-only setup, because the plug-in we used is working for C-panel, working with C-panel. So this is something that works with hosts that have the C-panel setup. No hosts don't work that way, but don't really have data for that side. All right, so the agenda here, we have first a quick history of Apache and Engine X. These are kind of a brief history just to show where the state of the web was at the time and kind of background of why they were written. And then we have Apache versus Engine X, and that's not a comparison to say who's more dominant, the different features they have and the ones we want to try to optimize in this hybrid model. So this is a test setup, just a basic rundown of our specs and the site and the server, and then of course the results of Apache. All right, so you want to jump in Mr. Peabody here in the Wayback machine and go to 1995, and dominant server at the time, HTTP server was the NCSA written by Mr. Robert McCool, what's that name, McCool, which I had a name like that, Microsoft also kind of jumped on the market there, IIS 1.0 in August came out with NT 3.51, it was packaged with, so they were entering the fray there. Apache actually started development in early 1995, it was basically built off of the NCSA model, the project that ended and Mr. McCool had left the project, so people were kind of picking it up and working with it from there, which gave it a quick release date here of December, so you're looking probably April, Mayish, and then moving forward to December, they released, this is kind of what it looked like with the HTTP server saturation, I guess you could call it, NCSA here, topping out 52%, Apache at 5%, that's basically release month, but you know, people that were kind of involved in the project knew what was going on, and these are people that are kind of coming off the NCSA and just kind of early adopters, so I was in there with 5% and Microsoft, they had just jumped in in August, they had just less than 1%, so shoot forward six months, 1996 June, Apache's already dominating at 33% with the NCSA running at 22, now on the previous slide we showed the two combined ran about 57% total, and here they have 55%, so largely it was just Apache taking over the NCSA share there, Sun of course jumped up a little bit, Microsoft growing, nice 3% there, and the other guys hanging out at 26, so websites of the 90s weren't exactly what they are today, if you remember these, this site's actually still up on the web somewhere, they were very bland, they didn't have a lot to worry about, there wasn't the interactivity that there is now, you know, videos were rare, you can see this is normal site, very bland, very static pictures there, not even really any columns going on, most formatting was tabular, so real easy, not much to worry about, and the most acting there, the social media was not big, of course, but everybody had a home page, you guys remember Angel City, Angel Fire, Geocities, those kind of things, and I guess the most active you got at the time was the spinning icons, the animated gifts, you guys remember those, and one more famous ones, the hamster dance, you guys remember that one, anybody, no, there you go, couldn't make them dance, sorry, but you know, still wasn't a lot going on, very easy page, so more recent history though, 2005 we had Apache Peak at approximately 70% of the market share, now imagine how much the web grew from 1996 to 2005, now back then, big players would just get on the market, but now everybody, like I said, everybody has a website, and so they had the 57% or so back in 1996, they took that over to 70%, plus all the growth since then, so they were definitely a dominant force, but you can see now, 2015 they're down to approximately 39, which is the lowest since 96, it's not because they're bad, it's just because now everybody needs to configure to their own specific niche, and so there's other options out there now, all right, so NGINX, we traded the way back machine for a DeLorean, so we started development here in 2002 by Mr. Igor Sosoyev, you said that right, from Kazakhstan, and he started from scratch, so a little bit longer development time there, and we released in 2004, and one of the things that was created is to handle the C10K issue, now this is for having 10,000 concurrent connections on your site at one time, I don't know what that would do to my site, but you know, a lot of sites, they were looking forward to that, might crash a lot of people's sites, now even if they have, especially if they have a e-commerce site, so that's one of the things they want to look at, and they wanted to handle a lot of traffic, so high traffic sites like Rambler, which is a Russian search engine, anybody heard of that before, one that got it, I never heard of it before either, so 500 million requests per day in 2008, pretty nice, half a billion, by comparison, at the same time, Google was doing 1.6 billion searches a day, but it's Google, they have their own setup, and now they're doing 3.5, so, but so he was looking to fill the needs of sites like this, all right, so three years after release, Apache is still dominating at 50% percent, and Microsoft now at 32, so together, putting out probably almost 90%, 88% there, Sun is shrunk back down to two, pretty much on their way out, and Google popped up there at 2%, so three years after release, EngineX has new, under 1%, just trying to get noticed out here, Google website, yeah, they don't use it commercially, but I'm not sure what their goal is with that, they're out there, still run around 2% now, this is more recent data now, so four to eight years, Apache at 39%, Microsoft 29%, you see a slight decrease there, but EngineX up to 15%, now over eight years it seemed like a great huge leap, but the big story there is at the top 1,000 sites on the web, the top 1,000 busiest sites, they are the dominant server, so they are kind of finding their niche there, doesn't mean Apache is bad, just does things differently, so I'm trying to knock Apache at all, all right, so sample sites, so we have top 1,000 sites, and what kind of sites really is that, three of my favorites, Netflix, anybody have a Netflix account, most of you, in my circle it's like having a cell phone if you don't have one, kind of out of the loop, so my go-to for movies, I'm too lazy to go to the shelf and open the box, so I just turn on the Netflix, Hulu, anybody, it's my go-to TV spot, so with these two, I think it's cable, but they run, they're front end there, off of the EngineX, and then Pinterest, all right, how many guys have Pinterest? I'm the only one, no, that's like four, but okay, there you go, don't knock it, it's full, my boards are full of food I will never eat, and projects I will probably never start, but I like to look at them and dream one day, but three real-world examples, these guys run EngineX, and doing quite well on it, all right, so Apache versus EngineX, again, it's not a who's better, but it's more a comparison of features, I'm staying pretty high level here, all right, so connections, how does Apache handle these connections? Well, it uses NPM, multiprocessor modules, ours specifically uses the worker, and it spawns these processes, all right, and each process can handle multiple threads, each thread has a single connection, so it's kind of dedicated that one connection, EngineX is a little different, it does spawn workers, and each worker handles thousands of connections, it uses a fast looping mechanism that checks events, and they're processed, and then once they're handled, it's removed from the loop, what does that really mean?  Okay, it runs through everybody that has their hand raised, grabs through and handles the process, and once that's done, the hand goes back down. So everybody without their hand raised, it's kind of ignored, but just, you know, you're glossed over because you're not needed, because it's kind of how that works. So if everybody raised their hand at one time, there may be a problem, it's not only not the case, but so the static and dynamic content, and Apache on its core level there handles it by default, which is great, and passes the dynamic content over to a processor embedded to the worker instance, ours uses mod suphp, because we use the MPM worker, mod PHP, also another one, and swaps modules that are now as needed for the requirements, it's like library toolbox over here, and next also handles a static by default, and it's a really good setting, really fast. But the dynamic content, it passes to an external processor, fast CGI here, because in a pure engineered environment, that's pretty much the go to spot it, it basically outsources it completely. And that leaves the overhead only for a static content, which makes it more efficient. Go to configuration here. So Apache has a distributed configuration via HT access files, and love them or hate them. They're pretty nice. Now the problem is it checks each component in the path for an HT access file. So if everybody in here was a component directory, you have the opportunity to have an HT access file. Apache itself has its main configuration file, but as a directory or component, you can modify or change these rules through HT access file. Apache has to ask each and every component, whether it has a rule change has a chance as file. So that can take some time, especially if it gets bigger and bigger. You have small number, not so much, but as it gets larger, and you see how many files and folders in some of these CMSs, typically, though, they're used for URL rewrites, access, rejection, authentication, like that pretty URLs. Engine X, on the other hand, has no decentralized configuration. So it doesn't have to go around and ask everybody. This doesn't mean that it can't do the same things. It just doesn't it's different. But because it doesn't have to go around and ask each component, do you have an HT access file? Do you have a rule change? Do you? Do you? Do you? Then it makes things a little faster. So it increases performance. It's also better security because only the admins, the admin can figure this. So you don't have to worry about too many people having their hands in the security department. However, Apache can turn that off. So if you have a concern with that about the security issue, you can turn it off in Apache. Apache uses modules kind of like Drupal.  You have something you need to use, turn it on. It's great. If you're done with something, turn it off. Engine X doesn't do that. So the modules are compiled into the core. So every time it has to add a new function with a module or remove a function, if you're going to recompile it. Okay, so that's the run down there. So what does an Apache Engine X hybrid look like? Other than ugly? I don't want to use Engine X in front here. It's reverse proxy. That's what you want. It's going to handle all the client requests. It's kind of like the receptionist knows where to place things, tells things where to go. When you use our speed here, it's serving the static content.  And we want to pass the dynamic content off to Apache. It has to outsource it anyway. So we want Apache to do its job over there. Now we could use, like I said, the C is fast, C is giant, just do it, you know, straight engine X. But we want this to be easy to install. So anybody here wants to do this at night, at night or get back home, someone do it, want it to be very quick and easy to do without having to reconfigure a bunch of stuff on your server, which makes easier configuration for content management systems. Drupal specifically, because we're talking about that here. So when you create your install, your Drupal creates a CIACS file and has all the, you know, configuration there. It's got your URLs turned on and everything. So if you add this engine X in here, you don't have to change that. You don't have to set the configuration to work with engine X. And no need to change hosting companies in most cases. Most cases mean if you're with a shared host, and that's all they have, this probably isn't going to work for you. You're going to need a VPS dedicated server, root access to do this. So in those cases, you might need to change. But if you're in a host that has all three of those, or at least VPS and dedicated, you can certainly do this. And the idea is, if you're on the cusp of having to, let's see, change, if the system port system or system admins are trying to urge you to possibly upgrade, change hosts, whatever, this can hopefully buy you some time. So ultimately, though, pretty much if you like your host, you should be able to stay with your host. So the test itself, we ran Apache Bench benchmarking tool. And that's what gave us our data here. And the data itself, like I said, we ran for speed. Wanted to see what's going on. We'll touch other things, a couple other things in addition to that. And we vary the concurrent users between 100 to 150 and 250. So just like 100, 150, 250 people visiting your site simultaneously. We also vary the request for 2500, 5000, 10,000 requests. Again, we're trying to stay pretty normal. We first started to do it with two different servers. But then we went, we didn't want any configuration or hardware differences or anomalies to play any part in this. So we stayed with the same physical server, which is, you know, standard VPS with us. And that's run in SSD, 8 gigs of RAM, my server, basically. And we ran a Drupal 7 test site. Again, we've worked mostly with Drupal 7. So we wanted to stay with what most of our customers use. We basically, we didn't need to a hello world site. You can run anything on the hello world site that's gonna work. So we built a recipe site, about 10,000 or so recipes on it and gave it a theme. We put the, you know, your panels, your views, your chaos tools, all that kind of stuff in there. It's normal Drupal stuff, add a few other modules. Let's say a theme, we change the theme, just make it a nice little site. But nothing e-commerce or anything like that, but just kind of a normal, everyday kind of site you're running against. Now this is the plugin we used, engine xcp. If you can read that, you can find it at enginexcp.com. And it's free. That's one thing we picked. Again, we want everybody to be able to do this. We want this to be very easy for everyone. And sometimes cost is a factor. So free was the one of the reasons my partner, he's not here today, helped us pick this thing. The DDoS protection is really largely because of the engine x, the way it handles HTTP request. So that's helpful. These are listed as features on the website as well. So it does have a WHM interface, which makes it easy if you're using the Apache, I'm sorry, C panel setup. Works for GC compression. And C panel service monitor support, so no need to specifically turn it on or off. Individually. PHP write compatible. And you can manage which domain uses engine x, which domain uses Apache via SSH. Again, that's engine xcp if you guys are interested. Okay, and the installation's super easy. I'm not sure how technical most of you guys are. On the back inside of things. This is literally everything we needed to do. Seven steps. You don't have to know what the code means, but just real quick, I'll run it. It's easy. We just change directory. Then we grab the file, open it up, change to a new directory, run the install, add executable permissions, and then activate it. Our customer specifically will have a little bit shorter, because we took the first five and made it into our own script, which is compressed into one. So we can really do it in three steps. The uninstall is basically just as simple, but you can also just turn it on and off. So something you can try, test it, if you like it great, you can keep it if not, you can go right back to where you were without having to worry about anything. Let's come over a little before there. Alright, so first results. Apache kind of supported us in this. I'll show you how it works. But we had a hundred users, and we weren't like, we were going for speed. And the 2500 request process here in 26.5 seconds. 150, shout out to 41.3. But sadly, 250 did not finish. We had to configure the Apache to hold 250. But it got pretty close, but just died out before it finished the 2500. And sadly, you're going to see that occur to the rest of the Apache. The engine is hybrid, which is literally just laying right on top of it. We had some speedy stuff going on here, 100 at 9.5 seconds. And that was pretty, as fast as I was expecting, to be honest with you. And then we ran several instances of this. So it wasn't, they weren't always exactly the same. This is one example, but they were fairly consistent in how it worked out. With the 150 up to 19.7, and the 250 slightly, slightly faster, but it did complete, which was a good thing. So what you can show here is that engine X obviously had a lot faster time processing these guys. Whereas Apache did do the first two. They both had the same kind of arc at first, first two. And I'm not sure what the Apache would look like at 250, but I see kind of level off there. They do work within a range. So sometimes we ran them, they looked a little bit differently, but they still pretty much fell within the same range. A few milliseconds, I'm sorry. So test two, we ran with 5,000 requests. And the Apache ran 44.8 with 100, and then 47.9 with 150. Again, with the 2500, 250, I'm sorry, it did not finish the hybrid, the slain on top fit, ran here at 33.8 seconds per 100 users, 36.1 for 150, and then actually faster with 250. I don't know why. We ran this a few times, and it occasionally happened this way. We were happy with it. So again, you can see the same thing.  And again, it's a range, so the curve is not really a big concern, but we did run it a few times and kind of saw the same thing going on. So we went for 10,000. Alright, 100 users were in 10,000 requests. We got 111 here, 0.3 with Apache. 150 users, we had 104, so it went down a little bit, still within that range kind of thing. And then again, 250 just died out on us. But the hybrid was quicker here, with 100 users at 68.5, 150 users at 64.8 faster, and then 250 at 76.1. This gave us a nice little start. The interesting thing is they both dipped from 1 to 150. We're wondering about that. It's got your heads, but it was consistent. And again, you see the same thing, where the difference between engine X, hybrid, and the Apache. And it maintained its... So the rilts here, we had 2,500 tests. The hybrid was twice as fast as the Apache. We weren't really expecting that. We were expecting more in a third, maybe 35% range, like we got for the 5,000 tests. It was consistent there with 35% faster, and then the 10,000 tests came in also at 35 to 40% faster than Apache. Plus, the hybrid was able to process all the concurrent user levels versus Apache dying out with the 250. Alright, so what does this all mean? The increase in overall performance was gained by layering the engine X on top of it. Okay, definitely able to handle a higher level of traffic. So if you have a site that may be getting some kind of local media attention, or you have a client maybe gets local media attention, radio plug, maybe local news, they get mentioned on the Oprah's plug and crash it, but we've seen that before, but still might hold it a little bit longer before it crashes. So that'll help. It's really easy to toggle on and off, so you don't have to worry too much about, you know, if I set this up and it doesn't work the way I want it to or doesn't perform for you the way it did for us, you know, do I have to go through a whole mess to turn it off? No, it's not the case here. No need to reconfigure Drupal, which is always nice. Any time you move a site, even from one, you know, Apache server to another, you guys understand that can be a pain anyway. So no need to reconfigure Drupal to work with this plug-in. I just kind of set it and forget, kind of plug right in, plug and play basically. All right, you may save some time and money by increasing the time before you upgrade a server. Like I said, this is something we want to test for our customers. We have a few, a few main certain percentage of them that are always kind of right in that line and they call in when they kind of hit the limits. And definitely upgrading is one of their options. But, you know, if you don't have the money yet or just kind of want to optimize yourself a little bit, this can definitely save you three, six, maybe 12 months of time before we have to increase or I have to upgrade. Now there was some concern from our system admins when we were in this test about memory. Nginx was going to be faster, but was it going to cause any memory problems? And we saw, this is, we had an 8 gig server there. What doing a test that we had, we maxed out about three gigs. So not too bad. It did go up, probably doubled the RAM that we were using with the Apache, but it was still well within the VPS limits. So it wasn't a concern of overloading the node or overloading that particular container and causing issues again with the system admin, because that's kind of what we're trying to avoid all together. And as far as the number of requests that processed, that didn't process, they was pretty consistent between both. So we didn't really list that, because they were very consistent. But Starbucks was still kicking, I guess. That was it. But you guys have any questions on that? It's just from, like I said, a high level test to see what's going on. We're going to do more tests with different aspects of hybrid versions for our customers as well. So it's an application that's very intense in the configuration in Apache. Right, no, it's going to work off, because it's passing down to Apache. So Apache's still going to run and do the dynamic stuff, run all the rewrite, state access files and everything just like it normally does. InginX CEP is a, yeah, it's a plugin for a C panel that puts InginX in the front. So InginX grabs all the stuff coming in first, and it sort of runs a static content and then passes the other stuff down to Apache. So Apache, remember in the first part I talked about InginX running and it passes things, it out sources out to say fast CGI. So InginX is in the front and it grabs, you know, all the static content as it comes in. And then anything left over, which is like the dynamic stuff, and it passes down to Apache. So Apache doesn't even really see it. I'm in the back, I'm sorry. Not that we saw. We just, we just installed it straight with the, like said, it's a real default kind of installation for Apache. We didn't have to increase configuration or change it really for Apache. It gave, right, had like the 200 codes I guess we would say and the non-200 codes. We did, those were consistent among both of them. That was speed, yes. Yeah, exactly. We didn't test that. That's probably one of our future tests. We do want to test that. This one was specifically because we run Apache as far as we host and we don't have a lot of InginX customers, pure InginX customers. So this is like a first step for a lot of these guys and we definitely want to test that and see how it runs just with pure InginX and get that as an option to our customers as well. Because we have a lot of people that do ask for it. So, but this is the first step for those that maybe aren't looking to completely reconfigure or completely do another thing yet and just buy them some time at least until they can, until they can come up with either an upgrade or by this time we might have the other option out for them. We didn't use that. There's actually a reason for that. My partner told me. But as far as like, this is our standard configuration. So we went ahead, because we use Worker. There's actually a couple of technical reasons we use Worker over Event. It's off the top of my head right now. I don't know. But right, right. And to be honest with you, I don't think we're running too far right now. And that's probably the biggest reason. But Worker, I think, is a little more, oh, with, we use Worker because of the, which has to use two PHP. But because of our DSO option, that's why we use Worker versus the Prefork. But as far as the Event, we haven't tested the Event yet. We didn't. We just ran it straight. Like, you know, that could do. That could very well come to a lot of it. Again, we just try to create what normal customers are going to run with. And a lot of them, for some reason, don't want us to, or they want the server side to be as quick as possible before they implement the caching kind of thing. So we're trying to go with their requests and say, okay, what can we do for them first? Even though this seems like it might be a little bit more involved in turning on caching. But a lot of them like maybe it's a crock-pot kind of thing, kind of set it and forget it kind of thing. And if we can help them get this, or even do it for them, then that helps them out. Then the caching is definitely involved. We just didn't want to run. We do want to do all these different tests and put those results out as well. That's definitely, definitely in the works, just for this particular way to do that. You could. I don't actually know. That's unlike a check-in too. Definitely, if I gave you information, I can definitely check into that. And I want to put it all into the test. Yeah, test results as well. I'll definitely check into that. We will, I do want to post all the different data that we did and put up here, because like I said, this was just more concerned at the speed level with the memory issues I mentioned, and the consistency of the non-return codes or the non-return successes. But I do want to put all that out there. So I will check into that too and put that up there as well. And we didn't run against Farnish yet. We wanted to, again, just another test we haven't run yet. But it's definitely another thing because we wanted to test all the different options here. And Varnish is definitely one of the options. The thing with the Varnish is, as far as their VPS does go, it's definitely going to really work against the memory of the module of the node. So we want to wait to do Varnish as a second step maybe, because it really increases the memory usage. Yes. It seems to. I mean, it doesn't have a problem with running everything. Any configuration changes we made, it worked through the Drupal. If we added the different URLs and rewrites or something like that of the particular authentication, then things seem to handle that pretty well. We did not try that out. That's definitely something we probably should try there. Say again. Right. We will, yeah, that's another thing we can put in there as well. You guys ready? I appreciate you guys coming out.


My True Love by Sir Philip Sidney Read for LibriVox.org by Andrea Fiore My true love hath my heart, and I have his. By just exchange, one for the other given. I hold his dear, and mine he cannot miss. There never was a bargain better driven. His heart in me keeps me and him in one. My heart in him, his thoughts and senses guides. He loves my heart, for once it was his own. I cherish his, because in me it bides. His heart is wound, received from my sight. My heart was wounded with his wounded heart. For as from me on him his hurt did light. So still me thought, in me his hurt did smart. Both equal hurt in this change sought our bliss. My true love hath my heart, and I have his. My True Love by Sir Philip Sidney Read for LibriVox.org by Bookman My true love hath my heart, and I have his. By just exchange, one for the other given. I hold his dear, and mine he cannot miss. There never was a bargain better driven. His heart in me keeps me and him in one. My heart in him, his thoughts and senses guides. He loves my heart, for once it was his own. I cherish his, because in me it bides. His heart his wound received from my sight. My heart was wounded with his wounded heart. For as from me on him his hurt did light. So still me thought, in me his hurt did smart. Both equal hurt in this change sought our bliss. My true love hath my heart, and I have his. My True Love by Sir Philip Sidney Read for LibriVox.org by Donna Stewart, Seattle, Washington. My true love hath my heart, and I have his. By just exchange, one for the other given. I hold his dear, and mine he cannot miss. There never was a bargain better driven. His heart in me keeps me and him in one. My heart in him, his thoughts and senses guides. He loves my heart, for once it was his own. I cherish his, because in me it bides. His heart his wound received from my sight. My heart was wounded with his wounded heart. For as from me on him his hurt did light. So still me thought, in me his hurt did smart. Both equal hurt in this change sought our bliss. My true love hath my heart, and I have his. End of Poem This recording is in the Public Domain. My true love by Sir Philip Sidney Read for LibriVox.org by Ernst Batinama, 29th of May, 2009, Amsterdam, the Netherlands. My true love hath my heart, and I have his. By just exchange, one for the other given. I hold his dear, and mine he cannot miss. There never was a bargain better driven. His heart in me keeps me, and him in one. My heart in him, his thoughts and senses guides. He loves my heart, for once it was his own. I cherish his, because in me it bides. His heart his wound received from my sight. My heart was wounded with his wounded heart. For as from me on him his hurt did light. Though still, me thought, in me his hurt did smart. Both equal hurt in this change sought our bliss. My true love hath my heart, and I have his. End of Poem This recording is in the Public Domain. My true love by Sir Philip Sidney Read for LibriVox.org by Ellie. My true love hath my heart, and I have his. By just exchange, one for the other given. I hold his dear, and mine he cannot miss. There never was a bargain better driven. His heart in me keeps me, and him in one. My heart in him, his thoughts and senses guides. He loves my heart, for once it was his own. I cherish his, because in me it bides. His heart his wound received from my sight. My heart was wounded with his wounded heart. For as from me on his hurt did light. Though still, me thought, in me his hurt did smart. Both equal hurt in this change sought our bliss. My true love hath my heart, and I have his. End of Poem This recording is in the Public Domain. My true love by Sir Philip Sidney Read for LibriVox.org by Iswa in Belgium in May 2009. My true love hath my heart, and I have his. By just exchange, one for the other given. I hold his dear, and mine he cannot miss. There never was a bargain better driven. His heart in me keeps me, and him in one. My heart in him, his thoughts and senses guides. He loves my heart, for once it was his own. I cherish his, because in me it bides. His heart his wound received from my sight. My heart was wounded with his wounded heart. For as from me on him his hurt did light. So still, me thought, in me his hurt did smart. Both equal hurt in this change sought our bliss. My true love hath my heart, and I have his. End of Poem This recording is in the Public Domain. My true love by Sir Philip Sidney Read for LibriVox.org by Leanne Howlett My true love hath my heart, and I have his. By just exchange, one for the other given. I hold his dear, and mine he cannot miss. There never was a bargain better driven. His heart in me keeps me, and him in one. My heart in him, his thoughts and senses guides. He loves my heart, for once it was his own. I cherish his, because in me it bides. His heart his wound received from my sight. My heart was wounded with his wounded heart. For as from me on him his hurt did light. So still, me thought, in me his hurt did smart. Both equal hurt in this change sought our bliss. My true love hath my heart, and I have his. End of Poem My true love by Sir Philip Sidney Read for LibriVox.org by Lucy Perry My true love hath my heart, and I have his. By just exchange, one for the other given. I hold his dear, and mine he cannot miss. There never was a better bargain driven. His heart in me keeps me, and him in one. My heart in him, his thoughts and senses guides. He loves my heart, for once it was his own. I cherish his, because in me it bides. His heart his wound received from my sight. My heart was wounded with his wounded heart. For as from me on him his hurt did light. So still, me thought, in me his hurt did smart. Both equal hurt in this change sought our bliss. My true love hath my heart, and I have his. End of Poem My true love by Sir Philip Sidney Read for LibriVox.org by Marianne Coleman-Hitkins My true love hath my heart, and I have his. By just exchange, one for the other given. I hold his dear, and mine he cannot miss. There never was a bargain better driven. His heart in me keeps me, and him in one. My heart in him, his thoughts and senses guides. He loves my heart, for once it was his own. I cherish his, because in me it bides. His heart his wound received from my sight. My heart was wounded with his wounded heart. For as from me on him his hurt did light. So still, me thought, in me his hurt did smart. Both equal hurt in this change sought our bliss. My true love hath my heart, and I have his. End of Poem This recording is in the public domain. My true love by Sir Philip Sidney Read for LibriVox.org by Millie Sunbear My true love hath my heart, and I have his. By just exchange, one for the other given. I hold his dear, and mine he cannot miss. There never was a bargain better driven. His heart in me keeps me, and him in one. My heart in him, his thoughts and senses guides. He loves my heart, for once it was his own. I cherish his, because in me it bides. His heart his wound received from my sight. My heart was wounded with his wounded heart. For as from me on him his hurt did light. So still, me thought, in me his hurt did smart. Both equal hurt in this change sought our bliss. My true love hath my heart, and I have his. End of Poem This recording is in the public domain. My true love hath my heart by Sir Philip Sidney Read for LibriVox.org by Ruth Golding My true love hath my heart, and I have his. By just exchange, one for the other given. I hold his dear, and mine he cannot miss. There never was a bargain better driven. His heart in me keeps me, and him in one. My heart in him, his thoughts and senses guides. He loves my heart, for once it was his own. I cherish his, because in me it bides. His heart his wound received from my sight. My heart was wounded with his wounded heart. For as from me on him his hurt did light. So still, me thought, in me his hurt did smart. Both equal hurt in this change sought our bliss. My true love hath my heart, and I have his. End of Poem This recording is in the public domain. My true love by Sir Philip Sidney Read for LibriVox.org by Revan Notation My true love hath my heart, and I have his. By just exchange, one for the other given. I hold his dear, and mine he cannot miss. There never was a bargain better driven. His heart in me keeps me, and him in one. My heart in him, his thoughts and senses guides. He loves my heart, for once it was his own. I cherish his, because in me it bides. His heart his wound received from my sight. My heart was wounded with his wounded heart. For as from me on him his hurt did light. So still, me thought, in me his hurt did smart. Both equal hurt in this change sought our bliss. My true love hath my heart, and I have his. End of Poem This recording is in the public domain. My true love by Sir Philip Sidney Read for LibriVox.org by Secrets My true love hath my heart, and I have his. By just exchange, one for the other given. I hold his dear, and mine he cannot miss. There never was a bargain better driven. His heart in me keeps me, and him in one. My heart in him, his thoughts and senses guides. He loves my heart, for once it was his own. I cherish his, because in me it bides. His heart his wound received from my sight. My heart was wounded with his wounded heart. For as from me on him his hurt did light. So still, me thought, in me his hurt did smart. Both equal hurt in this change sought our bliss. My true love hath my heart, and I have his. End of Poem This recording is in the public domain.


This is the AXUN Cineview Nano. It's a live HDMI wireless transmitter device as you can see I've connected three different devices my iPad my iPhone my Android Google Pixel and it's all connected wirelessly to this adapter Which I've connected to my Sony a7c So if you want to see what you're filming at a distance then you can wirelessly connect it via the AXUN C app to this adapter Which I think is absolutely great. It has very minimal latency up to 60 milliseconds It can shoot up to 500 feet and it emits 5g Wi-Fi as well and you can connect up to four devices Just check out the latency on these devices How cool is that? I can now use multiple devices or I can just use my phone at a further distance to see Myself when I'm recording rather than having to go to the camera every time and coming back to do the filming Very convenient factor. Make sure to like and follow for more gadgets


This small floating robot can help IAEA inspectors verify the presence of nuclear material stored underwater. It propels itself across the surface of a spent nuclear fuel pool to quickly provide clear images of areas that are difficult for inspectors to access. The new robot is the winner of the IAEA Robotics Challenge, a competition organized by the agency to identify innovative technologies. We are very happy that our design was chosen to be able to contribute to safeguards and other verification efforts of the IAEA. The robot can complement the improved chairing copuying device, an optical instrument that detects the light emitted by spent fuel when underwater. What we hope is that this solution is going to improve the efficiency and effectiveness of spent fuel verification and not only for the IAEA but for the operator. From Vienna, Austria, this is Alejandra Silva reporting for the IAEA.


Did you know in the next 60 seconds 1.2 liters of blood will be filtered through your kidneys? The blood contains urea which is a waste product formed from the breakdown of excess protein in the body Need to get rid of this urea as it is toxic to the body if it pulls up The job of the kidneys is to filter out the urea along with the excess water and ions and excrete them from the body in the urine So how does the kidneys do this? Well, each kidney is actually made up of about a million microscopic poultry units called nephrons As the blood flows into the kidney in the renal artery it splits into smaller and smaller arteries These eventually become capillaries. Each capillary then forms a bundle called glomerulus The blood is now under very high pressure and the glomerulus has little pores in it that allows the parts of the blood to be squeezed out The water, glucose, amino acids, ions and urea all get squeezed out of the collected Biostructure at the beginning of the nephron called the Bowman's capsule and they are now referred to as the Fultrate The blood cells and large proteins stay in the capillary as they are too big to be squeezed out This process is called ultra filtration The nephron is a quill tube that moves through the kidneys As the Fultrate passes along anything that the body needs to keep is taken back into the blood by a process called selective Reabsorption. However, the blood does not want the urea so it carries it moving through the nephron and eventually reaches the collecting duct The collecting duct takes waste down the area of the kidney called the pyramid where it collects all the waste from all the nephrons Then it follows out of the kidney in the urethra down the bladder where it's stored until the person gets that urge You know the urge when you need to go and then it's released out of the urethra That feels better. So the question is how many litres of blood have your kidneys filtered during the course of this video? Press pause now to give yourself time to work it out Did you get it right? The answer is Right all this talk of urinating and now I've got the urge. Oh well. See you later


Good morning, John, it's Friday. A few years ago, I think I kind of decided that I was gonna try to get big on TikTok. I missed being a part of the rising of a new platform. Like, that was a really rewarding experience when it happened with YouTube, and it's sort of lovely, it's very creative, it's very interesting, and it felt that way when I joined TikTok. And, you know, I was right. There was so much interesting stuff happening on the platform, and I've learned a huge amount. And I now have seven million followers on TikTok, which is more than I have anywhere else. And so one has to ask, could I do it again? Is there another social media platform that I could grow a large audience on? Like, it's tricky, because it's not really about the age of the platform, that's a mistake. It's about how it's being utilized, and whether it's being underutilized by the people currently there. It's about whether it would be creatively fulfilling for me, and whether what I bring would be valuable to it. Anyway, a couple of weeks ago, I decided I was gonna get to a million followers on LinkedIn. Now, I did not realize when I said this, that getting to a million followers on LinkedIn would make you one of the hundred top business influencers in the world. So I have revised my goals since then. Instead, my goal now is just to be making better content than most of the other people on the site, which John, I have to say, does not seem like it would be hard. Now, my biggest problem is that the way that most people use LinkedIn is like pretty serious. And while I am a serious guy, and some of the things that I do in ways that I act, those are not easily visible on the platforms that I use. I am publicly goofy, which I like. That's a thing I like about me, and about the way that I use the internet. And so, as with most things, you turn to your toolkit, to your strengths. I got a toolkit, I've been working on it for a long time. So let's see what I made in my first couple of weeks as a LinkedIn influencer. I started out with this one about elephant balls. That's right, the largest land animal on earth, but no balls. That doesn't mean they don't have big testicles. They do. An individual elephant testicle could easily weigh more than your head. But very unusually for land mammals, elephants have internal testicles. The business lesson here is, you don't have to be showy to make a huge impact. Many of the people I know who deliver the most value never shove it in other people's faces, I guess. I've been on the internet for as long as that's been a job that people can have. And one thing I know for sure is platforms stop being fun the moment that popularity on that platform delivers a significant amount of societal status. This explains why LinkedIn has never been fun. This one says taxes are a percentage of income, but I think other things should be a percentage of income like traffic fines. And also maybe there should be an income-based surcharge for cheap things that save time, like fast food. If my time's worth so much money, then isn't charging me $50 for a McDouble, the free market thing to do, and then I put this minion made of glass underneath it? I just thought maybe they'd like that.  The business lesson here is your product team should be super separate from your sales team. I don't actually know what that means, but it sounds like it's smart, and it is my top LinkedIn boost now. This one's from just yesterday. 25% of the meteorites that fall on Earth are the result of a collision between two large objects in the asteroid belt half a billion years ago. The number of these rocks hitting Earth as a rolling average has been decreasing every year for 500 million years, and it's still a quarter of the rocks that hit us.  I think this is my most liked post that says my Twitter followers are calling me out because Lee said Hank to himself, this is great, I'm gonna get a good grade in LinkedIn, something that is both normal to want and possible to achieve. Look, that's obviously where I'm at, and it's not something I dislike about myself, so I'm just gonna lean on it. Now, John, as you know, it took me a while to get traction on TikTok, but once that happened, you hopped on the platform, and now we're sharing the space a little bit, which is lovely and everything, brothers being brothers, but I just want you to know that LinkedIn is mine. John, I'll see you on Tuesday.