Hi, my name is Nicholas Spiegelberg, I'm with Facebook Messages, and I'm going to let you for the first couple of minutes before we get started here, see my big, beautifully bald manager talk about Facebook messages for a couple of minutes. Facebook message product. And we realized pretty quickly that the problems that we face are actually bigger than just Facebook. A lot of sharing should be simpler than it is. But I want to reach out to my cousin Danny. I have to use text message because he just graduated high school and that's all he really uses. My grandmother, she only uses email, I can't send her a Facebook message and expect her to get back to me. I'm keeping this look up table in my head of how to reach out to each person. Why isn't this easier? Why don't all these technologies work together? All you just need to send someone a message is the person and the message, and that's it. People should share however they want to share. And if they want to connect via email, they should be able to do that. So we're giving every user of Facebook the option of getting an atfacebook.com email address. This product is an email, but it allows people who do use email to connect with the rest of us. We've modeled this entire system after chat. There's no subject lines. There's no CC. There's no BCC. When you press the enter key, it sends your message right away in real time.  It's always seemed like a problem to me that when I look at my email, occasionally I see a message from my mother, the same between a bank statement and a bill. We should be able to do better than that. So we created the social inbox. When you log into Facebook and look at your messages, all you're going to see by default are messages from your friends and their friends, and that's it. Once you give out your email address or phone number, it's just a matter of time before it winds up in the hands of the wrong person. And your only options at that point are to change it or live with a compromise. We believe people should have control over what gets delivered to their inbox, no matter what the medium. And so with the new Facebook messages, if you change your privacy settings, such that only friends can send you messages, then we'll actually bounce emails that come from anyone who's not your friend. By default, the inbox only shows messages from your friends and their friends. But if your grandmother who only uses email sends you a message, and it finds its way into the other folder, you can always promote it into your inbox, and from then on your conversations with her will be front and center. And of course, you can block anyone or any email from sending you messages. Between this and our privacy settings, it's like your own personal do-not-email list. The most important part of messages is context. You know, email is organized by subject lines. But when we look at the subject lines for Facebook messages, the top three were no subject, hi, and yo. It's not a great way to organize conversations. We decided to organize conversations around people, not subject. It also made sense to bring together all the different conversations you've ever had with one person into a single thread. You know, whether those happen in chat or SMS or email, those all now live in one place. If you want to reach out to your friend via text and they want to respond via email, that's possible. If you want to use chat while they're using Facebook messages, that'll work too. And all those different communications will all live in one conversation.   My grandmother had that. It was a box of letters written by my grandfather from when they were dating. That kind of thing is increasingly rare. And I'm left to ask, where is my box of letters? It's locked up on a phone. It's locked up in email. It's not in one place, until now. Americans, we love to act sentimental, don't we? Hi, so my name is Nicholas Spiegelberg. I am an engineer, software engineer with Facebook, in particular, I joined Facebook a year and a half ago, right when this messages product was just getting off the ground. And I joined in working on the new storage layer that we're using to power this messages and the high volume of data that goes through it. So I want to talk a little bit about the technology behind messages. And in particular, the open source technology with messages. We use a lot of open source solutions. We make sure that we publicize those open source solutions as quickly as possible. I mean, for us, it's really beneficial that we don't have all the secret sauce here, that we're just contributing back with the community and working together to build great scalable solutions for technology. So, messages product. I don't know if you've seen the new one, more product side. Again, I'm more infrastructure side. But the big thing is being able to carry on a chat message with somebody else who's going over SMS and not having to really understand what the medium is that you're giving these messages by to just have it all sort of be seamless and to have it all being focused on the people, right? The subject isn't, hey, yo, the subject is my friend Will Bailey, right? That's the difference. So the major pieces that we had for the new Facebook messaging product, was we needed a front side client product, right? We needed a mail pipeline to handle the new email. We already had sort of an XMPP layer with chat. We needed to add spam filters to make sure that you only got emails you cared about. Then we needed an application server to sort of move a lot of the load that with smaller services, you could just keep it on PHP. We needed to move that to something like Java or C++ where we could handle the load better. And then the main area that I'm working on and have expertise on is the last two's areas which is the storage and migration. So what sort of things do we need to store? So the four main areas where we can communicate here within the Facebook messages product are our traditional messages pipeline, which of course already had tons of data in it. Our chat, which we went from having sort of this temporary thing that goes away every week or so to being something persistent that's interleaved with your messages, that you can chat with somebody who has an email address. You can chat with somebody who has an SMS. All that stuff is logged and it's one nice big personal history together. So what sort of volume is our infrastructure having to handle for this new messages product? We haven't taken measurements recently, but the most recent measurements we sat down and did was the monthly data prior to launch, which is November. And at the time, we were doing 15 billion email messages with our legacy email product. We were doing 120 billion chat messages. And obviously our regular mail messages were a little bit larger. They're about 1k when we looked at it. And it was about 100 bytes for chat messages. But still, between those two, that means that we're getting in every single month around 25 terabytes worth of data that we need to store. The other interesting thing about this data is that this is constantly growing. I mean, the number of people that are adding messages versus deleting messages, the deletions are such a smaller portion. So we need to have a data store solution that can not only handle this monthly volume, but can handle this monthly volume coming in for years. And as the data store needs to grow. So what's really interesting is for our data back end, one thing that we did not choose was MySQL. We actually decided to use HBase for our small and medium data.  For attachments and large messages, we already had a really good existing infrastructure with Haystack, which again is a sort of a separate product that they're working on trying to get that more public as well. But we have them handle attachments for us so we can really focus on sort of the small to medium data load that's constantly growing. So the basic gist of our architecture is we have this client front end.  And in Facebook terms, those shards, you're talking of thousands and thousands of servers that are sharding for a single table. That's not really acceptable. We can handle smaller levels of shards, but we really would like to have less granular sharding. We would like to have ability to grow our cluster as we need to without needing to reshard our entire database. So we have these cells for HBase, for our smart scale storage. And we have a user directory service which uses ZooKeeper to map every single Facebook ID to what sort of cluster. So your traditional sort of sharding message. So the client goes, what's the cell for this user? Sponsor back cell one. After then, the client just can talk directly to the cell, which has the application server, which has all the storage information. The application server can then contact Haystacker HBase as needed. And again, like I said, we have multiple shards of these cells, but versus sort of MySQL, a single cell contains a lot more data. We have less shards, and I'll talk about that more in a minute. So what sort of open source solutions are we using here? I mean, there's a couple on here that are very popular already. We have memcached, right? So you can throw a memcached box in front. And all of a sudden, a lot of your read worries go away, right? So you need to have decent read performance on the back end. You need to have good write performance. And you really need to now worry about sort of the maintenance headaches with having to shard, with having hot regions, stuff like that. For ZooKeeper, ZooKeeper is used actually for our user directory service, which is doing this sort of mapping. It's an eventually consistent data store, but it's really meant for small amounts of data. It's not meant for multiple terabytes worth of data. HBase is really of the five. It's the most controversial. It's the one that we had to talk about the most. It's the one that we had to do sort of the most of development on to get up to handling this sort of data volume. And it's basically a database storage engine for message data. The buzzword is no SQL, right? But basically, we had to evaluate a lot of different data store suites because we realized that this sort of sharding problem with my SQL wasn't going to go away and it was going to require a lot of effort if we wanted to stay on that. So HBase uses, even underneath it, HDFS, which is a distributed file system. So you can basically think of, say, 100 nodes as a single file system server. It automatically handles. If a server dies, it handles doing multiple replication, making sure you have data locality between your application and your file system. And then finally, we have Hadoop for a lot of map reduced jobs. We had a question a couple months ago, like, how much do we use MapReduce? And my co-worker immediately responded, like, this is our bread and butter. Like, we're going to go down if we don't have something like Hadoop to be able to handle all these asynchronous tasks that we need for application, the application and migration, doing caching, doing snapshots. So the other ones are fairly well known. The big mystery here is HBase. So what exactly is HBase? HBase is a strictly consistent NoSQL architecture where what you have is you have a ZooKeeper cluster. So that's doing eventual consistency, but you're being able to have, say, five ZooKeeper nodes so you don't have a single point of failure there. The ZooKeeper cluster says, who's the current master? The master's job is to handle if a server dies to do recovery, to do load balancing. And the basic idea is you have these region servers, so they're your individual data stores. But your actual data is sharded logically versus physically. So each region server has a number of regions. And so say you have 10 regions per region server. If you have a single server die, then you can distribute the load, right? Each new server only takes one-tenth of that load instead of your traditional thing where maybe you have a master's slave and you're doing double reads, well now all of a sudden you've got a 200% increase if one of them dies. The main sort of ideas to keep in mind, I'll get a little more technical at the end, is you have this region server that's writing new database, it's data, it's writing it to a log. So it's all doing sequential writes on disks. One of the problems that we have with MySQL is that you can get into cases where you're doing a lot of random writes because of the tree updates. Whereas you have this log that's all doing sequential writes on disk. And then as an asynchronous task, when the log gets too large, it flushes that to a basically like two-level B-tree file called a store file. So basically when you do a get, you're basically doing an n-way merge of multiple store files. And when that n gets too large, of course your get performance is becoming problematic, right? You're having to do a lot of disk reads. That's where this compaction comes in to unify those n files into one. And then the last thing is if you have, like I said, the region server has multiple regions. If a single region gets too large on a single server, it can split. So it can split that into two regions, which again, you get sort of this scenario where maybe a region server starts off with only 10 regions, but it doesn't have a lot of data. Therefore, data recovery is really quick. There's not a lot of stuff to replay. Well, all of a sudden your data starts growing, but the splitting comes in and now instead of having 10 regions, you have 40 regions. So now you have four times the amount of data, but you can distribute this load now into 40 parallel tasks, right? So you can have fast recovery of a single server going down. So choosing HBase, you know, it's a really hot topic of what sort of no SQL data store should you use, what's the trade-offs? I mean, I think people tend to get very zealous about this and they have their favorites and they say why everything else is bad. We don't really look at it that way. We were really looking for a very pragmatic solution, which was very slow time to market. Something that's interesting is one of the big competing no SQL data stores is Cassandra, which actually the three original developers of Cassandra are on the team that's using HBase. And Cassandra is a great database system. It's just that when we sat there and evaluated for this exact product, what do we need and what gives us the lowest time to market, we saw that HBase had a number of advantages. So these advantages were it has a strong consistency model. A lot of people think that eventual consistency is not that big a deal. It's not that hard to program in. Good luck if you think that, you might not be doing it quite the correct way. It's really rough, even with ZooKeeper and having, say, a thousand lines of code in HBase to deal with this eventual consistency. We had a lot of problems. We had a lot of really subtle bugs that show up. The biggest problem with eventual consistency is here you do a write on X, you immediately do a read. You really have no guarantee that you're up to date on the data when you do the read, right? Because you could, your write doesn't go to all the servers at once, so you could be getting stale data immediately after you wrote to it. So that was a great thing to us about HBase. It also had this automatic failover. Like I said, you have these region servers that if they die, it can automatically parallelize recovery.  Again, and this is really great when failure is the norm and when you need like UDP class machines that need a lot of servicing with like MySQL, you get into these issues where MySQL, you do this master sort of slave thing, you shard it. You have say a thousand servers, right? So 500 masters, 500 slaves. One server dies. Well, you got to get ops on it right away, right? Because if that's, say it's a master dies, if the slave dies, you just had data loss. Whereas here, it's automatically redistributing the load for you. We had situations where in our clusters, we had 10% of the machines down while we were doing a dark launch. And you just didn't notice it. It automatically failed over for you. It automatically handled the load balancing for you. And having to get those 10% of machines online was sort of an asynchronous background task instead of something that you really had to worry about right now, which is a huge benefit for us. So that talks about sort of the automatic fail-able over the multiple shards, preventing the cascading failures that you can balance this stuff. Being able to do compression, we do LZO compression. We get like a five to one ratio on the disk, which is really great. Let's see, read, modify, write, operation support, like counter increments. We have a lot of applications that overwrite data or that increment data. A lot of HBase was optimized for sort of the counter stats use case. And MapReduce is supported out of the box. Interesting thing, you look at the old SVN revisions. Doug Cutting, he's an old Hadoop guy. You can see him and SVN blame a couple times here. There's this whole ecosystem where the same people that worked on Hadoop and HDFS were also working on HBase. And we have a large data storage team. So it's great that we can take these data storage guys that have experience with these subsystems. We can easily bring them on and have them help out with the HBase use case at times. And you're not having to necessarily separate like your data analytics team and your database team, which is good. HBase uses HDFS, like I said. It has a lot of really attractive features. When we were looking at, say, Cassandra, we were going to have to do very strict consistency model. Whereas HDFS just had this out of the box. They had checked sums. I know Cassandra has been working on getting some of those things in. But the nice thing is, is here we had these developers that had three years' experience that knew exactly what was wrong with HDFS, exactly where the little plan points were and how to administer it. So we really only had to focus on the database side of things. We didn't have to focus on the data loss side of things due to file system replication. Like I said, it's battle tested as well. It's running petabyte scale clusters. A lot of our Hive clusters, our Hadoop clusters, HDFS is sort of the core file system technology underlying all of that. So that doesn't show up that well. So interesting thing, a lot of people ask about sort of the cluster layout. Like I said, we have multiple clusters that we're using to handle this messaging product. But we basically, when we're talking about a server cluster, we're talking about 100 servers, we're sharding them so that you have a switch per rack. And then you have a master switch connecting them. So you have 20 servers per rack. So you can get a lot of, when you're having to write to three replicas, one of the big problems that you get into is you have network IO problems now, right? So if you can get a lot of data locality and if you can get a lot of rack locality, so maybe you're only having to send run replica actually over to the master switch versus if you're doing sort of like a Cassandra model where you're writing all three of them simultaneously, you might be flooding the master switch. So we basically separate it into 20 servers per rack, five racks. We try to isolate all of our components so that we can really trace if a master goes down.  So there's a lot of big subsystems and processes that are all interacting. So being able to isolate that is really good for debugging capability. For the region servers, we have basically, we try to go for more hard drives because it's better to have four one terabyte hard drives than to have one four terabyte hard drive because you start getting bottlenecked on the disk writing there, right, where you can parallelize that four ways if you have four one terabyte drives. So data migration. It was a big problem. Like I said, you're getting 25 terabytes of data a month coming in. We have this existed messages product. People expect their old messages to work on this new format. We're dealing with huge scale. This was all stored in MySQL in the background, and we have to go to HBase for the win. OK, so one of the biggest problems is that MySQL is normalized. So we had three main tables that we basically had to denormalize, migrated user over, and it's one insanely huge join of terabytes worth of data spread across many different machines, slightly problematic. Yeah, so multiple terabytes of data spread across machines. Failure is the norm, and you get really odd problems. So one thing that was kind of anecdotal that we discovered is, as you saw in there, you basically have an inbox for your friends and then an inbox for other people who aren't your friends. I guess we have these teeny boppers in America that they don't want to be tagged in photos.  But yeah, that's great when you're having to move terabytes and terabytes of data over, and depending on what time you ask, they either have no friends and their account doesn't exist, or they have 500 friends. So we had a lot of interesting problems. And a lot of times, what's the failure the reason for? In that case, the failure wasn't even anything operationally that was wrong. It was that users were destroying and creating accounts. And I guess we still let them do it, so more power. So basically, we get a snapshot of the MySQL data, and we store it into HBase. We store it in sort of a flat structure that's not really organized. And then we join the data with MapReduce to actually put it in the table in the organized format. Load it into the final cluster using bulk loaders. So something that's interesting is a lot of people will do HBase performance stats, and they'll talk about put operational costs. One of the benefits that HBase has is if you're importing data while you're serving live cluster data, if you just do a bunch of puts, well, then you're worried about your synchronization locks. You're intermixing your live data with this sort of background data that's not as performance oriented. It's great if just off in the background, you can create these Btree tables or store file tables yourself, and then just shove them in after you created your entire shard of the database. So that's what we do with these bulk loaders, to sort of take the load off our live data as we're importing millions of users in at a time. Let's see. Yeah, let's get this. I'm not a migration guy. I just work with them on TV. OK, working with HBase and HDFS. So our main goal, one of the big problems with a lot of these no SQL databases is data loss. Yes, a lot of the algorithms sound wonderful on paper, and then you look into the gritty details of what happens if server A dies, followed by server B, followed by server C. Oh, you get data loss, but that's not a big deal. Well, with Facebook messages, people tend to have this tiny little strong opinion about Facebook for whatever reason, so we got to make sure we're not losing your data and protecting it. So the goal of zero data loss, that was one of the main things we worked on. That was the main thing we were worried about was making sure that no users lost data, that in the face of normal failures, you could have crazy scenarios happen, and we would still be able to recover for it. So one of the main problems was HBase didn't have sync support, so if your server died, you lost, say, the last second's worth of data, because HDFS, the master and the slaves weren't communicating properly. So we added that in. We added ACID-compliant rights at a row-level granularity so that we could do ACID sort of transactions here. We did early log rolling, so we found a lot of cases where we did a lot of tight integration between the file system and the database, so the second that we saw everything by default is stored in three replicas. You could get into these weird scenarios where one slave dies, so now you have two replicas, but you go on your merry little way. Now another slave dies, you have one replica.  But now you have a J-Bot disk with only one replica, and you could potentially have data loss. So we did a lot of tight integration to make sure the second you went down to two replicas, we started triggering re-replication, we started rolling off to a new log so we got a brand new three-way replication scheme. And then we also did a lot of stuff with the HBase master redesign. One of the fundamental problems that you hear a lot of times with HBase is people will say, well, it's a single point of failure, right? Which is normally a huge problem. We've basically kind of moved HBase from being a single point of failure to where you can have a master, you can have multiple backup masters that are willing to come in, and then you really store your critical information that needs to be preserved across server loss in ZooKeeper. So like I said, it's this eventual quorum that we needed the fast writes that was really sort of tricky because it was eventually consistent. But the great thing about it is now we can have five servers.  Okay, I mean a lot of it was sort of getting down to the nitty gritty. I think one of the problems that you hear a lot of times is people will do this amazing new technology and they'll want to add all these cool features. I have added a new feature to hear called Bloom Filters, which is doing probabilistic caching algorithms and sounds great, and I got to read a lot of PhD articles about it.  And then my boss comes around here and he starts looking at the decompression code and goes, oh, we should buffer those RPC calls, 20 X performance gain. A lot of it is really sort of understanding your system, understanding where the bottlenecks are, getting down to the nitty gritty, making sure that you're not sitting there going, well, I'm not exactly sure how this works. We can't afford to say I'm not exactly sure how this works. We get a random unit test failure that happens one out of every hundred times. It means we don't understand what's going on. We got to go figure that out. So we did a lot of work on really understanding the system, really adding small availability and operational improvements to it, adding rolling restart so we can upgrade versions without needing any downtime for the users, being able to interrupt any long running operations. So a lot of times you create a server and then it just stalls for a minute because something weird's going on and you're like, I don't know what it is. We had to find all those little areas so that we could shut it down in a second, restart it when we needed to. HBaseFSCK to do background file system checking for us, because we're not just storing your data, we're storing your data, we're backing it up, and then we have separate utilities that are going there and scraping and making sure that both those systems are saying the correct things. Like I said, performance, bloomfield filters, column seeking, a lot of this stuff was making sure that we minimized our disk seeks, making sure that we parallelized in the right locations, really looking at our exact use case, and instead of just adding a bunch of features that look cool, adding features that would help us launch Facebook messages. Yeah, another interesting thing is, so I think another important thing that we did was feature isolation. I mean, obviously with a bunch of new products that we had or integrating them together with HBase, HDFS, Hadoop, we really wanted to sort of isolate problematic areas or just isolate, you know, if we don't know how a feature works, we shouldn't just keep it unable on production. We should disable it until we can learn how it works before we enable it. One of the big things was doing those splits was sort of a temperamental sort of thing where you could have occasional data loss. We had a lot of people working on that, but we thought, well, that's not our focus. Our focus is consistent data. We can just manually do the splits. We can control them. We can automatically shard them.  Well, your region just got renamed from this to this to this to this, and it's a nightmare to debug. It's great if you can just have a consistent hash key that you can look up the region over a period of weeks and sort of do performance measuring on that. So let's see, other operational challenges. One of the big things we tried to do here is since we had such a huge amount of intro structure, we had a dark launch that was basically mirroring our existing inbox traffic. So when we were, say at like 1% for release, in dark launch we were at 10%. So we were always making sure that we were scaling our dark launch above and beyond and trying to find failures well before the users would find them. And, you know, the best data to work with is real data. You can sit there and run benchmarks all day long, but in the end, if you can replicate the data, if you can have it running over months at a time and make sure that you can find all the little weird bugs that happen once a month, that's really the best way to do it. Let's see, we did a lot of deployment monitoring sort of stuff, tons of scripts, dashboards. One of the things that's great is you go and look here on our HBase and we just have tons and tons of graphs and we sit there and analyze the graphs. Since we're doing manual splitting, we can sit there and see how a region is behaving over a month at a time and do certain performance tweaks, understand how the system works as data grows and as certain ratios between our files change. So the last area that I really wanna talk about is working within the Apache community. Like I said, personal opinion is Facebook is a very open source friendly company. I didn't have to go sign a whole bunch of waivers just to get started on this project. In fact, I didn't realize that companies made you sign waivers until a couple months after I was working on this and they said, oh, that's not us. And they really want you working closely with the community. We started, HBase wasn't like this thing that Facebook built and Facebook made popular, right? This is a product that's already been going for four years. It's not like they had this sick community. They already had this wonderful community of multiple companies with smart people that were working on this product. And we didn't wanna come and be the flash in the pan. We wanted to come and work because we thought we could get our product done faster and help them get their products done faster if we work together in an open source environment. We had in-house expertise in both HDFS and HBase, which again, like I said, it needed to be tightly integrated, so we tried to bring in people from even outside of messages within Facebook to help work with this open source community. We tried to, when we were evaluating different sweets, like Cassandra, like HyperTable, we weren't just looking at what features they had as well. We were looking at like, what's the community want? What are the community's goals? Is what we're doing helping the community and is what the community doing, so hopefully helping us as well. And we try to increase community involvement. You know, there's active encouragement to submit diffs and patches whenever possible. I mean, I personally try to stay within a week of the actual open source branch. So I mean, what you guys are seeing when you go on to hbase.apache.org, you know, Facebook doesn't have this huge amount of secret sauce in the background. You're roughly seeing exactly what Facebook's using. You're seeing patches roughly as we create them. We really wanna work with the community. We think it's in our best interest and in the community's best interests if we're being open and sharing. Additionally, that means that like, I'm a committer now with the HBase project. We have another person who's in the primary committee and we're actively encouraging, you know, when we brought in co-ops, tried to get them to work with it, tried to get people outside of the project that had an interest in running HBase in their application to try to commit to the community, not just have it be the little HBase group that's doing all the work. And I mean, there were massive feature improvements that we did with the community and we couldn't have done without it. So we had this HDFS 20 append branch. So we not only had to work with multiple organizations within HBase, we also had to work with multiple organizations within HDFS to try to integrate all this stuff together so that we could have zero data loss. We did an HBase master rewrite which basically took two of the people from HBase, two of the people from the open source project. I mean, they sat there for hours and were hashing out the design of this product and building it collaboratively. And continually interacting, you know, you can talk about major features but at the end of the day, when you talk about working with the community, it's a lot of little day-to-day stuff. So an interesting problem that we had was about a week before our launch, we were getting extremely large responses, people texting up a storm and they go over two gigabytes worth of data that we're now RPCing. We had to learn how to shard that. And a perfect example is we saw this and we went, ah, we have too large an RPC. Immediately what we do is we go on IRC, we start chatting with the other PMC developers saying, have you seen this problem before? What's your thoughts? We have a committer with Stumble upon who goes, oh yeah, well that's actually a good feature to add. I've been wanting to add that for a couple weeks. It just wasn't, it was next on my docket. So you guys need it within a week, right? So he ends up writing the permanent feature. Meanwhile, we have another guy within our team that's doing the sort of a lightweight feature, doing performance testing on it that makes sure that this is a theoretically sound implementation before we delve into the full thing. He delves into it, emails us to patch. We go, we do peer reviews on the patch, send it back to him. He goes, there's even more peer reviews on the patch. That's how you get a nice stable product out fast is you have people working together which it wasn't just Facebook wanting this feature. There were multiple companies that wanted this feature. We all wanted to work together, talk together. We didn't want to have who developed this and who gets the glory. We just wanted something working. And yeah, interesting statistic is when we joined, we were at ODOT 20. The next rev they bumped it up to is ODOT 90 to reflect that they had append capability. We had over 1,000 patches that were between these two revs. So if you've tested with HBase 20 before, it's a little bit old. I don't know yet. And that's it. So do you guys have any questions? What's the one point regarding problematic about operations? You have to move a large set of data around. How do you handle that? So the question was, you have a lot of volatile operations. I think I was talking about the people creating and destroying accounts and you have to move, migrate, terabytes worth of data. How do you do that? I mean, carefully, right? So to be honest, migration was that area of this where I was the least expertised on. A lot of it was doing large MapReduce scripts, handling a lot of failures, again, taking a lot of statistical measurements. Trying to measure any little odd error case that happened that people normally take for granted and they say return false on. Yeah, it's not on the migration. How do you actually move the data within your network and in a proper way? How do you structure it? A large pipe? Yeah, okay. Yeah, I mean, how do you structure that? Yeah, I mean, so beyond that, beyond like how do you programmatically do it? Yeah. Yeah, different questions. Next? Yeah, so you just mentioned functionality and the goals, the way why you used HBase, you didn't say anything about performance and I've read some reports of the standard of performance of HBase. Yeah, so the question was, what about HBase performance? Sort of what's interesting, performance was definitely something that we looked at. It wasn't necessarily an immediate top goal. The big goal was, is the architecture sound theoretically? Is the development stable? Are the features stable? Do we not have data loss? You know, we sit here and in two weeks, we increase the right performance of one of our use cases by 300%, right? So I mean, why do we care exactly what the performance is if we can triple our speed? What we care about is the zero data loss. So. Do you have an argument for eventual consistency that there is a searing which says that if you don't sacrifice consistency, you have to sacrifice either high or low humidity? Yeah, so. What's your trade on that? Yeah, so the question was basically, if you guys have heard of the CAP theorem, that's consistency, availability, and partitioning. And talking about, you know, what Cassandra does more of like an eventually consistent model. So what you're sacrificing, as I recall, is sort of the partitioning where you cannot have sort of a split brain sort of scenario in here. I mean, that's roughly what you're dealing with is, if for some reason like your network switch cuts off and you have two brains, you can't serve out of both clusters. You have to serve out of a single one. In reality, it's not a big deal because like I said, you got three replicas. You're doing the replicas across a rack.  It's still auto rebalances for you. So. I mean, you don't have data, I can't see it right now, that's awesome. I don't know if it's anything different. So the other question is, what about different data centers? So replication is, support is already working with HBase. So in addition to having the three replicas, you can have three replicas among different data centers. Right now it's doing sort of a master slave. You know, the realistic is the, we're working on that, that's a high priority for us, but the realistic is those three replicas are great. You know, you rarely get below two replicas is the reality. So definitely, I mean, the cross regional, like having say a data center here in Europe, it's really for the read latencies, right? Any other questions? You're monitoring, where do you store your metrics? HBase as well? Your metrics for monitoring, you were saying you have a lot of metrics coming out of your ads and stuff. Right. So basically we have an internal application that's very similar to, yes. We have an internal application that's very similar to, oh, sorry, repeat the question. What do you do about metrics? Where do you store the metrics? We have an application that's very similar to Ganglia. It's an open source project that we use for storing our metrics in. HBase by default will export your metrics on a variety of areas. We chose to export it with JMX. So we collect JMX data and show up graphs that way, but it's very easy, again, to do on Ganglia. I believe Ganglia is what a couple of the major companies working with HBase use. I think when Ganglia is great, but it has some problems. So I was wondering where you were actually storing data and how you were getting out. Because if you used something like Ganglia, you end up having data in IRB, then you have no idea how you're going to extract data. You have to use IRB, factory, whatever. Right, so the question was sort of some technical details about Ganglia. To be honest, like I said, it's something that's very similar to Ganglia. So I can't really, it's not my area of expertise. I just, I give them the data and they worry about it.  There's a lot of open source solutions and they can tell you the trade-offs for those. So, other questions?


