This is Dave Vellante, and this is SiliconANGLE.tv's continuous coverage of VMworld 2012. This is the official broadcast center of VMworld 2012, and we're here with theCUBE, where we bring you the smartest people that we can find in the industry. We extract the signal from the noise, and we have a spotlight now on something called software-defined storage. We've been hearing a lot about software-defined data center. The software-defined network is a big term that's being bandied about in the industry today, but we're going to talk about software-defined storage. What is that? What does it mean to VMware customers, and how are, specifically, cloud service providers taking advantage of it for their customers? And I'm here with Tim Brown, who's the CEO of a company called Core RAID, and one of Core RAID's customers, Tim Dufour, who's the CEO of Rackforce. Rackforce, according to IDC, is the number one cloud service provider in Canada. Gentlemen, welcome to theCUBE. Thank you. Good to see you guys. So here we are, VMworld 2012. We were just talking off camera. He's back in San Francisco this year, so we get to sleep a little bit more, but we're here, there's a lot of energy, and you're starting to see, Tim, this notion of the software-defined data center come together. So I'm going to start with the customer perspective. So talk about your data center as a cloud service provider. What does that all mean to you? Is that buzzword, or can you actually put that into practice? That's actually very important to us. So software-defined data center to us means driving the complexity out of very complex systems. So we have a number of technicians that manage very complex storage, very complex servers, but at the end of the day, if you can have a software-defined management system, basically you can take all those pieces, all those complex pieces, and be able to rapidly provision and provide services out to the client base. So Kevin, Corey talks about redefining storage. So how are you redefining storage? So there's a couple of important ways. If you look at the transition from old enterprise systems to the cloud, you move from small data running on big boxes to big data running across lots and lots of small boxes. That's a very different computer science problem. And so what we've done is we've taken that same scale-out architecture that the big Google and Amazon networks have used and wrapped it in an enterprise-class set of features for storage. And so what we just now launched is our software-defined storage offering, which really takes that scale-out architecture and is able to automate that with one-click provisioning with the whole scriptable, programmable set of things that can really tie from the infrastructure all the way up the stack to the application. So for service providers, this lets them roll out services that can very quickly deliver capabilities that look like the consumer web that really have the performance and the resilience of the enterprise-class infrastructure. So when you think about service providers and the way in which they're adopting these technologies, they're sort of ahead of the game. You saw Amazon sort of invented the concept of the cloud. And service providers are a bit ahead of the traditional IT enterprise, even though we're seeing IT start to get more serious about some of these simplifying provisioning. But they've got a much more challenging problem because they've got hundreds or if not thousands of applications. So, Tim, talk a little bit about what Pat Gelsinger this morning talked about the museum of legacy infrastructure. What does your museum look like and how are you able to shed some of those legacy processes? What did it look like before and what does it look like now? Take us through that. Sure, it all starts with the data center itself, the data center infrastructure. So when we first started in 2001, we had a small kind of server room, I guess you could say, and it was actually, it became obsolete in about four or five years just because it couldn't support the high density of the modern servers that were coming out. And so we morphed into a number of different data centers over the years. Our latest data center was built in 2009 and we opened the doors in July. And that data center supports up to 1,000 watts per square foot. So we can actually put in a lot of blade centers and a lot of high density storage platforms. That's basically the underlying infrastructure but moving up the stack to the servers. Now we're finding the servers, of course, getting smaller, more powerful, Moore's Law type of idea. And we also see that the workloads that are coming to us are extremely varied. We would have customers that really want just month-to-month test dev environments to customers that sign five-year contracts that have very high reliability, high security requirements. So we have a very varied workload. And that's basically, again, why the software-defined aspects help us to template and profile customers. So you build an infrastructure as a service based on product, core aid, storage technology? Exactly. Our cloud environments are very much enterprise-based. We didn't go to large-scale public cloud infrastructure style. We're much more enterprise-focused. So when a customer comes to us, we listen first. We try and understand what the requirements are. And then we fit our solution around the customer rather than the customer fitting into the solution that's predefined. Somebody once said to me that companies don't buy from startups because they want to. They buy from startups because they have to. Why did you have to go to this type of solution from a company like Core Aid versus go into one of the big whales and combine this? Actually, really appreciated the fact that the underlying architecture that they built, Ethernet-based, as soon as I heard Ethernet-based scale-out infrastructure, then that really struck a chord for me. I think, again, what we're trying to do is we're trying to simplify complexity. And what we see with Core Aid is that it has a very simple architecture to it. But at the same time, very scalable, very robust, and it just drives a lot of the complexity of the storage solution. So Kevin, let's talk about the software-defined data center as we've been hearing from VMware, the sort of top-down approach, abstract, pool, automate. How do you fit into that with your notion of software-defined storage? So we're really coming at the same problem set from the bottoms up, and that's where we can kind of meet and collaborate. So if you look at that abstract pool and automate, that's been done very, very well at the workloads, with the applications, with virtual machines. It's starting to make its way down into the network, but in storage, it just doesn't exist. You can't do it today with the older architectures, think like fiber channel, big boxes. It's very difficult to make that into a very programmable, flexible elastic architecture, and that's been one of the big problems for the enterprise. So we're coming at this with an architecture that looks a lot more like those building blocks, and then from that bare metal, being able to then take that pool of resources, abstract them, and then in a restful API automated way, this is the way the cloud guys do it, really to then make that available as a service all the way up the stack. So you take someone like Rackforce, they're the number one cloud in Canada, number one cloud service provider. They just won the VMware service partner of the year. I mean, we're very proud to be working with them. The problem set that they have is, how do we take enterprise class services, deliver them to our big enterprise customers, but do it with the agility and with the simplicity and be able to innovate in terms of the way that we deliver that as a service. So enabling that is a huge upside for us if we can go help our customers do that, and we think that it really moves the infrastructure forward. So there was a big move, certainly over the last two or three years, VMware announced the VStorage APIs for array integration and all the traditional storage companies worked really hard to integrate. Why didn't that solve this problem? Well, it's a great question. We've done some of that same integration ourselves where you can go, for example, pause a workload before you take a snapshot. There's a number of those kinds of integrations that are useful, there's utility to them, but what they don't do is they don't solve the fundamental provisioning and automation problem. With most of those cloud infrastructures, you have to assume someone has already provisioned storage for you. And in a fast data growing world, in those type of environments, that's very difficult to assume, and much less having the flexibility to go fit different workloads where I need flash drives over here, I need RAID 10 over there, I need very different configurations to achieve the enterprise application requirements. So the flexibility to go not only do the top level integration with the virtual machine, but to drive that all the way down and match the infrastructure to those requirements, that's something that doesn't exist today. So Tim, I wonder if you could talk about, Kevin was mentioning simplifying, accommodating faster growth. Can you talk about, give us some kind of sense as to how fast you're growing and what does that all mean to you? Well, we became a cloud service provider in 2007, and I think year over year, our cloud's been growing in the range of 50 to 70% per year. So very rapid growth, and I just wanted to make another comment with regards to the automation piece that we have a number of skill levels in our staff. And to be able to automate and have this one button provisioning, we see that as reducing a lot of operations overhead. And I think that we can rely on more junior techs to do a lot of the provisioning for us. I think that that's why the software defined storage is so important for us. So how do you scale it? I mean, you're talking, Kevin was earlier talking about using, taking a page out of Google and scaling out. Talk about how you scale this solution. Right. So here's software defined. Oh, does it scale? Yeah. So we have like the actual chassis themselves. We'll have very similar hard drives inside those chassis. We'll have a chassis for SSD and we'll have a chassis for SATA drives.  We use, we're going into a production with rain. It's a redundant array of independent nodes. So that gives us the ultimate in reliability and in performance as well. So do you, are there any particular applications which you serve as better than others?  Talk about the use cases here. I think that the, probably the most challenging use applications for us are probably the very advanced, large e-commerce type of applications. They can't afford to have any downtime even during maintenance periods. So we have to build our infrastructure such that even during maintenance there is absolutely no downtime. So that's among the most challenging applications that we serve as, but at the same time we do have customers that are in the test dev environments and things like that and basically everything in between. How do you handling multi-tenancy? Multi-tenancy, we handle it in a number of different ways. There's certainly the, at the server level we can provide what we call a hosted private cloud. And so essentially it's when we take servers and we dedicate the actual hardware, the actual servers are dedicated to the customers. We can actually do that with the storage now with Core 8 as well. So we can dedicate a disk array inside of a chassis, inside of the storage chassis. So now the customer has dedicated servers, they have dedicated disk, and we build kind of a security wrapper around that as well, security and performance. So basically it becomes a separate infrastructure for the customer, but it is hosted in our data center. How about disaster recovery? Where does that fit in? It's a topic that is really challenging for users. It's always top of mind, data protection generally, but disaster recovery specifically. How do you guys handle it? And I want to follow up with Kevin. We have certainly a number of clients and that require disaster recovery. What we actually see is that the environment, the geographic region that we're in is very stable. And we see, for example, Vancouver where it's less stable, that we can see the primary workload actually moving to our data center and the backup becomes in the Vancouver data center, for example. So we do have a number of disaster recovery clients and that's where the big data comes in, tends to come in as well. So that's why we needed to have this very large scale out storage infrastructure as well. So you're hearing that from other clients? I mean, is that a key value proposition? Backup is one of the killer apps for cloud because people can start small there and then what we see exactly the same trend where people will start out with something in the cloud for backup and they'll actually flip it or they'll start to really move things to some of these types of environments if the service provider can really deliver the resilience, the performance and really do a good job of outsourcing that. So you take something like multi-tenancy, that's a hard problem. If you look at solving that, whether it's in a private or a public environment, this is a good example where it's a whole stack problem. It's not a storage problem or a server or a network problem. You have to make all those pieces work together. So the software-defined data center and software-defined storage is part of that. This is all about, how do you programmatically link those together and then be able to use the control plane to pull out data plane elements, whether it's how do you segment off some storage, how do you create a VLAN, or how do you tie that all the way up into a virtual machine workload. So this is all of the underlying plumbing that is necessary to really make that very agile. Kevin, how do you compare the cloud service provider like Tim, for example, with the traditional IT customer? Where are they on that spectrum of cloudness if you will? It's interesting because what we're finding is in large companies you'll have a lot of traditional slow-moving pockets and then you'll have someone who's got pain. And that pain these days is often caused by rapid data growth. So a lot of our customers, we're seeing doubled year on year on year growth. So one, two, four, eight, 16, 32, right? So what worked at one or two stretches at four or eight and when you get to 16, 32, 64, it just won't work. And so what we're finding is that even in conservative Fortune 50 customers, we're finding pools of people that really have a real new problem and they realize that they need to look more like Amazon or Google and they need to do it quickly. And so that's an opportunity either to work with someone like Tim to go and really build an architecture that's suited for that or where we'll come into their inside infrastructure. If they've already got petabytes of data, they may not want to move it. We can build that kind of infrastructure in-house. So we're seeing it in pockets where people are moving but it's growing then very quickly. Complexity is the pain. Coret is the aspirin I'm hearing. But it has a little more powerful there. But I have to ask you, when you really peel back the onion on complexity, it seems like it's been this perpetual barrier to growth. Have we solved that problem, do you feel, as an industry? So I think that if you look at the stack, there's a lot of folks that have focused on just their piece and some of the big vendors are buying up some companies and trying to put it into a stack but it's relatively fixed. We see those as sort of a kind of a modern mainframe but not a lot of flexibility and certainly not a commodity hardware economics. So what we believe is that that's the right idea to get things working together but in the end it's going to have to be much more open about how do you do it, open standards with being able to then program that in a much more flexible way because if you're going to differentiate on services, you need to be able to customize them. You need to be able to really tailor that to the business need and that's very hard to do from within a very fixed stack and a fixed frame so that's where some of the innovation around the software defined, API sets and so forth that they're going to drive people.  Have you essentially solved that problem at the infrastructure level or is it still a challenge? I think it's still a challenge, definitely. I think it's all about the process as well. It's the way we govern our change management and things like that. I think that's the ongoing key for us is that there's always going to be new technologies, there's always going to be new types of infrastructure but we have to be very careful in the way we do our change management and processes but again, if you get the automation involved to drive out the complexity, that really makes our job a lot easier. Abstract the complexity, pull the resources, automate seems to be the direction that the industry's headed in. Clearly that's what you guys are espousing so congratulations on your successes. Really appreciate you guys coming by theCUBE and good luck, enjoy the rest of the event. Thanks so much. Thanks for watching everybody. We'll be right back with our next guest, keep it right there. This is SiliconANGLE.TV's continuous coverage, live from VMworld 2012.


