In this Lords of the Fallen video, I bring you 20 plus secret items you might have missed. How's it going guys? My name's DP, Jane. If you do enjoy the video, leaving a like really helps out and if you like what you see and want to see more, be sure to subscribe. Okay so in this video, there are three areas we cover. They are the Imperium via the vestige of Varela the Cursed Knight, the path of the Devulsion Memorial and the path between the Skyrest Bridge all the way up to the vestige at the Upper Carruth. Now all items will be timestamped below and I've already covered many areas already in previous videos, all of which I'll also link down below guys. So let's get into this. So starting within the Imperium area at the vestige of the Varela the Cursed Knight. From here we will grab the Enhanced Banner Javelin of Assault, the Bounty for Ring, a Saint Lee Quintessence which is always helpful as well as the Imperium Church Key which will go on to fight the boss of this area. Now what I will say is, getting into that church you have to take a route around the top of the building. It can be a bit of a pain in the backside, I'm not going to lie but if you copy what I do you can ignore most of the ads but if you do what I do guys you should get it done. Once you grab these items guys, as long as you ain't bothered about your vaga, you want to make your way back to that vestige point or even if you die, forget your vaga and spawn back at that vestige point. From this point guys we're going to go up to the church door. So here I wouldn't worry about the ads on your way up to this church door, just run straight past them, once you open a church door you get a cutscene, you can then go into it guys and as we progress on a little further there is a anchor between realms you can put down which I would recommend you do, there's a boss fight here which you want to get done for sure, so do what you've got to do here guys, get to that boss fight. So once you've put that anchor between realms down guys, go on to the boss who is judgecleric radiant sentinel who can be pretty difficult but you want to get her out of the way for sure and don't forget to get that remembrance. Okay so from this boss fight guys we're going to make our way back to the building we just come from, the church and grab the enhanced holy grenade and then go back to that anchor between realms because we're going to warp out of here. Okay so now on to the path of the devotion memorial area, this is the vestige of the dieter and the first items we're going to grab here guys are the anvil hammer as well as the diminishing missile, okay so from this point guys we're going to grab the umbral eye of a lulsh I believe that's pronounced, the hungry nut, the enhanced lump hammer which is absolutely brutal as well as the enhanced radiant burst parchment, now there will be quite a few enemies in your path some you will have to take out as well as a lot of cutting in the footage you are seeing but hopefully it's clear enough for you but do what you've got to do guys and go get these items, make sure you pick up that enhanced lump hammer because this thing is utterly broke. Okay so you'll get to this point guys and there's probably going to be no path forward to you at this point there's a good chance you may have to cleanse a few more beacons before you can progress any further this way and this is why guys we backtrack from now and we go back to the sky rest vestige, here we will make our way to a new area going back towards that first player a fight towards the light reaper boss fight and ultimately the vestige of the forgotten guardian and there is plenty of loot along the way people now the first few bits you'll pick up are the muffering as well as the cavalry pendant, the pendant you can't really miss but the muffering which is actually pretty cool it raises your Viagra gains this one can be easily missed I actually got it by accident and you'll see that on screen when we come to that point so do as you do guys and get these items from this point guys we're going to go on to grab the unruh eye of the bloody pilgrim the melted dark crusaders sword the grave ward fog the cursed dart and a noble man armor as well as a cow raff guardsman armor pretty cool so don't miss these things now as you jump down to this area guys I won't like it's a little sketchy down here I mean I died probably three times just trying to avoid things blowing up but hey I got there in the end so do be super careful there's an armor set down here as well as a couple of other good items you don't want to miss so do what you got to do here now depending on your play through this boss may not be here he may appear once if he kills you he won't reappear or he may be in definitely here like he was for me so I had unlimited attempts in taking him out but hey it's pretty difficult I won't lie but either or guys if he's here or not the loot you can obtain from the surrounding areas stays the same but make sure you activate this anchor between realms as well guys especially if you want to take this bus on if that choice is there now if the bus is here for you and you take him out don't forget to grab his remembrance from here guys it's probably wise to ignore this anchor between seas if you don't have to spare seas because you don't really need them there's an anchor right nearby here but hey from this point either or guys we're gonna backtrack on ourselves I'm gonna grab the roll guard or your flask so do what you gotta do here people I will say this is nice to me can grab before the bus fight it's just I beat the bus so I went to cleanse the beacon and found it on my way now once you do cleanse this beacon if that is what you're doing here guys once you reappear from the cutscene cinematic you will be at the last anchor you activated the one before the bus fight or the one inside of the bus fight but from here guys we're gonna progress past that bus fight area and grab a few more items starting with the old breaker die the black smith's pride the queen verena twos ring and then progress on to the vestige of the forgotten guardsman and lastly for today's video guys from this vestige you're going to go and fight another bus who appears right outside of this area the bus is called the iron wayfarer and from him you get the iron wayfarer's hammer so do what you gotta do guys he is an easy bus fight it shouldn't be too difficult for you I mean if you got past a light reaper this dude is no problem whatsoever but there we have it guys for another video again I've covered many other areas already in this game you'll find those videos linked down below if there is a specific area you're looking for loot within or if there's a specific item you're looking for I may have already covered it again check out those videos linked down below but guys if you did enjoy this video leaving a like really helps me out if you're new around here and want to see more be sure to subscribe and hopefully guys I will see you on that next one


This study has identified 904 Merners expressed in human leukocytes of these 370 N-novel Merners. The study also provides a customized automated computation pipeline for Merner profiling and identification of N-novel Merners, even those that are missed out by other existing pipelines. This article was authored by Kumar Lalit, Gupta Roshi, Sharma Pratiba and others.


