All right, let's get rolling. We have quite a bit to get through. So hey, my name's Richard Waring. I'm a production engineer at Facebook. I'm on the warehouse foundation team. And I work on storage-related problems in the data warehouse, specifically on a storage system we use called Warm Storage. So I'm going to kind of talk about an idea we came up with called HybridXFS, and kind of the story and background on how we came from an idea all the way to kind of rolling this out to an exabyte storage system, really multi-exabyte storage system in about 12 months. So first, I think before you even get into the problem, I think it's important to kind of understand, like as a store engineer, like at Facebook at least, like what is our job? What is our goal? And it's really to keep our system storage bound as long as possible. I always tell new engineers that come onto our teams, I was like, your job is to take that dotted line and keep kicking it as far to the right as you possibly can. We're storage engineers, not I-O engineers. We want to keep these systems being used for storage. So what are some of the factors that kind of make this job pretty tough? So the first one is if we look at the vendor roadmaps, you'll kind of see something like this. We have kind of traditional hard drive technology, also called PMR, PMR+, that we use today. And these work all the way up into around 14 TB, even maybe 16 TB. But coming online in like 2020, 2022, and onward is going to be the hammer and mammar drives. And the densities, as you can see, are going to be getting pretty insane. Like there's talk of things like 40 TB drives out to, say, the midpoint of the next decade. So these are pretty kind of daunting sizes of drives. And the other complicating factor here is if we look at the amount of I-O that these drives are giving us, it has not kept up. I think this is kind of a fact everyone knows about. If you look at it through the lens of I-Ops per terabyte, you end up with kind of a chart something like this. So you can kind of see it's a pretty precipitous decline. So some of that is just kind of a strategic concern. The landscape is changing very quickly, and we need to kind of react to this. The second thing is POSIX file system behavior. We've built a lot of our storage systems on basically XFS. And XFS is a great general purpose file system, but it was not designed with kind of distributed storage in mind. And in doing so, it has certain kind of behaviors which make total sense from the point of having a file system that runs on a UNIX machine or Linux machines. And if you look at XFS, when you do a write, it's going to journal the metadata. It's going to write the data block, and then eventually it's going to flush their journal. And on the read side, potentially you'll have a hit on the drive for reading the metadata if it's not in PageCache. And finally, you'll read the data. So you can kind of see for small IOs, instead of doing one, you're potentially doing three, or we're potentially doing two. We actually kind of, when we started kind of digging into this a little bit more, we used a tool called BlockDrace. And you can kind of see when we did it on our systems, you kind of see things like this. 24% of all the IOs going into the file system are actually metadata writes. You start adding up this amount of IO. It's actually like non-trivial. You start adding it up on an exabyte storage system. It's a lot of money. So traditionally, how do people deal with this? Kind of the standard Linux answer is like, hey, PageCache. That's what it's for.  It just works. And indeed, it's super simple. Works for almost any storage system. The cons are it's DRAM's not free. At scale, it becomes really expensive. There's also little control. Our software engineers kind of want pretty nuanced control of what is going to be cached and what's not. We tend to have more information about the data than the operating system. So we can kind of make those decisions a little bit better. So as soon as we go into that area, PageCache becomes less useful. The other thing we actually found is maybe non-obvious. Our systems are pretty lean. When we're making these systems, on the storage side, we don't put piles of memory and CPU into them. We try and keep them as lean as possible. So things like memory bandwidth actually becomes a concern. So the less IO we can do on the memory bus, the better. The other classic solution to this would be like a dedicated meta store. On a lot of big systems, you'll see it's companies like Facebook. This could be a dedicated meta store. And these are pretty good. And indeed, our store system actually does have a dedicated meta data store for our level of objects that we store. But this does not go down to the XFS file system level. And these work pretty well. They handle great heavy workloads pretty well. The cons are they're complex. They're actually hard to get right. There's a lot of kind of landmines who are designing these things to make sure that they scale correctly. We've gone through probably a couple generations of our meta data layer to try and get it right. And of course, they're proprietary. So you kind of don't benefit from the open source community. It's kind of collective wisdom and knowledge. And all that kind of decades of storage engineering knowledge can be lost. So with hybrid XFS, it's really XFS with real-time sub volumes. This is actually kind of a feature that I don't think is either well understood or even most people even know it exists. And it's basically taking XFS and adding in a second block device. So the standard block device, everyone kind of knows and loves. You've got a meta data portion of the file system. You've got your journal. And then you've got your data. What real-time mode does is it actually adds in this kind of second block device called the real-time block device, where you can also store data. And if you store data there, it's controlled by a real-time flag that you can either place on the file system, the directory, or an individual file. The other thing to understand about the real-time mode is it's actually got a separate allocator for that real-time device. And I'll get into that in a second. So how do we apply this? We basically swap it out the standard block device. We put an SSD there. And for the real-time device, we use a hard disk. It's really that simple. And then we layer on a few other things that we'll get into in a second that kind of creates the whole hybrid XFS system. So the real-time allocator, I think it's worth kind of pausing for a moment and kind of diving into how this allocator works. A lot of systems tend to solve this problem using raw disk, like just writing to the raw disk and then managing that data themselves. And frankly, I think a lot of them will end up with something that actually is quite a bit like this. They take a drive.  And they're of a fixed size. And indeed, that's really what the real-time bitmap block allocator actually does. It takes the drive. You can pick whatever size you want to chop it up as. That becomes your extents. And when you write data, it's basically going to slam that data into one or more of these extents.  So that kind of behavior is still there. But in contrast to, say, the AG allocator on XFS, most of the AG allocator kind of brains that you might be used to or heuristics that AG allocator has do not exist in this allocator. So for example, things like the AG allocator has a certain ability to hold open a large extent of the file if you're streaming rights to it. And then it will kind of close it if it sees that those rights cease. And in doing so, it can create kind of large, continuous files on the file system. Another behavior this thing would not have, for example, that the AG allocator does, is also this notion that the AG allocator can kind of dynamically allocate you extents based on how much space is on the drive. The real-time allocator, you don't get any of that. So in order to make this kind of all work, kind of real-time mode of XFS was not perfect. Things that we wanted to change included kind of these three aspects. We wanted to change how StataFS worked. When we started using this, it would actually return the amount of space on the SSD, not the hard disk, regardless of what flags you had on the file system. So if you were actually, like, defaulting the data to the hard disk, it would still show you the StataFS information for the SSD. Kind of nonintuitive, we wanted to change that. We also wanted to change that so, like, a lot of our tooling wouldn't break as well. And the other thing we wanted to change is actually, we kind of had our eye on small files from the beginning. We wanted to make sure that small files could get routed to the SSD. In doing that, we kind of, we created a couple of patches to facilitate this, the RT alloc size and RT fallback percentage patch. And the idea behind these is that we just kind of automatically route small files to the SSD and fall back to the hard disk if that failed. Now, in collaborating with upstream and the XFS maintainers, you don't always get what you want. Indeed, that was the case for us. They kind of gave us, we settled on a modified version of this patch, which basically, based on the presence of the RT inherent flag on the XFS file system, it would actually give us the behavior we wanted. So no flag, it actually just kind of magically works the way you would expect it to. So how do we actually deploy this at Facebook? You'll actually see something like this. We take an SSD, we chop it up into however many pieces we need, one piece or one partition for each drive we have on the system. We then map those partitions over to our hard drives. And on the SSD partitions, we have our metadata and our intent log. And on our hard disks, we have our data blocks. What you'll notice here is we don't actually put data in our gen one version of this on the SSD yet. I'll get into that in a second. So how does this actually look like when you actually log into a system and view a hybrid XFS system? When you look at the mount, you'll actually see it's mounting the SSD partition, and you'll only see the hard drive show up in the mount parameters. You'll see this like RT dev thing. That's your hard disk. And when you're actually on the file system, it actually looks and feels just like a normal XFS file system, except when you write data to it, it goes to the hard drive, not the SSD, and the metadata goes to the SSD. And we can kind of, after we did this, we of course want to like go back to block trace, verify, we kind of get the expected behavior we want. And indeed we do on the hard drive, there's zero metadata operations. It's all just purely beautiful data rights going to that device. So some of you might also be kind of thinking right now like, hey, you have like all these drives hooked up to the SSD. This sounds like a horrible, terrible, scary idea. What happens if that SSD fails? You lose all your drives, right? So we are thinking of this too. And we wanted a contingency plan should this happen. For example, maybe we get a big batch of SSDs from a vendor and they have a firmware bug and we start seeing these things drop like flies. We obviously don't want to lose all our data. So we thought of that and introduced a metadata rescue partition on every single one of our drives. So if we look at our hard disks, we actually have this extra section which is size proportionate to the SSD partition. In the event we see something like that or we just want to do maintenance, we can simply drain all the metadata over to the hard disk, remount the file system, and we're back to kind of a hard drive only mode. We've lost some of our IO but our data is safe and we can then swap out the SSD or just kind of operate in a degraded mode if necessary. All right, so that's basically the nuts and bolts of HyperDXFS. So we didn't actually jump into the rollout all in. We wanted to actually do a proof of concept first. Part of doing engineering at Facebook is you basically have to convince your colleagues that, hey, this idea you want to do is actually a good idea. In order to do that, we did a proof of concept. So what metrics did we look at? So again, top of mind was like, hey, we understood the risk from the outside of this that hooking up a bunch of drives into a single device could be risky, but we did the math and we figured that if the AFR stayed within the manufacturer's specs, we should be all right. This basically the probability of an SSD failing along with all your hard drives failing, you can basically model that as simply adding that probability onto all the failure rates of your hard drives. So if your hard drive has a failure rate of say 2%, your SSD has a failure rate of 0.4%, your new failure rate is 2.4%. And you can kind of model that and figure out if you're going to be okay. So the second thing we wanted to do is make sure that the endurance of these drives would actually outlast the hardware cycle. Typically, we try and keep our hardware around for around four or five years, something along those lines for storage. And the drive rates per day needs to actually be below a certain threshold in order to actually maintain that. Second thing, the third thing is discolization. Kind of the whole point of this is actually save IO. So if you don't actually see much of a savings, this isn't really worth doing. And for this project, for a project of this caliber where we're kind of like potentially changing hardware, if it's not 10% or better, we're probably not gonna do it. And even at 10%, we'd think long and hard before we did it. The reasoning there is like we're gonna get things wrong and generally things may seem rosier in a POC than they actually are in full blown production. So we want a bit of kind of engineering margin of error. And application latency, we don't want regressions there. Our application should still be able to operate just as it did before. So in our POC, this is the actual data we saw. In this case, we were actually, we got a little lucky here. We actually had a, we did this with a boot class drive that happened to have a portion of SLC on this disk. And that actually reduced this a little bit than it otherwise would be on just a standard boot class drive. Now in our full blown production, we actually use enterprise drives, which have a much higher endurance. So our concerns there weren't quite the same as on our POC. So the IO rates, this is a bit hard to read. We use a tool called FBO Trace, which is basically able to kind of look at the IOs going into our hard drives and look for sequentiality as well as randomness. What you're seeing here is basically just a layered chart of coalesced reads, coalesced writes, as well as random reads and random writes. The random writes is really what to keep your eye on. Those are the metadata writes which are dominating in that graph. So what we would have expected to see is those random writes to actually be reduced. And indeed in our POC, we did see that. Also, a thing to note here is you'll see kind of us talking about kind of a control, a control batch of machines. Whenever doing a change like this, we always kind of do it kind of in a kind of a scientific way. We have our test group, we have a control group where we do nothing to and we really want to see kind of air between the two lines. We're not actually just looking from like a day-to-day change, we're looking, we want to see like change at the same moment in time between two groups of systems. So here we've got our hybrid XFS and our control. Now we're looking at application latency. This is probably not quite surprising. It's nice that there's no regression, but it's kind of not surprising you'd actually see a performance improvement here. In this case, we're seeing about something like a 15 to 25% reduction. Because those metadata IOs, the application is no longer having to kind of hang around and wait for them. All right, so now on to like kind of the full rollouts. Now we have this problem. We're kind of pretty convinced this is going to work, but we've got like thousands and thousands of machines that we have to do, convert to hybrid XFS. So how do we actually do this? This is really where we kind of put our production engineering hats on and we figure out how we're going to like automate this change. So we have these storage systems, they're in place, they're actually in production, we cannot take them out of production. And we've got to drain them, we've got to drain them, recreate the file system in this kind of hybrid XFS mode and then undrain them to put the data back on and load that machine back into our production cluster. So we have two levels of automation that we can use. The first one is a system called F-bar. You can think of this as just a really simple codified alarm remediation. Alarm is raised in our infrastructure. We then cut some Python code to go remediate that alarm. Really simple, really quick to make. The second piece that we have is something called an F-bar job engine. This actually allows you to create kind of these state machine based automation flows, a little bit more complex. To do our conversion, we actually use both. And the way we did it is we used to have an F-bar flow first, where an alarm is raised, which basically that machine is requesting conversion. We're able to rate limit that. We actually, beyond rate limiting, we actually had basically a pool of hosts that we defined to which an alarm could only be raised if you were in this pool. And then it was rate limited on top of that just to be super safe. Once a host was deemed safe to convert, we then sent it to our FBGE flow where the actual conversion happens in this kind of state machine system.  So first, we raise our alarm. We double check to make sure it's actually staged for conversion. Here, we're actually kind of looking for bugs. We wanna make sure that this alarm somehow didn't get raised, even though the machine is not targeted for conversion. If it is, we escalate this to a human and say, hey, something's gone wrong here. Someone might need to check on this. If it is actually in this pool of machines slated to be converted, we then check to see, hey, maybe this thing has already been converted. If so, we remove it from the staging tier.  We wanna check for things like, hey, is there actually data on the SSD? Is there an old HybridXFS setup on this SSD? We expect before a conversion, these things to be perfectly clean. If we see any data on these things, we're gonna stop the process and kick it out. Assuming the SSD is clean. The other safety check we're actually gonna check for is actually the drain state of the machine as well. We wanna make sure that it's been drained. If that all checks out, we actually send it off to our conversion flow. We then kind of wait an hour and go back to this loop. In that case, it's actually gonna kick out at kind of the second triangle there as it's gonna show up that it's already completed. We then clear the alarm, we're good to go. All right, so how did this roll out actually look? This is basically our percent complete. We actually probably would've got this conversion done a little bit quicker. You can see at the beginning, we had a very quick ramp to get probably close to 50% of the machines converted in maybe only two months. We actually ran into a bunch of drain problems unrelated to HybridXFS, so we had to work through those and that kind of slowed down our conversion process. So it kind of shows you the power of this automation. We would probably think that we could have done this in six months, probably, if those drain issues weren't there. All right, so not everything goes perfect in life. We missed things, we learned things from this. Some of them, like fragmentation, we kind of suspected, but fragmentation's one of those things that you have to kind of wait quite a long time to actually see if it's gonna be a problem or not. Aging file systems is kind of notoriously difficult, but based on our kind of theoretical knowledge of the way the real-time allocator works, this was a possibility. And we did indeed see some fragmentation starting to take hold. It was still better than what we were doing without HybridXFS, but our performance wasn't as great as when we started. So this actually pushed us to move to actually a larger extent size. We originally started with 206K. We then went to 1Meg. Now 1Meg has its own problems, which is you store a 4K file, you're gonna burn 1Meg. So this now, you're trading this fragmentation problem or IO efficiency now for storage and efficiency. Indeed, this actually ends up being actually an okay trade, even if you couldn't fix this, because what we observe is something like a 30% uplift in IO efficiency for maybe, say, a 10% trade-off in storage efficiency. So you're still kind of netting out 20% there. But being engineers, we like kind of perfection. We wanna see how good we can make this thing. Oh, I guess, yeah, I think I talked about that. Yeah, so we went, so now we're kind of our future direction is actually moving to a system that looks a little bit like this. We actually are going to start writing to data onto the SSDs. I have actually a really smart intern working on this. And we're gonna be getting testing this in the next month. And the idea here is watching take small files and redirect them to the SSD. Effectively, before we write them, we're gonna set a flag based on the size, redirect that to the SSD, leaving any file, say larger than 64K on the hard disk. 64K is kind of a guess right now. We actually have to do a bit of an analysis to see, to bounce out how much space we're gonna use on the SSD, what impact it'll have on the endurance, versus kind of the space savings. I think if we can get something to like 5% storage overhead, we'll be in a pretty good place. All right. Ended a little bit early, so any questions? Yes? So that's a good question. We actually got lucky in our POC. We had SSDs in our, so we had the storage stack that we were using for the data warehouse. Those actually had SSDs in them for a totally different use case. And there we got a little bit lucky. So the bad side is that these SSDs are actually boot class. There was kind of a lot of nervousness around like, hey, could you actually use boot class drives for a purpose like this? We eventually moved away from those boot class drives. As our hardware skew changed, we kind of had the opportunity to make the change. SSDs are actually, Flash was actually dropping in price. So we actually, and wanted that extra insurance. But we've actually found with those boot class drives, we've actually been just, we've been okay. So it's not been a problem. So the exact code we run in production is upstream. So that StataFest behavior, that patch, that is upstream. So if you were to like format your file system, use the RT inherit during the format, you'll get that behavior that we get, which is the StataFest will return the space free on the hard disk, not the SSD. Go ahead. So we don't have plans of using shingled media in this solution. And I think right now, they're not really something on our radar. We just have too much like random writes and going on in our systems to kind of make that workable. So depending, you know, we may be forced, our hand may be forced eventually. And if we start getting like 40 T drives, that may be something we may have to look at. But so far, we try and look out, say like two years, maybe three years from an actual like stuff we're working on today will be for that time horizon. And then we're kind of keeping our eye on maybe five or six years out. But the vendor has kind of changed our roadmap so frequently it's really hard to actually work on something and then have the vendors kind of change their minds. So, yeah, so actually we are, there's actually a bunch of engineers working a pretty sure it's open source called a system called cachelib. It's basically a library that's designed for caching. And that's actually being integrated into our store system. And that's the other purpose we're going to use are these SSDs for as well. Now that we've got them, we actually look at them in kind of three different modes. We could use them for metadata. We could use them to store small files or we can use them to cache data. Any answers, we actually want to use them for all three. Yes. So we use one SSD for all of the hard disks. So our systems have 36 hard disks on our what we call our Bryce Canyon machines. And then we'll put a one terabyte SSD attached to that. So it's actually a very small ratio and a lot of systems will have like two even as high as 5% flash for backing their storage. Yeah. They are, I actually have kind of like a side bet with my colleagues that like, you know, my hunch is that like eventually the hard drives actually maybe get more expensive, but what you may end up paying more for is actually unlimited endurance, which is something that the flash will still struggle with. So I don't know, like it's going to be an interesting to see the next 10 years to see how things play out. Yeah. Even with SLC, I think we probably still have endurance problems. So the flash industry would still have to kind of solve that. We write a lot to our systems. Sorry. Can you repeat that one more time? Yeah. So the question is like, are the SSDs kind of bottlenecking the hard disk throughput? So I'd say the ratio is largely driven by flash costs. We do look, we are looking for things like bottlenecking. Generally, the eye operate on that flash is actually still pretty low, such that that's not an issue. Endurance is probably the thing that would be kind of the thing that will hit first. So we probably keep a closer eye on the endurance than anything else, especially when we start using things like, using it for small file caching or cache. Like in those cases, if we don't watch it really closely, we could burn out the SSD pretty easily. On the hard drive rate, actually, the thing there we find is actually the more, the thing to really make sure we size well is really CPU, the NIC, and having enough PCI bandwidth is really what we look for there. Cool. All right. Thanks a lot. If you have any questions, you can come track me down later and I'll be happy to answer them. Thanks a lot.