Ball was trying to explain the Rydbeg formula for the spectrum of hydrogen and he was starting with the Rutherford model The Rutherford model has a nucleus in the center, a positively charged nucleus and electron going around the outside and hydrogen Just has one electron, which makes it nice and simple If they're going around in circular orbits, then by assuming that the electric force Is equal to the mass times the acceleration and the acceleration if it's going a circle must be the centripetal acceleration then equating those two things Tells us the relationship between the velocity or the speed of rotation of the electron and its radius But Bohr knew that since the light being absorbed or emitted by this atom had to come at very specific frequencies Then it also had to have very specific energies because of the relationship between the photon's energy and its frequency and That energy had to come from the atom itself So therefore when the photon was coming away from the atom with a certain amount of energy The atom had to have changed by that amount of energy And so if only specific energies of photons were being emitted then only certain changes in energy were permitted inside the atom And in much the same way that Planck and Einstein had to restrict the possible energies of photons to integer multiples of certain amounts Bohr found that he could explain the Rydbeg formula If you restricted the product of MV and R Which for a circular orbit is known as the angular momentum to be a multiple of H on 2 pi An H on 2 pi is such a common number used in quantum mechanics that it's now called H bar It's written like this and a completely embarrassing Personal aside I once accidentally wrote on a birthday card habits can be hard to break But like the other pioneers of quantum mechanics Bohr was being quite revolutionary in breaking habits of his Assuming the angular momentum which we normally denote as L can only take particularly discrete values out of the entire continuum Was an extremely revolutionary concept Bohr had no motivation for it Other than he needed to do it in order to explain the emission and absorption lines from hydrogen So let's see how he got the result he wanted Remember that for a circular orbit the angular momentum is just the momentum times the radius and linear momentum is just mass times velocity So that's going to be quantized in units of H bar And what we have is we have one equation here and two unknowns velocity and radius Fortunately, we have another equation over here And if we've got two equations and two unknowns, then we know we can solve it. So let's do it So we simply rearrange the first equation to get velocity in terms of the radius and then substitute that into the other Equations now we just have a single equation for the radius and so we've got the values of the radius And if we cross out the mass and the radius from the top of the bottom line So the radius gets bigger in discrete amounts as n gets larger The very smallest it can be is when n equals 1 and so then the radius would be H bar squared on M ke squared And that's called the Bohr radius now We could solve for the velocities if we wanted to and get them as a function of n as well But what we're really after here is to try and figure out the energies the electron can take around the proton Because it's changes between those energies as possible energies that the electron can have That's giving the photon that's being emitted particular energies and that photon having a particular energy Means that the photon has a particular frequency. So these discrete frequencies are coming out of the energy levels for the electrons And there's two kinds of energy for the electron Kinetic energy and potential energy and the kinetic energy It's just half MV squared just like it normally is when we don't worry about relativity potential energy Well, the force is attractive and is going as one on R squared So the potential energy goes as one on R and because the energy has to go up as they get pulled apart There actually has to be a minus sign there. So to deal with the kinetic energy part We notice that we have an MV squared up in that equation. So that's going to make that easier Then those two terms look almost the same and so you're just going to end up with So the fact that we have quantized radii means we're going to have quantized energy So you just substitute that radius into the energy and we get So the electron has these discrete radii with discrete energies And each possible states characterized by number n So these two states here might have in one this one up here That's a different state the electron can be in that might be in two And so what Bohr said was that his electron can't just emit radiation and decay Because it can only be in these particular levels and so in order to emit a photon it has to make a transition from one level To another level and when it does that it's going to change its energy in a very discrete amount The difference between e n2 and e n1 and when it does that it's going to emit a photon with that energy and because that energy difference is going to be something times 1 on n1 squared minus 1 on n2 squared Then the frequency since the frequencies is proportional to the energy We're going to get the Rydberg formula coming out of that and so that's why Bohr's assumption gave him the Rydberg formula And so Bohr's model worked it explained why people saw discrete lines in spectra And it gave quantitative reasons for why the particular lines were there in terms of fundamental parameters rather than just some Experimentally determined constant but like Planck before him Bohr didn't really change his idea of what electrons were He just invented a crazy rule that got in the right answers And just as Einstein took Planck's ideas about light and really changed our model for light to invent the photon in 1924 de Broglie did the opposite and he took Bohr's rule and he changed our ideas about all of matter