I'm Ankur and today I'll be talking about a dynamic parword lock ops. So I start off talking about the motivation for this feature, then I'll talk about the state machine for Qt spin locks and then I'll talk about, you know, what does switching PV lock ops, what does that involve, mostly the requirements and what do we need for safety and then I'll talk about the patching mechanism, which is breakpoint based and the design and implementation of V1 and then the design of the V2 for this feature. So this whole thing started wanting guests to be more dynamic and dynamic specifically in the sense that KVM advertises to guests, a KVM host advertises to guests, you know, this feature, whether the the VCPUs for the for the guests are oversubscribed or not. And if they're not, then in quite a lot of respects, it's fairly similar to bare metal where, you know, at least you know that a different process will not schedule out your VCPU. And so if the center is true, a KVM guest would basically use native PV locks. If it isn't, meaning it is possible that that your threats, VCPU threats can get scheduled out, you use parword PV lock ops. And that's, that's good, except that if this, this hint becomes untrue at some point in the lifetime of the guest, you know, the host could, could move to an over subscribed mode for, for whatever reason, and the guest has no control over that. Then typically, you know, the guest would see soft lock ops. And, and, you know, the, the recommended fix for this is that a host should only advertise this particular feature, or this particular hint, if it can guarantee the, the hint for the lifetime of the guest. Now that seems kind of reasonable, but it does seem unsatisfying given that most of this presentation is about switching parword locks, which are based on, on, on cute spin locks. Let's, you know, go over some of the interfaces involved. So there are five interfaces for this, and, you know, you can see them, all of them outlined in blue. Interestingly, the, the one interface, which is, which is not a PV lock up is cute spinner spin lock. And, and that's pretty interesting. And, and, you know, that's the fact that, that, that causes a fair amount of trouble, you know, when you're definitely switching these, because now you have no way of getting entry into into the state machine, essentially, right, you can get the PV lock ops, but you cannot get cute spin lock.  So the other notable thing in this state machine is, is, you know, the skidly lines. So all of the interfaces on the other side of those, that's basically bait kick. VCPU is created a somewhat special, I'll come to it, but bait and kick are basically no ops for, for the native case. Did, which, of course, I mean, make sense for the, in KVM, weight is KVM weight. It basically goes and does a halt in, in the host and, and kick, essentially, it does a KVM hyper call and, you know, it does what you would really expect. So now, having seen the state machine, let's go a little bit into why don't we just use paroid locks all the time. So you can see that, you know, the unlock fast path is different for, for both of them. And this slide doesn't say which is which, but I'm sure it's easy to guess that, you know, the native case, it's just literally a move. The paroid case is a lot compare exchange. And, you know, if, if that comparison fails, you take the slow path, find the next node and kick it. Um, and I mean, clearly they are optimized for different use cases, but you would pay the extra cost of compare exchange, even when you don't, don't need it. Um, okay. Another example is that Q would spin lock slow path. It's pessimistic by default for, for paroid.  All right. Now that I've hopefully convinced you, uh, on why we need this feature, what does it, uh, involve? So fundamentally, what you need to do is you have five interfaces, um, these are spread all over, you know, the kernel modules and so on. And you need to switch all of them atomically. What does actually, uh, switching them involved? So, you know, this is the example of spin unlock. So you have to transform between the, the op codes between, you know, one of, uh, from one to the other, uh, sequence and of course you might be doing it multiple times. Um, so the native queue spin unlock, as I think I showed in a previous slide, it's, it's basically a move three bytes and, uh, a four byte no op, the PV queue spin unlock is a, is a call to the actual function that she does the queueing and it's an exchange, uh, which is basically a two byte no op. The, the, the call is interesting because no, it's a call.  However, if you have managed to finish the, the switching by that point, um, the contents of address, uh, five here are four, zero, zero, zero and as you can imagine, that probably will not go very well and, you know, just to be able to point a little bit more, uh, you might, you might have other ops, which, uh, similarly go from a call plus no op to, to just a no op seven or back. Uh, now one nice thing is that spin locks cannot sleep. They could be present for, for active threats, but they will not be present for sleeping threats and, and that's great. All right. So what are the possible active users, uh, of spin locks while we are doing this pattern? So it's, it's really the standard suspects. You have tasks, you have software queues, um, you have interrupt handlers, you have NMI handlers, the only thing which might not be taking spin lock is if it's in a user threat context. Interrupt handlers especially are, are interesting because the mechanism, which I'll describe a little more, uh, in a later slide, is textbook BP, which uses breakpoints and it's essentially a three-phased, um, um, patching process for each call site and, and so you would, you know, do a, write, write an op code, um, after you've finished writing the op code, you need to synchronize, you need to ensure that all CPU pipelines, they're synchronized. Um, so the caches are synchronized by, by default. What you have to worry about is the pipeline synchronization, um, because it's possible that, you know, you have the pipeline cache, which has, uh, which has prefetched, prefetched, you know, some of these instructions, uh, maybe they've been decoded into micro ops and so on. Um, so, so the IPI is sent out to, to essentially synchronize the pipeline. And essentially what happens in the IPI is that, you know, when the remote CPU receives an IPI, it executes, uh, or it'll eventually execute and add it to make sure that it synchronizes the pipeline, such that it fetches the, the recent, the latest version of, uh, the, the latest version of the pipeline. The, the latest version of instructions written. So IPI is also takes spin locks. So, so yeah, we need to be kind of prepared for it or handle it in some way. All right. Now let's, uh, talk a little bit about the mechanism that we'll use for this. So the mechanism is a fairly standard, uh, the next mechanism, um, which, which we use for modifying cross-modifying code, uh, there's a, there's a typo in that, in the second line. Uh, the problem it solves is of patching while potentially executing code that is being patched. And the, the great thing about this is that it's a single byte instruction. So, so you, so you know that you can always atomically both write it and execute it.  It serves as a barrier to, to, to entry. Uh, the, the, the one thing that you do need for that is that this instruction sequence that, that you are in the process of writing should have just one entry, uh, from, you know, it should only be entered from the first byte, from the, from the first byte that you just replaced with 0xcc. And, you know, if, if this barrier gets hit, uh, the control flow shifts in three handler and in the, in three handler based on the, on the address of where this was hit, you know, um, you, you know what, what is the sequence that was supposed to be there?  So, so you know what you should emulate now. And, and pvlock ops, uh, they, they start their life, uh, when the kernel boots as, as indirect calls. So fundamentally you are really just, just executing those indirect calls, which are functionally equivalent to the, to the opcode step was stored here. All right. Uh, now let's talk about what we actually do in V1. So one way of sidestepping, you know, a lot of the difficulties I outlined earlier is basically to use stop machine. Um, so how we use it is basically there's a patching CPU, the CPU patcher. And a bunch of, uh, you know, secondary CPUs, all of them essentially work in a lock step state machine, interrupts are disabled, you don't need IPIs, uh, for a sync core.  So it's a cowardly way of, uh, getting rid of a lot of the difficulties. And, uh, the, the only remaining risk is, is NMI's and because, you know, NMI's can come, they can, uh, so on, on the primary or the secondary or both.  Um, this, so that spin lock, if you're modifying that particular site right then, would end up going to the intree handler and, you know, you could have a deadlock there. So, so to avoid that, the intree handler also needs to implement a subset of the state machine. It essentially, uh, because all CPUs are participating in the state machine, you have to kind of ensure that the state machine keeps moving and, uh, and, and, you know, whichever context you are in, whether you're in thread context or in intree context. And with that, you can make forward progress. Um, if you have multiple NMI's, that complicates matters somewhat, but I won't go into that right now. All right. So, so this is going to an example of, um, what the state machine really looks like. Normally you would, you would use, uh, IPIs to, to do some of this here, as you can see, you know, the CPU X essentially, uh, does, uh, has, does SMB con load with the choir semantics to, you know, progress to the next stage and what is each stage. So, uh, the, the commented out section actually goes through, you know, how the, the op codes are really arranged. So the first step is you, you just patch the, the intree. And that's, that's what the patcher does. It just replaces the first byte within three. It does a local sync and it's, you know, changes some state with release semantics. And the, all the secondary CPUs, they basically do a choir for that state, you know, so the state will be say intree written. Uh, once they see that, you know, essentially intree has been written, they do the sync. Uh, then, you know, you can go and safely, uh, the patcher CPU can go and safely write the rest of the state, a rest of the op code bits. And, you know, anybody trying to execute this would at this point in time end up in the, in the, in 300, right? Uh, yeah. So, so you write the rest of the state. Um, you make sure that, uh, that the patcher has written it, um, on the secondaries.  And then all that remains is for the patching CPU to write the first byte that you does and the iteration is, is complete. It works. The only problem is this is stop machine, which kind of sucks. And, um, you know, when I send this to upstream, there was a review comment, which I think in, in hindsight was pretty understated, which called it bong hits crazy code. So, so now V2. So you want to patch multiple sites atomically, right? Uh, your other CPUs could be executing arbitrary code, including spin log code. Um, and in any case, you know, patching even a single site is not atomic. There are multiple steps and each step, um, even in itself can get interrupted by, by an NMI. All right. So, so the first step is you first introduce a site local barrier everywhere. And the, what this allows you to do is it allows you to control what executes. So until the site local barrier is everywhere, um, you know, you just emulate the old code. So one step one is done. Um, you need to introduce a global barrier. Um, and the idea behind the global barrier is that, uh, before this, this barrier, you are only going to be executing old PD lock ops. After this barrier, you execute only new new ops. The, the important condition for this barrier is that there should be no spin locks. Uh, and, and thus, you know, no executing PV lock ops in the system. And, and once you have transitioned, you know, to the new PV lock ops, you kind of done all that you need to do is you need to stop emulating. So you go back and, and replace the in three that you, that you prefixed the, the real old code. Okay. So, so, you know, most of the, the work is really in the, in the global barrier. How do we actually get a global barrier when you have multiple VCPUs? Fundamentally, what you need to do is you need to count all spin locks under execution. And, uh, the counting needs to happen in 300, which is good. You know, that's a single point where everything kind of converges. Uh, of course, there is no real way of counting spin locks. Good spin lock is, is not a PV lock off. So, so, so you don't even know where, where all of them are in the, in the kernel or in the modules. All that you have is what you can get via the in three handler, which is the rest of the five op codes, not a huge spin lock. What's the property that this global barrier holds essentially? So, so the barrier itself is, is, you know, pretty simple. You either via RCU or a work queue or something that you essentially execute this patch barrier on all CPUs, except for the worker. Let's say this is in work queue context.  There are no spin locks in that context on that CPU. So at that point in time, you can switch that CPU to a state where it says, you know, barrier executed. And you can essentially act that the CPU has executed the barrier. And that from this point on, the CPU needs to count active lock ops. Active lock ops, then it falls to zero means that there are no ongoing spin locks, let's say, or PV lock ops really in the system. And at that point, it's safe to switch. So that's the property in the next line. All CPUs have, have executed this barrier and no active lock ops in the system.  But some of them are actually counting these active lock ops. Some are not. But once this condition is true, you know that all active lock ops in the system are actually getting counted. And then, you know, there are issues here. Spin lock is a really hot path. And so you might have to wait for a long time for this condition to be true. And until then, you know, you would kind of slow down the system. But if the load is too high, you can just abort and you can do things like that. But, but, but this condition is, is sufficient to transition to this new stage a little more on what we are counting and how we're counting. So first of all, notice what we cannot count. We cannot count the fast path. The, we have no control over cute spin lock. That does not go through the big point handler. So we cannot count invocations of the fast path. So they can be spin locks executing in the system.  What you can count is the slow path. And the great thing is that the slow path also protects the data structure because the data structure only gets accessed in the slow path. It might get accessed in the unlock if a different CPU has gone through the slow path for the same spin lock. You only really need to be able to tell the difference between the two cute spin unlocks because you know, one got what one gets executed in the fast path. So, you know, you should not be dropping a reference there. But you take a reference in cute spin lock slow path, which you should be dropping in the corresponding cute spin unlock. The one part of data structure that gets accessed is the bid representation, which marks whether this lock is taken or not. And that is constrained to be compatible for both of the spin lock types because cute spin lock is the same for, you know, both of the spin lock types. So cute spin unlock has no choice, but to use the same bid representation. And so the only remaining problem is being able to tell the cute spin unlocks apart in both of these cases, and that you do by just keeping some sort of a per-CPUBit map. And that's all there should be to V2. You can find the code here on GitHub. V2 is mostly design documents. V1, you can get the code on GitHub and the patches on LKML. And thanks for attending the talk. If you have any questions, I'll take them. If not, I'm happy to receive them on email or if you want to collaborate, just drop me an email. All right. Thank you very much.