Hello everyone, I want to thank all of you for joining us today, I especially want to thank my colleagues, Julie De Brucen, local MP for all the work she does for the people here in Toronto, Danforth and all Canadians, but also Nate Robb, Alan, Adam, great to see you guys here. It's a pleasure to be back in Toronto to talk about the next chapter of our plan to help folks get ahead. As you all know, since the beginning of our mandate, our focus has been on helping the middle class and those working hard to join it. That's because we know that they are the backbone of this country and the key to its success. A strong economy begins with a strong middle class and better opportunities for people working hard to join it. So our government put forward an ambitious plan, a plan that puts people first and delivers real meaningful change for hardworking families across the country. We introduced the new Canada Child Benefit, which gives parents more money to help with the high costs of raising kids. We also asked the richest Canadians to pay a bit more in taxes so that the middle class could pay a bit less. Now, parents have more money not only to make ends meet, but to invest in our economy and contribute to our country's growth. Indeed, it's partly thanks to policies well thought out like the Canadian Children's and the low income for the middle class that Canadians have more money to invest and make the economy grow. Thanks to their hard work, Canada has recorded the highest growth rate in 2017. It's the proof that our ambitious plan works and that our approach is good. That said, we still have a lot of work to do. We have many more people and families to help, opportunities to create, and gaps to close. I'm pleased to say that we took another big step in the right direction last week with our latest budget. Budget 2018 puts a special focus on ensuring that all Canadians have the skills and opportunities they need to participate fully and equally in our economy. In that vein, we announced we would replace the working income tax benefit with the new Canada workers benefit. We decided to strengthen and redesign this refundable tax credit for low income workers to better reflect the needs of hardworking Canadians. We listened closely to advice from anti-poverty activists, frontline workers, and of course, the lived experiences of Canadians themselves. I know all my friends here had the same experiences I had a number of times as we went door to door, talked to Canadians, people who came forward and said, you know that Canada child benefit is making a huge impact in a lot of people's families. I see it in my neighbourhood. I see people benefit, but I'm struggling and I don't have kids. How is this government going to help us out? Well, that's where the working, the Canada workers benefit comes in. It creates opportunities and incentives and rewards people for staying and getting into the workforce. And under the old system, far too many eligible workers were missing out on claiming this benefit and weren't getting the help to which they were entitled. This was especially true for folks who live far from service locations or don't have internet access or lived with reduced mobility. People who can come into Wood Green and have that support are getting amazing support here through this incredible community organisation, but there are too many people across the country who weren't accessing or even aware that there is benefit for them. People who didn't even know about the benefit or didn't apply for it in their tax form. So in short, the program's reach was limited from what it could be and the new Canada workers benefit will change that. By allowing the Canada Revenue Agency to determine whether tax filers qualify for the benefit, eligible Canadians will automatically receive the help that they need. More than 300,000 Canadians will benefit from this change alone. I will also add that over the next year, the government will work on improving the delivery of the Canada workers benefit. Our goal is to provide better support to low-income Canadians throughout the year rather than just through an annual refund after filing their taxes. As part of these changes, approximately 2 million Canadians will receive more help from the Canada workers benefit than what exists today under the working income tax benefit. The new benefit will be simpler, more generous and more accessible, and it will help lift 70,000 Canadians out of poverty by 2020. This is part of our government's commitment to help the most vulnerable Canadians get ahead by entering and remaining in the workforce, and we're proud to deliver on our promise. Last week, we unveiled a new system of Canadian allocations for workers that will replace the fiscal loan for the income from work. By increasing the maximum loan and the amount of income from which the loan has been eliminated, the new Canadian allocations for workers will be more generous than before. The government will also be investing almost a billion dollars more per year to strengthen the new allocations in more detail. For workers, it means more money in their pockets to support the needs of their families and a little more time to get back on track. This new offer is part of our efforts to ensure that each Canadian has a real and equal chance to succeed. Let me give you an example of what the new Canada workers benefit will mean for folks here in the GTA and across the country. In 2019, someone earning $15,000 a year could receive up to $500 more from the Canada workers benefit than they would under the working income tax benefit in 2018. This is extra money that can be used to plan for their future and help with daily costs like groceries and rent. It's also an additional incentive to enter and stay in the job market. With the new Canada workers benefit, we're taking another step towards a stronger economy and a more equal country. My government is proud to support Canadians in times of need and help them get ahead in the new economy. We're very excited about this program and the tremendous results it will yield for hard-working Canadians from coast to coast to coast. Once again, on behalf of my colleagues, Adam, Rob, Julie and Nate, I want to thank you for joining us here today at Wood Green's, I want to thank Anne and Steve for welcoming us here and doing amazing work in the community, work that we're happy to support and actually spread across the country as well.