Let's see if you can check out this bidding. Pretty evil.  OK, so I gave up on the pan of ice. Make sure I'm still in frame. Keys here remind me where a frame is. Gave up on the pan of ice because just not getting the feedback I need. So that's not bad. This keyway rewards are very pointy.  When you hear a noise like that, you don't know whether it's the pin setting, necessarily the pin setting, or your pick just flying off or something under its own spring tension and bouncing it into something else. I would love to have some security pins, to be honest. I think it would be easier, because at least you'd then have a false set at some point. You know that you were getting there, and a false set somehow seems to protect the pick that you've got so far. It lets you know that you can modulate pressure a little bit and not have to worry too much about dropping anything. Didn't understand why people were so on about false sets. It's like, dude, you've got a lock that's telling you that it's picked, but it's not. It's kind of bad. Then you pick for a few more months, and you realize, hey, wait a minute. It's a lock telling me a whole lot more. This lock is not giving up its secrets without a fight. There it is, finally picked up and oh, god. And I got it on frame. Jesus. OK. So this is an EVA, title shot. You may remember the box. There's the box. Let's go down. On the camera so we can do a better job of phoning. There it is, picked open. Could not do it in the pan of ice. Did get it by hand. Let's say the word EVA down there, OK.  Something on that side. Don't know the model number. Bought it off of ETH from, really, if someone in Germany or Austria. These are amazing locks, reset. And just to show you that it does work with the key. And there's the key.  OK, do you see all those ridges? Do you see how the tips with some of those things looks like there's just barely any material there? See that? See the warding? For the lighting's better here. See all the bloody warding in there. It's ridiculous. Talk about paracentric. Key lock, whoops. Lock, key, key and lock. OK, fail. Key and lock. Lock operates with key. OK, no fancy, no funny business. And locked up. Thank you for watching. I apologize.  And I'm sure wondering, that is what's left of the pick I was using. And I believe I was using one of these fancy Peterson prior orders. This thing is just torn up, but it worked. Thanks for watching. Have fun. Subscribe to my channel. And as always, keep it legal. Good night.