Our callings come with assistance as opposed to coming with an instruction manual and directions and details. Our callings at best come with assistance. This assistance is in the form of unusual courage and tenacity, a resilience and a stickability in the face of all things being stacked against us. These are the divine assists for our callings, which we were all born with by the way. You don't find it, you're awakened to it within you. But there are so many layers between you and your calling and all of us have that because from birth we are molded into a social construct called the ego, which separates us from ourselves. And the problem is that our callings can only function when they're attached to all authentic self. Your calling can operate with an avatar version of you and I.


Everybody forced here rip in 20 22 top scrum or not top scrum tops museum collection baseball hobby six box half case number 19 This is a picker team style break Brandon s has the Marlins Charles M a's Chris V red Sox Dodgers Yankees Padres and Nationals Darren P has the Guardians Don L Rangers Jason a Rockies pirates John s has the Angels Joseph C twins Joshua B giants Kevin R Cubs Link has the Braves Martha D backs tigers Matthew N. White Sox Patrick C. Cardinals Patrick G with the Mariners Raul H. Reds Richard D. Blue Jays Rob L Phillies Ryan D. Metz Scott v. Astros Troy L. Orioles Brewers Tyler a Royals and Wade C. Rays. Good luck everybody. Thank you very much for joining Let's do it. It's just two to go on the next one You should remind me what teams those are and we'll give a chance Caleb is live now nice.  I was talking about the jerseys Yeah, jerseys are cool That is a copper Wilson Contreras Torquilson rookie base archival auto for the twins Torrey Hunter 55 of 125 Here you go twins. Nice start for you. How many Museum collection of the case is that what you're asking Dean? It's a 12 if that's what you're asking This is a half case next half case is the next break Copper Miggie Nice many Machado dual Jersey auto Padres Nice hit Padres 70 of 99 Got that like army green almost and then that pinched right there. They're bet the brown pinched right Oh, I'm not sure how many jerseys are in a case Does anyone know I don't I haven't opened any yet actually copper Babe Ruth a canvas Louise Robert and Patch card blue Jays Tiosca Hernandez one of ten It's like a letter patch like a nameplate Because I know the the front of the jerseys has like the trim in the middle of it Last the box when you got copper Aronado And a raised quad relic Austin Meadows number 34 of 99 got really quiet out there. Yeah Everyone else is probably watching somewhere How's Bryson doing? It's alright man, just people Like he's a he's he's a young man just like you yeah Uh Tatis on the canvas for the Padres and another twins archival autograph of Max Kepler 40 of 150 twins doing very well now couple on-card autos Everybody went to go watch Purple Machado 65 and 99 Padres got Cal Raleigh Got a dual Jersey auto good Lord twins Max Kepler. Oh my god 397 to 399 Who's got the twins in this thing? This is getting wild Their third autograph through one and a half they have every auto so far inside of the Machado Twins is Joseph C. Copperdale a cruise rookie for the Marlins Jersey card for the Yankee CC sabatia 250 nice CC It is is some twinning. There's a copper rookie O'Neill cruise for the Pirates It's a hunter green Patch guard for the Dodgers Julio Orias number 27 to 35 another rally card here is quad patch brewers Keston here a five of 25 Nice one brew crew knew he heard me Purple Giants Buster Posey 64 of 99 54 of 99. Yeah God Mets quad patch Jacob de Grom 10 of 25 Which one is it? Yeah So Sean saw Sam at Walmart earlier Called him a scrub And Sam didn't even like look didn't didn't even turn around to look It was scared for his life It's a wander rookie a patch card for the Cardinals Nolan Aronato 1 of 35. Yeah, but he was right He's like, yeah, I wouldn't pay attention at first anyway Oh, he heard me clear his day too.  He's Ricky 47 of 275 Yeah, I could find out a minute for you Dean, but you could probably find out online as well pretty quick copper Chris Bryant The Dalbru Han and rookie auto Cleveland is Ernie Clement 102 of 299 box number four Yeah, like I said, I can check in a minute here got copper rookie Torkel said for the Tigers Nice a raise archival autograph of Tyler glass now 111 of 200 And other Mets quad jersey is to Grom 51 of 75 What the heck Alec Thomas rookie got a patch card for the Astros Alex Pregman three color numbered six to 25 Copper rookie Reds Hunter Green. We just go ahead and text right now. All right a text of the lane Dean We'll find out shortly Unless lanes in there Dual relic auto for the Astros Jose Altuve Nice Altuve 13 of 100 and Padres purple is Blake Snell 23 of 99 Everyone else is open to accept me Gwynne copper Shane Bos rookie got a Griffey canvas and Nice archival autograph Mariano Rivera 24 of 25 Awesome hit for the Yankees Chris V When the enter Sandman auto take one there for you buddy. Congrats Get that right into a mag Climbers you got a rookie canvas wander Franco for the raise and then archival autograph for the White Sox Mark Burley 33 of 50 Five. Thanks, Lane. Yeah, Dean. It is five. It's five jerseys to a case Dean So you wonder if a whole one just order five Copper Garig Nice here in judge three color patch Yankees one out of ten. He had two off the Sox last night He is second one was a bomb. Yeah. He is for sure hitting 60 this year It's just about like how many more of her 60?  I think at this point It's like two weeks left. I Think oh really only two weeks left, right? Yeah, it's mid-september. Oh nice judge. We can actually back so boss Hey boss is up Yeah, what's the what is that? What's the merit the Maris is Maris had 61, right? I think that was that's the American League record I Think that record is pretty much as good as gone. I think we'll see rookie red Alec Thomas 21 of 50 nice one d-backs of the color match Bobby with junior rookie base and a wit marifield triple relic auto for the Royals Three of 25 Royals wit Marifield 62 for Maris. Gotcha That was 64 for some reason. I could see judge getting a like 64 though What's the NL record bonds like 74 something crazy like copper jeeter And that's the people walking them all season to Jayrod rookie base and Quad jersey for the Astros Yuli girly out 26 of 99 Weird weird that they were booing Maris when he was breaking that record because it was a Ruth record Very strange Very odd behavior by Yankees fans in the what the early 60s Just the Royals left on the next one guys See an old stuff like that get broken a baseball is the best like bonds hit Over Even when Aaron broke roots record, which is even crazier because You know because Yeah, I was seen as not good that I buy a lot of people. I guess aren't it's proof Yankees don Mattingly, which is sad That's probably what it is Got blue to grumb for the Mets number 25 of 150 you don't want the new person to just start right away You know like oh, yeah, I guess the right watch me watch me get a feel in the near that dual jersey ought to raise Brandon Lau Numbered 173 399. I agree Dean. I agree. I have to say he's stadium kind of meh Yeah, it's it's weird Like it's a fine place, it's a nice stadium for sure I got copper al-tube Kirby Marsh Durin and a Jersey card for the Cardinals Nolan ever not oh 23 of 50 You mean Nate low for the Rangers I think is this who it is No, Brandon Lau doesn't have a brother in the league Nate low and Josh low. I think her brothers copper rookie Mariners Cal Ralee Shadow Harper got a rookie or not Ricky, but Reggie Jackson Yankees on the canvas and a quad Relic Ryan Mountcastle 95 and 99 for the Orioles I think Nate low I'm getting I'm getting my lows mixed up man There's one place for the Rangers one place where the Ray is their brothers. It's not Brandon Lau He's not related, but yes, it's Nate and it's Josh Nate low Josh. Give me one sec. We'll do a recap everybody against just the Royals in the next half case Here Sean I are going home Orioles 95 and 99 Cardinals Jersey Nolan ever not oh 23 of 50 Quad rally girly Elton 99 Astros Astros patch Regman 6 to 25 got quad relic meds take up to grom to 75 Patch card Cardinals not out of 35 another to grom this time at the 25 Yeah, here are 25 Brewers quad patch a Dodgers Julio Orias patch card at 35 Yankee CC to 50 and meadows for the Rays quad relic to 99 and a Tiosca Hernandez one of 10 blue jays It's going on leave Dual relic auto Brandon Lau for the Rays 173 399 Whitmere Field Royals 3 of 25 Mark Burley White Sox 33 of 50 Got all two-way dual relic auto Astros 13 of 100 Rays archival Auto glass now 111 to 200 Ernie Clement rookie Auto Guardians to 299 Triple relic auto A's Ricky Henderson 47 of 275 a Now here comes all the twins hits. I remember they were like the first few Kepler for the twins dual relic auto I have to tell me 397 of 39. I actually did 397 39 max Kepler auto 40 150 twins Many muchado do a relic auto Padres 79 and twins again Tori Hunter auto 55 and 125 It was like the first three of the first four autos roll twins Patch card Yankees one at 10 Aaron judge the three colors It's gonna break that AL home run record. It looks like yes. He is and Yankees again a Mariano Rivera auto 24 25 Yanks killed it. We have another half case up next. Thanks everybody