Therefore, it is time for Member Statements, the Member from Huron, Bruce. Thank you very much, Mr. Speaker. As many of you may know, May is Lyme Disease Awareness Month, and today I stand on the shoulders of the many people in my riding who suffer from Lyme disease. Lyme disease is real, Lyme disease is in Ontario, and people are suffering from it. For those of you watching right now, Lyme disease is a tick-borne disease that is spreading rapidly through Ontario and Canada. In fact, it is the fastest growing vector-borne disease in North America. Health Canada predicts, excuse me, by 2020, 80% of the population of eastern Canada, this is including Manitoba and Ontario, will live in a tick-and-demic area. On Saturday, May 27th, Lyme Ontario will be hosting its second annual A Walk for Hope. Lyme Ontario is a charitable organisation that seeks support for patients with Lyme disease and to increase public awareness. They work hard to educate the public about the preventative measures that should be taken when outdoors. On May 27th, they will be hosting a five-click walk at Beachway Park in Burlington. This walk helps raise awareness, as I said, for the disease, and all donations go to Lyme Ontario to continue the research, education and support. Lyme disease is an important issue in Ontario. As I said, it is real. People suffering from Lyme disease in this province deserve to be attended to, as opposed to being pushed into the States for treatment. Please join me in continuing to help raise awareness for this dangerous disease. Thank you very much. The member statements. The member from London West. Thank you, Speaker. I rise today to pay tribute to London West constituent VJ Batia, a veteran London taxi driver whose life was brutally taken on April 29th. VJ was a 64-year-old grandfather and father of four who was lovingly remembered as a family man with a big heart, a man of peace who always had a smile on his face, a gentleman who exemplified what it means to be a good person and a caring citizen. VJ's roots in our community are deep. Born in India, he immigrated to London and began a long career in the taxi industry. He was a dedicated husband and father who worked hard to support his family and put his children through university. Since his passing, I have heard stories about his eagerness to plan family trips and the advice he gave to his children to put family and friends over money, his generosity to young people making their way in the world, and his friendliness to the passengers he drove in his cab. Earlier this month, over 500 people attended VJ's funeral and another 100 participated in a memorial walk and vigil, including taxi drivers from as far away as Guelph, Mississauga and Toronto, demonstrating how many people VJ touched and helped in a life that was so senselessly and tragically cut short. On behalf of all MPPs, I wish to express our sincere condolences to VJ's family, friends and colleagues. He will be greatly missed, but his spirit and decency lives on. Thank you, Speaker. Thank you for your member students, the member from Brampton, Springdale. Thank you, Mr. Speaker. Mr. Speaker, on Sunday, May 7, the church in my writing at 355 Hadron Boulevard marked the milestone with an anniversary service. I was excited to join the congregation at Bramley Free Methodist Church to celebrate their 35th anniversary in the city of Brampton. With celebrations throughout the morning, Daisy Wright, a friend and parishner at the church, had invited me to join her along with her family and other parish members at the milestone celebrations. The church's genesis can be traced to the spring of 1980, with the start of a Bible study group that later became the BFMC on May 2, 1982. Over the years, the church and its congregation have become parts of the roots of our community. Currently, the Assyrian Gospel Church and the Tamil Free Methodist Church share the space. Members of the church have served globally beyond the borders of Brampton, including the last three and a half decades where the church has offered assistance to organizations and individuals in their times of spiritual, emotional and physical need. In 2015, the church launched a community garden, distributed vegetables and other produce to several non-for-profit students through Brampton. More recently, the congregation, including the Sunday School Children, jointly wrote a book, Conversations of Grace, Testimonies of Blessings, Faith, Miracles and Courage. This book includes personal stories of the contributors to strength and to encourage and inspire others. I would like to once again give a big congratulations, not only to all the members of the church, but also Reverend Dennis and Christina, lead reverence Dennis and Christina Ball, lead pastors of the church. Congratulations on 35th anniversary. Thank you, Mr. Speaker. Thank you. Thank you, members. Thank you. Member from Leeds, Granville. Thanks, Speaker. If there's one thing we need more of in the world today, it is happiness. I rise to recognize the amazing kindergarten students at Brockville's Tony Atta Public School who are bringing joy to their corner of the world. It's called the Tony Atta Happiness Project. Across the community, people are discovering sunrocks just like this one. 300 brightly colored stones were hand painted by 56 Tony Atta kindergarten students under the guidance of teachers Joanna Charbonneau and Julie Hunt and ECEs Donna Ross and Amy Brown. The sunrocks have appeared in businesses, parks, doctors' offices, the local hospital and even the mayor's desk at City Hall. Today, I'm very proud that they've made all their way to Queen's Park. It's a wonderful idea that's captured the hearts of our community. As people discover the sunrocks, they're taking pictures and sharing them on Facebook with the hashtag Tony Atta Happiness Project. I encourage everyone to do a search and I challenge you. I challenge everyone not to smile and have your heart warmed by what you see. When the students started this project in January, they wanted to make people feel a little better about their day. To them, I say, mission accomplished. These young students have taught us a lesson that no matter your age or size, we can all help make the world a happier place. Thank you, Speaker. Makes me happy from Windsor to come see. We're having a big homecoming weekend in Windsor. Can you believe it, Speaker? St. Clair College has been around for the past 50 years. Friday evening at the main campus, the Windsor Symphony Youth Orchestra is putting on a free concert. The public is invited and volunteers will give tours of the campus. Saturday morning, there's an alumni and friends golf tournament at the Donald Ross Design Roseland Golf Club. But, Speaker, if you weren't one of the first 144 people to enter, you're out of luck. It's all sold out. That's in the morning. Later, there's a jazz band dining with a four-course meal and dancing with the added feature of dueling pianos. There's even a disco Saturday night fever event. And that's all at the St. Clair College Center for the Arts. And that evening will be capped off of a huge fireworks display across the street in Dieppe Gardens. How about a 50th anniversary brunch on Sunday morning? And, Speaker, for you, there is a seniors' discount. Sunday evening, take a stroll back in time with a 70-style coffee house. Numerous talented local artists will perform at the Student Life Center, including Kelly Hoppe, Greg Cox, Ed Everard, Tom Markham, Phil Kane, and Scotty Hughes. Speaker, later this year, St. Clair College will graduate its 100,000th student. Some famous alumni include Mary Jo Haddad from the Sick Kids Hospital here in Toronto, Ray Tangay was a former CEO at Toyota Canada, and Andy Foss, a vice president at Shoppers Drug Mart. So congratulations to St. Clair College, President Patty France. Have a great homecoming weekend. I was going to call the member out of order or not. I wasn't sure. The member statements, the member from Ottawa South. Thank you very much, Mr. Speaker. Mr. Speaker, and today, the Schizophrenia Society of Ontario is holding their annual lobby today. And I'd like to acknowledge a few people with us in the gallery, Mary Albury, the CEO of the Schizophrenia Society in Ontario, George Billoff on the board of directors, Heather Skelly, a member of the society's speakers bureau, as well as Jesse Bigelow. So we had a great meeting before we resumed here just a few minutes ago and heard some very important personal stories as well as what the society is advocating for. So schizophrenia affects one in 100 people across every race, culture, and socioeconomic group, equally occurring in men and women. Over 140,000 people in Ontario live with the disease. This brain disease does not discriminate. It impacts everyone. Schizophrenia and other psychotic disorders are severely stigmatized, misunderstood, and often feared. It is a serious but treatable mental illness. Recovery is possible with proper treatment and support. Individuals, along with their family and friends, can live happy and fulfilling lives. May 24th marks National Schizophrenia and Psychosis Awareness Day in Canada. For over 30 years, the Schizophrenia Society of Canada has provided schizophrenia and psychosis specific supports for people suffering from the illness, making a positive difference in the lives of people, families, and communities. Together as a community, we need to work together to reduce the stigma and better educate ourselves about the illness. I encourage my colleagues to meet with representatives from the Schizophrenia Society, who are here today to learn more about the important work they are doing in our communities. Thank you, Mr. Speaker. Thank you. Thank you. Further memories? Dennis, the member from York Simcoe. Thank you, Mr. Speaker, and it is my pleasure to rise today to thank both South Simcoe's outgoing police chief and to welcome our new one. Recently, South Simcoe police chief, Rick Beasley, announced his retirement. I would like to first and foremost thank him for his many years of service and for his ongoing dedication to our community. He is a pillar of South Simcoe and will be missed. On behalf of all residents of York Simcoe, I wish him the very best in retirement. I would also like to congratulate our new chief, Andrew Fletcher. Chief Fletcher comes to this new role with ample experience, most recently as deputy chief of South Simcoe, but also as deputy chief of Halton. I wish him the very best in this new role and look forward to getting to know him over the coming months. Chief Fletcher also serves as co-chair of the Simcoe County Local Immigration Partnership, a member of the Innisfil Rotary Club, a supporter of Special Olympics Ontario, and his coached youth soccer. He is a passport member of the Reach Out Center for Kids, a non-profit charitable organization that serves both children and youth. So once again, thank you to retired chief Rick Beasley and welcome to our new chief, Andrew Fletcher. Thank you for the member of the Senate. Thank you, Speaker. Recently, the Greater Toronto Airports Authority began construction on one of its runways and rerouted most of the flights over my community in Etobicoke Center. As a result, noise levels in my community from airplanes have reached an acceptable level at all hours of the day. I am disappointed that the GTAA planned this massive project without consultation, without communication in advance with my community. The GTAA falls under federal jurisdiction and our federal MP Boris Jusnevsky is doing excellent work in this regard, but let me be clear, I will do everything possible as a provincial representative to advocate for my community. At a recent meeting with GTA officials, I indicated to them a number of things. First, the noise levels that my constituents have had to endure have been unacceptable. Two, the GTAA must expedite the construction and immediately do everything possible to reduce the noise from flights in my community. And going forward, the GTAA must start working in partnership with the community on issues that impact us. This includes the noise that caused by the construction, it includes night flights, it includes something called the Helios Project, which I now understand could increase the number of flights over our community and the desire by the GTAA to build a transit hub. To me, working in partnership means consulting well in advance on issues that impact the community. It means collaborating with the community to find solutions that address our concerns and it means ongoing transparency and communication with our community. In the lead up to the runway construction, the GTAA did not do any of the above and did not treat the surrounding communities with respect. The GTAA is now eager to build a transit hub at the airport that requires provincial funding and support. I have made it clear that I will not support the GTAA's aspirations for a transit hub until I am confident that the GTAA will work in partnership with the community on night flights, the Helios Project, noise management, the transit hub, and any other issues that touch my community in Etobicoke Center. Thank you. Thank you, Speaker. Thank you, Mr. Speaker. Thank you, Mr. Speaker. In Sundridge, David Tlemmer and Stefan Oben are the owners of Northbridge Inn and Resort, a charming vacation getaway on the shores of Lake Bernard in my riding of Paris San Muskoka. They have done everything right as a business. They completed an energy audit and spent $200,000 in renovations to conserve energy and limit heat loss. Despite that, their winter hydro bills this year were $14,000 a month. With hydro bills like that, they can't afford to operate in winter. As a result, they will not be opening their doors for the next winter season and will have to lay off 40 full-time and part-time workers. Isn't that a number? Speaker, in a town of 961 people, 40 jobs is a big loss. Just down Highway 11 in the village of Berks Falls, council is considering shutting the arena during the winter months to cut costs. The arena, like many across Northern Ontario, is struggling with increased hydro costs. Speaker, this is another small town of less than 1,000 people and the arena is central to community activities. If small businesses like Northridge Inn and community hubs like the Berks Falls arena continue to decrease their operations, it will be devastating to the local economies and the residents of these small communities. Mr. Speaker, this is particularly true in the winter months when jobs are in short supply in our area. Thank you, Mr. Speaker. Thank you. I thank all members for their statements. Therefore, it's time for reports by committees. I beg to...