Hey friends today, we are checking into Disney's Riviera resort and I am gonna be staying and what I believe is one of Disney's Smallest resort rooms. I am so excited to give you a grand tour and also just enjoy the resort itself Maybe get something to eat and take in all the beautiful views any who's Let's go do this Disney's Riviera resort is such a beautiful resort and I have stayed here before But I've never stayed inside the studio tower rooms and a lot of people say that they are these smallest Disney resort rooms So I wanted to come out and show you guys and also show you all the benefits that you get from actually staying here Now by saying that the resort rooms are small We're not saying that as a bad thing Some people actually really love these resort rooms and maybe I might love them as well too But there are a fair amount of people that say they aren't just a little bit too small So we'll give you a look and let you be the judge. Let me know in the comments what you think and Yeah, the Sun is coming out. I Have dinner reservations at top of Lino's which is the restaurant at the very top of the Riviera resort But before we actually make our way to our room I do want to stop and get myself a coffee in the lobby because they have some of the best coffees and cakes that you Can get on Disney property right here inside the resort This being the newest Disney World resort It has a distinguished smell already that I absolutely love every time I walk into the lobby and I get a whiff of that lobby air. It is so amazing Before we head up and I give you a nice room tour I do want to grab myself a coffee and maybe some cookies from the cafe in the lobby here I love the lobby in here. It's so beautiful. Like I said, it's got kind of a special smell It being the newest resort I feel like all Disney resorts have special smells like the Polynesian the contemporary, but this one's got one of their own The cafe in the lobby is one of my favorite places to get a coffee and also a light snack I guess that we have dinner reservations a little bit later on. So just a little bit just a little cookie, maybe Look at all the amazing snacks. They've got they've got some nice tarts a seasonal cupcake and then over here My favorite the lemon Madeleines look at these bad boys. So we're definitely going to go with some of those and then a coffee. I Decided to grab my coffee and come sit out. I'm one of the patios that they have right outside the lobby there There's not too many spots to sit down inside the cafe, but it is beautiful out here Nice comfy chairs. There's my coffee and take a look at just this courtyard Isn't it amazing? I really really like it over here and it actually has two pools at this resort Here's one of the pools and then they have the main pool over there. Oh wait, or maybe they have three pools I'm a little confused. I'll have to check it all out. And I think that's some bachi ball down there But we're gonna just hang out here for a second drink the coffee and enjoy the Madeleines I love these Madeleines. They are so amazing lemon ones.  I Love the packaging on these that is so cute. Isn't it? I really like this and we're gonna open them up and wow Look at these bad boys little tiny things So delicious though. Look at the powdered sugar on top of them. I Ended up getting a nice little cold brew, but they didn't have any lids for their cups to go So they put in a hot cup and I'm just excited to eat these These are so so good so airy and like fluffy. Oh, I love him Here is a look at the map of the resort and it looks like we're gonna be staying in the West Wing Oh, I like that and we're gonna be on the seventh floor and Room 8723 and this resort is pretty big and there are fireworks views and I'm pretty sure We've got a firework view that gets me so super excited that we're gonna be able to watch the fireworks from our balcony if we wanted to Now that we got our room number. I think it's time. We head up to our room. I'm so excited And like I said before we're staying in the West Wing Which is kind of funny because I've always been told to stay out of the West Wing But that's where we're gonna be spending the night tonight That was just a little beauty in the beast joke. Nobody told me I wasn't allowed to go to the West Wing We're gonna have to take the elevator up to the seventh floor. I like the elevators in here They're very classy. The whole resort is just clean and fresh. Look at the floors Also, they have amazing artwork throughout the halls of the resort that I want to point out as we get to our room Look at all of the walls the carpet and here's some of the artwork that I was talking about It is so nice. The princesses and take a look at this Isn't that just beautiful and I think they have some on this side too. Oh, yeah, right over here. We have Rapunzel and Ariel So nice Now these studio tower rooms that I'm staying at are just in the far corners I think there's two towers. I'm not too sure and They have a different layout than all the other rooms do because it's kind of rounded You'll see what I'm talking about when we get in there And here we are in the tower section And like I said, there's only going to be three rooms on this side because it's all just like kind of in a big circle See what I mean. So we are right here eight seven two three And here we are Ta-da This is it right here folks I got a nice little couch with a pull-out bed And lots of other space here no kitchen area except for this right here. This is like the kitchen area And uh, it's got a little balcony over here And then a bathroom right here. So no bed and no other room. This is it like, uh, I think about 230 to 250 Square feet. I mean not too much like I said very very tiny and also This is the uh resort tv right here So it's got like its own resort tv disney riviera resort Not like the regular resort tv that I would normally see As someone just being here by myself. I love this Everything is so neat and compact and it's got an amazing view I'm going to show you the view and trust me when I say it is in an amazing view And uh, yeah, we're just gonna kind of give you a room tour I feel like this is gonna be my quickest room tour because I really don't have anywhere to go Like this is the distance of the room And that's it We'll start off right here in the kitchen area right next to the bed and the sofa And we've got a little cupboard right here And inside there we've got an extra pillow and blanket a toaster some Plastic forks and silverware a paper towel roll a nice little microwave below it Very nice and then the mini fridge and of course Fully stocked bud light and french vanilla creamer Can't go wrong with that And then right next door we have some storage drawers a couple of shelves and ice bucket and a cup Once we give the full tour and I show you the balcony and the view Then we're going to talk about how much this room cost because I feel like that's a big deciding factor So we're going to move along right next to the kitchen area. We've got the bed But let's not jump to the bed quite yet.  Everything that you need You just get up roll over to your left microwave some food roll over to your right make a cup of coffee Now we're going to pull down the bed and this is probably one of my favorite things about this room other than the view But this is really nifty There we go. I'm going to pull it right down and you see the couch actually folds up Oh, I think I need to move that out of the way, but we could probably pull it down like this Yeah, look at that Isn't that nice? That's beautiful I really really love that mural and the bed itself is very comfortable And you get a nice shot at the tv right there And yeah, this is basically it. We have the bathroom right here. We're going to go check that out next But I think I'm going to put the bed back up Can do it one-handed But it does take a little strength Oh, there we go Back to normal I'm still not too sure what I think of this though I wonder if I'm just missing it, but do they have the old resort tv anywhere on there? It tells you the room number in the corner though It actually tells you you're like welcome family when you walk in But now let's go check out the bathroom in here And bathroom I really really like It is so nice and nice walk up Walk in shower. Look at that It's actually big. It's almost bigger than the whole room on the outside. Oh very pretty mirror My friends Looks like we don't got the free shampoo and conditioner and let's see how the shower works Oh That's nice. Oh, you can do it. There goes both of them fancy Ah I don't know which one I hit Nope Done Very good We also got a little storage closet In the bathroom comes with another extra pillow and blanket We've got a wall safe an ironing board a collapsible Laundry basket. I love these. Wow. I wonder if I can No No, not gonna happen Very nifty very fitting for this room Now I do want to say these rooms are very numbered There's I think 18 of them So they're actually hard to come by and people actually do enjoy them I think we're gonna end up enjoying it too Now let's head back out to the bedroom living room and take a look at the rails On the window. I love the Riviera because they have these little hidden mickey rails and isn't that so amazing So cool and also the curtains have hidden mickeys on them too. I believe Very nice And like I said before Don't judge this room until we see the view and we're gonna go out on the balcony right now It's gonna be a little bit bright. They also have a shade that comes over this I'm gonna go out here. I like the Riviera chairs The balcony is very nice and you got this amazing view Right There look at that That is Epcot. You can actually see the top of the harmonious barge right there You can see all of world showcase. This is beautiful. This is a huge fireworks view I'm gonna try to show you a little bit closer. I don't know if you can see the harmonious barge right here And then also spaceship earth and guardians of the galaxy That is amazing, right? This is so beautiful I could sit out here for hours. Let me tell you something This room might be small, but I Love it. It is so beautiful and the price like I said We'll talk about the price can go from 300 to 600 dollars and this is all disney vacation club But that's what I looked up and that's what it said from three to six And I think it's just beautiful. I mean a value room is anywhere from 100 to 200 dollars a night So an extra hundred dollars you have a fireworks view Yeah, a firework view theme park view Skyliner transportation Wonderful sit down restaurants quick services lounges This this is really awesome Now when it comes to a family I I can see a little bit of a struggle, you know That being a studio and all but I really really do love it here And like I said, I cannot wait to see the fireworks from here. I think it's going to be just amazing I would rather stay here than stay at like Caribbean beach or the grandest, you know tower This is so beautiful. It gives you so much. Let me know in the comments what you guys think Like I said, when you add in everything the room is tiny now That's just for the studio tower here The other rooms actually are pretty decent sized and very big The one room I stayed in was a One bedroom window was a studio and it had separate bathrooms and it had a couch and a bed And that was beautiful. So this is only the tower section and I really like it I like seeing the magical express come in and dropping off guests for their vacation Sad to see them take them away though. Nobody likes to catch the tragical express But every day comes and you got to take it as the last one Oh, and then you can also see the Orlando Eye over there. That is really really nice Now I think we're gonna head back inside get ready for dinner and then also go explore the resort a little bit I really love it here. It's very peaceful. It's a very nice resort and uh, I'm excited for dinner I don't think I've ever had a full meal at Tobolinos before I think I've had appetizers while I was doing like a bar crawl and stuff like that But I've never had a sit-down meal. So uh, yeah, I'm excited for that Also, I did want to point out that there's some additional storage inside this bad boy right here He just pulled this right out and look at that. Are they separating too? Oh, they do separate I thought it was all one piece I guess the more you know I also like the updated thermostat in here. That is really nice You know, some of the other resorts actually still have the dial on them, but this one is fancy Nice and cool. Nice and cool. That's the way we like it Before we actually start going out and enjoying the resort. I want to show you guys something a little bit bigger I'm showing you the smallest room uh at Disney World, but here's one of the biggest rooms Now I want to show you guys the largest room at the Riviera and wait till you see the size Of this grand villa. So we're staying in the smallest room, but this right here Holy moly Look at it. This is crazy, right? like The room that we're staying in right now is basically Like the closet to this room three bedrooms And they're all just so amazing look at this one two two beds in here and then You got two more beds in here And then all the way down here is the master bedroom, but you walk through the living room The dining room which has a gigantic dining room table And then I think the master bedroom will be right over here And look at how beautiful tons of amazing views a beautiful bathroom I love these tubs. This is gorgeous Something like this. I couldn't even tell you how much it would cost the walk-in shower It's probably the size of the whole bathroom in the studio tower That is amazing, isn't it? I love it How cool was that so most of the Disney Vacation Club rooms actually have open houses Where you can just walk in and just explore so I decided to check out that grand villa and show you guys Now I want to head all the way downstairs and check out the campfire But first I wanted to stop and look at all these amazing photos are Walt These are beautiful. Look at Walt with that hat Seriously, that is amazing. I would love to have some of these photos not like the actual ones Just copies and just have them hanging on my wall. I would definitely take that one Our reservation for toplaninos is in just about 30 minutes So we're going to be able to go out and check out the campfire and a little bit of the outdoor activities here at the Riviera We got the bocci cord over there And then we got some cornhole over here and it's fancy Riviera cornhole I think I might throw a bag here You know, I don't know. It's been a while. So it'd be interesting if I still got it I don't think I've ever had it, but maybe who knows here we go. What's up right here? One shot Totally missed. Okay one redo. Here we go one redo totally missed My cornhole game, I guess is non-existent. So we're gonna move along but wow Stop and just take a look at how beautiful this is I love it Just seeing all of the skyliners go by You got the pool on the other side and the campfire is up here. It looks like they're getting it ready right now I don't know if it's fully up and running, but we'll check it out I have made it to the campfire and they actually have something special here at the Riviera.  I cannot wait to try this now. I know I said I'm going to dinner But I can't pass this up. I can't I cannot even believe it. It's six dollars to get this marshmallow kit now You can get regular plain marshmallows for free But look at this honey marshmallows and then the mickey shortbread and then the chocolate and then there's the caramel crispies So we're gonna make a fancy s'more All right, we're gonna put the honey marshmallows on Look at these and then I've got my Sandwich all set up once they get done toasting and we're gonna make a nice little s'more This is such a cool experience and especially with this view. I mean that's breathtaking You know and I love camping out and doing a little fire thing This might be my new favorite one actually just because of the unique s'mores There we go. Put it right in there All the melt I like the uh, I like the marshmallows a little bit burnt It's like some people like perfectly toasted. I'm all about the burnt marshmallows. Oh, okay.  Yes Oh, they do melt. I see it's starting to fall off. It's like they They melt melt not catch on fire Oh We got a hurry we're losing it There we go. We're gonna set that there See we made it it actually worked perfectly and then we're gonna slide this on there Oh, wait, we're gonna add the caramel crispies on here All right, now this fell apart a little bit, but we're gonna give it a bite and it's gonna cause a mess I already know but it's okay. It's a mess. I welcome and accept. It's actually already a mess. It's all over my fingers Here we go. That is probably My favorites more ever So the problem is the reason it fell apart is because the shortbread cookie is soft and not crispy It doesn't hold together like a graham cracker. It is just very like ooey gooey delicious That was so cool And it was only six dollars for that kit But I mean you can get the free marshmallows all you want But who wouldn't want honey marshmallows? I had to get it and i'm so happy I did because now I'm gonna remember that I'm gonna remember Riviera has the best campfire We need to get up to our dinner reservation though I'm very excited to try the food up there and it's actually right up there at the very tippany top All the way up to the 10th floor This is much like the california grill where they have an outdoor viewing area Where you can actually go out to the top level of the riviera and you can watch the fireworks But since we are going to be watching the fireworks from our balcony in our room We won't be here that late But I do want to take you out there and just give you a look at everything around the walk disney world resort And you can see hollywood studios. You can see the boardwalk. You can see everything from up here and it's beautiful Here is a look at the menu. I think i'm going to get myself a kroningberg 1664 lager from france and then also I don't know if i'm going to be interested in any of the antiposties or the starters I think I just might dive right to the full way comes out of potato puree pickled scallions onion au jus And I don't know right up my alley I don't think i've had a kroningburger in quite a while and these are actually pretty good They do have the white ale but I went with the 1664 and the part of the last time I had it was at ebkot It's a very very delicious beer not a very high ibu And uh, yeah, I like it. So cheers I also had to take my hat off This is definitely one of those establishments where it's definitely gentlemen like to take the hat off I always try to obeyed by that, you know, sometimes I feel like quick services and character dining But overall you should always take your hat off whenever you're dining. So anyways The table setup is so beautiful. Look at this knife That's going to be really nice to cut into the fillet and of course I went uh Pittsburgh style. You know how I like it Is there a french olive oil compliment to bread? Very fancy Thank you I love how they have the little riviera symbol right there and take a look at this bread service That is beautiful, isn't it? I am really going to enjoy this now. This is complimentary bread But they do have kind of like a cheese focaccia bread as the appetizer that you can get But since this actually comes with your meal already, I decided to just stick this and have this as my kind of appetizer I'm also a little interested into seeing what the dessert they have to offer Now I had the marshmallow s'mores downstairs But like, you know, I don't know the next time I'm going to be here Actually enjoying a meal. So I do want to look at the desserts, but now I think I'm going to dive into the bread Got to test out the bread I like the overall look of it. I'm going to break it apart right there Nice and crisp and hard. So it should be going good with the oil That's the way I do feel fancy with my dinner napkin on my uh my knee here Look at that. It says topolino's right there. So I'm going to try the bread here Okay Very good oil But I always get confused because Italians do it differently The French do it differently. Sometimes I like a little pepper in my oil Maybe some parmesan. How about you guys? How do you like your oil? But this one is actually a very good consistency Maurice hurry up the baguettes And just like that the main course has arrived. Look at that beautiful steak Like I said, I went Pittsburgh Mid-rare, so it's got a nice cool pink center And we got some potato puree and this just looks phenomenal I like how it's got the little char on the outside. This is right up my alley. Like I said, I'm excited to dive in So we're just going to jump right to it Usually I like to just taste the steak on its own So we're going to get just a nice little piece right here Look at how easy that is to cut Like that is That is perfect Once we try the steak on its own, then we'll add it with the potatoes and the other sauces And I'm excited. Here we go. Why am I holding my fork this way? I don't even know why this is happening Oh well Perfectly cooked just the way I like it. I can't wait to try this potato puree over here Oh, maybe I'll just try a little bit on its own Oh, wow, that is amazing. Oh much too good Now this steak is Very very good. It's going to be hard to rank up there with some of the best steaks that I've had Uh, I have yet done the odds man. Hopefully very soon. I'll make my way over there but to this date, I think I'm really torn between Chulas, which is that was one of my best steaks. I've had at Disney property with cellier was amazing California grill that big Texas rib. I was so so good And uh, yeah, those are like my top three. I don't think this is in my top three But it's probably in my top like 10, you know, and uh, I'm excited to try yachtsmen and bowling bear bowling bear definitely Now we're going to try swirling it around in all the different juices and sauces at the bottom of the plate. Look at this So many good combinations of flavor That's how you want to get it Get all that gotta soak it up Add a little bit of that potato puree on there and we got a nice meat and potato bite. That's how I like it So here we go So good And honestly the steak on its own is cooked like perfectly the way I want it But the thing that really enhances this steak and actually makes it not just like an average filet It's the potato puree and the onion This onion is so good and you pair it up with the steak along With the potato puree because I feel like potato puree isn't just like a fancy word for mashed potatoes These are so creamy and it's just it's an amazing combination The last time that I actually stayed here at the Riviera I did the sunset video and in order for me to do the sunset video I came up here to Torvalinos who were opening up for breakfast at I believe 7 a.m And the sunset was happening around 6 ish So I came up here and because they were setting up for breakfast service They told me I can film from the patio to get the sunrise But they'd have to lock me out there and they wouldn't let me back in until The breakfast service actually started so I sat out there with coffee for almost two hours And it was the best two hours I ever spent if you haven't had a chance go watch that sunset video from my first day here at the Riviera Maybe I'll put the video link in the description. It was so beautiful But I have completely Demolished my steak. It was so amazing and now it's time for dessert and I noticed they had a pistachio Mousse on the menu and I love pistachio anything pistachio. I gotta get so that's what we're trying After that, I think we'll go take a stroll out to the balcony and just kind of hang out there for a little bit Taking all the views and then head back to the room for fireworks And here it is the pistachio mousse. This looks so good Doesn't it very fancy and that comes with the cherries and I can't wait to dive into it Honestly, it always comes down to the pretty desserts and you don't want to ruin it because it just looks so amazing But you're gonna I have to right like I don't want to but I got to I gotta here we go Look at that I'm gonna grab a little cherry here Scoop seed potato and then perfect There we go all in one bite That's good That's some good stuff right there The little chocolate cake at the bottom is perfect and I love how they have one pistachio up top yard Look, I want to try to get that pistachio. Come on.  I really really love pistachio. So this has been in perfectly for me Now that we've finished up with our dessert, it's time to head out to the terrace and just take a look see Got a pole not push at the beautiful views. Look at it out here. Everything is like crystal blue You can see the hollywood tower hotel Right there on the distance and then all the way on the other side is going to be epcot But just look at the skyline or gold the pool down there Our room is actually had a quarter like right in this corner, but on the other side now I asked and there's only 18 tower rooms So we're really lucky that we actually got that room and I just think it's so beautiful here Down here is the main pool area. Look at that slide right there See, maybe I uh, maybe I might go for a dip a little bit later I do love uh checking out the different swimming pools. Usually I don't film it though because I don't like filming You know people as they're swimming. Oh and then look movies under the stars is happening right there This is so cool seeing everything from up here I thought maybe we would be able to see magic in it from here, but I guess you can't but it looks like On the movie under the stars. They're actually Showing happily ever after I can hear the music from here right now. They're at the genie park But now I think it's time we head back down to our room Also, look at the swan and dolphin lit up so beautiful over there We're gonna have such an amazing firework view when we get down there though I'm excited because I never had an apcot firework view I don't know if this resort is like the only one that actually offers it like I'm talking to a full firework view I know you can see it kind of from the boardwalk and from uh What's your call beach club? But this one you basically see all of world showcase lagoon Now that we're back in the room. I do have one thing I find kind of as an issue with this room There's no lights. They have one light Two lights. That's it. So you have two lights and that's all You have the main light right here, which is a beautiful like chandelier effect on the ceiling And then you have the bathroom light and that's it. That's the only two lights that you have So it's kind of fairly dark. I was wondering if maybe do I have a message? I don't even know I can get a message in here. Is that what the red flashy button means The queen she's coming No, it wasn't the queen It was just a message to let me know that they're going to be testing the fire system tomorrow So good to know but back to what I was saying. There's no lights. I thought maybe this was a light But no light. Maybe a light in the bed. I didn't check that out. Like maybe they have some spotlights No, I don't see any No got some usb ports over there though. Any lights in here? No lights. So like literally Two lights. Oh, it's about that time for Epcot forever to happen So we're gonna grab ourselves a good old bug light in my fridge in the living room Very easy and convenient and we're gonna head out to the patio And uh, enjoy a little Epcot forever. Oh I really can't get over the size of this room. This is It's so convenient because everything is just compact, but it just seems so strange I feel like I'm at a closet, but we're gonna go out to the balcony now. Oh, my beer is cold Yeah, we got a push not pull And here we are The beautiful night skies. Oh, do you see those blue lights right there? That's test track actually Oh, I can see the test track cars actually on the track That is the coolest thing ever and spaceship birth is looking beautiful The sunset is happening right there. You can see that orange glow And right here is gonna be where Epcot forever shoots off So cheers my friends to Epcot forever on the balcony at the Riviera Holy moly guys I just saw fireworks and I was like wait a second Epcot forever doesn't start till nine o'clock, but Happily ever after starts at 8 45 and take a look at that you get a double Firework view. So that means you get to see Happily ever after over spaceship birth and then Epcot forever This literally makes this room so amazing But does anybody else think that is so cool? That's happily ever after right there So you have happily ever after and you never get to see that angle of the fireworks shooting Over spaceship birth and then to the right over here. We're gonna have Epcot forever I wonder if happily ever after runs past nine o'clock because then we're gonna see both fireworks at the same time And that'll just be mind-blowing I think I am officially sold that this is one of the best Rooms on Walt Disney property happily ever after and Epcot forever That is so amazing. This is great. I'm having the time of my life out here Also, I want to point out all the pavilions actually lighting up and flashing all different colors I don't know if you can see it all but isn't that so amazing. Can you imagine seeing harmonious from here? The finale and I guess with that We are calling it a night how amazing was the fireworks telling you the more and more I stay in this room The more I am impressed by it. I think this is a fantastic room now I don't think it's fantastic for a family a couple definitely can make it really well in here Or just a single person by themselves It was so amazing to watch the fireworks both happily ever after and Epcot forever And I'm just I'm really I really do love the tower studio reviewer. I'm sold on it I think it is such an amazing place to stay any who's Thank you so much to Jake and Krista They actually are my friends who gave me the points to stay here because the points were going to expire and they couldn't use them So I ended up coming and staying instead So I hope you guys enjoyed the video because I enjoyed making it and uh, we'll see you next time Bye