I'm Lucy and in this video we're going to look at frequency tables.  Lots of data sets have thousands or even millions of pieces of data, so we need to collect and record the data in tables to make it manageable. Thankfully, we can group this data into a nice neat table like this, which we could then easily put into a bar chart. Sometimes the data can be left as individual numbers and sometimes it's easier to group it, like I grouped the exam results. So we have these ages. We can collect them into a frequency table by tallying 16, 19, 20, 22, 19 and carrying on for all the data. Then add up your tally marks to get the frequency and we have a completed frequency table, which is much easier to work from. I could have just as easily chosen to group the numbers into categories for example. When creating grouped frequency tables, if possible, it's best to try and make the groups the same size. So let's go back to our exam results. These groups are different sizes. This one is 10, these are 14 and this one is 30. Let's try and make them more equal. We know the lowest mark was 22% and the highest mark was 100%. So the range of results is 78%. Now, because we have A star, A, B, C, D and E, so six groups, work out approximately how big each group should be by dividing the range by six. We want each group to be about 13% in size. Starting from the bottom at 22. Add 13 is 35. So the next group starts at 35. Adding 13 each time and then fill in the rest of the group at the end. We now have six groups that are pretty much the same class width. Here are some questions for you to do. Pause the video, work them out and click play when you're ready. How'd you get on? One final question for you to do. Create four equal groups or classes for this data. Pause the video, work it out and click play when you're ready. Did you get the groups right? So that's the end of frequency tables. They're very useful for collecting data together to make it much easier to handle. We can then calculate averages or draw different graphs from them like histograms, which we'll look at in another video. If you liked the video, give it a thumbs up and don't forget to subscribe. Comment below if you have any questions. Why not check out our Fuse Squap as well. Until next time.