Let us get to the agenda first, so first of all we are going to what is migration and why we need to migrate to the teams, group of 7 or 6 teams to group of 8. So we will go to what and why and then we will go to group of 8 in there, what we have left behind group of 7 and what we have new things coming in group of 8. After that we will go to the migration process, what are things we need to consider while we are migrating from group of 7 teams to group of 8. Then if time will permit we will go to a small demo as well, we will go to group of 7 or basic team and we will migrate that team to group of 8. Let us start, what is migration, anyone? So consensually migration, migrating an old website to a new website will be a simple it should be as simple as this, turn off your old website, copy your data or configurations and turn on the new website. But as soon as you go into the details and for example you will need a backup when you are stuck, you mess up something. Yes, but it will be a process of your data base migration, not just this is just for content. So in case you mess up with something, so you will need a backup of your old site, so that if you mess up you can go back to your old site. So the simple looking process just turn off your old website, copy your data and turn on the new site will become a little bit more strapped will be added here. Same way whenever we are migrating group of sites. So you will see that whenever you say take a backup of old site, if it is a group it is not just a backup of your old site. It is like you have to backup your document separately, you have to backup your data base and then if your files or PDF files are somewhere else on other server then you have to make a copy of that as well. So that simple looking process of turn off your old website, copy your data and turn on the new website will become a complicated process. So whenever we think about migration, it is not a simple process. Let us not get into this. Let us get back to that question that what is migration? So I wanted to just describe how the process of migration is. Let us just look into why we need to migrate. And even Drupal 6, Drupal 7, Drupal 8, why we need to migrate. Drupal 7 to Drupal. So there are multiple things. Drupal 8, frontend has a list of changes which Drupal 7 didn't have or Drupal 7 was having a new course where we have made large improvements security-wise, performance-wise. So there are ones of list but here is the highlights of what is changing in Drupal 8. So we have lots of things but so the core, right? Now the core of Drupal 8 is outputting HTML5. So we get latest code, latest marker with the HTML5. As you all know we have quick support now, right? We must be using particular types and all. So now the ready key layer will be improved with quick and symphony key frameworks. The break points, there was a break points model, right? Now it is in code so we can use break points by default out of the box. Just we need to add one pipe and you can use the break points all over the modules, themes and across the website. So that's how break points will help. Apart from jQuery, right? jQuery is in the core now. Apart from that you have modernizer, underscore.js and all other front and related libraries as well in Drupal 8 core. So those are things that will help. These are the other few examples or you can say other features apart from those features we have talked about. Yes, there are no more Drupal ads, CSS. You have directly, we have CSS and JS aggregation by default enabled on Drupal 8. So those are the few other things we have. I just wanted to make a point here that all these code and master features you get when you migrate your theme from Drupal 7 or 6 to Drupal 8, right? So let's move to a theme layer and I wanted to give you a brief introduction of what major points have changed in Drupal 7 or Drupal 8. So bye-bye BSD. So D and themeers don't need to know BSD because now we have 2A where you know the, now we have 2A templating so you no more need to know BSD, right? This means PHP template and the whole theme layer very insecure. So we had something like this, right? If you write in your TPL, anything that TPL that PHP you write where you drop your user's table, it was possible for the PHP template and the DPS file, right? So now bye-bye PHP. We don't want any more. Themeers must be flat here. The I8 is also, you know now Drupal 8 supports SPG and all those things, whatever browsers which are not supported which do not support SPG is now nowhere and Drupal community has not made any of the browser's compatible things. So lack of browser support for I8 and below means we will get more HTML5 and CSS3 and modern jQuery libraries will be able to use those things, right? Because there is no more support. Drupal 4 will not support I8 and older browsers. In mobile as well, Android 2.3 and below will also be not supported. You must be aware of this thing, right? I mean the Drupal 7 theme layer, right? It was like, you know, there were lots of theme functionals, lots of theme files and the theme layer was complex system and whoever will be working with Drupal 4, they also got confused and frustrated about the system. This makes Drupal 7 hard to learn and is one of the reasons the learning curve for Drupal 3 was very long or you can say so huge. So now no more Drupal 7 theme layer. This is gone as well. Then we have, as I said, right? We have the theme functions, we have the TPS files. All the theme function and TPS files are now, you know, I have been completely removed and I have replaced with fake templates. There are too many different ways to display content in the TPS files.  If the variable was a stream variable, if you want to render a content, you have to, you know, do it in a different way. So there was too many different ways to display the content and there were too many TPS files as well, right? Template files. Besides the template files, Drupal 7 also had the theme functions and the theme functions were more than what we had TPS files, right number of TPS files. So theme functions were more than that and as you say, right? And the syntax identity was almost impossible in the Drupal 7. So these were the things, older things. Let's look at the new things what we can get in the Drupal team here. Any questions, Vilna? So we have gone through the few things we won't see now in Drupal 8, right? Let's now look at what's new coming in the Drupal 8. Too much to list here again, but I have tried my best to cover, you know, as many things as I can. So first of all, TWAIT, right? Whenever you are working with TPS files, whenever you will work with, if you say you will work with TWAIT, it's so simple, it's secure, and it is easy to understand. If you don't know of PHE, then as well you will be able to, you know, build your template files in TWAIT.  It's a PHP-based templating language. It is a part of Symphony 2, which is supported by Drupal 8. Tweet syntax, as I said, will be much more easier than the PHP templates. Tweet markup language will also make teaming easier to understand, and non-programmers will also be able to build the teams easily. So Drupal 8.5 will be called support semantic HTML 5, with output semantic HTML 5. So you get latest markup for all your applications, like mobile, Z, website, right? And Drupal 8.5 will be called support responsive, and it ships with responsive features, such as you have six responsive toolbars, you have responsive images, since it is support SPG, you have responsive tables. Breakpoints are also now included in the in the code itself. So you can set the breakpoints once, and you can use the breakpoints across the website. CSS and JS are also now, you know, added no more in the theme.info file. You don't have to, you know, you don't have to write it there. It uses the libraries now to, you know, import all your CSS and JS. Okay. As I said, right, earlier, besides latest delivery, we also have this wonderful front-end libraries included in Drupal 8.5. Okay. Quick recap. All in all, we have all these new tool features, right, in our Drupal 8. So we will now be able to create some cool front-end applications. Yeah. So we have gone through the what we have left behind in Drupal 7, and we have new coming in in Drupal 8. Let's see the file structure changes first. Since, you know, if you want to migrate Drupal 7 into Drupal 8, we should know, right, what's new and what's changing in Drupal 8.5 structure. Everyone is able to view this. In short, you have to learn it. But, okay. Whatever was in the in the Drupal package earlier, right, whatever core things was in the Drupal package is now moved to the core folder. The core modules and themes are now, you know, part of the core folder in the Drupal 8 package. All our sites on slash star is now in the true folder as you see here in the right-hand side. Modules, profiles, sites, themes, all these things are, you know, whatever your custom things are, all the contributed modules which you are going to use and we go in the modules directly on the themes which you will be creating you will download the content and the themes less contributed. I'm going to see it in the next slide. Okay. So, let's go to the theme folder. Right. So, whoever will be working with the Drupal 7 theme will know this, right. Where you look for your themes, right. Where do you put your theme folder, your custom theme folder. If you are familiar with Drupal 7 theme, the first place you will go is sites or themes. Right. So, Drupal 8 has the Drupal 8 theme folder structure is now changed. It has used to, you know, you change to the whatever your custom and content themes are, you can put it directly in your true theme folder. Okay. So, for example, if you want to create a custom theme, say, example theme. So, you will put it like this in Drupal package. You will have themes folder and inside that theme folder you can create custom folder and inside that you can put it, you know, you can create a folder, like, example. Inside the example folder, right, what one file you will need is info.tml file. Right. So, info.tml file is a, it is passed using symphony of PML component. You can simply create info.tml example. For example, our previous example, right. If you want to create an example theme then what you have to do is you have to create a PML file for example.info.tml. So, now, once you create this file, right, whenever you will you will go to admin's less appearance you will see your theme there. So, yeah, you have created Drupal 18.  This is the whole Drupal 8 custom theme file structure. If you see, nothing has been changed, right. If you are working with Drupal 6, Drupal 17 then, you know, everything looks same. I mean, CSS folder is there, images folder is there. There is a template folder where, you know, you will put all the all your PBL files, right. So, the structure folder structure is not changed much. There is one change then the schema, right. Schema is going to be config slash schema. So, yeah. And the other changes you and not anymore, we don't have any more dot template file, right. Template.php file. So, we have instead of template.php file we have example.theme file. So, that's what changed. I mean, not changed much. Okay. So, now we move to actual thing, why we are here, right. The migration part of this. So, next few slides now will give you inside of you know, if you want to convert your Drupal 7 theme to Drupal 8, what are changes you need to do, right. What are things you have to consider to make sure that you you know, successfully can successfully migrate your Drupal 7 theme to Drupal 8. Okay, first thing first, install Drupal 8. So, nothing much here you have to download latest Drupal 8 and install it. That's it. And then yeah, once you install it, you are going to you know, create your new theme instance and you will start putting your Drupal 7 things there, right. So, that's it. The next thing is you need to create a folder factor, right.  Okay, the necessary files, right. So, as I said, there is only one necessary file which is your theme name dot yml yes, no more theme dot info file. So, let's look at the example of how the theme dot info dot and if you are working with Drupal 7 already Drupal 7 theme already you will know the first bunch of things, right. The name, type, description all these things are same as it is and that there is a same text difference but it's same as you know how you create a Drupal 7 theme. The next part, right, the style sheet remove as well as it's not added here but style sheet style sheets remove and style sheet override are two ways to control some of the core CSS core style sheets to override or if you want to remove some of the core files then you can do this like for example here if you don't want the menu dot theme dot CSS file which is coming from code, you can remove that by style sheet remove you can add this style sheet remove there in that you know whatever style sheet you don't want. The library is a new way to do our styles of scripts in a more modular fashion here in order to you know reference the inclusive core and we need to make sure that you know whatever you add here to create your example that library is dot byte byte byte and add those there. Okay region functions is on region thing right there that's also similar to what we are doing in local 7 settings again similar to local 7 so nothing changed here and apart from you know we don't have to put hypern or things like that from the local 7 Okay so breakpoint module is now from local 8 so whatever breakpoints you want to create right needs to be added in the example dot breakpoint this is one example of how to create your breakpoints dot dms byte it has mobile view and you don't now have to create media queries or write media queries in your CSS file you can define it here and all your modules or your custom team will be using this okay so team migration process the next thing is once you know create your breakpoints dot dms byte you then have have to create over your ppl files to into the twig files right so here we need we need to 25 your ppl files basically convert your ppl files into the twig syntax okay and if you have page dot ppl dot psp you have to convert that into ppage dot spml dot yes we have a very cool feature for 25 d0 slash project slash 25 that will convert your modules and themes to all this basic things whatever the info you are writing for the theme i need those files to be converted automatically for basically you are writing everything there which is first idea you have to write everything then is there any tool like that i order of drupal console so that you have you have to write and it will ask you all the details and you put all the details and it will automatically create your thing for dot ml file library is dot ml file and all those files will be created automatically drupal console will create with a new theme new theme drupal 7 things will be converted to the 25 25 will convert it to the info files also you know it will give you bunch of things you have to change them convert it for you and then there is some more worth going on there it is in beta i guess even aware of 25 module for drupal 7 but it is in beta or in alpha i guess and it is in alpha right but you can use this to convert ok the final step is tree process functions luckily we do not have any more changes in you know tree process functions for example if you need to include an image in one of your page dot ml file you can still do that in tree process functions so then over your page dot html dot quick file you will be able to use those image models so tree process function is still not much changed and finally we have sub theme so there is no much change there as well you just have to include the base theme line in your code any questions here yes so base theme needs to be converted into A to work with PR something right so if you just want to convert PR something and you can follow this process you will create your info file and if you do not have the bootstrap folder there as well it will work and you just have to remove the base line from your info file and it will work as it is any questions right for to do what to change the theme loading theme loading the different theme based on code this is there all the books whatever we get all the books are let's get into it and we are now I how much time we have we have 15-20 minutes more I will get into the time I tell the total 17 basic total 17 so this is the total 17 which we are going to migrate into total so let me show you what total 17 is so this is my total 17 it is a something of zen as you see something of zen and it just look like we have sticky header, sticky footer and that's it so what we are going to do is we are going to convert this theme into the looper so I have looper 8 installation on my laptop so what we are going to do is as I said whenever you want to create your own theme you have to we have this looper 8 what I wanted to say is we have looper 8 installed here we have as I said the theme folder is now in looper in the looper package so we have themes there we just have to go and create a new directory for example and say demo for example let's create info 5 just open info 5 this is my info 5 in my looper 7 theme so here I have screenshot I have name, description, code things like that I have typeset here I have script.js and then I have regions then you have settings as we have seen in the earlier version so let's convert this info 5 to looper 8 so whenever you have named write name you could have taught me this was the looper 7 now what you have to do is you just so this is the format you will just name your so these are the few things you have to write fact it's custom then you have to define your code if you are defining your name engine because now we are using twig PST then you have screenshot you can same way like looper 7 you can add screenshot you can define the name of the screenshot settings we had in the looper 7 version we had these settings these things so these things as well you can put fabric on you want a lot, logo things like that so these things as well you can define your highlighted versions of content and in library you can say global style right not visible that's fine okay so this is how you know to create your info 5 once it is created let's see we are able to see the you can go to you will be able to see our new theme there we go so we have a demo theme here so for your website on mobile and you will learn that you know this example mobile is for the mobile view the narrow thing is for the tablet thing for this thing for the wider space so it will automatically know that did you just have to go to your custom view folder and create the example no it will be and there will be different css files for your mobile thing time you will have something called mobile.css or something like that so cool so in your global page you have something called site and it works the same as how you will be able to protect you have site and you take that for example this poster and you take that for the other and that is what okay kids we have something for the second yes yeah well thanks everyone thanks for your time