Can I just go? So, hi, everyone. My name is Bart. I'm a software engineer working for SiloDB. I'll be talking about what we're doing to introduce stronger consistency guarantees into the database by implementing raft. So, before we go into raft, how many of you are familiar with SiloDB? All right. So, not that many, so I'll start by going over a brief introduction. Silo is a NoSQL database compatible with Apache Cassandra. We implement the same APIs, and we use the same file formats. We are, however, much faster. We have ten times the throughput at much lower latencies, especially the higher percentiles. The database is also self-tuning. We employ a lot of control theory to make sure we can schedule all the different user workloads that we can balance them with the internal processes that the database has. We use ODirect and bypass Apache Cass, so we do have seen correctly. And the database is written in C++ with a lot of attention paid to the underlying hardware, which we want to fully utilize. So, we are a dynamo system, so there is no special nodes. Data, a particular piece of data is replicated across a set of replicas, and the full data set is partitioned across the whole cluster. When a user performs a read or write, he can specify the consistency level, which is how many replicas should acknowledge the operation before it is considered successful to the client. The data model is based on tables. The tables can have many columns. There is a primary key with two components, the partition key and our set of columns that specify how the data is distributed across the cluster, so they determine which nodes get to handle which pieces of data. And then there is the clustering key, which defines the order in which data is sorted and stored on disk. In terms of consistency, when we are performing a write, the coordinator knows that handles the user request is going to replicate that write to all of the replicas. We can, as I said, specify the consistency level, so if we say we want a quorum, a majority of replicas to acknowledge the write for it to be considered successful, then we can't tolerate one failure when a replica not receiving the write. If we then do a quorum with, and let's say that we only read from one of the replicas that had the data that we wrote previously, then we are going to consider the operation successfully, and we are going to return that piece of data. This provides us with some consistent guarantees, namely read your own writes and monotonic reads. And during this read, we are going to notice that a replica was missing that particular piece of data, and we are going to propagate it there. We also do this in the absence of reads by having a background anti-entropy process called repair, which periodically ensures that all the replicas converge on the same values. There is a peculiarity, which is when, let's say, we are doing a quorum write and two replicas fail, so only one replica acknowledges the write. In this case, the user receives an error, but one of the replicas did start a new value. So repair will in time propagate that value over to all the other replicas in the system. So the user write failed, but the value made it into the system and it's going to be observable by future reads. Another part of the consistency model is how we deal with concurrent updates. So if you're trying to update the same key and the same column to different values, how do we specify which one wins? And more importantly, how do we make them be commutative so that all replicas eventually choose the same values? And the technique we employ is the same as Cassandra's, so let's write wins. We look at the timestamp and we pick the value that has the highest timestamp. If the timestamps match, then we pick which are with the highest value according to the underlying data type. This is really not a great solution because timestamps don't capture intent and we are also silently discarding one of the values that the user is trying to write. And the solution to this right now would be to make changes to the data model. So model the data as an appending log, make all writes we add them put in, and work arounds like that. So another particularity of SILA is that it is implemented on top of the C-star framework, which is a C++ framework we wrote ourselves, but it's used by a bunch of other projects, and it's used for high-performance applications. So it imposes a thread per core design in which there's one thread pinned to a particular CPU and only one. And that means that if you want to fully utilize your CPU, then there can be no blocking ever. Otherwise, the CPU will just go idle. Because of that, C-star provides a set of asynchronous APIs not only for networking, but also for file.io and multi-core communication. In C-star, data is confined to a particular core, and when another core wants access to another one's data, it uses message passing to fetch that data. And we expose these APIs in the future promise API. So for SILA, this has the consequence that all of the components of the request path are replicated per CPU.  We use the same partition key to decide which CPUs get to handle which subset of the data. We use the middle bits of the partition key just to avoid aliasing situations when the shard counts per node approximates the node count in the cluster. And so the reason we want to introduce a stronger consistency model in SILA is truly because it just enables more use cases. If you want to have uniqueness constraints, you want to specify that a particular email address exists only once in the database, then it's really cumbersome to do that with just quorum reads and quorum writes. If you want to have read, modify, write accesses, where you read a value, make some decision, and modify the value and write it back, you can't really do that safely in the presence of concurrent updates with the mechanisms we have right now. Similarly, if you want an update to be all or nothing, so if you want all the value to be written on all the replicas or none of them, instead of those partial writes that we saw, then we have no mechanism to prevent that right now as well. Of course, we want these stronger consistency operations to be up in. We don't want you to have to pay for what you don't use. So Cassandra exposes this feature as lightweight transactions, which provides strong consistency per partition, so per key. It is essentially a distributed compare and swap, so you specify the new value and you specify what has to be there for the new write to apply. It's not really a full transactional API, and so you end up having to write your programs like you'd write log-free algorithms. So you make some modifications to some table, and then at the end, you try to update a point term to the new data, and by having clients coordinate on this pointer, then you get the strong consistency properties. It is a data path operation, so we want to make it as high-performance and as available as possible. And finally, because of the way the feature works, it does require an internal read before write, so we fetch the current value and are able to match it against the preconditions that the user is specifying. So to implement strong consistency, typically we resort to consensus algorithms. Consensus is the process by which a set of replicas reach agreement over a particular value. Consensus protocols provide consistency guarantees about underlying data, and they are leveraged to implement what's called replicated state machines where a set of replicas apply the same operations and in the same order and work together as a single coherent unit. We can tolerate some non-biasing time failures, so for two times F plus one nodes, we tolerate F failures. And a run of the consensus algorithm is typically called around, and it advances the underlying state. There are a set of guarantees that make these protocols worthwhile, so that of stability. If a replica ever decides a value, then that value stays decided forever. Agreement, that no two replicas should decide a value to different values. Validity, that if we decide on a value, then it's because a replica did propose that value, didn't come up out of thin air, and also very importantly, that of termination, that eventually all replicas do reach a decision. So how do we go about choosing an algorithm? There are two very popular ones, Paxes and RAF nowadays, but there are other ones. So first of all, we want to look at an algorithm that's understandable. So there was a very famous paper that came out of Google detailing their experiences implementing Paxes for Chubby and basically the gist of it was that Paxes was a very under-specified algorithm and that they had to search all of the literature to come up with a frank and sign of a solution. So we also want the algorithm not to be too cutting edge, we want there to be some real world usage of it and some experience and validity. Another thing to look at is how many, what's the overhead of having all those replicas coordinate to decide on a value, and that's usually in terms of round trips for women to be reached. Another thing is general performance, how amenable is an algorithm to typical optimization techniques. And an important trade-off is whether there's a strong leader or whether any replica can decide a value. So if the latter, then we require at least two round trips to decide on a value. This is classical Paxes or the new algorithm cast Paxes. Cassandra does something similar, but they require four round trips. The other approach is to have a strong leader. So we go through a process called leader election, select one of the replicas and to be in charge, and then we can commit values with one round-trip communication between the leader and the followers. This is what multipaxes, rafts, and XIV all do.  So they typically rely on a right-of-head log to order operations, which takes space, and we need to find ways to compact that log. Also, read-only requests typically require a full run of the consensus algorithm, but we just want to read the latest value. We shouldn't have to go through that.  Dynamic membership, having those come and go from the cluster, is also a big issue. The other one is multi-key transaction support. Can we extend the algorithm, or can we compose the algorithm so that we can have multi-key transactions? Another thing to look at is performance over the one, and finally, whether there is actually some formal proof of its safety, or whether there's like a Jepsen block post about it. So not surprising, giving the title of the talk, which was raft, it is focused on understandability. It's a very descriptive algorithm. It is very widely used. It has a lot of transactions, and it's running in a lot of databases. It has strong leadership. There's a leader election process. And for, in the context of lightweight transactions, it is going to be the leader that does that read-before-write and validates whether a transaction can apply or not. And for us, the fact that there is a log of operations is no big deal, and it's compacted as we shall see. So in raft, a node can be in one of three states. It can be a follower, a candidate to become a leader, or the leader itself. If it is the leader, then it is the one that handles user requests and carries out the read-before-write in the context of LWT and applies a new value and replicates it to the followers. It is also in charge of sending periodic heartbeats to the followers to keep them devout. If the leader becomes unavailable, one of the followers will notice, will become a candidate, and will propose itself for leadership. A candidate will become a leader if it receives votes from a majority of the other replicates. In raft, we have three components. We have the main consensus module that drives all of the algorithm's logic. We have the log, which implements this rather head log, which is the thing that actually provides most of the guarantees of the protocol. And when those entries of the log are safely committed in a majority of the followers, then they are applied to the state machine, which in the case of CELA, the state machine is a database itself. And of course, then the client observes the data in the state machine. The algorithm provides a set of guarantees that makes it very understandable. So the election safety guarantee means that at any given time there is only one leader in the system. The leader is the only replica that can append entries to the log. The raft enforces through the log matching property that if two logs that are the leader and one of the followers contain the same entry at a particular index for a particular term, then the logs are identical up until that point. If that is not the case, then either we'll send whatever entries the follower may be missing or we'll remove from the follower whatever extraneous entries it might have. In the raft, for a node to be elected leader, it needs to be at least as up to date as the previous leader. And finally, if a log entry is applied to the state machine in a particular replica, then it is guaranteed that the same entry is applied for the same position of the log across all the other replicas. This is how we guarantee that all the replicas are in fact working as a replicated state machine. So in raft, time is divided in terms. Each term is comprised of the leader election process. And from this, it can result that we're able to elect a leader or maybe no node received the majority of votes, so the process needs to be repeated. But time in raft is logically divided in these terms. So applying this throughout to CELA leads us to a bunch of interesting design choices. So first of all, because CELA is partitioned, there is no single node that holds all the data. So even if we wanted to have a single leader for the whole cluster, it would be very cumbersome because it would need to contact other nodes that actually hold the data to do the read before write and then to eventually apply the read, the write, all the while holding some walks that would prevent other concurrent operations from continuing. And it would also mean, obviously, that if all the write operations had to go through a single node, it would prove to be a huge bottleneck. So what we do instead is we have as many raft groups as there are partitions of the token space. So for each token range, there is a set of replicas that handle that subset of the data and those replicas form a raft group. So there are many leaders and many raft groups. A nice consequence of this is that we can have higher concurrency. So all writes can go to different leaders, to different raft groups. And if one of those leaders fails and we have to elect a new leader, there's going to be a brief period of unavailability. However, this will only affect a subset of operations. There's some fine print next to this because if we have n nodes, then if one leader, let's say we have 10 nodes, if a leader dies, then we are going to lose 10% of our token ranges. So if a client is making random requests, then there is a 1 over n probability that it will hit a key for which the leader is unavailable. So it doesn't mean that we beat the cap theorem, we're still going to be unavailable under the prentice of failures. Because of how SIL is implemented on top of SISTAR, each group itself is going to be sharded on a particular node. So a shard or a CPU is going to handle a subset of the operations of that particular raft group. This is going to impact how we organize those raft logs. So inside a particular node, we are going to have many of these raft groups. Here are the typical raft modules, the core consensus module, and the log database. The state is going to be whatever precision state we are going to need to keep across reboots. And then the RPC module is just what we use for messaging between replicas. So each shard, each CPU, is going to have an instance of all of these groups. However, shards between all of these are going to be the hard bits module. So if a node is a leader for many groups, and there's a follower, that's a follower for many of those groups, then we don't want to send any hard bits. We want to call as the hard bits into just one message and send just that one hard bit. This is how the simplified write path looks like inside a node. So we have a mutation, which is how we represent write request in SILA. The mutation is idemponent and commutative. And a set of restrictions which we are going to compare whatever is on disk. So first, we apply some logs to ensure that concurrent operations are blocked. We query the database to find out what's the current value. We compare that against the set of restrictions. And if they match, then we apply the entry to the log. From there, we communicate with the followers to try and replicate that log entry. And when we finally replicate the two majority of followers, that entry is committed. And the entries can be safely applied to the database. So sharding, then, is where all the differences between a typical ref implementation and this one are going to arise from. So, first of all, you notice how we organize our ref groups per node. But inside a node, it's shard handles a non-overlapping subset of the ranges. So why didn't we organize the groups by shard instead? And the reason is that this would lead to combinatorial explosion of states. So the metadata for all those groups would overwhelm the database. In raft, a particular entry is identified by the term that it was written in and by the index in the log file. So in CELA rafts, we add to that what was the leader shard that entry belonged to. We're going to have to be careful with heterogeneous clusters. These are clusters where the shard count is different between nodes. This is not a typical situation, but it can happen during a rolling restart where someone is provisioning more CPUs on their machines. And for a short while, shard count is going to be different among the nodes. And also resharding, which is when one of those nodes reboots and comes up with a different shard count. So if we were dealing with a homogeneous cluster, then everything is fine. Shard zero of node zero is going to talk with shard zero of some other node. And their logs are going to be exactly the same and organized the same way. If, however, we have different shard counts, it can be that different leader shards are talking to the same follower shard. This means that in the follower's log, these entries are not going to match how they're ordered in the leader logs. In particular, for the log matching property of raft, when we send the new log entry, we also send what we expect there to be before. So the follower can check if this log is up to date to the expectations of the leader. And if it's not, then we trigger that process by which the follower is brought up to speed. In this case, the follower can have entries that another leader shard gave it and they won't match what this other leader shard is expecting. We could solve this by going over and filtering out entries in the log, but it would be cumbersome. We can have a similar scenario where the leader shard is talking to different follower shards. And in this case, the logs in the follower shards are going to have gaps in them because some of the entries went to another shard on that machine. And here is the same thing. When we're trying to append an entry, the log matching property will require that we look at us in the log and we're going to find gaps there. And the algorithm is going to assume that it's missing data. So it won't work very well. So to solve this, we change how logs are organized. We organize them by term because for a particular term, the leader shard count is stable. And then we also organize them by leader shard. When a leader restarts, then its term ends. It has to go through another leader election. In other words, whether a node is a leader or not is not preserved across reboots. This is why if you're changing the CPU counts of nodes, you have to go through a restart. So this means we don't have to worry about a leader resharding in the middle of this term. And because now in the followers, logs are organized by leader shards, it can be that in some cases, different shards have to access the same log. So they will require synchronization. This goes a little bit against the philosophy of CSTAR where everything is partitioned. But this situation is really not typical. So we do require some synchronization here. So finally, log compaction. As I said, when entries are committed, replicated to a majority of followers, they can be written into the database. At this point, we can compact the log and get rid of all of these committed entries. In other words, it means that the database itself is now going to be responsible for that prefix of the log. This has consequences when we are dealing with a follower that has fallen behind and needs to be brought up to date. So whereas before, we could just ship the log entries over to that node, now we have to look into the database state and figure out what that node is missing. Fortunately, we already solved that problem. We had exactly the same problem with diverging replicas. So we can use that anti-entropy process that we call repair to figure out exactly what piece of data a follower is missing and then transmit only those mutations over to it. There are some interesting aspects to this. Due to natural concurrency, it can be that what we're transferring to the node actually overlaps with entries that are in the log that we are also shipping over. But because our mutations are idempotent and commutative, no harm comes of this. And it's also the case that repair is a heavyweight process to run, so we'd like to avoid it. So if we notice that we have some followers that are falling behind, we can choose to keep some committed log segments around. I say one gigabyte worth of log segments around just to make it much faster to bring those followers up to date. It's much faster to just send sequential pieces of data over. Now, the most difficult aspect of all of this is membership changes. So as we saw, and there will be many ref groups in the silica cluster, it's going to be for each key space, we are going to have replication factor times the number of V nodes, which is how many token ranges the key space is divided in, many ref groups. And raft has a restriction on the configuration changes. It specifies that only one node can be added or removed from a group at a particular time. So if we want to have more complex changes, these are going to have to be implemented as a series of the single step changes. In sila, unless you are changing the replication factor of a key space and the member count of a group is going to remain the same whenever you're adding or removing a node. So this means that if you are adding a node to a group, you'll have to later remove one of the nodes from that group. And conversely, if you are removing a node. So we have here a segment of the key space in which node A is the primary replica for a particular token space. So it's going to form a raft group and replicas nodes B and C are going to be the secondary replicas for that token range. So these three nodes are going to be in a raft group together. And the same thing for B is going to be the primary replica of that particular token range. And C is going to be in a group with it, and whatever node comes next. Now if I want to bootstrap a node D and D claims a token range that falls between A and B, some things are going to happen. Namely, now D is going to be a secondary replica for A, and C is no longer going to be in that raft group. The ranges for which B was a primary replica for now have changed because some of those ranges now belong to D. And because of that, now D is also a primary replica for a new token range. And B and C are going to be in a raft group together with it. Out of all of these things, what's important is having node D join the group of A and having node C live it. Rafts for B said these two operations happen concurrently, so we have to order them. And this is actually going, it requires changes to how our group membership algorithms work, our existing ones. So before we bootstrap a node, we need to wait until the node has joined all of the groups. And this is when we know that it's safe for now the other nodes to exit those groups. Doing a single operation at a time like raft requires has the nice property of ensuring that the majority of the configuration before overlap with the majority of the configuration after the change. Also, these configurations, what replicas comprise the raft group are written as special entries to the raft log. So this has the drawback that now bootstrapping nodes or removing a node is going to be a much longer process because it requires consensus rounds across all of the groups, many of the groups in the cluster. So adding or removing nodes becomes much more expensive. And finally, new nodes, because they don't hold the data, they enter the system as non-voting members. So they can be sent log entries from the leader, but they can't really participate in the leader election process. This can also hurt availability in some cases. So this is it for rafts and for everything I've said we're going to single key transactions as shown to the user in the form of LWT. However, LWT has another important constraint, which is it has a consistency level that says a transaction should only apply within a particular data center. This means that our raft groups cannot contain replicas from multiple data centers. This means instead that each data center has its own raft groups. So now we are left with the other problem because there's also a consistency level that says a transaction should apply across all data centers. So now we need to have some sort of way to coordinate among raft groups. This is more work upfront to support LWT, but it's actually a subset of what is needed to support multi-key transactions. So the way we solve this is by layering an agreement protocol to face commit on top of raft groups. Other databases like CockroachDB do this. So it's a typical to face commit implementation with the benefit of all of the participants, like the resource managers or the coordinator or the nodes that are going to hold a transaction status being fully replicated and fault tolerant because they form raft groups. I'm not going into details.  So I've spoken about how external users can benefit from strong-core CCC, but the database itself can also benefit from it. One example are concurrent schema changes. So today, schema change is carried out locally in whatever replica the client contacted and then propagated throughout the cluster. This means that we don't have any protection against concurrent schema changes or changes that are done in incompatible orders. So, for example, if I'm trying to create a table on one side and on the other side, I'm trying to drop a user type that's used in that table and there's really no way to order these two operations. And because they are concurrent, there's really no way to provide a good error message to the user. So this is just going to be errors in the logs later. However, if we say that if we partition our key spaces, like the key space name, if we partition that into the cluster, then we're going to reach a raft group that can be responsible for all operations for that key space. And once we have that, then we can use LWT when we are internally, when we are applying schema changes so that they all go through the same leader and then they are ordered and we can provide nice error messages to the users. Another thing are range movements. So currently, we can't really have concurrent range movements. We can add more than one node at a time because they can pick conflicting token ranges. And whenever a node joins the cluster and picks whatever token range it wants, it will do so randomly, so it's not really optimal. So what we want to have is a strongly consistent way of ensuring that when we're writing a new node that we actually give it whatever token ranges will be best for the system. You can see which nodes are more overloaded and take ranges away from them and give them to the new node. It also means that we can tell the system that we want to add many nodes at the same time and the system can pick tokens in a way that will make those operations actually be able to proceed concurrently. Of course, they wouldn't be able to be in the same raft groups, but we could do better than what we have now. The only thing is that we can use the same partitioning approach that we could use for schema updates because picking a token is a centralized decision in the place of the whole cluster. So we could do one of two things. We can have a global group. We can say all nodes in the system belong to a single raft group, which is simple but has many disadvantages. Or we could say that the raft group that coordinates cluster range movements is formed by very specific nodes. So we can say that the seed nodes, the ones that everyone knows about are the ones that form this raft group that controls range movements and token ownership. Finally, materialized views. This materialized view is derived table from some base table. It is typically used to index a column out of the base table, but it is different than a secondary index because you can actually denormalize data in it. So you can include in a materialized view many columns from the base table. A materialized view is handled by a totally different set of nodes than the base table, and it cannot be written to directly. So when a base table is updated, the database will process those updates as well, will calculate the view updates that are needed to update the materialized views and are going to send it to the view replicas. It does so in the background and in an eventually consistent fashion. This has the advantage of preserving base table availability. So if one of the view replicas is down, or all of the view replicas are down, the base write is still going to succeed. We're just going to accumulate in memory depending view updates. This can be a problem because of two reasons. One, we can have issues with consistency, with keeping the views up-to-date with the base tables, and it also means we can have issues with flow control. All of those pending view updates in a base node can start to take over all the memory, and then we need a distributed flow control solution, so we are able to communicate that resource pressure over to the coordinator node, so we are able to slow down the client. This becomes very complex. With Moody Key Transaction, we could instead specify that the base table would be updated together with the view table in the context of a single transaction. This would ensure that they are kept always consistent with each other and would provide natural back pressure from the view replicas and base replicas to the client. This would, of course, have to be up-in because it would come at a performance cost. That's it. That's all I have on the subject, so if you have any questions, I'll take them now. Thank you. The question is how we support multiple workloads. How do we find blocking by having a slow chart? The question to that, the problem is similar to how it is handled by having different nodes. If you have a slow node, you're going to have the same problem. The way that it solves is by better data partitioning. If the way you select your partition key is picking hot nodes, then you're going to have to employ a different partition key. The same thing happens with shards, so a good partition key is going to ensure that all shards are balanced and they're roughly the same amount of work. If you have a hot chart, then there's not much we can do about it. It's like having a hot node and it's up to the user to tweak the partition key. Makes sense? No. So I didn't mention that, but when I was showing the request path and we were taking logs, so there's an opportunity to allow a lot of concurrency there. So if we're talking about different keys, then they'll take different logs and they'll be able to progress independently within the node. Any other questions? I don't think so. Okay, thank you.


