Alright, you guys are voting over 209,000 channel points on the over. Let's run it. Let's freaking run it All right double 86 for the foot accountant. Come on Vamos Come on foot birthday me EA sports foot birthday me give me a little sauna or something linked to my Kimmich. Yes Okay, no special card for me Argentina center forward de bala All right, so why I'm getting an 88 rated card not bad So I got an 88 and 86 so that's about that's about my money back from the SBC I feel like if you get that Then you get your money back and that's kind of what you need to break even right Shunmin son 87 man imagine if son is a foot birthday next week your boy Josh. What's up, dude? All right last one so you got 287s a couple 84s Still still worth it still worth it. All right, let's rock the double 86 plus two Let's rock the double 86 plus here we go. Come on Obviously it's a walkout. It is not a foot birthday though English striker Harry Kane so You made your money back basically in terms of fodder for what you had to turn in this SBC So right now these are looking very fodder-esque very fodder-esque Well, actually this guy's kind of controlling the screen So I'm gonna open this and the next one we'll do a prediction on but we haven't got a special card yet from these We haven't got a special card yet. Oh Phantom man of the match Fernandinho, how what is that rated? 86 oh Hopefully there's something behind this because all right. That's a man of the match for Nandinho Is there anything behind this though? Oh Okay, all right. All right. That is kind of as bad as it gets 286s. Let's see what happens Let's go. Yes, Jason. He I would love to man Come on esports. Yes to walk out. Of course. It is not a foot birthday Argentinian Sir Joe Aguero W that's good for fada. You have made your money back on this SBC already Already, how much is this costing by the way? How much has foot been saying this SBC is costing? Wow 89 and 87 Sanjo. So right there you just got very good value For money, that's so cheap I'll take Holsenberg You got Simon from ten of these It should be there. Oh, okay. All right, maybe I'm just overlooking it then a o 84 red linform GGs GGs some metal Come on. Yeah, we need a foot birthday for the oh, that's our second Hyunmin son of the day So these are still good for fodder, bro, but no foot birthdays yet. No No foot birthdays yet for us today Yeah, Jason. He that wasn't too bad. All right. So 68% of you guys said yes 32 said no, can we get a big pack pull here from this? 86 double plus it is not a foot birthday. It is a Brazilian center back by the name of an inform Marquinhos Hey, yo That is decent. That is great fodder right there. Come on somebody big behind it to Bernardo Silva W man That's actually a W. There's a new hint. Who's the new hint? It wasn't showing before I'll check it out in a second, dude. All right. Come on 86 times two. We still have not got a foot birthday today, bro, French CDM Conte W was this guy like 70 80k That right there is a tremendous dub a Tremendous W Let's go tune fan The Dortmund players the new hint and Suarez. Wow, that's the best one. We've had yet. I'll say it Gulachi bro, man, these full birthdays are scared. They got to come out of hiding There's an 86 plus at the end. Okay. I know oh shoot. I'm taking some of these dupes. That's my bad Rd I'll try to avoid taking the dupes if I can Michael we've done a couple of predictions and bets. Yeah Couple of them. We're kind of oh baby We asked for the for the foot birthday players and they came Leroy Sane get the frickin 91 rated What a pull, baby. What a pull Let's go. That's a million coins That's a million coins and that is the first foot birthday that we have packed. Let's go Let's go Rd. This guy won a Tiago and I said let's one up Tiago and get you a Sane, bro Yes, sir, I Don't really think so man. All right. I'm gonna take that dupe 85 Rd What an opening bro 91 Sane is the highlight from 20 player picks Let's go. That was a really sick set even if this would not have been Sane I mean you got multiple walkouts a lot of 85s 385s and inform That was an awesome set dude player picks. Oh, baby My Paris's treat made him crash 100k.   You got Tiago, bro. So it doesn't matter. You literally just win You you literally just win you win. You got Tiago, man And here McGuire Wow GG's bro GG's man All right, all right Hey, oh when he Chang we got one boys. Let's freaking go Let's go. Oh my controller died. It's all you bro. It's all you When he Chang a little five star weak foot now that card right now is only 40k Wait, are you considering taking Navas? Does the Navas mean more to you than when he Chang I Mean hey yo he takes Navas He takes Navas for the fada That just goes to show you right that mindset is The state of FIFA right now, bro People would rather have an untradable 87 rated card than an untradable promo card, man walkouts mean 86 plus for UCL or gold cards and then 84 plus for it in forms or promo cards So like that even though it would technically walk out is not a walkout Thoughts on b-day hermoso very good value card and cracked in game Yo, not a night. Thank you, bro. I appreciate it dude. Thank you rage Bruh, come on Walkouts is what we need Ricardo Perea La Porte. There's a walkout number one El Primero walkout of the pack opening Wow you have an 85 and 87 so we need Four more for the over to hit So we have 12 more we need to get three on this page We have to get three on this page Take Holland for you actually I'll take Saul for the links Thank you, don't please like the player I did dude I selected Saul I Was there half a walkout? No, I set the number at a half It's I don't know if you like if you bet it all bro, but it's just like betting I set the number at a half so that we can't have a push we can't draw we can't draw Yo, my man, do you want me to take Idris a gay Peros or terrier bro? I know informs are crazy value right now, so you tell me which one you want me to take and I'll take it You're getting good value, bro, but we need that walkouts for the over. Oh There we go. Mr. Aiden on court why I think you want court why right? Yeah Boom, there's three walkouts. That's three That is three could we get a fourth? Oh Back-to-back for twa a cheeky little court twa two in a row Two in a row. Can we make it three? Imagine the scenes oh Hey, yo the over The over just hit because that's a walk out Let's go man. Hey if you bet the over you're a believer So the over hits GG's we had five walkouts if you voted you're feeling good You're feeling good, and you have some duplicates bro. GG's man. Come on double 86. Let's go EA sports Drop us a bone here Foot birthday No, dude. I haven't got a single foot birthday out of one of these these packs today. Is that oblox? And Danovich W you've made your money back on this pack, bro You've made this money back The club is a bit after doing player the month messy the prime icon nice Let's go. You think the foot 16 France Cam will be Pogba or Lacazette. Okay, man I'm kind of feeling paillettes, but that's the beauty of a prediction. Oh, that's a walkout Another walkout back-to-back French your ease cheek a little oh a Cheek a little oogle your ease 87 rated good fada good fada. He should gamble with coins From a hundred K's in the store. I mean, he's getting walkouts at least so Another walkout. Oh for birthday for birthday Brazil Brazil is that Lucas? Oh my goodness Let's go Lucas Mora 89 rated Lucas Mora. Let's go That's a mill dude. Hey, yo, this guy's not been on fever since January. He's got the luck. He's got the luck Let's go man.  Is this now the thing is is this tradable? It's tradable as well a True that's a million coins, bro. Hey FIFA says get right back in the game, bro You gotta get my back in the game Holy smokes, dude. All right, let's go vamos Alex tell us not bad Okay, let's get let's get 84s or higher for every single pick. Oh Oh second one When he Chan there we go promo card, baby. That's our first walkouts Let's go.  The under is gonna hit anyway, so that doesn't actually affect the pole That's a lot of 84s. I mean at least you got some good value 84s, but Frick all right, you got a whan he Chan and literally a whole list of 84s, bro So you can go do an 84 in school Yeah So 74% of you guys said yes walkout 26 said no come on the believers believe let's go Get this man a big pole, please. Oh Yes for birthday Who is it? Spain center back striker Boom 81 times 25 mr. Inaki and that right there is a W From the 81 times 25. Yes, sir This might be the greatest 81 times 25 of all time.  Let's rip this first and then we'll go for the party bags I think and we'll rock a prediction after this one right here That's a walkout from a double. That's a full birthday in the first one Hermoso let's go man. Gee geez First pack that we open in the Shareplay and we're getting here most of the center back we move Let's go man. All right predictions should be in 52% of you guys said it was gonna be one of those four and then 48% said oh, let's go party bag I haven't had these in a while, right? Oh Haven't had these in a while. It's a walkout What kind is this future star or road to the final? a yo Old block road to the final now that is Some good value fodder All right, 85 times five you said 62% of you said yes that this would be over 88 plus It's not a full birthday Argentinian center forward the ballah. So the 88 plus does hit But no special cards from an 85 times five Is that worth it? Is that good? It's okay Okay Alrighty then Hello Alrighty, there was two little promo cards sitting in behind Me asking if the bottle is a W. I was expecting all gold cards behind it Foot birthday fodder. I mean both these guys like 40k, but hey, it's nice to have one tradable, right? Let's go 83 times 25 foot birthday impacts Give us a big boy. Come on. We need to see at foot birthday. Please EA sports It's not a foot birthday What is it Neymar? Let's go Neymar get in Let's freaking go man 91 rated Neymar Zito UCL Yes, sir One of the best players in this freaking game think about all that can be behind this bro Come on, let's go. We need five walkouts for the over to hit and we've already got one in Neymar Who else is in here? Oh Okay so Not terrible father you have some 85s. We have one two three four walkouts. I would take it when he chan All right, let's go. These are on my account. Let's go. I want walkouts For potentially crafting Royce. Come on boys. Come on. Oh Sergio Ramos welcome to the club. Welcome to the club Come on. Let's go. There's one walkouts and there's two bang Yes, sir. Yes, sir back to back. We move Dub Not quite three in a row, but we'll take it How I'm a dread right to back to back. Oh look at the links with cocaine. Yes. Yes now. Give me a knocky Williams, too All right, that's kept all right. All right So rigged For to go The pics are insane best 80k I ever spent. Oh Let's go. Let's go man See a ea shade. I appreciate the pack. Look. Thank you very much. All right, boom Let's go man. Come on one more foot birthday for the boys I'll take the inform. Thank you. I Will take the Yobu titch and the very last one Is gonna be Alexandro 85 rated bring it in bring it in mate. I'm doing Royce a hundred percent When he chan untradable in the club mr. Aguero Cruz and Ramos I just did how many was this three four five six seven eight nine nine We move