Alrighty! I have some updates for you guys today on Canada's Wonderland construction and other weird activity. I'm going to try and discuss everything as quickly as possible and not repeat myself. I'm trying to work on that, so we'll get started right away. Canada's Wonderland is rapidly getting WinterFest ready. In fact, they are setting up Christmas lights everywhere in the park. The only part of the park that will not be open for WinterFest is from Canyon Trader all the way to the Coca-Cola Mr. Area. So just that one straight path will not be open for WinterFest, and I can't even guarantee that that won't be open for capacity reasons. I just don't see them setting up decorations there, but they are setting up decorations everywhere else. Another interesting tidbit is everyone's always questioning why does Mountain Bay Cliffs always have water left in the basin? Well, it's very simple. It's such a deep pool without the water putting pressure against the outside of the walls. There's chance of it caving in on itself, so they actually leave the water in the basin there to help pressurize the outer walls to prevent it from caving in on itself. So I thought that was really cool, and a lot of people were asking me that, and now that I got an actual official answer, I thought I'd share it. They also put up construction fencing around the attraction. I don't think that means anything. I think that's just to prevent people from falling into the water. But I know that there were some issues with maybe people getting hurt jumping in, and I'm kind of shocked that they don't have that little bubbler that divevers used when training in the Olympics and stuff like that. It would soften the cushion, and it could really help. But it would also lead to people kind of sinking a little deeper when diving in, so maybe that's why. That's all I have to say about Mountain Bay Cliffs. In terms of Kingswood, the cherry pickers are all being used currently for WinterFest setup, so they are setting up lights in all the trees and all of action zone and all that. So they're not currently being used in Kingswood, but they will be getting used to remove speakers, electrical work, and lights from Kingswood. The Kingswood area is definitely getting cleaned up. Anyone who's watched my drone footage for the past year and a bit can definitely tell that they're cleaning up all around Kingswood, removing a lot of the junk behind Kingswood and the little road parking area and around the cell tower. And yeah, definitely further proof that Kingswood is prepping for some future land development. So my understanding is Wonderland crew will go in and they'll remove the speakers, the lights, and all the electrical that they can access safely and all that. And then a company is going to come in and take down the tent, so a third party company will come in and remove the tent for Wonderland, and then further land prep will happen outside of there. You can definitely see a lot of seats have been removed. They are starting to work in the upper right portion of the Kingswood theater now, so a lot of the upper seats were left. They are now starting to remove some of those upper seats. And again, just a lot of prep work going on, Kingswood isn't coming down any time soon, soon is my understanding. But it is being removed. I can stand behind my rumor and my claim that Kingswood is definitely being removed. Whether for like, we don't know what for yet, so I can't say what for it literally could end up being an upgrade to Kingswood, which is least likely I will say that I'll stand by that at least likely an upgrade to Kingswood. But it's most likely land prep for a future future attraction. We're not talking 2022 2023. We're talking 2023 maybe very unlikely 2024 2025. Whenever Cedar fairs starts land prepping like this and they're not in a rush. It's usually for a future future attraction. If any of you remember, Yukon striker is an example, again, not saying it's going to be a roller coaster, but Yukon striker land prep actually started showing signs about two and a half years in advance. So even if it's not a roller coaster, and it's a midway to help increase park capacity, because right now they're in the 70,000s. If COVID wasn't here, they could be looking to get capacity into the 80s, maybe low 90s by adding an entire midway section up there with a few attractions, restaurants, and stuff like that. If they were to do that, I do definitely think that they would add a roller coaster up there, because as we see with Lumberjack, when you build attractions offside, Wonderland without a huge draw or a coaster, they tend to be forgotten about a lot of people don't walk over to Lumberjack for some reason. I find it a really good ride, but they don't walk over there. So I feel like a midway all the way back here, if it is that is going to need a roller coaster of some sort to draw people over there. Anyways, that's all I have to say. Winterfest is prepping, and definitely the sod that you see being moved into the park has nothing to do with construction. That's just sod for landscaping. Anyways, hopefully you enjoyed today's update. Hopefully I didn't repeat myself too much. And hopefully you have an amazing week. Thanks so much for watching, guys. Have a good one. Bye.