Tom? Whatcha gonna say? Hello everyone, this is Tom Nook, 2.35pm this happy Saturday, March 21st, 2020. For today's news, some stunning news just in. We're moving forward with construction of the Cornhole Museum. Neither Blathers nor I imagine we'd be getting ready to build a museum on this very first day on the island. We're very grateful for everyone's cooperation. Anywho, we started construction for the museum at the very spot where Blathers had his tent. Wonderful.  However, I hope that having a splendid new museum completed by tomorrow will make up for this little setback. That was the little message Blathers asked me to pass through all of you. That's all from me.  Yes, yes! Welcome back to more Animal Crossing. We have so much to do today guys. My house is done! My house is done most! Last night, I played a little bit more of Animal Crossing by myself. Hold on a second. I want to see what's in here. Ooh, Happy Home Academy. Greetings from the Happy Home Academy. Our goal? We want you to make your home the best that it can be. Look for more messages from us as you hone your home decorating skills. Housewarming gift is attached. What did you get me? Enough shopping. Wait, I got my bear tea. Hold on. Watch. Watch, watch. Bear tea. Open. Where? Oh, it's cute. Oh, it's cute. It's cute. It's cute. It's cute. Okay, hold on. Let's go inside really quick. I've got my black roof. I've got the door. It's so cute. How much space I have? Congratulations on the construction of your new home. Here are a few tips for comfortable living. Turn lights on or off. Enter decorating mode. Open storage. Turn lights on or off. Make room for better dimmer. Decorating mode. This feature. Cool. Cool. Cool. Well, this is my new house, guys. That's cool. I love that. All right. Cool. Sweet. Okay, so I want actually, hold on. Wait, I'm going to go and just drop a couple things in there because I don't want it right now. And then we're going to go to another island.  Where is it? Okay, I don't need to know, I guess. Orange wildflowers. Put in storage. I'm going to put that in storage. Oh, the present. I want to open this present. What did I get? Wooden low table. Let's learn it. Huh, okay. Sweet. Learned a DIY recipe for a wooden low table. Cool. I can make a little coffee table. So last night I did a bunch of challenges and stuff. Challenges.  I can show you right now. And here, the nook miles. I'm also a nook miles plus member now because I think I did that in a video, I think, where I paid off my house.  So I have a house now. So I got some nook miles for that. Thank you. And then, yeah, I did a bunch of stuff. So I got a bunch of nook miles and I got a ticket. So what we're going to do, look up the museum. Wow. We're going to, Muffy, what's up, my lady? Oh, yeah. Mika came and visited my island. She gave me this chair. She gave me this chair. I think she gave me this chair and she gave me this palm tree here, which is great. Does this have anything on it yet? Give me coconuts. I want some coconuts. All right. I also upgraded my tool, the tools that I can make too. So I can make, oh, there's a new table. I can also make some better tools. I can also make a wooden mirror now.  I would like to travel because then we can go and get new fruit. We can get some more stuff before we do that.  So I'll be right back. Okay. I got new stuff, so I just have better things now. I have a fishing rod, I have an axe, I have a net, and I have a shovel. Instead of flimsy stuff. So just wanted to do that real quick. And now I'm ready to use my Nook Miles ticket. Okay. Let's go. Hello. Welcome to your one and only gateway to the skies, the Kono Airport. How can I help you out today? I want to fly. I want to fly. Roger. By the way, it looks like you've got a Nook Miles ticket on you in case you feel like using that. So just get the paperwork all good. Where do you want to go? I want to visit. I want to use my Nook Miles ticket. So I want to use your Nook Miles ticket, Roger. I'm ready to get you in the sky right this minute, but let's just check your back tools ready. Time for takeoff. All right. Let's get you airborne. All right, mate. Better luck next time. Let's go. Dodo One. This is Dodo Tower. Wilbur, do you copy? We've got a walker who needs wings over. Roger, ready when you are. All right. You have a good flight, friend. We need to travel. Just think. What would Dodo's do? Dodo's can't fly though.  Look at those little flappers. Wow. And here we go. All right. We've got two there and Dr. Diorlin. Dr. Oscar. Dr. Oscar is gone. First time getting your pontoon sweat on tour, let me bring you on our mystery island procedure. First we'll run the finders keepers protocol here, number three fish whatever. Yours if you can carry it. Next up, breaker tool. Forget one. I can request a new replacement. Got to charge you my own slow. Oh, so there's one red line. I don't need to memorize like your favorite latte or anything you leave behind stays here. We don't come back to these places ever. They actually blur the fight pans afterwards. Security reasons can't explain more than that. Think that's everything. Go explore, get in trouble, ask yourself what would Dodo's do? Meanwhile, I'll be holding a pattern here. Get in touch when you need tools or travel. Go catch some bees and chop some trees.  Look at these flowers.  And there's a villager over there. Villager, villager, would you like to come? Oh man, they got cherries here dude. I don't really want cherries. I've got cherries already. What I do want though. What I do want is to see. If I can get some good materials. Let's see, let's see, let's see. Because also, that's not what I want to do. Also, we can try and see if the villager wants to come back with us. Hey, come on. Look with the eyes, look with the eyeballs.  See it? Oh yeah, we got a big one boys. A tire. I sure am tired of that. Oh man, you said it. Purpose, I got a DIY recipe, okay.  Oh come on. You know you want to. Oh come on. Oh come on. Ooh, is it a new one? I think it's a black bass, yep. The most metal of all fish. It's fine though. Let's go talk to this villager. Hey there, how's it going? Hi, Skye, I wasn't expecting to meet anyone on this tour. I'm Skye, and you're Eepers from Cornhole? Glad you stopped to talk to me. One thing I love about traveling is the chance to make new friends. Wow, I want to be friends. I want you to come back. You're cool. I think that's one of the new villagers maybe. I might be wrong though. Might be wrong on that part. Can I talk to you more? Must be true what they say about how travel broadens your horizons. This change of scenery is giving me a new perspective on life back on my island. I like it well enough, but move to my island. Oh wow, that's such a great idea. Thank you for encouraging me. When I ran into you, I never expected to be invited to live on your island, unless you're just teasing me. Do you really mean it? Air mail? You'll love it there. Oh, this is all so exciting. I can't wait to start packing up my bag and moving after this tour. If I remember right, I'm supposed to contact someone named Tom Nook about relocating air mail. Oh, I'd better do that before I forget. Are they calling me air mail? Like as a, um, nickname? Who knows, mate? Who knows? Let's get this crab. Get this crab and get this fish. Come on, fish.  Come on there, bucko. Dude, come on. Are you being for real right now?  Come on. Come on!  There you go. I didn't do it right. All right. What about the trees here? You got anything good? Yo, I can chop down an entire tree? Can I dig up this tree? Wait. Whoa. That's so cool. I didn't know that I could do that. Well, I dug up an entire tree, guys. Come on, kid. Get it. Come on. Give me a big one. Big one. It's just a dab of, man, I want something better. Ooh, I wonder if that's a new bug right there. It might be. Whoa. That was a red butterfly. That was cool. Can I get you? What are you? Are you new? Paper kite butterfly. I think that's... Swap it. I think that's something new. I don't need the dab, for sure. I don't need the dab. Well, are you going to come to my island? Mom always says that every tepid tape is a chance to invent new friends into your life. Air mail. Wait until she hears the story of how you invited me to live on your island. It will be fun. I feel like I've gotten everything I can out of this island. This is a really small island. I don't know if they're all this small or quite. I don't really think there's much else that I need from said island. You know? You know? I'll try for a couple more big fish, maybe. Just for funsies. And if they're not what I want, then, you know. Then I can release them into the wild. Squid. Oh, right away, baby. Red snapper. I'd love to see it. I'd love to see it. I don't need it, though. I'll let it go. I've already caught that fish. But a good catch, indeed. Good catch. All right, guys. I think we are good to go. I don't think, actually, let me, just for funsies, I'm going to weed this whole place. My pockets are full. Okay. I'm going to weed this entire place because I can, and then I can get money for it. Okay. I weeded the entire place, and now I'm going to go home. No bottom sauce, sir. This is Stoke-Chuck-Chuck-Hammer-D. You require assistance over. I'm ready to go home. You're going to pump pontoons and floss on rows back in a corner. You're positive. Be very positive. They wouldn't want to be leaving anything behind again. You ready? Yes. I'm ready. Let's go. Well, that was good. I got some new flowers. I got some other stuff. Oh. I'm going to plant those flowers on here. Wait. I thought can I not plant anything? I don't want to bury it in a hole. I want to, I want to have them. Okay. Well, I guess I'll sell some of them and keep the others. But what I can do is I can sell the stuff that I don't want to the boy in here. Timmy? Oh, Timmy or Tommy. I can't remember. Timmy? Oh, Tom. So you see since the number of homeowners is increasing, I agree that we need to build a shop. However, when it comes to building supplies, our customers' homes should take priority. I have every confidence that you'll find a way to handle this little puzzle. Two of you have been training under me for how many years now, huh? This should be a piece of cake. You guys can do it. I got you. Hello there. You happy with your home? Is it meeting your expectations? I bet you'll be a lot more comfortable now. This is so different from tents, huh? You can freely change up the flooring and the wallpaper. You've got some built-in storage so you can put away any furniture you aren't using. Oh, yes. There's more. I'll hold them when those are on. Manually, we'll have a happy home academy. The HHA, as we call it, will evaluate your home on a regular basis and send you helpful advice. They even send rewards to members of homes to achieve high ratings.  Just enjoy the fun, which brings us to a new home loan. That'll be 98,000 bells, please. Don't worry. You can pay it back in installments. Big or small. Payments can be made using the ABD feature on the Tom Nook Stop. I think that's everything I need to tell you about homes today. But I do have a nice surprise for you. I do hope you're ready for this. It's a premium miles redemption item. A Nook Miles ticket. A Nook Miles ticket. I already used it. Special travel voucher you can only get by redeeming Nook Miles. It's a conundrum, huh? We want to improve island, but still hold on to the deserting island magic. Well, now you can do both. You can use one of those tickets to do some home modeling shopping, adventuring. Yes, yes, yes.  Maybe you're looking to meet some new characters to gather materials for DIY projects.  Left you a ticket on the counter in the airport. You gave me one already. I bought one, dude. Timmy, hello there. Congratulations on your new home. I have something I would like to chat about. If you have a moment that is to be to be a proposal. So if now it's not a good time, I understand completely. Sure. What do you want? Get right to the point. I'm hoping that you might be interested in collaborating on going on a new venture, building a new shop. After all, our island community is growing and our needs are growing too. I'd love to auto you a much wider inventory of goods. But as you can see, I'm a little bit limited in here. I've already spoken with our fearless leader, of course, and he agrees we have a need. There's a thing. Materials are hard to get so we can set them aside. So can we set them aside for building a shop? I really don't see it since we'll need those materials for residential projects. But I have an idea. Gather up materials from around the island, right? Trees and rocks on environmental review can even suggest that there will be zero impact on native floor and fauna. But I'm getting off track. We'll need a lot of materials for a proper shop and we'll, of course, compensation offer compensation. Sure. Thank you so much. There's a lot to put together. There's a list of items I'd like you to gather. 30 peaches of red or yellow hardwood and softwood and 30 iron nuggets. Damn. Come from off island or any other. Okay. Cool. Cool, cool, cool. All right. Well, I want to sell some stuff. I want to sell. Of course. How exactly, what exactly are you offering? All right. I would like to offer you this and this and this and this and this and this. Sure. That. Yeah. Sure. Sure. And let's see. Sure. That and that and that. Yeah. Oh, sure. Sure. Look at all the fun things. How much money are you going to give me? 4790. That's pretty good, actually. Pretty good. Pretty good. Pretty good. All right. Well, do we do we have anything in here? Hardware box? No. Um, I want to see if there's anything fun that I could buy. Not really anything I want. The banjure T is actually kind of cute. But let's check the nook miles. Let's see if we can do anything with that. Not really anything I want here either. TBH. To be honest, with the napsack is kind of cute though. I think I will get the napsack. Will it give me a gift? No. No. No. No. No. No. Will it give me more stuff? Because that would be nice. Well, I got that. So that's good. So now I guess we just need to go and chop down some trees, dude.  Yes, that's right. I forgot. It'll grow back though, right? Shit. Okay, okay, okay. So I think the plan will be, actually, we're going to go out to another island. See if we can bring home another villager. We will give this. A belt building a shop. Let me give you something. Let me give you something. I'd like to donate. Yes, you will make a donation. Thank you so much for helping us. Uh-huh, you don't seem to have what I needed at the moment. In order to organize donations, we need the full amount. Oh, full amount of material. Okay, what about you, Tom? What do you got for me? Do you have anything useful? Hello, hello. Do you like to judge me about emoliers? Actually, I'm fine. Okay, okay, okay, okay, okay. Why am I so tired? It's only 3 p.m. Let's go to the airport. And we will go there and we will take a flight off to another island. Okay, ready? And boom! We're on the other island. This one's got bamboo, dude. This is sweet. Look at that. Bamboo. More like bamboozled.  You're cute. Look at that jacket. That's a cool jacket. Jacob, what's up? Nice to meet you. Her eepers from Cornhole, man, that's really cool. Let's have some fun together while we're here, you feel? Do you want to come back to my island?  I mean, just living life, horning at nature, want to come to mine? Huh? You live on Cornhole, right? Is it like this there, too? I mean, there's not bamboo. I'll be waiting for you.  Come to Cornhole. Come to Cornhole. Cornhole's where it's at, dude. Cornhole is where it's at. So I guess we won't be getting any wood from this island. I guess we can just chop down all the trees and deficit its ecosystem, though, because we're not going to be able to come back, so we won't see what happens. And if we don't see it, then it doesn't really matter, right? What is this? A bamboo shoot? I can plant bamboo, then. There's so many things. Bamboo shoot. Hell yeah. Fossil! Yes! Yes, guys, yes! I'm getting good stuff from here, good, good stuff from here. What about your rocks? What do you got here? Guys, they have so many things buried on this island. What do we got? Another bamboo shoot. Wonderful. What do you got for fish around here? What do you got for fish?  Apparently no fish, LOL. Ooh, a message in a bottle. That could be a recipe. Fishy! Oh, fishy! Come on. Ooh, a new fish. Yes! I caught an anchovy. Stay away from my pizza. Big fish. All right, give me a big honker! It's a dab again. This looks like a big end, though. Come on, come on, give me something good. Man, I mean, it's good. Can't care anything else. Let it go. Don't really want the dab, though. Release. Back into the water you go. That was a cool bug. Whoa! That's so cool. Got a praying mantis. That's sweet. I can give it to Blathers and he can want to kill me. Listen, Blathers. I'm out here doing research for you. Out on the field. And what are you doing? A whole lot of nothing. All right, guys. I think we've gotten everything we can from this island. I've already been recording for an hour. How? How? It doesn't feel like it. All right, and we back. When we have bamboo, we have a new... bug. And we're doing... just fine. All right. Well, I want to... I'm gonna plant some bamboo. I'm gonna do it over... by the beach, I think. Oh... I think I might end this one here, guys, because there's not that much else I can do. I'm gonna go and get those materials, so then tomorrow we have... the new place. But I'm not gonna film all that, because that's gonna take forever. So I'm gonna sell this stuff. But we've got two more villagers coming to the island, so I like that. I'll give them some bamboo. No, we're not gonna sell the fossil. Actually, I am gonna sell the fossil. I don't know if that's a bad idea to do that, but I'm gonna do it just to see what happens. I'll sell them the anchovy, too.  Right, guys? Right, guys? You know? He's not gonna give me any money for the fossil, is he? I'll pass. I'm gonna keep the fossil. Are you sure? Well, if there's anything else, yeah. So I'll redo it, and I'll just... I wanna sell everything but the fossil. I'll give it to the museum man to a praise. Is that more? Is that more? The last one was 32, right? Okay. Anyway, I'm gonna end this one here. But we got some new stuff. Oh, let's actually... Let's open the bottle. Let's see what we got. A weird DIY TV show I watched at 2 a.m. told me to make this. So I did. Here's the recipe. I put the recipe in the bottle. What is it? Cardboard chair? That's kind of fun, isn't it? All right, guys. Well, I'm gonna end this one here. Off camera. I'm gonna go... Off camera, I'm gonna go and collect all the wood and all the iron and everything that we need so then we can make the shop, so then tomorrow. Well, the shop. But anyway, I'm gonna end this one here. Thank you guys so much for watching. I love you. See you tomorrow. Bye-bye!