Hi everyone, thanks for joining our talk today. Today we are going to share our thoughts on maintaining Kubernetes cluster reliability with an SLO-driven approach. My name is Chen, and I work at Ngroup as an infrastructure SIE. We have another SIE here on the cloud joining us today. Welcome Tom. Hi everyone. All right, so our primary interests include running large-scale Kubernetes clusters while maintaining high reliability. So today's talk is going to divide it into three different parts. First, I will briefly talk about our motivations and the problems we encountered when we are doing reliability engineering on Kubernetes clusters. And then my colleague Tom will do a deep dive on SLO designs specifically for each Kubernetes components. And then I will share some thoughts about doing SLO management. Specifically, I will introduce our SLO-based learning mechanism to help us to monitor our system better. So, motivations. Today, cluster management becomes really increasingly challenging for us because our clusters really grow up really significantly. So, for example, at Ngroup, we have thousands of nodes in each cluster with millions of parts. And, you know, like as an SRE, our philosophy includes, say, our headcount, say, SRE headcount should only grow, say, subminiarily or even remain constant while our corresponding service grow up. So we have to deal with the exponential growth of Kubernetes part with only a small team. So, fleet management is really challenging, especially when we are doing releases. I think SRE, we always do releases, but sometimes we have to roll out new components for master components in Kubernetes, say, API server and schedulers. And somehow, like when you are doing releases, you have to consider reliability, right? If you release too frequently, then in the early days, you may not know what happened in the cluster, actually, right? Because all of the components interact with each other, and it's really complicated. Another story is about doing node-level component upgrade. Say, you are going to release a new version of Kubernetes. You know, when you are doing a release for 10,000 node cluster is a totally different story than doing a release for 10 node cluster, right? For example, let's say your Kubernetes is trying to list all parts. And in a 10 node cluster, your API server may feel nothing because the load is really, really low, right? However, for 10,000 node cluster, if all the Kubernetes are going to, like, say, list all the parts in the entire cluster and send a request to API server at the same time, trust me, your API server will shout out loudly. And you may encounter situations like out of memory or even high CPU load, which makes your cluster unusable. Well, you may argue that, well, the recommended way to do Kubernetes update needs to first reschedule all the parts from the node and then do a code update, right? However, this is not possible in real-world because you may not have enough capacity. Okay, so now let's talk about how we are going to do reliability engineering. So the general approach consists of three different stages. So the first stage is the production stage, which represents your service current status. And somehow if your production hit some issue or had some trouble, because maybe you triggered some alerts or some incident happened, then you are going to do, going to the design and the improvement stage, where you sit down with your dev team and your customer to figure out what happened and maybe you have to do a post-model review to figure out what to improve. Maybe it's some updates or maybe it's some alert management or some monitoring changes. Then you are going to the change management state. In this state, so you may follow your company's like change management policies. Maybe you can only do new releases during, say, business days under business hours, right? Or maybe it's about to be since giving days and you have to do a production freeze. No commit or no release can be pushed except for, like, say, emergency packages. So an SLO based approach is just a specific implementation of the general reliability approach. So you just use the SLO as a lead to go through all the different stages. From the production stage to the improvement stage, you use the SLO based alerting to trigger your incident response. Your SREs will focus in more on SLO alerts and then use them to drive your dev team to do improvements and new designs. So in the design and change management stage transition, you may say, redefine your SLOs if after, like, say, a careful review, you believe your SLO doesn't represent or doesn't align with your user interest. Then you may go through, like, say, the refinement stage to redesign your SLO and then maybe some align with some code changes going to the change management stage. In this stage, you will use SLO documentations and agreements. So let's say you and your dev team agree on, like, say, if the SLO is broken, I'm not going to push new releases until, like, say, SLO is back to the normal level. So this is a general SLO based approach and the philosophy under it. And then I will hand over to my colleague to do more deep lives on SLO designs for Kubernetes itself. Hi, everyone. I'm Tom and I'm going to talk about SLO design for Kubernetes. First, let's do a quick recap on the definition of SLO and SLA. SLO is a matrix that you use to measure your service health needs. For example, for HTTP server, they can be request error ratio or the average request latency. SLO is the quantitative target that you and your team try to achieve. For example, one can target 99% of the success ratio for HTTP requests that you must. And finally, SLA is the promise you make to your user, like what would the user expect to receive when you broke the SLO. For example, if somebody paid to use your HTTP service and you fail to deliver the 99% SLO target, you may compensate to your customer with cash. Sometimes internally, the word SLO and SLA are interchangeable. So back to our day-to-day drop as an infrared SRE, what do we care about the Kubernetes itself? As Chen mentioned before, at the anti-group, we run dozens of clusters globally. And we have internal users to use Kubernetes for different purposes. For example, provision pavement and transaction system database, as well as running batch jobs like machine learning. When we design our SLO, the first put is user first. That means SLO should represent the real user behavior and experience. Each user may have different purposes when using Kubernetes. However, we can summarize them in four categories. The first and the most important SLO is about resource delivery. Resource here often means holding or computing resources in a shape of deployment or step set. We care about delivery speed and success rate by using asking to create deployment in our clusters. Related to this SLO, we believe we need to manage port lifecycle precisely. This SLO target on a single port, but during it is creation, upgrade, deletion, behavior. We use this SLO to figure out our system overall health status. And the third SLO, we believe we should care is about whether all existing ports in the cluster are running as expected. If the cluster is having a network issue and the port are disconnected with other clusters, we may say the port entry or unhealthy state, then we can sum up all the health time of the all ports to calculate the last level port uptime. Finally, we know user often interact with API server directly for query or other behavior. So we care about API server success ratio and latency. Let's take a close look into one of the end-to-end SLO. We would like to come up with a metric to recognize the end-to-end port creation behavior and the user are happy to see a promise like 99% port should create it successfully to reach a ready state within five minutes in a month. As you can see, the port creation workflow in Kubernetes is a real conflict. In real production for Kubernetes cluster, you request the will pass virus customized webhook maybe a secondary schedule to reach cobalt. Sometimes you may have multiple user defined controller to register your port to different external dependence, just like CMDB network or metadata center. What a long journey for a port to create it. Our solution for measuring port creation SLO is to collection virus for the related audit log and event, put them into a centralized log and assign system with port name as the unique index. Then the log and assign system can identify the latency during each port status transaction. For example, they spend three seconds during webhook admission, 10 seconds during the scheduling and a certain second in imaging porting. Also, the centralized log and assign system can identify if the port is in the desired state, size user may have different requirements for creation latency. Some may tolerant to 10 minutes, but some may only tolerant to 3 minutes. Finally, we produce time series metrics to record the end-to-end SLO and let our monitor system describe the metrics and produce meaningful SLO based alert. So we will talk about alert later. After implementing several end-to-end SLO, we are facing new issue. Although we can leverage port event for log and assigns and the individual tracing, it is less of wheels to identify the case for some component issues and affiliates. When SRE receives alert about SLO affiliates, often we need to check different component dashboard to see if API server is returning better response or customer controller is not working correctly to patch a required label for the port to run. The entire process is like top-down approach. You first know something bad happened and then you start to read down on each individual component to find the path for. The good thing is about end-to-end SLO, it is less noise once your metrics is well designed. However, the root case search may take a longer time and may have your relay on past experience. To take a step back, let's revisit the flowchart of the port creation. Although we have 10 components in this graph, we actually can modern them in two types, namely synchronize the components and asynchronous the components. For synchronize the components, like API server, etcd, mutating, and the validity webhook, their interaction model is more stressed forward. Get requested in, process internally, and send the response out. For asynchronous components, just like scheduler, controller, or customer operators, their interaction model are more likely classical list-and-watch pattern and intent driver. They need to watch resource status change and then into the reconcile queue and do the reconcile relation repeatedly. So to design SLO for synchronous components, we believe we need to pay attention to request the error rate, latency, and also the component appetite. According to the Google SRE workbook, the other two golden signals are situation and traffic. But we believe that these two signals are less important and we can have another way to include them in SLO design. For example, traffic actually can be majority from the client side. Almost every component talks to API server and each of them has metrics to indicating the success rate to talk to API server. The client side monitoring a creation on the request the error ratio can somehow reflect the situation and the traffic condition. To design the asynchronous component SLO, similarly, we care about the reconcile error ratio and latency. Of course, component appetite says most of the component runs as a leader follower pattern. So we can define SLO for leader selection time and no leader time. The reconcile queueing system is another interesting accepted of asynchronous component. So we can design SLO for the queue depth and the on-economy.item to help us mature component healthness. Finally, to summarize our overall SLO design is a combination to top-down approach and the bottom-up approach. We first separate the SLOs into two layers. The upper layer is about end-to-end SLO, which we believe both user and SRE care, including the resource deliver, pod lifecycle, API server interaction, existing pod healthness. The bottom layer focuses more on individual component and we believe SRE and the depth scales more on this layer. Each individual component SLO helps us identify bottlenecks and the limiter in our Kubernetes cluster and then we can take concrete action to improve each of them. Okay. Next, I will hand it back to Chen to talk about SLO management. Thank you. All right. Thanks, Chong, for sharing. Now I'll talk about how we do SLO management. Specifically, I'll use an example of doing SLO-based alerting. Suppose we have an SLO, say 99.9% of the requests during the server are successful every month. So this means a successful request will, like I say, return HTTP status code less than 500. This is kind of simple and straightforward. So as an SRE, you can actually set up a very simple alert based on the ratio rate. As I listed here in this following promissious code snippet, you first define two recording rules, one to sum up all the SLI error count in a minute and the other recording rules to sum up all the total counting a minute. So now we have the per minute error count and total count. We simply do a division and compare it with 0.1%. And if the error ratio is greater than 0.1%, we alert. And if you have set up this type of alert in the past, you may already find out that this is very problematic because you will receive a lot of noise. As I demonstrate here in this hypothetical error ratio graph, so if you use the ratio rate alert setup, then every spike here, which above this horizontal line, will trigger the alert.  And then you may think about, say, how can we reduce the noise, right? A very straightforward thinking is to add a holding period. Let's say, if this error ratio continues for five minutes, then we trigger the alert. However, this is also problematic because I can easily bypass this type of alert but still broke my SLO because you can think about this situation. Let's say in the first three minutes, your APS server receives like 100% error rate. And then in the next two minutes, because there is no traffic, let's say there is no traffic. And so the error rate is like 0%. And then the traffic comes in again and it becomes 100% error. And then in two minutes, there is no traffic. This repeated pattern will cost you 60% error rate or let's say 100%. So again, this type of error fail to capture this type of like outage. So what can we do? So let's reconsider our alerting philosophy. We know that our SLO target should never be 100%. Otherwise, it's meaningless. That means like for the total requesting amounts, we can divide them into two parts. We have an expected portion that we want to serve reliably. It can be like 0.9% of the total requests. And we always have like a 0.1% error portion that we think we can manage the risk of it. So these risks can sometimes come from your dependency failures or you can encounter unexpected network hiccups. So this red portion we call it the error budget that we can tolerate. Then we can come up with our alerting strategy. So first, we set up our SLO target saying 99.9% the request to API server are successful every month. And then we implement our SLI metrics to monitor our SLO rate. So typically we have two metrics, the error metric and the total metric. And then we can figure out our maximum tolerable failed requesting amounts that is our error budget. And then we only alert if a predefined portion of the error budget are consumed in a short time window. So to demonstrate this philosophy, I set up two levels of our alerts. Say the first level is the page level. That means SREs needs to come up with a solution very quickly because it's really an emergency issue. So the page alert says number of SLI failures in an hour. If it's greater than 3% of the entire error budget of the month, the error budget calculation is a very straightforward simple math, 1 minus 0.999 times the number of total requesting amount. If that happens, then we alert so that we need to react on these failures. And we have another level, say the ticket level. This is to deal with those somehow mild situation. Say the SLOs, SLI failures in a day say it's greater than 5% of the entire error budget. So why we choose 3% and 5% here? So 3% in an hour. It means like say in 34 hours we will burn up all of our error budget. So we will miss our SLO target for the month. And for 5% portion in a day, it means in 20 days if we do nothing, that means the SLO will be broken. So to implement these alerts in practice, let's say we use from ECSA the example in this code snippet. Let's say I want to implement the page level alerts. So other than the per minute SLI error count and the SLI total count, which we use in the ratio rate based alerts, we need to come up with two more recording rules. One to sum up all the error counts in the past hour. Say we sum up the time for the permanent error count. This is also very straightforward. And we can come up with another recording rules to get the monthly total count. This can help us calculate the error budget very straightforward. So then we can come up with the final alert. The left hand side is apparently the hourly SLI error count. And the right hand side is the 3% of the error budget. Anyway, due to the time limit, I can only share this much about SLI alerting. So to do a quick recap on today's session, we basically talk about three different things. First, how we define our fine grained SLOs for Kubernetes clusters. We do component level and we do user level. So users may care more about N2N SLOs and we care more about component level. And we know how to use SLO-based metrics to do our monitoring and alerting because they are less noisy and can be very active. I don't have enough time to go through how we do SLO documentations and how we do discussions with our partners and their teams to reach agreements. But we can discuss them later. Well, in the future, since our Kubernetes clusters continue to grow and we need to continuously review our SLOs to align with our user interests. And maybe we will do like same monthly or quarterly SLO reports for like the entire fleet. Anyway, we already started another very interesting project on automation. We want to automate the recording process based on our SLO-based alerts and other SLO-based metrics. Anyway, thanks for listening and now we can take some questions.