Here are three persuasive techniques you can use in any non-fiction text according to first-rate tutors. So here are the three best persuasive techniques that you can use in any language, paper two, question five, response that you write. Number one, you're made up statistics. According to Oxford University, 75% of people believe X. Your teacher will love that. Number two, you're made up anecdote.  Sally Smith, a year 11 student, doesn't do her homework but she's still passed her exams. And number three, repetition for effect, especially doing them in threes. Study, study, study, it's really important for example. Now make sure you head over to Lisa's UCSC English to find out how to write the perfect summary paragraph for language paper two, question number two.


We'll come back again, I'm yet in another question, what is made by the term, the probation period. What is the probation period? That is the period that you are going to serve that sponsor or that company that recruited you from wherever it recruited you. As a means or as a way to showcase or demonstrate what you call your skills and ability. To some people that have got this opportunity. During the probation period of what you call on company training, on site training, machine training. Yes, that's where they're going to prove you are going to prove your ability and skills.  This is going to show a lot of things for those people that have been in this period for the six months or depending on which kind of company you are working. And depending on which kind of contract. This period will require you resilience, perseverance and control of what you call your ego. Because you find a lot of challenges between this period. Either you overworked in any way or you given more work in time depending. So in this period you are going to demonstrate your ability and skills to work. Yes, how long is the probation period? That is something that definitely also we need to understand. How long is the probation period? The probation period will depend. Will depend on the type of the contract. Literally, not only the type of the contract, it's also going to depend on which kind of company you are working for. Most of the times we find most companies have the probation period, the minimum probation period being three months. But most Gulf countries we find the probation period is up to six months. So meaning that you have to make sure you provide the skills and ability to that employer or to that sponsor in the six months period. Remember it is the same period where you are also going to do what you call your medical fitness test. To show if you are mentally or healthfully fit to do the particular task or even to live in that country. We call it the medical fitness test, take the fingerprints and the rest of it all. However to something that also I need to remind you, this may differ according to different professionals. If you see a security guard you have a different probation period. If you may be a cleaner depending on the company you may have a different probation period. If you are working as a domestic worker you are working as a caretaker in that house. You are working as a house driver in that house. It may be a different probation period for you. Like for example when you talk about kataal itself. The probation period for a domestic worker is nine months. Which is far different from the probation period that is being served by other professions that have six months probation period. Sure for some professions we may think that for professional jobs you may find that the probation period is pretty much, we should be the minimum. So you find all those have to be considered in any way or the other. So as you sign that contract still also note what is my probation period. This is going to help you to know how better you need to take yourself, take care of yourself, treat yourself to make sure that you can really make the sponsor know that you have the ability and he or she recruited that person that is willing to work and able body to work in that particular task. I hope I've tried to share something for you. Thank you so much for this. Thank you so much for all this or it's giving you the best updates and I will continue giving this update. Let us try to share this information. It's quite very important in any way. It's quite very important for anyone that is coming in the country especially in this Gulf country. See you again in the next video or remember it's next from the next thing.