Hello and welcome. Now, in this video, I'll be going over a very brief plot overview of all the events that happen in the play, The Crucible by Arthur Miller.  If, for example, you're looking at this video in advance of having to sit an exam very soon or completing your coursework, this video is basically going to give you a very broad overview of all the key events that you need to remember for all four acts in this play. Of course, do remember that I do have another much more detailed video where go into more lots of detail in what happens in each act. Therefore, if you do have a bit of time and you want to kind of become a bit better versed in the key events and the more the detail that happen, do make sure you check out that other video. However, in this video, I'll be giving you just a very general overview of what happens and all the key events that you need to remember. Of course, if you are very comfortable and confident in the play and you know all the different areas, really just see this video as kind of icing on the cake, kind of brushing up your knowledge on these key events. Now, when it comes to Crucible, this very infamous and very controversial play by Arthur Miller, it starts with us meeting Reverend Parris and we learned that his daughter Betty is sick. In fact, he's by her bedside. He's looking at her. He's in her sparse spare room. In other words, her room is very sparse. It's very puritanical. There's not that many decorations. Now, he's by her bedside and we learn that there's this fear in Salem, this town that they live in, that it's witchcraft that has caused her to be sick. Now, as the events develop, of course, other people now come to visit and see and they all start wondering whether witchcraft is afoot. The Putnam's who are very influential family, the wife and Putnam also says, oh, I also lost seven children. I think that's witchcraft. I think somebody, Rebecca Nurse maybe, had a role in playing and bewitching me and bewitching my children and causing them all to die. So there's now all of these fears of witchcraft. Now, as the play progresses, we learn that Abigail and Betty were seen by Reverend Parris himself in the night before dancing in the woods with Tituba. And Tituba is the only black character in this play. She is the slave of Reverend Parris. Do you remember that this happened in the 1600s? So of course, that's when slavery was legal. Now, essentially, we learn that Abigail and Betty, they are somehow connected with this sickness that Betty has. Now, Abigail, when she's asked about this and she's questioned about this, she essentially says Tituba, the slave, called on the devil that night. And that's why Betty is really sick. And then Tituba, when Reverend Parris threatens to whip her, she then confesses out of fear that, yes, she was there and she did this, but she also confesses and says that there are other witches in town too. She's not the only witch. There also are the people. And of course, this is to deflect from her and of course, to make sure that she doesn't get killed. She's saying this out of fear because she's trying to see if there's a way she can get out of this bind that Abigail has put her in. Now, as the play progresses, we then learn that while Reverend Parris and the Putnam's, they then go outside, the Putnam's ask him to lead them in prayer. Whilst they are outside praying to really, for Betty's health, for witchcraft to be removed from the town of Salem, another key character, John Proctor, comes in. And then we learn that Abigail, actually, she used to work for the Proctor household and she was dismissed, she was fired as a servant girl for them under very mysterious circumstances. And now here we learn why. We learned that it's because Abigail and John Proctor had an affair and the wife, Elizabeth, Mrs. Proctor, she then discovered their affair and of course kicks Abigail out. Now, when John Proctor does come in, we get the sense that he's very tall, very good looking and Abigail is still very much in love with him and she does try to seduce him and he really pushes her away and he says what happened between them was before and he doesn't want any more parts of this, okay? So, he comes in and of course, we then learn that they had an affair and his wife, Elizabeth, knows. Now, we then move on to the Proctor household. So, John Proctor and Elizabeth's home and they are essentially arguing because Elizabeth seems very distant, a little bit cold and of course, she's very upset as to John Proctor's past affair with Abigail and she seems to be very insecure whether he's still faithful to her. And of course, on the other hand, John Proctor, he is really angry. He feels like he's shown a lot of penance. He shows, he feels like he's shown that he's really repented for this sin but his wife doesn't seem to appreciate it. So, there's a bit of tension and argument and we sense that there's quite a lot of tension in their marriage. Then, we also learn it's getting quite dark and they have another servant girl, Mary, and she comes in late and John Proctor is very angry. In fact, he threatens to also beat her and Mary, however, tells them that not only is she late because of the court she was there as a key witness but actually, Elizabeth Proctor has been implicated among lots of other people as a witch and she faces the danger of also being killed for witchcraft to which both John Proctor and Elizabeth are really shocked and of course, Elizabeth Proctor suspects that Abigail had testified against her as revenge for not only kicking her out of her home and seemingly disgracing Abigail but also it's revenge because if Elizabeth is killed after being convicted of witchcraft, Abigail will be able to be together with John Proctor and John Proctor could possibly marry her. So, Elizabeth is very angry. Now, Mary then gives Elizabeth a gift that she made her while she was in court. So, she was sowing and creating a little puppet, a small doll and she put a pin inside the puppet. However, men arrive ultimately and not only say that they're there to pick up Elizabeth to take her into court for hering but it's also because in charges that Abigail says that Elizabeth had stuck a needle into her stomach and of course, this is in line with the puppet that Mary has given over to Elizabeth which has the needle stuck in its stomach. So, of course, Elizabeth has no way of proving that this puppet was given to Mary. The men lead her away and of course, John Proctor grows really angry at Abigail's very scheming manner which is going to cost his wife her life. Now, once Elizabeth is arrested and taken away, now we start finding that there's now a lot of hysteria in Salem Town. There's all this hysteria and the pronunciation of witchcraft, it becomes very hard. If you are pronounces a witch, you are just as well basically dead because it's very hard to prove that you are not.  So, he also feels very much that he needs to clear his wife's name so that she doesn't lose her life simply because of this affair. Therefore, John Proctor forces Mary to go with him. So, Mary realized that Abigail has got a lot of these servant girls really scared of her and her authority. However, Mary initially at first doesn't really want to testify against Abigail but John Proctor convinces her to go with him to the courthouse in order to show that the puppet not only belongs to her but Abigail is lying about these witchcraft ideas and she's lying by accusing Elizabeth of witchcraft. They get to the courthouse and Mary does testify and show that Abigail is wrong. Abigail was brought in and Proctor in order to now really show that Abigail is not a character that's trustworthy. He therefore confesses confesses to Letcherie, which is basically adultery between him and Abigail. Now, of course, Abigail is she tries to deflect this and the Danforth and the other judges then ask Elizabeth to be brought in in order to confirm whether this letcherie, this adultery took place. Elizabeth doesn't know that John Proctor has confessed that this happened. So, in order to protect her husband's name, she lies for the first time in her life and says that there was no adultery and of course this really sills both her fate and John Proctor's fate because John Proctor is therefore arrested. Now, Abigail, Mercy and Betty, whilst this is all happening in order to deflect and to make people distracted, that Abigail has also committed a sexual sin, she now starts acting with Betty and Mercy as if they are possessed as a result of Mary and of course this is the very same thing that Mary was really scared of. She would be discredited because she realizes that Abigail has this power of almost hypnotizing other people to really see things from her perspective. Now, they basically act bewitched and this causes Mary to go crazy in front of the other men and Mary ultimately accuses Proctor, which obviously seals his fate even further, she accuses him of making her sign the devil's book and this causes Proctor to be arrested also for being involved in witchcraft, being involved in sorcery. Finally, the play ends with basically Proctor, Rebecca and a lot of people in Salem Town being arrested, many of them being hanged and they are languishing by act four. We find that Proctor, John Proctor, Elizabeth, Rebecca Nurse, all of these people are languishing in jail. We also learned that Abigail and Mercy have run away and Abigail has stolen Reverend Parris's money and run off and Reverend Parris is really really scared because I've heard of rebellions in nearby towns, people getting really angry at these false accusations of witchcraft and this makes Reverend Parris really really scared of the consequences of these all these false allegations and of course he also read us as that Abigail was lying. However, whilst they try and get John Proctor to basically confess that he did indeed have a patch of the devil, they try to get him to confess guilt in order to let him off the hook, John Proctor refuses to confess guilt and ultimately the play ends with John Proctor being killed even if he's innocent, Rebecca Nurse being killed and of course we also learned that key characters like the Putnam's benefit financially from all of these killings because it can just take over all of this property, okay? So that's really it when it comes to understanding the plot of the crucible and some of the major issues and major events that happen within this play but do remember that I do have a much more detailed video where I go into detail as to what happens in each particular act, there's four acts in total, so do make sure you check that out if you want a bit more depth. Thanks so much for listening.


The Kremlin on Wednesday, December 28, dismissed Ukrainian president Vladimir Zelensky's 10-point peace plan, saying that proposals to end the conflict in Ukraine must take into account what it calls today's realities of four Ukrainian regions having joined Russia. Kremlin spokesman Dmitry Peskov said, There can be no peace plan for Ukraine that does not take into account today's realities regarding Russian territory, with the entry of four regions into Russia. Plans that do not take these realities into account cannot be successful. Russia declared Ukraine's Donetsk, Luhansk, Kersen, and Zaporizhia regions as part of its territory in September after referendums condemned by Ukraine and Western countries. Russia does not fully control any of the four regions. President Zelensky has been prompting his 10-point peace plan, which he first announced in November discussing it with the U.S. President Joe Biden, among others, and urging world leaders to hold a global peace summit based on it. The plan envisions the withdrawal of Russian troops from Ukraine's internationally recognized territory, which could mean Russia giving up both the four regions. It claims to have annexed, and Crimea, which it seized in 2014. The Kremlin has repeatedly said it is open to peace talks with Ukraine, but sees no willingness to negotiate on the part of Kiev.