The following files have been classified top secret by order of the administrator. General Notice 001 Alpha. In order to prevent knowledge of SCP-001 from being leaked, several or no false SCP-001 files have been created alongside the true file or files. All files concerning the nature of SCP-001, including the decoy or decoys, are protected by a memetic kill agent designed to immediately cause cardiac arrest in any non-authorized personnel attempting to access the file. Revealing the true nature or natures of SCP-001 to the general public is caused for execution. Warning, any non-authorized personnel accessing this file will be immediately terminated through Barryman Langford memetic kill agent. Scrolling down without proper memetic inoculation will result in immediate cardiac arrest followed by death. You have been warned. Item number SCP-001 Object Class. Data Expunged. Special Containment Procedures. Data Expunged. Description. Data Expunged. You stare at the screen. There's nothing there. You scratch your thinning hair and you click on different fragments of text and bits of source code. You squint your eyes and you will the words to rearrange themselves but the results are the same with every attempt. The confidence you girded yourself with is broken. You're daring edifice crumbles. There's nothing here. You take deep breaths, not intentionally.  Career death. Physical death. Death of everything left to you. So much for investigating workplace rumors. So much for one final indulgence before your life finishes its collapse. But something twinges in the back of your brain. A remnant of the strange image you passed over moments ago. A remnant of the wall that's built around nothing at all. Emit Patrosky. You turn. Office chair groaning as you do. Two people wait at the entrance of your cubicle, both in gray fatigues. Both armed. One is a towering bald man with a slight smile that's surely at your expense. The other is a shorter woman with mud-colored hair and watery eyes. I'm in it. Sergeant Grower cites security, says the man. He gestures to the badge pinned to his uniform. Special agent Morgan. Internal security, says the woman. She has no badge. Come with us please. Your heart thunders at her tone. And mucus drips down your throat. You had a plan for this. The magic words for every situation you've ever encountered in your long years at the Foundation. You're gonna have to talk to my supervisor. This doesn't have to be a scene, says agent Morgan.  Please come with us, Mr. Patrosky.  Don't make things worse for yourself. You follow the pair of officers down the hallways of CIDO2. People stare out here too. Everyone can tell. You're not important enough to deserve an escort. Not for any good reason. The sides main hallways form wide arteries, each splitting into narrow capillaries that wind deep into every crevice. You're led to a steel door set in a cinder block wall. Grower punches a coat into it, one firm jab at a time. Your throat hurts as you watch him. Your lungs hurt. You feel like your body is strangling itself. This doesn't have to be a scene, repeats Morgan. You are not religious. But you pray. It doesn't become one. The room is tiny and sparse. A flickering light in the tiled ceiling. A stainless drain in the tiled floor. A narrow chair bolted to the floor.   Full name, date of birth, and foundation ID number. Morgan asks while Grower taps on a small tablet. Emmett Petrosky, February 9th, 1981, and 542313, I think. Current position. Intel analyst. Then you're aware that you were attempting to access classified information. I was just following up on a rumor. You gulp. But the mucus feels like it's crawling higher and higher in your throat. I was about to contact Riza right when you showed up. There's some sort of security gap on that entry. I see. Morgan and Grower look at each other meaningfully. You can't hope to tell what is exchanged in that silence. We'll be back. You swallow as the two leave. And again, as the door slams shut. And again, as the silence sets in. Your body adjusts to the cold, but you shiver all the same. The chair was designed for discomfort. While slouching, its low back drives into your shoulder blades. You sit straight and it slopes forward ever so slightly. One side, the narrow seat offers no support. So you fidget, you turn and fidget some more. And time. Who's is by? There's no clock in this room. You haven't worn a watch in years and your phone is already out of power. Time drips as slowly as the pipe somewhere above you. It crawls as slowly as the distant droning siren. You swallow again and again. But the lump never leaves your throat. Minutes pass. Hours pass. Surely it's been hours. You give up on the chair and lean against the cold wall, but dripping above you has become irregular and the sirens have stopped. Heavy footsteps sound out in the hall. First going to the right and then to the left.  And time passes. You can't say how much. The pipe drips. The sirens drone. Footsteps thud back and forth. Drip. Drone. Thud. You swallow hard and breathe harder. You sink down the wall to sit on the floor and it's even colder. After a small eternity, the door opens. More getting grower walk in. It looks like they might have changed uniforms, but it's hard to say. It couldn't have been a full day already, could it? Did you sleep? Full name, date of birth and foundation ID number asks Morgan as grower taps on a small tablet. Imit Petrosky February 9, 1981 by 42313. Current position? Intelligence analyst. Then you're aware that you were attempting to access classified information. You, you already asked me that. You must not have given a very good answer then, says grower. Mr. Petrosky, please don't cause any more trouble, says Morgan. She rubs her temples and briefly closes her eyes. This is a very serious offense. We're only here to find out the facts. I didn't do anything wrong, you insist. I see, says Morgan. She and grower look at each other meaningfully. We'll be back. The door closes behind them. Time drips. Time oozes. It turns to the near frozen mess you've shoveled off your sidewalk every year. You swallow mucus. You breathe deeply. The pipe drips. Sirens drone. You sit on the chair. You lean against the wall.  See the foundation's deepest secrets, indeed. Morgan and grower walk in. Her hair is in a ponytail now and his stubble looks thicker. It could have been more than a few days. Could it? Full name, date of birth, and foundation ID number. Asks Morgan. As grower taps on a small tablet. Emmett Petrosky, February 9th, 1981, 5, 4, 2, 3, 1, 3. Current position? Intelligence analyst. Then you're aware that you were attempting to access classified information? I was about to call Riza. Like I said, that's beside the point, says grower. I can't count how many times you should have called them before you reached this point. Now you get to deal with us. Morgan doesn't look at all pleased about the prospect. Now let's go over how you bypass security measures. It's very technical. I don't think the two of you would understand. I see, says Morgan. She and grower look at each other meaningfully. We'll be back. The door closes behind them. Time drips. Time oozes. It moves so slowly. It might as well be solid. You swallow mucus. You breathe deeply.  The pipe drips. Sirens drone. Footsteps fall. You sit on the chair. You lean against the wall. You lay on the floor. You regret the terrible decision to ever follow up on something so ominous. Secret to health, riches and immortality indeed. Morgan and grower walk in. Her hair is hanging loose now and his stubble looks thicker. It couldn't have been a week yet, could it? Full name, date of birth and foundation ID number. Asks Morgan as grower taps on a small tablet. Emmett Petrosky. February 9th, 1981. 5, 4, 2, 3, 1, 3. Current position? Prisoner. Then you were aware that you were attempting to access classified information? I told you. I was just investigating. What was the project in question? Asks Morgan. I was doing follow-up for a 2025 report on securing internal file systems. Sweat feeds under your arms. You of all people should know how important that is. It's critical, right? And you decided to pry into deeply classified information? You should know the importance of SCP-001. How else can we be sure that it's secure? I see, says Morgan. She and grower look at each other meaningfully. We'll be back. The door closes behind them. Time drips. Time oozes. It settles over you like concrete over a secret grave. It drowns you like an uncaring, unrelenting ocean. You swallow mucus. You breathe deeply.  The pipe drips. Sirens drone. Footsteps fall. You sit on the chair. You lean against the wall. You lay on the floor. And you regret the terrible decision to ever follow up on something so ominous. The key to the universe's heart. Indeed. Morgan and grower walk in. Her hair is longer, isn't it? This stubble looks grayer, doesn't it? Has it been a month since they threw you in here? Months even? Could you even hope to tell? Full name, date of birth and foundation ID number. Asks Morgan as grower. Taps on a small tablet. Emmett Petrosky. February 9th, 1981. 542313. Current position? I don't know anymore. And you're aware that you were attempting to access classified information. I was going to use it. I see, says Morgan. And she and grower look at each other, but there's no meaning. It's just a ritual now. You can't bear to let them walk out that door again though. You just can't. I mean, it's 001, so it has to be something special, right? Money, health, something. I need something. And what did you plan to do with that power, Mr. Petrosky? Help the foundation? What else would I ever do with that? I thought we would never use it otherwise. It's not our mission. But what if we have to use anomalies to contain them? What if it's necessary? Did anyone ever think of that? I mean, think of all the good we could be doing. Your impassioned plea is met with the dispassionate disregard of the foundation itself. Your breaths are pained. The pair stares. They loom. Time drips. And they turn around. And they leave again. Your nose runs. Your chest heaves. Your throat aches. And the door opens again. Morgan and grower walk in. Her hair is longer. His stubble looks grayer. Has it been a month since they threw you in here? Months, even? Could you ever hope to tell? Full name, date of birth, and foundation ID number. Ask Morgan as grower taps on a small tablet. Each impact is dull as a fist against flesh. Emmett Petrosky. February 9th, 1981. 5-4-2-3-1-3. Current position? Trapped, maybe? I don't know anymore. And you're aware that you were attempting to access classified information? I was going to share it. I see, says Morgan. She and grower look at each other, but there's no meaning. It's just a ritual now. And you can't bear to let them walk out the door again. Just can't. I was going to share it with everyone on the intranet. And to what end? I mean, why share something this important?  Losing control of something like this would have proved it.  Like, we're the only ones who ever mess up. Grower stare says that everything is indeed under control. And Morgan says you are indeed the only one to make mistakes. Your breaths are pained. Your throat hurts. The pair stares, but you don't think they can actually see you. They loom. Time drips. And they turn around. And they leave again. Your nose runs. Your chest heaves. Your throat aches. The light above leaks. The drain below glows. And the door opens again. Morgan and Grower walk in. Her wet eyes have turned milky. His beard has turned white. Has it been a month since they threw you in here? The curdling sensation inside you says no. A month. The years. Full name, date of birth, and foundation ID number. Asks Morgan as Grower taps on a small tablet. Each impact is dull. Like a fist against flesh. Each is sharp. That's a gunshot. Emmett Petrosky. February 9th, 1981. 5-4-2-3-1-3. Carrot position. Trapped. Maybe. Alone. Perhaps. I'm here. And you're aware that you were attempting to access classified information. I was going to sell it. I see, says Morgan. She and Grower look at each other, but there's no meaning. It's just a ritual now. You can't bear to let them walk out that door again, though. You just can't. Anything would be better than that. I've been doing it for years, you say. None of you ever found out. What information? And to who? When. And for how much? The chaos insurgency. The new one. They're right, you know. The foundation failed it. Failed humanity. It failed itself. They didn't even need to pay me. I would have done it anyway. There's no other way to wake everyone up. The stupor is a sin. The sleepers are sinners.  Already. I'm a traitor. I know what I deserve. Your breaths are pain. Your throat hurts. The pair stares, but you don't think they can even see you. They loom. Time drips. They turn around. Time oozes to a near stop. And you. You take the easy way out. You lumber out of the narrow chair. There's no one standing in it. You'll be trapped forever if you wait any longer. Time will stop.  Time will die and you'll be left there.  Our gun raises first. It is a second behind. And it feels like hours before they level with you. And then weeks. And then years.  You bear empty eons as the bullets crawl from the barrel and lurch towards you as they finish a long, blessed journey to reach you. The pain is swift. Immediate. And final. And despite that pleasant embrace, the pipe keeps dripping. It drips. And drips. And drips. Steadyer than before. Faster. More. Immediate. And it hurts. You wake.   And the feeling of its half-coagulated morass runs a length of your throat.  It's gotten everywhere. Wow. How much is even left in your body? The computer went to sleep sometime during your stupor, but you remember what you were doing before that. It's not cold in your cubicle, but you shiver all the same.  You sniff loudly. Not again. Absolutely not again.  It settles on the site's RISA representative, X9191. Someone picks up the phone after two rings. Hi. Hello. I'd like to report a security breach.