What's going on everybody welcome back to another draw preview and we have the guitar open happening this week on the WTA It's a WTA 500 event. It's a big event and it's got some big names playing But it also has some big names that have pulled out so let's go to the withdrawals Okay, so we have Grand Slam champions pulling out of this event all over the place We start with Andrescu. She's pulled out with an injury also Bardi She pulled out with injury to Simone Hallop pulled out which was interesting to see that Sophia Kenan's out Sveontek is also out and Vondra Sova is also out of this event So some big names out but some big names are still in this one starting at the top of the draw The top four seeds get a buy in the first round There's gonna be eight seeds in total and the number one seeds fettle in as she gets a buy into the second round She'll play the winner of Zheng versus a Nissemova in the second round They may have Ryberkina versus a qualifier winner of that's gonna play a very interesting first-round match a popcorn match Between Kuznetsova and the number eight seed as a ranker so battle of the Grand Slam champions in the first round I'm excited for that one. Then we have the number three seed Sabalenka getting a buy in the first round She's gonna have to play the Kudamatova or Mugarutha in the second round and very interesting to see Mugarutha unseeded It just shows how strong this event is even without those top top players Then we have Sakari versus Sharif the winner of that's gonna play the Madison Keys or number 16 Benchich Who's on a little bit of form Benchich She made the final last week of Adelaide eventually lost to Sveontek and we haven't seen keys for a long time She got COVID before the Australian Open so she didn't play that so first little comeback here for Madison Keys another great first-round match Keys versus Benchich so even though we don't have the big names like Bardi, Halep, Sveontek on Drescu This tournament's got some big names and some very dangerous unseeded players You've got Ryberkina up the top there very dangerous unseeded player especially in these conditions Mugarutha, Sakari And of course Keys all unseeded and all very dangerous Let's go to the second half of the draw now And we get to see the Australian Open finals number seven seed Brady in the first round But she has a very tough first round She's gonna play Contovit in the first round the winner of that match is gonna play the Kerber or Boyakche in the second round It's a very tough first round there for Brady and the first time we're gonna see her since making that Australian Open final a couple weeks ago Then you have a qualifier versus Pavlechenkova The winner of that's gonna play number four seed Caviteva who gets a buy in the first round Then we have number five seed Bertens versus Osta Penko in the first round very fun first round first time We're gonna see Bertens in 2021 winner of that's gonna play the Wang or the qualifier Don't have Jabour versus a qualifier winner of that's gonna play number two seed Carolina Pliscova and that is a nightmare start for Pliscova She's gonna have to probably play Jabour who's a very dangerous player Especially in this part of the world in these conditions and again huge unseeded players here. We've got Contovit She's a very dangerous unseeded player Kerber Grand Slam champion Jabour very dangerous and also we have the return of Bertens We get to see Brady again Caviteva Pliscova as well very very stacked event. So there you have it There is the draw and I'm very excited to see Brady come back after what she did at this round open Also see how Svetolina maybe even Bertens does because we haven't seen Bertens for a long long time since getting injured last year So we'll see how she looks as well. Then of course Pliscova. I mean Sabalenka. There's so many names Let me know down in the comments below. Who do you think's gonna win this event? So this event has the potential for anybody to win it could be an unseeded player It could be the top seed. It's very hard to pick this event But I'm going on 2021 form and I'm gonna go with Sabalenka She played amazing in similar conditions at the start of the year in Abu Dhabi And I think her game is very suited to this event and I think she's gonna play very well She's actually the defending champion as well. So she won this event last year So I'm gonna stick with Sabalenka to win this one But again, anyone could win this one Let me know down in the comments below who you think's gonna win the guitar open big names are pulled out But some big names are still in