Wednesday morning, the community lost not only a great, hard-working deputy, but a man who brought smiles to faces no matter where he was. Jackie was a great guy. He was a very good deputy. He volunteered for us. He went above and beyond what we asked him to do. Anytime we called upon him, he was there to answer. He loved his family, loved his community, loved his county. He's going to be hard to replace. Not only did Jackie love his job, but he loved being out in his community. From attending sporting events at Belfry to attending church, Jackie was considered family no matter where he went or who he met. That's the type of people we look for. Good people, good community people. Jackie was always at Belfry football game, basketball game, girls' basketball, softball. It didn't matter. Jackie was around close all the time and everybody loved him. Shae Deskins, Jackie's granddaughter, says that Jackie served in the Army National Guard and was a retired coal miner. Apart from working hard, his life revolved around his family. After serving nearly seven years with the Pot County Sheriff's Office, Sheriff Scott says the department morale just won't be the same without Jackie. So tell me one thing to maybe a memory of Jackie, something that just stands out that it's like, oh, that's classic Jackie. There's so many. I don't know. Like I said, he was always wanting to cut up and it didn't matter what it was. When you saw him coming, he was going to make you laugh. Jackie Deskins passed away Wednesday morning after a long battle with health complications. Jackie leaves behind his wife of 52 years, Donna Deskins, grandchildren, and great-grandchildren. Visitation will be Friday, August 20th from 6 until 9 p.m. at Rogers Funeral Home in Belfry, Kentucky. Funeral service will begin Saturday, August 21st at 10 a.m. and the burial will follow afterwards at the Blackburn Family Cemetery in Sydney, Kentucky. You know, he's going to be missed really bad. Reporting for Mountain Top News, I'm Jeremy Justice.