I am Dr. Vishwanath, head of the department Nephrology Manipal Hospital, Bangalore. As you know hospitals and major departments were closed only for emergencies we were open earlier. Now with the relaxation of lockdown and other relaxations hospitals also have started working normally like earlier and we have also taken all the precautions to make sure that patients are of the safety healthcare personnel are of the safety and whatever precautions have to be taken have been adequately commissioned. In fact in my previous video I told that we have shut all the elective surgeries and elective procedures. Now with all these relaxations we have also started doing routine procedures including biopsy, transplants and all the surgeries and of course all these procedures surgeries and whatever admission procedures have been done also necessary precautions will be taken and we can assure you that whatever precautions have been taken are to the best of the industry and best of the healthcare providers and all of you can be rest assured that the necessary precautions have been taken and we have restarted functioning like earlier. Our dialysis unit as you all know is a very busy unit we do almost 150 to 170 dialysis in a day and as an outpatient basis all the patients have been coming regularly even during the peak season now they are all safe and then they have been continuing on dialysis anybody wants to avail the service can come to us. Medical hospital is also helping out with transport especially who are needing emergency surgery, emergency procedures, diagnostic procedures or any emergency critical illness where they need to shift to a main bigger hospital definitely transport will be supported. Since all the precautions have been taken to protect our patients our staff people who are coming from out of station it is quite safe to visit a hospital in fact there are no need to be any apprehensions to think of coming to the hospital if anybody needs to come for their routine visit, routine procedure or visit has been pending for a long time please visit hospital and avail the services it is quite safe to come to the hospital and see your doctor. Thank you.