It's very difficult to be a non-attender online, which is sort of ironic, because the students almost immediately invisible by their non-participation, whereas in a large class a student can miss several lectures and just not be missed. Well I think the benefit of online learning is in part the asynchronous nature of it, so the fact that students can go back and revisit maybe material that we've covered and they have an opportunity to hear the second time. One of the main benefits of an online course is that the materials can be revealed by the students anytime, anywhere, and possibly any number of times. I have received feedback from students saying how much they appreciate that they can go through the materials at their own pace, unlike where they have to go along with everybody in the regular classroom. Another important benefit of moving to an online space is the flexibility that it provides, both for the instructors and for the students. The flexibility not only in terms of geography and the location where they can participate in complete activities that are part of their overall course process, but also any pace, so any place, any pace as well that students can proceed at the pace that's appropriate to them, their previous knowledge either more slowly or perhaps more quickly. We know right now that learners learn best environments where they have a measure of control. Where learning is central to them, and in online learning we've been able to design courses with that kind of methodology in mind, that kind of pedagogical approach. So being able to provide that measure of control to students is appealing to them not only in terms of their own motivation towards the course, but also in terms of ensuring and helping them learn better and more meaningfully and more deeply. Specifically for students who have traditionally faced barriers accessing post-secondary studies and curriculum, online courses simply enable access to higher education. But there's a level of access also in terms of accessing the information, which is very important for students who, for example, have learning disabilities, or even for second language speakers. Online courses allow the use of assistive technology or other technological tools to aid understanding comprehension and expression of learning. Nowadays they're looking for the information that they need on a screen, and that could be on their cell phone, their iPad, their computer screen, or even their television. And we realized this 15, 16, 17 years ago, or at least I did, that this was a very powerful method of communicating with students. They're expecting to find things on a screen, so why not put them there? And this is developed into a way of teaching for me and for others, that I put everything that I'm trying to teach on a screen, and it's available in a multitude of formats. So I think that's a great benefit to the students, because this is how they've been brought up almost from birth, that they find information on a screen. The benefits for students are clear as well. They're used to interacting and accessing things online, so they're very comfortable with it, and in many ways they prefer it. They can learn at their own pace. They can review or study using your materials much easier. Well, I also find with this generation, even though they appear to be tech-savvy with their social networking tools, using those in the service of their learning I find somewhat impoverished. So actually helping them see a social networking tool as a means to learn, I think that can be liberating. For some of them it's just damn frustrating because now it's no longer diversionary, it's learning. The student has to take a certain level of responsibility, as a matter of fact a huge level of responsibility in terms of facilitating their own learning. So the idea that students need to meet the learning objectives in a way in which they themselves sort of navigate through the material and set a path for themselves to achieve the learning objectives of the course, that sometimes constitutes a challenge. I think the other big challenge for students is discipline and time management. I've talked a lot to my students about this and they know how if they fall behind it becomes a challenge to catch up. And for some students the out-of-sight, out-of-mind phenomenon takes place. So because they're not going to a classroom regularly they kind of forget about it and then when an assignments do or a test is coming up they try to catch up, but of course they have other classes. Or if not properly done, electronic online information can be inaccessible for students with sensory disabilities for example.


What's going on everybody, Dato Doi here with another Dragon Ball Fighters video, and this time we're going to be talking about the Sparking Blast mechanic in Dragon Ball Fighters. Now the reason we're going to be talking about Sparking Blast today is because as most of you know, there is going to be a balance patch coming soon to the game that isn't only going to be focusing on the characters, they've also stated that they're going to be tweaking some of the system mechanics at work in Dragon Ball Fighters, and while that does really excite me because big changes are always something to look forward to, it does also scare me a little because I love most of the system mechanics at work in Dragon Ball Fighters, and the Sparking mechanic is one of those, so I thought to fill the time between now and the big balance patch coming soon, I'd talk about the system mechanics in Dragon Ball Fighters, and talk about what they're used for, how they interact with gameplay at high levels, and just my general thoughts on them. Now we might be talking about Sparking Blast in this video, but if you want to, feel free to go down in the comments and leave me another system mechanic that you'd like to hear my thoughts on. For now though, like I said, let's focus on the Sparking Blast mechanic. So if it's your first time playing Dragon Ball Fighters and you're going through the tutorial mode, you may get the idea that the Sparking Blast mechanic is something you only use when you're down to your last character and have a lot of blue health that you want to gain back. And while it definitely does serve the role of a comeback mechanic, it also allows for so much more than just blue health regeneration. You can see all of the other aspects Sparking Blast is good for in this really awesome clip. So in this clip, Goichi is playing his friend who's playing Trunks, and as you see, he's in the Sparking Blast mode, and the pressure he's able to put on is ridiculous, and while Trunks does put on decent block pressure normally, he's on a whole another level when he's in Sparking. He's able to jump cancel out of certain things, dash cancel out of other things, and he's able to hold down Vanish in order to perform an attack of his choice rather than just the standard kick everybody can perform. He's able to do all of these things because he's in Sparking Blast mode, so let's talk a little bit about each aspect. So the very first thing you'll see in this clip is him hold down the Vanish button in order to stop Trunks from performing the usual standard Vanish kick. Because of this, he doesn't whiff his kick, and he's actually able to put on block pressure in the first place, so right away Sparking Blast is already helping him out in a major way. Of course, this isn't the only thing that holding the Vanish button can be useful for. It can also be used for more damaging combos than what you would normally be able to get off, and it's just good for crossing up your opponent on wake up. But again, Sparking Blast opens up a lot of possibilities, so there's obviously a lot more you can do with it. The next aspect of Sparking Blast that we see used in this clip is actually the ability to jump cancel out of certain normals that you wouldn't normally be able to jump cancel out of. In this clip, it's actually Trunks' auto combo. As you can see, normally Trunks is supposed to pass through the opponent, but in this clip he's jump canceling out before that, and it's just really confusing to look at. His model turns into these lines only to reveal that he's actually still right in front of you. And if you aren't paying attention, you're going to get opened up very easily. Now obviously jump canceling out of certain things is just a great benefit all around, so I really don't have to go too into detail about this, but I do think it's important to know. The next area where Sparking Blast helps this player out is actually right after the initial jump cancel, and that is a dash cancel after this key blast. Normally Trunks wouldn't be able to do this, but thanks to Sparking Blast he can, allowing him to put on more pressure and continue to threaten to open up his opponent. Now again, this isn't only for block strings, this also helps out in a lot of combos. Being able to dash out of certain things that you normally wouldn't be able to allows for some crazy touch of death combos, which we'll get to later. That's pretty much all of the aspects of Sparking Blast that we see used in this clip here, but Sparking Blast also has its area in helping out with combos themselves. Sparking Blast acts as a hit, so if you get a stray hit, and want to spend all of your resources in order to make sure that your opponent's character dies, then you can activate Sparking Blast and set up some insane combos. Again, activating Sparking Blast makes it easier to confirm, so after doing that it's just a matter of applying the principles we've already talked about in order to make sure you pick up that easy kill. Bardock is the character I have the most experience with, and this combo with him is only possible if you have Sparking Blast activated.  With that said, that's pretty much all I wanted to cover about Sparking Blast. It's a mechanic that I think is really fun, and has its place in Dragon Ball Fighters, and I wouldn't want to see it touch too much. There are a couple of mechanics that I definitely would like to see get touched up a little, so if you want to hear my thoughts on that, make sure to leave a like and a comment below talking about which system mechanics you'd like to hear me cover. While you're down in the comments, if you like this video and enjoy this channel, make sure you subscribe. My name's Datsudoya, and I'll see you in the next video.