Why do you want to work with us? I mean...  Throughout the years we have seen so many applicants commit the same mistakes while interviewing for UX designer product position. And hey, we've committed all the same mistakes as well. So in this video we'll share real-life advice from our UX designers to really ace that interview, stand out from the crowd and ultimately let that dream job of yours. If you want to get more resources like this, tips on UX and UI, product design, all the latest tech news and career advice then you have to subscribe to our newsletter with send weekly advice and insider resources, the link is in the description below. As you watch this video, do let us know in the comments below which piece of advice you find the most useful and what do you struggle the most while interviewing for UX design and product design roles. Okay, let's jump right into the video. In an interview, try to be humble and honest about what you don't know but say that you will learn it rather than trying to make up stuff. So actually I applied for a job at Nokia and I was interviewed by nine people and I think about six of them thought I was good because they liked my personality, they liked my drive but the last two people wanted to... They knew I didn't have a lot of work to show off because I was a junior, I was like, you know, I don't know, I was basically, I had nothing but they wanted to see if I understood why I made some of the design decisions I did in my portfolio and I couldn't really answer those questions. You know, they would say, so why is this button red with a rounded corner and this button is green with a, you know, but it's actually square and I wouldn't really have had the answers to those questions and I think actually the mistake I made was not that I didn't know the answers to these questions, it was that I tried to answer them even though I had no idea what I was talking about and everyone can see through both. So I think just being a bit more honest in the interviews and saying, hey look, I really want to work here, I'm a hard worker, I'm a very fast learner but I actually don't know why and that's why I want to work here, right? That's the reason I want to work here. Instead, my ego was getting hurt and I decided to just try to make up some answers and I even could tell that I didn't know what I was talking about. So I didn't get the job, they did a good job not giving me this job. I'd say the biggest mistake that I've made in the past and that I see a lot of people doing is just applying generically to all different types of companies without really researching the company and writing a motivation letter specifically for that company that addresses the job posting that they made and saying how I can add value and what unique things I can bring that would make me stand out from other people applying for the job. And I know this now when we get applications to Agents Smart and I see the difference it makes when I see that, oh, this person knows exactly how we work, they know our products, they already have suggestions for the areas that we could improve in, that makes them stand out a lot more and maybe doing something a little extra, like doing a video even if they didn't ask for it and putting a link to it in your resume, just doing that extra step instead of just doing one copy of your resume or CV and then sending it to all types of companies. So one thing I wish I had done right at the start is just constantly keep myself up to date with the Apple and Google design guidelines because they basically control the entire market if you're working on mobile apps and it's just this source, right? Not just at all these other apps and trying to get inspiration, but just looking at Apple's human interface guidelines and Google's material guidelines, I wish I had just looked at that more often instead of looking all over the place for different ways of getting inspired and finding out how interfaces work. Like, why do I need to spend three hours figuring out how the back button could look and could work in my app when you go into a new category and you go into an article page when these guidelines show you the way these platforms would prefer you to do it anyway. So that's something I don't know. I was trying to be too clever and most of the most successful apps actually stick to these usability guidelines except for TikTok. So one of the biggest mistakes that I see with junior designers who are putting out their portfolio is that they upload some really nice designs and apps and websites and all of that but they don't explain the process that they used to design those apps and websites. And that would be a lot more interesting to someone looking to hire you because they can see what your thought process was like. They can see how well you thought about a problem, what your take on it was, how big the challenge was and what you were able to design in a certain amount of time. So you really need to give the context of everything that happened and it makes your portfolio a lot more rich and a lot more useful just a collection of pretty images. So one big mistake that I made in the past when applying for jobs is not practicing the job interview with someone before the actual interview. If you haven't done a lot of job interviews then you really don't know how you're going to be during the interview. You might think you're going to be confident and talk really well about all the stuff that you did but you find out that you're really nervous and you get caught off guard by even easy and simple questions. So what I would do differently when applying for a job is practicing with someone before the interview and ask that person to be really harsh so like prepare for the worst case scenario instead of expecting the other person to be engaging and easy going and practicing for the hard interview will make you a lot more comfortable because chances are the person you're going to talk to is going to be nice and you're going to be a lot more confident because you've prepared for a lot worse. I'm 32 now. So for most of my work life I didn't know how to give or take feedback. I was especially bad at giving feedback and not in the way that I was being mean it was just that I would be passive aggressive or give no feedback. And the book that I read that changed, slowly changed my perspective on how to give feedback and also revealed to me that it was a problem is a book called Radical Candor and I actually had it on my podcast Jake and Jonathan podcast you should listen to it and that will sum the whole book up for you but for me and for a lot of designers you know you just don't learn how to give people feedback because you've never had to do it in your entire life you don't have to do it with your family you don't have to do it with your friends you don't have to do it in college and the first time where it actually hurts you in your life is in work. The problem is you actually can get away with it forever but you start to hate your work life if you can't say what you really think and also let other people say what they really think to you so that's definitely my biggest problem. This might be controversial but it's really hard to stand out if you just work nine to five meaning like just the standard hours and you don't do anything outside of that time to help your career. Now I don't mean that you should be a workaholic or just work overtime but if you are in the fortunate position to be working in an industry that you like then doing that extra stuff will not feel like work so picking up a book that will improve your skills in some way will be a great investment and just expecting that if you just do your work if you just do what you're told that you're somehow going to be noticed and people are going to praise you and you're going to be promoted I don't think that's going to happen. So if I could meet my 20 year old self right now 12 years ago and just appear in front of him without him somehow freaking out I think what I would tell my 20 year old self is to be a bit less arrogant and very specifically it would be I was quite arrogant about listening to people who I didn't like or I didn't think were intelligent enough to give me advice so I would just switch it off if there was someone like above me who was my boss but I kind of thought it was like ah this person doesn't know what they're talking about I just had that attitude when I was younger which is by the way an arrogant egotistical attitude but because I had that attitude I just learned less right I learned less things from other people because I was blocking myself off from learning so I think I would be ask myself to be a bit less cynical be a bit kind of more open to taking advice from other people but I also know that Jonathan of 20 years old would also not even listen to myself so probably it wouldn't work anyway so if I were to give advice to my younger self it would really come down to telling myself to find a way to teach myself discipline because that's the thing that I lacked when I was starting I was all over the place I would get excited about a million things and I wouldn't stick to anything I would keep changing my focus all the time if you don't have the discipline you'll make your life a lot harder because you'll make yourself less hireable because when you're applying for a job chances are the position you're applying for will want someone who's great at UI or great at UX or great at research but they will not want someone who's okay at 3 or 4 things and so the lack of discipline and lack of specialization makes it really hard for you to land a job when you're applying for one and that's it from us today if you enjoyed this video do let us know in the comments below which piece of advice you will start implementing first and what do you struggle the most with while interviewing for UX and product design positions also hit the subscribe button if you liked this video give this video a thumbs up it will really help us spread the UX knowledge even further and that's it from us today see you next time bye so not knowing how to start projects was the biggest mistake if you enjoy videos like this hit the subscribe button and be notified whenever we release this juicy videos juicy videos okay once again what do you think are your biggest weaknesses? yeah that's a very nice question product design role I don't know link is in the description below produce yourself in 10 years oh 10 years I guess I want to okay thanks now let's jump into the video let's jump into the video actually let's dive right in Kala told me not to clap I'm sorry okay it's just hard to convey excitement without clapping