Hi, I'm Zor. Welcome to Unizor Education. I would like to complete information which I'm giving to you about partial differential equations. My previous lecture was about heat equation as an example of partial differential equations. And well, what good does it actually take to give you an equation and not to discuss how to solve it, right? So today we will solve this equation. Not to the very, very bottom, but basically we will do whatever is necessary to bring us close to a solution as possible. This lecture is part of the course of advanced mathematics for high school students. It's presented on Unizor.com. And if you are watching this lecture from some other source, like from YouTube, for instance, directly, I would rather recommend you to go to this site and find this lecture in the directory, in the menus, because every lecture has very detailed notes to this lecture. And you can read it basically as textbook. There are some exams, not for every topic which I discuss, at least yet, but many topics do have exams. So everything is free, by the way, on this site and there are no advertisements. So I do suggest you to use the Unizor.com to access all these educational materials, including this one. Okay. So heat equation. What is heat equation? Very briefly, we were talking in a previous lecture about thin metal, let's say metal rod, with certain source of heat applied to one end.  So basically we are talking about function, temperature of time and distance. So at point A, which is at distance x from the source of the heat, temperature is growing, obviously, as the time goes by. We probably should assume that at time equal to zero, there is some temperature and then we're heating this end and the temperature is spreading down the road. So this is the function which we were talking about, function of temperature and coordinate. So at any given time, any point has certain temperature. Now, what we came up with is so-called a heat equation, which looks like this. Dt, that's from t. So partial derivative by time of this function should be equal to some kind of a constant, positive constant, second partial derivative of the same function by coordinate x. So that's our partial differential equation which we have come up with using certain logical and physical and mathematical considerations. This is the end of the previous lecture. Now, this lecture I would like to devote to solving this particular differential equation. And I will just present to a method which can be used. Now, it doesn't mean that there are no other methods. There are. And it doesn't mean that this particular method is good for any partial differential equation. It's not. It's not. However, in this particular case, it's good. And again, my purpose is just to get acquainted with the concept of partial differential equation and how to solve it. Not going into any more specific details. And obviously, these are subject to higher education. Now, in this particular case, I'm going to suggest one particular way of addressing this problem. So here is how. Let's find a solution as a product of two functions. Now, what does it mean? It means I'm actually hypothesizing. Let's assume that we have a function which looks like this. Now, if I will put this function into this differential equation, is it possible that I will find a particular effort t and g of x, which will satisfy this particular equation? If I will be able to find these functions, well, it means I found a solution. Now, obviously, as in all the cases with differential equations, including partial, you will have some kind of a result which depends on certain constants, because integration always brings some kind of constants which are unknown. And the only way to determine what kind of constants are participating is to know certain initial conditions. And in this particular case, there are two kinds of conditions which we really should know before we finally get the solution. And these conditions are. The first one is, what is the distribution of temperature before we apply this source of heat? Well, let's consider, for instance, that the rod has universal, along the length, temperature of whatever number of degrees. Okay, so we can assume that at time zero, this is equal to, well, some kind of a constant, whatever known constant is. Okay, this is the temperature of the rod before I applied the heat. Now, the second condition, now this is called initial condition. In theory, it can actually be a function of X. That's a more complete representation. But in a practical case, most likely this is a constant function, because the whole rod is probably at one particular temperature before we start our experiment. But again, not necessarily. Another condition, it's called boundary condition. And the boundary condition is, now if we apply this heat, what does it actually mean? Well, for instance, there is some kind of a fire or flame or whatever, which we put at this particular end. It has certain temperature. And regardless of the time, for all different moments of time, this is obviously a fixed temperature. So what does it mean? It means that T of T comma zero, because the coordinate of this end is zero, right? The length from the beginning is zero. So at any given time, this can be some kind of a constant. So that means that at a particular, like a flame, we are putting at this particular end. And it means we are always, at all time, keep this temperature at certain constant level. Now, well, does it mean that that's the general boundary condition? Not necessarily. Actually, it can be dependent on the time as well. It can be some kind of a function. For instance, we put some kind of a hot object at the end. But then this hot object also loses the temperature. We don't maintain the temperature at constant level, as in the previous case, when I put the flame, flame has a certain fixed temperature. But if it's just an object, then obviously the temperature is changing. So it might be some kind of a function. Now, another kind of a boundary condition. And maybe it is, maybe it isn't. Maybe if we maintain certain temperature on the other end of the road, or at some point in between. So there are certain boundaries which we really have to know before we start our experiment, certain conditions which will allow us to solve this particular differential equation down to every constant which participates in this solution. All right? So let's put aside all these considerations about initial conditions and boundary conditions. But we will just attempt to find some kind of a solution to this differential equation in basically by looking at the solution in this form. So let's try and we will see. Now, if we will succeed, well, great. If we will not succeed to find such functions, FAT and GFX, which satisfy this differential equation, well, tough luck. It means we just went the wrong way and we probably should look for something else. But obviously I know that this will result in some kind of a solution, otherwise I wouldn't talk to you about this. And this is just one of the methods which can be applied to solve partial differential equations of this type. Okay. Now, using this, what is partial derivative by T? Well, if partial derivative by T and this is the product, so X is basically considered to be constant, so this is like a coefficient. So basically it's just derivative of F of T. So it's derivative of F of T times G of X. Now, what is partial derivative by X, the second partial derivative by X? Again, now F of T is considered to be a constant multiplier and we just have to differentiate twice this, which means it's equal to F of T times second derivative of X. Now, using this, we will just rewrite our equation and it looks like this. F of T times GX equals A square F of T G of X. So that's our differential equation which we would like to solve somehow. Well, we can always rewrite it as F here, G there. So I will have F of T divided by F of T equals A square G second derivative G of X. Now, we have a very strange situation. Let me tell you, I was surprised myself when I saw it. Look, on the left, I have a function of T. On the right, I have a function of X, completely two unrelated arguments. So these are functions and these are functions. T is changing, well, it's a time, right? So it's from zero to infinity. X is distance from the edge of the road, which is also like from zero to infinity. So we have two functions, arguments are completely independent and yet these two functions from two independent arguments must be equal to each other. I mean, at least I'm looking for functions which are supposed to be equal to each other. How is this possible? Well, there is obviously the possibility. What if this function is identically a constant? Is it possible? Yes, there is a function of T. This is a function of T, right? It's a, well, it's combination of function and its derivative and ratio between them, but it's still a function of T. And it might be equal identically to some kind of a constant, as well as this thing might actually be equal to exactly the same constant. So I don't know this constant, but if this and this functions are equal to the same constant, constants identically for all possible values of T and for all possible values of X, then I can say that these two functions of two completely different arguments are equal to each other. So if I will be able to find such a function f of T, such that this thing is identically a, and I will find, I will try to find, to find function g of X when this is identically equal to a, then basically that would satisfy my initial equation. So let's do it. What these are, it's just two ordinary differential equations. This differential equation is kind of easy, right? Because what this means is df of T by dt times f of T is equal to a, right? So I wrote first derivative in the form which is usual to solve differential equations from which dt goes here and df divided by f is actually differential of logarithm of f of T, right? Why? Because the derivative from logarithm is 1 over this function f of T, but then the chain rule gives me a multiplication of derivative of f of T. So that's what it is. So the differential differential of logarithm of f of T is differential of f divided by f of T. On the on the right I will have a times dt. Now I can integrate it, right? And what do I have? Well I will have that logarithm of f of T equals a times T, right? Plus some kind of a constant. Well in theory I should have actually put f absolute value, but it doesn't really matter much because I will explain it in a second. Now let me just simplify it. I will raise e to these powers and what will I have? If I will raise e to this power I will have f of T is equal to e to the power of cc is basically any constant so I will put the constant in front as a multiplier. It's actually e to the power of c, but since c can be any constant I will do this e to the power at. Now whether I will put absolute value or not it doesn't really matter since again c is just any constant. Just simplifies the matter. I just don't want to go into really very very small details because my purpose is just to demonstrate the the avenue you can go to not a little pass which really is very intricate etc. So this is just a general solution to the left part of this. Okay now how about the right part? The right part is something which we already dealt with because what this e is is let me just rewrite it g of x is equal to a so it's equal to a divided by a square g of x. All right if this is equal to a then a square then second derivative is equal to a times g and then we divide by a square. So we have this and I will even put it in a little bit more familiar way like this. We already solved this particular ordinary differential equation when we were talking about spring. Now to again to solve this we have to look for a solution in a specific way and our specific way is look for a solution in this form. It's a linear ordinary differential equation and that's why you can really use this type of a technique where lambda can be anything including complex number and if you remember we were using complex numbers to to have solution which is oscillation based on cosine or sine when we were talking about the spring and obviously when lambda is imaginary this thing is using the formula of Euler converts into the power of imaginary number into cosine plus i sine. Okay so this is the general form we are looking for a solution. Now second derivative of this would be of the first one is lambda e to the power lambda x and the second one is lambda square times e to the power of lambda x right. So whenever we will substitute it e to the power lambda x will cancel out right and what will remain the remain will be as a quadratic equation lambda square mean minus a equals to zero right from which we can see that lambda equals plus minus square root of a divided by a. Okay by the way what is this a this basically characterizes the rod itself there are certain constants related to physics of the process of heat distribution how fast for instance silver is a more conducive to the heat than steel for instance so this that's what this a actually is all right from which we see that there are two solutions and since i have two solutions then any linear combination of these two solutions is also a solution so general solution is this c1 times e to the power square root of a divided by a x plus c2 e to the power minus square root of a divided by a x. So this is the general solution we found it it depends on two constants and if we will substitute this by the way into this you obviously will have identity like zero equals to zero. So we have both functions so what's my solution to original equation c of time and x is equal to product c e to the power of a t times c1 e to the power square root of a over a x plus c2 e to the power square root of a a x minus where we have no idea what c c1 c2 or a is so all these must be somehow determined based on initial conditions which we are imposing on the road and we have plenty of conditions obviously as i was saying we have condition of maintaining the road ages at certain temperature or initial temperature of the every point on the road etc etc so at this point i would like actually to stop because what it means is first of all a might be negative in which case i will have imaginary number here and that means i will have sine or cosine as a result if a is positive which i hope it is actually then this is just a regular real function so they don't have to worry about this so i hope that a is a positive constant and this actually describes how the heat is is distributing now in in your experience let's put it this way in your experience what what can you say about physics of that thing so you have some kind of a rod and this is the source of heat so let's say a rod had some temperature initially uniformly like zero or whatever and heat is also applied always at the same temperature like a flame for instance we just put at the edge of the of the road then obviously you understand that at any point x as the time goes by temperature will increase it will probably increase to a certain degree which is basically to accept certain temperature which is no greater than initial temperature right so as the time goes by the temperature will probably from the initial will go something like this where this is the temperature i call it t zero for instance of the edge of the flame which we are applying so that's how it should be right that's from experience temperature from the initial point as the time goes by goes there for any point for any fixed point for any fixed x so if this is x and the x is fixed right this is as we see some kind of a exponent so it's it's it's growing whereas whether it's growing according to you know certain our understanding can it will asymptotically finish at certain point is a big big question but in any case this is just one of the solutions which probably can can be applied now is the temperature going you see this is in infinitely growing function right that's an exponential function does it mean that our exponential function will be our temperature would grow exponentially well this is a very interesting point you see we if we are dealing with their real life metal rod it will not grow higher than this temperature primarily because the heat would just be distributed to the air and stuff like this now if this is let's say in the vacuum and you have a permanent source of heat then the temperature will grow indefinitely because there is no place this particular heat should go I mean yes eventually it will melt the rod and our experiment will obviously stop on this but in theory if there is no way to distribute the heat outside of the rod then the temperature will grow exponentially so that does make sense but in case you have certain other elements of this experiment like you are losing heat at certain at certain speed then this is much more complicated job and the equation would be much more complicated in this case so this equation is in assumption that there is no way to heat to escape the rod and that's why we have this exponent exponent now as far as this is concerned again obviously you understand that the further we go the slower the lower temperature will be right so maybe this component c1 should be zero in this case and this should really signify how the temperature will decrease with increasing x because this is again exponential function and providing c2 is positive this function is going down right so it's no wonder that this component actually would specify how the temperature is decreasing as we are further and further from the source because the source of the heat is further and the heat will take longer to reach that particular point right so that's also kind of a natural from our understanding case well that's it again i wanted to give you just a taste of partial differential equation not a complete theory or anything like this and that would complete this part of the course so i suggest you to read the notes for this lecture on unizor.com and good luck thank you