The U.S. Air Force, AV-8B Harrier Vertical Landing, at Nellis Air Force Base. An AV-8B Harrier, assigned to Marine Attack Squadron 223 at Marine Corps Air Station Cherry Point, North Carolina, tests the vertical landing capability on an Air Force flight line during Green Flag West 24-04 at Nellis Air Force Base, Nevada, on February 15, 2024. The AV-8B Harrier was used to test the vertical landing capabilities to highlight the aircraft's versatility in supporting tactical joint operations. Green Flag West allows the 549th Combat Training Squadron to provide relevant air-to-surface integration training within the joint and now-allied forces that began in 1981 in a robust, contested, degraded, and operationally limited environment.


An ever-ending array of assimilated facts from the ancient record shining a light on the truth regarding the global perceptions of our kind is one of the great unifying realizations of the century. The spirit in the sky, the being of light, the God whom the observers worshiped across cultural divisions was the same manifestation of events happening at the same time across the earth. The similarities are mind-blowing, the squatter man is represented everywhere and it proves that earthlings were affected by an event that would trigger widespread documentation in the form of petroglyphs, an event that was understood to the observer yet the progressive understanding did not hold as we re-emerged into a world crushed by destruction and in the process of remembering the global event of the squatter field we instead forgot across the course of time and within the fear of the trauma our kind became heavily influenced by fear. Wait till you hear this. The voodoo religion is yet another example of how the thoughts manifested through the course of time. The observer of the squatter field would pass down the verbal remembrance and this assimilates not only in voodoo but in all world belief stories wherein overwhelming vision is mentioned. This means that a connection can take place between the tribes of Africa and the aboriginals of Australia. From the early civilizations of the Americas to the wilderness of Siberia and even as far north as Norway or even Hawaii for that matter and these far flung locations at the further ends of our planet we see a documentation in the petroglyph record and in rock art that tells the tale of the greatest story ever told. The story of belief and how it began when earthlings saw something in the sky. The core belief of voodoo is that one god does not interfere in daily lives but that spirits do. Living with these spirits can be obtained through various rituals such as dance, music, chanting and snakes. Voodoo literally means spirit and its fundamental principle is that everything is spirit. Humans are spirits who inhabit the visible world and the unseen world is populated by the spirits of ancestors and the recently deceased. All these spirits are believed to live in a mythic land called Genen, a cosmic Africa. The God of the Christian Bible is understood to be the creator of both the universe and the spirits. The spirits were made by God to help him govern humanity and the natural world and this explanation is a literal representation of the God whom once shown bright, a manifestation going through very discreet phases. The spirits are the aurora radiating in the sky and the God is the squatter field manifestation. The primary goal and activity of voodoo is to serve the spirits to offer prayers and perform various devotional rites directed at God and particular spirits in return for health, protection and favor. In 1685 France banned any practicing of African religion in its colonies. People kidnapped as slaves had to be converted within 8 days of their arrival with constant baptism taking place in an effort to destroy voodoo but the religion did not die. Instead it simply merged with Catholicism. Voodoo is the encompassing of three African tribe religions brought together in the 1700s in New Orleans who agreed that God of the Bible was the same God of the tribe religion of voodoo. This cannot be overlooked. Where religions can agree cross culture means the same worship is taking place and in our indifference we find astounding connections that shows us that there were more unified with our thought progression than we could have ever envisioned. For the people who came to fear voodoo, well that must have been a deep fear within the trauma of the human condition. Somewhere lurking deep in the mind can trigger a fear in even the most logical of minds. This is because of the squatter man event. We can see how this affects our kind no matter where they are present on the earth. The voodoo doll is an interesting concept. It puts the power of the spirits into the hands of the creator. It gives power of thought over outsiders. It's also an urban legend instigated when the tribes were forced into labor. Thought to have been confused by African folk magic called voodoo. Anywho we just wanted to bring the voodoo connection to your attention in the squatter man investigation but what do you guys think about this anyway? Comments below and as always thank you for watching.