Phoenix Wright fans rejoice. In an unexpected turnabout, the Great Ace Attorney Chronicles are finally being localized for a worldwide release outside of Japan. Finally, the franchise's trials and tribulations are at an end, and there can be justice for all. Except Ace Attorney investigates two, which is still Japan only. Sorry, Edgeworth fans. So why did it take so long for the Great Ace Attorney games to be released globally? In true Phoenix Wright fashion, this is a tale with an unsolved mystery at its core and plenty of courtroom drama. Plus, just for fun, a bit of Persona 5 Phantom Thievery. So then, it's time to gather some evidence. In 2016, several of the creative leads for the Ace Attorney series were asked whether the Great Ace Attorney would ever be localized. Series producer Motohide Ishiro provided the following testimony. Unfortunately, there's a number of circumstances. We absolutely do want to bring it to the West, but unfortunately, due to these circumstances right now, I'm really really sorry. Nowadays on the internet, lots of fans are directly asking us, where's Great Ace Attorney? On live streams, even the Japanese ones, people from the West will write in and ask where it is. Every time we say, we're sorry, certain circumstances are kind of getting in the way. Hold it! What circumstances are Ishihiro referring to? While nobody at Capcom has been willing to elaborate, the prevailing theory is that this has to do with a prominent character that appears in the Japanese version of the Great Ace Attorney games, Sherlock Holmes. Now, we get to the legal side of the case. Sherlock Holmes first debuted in 1887, meaning that Seraph the Conan Doyle's character is no longer in copyright anywhere in the world. The character is in the public domain, which means that anyone can write a new Sherlock Holmes story. However, there is one group of people who always shout, Objection! United States copyright law lasts slightly longer than copyright law in most other places in the world. You have the Walt Disney Company in part to thank for that, who lobbied for an extension to copyright law to keep Mickey Mouse from falling into the public domain. The Conan Doyle estate has been using this longer copyright law to convince the creators of all Sherlock Holmes adaptations to pay license fees for any story published in the US. In 2014 Sherlock Holmes expert Leslie Klinger got sick of this and sued the Conan Doyle estate. The US courts found in Klinger's favour. Sherlock Holmes is in the public domain. Except Objection! The Conan Doyle estate wasn't going to give up that easily. In 2014, 10 Sherlock Holmes stories were still under copyright in the United States, and the estate claims these stories have kept part of Sherlock Holmes' personality under copyright. According to the estate, after the stories that are now in the public domain, and before the copyrighted stories, the Great War happened. In World War I Conan Doyle lost his eldest son, Arthur Alene Kingsley. Four months later, he lost his brother, Brigadier General Innis Doyle. When Conan Doyle came back to Holmes in the copyrighted stories between 1923 and 1927, it was no longer enough that the Holmes character needed the most brilliant rational and analytical mind. Holmes needed to be human. The character needed to develop human connection and empathy. Conan Doyle made the surprising artistic decision to have his most famous character, known around the world as a brain without a heart, develop into a character with a heart. Holmes became warmer. He became capable of friendship. He could express emotion. He began to respect women. His relationship to Watson changed from that of a master and assistant to one of a genuine friendship. Watson became more than just a tool for Holmes to use. He became a partner. The friendship of Holmes and Watson became one of the most important and well-known in modern literature. It is the copyrighted stories that create the most important parts of this friendship. In 2015, the estate sued Miramax over Mr. Holmes, a film in which Sir Ian McKellen portrays an aging Sherlock Holmes who is, in the estate's opinion, too friendly. Similarly, in 2020, they sued Netflix over Inola Holmes, a film about Sherlock's non-canon younger sister. Even as the final stories pass out of copyright, the Conan Doyle estate still holds some intellectual property rights. They have trademarked the name Sherlock Holmes, as well as the iconic image of him wearing a deer stalker and smoking a pipe. Even if this isn't the sole reason why Great Ace Attorney hasn't already been released in the West, it's absolutely a factor that Capcom needed to consider. That said, it seems that the company has finally found a workaround. They're simply using a different Victorian-era British super-sleuth instead. None other than Sherlock Holmes. He is where Persona 5 comes into the mix, by the way. Sherlock Holmes' copyright battles are older than you'd think. In 1908, French writer Maurice LeBlanc published a story starring his gentlemen thief character, Arsène Lupin. In the story, entitled Arsène Lupin vs Sherlock Holmes, Lupin engages in a battle of wits against Holmes, wins, and even steals his watch as part of the adventure. Sir Arthur Conan Doyle was not impressed. Sherlock Holmes' stories were still being published at this time, and the character was firmly under copyright. Lupin had stolen Sherlock's watch, but Maurice LeBlanc had stolen Sherlock. LeBlanc found a way to outsmart Conan Doyle. He changed the name of the character in subsequent editions of his novel to Sherlock Holmes. What? Sherlock Holmes? No. This is a completely new character. Sherlock Holmes is so different. Arsène Lupin has actually been at the heart of a few copyright cases as well. The Japanese manga and anime series, Lupin the Third, has sometimes been localised as Rupin or Wolf to avoid litigation. In the early 2010s, Lupin finally fell into the public domain everywhere around the world. The creators of Persona 5 immediately jumped on that opportunity, which is why Joker's persona is named Arsène, and why Joker lives at a cafe called LeBlanc. Because Lupin is out of copyright, so too is Sherlock Holmes. And that means that Capcom can switch out Sherlock Holmes for this obviously different character in The Great Ace Attorney Games. Case closed. The moral of the story, it doesn't take a genius lawyer to recognise that copyright law makes no sense.