Anybody know what these are? Shaking them. Well, at this point I always like to give a little love to the Float On group. They do such an incredible job with this conference every year. Starting with Janane, of course, because she's, I think on her, I think that last count was 500 flights of stairs over the weekend. So congratulations Janane. You're working it. But Ashkan, Jake, and Graham just obviously do a tremendous amount of work for getting this off the ground. They've actually just made this community a living, breathing entity, which I think we all are very, very grateful for, as well as this group over here, this audio-visual. It's happening over here. So let's give them all a good... Well, before Don and I started it at peace, I was fortunate to play 12 years in the major leagues. And I played with some incredible stars during over those 12 years. And one of them was Junior Griffey up here in the northwest area. And just a tremendous guy, a tremendous, you know, emerging star and ended up just going into the Hall of Fame not too long ago. And I always had a lot of fun with Junior because I always used to say, you know, Junior, this game's easy playing with your swing. You should try playing it with mine, okay? It's a little more difficult. But Junior was a wonderful guy. And the reason I bring him up is we have a lot of emerging stars that are kind of coming forth in this industry as well. And I'm going to highlight a few of them, and I haven't told them, but there's a lot of good stuff going on. And I know there's a lot of you out there. They're just starting your new venture. You're thinking about opening a float center. And just, I know there's 100 successful out there, but I want you to take a look at what Float St. Louis is doing with Kevin and Jacob. Unbelievable stuff, what they're doing in St. Louis. We've got Annika Float in Chicago. Lindsay and Paul doing unbelievable stuff there. Knockin' the cover off the ball in Chicago. We've got Float, Baton Rouge, and I bring them up just because I love their name. It's spelled F-L-E-A-U-X-T in Baton Rouge, which is pretty cool. I like that. And they're doing great. That's Jamie and Curtis. We've got Kevin and Carol Johnson, Zero Gravity in Austin doing great works down there. And then we've got, obviously, Rochelle and Gary and Paul. Some with pathways to veterans. So there are so many resources out there for the ones that are starting their new centers. You need to pick their brains. They've got a model that's working. And I would highly encourage you to go talk to them. Everybody's very willing. I think we all know we're a community service out there for most of our communities. And so everybody's real willing to talk about their successes and what they're doing to make it successful. So real important to do that. So Don and I have had a nice run at that piece. I wanted to kind of just touch on maybe some synergistic therapies that you can bring in with your Float Center. We've had a lot of luck with massage therapy. And I know we have some massage therapists out there, so this isn't related to you because you are your bosses. But massage therapists tend to be like gypsies sometimes. So there is some work involved in bringing them on. But for the most part, we have had great luck with our therapist. It's a contractual basis. We do a 60-40 split with them. We give them 60. We take 40. And they drop about $5,000 a month to our bottom line. So there's some real money there. And I know you have two schools of thoughts. But if you're thinking of going that way, I would take serious consideration with that. And there's a lot of ways to market that as well. And I know Groupon was here. I think maybe they did a workshop or something. But it's really important. If you're going to do Groupon Floats, you're only getting $20 a float. They're somewhere similar to that. But if you have a massage therapist that's coming on board and they're a contract laborer, they're usually coming from massage envy, massage heights. They're coming from a corporate massage place. So they don't get to bring their book with them. So they need bodies. And we tell them that. We say, listen, you're going to have to market yourself one way or the other. And so you're going to give away a $25 massage, which is what we get from Groupon.  And so they're on board. And they're on board with that. And so we run 50 of those a month. We cap it at 50. And they can opt in or opt out. But it's really great because then we get to piggyback on top of that Groupon and discount a float 25%. And so now you've got, in the Dallas Fort Worth area, you're looking at about 4 million Groupon purchasers. And so every day they see that. And they see your spa. They see the float with it. They see everything that's going on. And they look at that every day. So it's basically free advertising to you. Plus they'll call up and they'll go, hey, love them. It's first time clients only for the massage therapist. It's their job to bring them back with a good massage. But then they'll ask, so what about this float? And then they just say, yeah, put me down for that. Well, as a proprietor owner, you guys are getting 60 bucks because you're going to have your default price, maybe at 80 that you rarely get. But that's what you want to keep it at if you are going to run a Groupon. And you'll end up getting a $60 float on top of that massage. So it's a really great way to do it. Some people are turned off with Groupon for whatever reason. But it's really worked for us. And I think there's an adequate model there for if you guys want to incorporate that into the equation for you. Lastly, in talking about our float cabins, we have just come up with our ETL, NRTL listed cabin. What is that and why is it important? The ETL is Edison Testing Lab. NRTL is a nationally recognized testing lab. And so what we're going to do is we're going to be testing lab and NRTL is nationally recognized testing lab. And so what's happening is the municipalities and the inspectors, they're wanting to distance themselves really from a lot of the liability. They don't know where to categorize us. So they throw us in with pool and spa, which is not where we need to be. But if you have that marking, that ETL and NRTL marking on your complete unit, they all have it. All the manufacturers have ETL listed components, NRTL listed components. They don't even want that anymore. They want the whole unit done. And it's just basically shifting liability away from them and under the testing lab, which is great. It's costly and it's tiresome. And anybody that's dealt, we're all pretty unregulated for the most part.  And it's like, wow. And then you just, you're wasting time and money and energy and it just becomes, it becomes kind of bothersome. And I know there's some people out there that I've walked through it with. So it's not fun. And so we're real proud that we've gone through that and we have it. And it's going to be important for the clients going forward. I hope it doesn't go that way. And that kind of leads me into piggybacking with the Float Tank Association. If you guys haven't become members, I would highly recommend it. This has been kind of a dead entity for the last, you know, 10 years. But powered by numbers is how we're going to do it. And we can, you talk to anybody here, if we get the good enough group going, we can start setting our own standards and writing our own rules and really dictating how the states and the municipalities are going to look at us. So I would highly recommend you go on. I think they're on the second floor, but they're up there and go ahead and become a member. And I think we'll all, you know, reap the benefits of that. And I think we're going to be doing a new board at some point. But this is really just, we're trying to re-kick this off. So we would appreciate your, you know, your involvement in that. So lastly, before we get to the trucks that we brought in from Texas, all the way down from Texas, all your food trucks, we're going to give away a cabin. All right. There's a lot of creative people. I mean, they dog-eared it. They accorded into it. So I'm going to, I guess I'm going to do the honor here. And nobody loses today, though. Okay. Whoever doesn't get picked, we're offering our last-year price on our flow cabins, which is, our business package was two flow cabins for $35,000. So you get two cabins, no add-ons. Everything comes standard. If you, the only other cost is going to be shipping and getting two installers out there to put it in. Another thing, a couple other things before I pull. This person must be present today to win this. Okay. Else we keep drawing. Flow cabin is for retail only, not residential. Non-transferable and no cash value.  You have one year to get this done. If you want it tomorrow, you got to give us six to eight weeks. That's basically our turnaround time. So hopefully you're that excited. Uh-oh. What is that? That's your business card. That doesn't count. All right. Here we go. And we're looking forward to this. This was actually a dream of Float On. We weren't privy to it, but when we, when we let Oshkahn and Graham and Jake know we were going to do this, they said, you know, we were waiting for one of the manufacturers to do this. So we were happy to do it and we're looking forward to presenting it to somebody. And that somebody is Davon Locke. We got somebody there. Come on up. Look. I can't see you. Up there. Now where are you located? You're in BC. Woo. All right. We've got one in Cochran, Alberta. I think we can get one up to you. All right. That is all I have. You guys enjoy the, enjoy the lunch and we'll be up at our booth. If you have any questions regarding anything, we'd love to talk to you about it and enjoy the rest of the conference.