This episode was inspired by a comment I stumbled upon in the comment section of a YouTube video about Scott Walsh's woodworking and joint strength comparison. The commenter raised an interesting point about statistical analysis. They argued that comparing averages alone might not be the best way to determine the effectiveness of different methods. Instead, we should consider the spread of results and whether they follow a normal distribution. They also questioned whether removing the maximum and minimum values from the average was a good idea. I found this comment fascinating as it opens up an opportunity to explore the intricacies of data analysis. Can we take the data at face value or should we discard it because it doesn't adhere to a normal distribution? Was the use of a trend mean? Correct? These questions will be the focus of this video. Before we delve into statistical analysis, let me provide some background on the test. Scott Walsh conducted various joint strength tests using a machine to pull apart joints. The metric was simple. How much force does it take to break a joint? He used five samples per joint and calculated the average after removing the minimum and maximum values. I want to cover three points in this video. First, was excluding the maximum and minimum values from the average a bad idea? Or incorrect? Two, what can we test with this data? Since there's only five samples, can we come to any conclusions? Or is five samples really not enough to know if any joint is really stronger than another? Three, how many samples should be collected if a follow-up test was done to test a hypothesis Scott Walsh had in his video? He called the glue starved hypothesis. Now, I understand that statistics can sometimes be overwhelming, but this is not your fault. I believe that the current approach to teaching statistics is flawed. I won't go into depth in this video, but if you want to reteach yourself what a hypothesis test is and a p-value, I suggest you check out my video called p-values, beer, and mosquitoes. For now, let's take a look at this YouTuber's data and see what we can learn from it. Also, the audience for this video isn't necessarily statisticians. This video is for anyone who's interested in these questions on YouTube. All right, was excluding the max and min values from the average bad? Let's address this question first. The max and min values were excluded from the average. Is this incorrect or a bad idea? No. Before I go into details about why removing the min and max values isn't incorrect or bad, let's first take a look at the data. I've compiled all the data reported in the video and will share it on GitHub in the form of a CSV for those who want to explore it. There are eight joints and five samples per joint, giving us a data set with 40 rows. I can thumb through the rows to get a general sense of the data, but I might want to know something about what the general takeaway is. Some people might ask, what is the data saying? But this is the wrong question. Data doesn't say anything. It's up to the analysts to tell the story. So what's the story here? This is where the trimmed mean comes into play. When we argue that trimmed means are bad because they discard the spread of the data, however, if this were true, then we should never trim the mean. This would mean that we should discard the median. Why should we discard the median? Because a median is a trimmed mean when 50% of the data is trimmed. That means 50% over 50% under, leaving it with just a single point, the median. You can think of it as the spectrum. Where the mean is on one end, where no trimming is going on, and the median is on the other. The trimmed mean is somewhere in the middle. You can control how much of the trimming you want to apply. If I had to choose between a mean, a median, or a trimmed mean, I would definitely pick the trimmed mean in this application. This is because the median is just too trimmed, and the mean is not trimmed enough, and there were some outliers that needed to be addressed. So let's give Scott Walsh a gold star there. As a side note, a trimmed mean isn't the only option. We could have also gone to a winterized mean. This is where we replace extreme values with the next largest value. This is a common practice in data analysis as well. You may be thinking, how are you allowed to just change data like that? Well, we are not changing the data so much as we are making a transformation to the data. That is more robust to outliers while still preserving the sample size and taming the extreme values. Trimming and winterizing are both valid options. In this case, I think either option would be fine. Now you may be wondering, if I can just remove data or change values, why do I even need to collect data in the first place? Good point. Let's talk about that. Scott Walsh did one thing that made all of this okay. He showed all of the data. Showing all of the data keeps the dialogue open. Other people can take the data and do their own analysis or check his work or push back if they think something was done incorrectly. This is kind of like a first commandment of data analysis. Share all of your data, not just the average, not just the median, or the trend mean. Show all of the data, always. So that was a lot of talk about trend means and windsrized means for summary statistics or summary metrics. Now let's talk about what we can test with the data. So what can we actually test or what can we know from this data? So again, there was only five samples per joint. Can we really say that one joint was stronger than another with this data? Well, to answer this, we have to go to p-values. So given this data, let's calculate some p-values. Disclaimer, in no way was Scott Walsh trying to do a hypothesis test. He was just showing that all joints were strong enough for the hobbyist woodworker. But I'm going to put my neck on the line a little bit and make some risky arguments with this data. Specifically, I'm going to make an inductive argument. If you don't know what inductive arguments are and what makes them special, then I suggest you check out my video, p-values, beer, and mosquitoes. Please. So maybe you've heard of p-values in the past, maybe you haven't. Maybe you've had a section of statistics about t-tests in school. In this course, you probably learned about p-values and the need for data to be independent and identically distributed. Sometimes we shorten this to iid. You may have even used a complex equation to calculate the t-statistic, degrees of freedom, and compared the t-critical values to determine whether to reject or fail to reject the null hypothesis. This is a lot of work and it's not necessary in the computer age. We can use permutation tests instead. Hopefully this example will show you how easy it is to do statistical analysis on your own data without having to remember the exact formulas and associated assumptions. So how do we calculate a p-value? Well, the way I like to think about p-values is in the context of a hypothesis test. You may have heard about the null hypothesis and the alternative hypothesis. I'm going to just throw those terms out the window and we're going to use different words. So we're going to call one argument the skeptics argument, who says you just can't really determine anything from this data. And we're going to have another argument called the optimist, who thinks that there is something that you can say from this data. So let's take a look at what a skeptics argument would look like in this case. A skeptic says that there's no difference between the force needed to break two joints. Let's take a butt joint and a dovetail joint. The optimist says that it takes more force to break the dovetail. So who was right and how can we tell from the data? And does the mean really sufficient? Well, we're going to have to do something more than just compare the means. There is some truth to the comment that the commentator said on Scott Walsh's YouTube video. There is something to be said for the spread of the data. And so how do we take that into account? Usually the t-test would help you take this into account, but we are going to use computers to do the heavy lifting. If the skeptic is correct, then the labels we put on the data are arbitrary. So we can say some of the butt joints were dovetails and some of the dovetails were butt joints and recalculate the difference and force it took to break them. If the labels really are arbitrary, like the skeptic would believe, then we should be able to see that the original mean difference is very common. It's not really an extreme value. If the optimist is right, then the labels are not arbitrary. And we should see that the original mean difference that we get from the raw data is in fact pretty rare. Either we just observed some very rare phenomenon or the skeptic would have to admit that in fact there is a difference between the strength of the joints. This probability that we observe a mean difference greater than the original difference is called the p-value. Now you may say, stop, you can't calculate a p-value on the data if it's not normally distributed. Also, in my stats 101 class, I learned as a rule of thumb that you need at least 30 samples to calculate a p-value. So let's go to that first point. You do need a normality assumption if you are using classical methods. For point two, you do need a larger sample size to detect smaller differences in force. The 30 samples rule of thumb is just that, a rule of thumb. The first differences are large enough that we can get away with a smaller sample size. We would not be able to do the same if we wanted to know if one joint was just 1% stronger than another. In that case, we'd need a much larger sample size. And this is true in general. When you want knowledge about something that's very detailed, you have to come up with a larger sample size. That's just the cost of that knowledge. But what things are fairly obvious and most people would agree, even without the statistics that they are different, you don't really need a large sample size. Now I will talk more about how to calculate the number of samples we would need to do some more hypothesis tests later on. So if you're interested in doing your own experiment but don't know how many samples you need to collect, stick around until the end of the video. So what can we test with this data? We can really test whatever we want. I just showed an example of how to test if a dovetail is stronger than a butt joint. We found a p-value of 0.031. To me, this is more than enough evidence to say the skeptic does not have enough ground to stand on.  If you want to test other things and go for it, I think permutation tests are better for people who are new to statistics because they involve much less formula memorization and you gain intuition about what kind of data makes a hypothesis fail. All right, let's hit point number three. How many samples should be collected if a follow-up test was done testing the glue starved hypothesis? In the video, Scott Walsh mentioned that his butt joints and dovetail joints broke at a much lower force than he expected.  His thought was that he made his joints so tight that there wasn't much room for the glue to hold the joint together. So how many samples should we collect? We would need 50 joints, which is 25 joints per group. What are we testing specifically? We are testing if either a box joint or a dovetail joint that is not glue starved is at least 200 pounds per square inch stronger than the glue starved alternative. I will hand wave the details for how this calculation works. Essentially, I run the same permutation test as I did above, but I put the permutation inside of a loop which tests different sample sizes from 5 to 65. Then I see what the chances are of making a false positive error and a false negative error with different sample sizes. I then pick the smallest sample size that will give me at least a 95% chance of avoiding false positives. My power is set to 80%, which means there is an 80% chance of accurately detecting a true effect or difference. I hope this video was helpful in answering some questions about some general basic statistics and how to use computers as a replacement for formulas and memorization to do your statistical analysis. Thank you very much. Thanks for watching.