Stop. It's not too late. You have now woken up from the slumber that you're in. Don't go back to sleep. Don't go back to sleep. Today we're going to be talking about how to die with regret. Hopefully you're not one of the people that does die with regret, but I'm going to talk about why 90% of people end up living their lives and then dying with regret. Now I'm going to talk about it so that you don't have to. That's an important thing. You have to learn from other people so that you can improve your life. There's an incredible book called Five Regrets of the Dying in the number one regret. Actually before I go about the number one regret, let me tell you about what the book is about. The book is a lady who lives in hospice or works in hospice for people who she's a nurse there and she's around people who are dying all of the time. She starts to notice that there's five really common regrets that people have as they're dying. The number one regret, which is what we're going to talk about today, the number one regret of people who are on their deathbeds, they've lived their entire lives and they're at the very end. There is no way out. Their number one regret is that I wish I lived a life that was true to myself and not the life that others expected of me. Let that sink in for a second. The number one thing that people regret when they're at the end of their lives is that they wish they lived a life that was true to themselves and not the life that others expected of them. And there's a couple reasons why this exists. And I'm going to talk about two reasons. Number one is our absolute need for acceptance from other people. That holds us back. I'm going to talk about that. And number two is I feel like most people don't know who they truly are.  And so let's go over the first one first. People's need for acceptance holds them back from everything that they want. There's an incredible quote that Jim Carrey has when he's giving a commencement speech that he says, your need for acceptance will make you invisible in this world. We learn from a young age, whether it's our parents or society or our family or our friends, we learn that we have to act a certain way and we have to fit in into society. And so from a young age, we develop what's called a personality.  The Greek word persona is actually the mask that people would wear when they were acting on stage back in ancient Greece. So that personality that you have is a mask that you're wearing so that you can fit in with what you think you should be or what you have been raised to be. So ultimately what happens from a young age is we make ourselves into a character of who we think other people want us to be, whether that's our parents, whether that's society, whether that's fitting in with our friends, whatever it is, we make ourselves into a character of who we think other people want us to be. It starts off as everything does with our parents. If you had great parents or terrible parents, we still as children mold ourselves into what we feel like our parents want us to be, how they want us to act, how they act. And sometimes it's not even what they specifically say to us. It's also what we watch them doing.  Oh my God, that was exactly like my dad. It's not that they forced that onto us. It's that we learn the world by learning from what they say to us, but actually more than anything else is watching them. So if your parents have a personality, a persona, a character that they've developed, children tend to take on their parents' character as well. And so what happens is when we act a certain way as we're young, we figure out what we're supposed to do, what we're not supposed to do. Right? We learn it from our parents and we start to develop that personality. And then what happens? We start to hang out around other children and we want to be around other children. We want to be accepted by other children. It's built into us to be tribal beings. So we want to be accepted. We don't want to be kicked out of the tribe because 100,000 years ago to be kicked out of the tribe meant certain death. And so it's built into our brains to have the need for acceptance from others around us. So it starts with our parents and then we get older. And then as we're, you know, five, six, seven, eight years old, we start to develop a personality, a character, a mask, a persona of what we think other people want us to be. And then what do we do? We start acting a certain way so that we fit in. I still remember. I still feel bad.  I still feel bad for calling a girl named Tracy on the bus on the way back from school in middle school on Inamory Island, a name that I thought was really, really harsh. And after those words came out of my mouth, I was like, that wasn't me. I can't believe I said that, but I can't take it back. And the only reason why I said it was cause I remember that I thought other kids would think it was funny. I developed a, I said something that was completely out of my character to her, and I still feel bad about it. Like 28 years later, 20 years later, whatever, 25 years later, I still feel bad about it because that's not who I am, but it's who I thought I needed to be to be accepted. So let me take a step back. Who did you need to be or who did you think you needed to be in order to be accepted by your parents? Have you ever thought about that for a second? Who did you need to be or who did you think you needed to be to be accepted by other children when you were younger? Who did you need to be or who did you think you needed to be to be accepted in high school, in college, in your first relationships? You develop a persona and a lot of times what happens is we do what we think other people think that we should do. So we go to college when in reality, some of us don't want to go to college because we feel like that's just, I don't know. I'm 17 years old. I'm 18 years old. I don't know what the best decision is, but it seems like what everyone's telling me is that I have to go to this college. And so we go to college, even though sometimes we might not want to go to college or maybe we go to college and we get a degree or start studying for a degree that we don't truly want, but it's what our parents tell us is the safest route or we get it because we know that, that job's going to make the most money. And so we go on a pursuit of not what we truly want, not what we truly desire, but we go on a pursuit of what we feel other people want from us or what we feel will get us accepted or what we feel will make us more money, which will make us more successful, which will then change other people's perception of us, make us feel a certain way. Then we keep going. We get out of college. We get a job. And sometimes we get a job just because we want other people to think of us in a certain way. Oh, I'm going to get this job. I want to be a doctor so that people think of me in a high way. They think that I'm a great person or whatever it is.  And then what happens? There's something called the midlife crisis for a lot of people. Some people have theirs. I'm on the midlife crisis of 24. I had a quarter life crisis. Some people have it 30, 40, 50, 60. And we wake up from this, this sleep that we've been in, this autopilot that we've been working on, and we're, we get the feeling of this isn't what I want. But am I too far down the road to turn back now? I can't tell you how many messages I got from people that are 40 years old, 35 years old, 30 years old, 50 years old, and they want something completely different than what they have. They have awoken from the dream that they have been in, the autopilot. But they say, I don't think I can turn back now. I'm too far down the road. I have a family to support. I have this I need to do. And what happens is that they stay in a job a lot of times that's slowly killing them. They're too far down the road is what they feel. I've invested too much time. I don't want to get out of this now. I've invested way too much. I'm so far down the road. You might be 40 years old right now.   I've missed my shot. So many people feel that way. If you're 40 years old, the average person's living to about 85 years old, you're not even halfway through with your life.  That's freaking bonkers if you think about it. You're not too old. It's not too late. You can change at any time. And you don't have to change right now, but can you start to make a transition plan over the next two years? I'm going to leave my job, I'm going to do this, make sure my family's set up, make sure financially I'm good to go. I'm not saying just leave at this very moment, but you can make a transition plan. I understand some people listening to me have people mouths to feed.  What would that transition plan look like? It's not too late.  You have now woken up from the slumber that you're in. Don't go back to sleep. Don't go back to sleep. So that's the first thing is that people have the need for acceptance. And so they do all of these things to be accepted for so long and then sometimes they wake up. And that's one of the number one reasons, that's the number one reason why people obviously hold themselves back and they get into this life that we're talking about. And the second reason why is because people don't know who they truly are and what they truly want. So we rarely ask ourselves, what do I want? What if you started waking up every single morning to ask yourself a question? What do I want? What is it that I want? What is my dream life? What is this dream job, this dream profession, this dream family, this dream happiness, this dream mindset? What do I want? Do you ever ask yourself that? What do you want? What do you want in life? What do you want? Go for it. And then what happens is some people will wake up to what they want and they still don't go for it. Right? So we live a life based on what we think other people want from us. One of the scariest moments of my entire life was leaving my job that I felt like I'd worked forever at. You know, I was 26 years old when I got the job, 29 when I was leaving the job. I was making over six figures base salary plus commission on top of it. That's a lot of money for a 29 year old. And I remember I was like, I felt literally, I felt like my, my, I felt like my soul was dying. Like I felt like I could feel myself slowly slipping into a depression. Like I was on the edge of going into a depression. I could feel myself slipping into habits that I didn't want to have in habits that I realized would not create the life that I wanted to. And so what happened was I created this podcast, I started a business and it didn't go really well for a while. That's what I don't talk a whole lot about. Like I wasn't making much money. I wasn't, you know, like, oh my gosh, I'm super successful from the very beginning. And I was terrified because I left my job to make a business out of it. Terrified, scared, list, right? And I went back home and this was in November of 2015. I'm sorry, December of 2015. I went back home and my sister asked me a question. She goes, Hey, have I ever shown you the box of dad stuff? I was like, I don't know what you mean. She's like, I have a box of dad stuff. My dad had died 14 years ago. She still never showed me all this and she finally brings out this, this box and it's got like old shirts. It's got his glasses. It's got his watch and it's got these letters. My dad was, when I was younger, my dad was in jail for a little while for multiple DUIs. And he wrote us letters and he wrote a letter to my sister on her 19th birthday and it was this beautiful letter. He was a great writer. And then at the end, he said, I hope you live your life with courage, love and laughter. And then it was a little bit more. And I was like, holy s**t, I feel like he's speaking to me right now. Like this is a letter from my sister in 2000 and would have been 2000. He wrote this letter to her. And in 2015, I'm reading the letter and it says, I hope you live your life with courage, love and laughter. And the number one thing that I was feeling at that moment from starting a business is should I shut down my business and go back to sales, go back to doing what I was doing because I knew that that money was guaranteed. I had so much fear inside of me. And the opposite of fear is courage. I needed some courage. And on it, it said, I hope you live your life with courage, love and laughter. And I had never had any tattoos in my entire life for that moment. But I was like, I feel like I'm about to slip into massive amounts of fear and anxiety around not having the money that I want to coming in with this business. And I'm going to burn the ships. This is the only thing that I'm going to do. And I'm going to get this tattooed on me. And so if you guys, you guys that are on video can see it, it's literally on my arm. It's my dad's handwriting that has blown up on my arm. And it's in his handwriting, it says, live your life with courage, love and laughter. And I made myself look at it every single morning of I'm scared list list list of losing everything that I have, but I know that this is what I truly want to do. So I'm not going to give up. So I have to live my life with courage, right? So I literally had felt my soul dying at this job, had to leave. I felt myself slipping into depression. I left there, which was scary as hell. And it wasn't going the way that I wanted to wanted to from the very beginning. But then what happened was I was like scared and thinking about going back. And I had to get a tattoo on my, on my arm to show me this is stop, like stop living in fear, stop making your decisions out of fear, start making your decisions out of a place of power versus a place of scarcity. And luckily I was able to make it work. Did it take time? Yes. Is it working better than I could have ever possibly imagined? Yes. But I almost went back to what was killing my soul, but I didn't think about that in your situation that you're in. Does that hit home in any sort of way? What do you want? If money were no object, what would you be doing? What makes you feel the most alive in this world? What makes your soul smile? Do you know if you do know, follow it, do it, put every waking ounce of energy that you have into it. If you have a full time job at nine to five, whenever you get home, put every ounce of energy after that into it. Don't use your job as an excuse as to why you don't have enough energy to follow your dreams after your job. Sure, you can pay the bills, but then follow your dreams until your dreams can then pay your bills. So if you do know what it is, follow it. If you don't know what it is, search for it. If you've been listening to my podcast long enough, I always say this, it's okay not to know your true purpose right now, but it's not okay to not be in constant search for it. It's okay not to know your true purpose right now, but it's not okay to not be in constant search for it. Wake up every morning and ask yourself, what do I want? What do I want? What do I want? Set your reticular activating in your system to find what it is that you want. You might wake up today and you might say, what do I want? That answer might come to you right away. Probably not going to them. It might take a week. It might take a month. It might take 10 months. It might take a year. It might take five years before you finally get the answer as to what it is that makes your soul come alive. It's not okay to not be in constant search for what that is if you don't know what it is. So what do you want in your life? Stop doing what you feel like you're supposed to be doing. Stop following what other people say that you should be doing because what happens is if you do stay in the route that you're in, if you don't love what you're doing, if you're not following your purpose, if you're not finding your dream, if you're not doing exactly what you want to do, then the worst thing that could happen is that you could be like 90% of people, like they say in this book, they get to the end of their life. They're on their deathbed and they wish they lived a life that was true to themselves and not the life that others expected of them. What do you want in your life? All that matters is what you want, not what other people want. What do you want? Figure it out, find it, follow it, and don't stop until you get it.


Item Number – SCP-312 Object Class – Euclid Special Containment Procedures – SCP-312 is kept in a large life-form containment chamber at Site-19. As it does not require feeding, only researchers are permitted access to the chamber. All personnel entering the chamber are provided with wide-brimmed hats and advised not to look directly upward. Description – SCP-312 is an organism composed of very thin tissue layers and filled with atmospheric gases at a slightly higher temperature than the surrounding air. It typically floats approximately 1m above the ground, although it will vary this in order to maintain its position relative to prey. SCP-312 is capable of creating a small, anticular cloud around itself by releasing water vapor and manipulating air currents, and uses this as camouflage. Within the cloud, SCP-312 is visually similar to a large jellyfish with a cap approximately 2.5m in diameter, from which trails a tube of tendrils approximately 25m in length. SCP-312 preys upon large mammals, and shows a strong preference for humans. While hunting, SCP-312 will stalk its prey from a position directly above, manipulating air currents around it to maintain this relative position. Prey can escape by moving at a speed upwards of 30km an hour, or by entering a large crowd, which seems to confuse SCP-312 and cause it to switch targets.  The majority of the eyes are human in appearance, except for one large central orb. The other eyes are connected to the central one by thin tendrils. This core can be observed through the tube of tentacles by prey looking directly upwards, or by a recording device above the targeted prey. So long as this core remains unobserved, SCP-312 will remain docile, and seems capable of surviving indefinitely without feeding, although feedings do increase its mass and movement speed, as well as the number 1. However, if a prey animal makes eye contact with the core, SCP-312 will become active, generating a narrow controlled vortex with the appearance of a long tube of cloud connecting the lenticular cloud above with the ground. The prey is pulled into SCP-312's tentacle mass by a strong updraft within the vortex, paralyzed by a venomous sting by the tentacles, then digested. Within about a week, partially digested remains of the prey will fall from the sky where SCP-312 disappeared. After a successful hunt, SCP-312 will drift aimlessly, until another prey creature comes nearby. Based on incident reports, the Foundation believes there are at least three uncontained instances of SCP-312 in the wild. Recovery efforts are difficult, because SCP-312 often follows a single person for months or years before its effect is triggered. Lesson complete. If you missed the previous orientation, go watch SCP-311, Tactile Displacement Gloves, right now. Or for the complete course, watch this playlist.