All right, so the next topic we're going to talk about is lasers. So these days lasers are pretty common. You've probably used or seen a laser relatively recently or you've used a laser certainly maybe in a form of an actual laser pointer where you can pick up a laser and point it at things but you've probably likely used lasers in other formats as well like in a CD player perhaps although CDs aren't the most common way to listen to music these days anymore. Lots of consumer electronics use lasers. So the question though for us is what is a laser exactly? Clearly it's a light source. It's a way of generating light of a particular type but how is that different from any other light source like a light bulb, like a flashlight, incandescent bulbs versus fluorescent bulbs versus LED bulbs? Are those lasers or not and how do lasers differ from them? So the characteristics we need to consider of a laser and certainly these will not be, at least two out of these three will not be surprising to you if you've played with a laser pointer before. The first characteristic of a laser is that it's going to be a monochromatic light source. Monochromatic just meaning single color. The light that comes out of a laser is of a single frequency or single wavelength or at least very tightly bunched around a single wavelength. So I'll draw some illustrations to show you what I mean. So here's a laser, cylindrical laser like a laser pointer. The light that comes out of that laser. So there's a beam of light, electromagnetic radiation coming out of that laser. All the photons that come out of that laser are the same wavelength if it's a red laser, in this case this pink laser. All the photons, there's a bunch of photons coming out at the same time but they're all the same frequency as each other. That's completely different than a light source like a light bulb. So here's a sketch of a light bulb. Certainly photons of that frequency might come out of the light bulb as well. But in addition to those red photons, you're also going to, if it's a white light bulb, you're going to get blue photons with a shorter wavelength, higher frequency. You're going to get photons of all sorts of different colors coming out of that light bulb. So it's not a monochromatic light source, it's a polychromatic light source that gives off lots of different colors or wavelengths of light. So lasers are going to be monochromatic. Another feature that they share is that the beam of photons that emerges from a laser is collimated. What that word means is the photons are all pointing in the same direction. The dispersion of this beam doesn't spread out very much, it stays tightly collimated. We don't use the word focus because you can take a beam that's quite dispersed and then focus it and beyond the focus point it won't remain focused. This beam remains tightly bunched over a long distance. So I've also drawn this picture of the light bulb so that this is certainly not a collimated beam. The photons come out from a light bulb and scatter in all directions. They don't all go in the same direction as each other. So this picture of the photons coming out of the laser pointer, those are all pointing in the same direction. If I go a long distance they might begin to diverge a little bit very far from the light source. But again, as you know, if you've ever played with a laser pointer you can point it something a long distance away, a quarter mile, a half mile away and you can still see a tight laser beam spot from that laser if it's a decent laser. The last of these features that laser light shares is in addition to being monochromatic and collimated, the light from a laser is coherent. So that one's less familiar, it's not visible to your naked eye when you look at a laser beam unless you do something like pass it through a diffraction grating. But the beams of light from this laser are coherent, the photons are coherent, and again I've included that in the drawing here by drawing these photons so that their peaks are all in the same place as each other, their troughs are all in the same places as each other. So this is a coherent beam, another way of saying the beam is coherent would be to say that the photons are in phase with one another, again peaks and troughs appearing in the same place, a light bulb, an incoherent or non-coherent source of light, if I could draw two photons coincidentally of the same wavelength coincidentally heading in the same direction, if I draw them like this so that the peaks and troughs are in different places or like this, those are all photons that are not coherent with one another, their peaks and troughs occur in different places. So we only call them coherent if they are in phase, if they line up with one another, the peaks and troughs are in the same places. So those are the three characteristics of a laser, monochromatic, collimated and coherent. The next question becomes how do they get that way? What is special about the construction of a laser that produces this monochromatic and collimated and coherent beam of light that a light bulb does not? So we'll take those features of the laser one at a time. Let's start in fact with coherence, actually no, let's start with monochromatic. That's probably the easiest one to explain. So why do we get these features? As we know from studying lots of quantum mechanical systems, there are a lot of materials with quantized energy levels. So in particular, the stuff that's inside this laser that we'll talk more about soon that is giving off the light, that involves energy levels that are quantized, meaning there's some lower, so these are energy levels, there's a ground state and there's an excited state of this material, whatever the material is. And whenever there's a molecule up in the excited state of the system, when it falls down to the ground state, it reduces its energy by some amount delta E. The energy of the photon that gets generated is exactly that energy difference between these two states. So the photon that gets generated, every time a molecule falls from the upper state to the lower state or the material changes from the upper state to the lower state, gives off a photon of exactly the same wavelength. So energy levels remain the same, so the fact that those energy levels are quantized, I can only have this energy and this energy and nothing in between, means that that transition always has the same energy, always gives off a photon of the same wavelength. So that's relatively easy way to make a monochromatic light source is to have only one type of transition generating light. So those quantized energy levels give rise to, let's do that down here, give rise to the monochromaticity of the beam, the single color of the light source. Now let's tackle the coherence. So I've got a collection of molecules or a material with this gap in the energy levels, it can give off, if I have excited state molecules, it can give off lots of photons of exactly the same wavelength as one another. Where I get the coherent beam of light is from a process called stimulated emission. So what stimulated emission is, it's exactly what the words say once you know how to parse them, we know about absorption of light. If I have a molecule in the ground state of this molecule, if a photon comes along of exactly the right wavelength to excite this transition, then this molecule can absorb the light and go up into the upper state. The inverse of that process can happen if the molecule is already in the upper state. If a molecule, if a photon comes along with exactly the right wavelength, again this molecule is intended to be the same as this molecule, so this difference in energy matches, this difference in energy matches Hc over the wavelength of this particular photon that got emitted. When this exact photon with that particular wavelength encounters another molecule in the excited state, if it encounters a molecule in the ground state, the molecule could be absorbed. If it encounters a molecule in the excited state, what can happen is it doesn't get absorbed, that photon will continue moving and pass through that molecule, but it can stimulate the emission of an additional photon. As it passes that molecule, this molecule will fall down to the ground state, emitting a photon of exactly the same wavelength of light, but what happens is that photon gets emitted coherently with the same phase as the photon that stimulated the emission. When we have stimulated emission, some excited state molecules giving off photons that will stimulate emission of more photons of exactly the same frequency, and those photons will be coherent with one another, they'll have the same phase. So that's the method that we use to generate coherent light in a laser. Last thing to consider is this idea of collimation. How do we generate a tight beam of photons that doesn't disperse, doesn't spread out as it goes along, and that could be as simple as just using a cylindrical material. So if I have some material inside this long cylinder that is going to generate coherent monochromatic light, let's say I make that cylinder solid except I only allow light to emerge from a tiny little pinhole exit over here. So if I have a molecule in the center, if it gives off a photon, maybe it gives off a photon, and it shines in this direction, that'll just hit the wall, be absorbed by the wall, and we'll never see that photon. It's only a few of those photons that happen to me heading exactly toward the exit. If they're inside the cylinder heading toward the exit, they're going to tend to be moving in this direction when they leave. They won't be moving in exactly that direction because maybe the molecule is down toward the bottom of the cylinder or up toward the top of the cylinder, so it might be pointed a little downwards or a little bit upwards when it leaves the cylinder. But we'll get a relatively tight beam of light. That's essentially how flashlights work. You can focus the beam from a flashlight a little bit by just shaping the cavity in which the light bulb sits. We can do much better than that. In fact, if we not only have a long, skinny cylinder, let's say we put a mirror on the back end of this cylinder. So now photons, if they're emitted exactly backwards, they'll reflect off this mirror and then proceed out the front side. So essentially, I've doubled the length of my cylinder by putting a mirror on the back side. That's one way to get a little extra collimation. We can do much better than that even if I also put a mirror on the front side. So this mirror is not 100% reflective. So the mirror on the back side, I'll make 100% reflective. All the photons that hit this mirror reflect and bounce toward the front. The mirror on the front side, I won't make perfect. I'll make that only a 90 or 95% or 99% reflective mirror. So 95% of the time when a photon hits this mirror, it'll reflect and go back to the back side. Now if I'm off by just a couple of degrees, it'll reflect off the front, reflect off the back. After a couple of reflections, it'll hit a wall and be absorbed unless the photon is directed exactly parallel to the axis of the cylinder. Then it can bounce back and forth all day as many times as it wants. And then one time out of 20, when it hits the front mirror, it'll escape because the mirror is only 95% reflective and it'll pass straight through. So that is essentially not just double the length of my cylinder, but it's actually now multiplied by another factor of 20 because on average a photon will make 20 round trips back and forth through the cylinder before it escapes out the front. So it's only a small number of the photons that happen to be directed exactly or very close to parallel to the axis of the cylinder that will escape. And those are the ones that escape tightly collimated with one another when they escape the mirror at the front. So this particular construction of this cavity in which the material resides, this is called the optical cavity.  And in particular, if the length of this cavity, if we make that length of the mirror equal to some integer number of wavelengths of the light, actually a half integer number of wavelengths of the light is fine, if we do that, then that will also ensure that the light that comes out of the cavity is also coherent. So by constructing an optical resonator with the characteristics that we're interested in, we can get not only a tightly collimated beam, but also a coherent beam. So the optical cavity helps with both of those features of the laser. So that's a pretty top-level summary.  They bounce back and forth, and then sometimes they can escape as a monochromatic, collimated, and coherent beam of light. The next step will be to understand a little more detail about what this material is inside the laser and how we can use it to generate photons by falling from the upper state down to the lower state.