Namaste everyone. Hope you all are doing well. I am Sandeepa Sen, senior dietitian of Manipal Hospital Jainagar. Since the lockdown period has taken over our enthusiasm, activities and diverted our mind into the social media, why don't we utilize this time to dedicate ourselves into more functional and practical activities like maintaining a proper healthy diet? I am here to advise you some particular diet tips which will be useful for your health. Boasting immunity is a prerequisite to keep infection at bay. Boasting immunity doesn't happen overnight, but for sure a consistent effort towards a good diet will definitely boost our immunity over a period of time. Today I am going to share some few points which will be really really useful in relation to boasting immunity. The first most important thing is protein intake. We need to have not only good quantity of protein, but also a good quality of protein in our daily diet. How do we get good quality of protein? Well, there are vegetarian and non-vegetarian sources which have become part of our daily diet, like pulses or legumes, milk on milk products, nuts, oil seeds, fish, lean meat, eggs, etc. These all are the sources of good quality of protein. Next nutrient which will really boost our immunity is Vitamin A and Vitamin C. The sources of Vitamin A are all colourful fruits and vegetables like carrot, pumpkin, dark green leafy vegetables, etc. and other sources of Vitamin A are fish, liver, chicken, milk on milk products, etc. Vitamin C which is known as antioxidant is also helpful to boost our immunity and the sources of Vitamin C are lemon, amla, mosambi, orange, etc. Some vegetables which are also rich in Vitamin C are capsicum, cabbage and drumstick leaves. The next nutrient is antioxidant minerals which again will help to boost our immunity and work at cellular level and micro level. These two nutrients are zinc and selenium and we can find these minerals in eggs, oil seeds, pulses and whole grains. Last but not the least is our dietary fibre and probiotics which should be a part of our regular diet because remember the most important organ which will boost our immunity is our gut microbiota. If our gut microbiome strengthens the lining of our gut and doesn't allow any pathogens to enter our body it's definitely going to keep us away from any infection. I'm going to end my session today. Keep yourself hydrated, drink at least 3-4 litres of water every day. Do exercise every day. I know this is a very tough time for all of us but definitely we will overcome this situation. Maintain social distancing, stay at home, save life, follow the diet and be healthy. Thank you.