Hey everybody, welcome back to Magic Orthodoxy. My name is David and this is a Magic Review. Hey, today we're going to look at Thought Wave Extreme from Gary Jones and Mark Bendell. This was released from Alec Kazan Magic. What is it? It's basically a double prediction effect using a deck of cards. You're able to make two predictions and both times you are absolutely right and the spectator has a completely free choice. You want to see what it looks like? This is it. We're going to try a little psychological experiment here. Now it's very important that you know this was written before you made any decisions. I want you to have a look through and just get any one of the symbols in your mind. I'm going to draw something else here. I want you just to keep this in your hand because this is something that's going to come into play in a moment. The symbol you're thinking of, just draw it on this little post. It doesn't matter if I see it.  I'm going to try and transmit a name of a playing card to you. Is the card I'm transmitting to you red or black? Black. Is it a club or a spade? Club. And is it a pitch card or a number card? Number. Okay, what number? You're doing brilliantly so far. What number? Two. The two of clubs? Write the two of clubs on it. This is going to freak you out. While you were looking at this, I was thinking of the Ying and Yang. Now there is a way I can prove it because every time I do this people say you could just be saying that but there is a way I can prove it. This is a little deck of cards I created. Now basically all the cards are different. You can see that as we go through. Now you named the cards, you named the two of cards and that was a totally free choice. It could have been any card out of the pack, yeah? Yeah. But it was the two of clubs hopefully. There we go. Two of clubs. And you also named the Ying and Yang. But remember nothing was done before I wrote my predictions or not even predictions, the items I was going to transmit to you. So we'll go through here. We'll find the Ying and Yang. There it is. Ying and Yang. Perfect. So here we go. The moment of truth. Right. I wrote something down on here before you chose the Ying and Yang but I transmitted that to you. Right. I wrote the five of clubs. I know what card is on the other side of the Ying and Yang. That's why I transmitted it to you. Turn over that card. Show the camera. Five of clubs. That's brilliant. Now I wrote something or drew something inside that posted note. Open it up and have a look. Now I know what card is on the other side of the percentage sign. That's why I transmitted it to you. You said the two of clubs. That's what you picked up from me. Yeah. Turn over the two of clubs. Very good. And that my friends is for Wave Extreme. All right. So that was Peter Nardi and David Loosley. Gary Jones, the creator of the fact you might remember he did Unknown. He did Thoughtwave. This was put out by the good people down at Alakazam Magic. All right. So a couple questions we always ask about all of our magic reviews. The first of which is what is in the box? What's in the box? You get a real box. You get a real box. You get a DVD. The DVD is about 26 minutes long and you're going to get a really cool gimmick deck of Phoenix playing cards. Is it what I thought? You know going into this I really didn't know what to think and I've never seen a deck like this. Although I've heard it's a popular thing.  I have never seen it and so I was pleasantly surprised. It's very well made but it wasn't what I expected at all. How are the angles on this? The angles on this are zero. There's zero angles. There's nothing to hide. There's no slights to do. The deck is gimmicked of course. So to say can it be inspected? Can it be inspected? No it cannot because the deck is gimmicked. If you hand the deck out your spectator will find out right away how to do this. What's the overall quality and production value of the DVD? Like I said it's Peter Nardi and David Loosley. They're the ones that are teaching you the effect. They're pretty much sitting at a table in like a red carpeted castle like den with a fireplace and a bookshelves and it's pretty much just a straight shot the entire time of the two of them talking back and forth for the entire 26 minutes. I don't remember so much if there's close-ups but you really don't need close-ups. This isn't a close-up over the shoulder kind of effect. Like I said there's no slights to this so it's really soft working. It's very easy to explain. In fact once you watch the DVD through one time you're going to be able to know how to do this trick. Is it well made? The deck you're getting is the Phoenix brand. If you've ever seen the back of a Phoenix brand playing cards that's they look like. Sometimes Phoenix are printed from United States playing card company not this time around. This time they are being printed in Germany okay and so that's kind of important because I don't know that USPCC could have made a deck like this. This printer was able to make this deck and it is very very very well made. Alright so how much practice does it require? Almost none. I would say this is almost a zero practice trick. I mean as hard to believe as that is. You know I kind of did it once to myself just to kind of get the ins and outs but I got it right the first time. I mean literally like I said you watch this if you have any kind of magic training at all you're going to be able to get this instantaneously. I mean there's like one thing you need to remember maybe two but like I said no slights. It's totally soft working. This is a great great great trick. How much setup and reset is there? There's a little bit of setup that you have to do initially when you get the deck. You're going to have to write in a Sharpie marker on the back of the cards as per the trick. I mean it's pretty obvious in the trailer that there's writing on the back. Well that's you have to do that. So take your time. Find a good marker. Take your time. Take your time. But it's just that one time setup and you're good to go. Alright so what are the positives? What are the positives? The thought wave extreme. Like I said quality made gimmick. Barely any practice needed. High impact. This is great mentalism. Two predictions and your spectator has a free choice. Free choice. So if you're looking to get into mentalism you do card tricks already and you kind of add a little bit of mentalism in there. I think thought wave extreme is right in your alley. Alright negatives. What are the negatives to thought wave extreme? Like we say there's negatives to everything. These are just the negatives I see.  Like we said you can't examine the deck okay. You have to build it yourself. But really there's no negatives to this at all. It's a great great trick. Can't recommend it any higher. Is it worth your money? 36 bucks. 36 bucks you're getting a 26 minute DVD and a really well made deck of cards that's probably going to last you forever and this highly visual high impact. Wow this looks like a magic trick. Totally worth your money. If you do card tricks at all or mentalism or mentalism and card tricks I think you should watch the trailer a hundred times and then push purchase. Who would like this? Can't say it enough. People that do card tricks. People that do mentalism. People that do both. People that are looking to get into mentalism but they want something easy. People that like easy to do card tricks I think would love Thoughtwave Extreme. All right that was Thoughtwave Extreme from Gary Jones and Mark Bendell and the good people down at Alakazam Magic. And I'd like to thank the people down at Murphy's Magic for providing this for us so that we could review it for you. And if you'd like to purchase your own you can find it wherever quality Murphy's Magic products are sold. Thanks. Bye.


Welcome to CUBE Conversations. I'm Stu Miniman and joining me from Wikibon World Headquarters in Marlboro, Massachusetts, is Wikibon co-founder Dave Vellante. Wikibon has been looking at the hyperscale players talking about the likes of Amazon, Google, Microsoft, Yahoo, who have been driving new technologies, started some of the big waves, like big data, adopted technologies like Flash before anyone else did and how they are impacting the way IT happens. This segment of CUBE Conversations we're going to be looking at, technologies that allow the cloud economics to be merged with enterprise functionality and joining us for this segment is SimpliVity CEO, Doran Kempel. Doran, thank you for joining us. Thank you, thank you for having me. So SimpliVity is your company, your newest venture, raising a lot of money, signing up a lot of customers, a lot of action going on. We've had you in the CUBE several times, so we want to get the update, but for those of you who don't know, SimpliVity brought us the HyperCube in what, 2012? Is that right? I'm sorry, the OmniCube in 2012, right? Which is a so-called hyper-converged infrastructure. The product went GA in April 7th, 2013. So I know it's confusing because we've become so large so quickly. Well you came out of Stealth in 2012, I should say, okay, then you shipped the next year. So give us the update, what's new with SimpliVity? So the company is growing very fast. Our customer base is growing very fast. Partners, we have over 250 partners. We've shipped hundreds of systems, we have hundreds of customers. If you look at the company, we had 100 employees in August last year, 200 in February, 300 already in August. So the company is growing very fast. We're very happy. And we feel that we're delivering on the promise of cloud economics, basically running at very low cost on x86 resources with enterprise capabilities.  Okay, so we saw converged infrastructure come out right around the timeframe that you guys were starting the company. You obviously wanted to do something different. So talk about where we are in converged infrastructure. You know, so the early days were a little bit of this, a little bit of that, sort of bolted together. How has it evolved and what role do you guys play there? That's a great question. So when we think about hyperconvergence and the evolution of hyperconvergence, basically I see three phases. Phase number one, manifested by VCE, they've done a remarkable job, basically simplifying IT by taking a stack of infrastructure capabilities, integrating them into a container under one common management and delivering that to end users and basically the promise is faster deployment, easier manageability. This is phase number one and we think about it as integrated systems. Very valuable. Phase number two are companies that have taken just storage, primary storage, and assimilated that together with a server. So now out of the infrastructure stack that includes about 12 different products, what they take is the torso, the server, server virtualization, storage switch and storage. So they take the top of the stack out of 12 products, they take about four products and they do an excellent job assimilating that. We think about that as convergence 2.0 and it's a great step forward. This basically brings cloud or web economics into the enterprise. However, what convergence 2.0 does not include and that is the concern that CIOs have with regard to that particular phase of the evolution is you don't get the other enterprise capabilities and they fall into four categories. Category number one is protection. When I speak with CIOs, they say, yes, I want the x86 economics, but what about all the protection that today I get with three or four other products? Second is data efficiency. We have today in the enterprise anywhere from three to six different data deduplication compression optimization products for different phases of the data life cycle, for backup, for when, for the cloud, for SSD, sometimes for read cache. So that is the second capability. The third capability is performance. When I joined EMC 1998, 1998, we were shipping 18 gigabyte drives. Today customers ship six terabyte drives. So the density of the disk drives increased 300 fold. What about the RPM? Only 1.5x. So we have a huge discrepancy between the capacity of the HDD and the RPM. So how do customers and vendors react to that? They deploy a lot of SSD and deduplication of SSD. However, other than deploying SSD in order to address performance, what you need to do, which is something that we do, is we deduplicate and compress the data before it ever hits the disk, so we reduce the number of IOPS. So going back to enterprise capabilities, as I said, number one is protection. Number two is efficiency. Number three is performance. And number four, critically important in the enterprise is what we call global unified management. So back to your question about the phases of the evolution of convergence. Phase number one is what we call integrated systems. VCE is a great example there. Phase number two is only the torso of the infrastructure stack. Absent protection, performance, efficiency, and global unified management. And this is convergence 2.0. And what we see now, delivered by SimpliVity, is what we call convergence 3.0, and that's hyperconvergence, whereby on one hand, you get cloud, web economics, you run on x86, but on the other hand, you get all the enterprise capabilities. In fact, just to summarize that, 65% of our customers, 65%, run all of their IT applications across more than two sites exclusively on OmniCube. In other words, what we offer is not converge infrastructure for, say, VDI, or for some security application, or for a specific application, our customers run everything on OmniCube in their remote sites, as well as their main data centers. I'd say that over 60% of the applications that run on OmniCube today are databases. The rest are exchange servers, share points. We have banks running their ATM applications on OmniCube. We have cities that run their 911 applications on OmniCube. So basically, this is an infrastructure, core infrastructure play, convergence 3.0. A lot of diversity. I mean, Stu, we talk a lot about cloud economics and Amazon, of course, is growing like crazy. A lot of test and dev action going on, but you certainly see the demand within the enterprise for this type of diversity of workloads. Sure, and one thing I want to probe on here, when I look at how converge infrastructure has rolled out, one of the biggest challenges has been just IT, figuring out how to consume this. You talked about the earlier solutions, things like VDI and other project-based solutions. One of the main reasons that really happened from the practitioners we talked to is just their refresh cycles, their purchasing and their management were all siloed. Sometimes we call them cylinders of excellence, but it was getting the customer to change that profile is hard to do. And that's why it was easy to take something like VDI because VDI is a completely different environment from I go from a desktop to a centrally managed solution. So VDI was a great application to start with and then spider out into other applications. How have you made that jump? Or how are you seeing CIOs change that mindset? Are they changing their organization? How do they break from away from the old way and move to something that they can embrace like yours? Thank you for that question. Well, let me start by clarifying. We're not a VDI product. We're an IT infrastructure product. Yes, you can run your VDI on OmniCube systems and most of our customers do, but they run all of their infrastructure and inclusive within that is also VDI. So Stu, to your question, we did not start with VDI. We started with customers like banks, manufacturing companies, and they ran everything on those systems, including VDI. In fact, it's very important for us that people don't think that this is just VDI capability. We're not a VDI company. Having said that to your question, the way that we enter accounts is, and this is what we direct our marketing and field organization to do, is look for cases where customers are looking for storage refresh or backup refresh. And why is that? Because the budget that they have assigned just in order to renew their storage or backup is sufficient in order for us to tip the boat and basically replace the whole infrastructure with OmniCube. And this has been probably the most prevalent, I'm gonna call it, point of introduction. So we come in, we tell the customers that this is what we do. The first response that they have is, this is impossible. What you've just told us sounds great, but how can this be possible? And then we have them speak with other customers or do a POC, and on average within three months, referring to the 65% of the customers who are running totally on OmniCube across two or more sites. Within three months on average, they're running everything on OmniCube. Let's unpack that a little bit because I can see a skeptic saying, wait a minute, let me just make sure I get this right. You're saying for the cost of a refresh, you can bring in your hyperconverged stack, your modern stack, and essentially sweep the floor of the infrastructure and run everything on OmniCube. And you've got real examples of that. Can you share any with us? Absolutely. So basically, and this is remarkable, the TCO benefits to the customer is three X, which means that if you were to compare the OmniCube-based infrastructure that those customers deploy against what they would have to buy all those 12 products in order to get the same enterprise capabilities, the difference is three X in OPEX and CAPEX, which means that if you just look at an element of your infrastructure, your storage infrastructure or your data protection infrastructure, just at that budget, we can replace everything with OmniCube systems. And if you're in the commercial space, which is according to our definitions, the company is generating $250 million per year all the way to 2 billion. If you look at that commercial space, by the way, that is about 50% of IT consumption globally.  This is not, they're quite fit, but yes. Yeah, yeah, yeah. But this is a very large market. But it's a big market, yeah. In those particular cases, they can run all of their IT on anywhere from four to eight OmniCube systems, typically across two or three sites. And those customers get capabilities that they could not afford before that. Again, best of both worlds. On one hand, cloud economics, because you're running on x86. On the other hand, you get all the capabilities that only Fortune 500 companies can afford today. Dorn, you just gave me a sort of another thought here. Can I optimize, my question is, how, when you put it in OmniCube, how does it compare to a traditional environment where I might have bespoke infrastructure, specifically in terms of the number of cores that I need? If you're so efficient, I should be able to reduce the number of cores. Why is that important? Because companies like Oracle license based on the number of cores, and maybe half, maybe 60% of my license, or my TCO, is license and maintenance cost from, let's say, an Oracle shop. Can you help me reduce my cores? In other words, if I spent more on the infrastructure, and maybe didn't take it all on TCO savings, can I reduce the number of cores? So the answer is absolutely. But let's expand the question. When we talk about the cores, where are the cores? The cores are in your server. The cores are in your switch. The cores are in your primary storage array. The cores are in your SSD array. The cores are in your data deduplication for backup, in your WAN optimization, your cloud gateway, and so forth. Cores are across each and every one of the 12 different products. Do we reduce the cores? Of course we reduce the cores. So we reduce a lot of that gear because you become much more efficient. Now let's go to the top, to the cores that run on your servers that I think you probably were focusing on. Those are the ones that they're going to license me on. One of the things that we do uniquely, so it took us three and a half years to develop the core technology that was released in April last year, which was release 1.0. Three and a half years. That's about 2X more than your standard IT infrastructure company. And one of the things that we've done is in solving the data problem, we've developed an accelerator card. This is basically a PCIe card with an FPGA with NV RAM that allows us to reduce latency significantly in comparison to normal storage products. You probably know that we won gold at VMworld for best storage and backup technology for virtualized environments. Again, you get no compromise with this technology. You get better capabilities than the standard stack. But this card is an offload engine that allows us to deduplicate, compress, and optimize the data in real time before it ever hits the disk. And it reduces latency and it increases performance because you write less data. There's less IOPS. IOPS is one of the most expensive resources in the enterprise. So if you now use this card, what does it save you? It saves you all the Intel processors. I hope Intel doesn't get upset. We love Intel, of course. But it saves you all the Intel processors that you otherwise would need to load into infrastructure in order to do all that work because eventually you're gonna dedupe the backup, you're gonna dedupe the when, you're gonna dedupe the traffic to the cloud, you're gonna dedupe the data that goes into SSD, et cetera. So we reduce everything, but one of the major savings has to do with the simplification for the user. What we see is one person managing a global infrastructure from a single pane of glass, P-A-N-E, which reduces a lot of P-A-I-N. So one person now manages global infrastructure and the rest of the team members can do other things. I want to turn the question back to sort of economics and the practicalities of the cloud. So a lot of the CIOs in the Wikibon community tell us they're under extreme pressure from the corner office to move to the cloud. Amazon's growing like crazy. Some people estimate they'll do $5 billion this year, even though last quarter some of their business may be attenuated a little bit. But nonetheless, a lot of pressure to move to the cloud, just outsourced the whole lot, right? So CIOs obviously don't want to do that. So a couple of questions. Can you point to maybe some examples where people have said, okay, I can replicate cloud economics, certainly, maybe even agility and simplicity and I can provide sets of services internally on-premise to my organization that will sort of call off the corner office dogs. Maybe you could talk about that a little bit. That's a great question. So what we've seen, there are actually two elements. One is the CIOs that I speak with in small, medium and large companies globally. What I hear from them is that they're under a lot of pressure sometimes from their management. CFO, CEO, why can't we run the way that presumably the Googles, the Amazons, the Facebooks run, just on x86? And the answer of those CIOs to their management is we don't run our operations the way that the web or cloud companies run their operations. You can't just bring me storage that runs on servers and that would be I need all the rest of the capabilities, performance, protection, efficiency, manageability. Without that, I can get my job done. What SimpliVity does is two things that are very important in that context. One is we've released an ability for you, Mr. Customer or Ms. Customer, to run your infrastructure locally on Omicube Systems that's giving you cloud economics in-house. And we allow you to now push data to Amazon. The first release is EC2. So basically you can back up and restore data to Amazon. So basically you can move data very efficiently back and forth from the cloud. The cloud becomes another virtual environment for you. You don't need to buy any third-party product. This is another capability that is managed by the same person in the prior example. One person manages the global environment, that's one. Two, and this is very interesting, we have customers coming back to us and telling us, you know, with the Omicube infrastructure, a lot of the workloads that I thought that I may send to the clouds, I'm actually gonna keep in-house because there is a cost to me of moving data and workload to the cloud. You simply are making the cut-off point a little higher. In other words, less workload is going to the cloud. It stays on-house because you're helping us with the economics and very importantly, I don't need to make any compromise. I get the economics and I get the capabilities. So maybe I'll move my long-term retention into the cloud, maybe as maybe glacier or something like that. Yes, archive, long-term retention. Sometimes you have maintenance cycles, so you wanna move some data to the cloud, bring it back, et cetera. Okay, I wonder if we can just talk about what's going on in the marketplace. You guys have raised, I think north of 100 million now, right? Is that right? I wonder if we could get your thoughts on... By the way, a lot of people boast how much money they raise. I also wanna run a very efficient company. So this is not a race in terms of who's raising more money from investors. You need to be efficient, you need to deliver capabilities to the market and you need to take care of your team members. Well, I know that, and I'm sure your VCs love that message, but I know we've had David Scott on the queue before and he has told us that he had to raise so much money for three-par back then. I think it was maybe 80 million. Now, companies today are raising much, much more. And I think actually, SimpliVity, 100 million give or take is not an enormous amount these days. When you compare it to, for instance, what Cloudera did recently with, I don't know if you saw that deal with Intel investing 700 million there, a software company. Software's supposed to be capital efficient. So my question is, and you've sort of partially answered it, is it enough to compete in today's environment against the whales? How do you compete against those guys? I say you touched upon a little bit, but I wonder if you could add some color to that. So that's a great question. So I think that the amount of capital that we raise is the amount of capital that allows us to run at the execution curve. So think about, there's the opportunity curve, which is basically a realization of how many customers are willing to buy, deploy, run on your products in a given year. So we are very lucky to operate in the market that has tremendous appetite for this technology. So the opportunity curve is very steep. Then the next question is, what's the execution curve? How many people can you hire in a given year, say salespeople, support people, engineers, and deliver to the customers the type of experience that they deserve? And then the question is, what's the financial curve that you need in order to support the execution curve? Now, there's a limit to how much we can grow without impacting quality, the quality of experience that the customers get. And what I would say right now is that we have as much capital as we need in order to execute with excellence. Now, very importantly to your question, how can you compete? So we don't have thousands of salespeople. However, we are 100% committed to the channel, which by the way means that you're not gonna see us striking deals with vendors that the channels don't like. This is very dangerous. So we are very carefully building an ecosystem of partners. We already have more than 250 partners. I'm referring to value-added resellers, system integrators. And those are the best that we can find that are very much aligned with our strategy. And with through those partners, when we address any customer in the world, she or he should know that they're getting excellent support, excellent quality, et cetera. Can we do it today at the scale of some of the very large companies? No, we cannot. But on a per customer basis, what you're gonna get is a better experience because you're getting better technology. You're getting 24 by seven by 365 support. You get great fixed services within four hours globally. So on a per market or per customer basis, we can compete. And we've been very successful competing. So Dorn, you're not trying to be Uber or Airbnb. You're saying that the quality and the customer experience and the channel partner relationships trump scale for the sake of scale. I would say that scale is very important. So we want to scale as quickly as possible. But if you're a customer and you're asking yourself, should I work with SimpliVity or should I work with a public company that is doing $100 billion in revenue?  In other words, I know of all customers and if there's ever an issue, any type of issue, I know about that. So we can't deliver to 100,000 customers tomorrow, but if you're among the hundreds of customers that we already have, you're gonna get excellent care. I was wondering, speaking to the channel, if you can talk about what you're seeing in the channel, how their education level is today and how you're working with them specifically. When I look at Converged Infrastructure, when it rolled out, it was often the customers that were moving from, say, a networking or a storage practice into a whole data center practice that were really successful with the Flex Pods and Vblocks of the world. And today, when I talk to the channel, there's not a lot of them that are really sophisticated when it comes to cloud. So since you interact with AWS as a backup and you're bringing a whole stack together, what do you look for in a channel partner and how are you helping to educate them for this new world? So that's a great question. We're looking for partners who are enabled, focused, and loyal. And this is what we wanna give back to them. The good news is that technology is so simple that we have partners who've come from the security industry. We have a great partner in Germany. I'm gonna name them, they're named Indevis. They've never sold IT infrastructure. They have about a thousand security customers in the German speaking part of Europe. And then they deployed OmniCube systems for their own infrastructure and they got hooked. They said, this is simple. We can sell this to our customers. And they did about 10 deals just in the three quarters that we've been selling in 2013. So this is very interesting because this VAR has become an expert on all these technologies because you don't need five or 10 or 12 different experts. One expert understands VMware, understands the needs of the customers, can sell these systems. So we have partners that are mid-sized and we have some billion dollar partners, very large system integrators, very large global partners who do today for six billion dollars in sales. And very important, these are infrastructure partners. They don't sell just VDI or application, ABC. They basically deploy infrastructure across very large segments of the market. Doran, how should we be thinking about the competitive landscape? I wonder if you could sort of categorize it for us and specifically, how does SimpliVity differentiate? So basically, let me go back to things that I've said earlier. The way that we think about the landscape is in terms of convergence 1.0, 2.0, 3.0. 1.0 is basically an integrated system. You take a lot of legacy products, you put them in one container with common management, you simplify management, you don't really reduce the TCO because you're running the same products. However, you get enterprise capabilities. This is 1.0. It's very easy for customers to identify these players that we have a lot of respect for. Convergence 2.0 becomes more efficient only in the layer of the server and storage. They're very similar to what you see on the cloud. And this is very efficient for your VDI environment for maybe tier two, tier three applications where you don't need the capabilities of convergence 3.0. And what are those enterprise capabilities that you really need in order to run your enterprise? Protection, efficiency, performance, global unified management. This is 3.0. And our recommendation to customers, as well as analysts, as well as partners is evaluate all the converged products against those metrics. Ask to yourself, are they delivering cloud economics? In other words, they run on x86 with the enterprise capabilities. When you evaluate convergence 1.0, the VCEs of the world against those metrics, you'll say, I get enterprise capabilities. I don't really get the economics that I want. If you look at 2.0, you're getting very efficient storage and servers. It's going to be enough for some of your applications, but it does not offer the enterprise capabilities. The best of both worlds, 3.0, or whatever you want to call it. I'm just trying to frame the market is IT that runs on x86. You get the cloud economics, but you get all the capabilities. But how to deliver that from a technological standpoint is a different story. But this is how we suggest that the players be evaluated. Okay, now are you asserting that you stand alone in 3.0? Are you seeing others move into that market? Do you think the 1.0s can get to the 3.0? I wonder if you could address that a little bit. Okay, so I'd rather talk about SimpliVity because I'm not an expert on other people's technologies, but I'll say the following. First of all, getting to 3.0 is possible. And I think that this is going to be the IT infrastructure prototype of the world. Excuse me, the blueprint of the future. In other words, I think that you can combine the best of both worlds. Three, four, five years from now, when we look back, we'll see that a significant percentage of the enterprise runs on x86 without compromising capabilities. So I'm confident that this is possible. I'm confident because this is what we've delivered and 65% of our customers run all of their IT across two or more sites on these OmniCubes. With regard to other players, I'm sure that it's possible because if we've done it, other people will do it. However, as you know, I was also CEO and founder of a company named Diligent Technologies, which IBM bought in 2008. I think we have a much greater opportunity here and SimpliVity has much greater aspirations than to be acquired tomorrow. And you probably heard about the rumors that HP is acquiring SimpliVity for $2 billion. That is not true. We're not in dialogue or nor have we been in dialogue with anybody about selling the company. We're having a lot of fun. But having said that, I'm sure that it's possible. However, in order to accomplish that, you need that to be your vision from day one, architecturally. And we believe that the way to do it is to solve the data problem. The data architecture that most enterprises deployed today was not developed in order to address a virtualized, mobile, cloud-enable world. That's why you need all these appliances for protection, for efficiency, for performance. Ask yourself, why are there 12 products in the enterprise? Something is wrong. And by the way, eight of them are just associated with protection, performance, and efficiency. So the way to address this problem requires an architecture that is centered around this promise of best of both worlds and x86 with all the capabilities. I'm sure that others will do it. I'm not familiar with anyone who's doing it today. Well, you talked about the market size. I would agree, it's hard not to agree that the TAM on your current market is several hundred billion. We pegged it probably at around 400 billion, whereas the TAM for a company like Diligent was probably three, four billion, maybe the size of the TAM market and then some. So we're talking about a different ball game here. So I'm wondering, if we look at the VMware ecosystem, VMware's built a huge ecosystem. They used to always brag that for every dollar that VMware sold, it was 15, 20, or more dollars that got sold to the ecosystem. I don't hear that line anymore. You don't hear that line anymore. And one of the challenges is, number one is, in some ways, VMware's eating its ecosystem. They've got things like some data protection products built in. There's rumors of things like Marvin. They've got their VSAN, obviously. And VMware's under a lot of attack. Hyper-V's been growing quite well. Service fighters are using the KVM versions.  And I know it's been on the roadmap to do other hypervisors. Can you give us the update there? Let me start by saying that VMware is probably our most important partner. We live in the VMware ecosystem, and when we speak with customers, our focus is to show them how we make that infrastructure better. So very important partner of ours. We work with our sales people, our platinum sponsor in their shows. We're going to be a platinum sponsor again at VMworld in San Francisco. I think we're already in August, so it's up and coming. And by the way, at VMworld, we're going to make some announcements that underscore this message of best of both worlds. Cloud economics, x86 based with enterprise capabilities. So we have a great time working with VMware. And I can't think of anything that worries me in that regard. Do they add more capabilities to their stack? So no comment on kind of Microsoft support in the future. Oh, so as you know, our technology is open to other hypervisors, and we're working on Microsoft and KVM capabilities. However, I think that 80 or 90% of the world is running VMware. This is a huge market. We stay attuned to customers. We deliver what they want. Doron, we're out of time. Last question. What should we be paying attention to? What are the sort of indicators of progress or milestones that observers like us should be watching over the next, say, six to 18 months with regard to simplicity? Well, we're going to stay dedicated to our customers first and foremost and to our partners. And we're not going to take any steps away from that. And our promise, our vision is to simplify it by delivering the best of both worlds. Cloud Economics x86 with enterprise capabilities. So every step that we make is going to be aligned with that message. And we're very happy with the progress of the companies making. We need to stay focused, aggressive, but humble. Doron Keppel, thanks very much for coming inside theCUBE. It's always great to have you and we'll see you at VMworld. Thank you very much. All right, thanks for watching everybody. Thanks to Stu and this is CUBE Conversations, Dave Vellante, Stu Miniman from Wikibon headquarters. We'll see you next time.


And from there we will go to Delta State, where Governor Faio Coa has forwarded the names of 18 nominees for appointment as commissioners to the State House of Assembly. The names are contained in the letter read by the Speaker of the House during plenary in Asaba. The nominees are to forward 35 copies of the Cree Columbia Tei to the Office of the Clerk of the Assembly on or before June 21. They will be screened the following day. It's been a month since Governor Coa dissolved the State Executive Council.


Hey new Superbowl party! We just used our Cricut to make multi-color heat transfer vinyl t-shirts and we'll show you how we did it right now. What is up? Welcome back! Do you like to do a builder make it or go to Superbowl parties? Then you should totally subscribe to this channel because that's what we do. This week we got a request from one of our viewers asking for a two-color t-shirt. How to make a two-color heat transfer vinyl t-shirt. And guess what's this weekend? Superbowl! Guess some Superbowl t-shirts. Each of us are going to support a team. I picked the Rams. And I picked the Patriots. So let's go to design space. I'll show you a couple of tricks in there and then we'll get to pressing. Depressing. Heat pressing. Oh, heat pressing. Okay, this is super easy. We're going to hit upload, upload image, browse to our image. We're going to use this one. Hit open. It imports the image. Looks good. Hit save. Next I'll select the image to insert onto our canvas. And with this one it happens to come in at just the right size. Eight and a half inches is perfect. You'll notice over here that if you try and select to make it, our letters come out jumble. So what you'll want to do is select this grouping, hit the shift key, select this grouping and weld those together. Now when you select to make it, comes out perfectly. All of our mats and colors are set. All we have to do is select our material as heat transfer vinyl, load our mat and press the flashing go button. What's up? I'm all done. How about you? All right, so we have everything cut out. All of our little jams are cut out. We got most of them weeded. I have to finish weeding my letters. Do you want to weed my letters or carry the heat press over here? I will finish weeding. I'm going to get the heat press. Do not want to carry that thing. Heat press is up at 330 degrees. We've already done all of our cutting, weeding. Now we're ready to press. Who's going first? You're going first. All your stuff's right here and your shirt. I'm going first. I'm going to press my shirt for five seconds. Five seconds. All right, which is going down first. All right, I think your big circle goes down first. All right, just press it for five seconds. Yep. Just so that we can layer each one. Three, two, one. And we'll put it for a full press. Do longer. Do 30 seconds maybe. You're stretching it. Oh, you got it. That looks good. You got it. It goes down like this? No. You guys want to see what we're doing? 30 seconds there? Yeah, that's what it says. 30 seconds, except for the letters. There's my shirt. Three color. It took like three minutes after we weeded it. All right, Kim. What do you got now? Wait till you see what I've got. Okay, so for mine, I'm going to use this gray t-shirt. And I have glitter heat transfer vinyl. Ooh, so glittery. And mine's going to say Patriots, but I'm going to have this football, which is kind of a large football, but it's going to look okay. All right, give me my five second warm-up. Let me get it on there nice and even. Looks so sparkly, babe. There's Kim's Patriots. Here's my Rams.  I am. Good job. Let's do it. Just in front of you. You did a baby laugh. Okay. All right, over time. All right.


And so he's able to do that, and he will do that tonight. Dom's got plenty of fans here as well. We know the crowd's going to be chanting Norm all night long, but Dom is one of the best. Sean Ryan, why he chose to go straight and not hook it, he said he didn't like the middle part of the lane. Duke's first shot, matching strikes. And Rob, what we're going to have to watch for is because both players are playing almost identical lines. Yes, he did. Unlike our good friend, Andres Gomez, who I think has about three to five signatures somewhere all over the board. Stand up triple for Dom. That's pretty straight there, eight to six in back. Not a lot of head belly. Look on the strike train. He's got a great line in the pocket and a lot of hand. 0 for two for strikes on this left lane. Sorts it out. Here's the crowd. That's creepy, that's Norm looking at it creepy. Norm's giving Norm the stink eye over there. There you go, the four pin goes down. That's time for Dom. Look for Dom to make a move left now. Last three shots have all drifted a little heavy. It gets another. Tightening things up. That's three in a row. Getting that open frame in the second. That little bugaboo to this game for him. The 55-year-old. That makes Dom Barrett half the mark in the 10th. Going to try a different ball here and look at something else for game two. But check out this messenger, Norm. At the head pin doing a sliding tackle on the 10. Sure was. What a finish here for Norm. Four straight, five strikes in his last six throws. Well, he takes the lead. He tried a different ball on his fill shot just to get a little different picture. We'll see which ball he decides to go with in game two. Couple of minutes. Dom Barrett did take one. That wasn't even fair. It looks like Dom indeed has moved a little left. He's going to take game one. One of two. Pretty impressive performance. Oh, by the way, from Dom Barrett here. Three-nines spares. Everything else has been a strike until that moment. Nothing but strikes except for one spare in game one on that right lane and another strike there for Norm. Nothing but strikes so far here in game two. He doesn't have that power anymore. But I'll tell you what, he sure does have the savvy. He's got the smarts. He's got the experience. The dual-pattern situations on both of his wins. He's going to tie this up.  Saved that one. All tied up here in tonight's opening match. So it's time for a roll off between Barrett and Duke. Ring that bell. Dom up first on the left. That was beautiful. Got the 10 pin out. Boy, that looked pretty good, too. Not the 4-7. In game two, and now here in the playoff, suddenly Norm with his back against the wall. He liked that one. Sure did. Left the 10. Well, like I said, if he can get the corner pin out, last game was one strike on the right lane. And it came in the first frame. First frame. Look at this. We could possibly have another roll-off. Now, he has to convert the two, excuse me, he has to convert the two, four. And then strike. And then strike. A strike, or Dom is done. Fortunate nine, to be honest with you. It really is. Now, Dom Barrett has to follow him on that left lane. If Dom strikes. Match or do better. Needs a strike for the win. That was fortunate, sir. How good was that? How good of a match was that? It was a great match. And it's an upset.


Hello, glad you could join me once again on the show. I definitely know everybody's doing very fine. Welcome to the Open Mind of Thinker show. I saw the title of the video just like you read and I was also curious to see what happened in this video. There's about 14 minutes video and Don gets scared because I'm not going to look at all of them. I'm going to look at the most important things that are said in this video and then share it with you. Well, you're welcome to the channel once again. Let's hit it and see what really happened to the Qabah. The first time Salah was stopped in the Qabah. I really want to know what happened because it's very, very strategic. That's the Qabah being the center of Islamic worship. Not that Muslims worship this tone in the Qabah rather it's just a symbol of the Islamic tradition. Abraham invented the Qabah and Prophet Muhammad revolutionized it and removed the paganism that plagued it in time and made it solely for monotheism and today we have the Qabah and it is both significant for the Jews, for Christians and for Muslims around the world. The 20th of November 1979 appeared to be a normal day in the city of Makkah. The Fajr Adhan was called and hundreds of thousands of people began to line outside of the gates to go inside of the Haram to pray the typical Fajr prayer. However, this day was going to become an infamous day in the history of the Ummah. This day by all appearances started out normal but by the end of the day an incident the likes of which the Ummah has never seen occurred. After the Fajr prayer finished, this day the 29th of November 1979 which corresponded to the first of Muharram 1400 Hijrah. After the Fajr prayer finished led by Sheikh Muhammad Ibn Subayl who is still one of the Imams of the Haram. Immediately after this a few gunshots were heard inside of the Haram and then there was some commotion in the front lines and a person stood up and grabbed the microphone that Imam Subayl was leading the Fajr prayer with. A number of other people stood up and overpowered the guards surrounding Sheikh Subayl and then this announcer started speaking. This announcer started announcing. He started talking about the corruption of the present state and regime and the evils that were rampant in society and the fact that so many of the signs of the Day of Judgment were being fulfilled in front of their eyes and he then began to mention that the Prophet Sallallahu Alaihi Wasallam predicted that a Mujaddid, a renewer of the religion would come every 100 years and he then mentioned the Hadith about the Mahdi. This figure that will come towards the end of times when all of the earth is filled with injustice and evil and he said this is that time and he then said we have the Mahdi in our midst and he told a certain person to stand up and called him to the microphone and he said oh Muslims this is your Mahdi, give bayat to him, give the oath of allegiance to him and this person whose name was Muhammad ibn Abdullah from the tribe of Qahdan the pure tribe of Quraish of the descendants of Quraish this person Muhammad ibn Abdullah al-Qahdani stood there and the announcer whose name was Juhayman ibn Saif al-Utaibi the announcer then demanded from all of the Muslims in the Haram that this is the Mahdi he is standing between the Rukun and the Maqam between the Hajr al-Aswad and the Maqam of Ibrahim he is standing there and he says this is exactly what the Prophet Sallallahu Alaihi Wasallam said that the Mahdi will stand between the Hajr al-Aswad and the station of Ibrahim and he said this person his name is Muhammad just like the Mahdi's name will be and his father's name is Abdullah just like the Mahdi's father's name will be and he shall be from the tribe of Quraish just like this person is from the tribe of Quraish and he mentioned all of these conditions and he said you must now give I think this part, this story is pointing to the end of time this happened some long time ago and the fact that the world has not come to an end I really don't know where the narrator is driving to whether the guy is right or wrong but we've got to be very careful so that we don't run into a serious problem with this I just want to know where he's driving at The bayat of this man, the Muslims of the Haram the average Muslims most of you have been there many of them could not even understand what is happening they didn't understand Arabic others were totally bewildered and confused what is happening, gunfire, gunshots when they tried to leave in the chaos and pandemonium they found that the doors of the Haram had been barricaded shut and each of these doors was armed armed guards stood there, not of the Haram of the army of Juhayman al-Utaibi and lo and behold for the next week and a half for the next so many days the Haram itself the Ka'ba was held hostage the Ka'ba was held hostage and nobody was allowed to enter or leave for some days until finally Juhayman's group allowed the other Muslims to leave who did not want to remain there they could not feed them and take care of them so they allowed the other Muslims to go after three, four days but they themselves, the army of Juhayman the quantities have differed some historians said 200 others said up to a thousand we don't know the exact quantity of the army that he had assembled but they had taken the Haram hostage and they did not allow any Muslim to come in and for all of these days Tawaf around the house was stopped the call for prayer was stopped the Jama'at was stopped this has hardly ever occurred in the history of the Ummah the last time this occurred was in this incident, 1979 and as the sun rose up and dawn broke into the early day the Saudi police and the Saudi authorities were totally confused as to what to do they didn't even understand firstly what is going on what is happening a total surprise and when they sent armed when they sent policemen when they sent some of the army to try to find out Juhayman had stationed snipers on the minarats of the Haram these tall, towering minarats of the Haram he had stationed marksmen expert rifle people who could shoot down anybody who is coming so any policeman, any guard came and he was killed immediately blood was shed in the Haram and so the authorities began to have meetings, negotiations they didn't understand even what is happening it took them a whole day to figure out this was a group who claimed to have the Mahdi in their midst Sheikh Subayel himself when all of this is happening and the announcements were taking place immediately he understood this is a group of fanatic extremists and while all of this is taking place he lost himself in the crowd he did not want to be held hostage for no reason and he managed to escape wearing the clothes and the garment of a woman wearing the hijab and the abaya of a woman he managed to escape in the crowd and he was one of the main sources of information to the authorities describing to them what exactly was happening inside of the Haram the Saudi authorities tried certain tactics but the people inside the Haram were adamant they would not leave until the royal family abdicated until they gave up the power until all of these conditions were met and of course these conditions would never be met no matter what anybody does so the authorities decided that they're going to storm the Kaaba itself they're going to send the military, the army in to fight these people therefore after around eight or nine days they sent in the elite military they sent in paratroopers they sent in army tanks the tanks went up the same stairs of the Haram that we all have used they went up these steps and they broke down the barricaded doors of the Haram and hundreds of military men stormed inside the very structure that we know it is the same structure it wasn't rebuilt again and a war ensued inside the Kaaba inside the Haram itself in the shade of the Kaaba a war ensued and what happened was that the the followers of Juhayman and Utaybi this is the very first time I'm hearing this I never knew the Kaaba was ever attacked by anybody by any human being, by any force I'm very surprised hearing this for the very first time I never knew any group of people who had them I thought Saudi Arabia have never experienced any terrorism attacks and I'm surprised, you know being at the middle of being at the middle east and being at the centre of all this so I'm quite fascinated that there's no terrorism operations in Saudi Arabia today when ISIS came nobody talked about Saudi Arabia where some of the terrorist organisations operate they really don't go to Saudi Arabia and I think it's a plus it's a side of respect to the Holy Land they barricaded themselves in the basement of the Haram those of you who have gone recently you know that there is a basement inside the ground floor from the Kaaba you walk up up the steps immediately as you walk up the steps you'll find other steps going down for many years those basement doors were shut those of you who went throughout the 80s those doors were shut you saw them but they were never opened early 90s shut only recently when the memory died down when all of that fear and what not was finally quelled only recently the doors have been open what happened was the army of Juhayman or the followers of Juhayman they took shelter in these basements and the advantage of this was that these basements they only had one way in which was those stairs so any person tries to come they can immediately shoot and kill him so hundreds of people were barricaded inside this basement and the authorities figured out that there was no lack of water firstly well the water was available where was the water coming from zam zam and then there was no lack of food because these people had carried in bags of dates and they questioned where did they get the guns from they figured out that the guns had come in the Fajr prayer the Fajr of the same day they had brought in bodies janazas but there were no bodies inside those green sheets they were full of semi-automatic weapons rifles and guns instead of people and corpses there were weapons meant to create corpses this is what those people brought in and in those days there wasn't much checking those of you who have lived in Arabia in the last 20 years you all know how strict it is you cannot leave your house without iqama you cannot enter a city without permission in the 70s there was no such thing it was this incident that changed the entire system of Arabia it was this incident that caused so much panic for good reason that they changed the entire system of people residing in Arabia and coming in and coming out it was this one incident so at that time they could just walk in carrying these buyers these janazas once upon a time nobody checked now if you try walking in you need to show a piece of paper from the government this is really a dead body there must be a doctor certified this is a legal procedure back then people did not think that any human being could do this to any Muslim could do this in front of the Kaaba so they walked in carrying all of these hundreds of guns and the people obviously came in unarmed but they had the guns there so immediately after the fajr they took these arms they stationed themselves all of this was pre-planned every person would have assigned the place and what to do so as we said for 8 days the authorities were confused what to do finally the ulema gave the fatwa that these people are renegades they are bughat there are people who are working against Islam and the Muslims it is not possible that the real mahdi would do these tactics and so they gave the fatwa it is permissible to bring the army in because generally speaking fighting is not allowed inside the haram it is prohibited the only time it is allowed is in self-defense as in this case so they gave the fatwa it is permissible therefore hundreds of armies came in paratroopers, tanks, military personnel all of them and we said a small battle a small war ensued between pillar to pillar guerrilla warfare literally between the pillars of the haram there is people there on this side and this side hundreds hundreds of Muslims died hundreds of Muslims died many of them the followers of johaiman many of them of the Saudi police force and in this battle in this battle this supposed mahdi himself muhammad ibn abdillah also was killed he was killed as well johaiman was caught alive johaiman ibn saif al-utabi was caught alive along with around 70 of his followers the rest were all killed in the battle and of the tactics they used it is said and of course all of this is very secret information in the sense we don't know a lot of these details because the government does not wish to release it does not wish to publicize the statement but of the tactics they used they flooded the basement with water they first tried burning tires that didn't work they threw in burning tires that didn't work then they flooded the basements with water and they threw in live electric wires into the water to electric with the people there and so eventually whoever was remaining there they had to come out smoked and smogged and their faces soot and black and all of the dust on it and eventually these 70 people were captured and within the space of 2-3 days they were executed all around the kingdom starting with johaiman himself he was executed in front of the haram itself in the following few days and there is some video footage as well of johaiman after his capture they had a camera there and you can see his face is totally black because of the effects of the burning fire and the tires that they threw in there and you can see his face and it is recorded in video and his confession and everything is recorded it is available even on the internet this incident that occurred brought to limelight a concept that many Muslims had forgotten about for a long time and it was the concept of the Mahdi what is this thing called the Mahdi do we as Sunnis believe in a Mahdi or is this a Shia concoction do we Sunnis also believe in the Mahdi if we do what is the difference between our beliefs and the beliefs of the Shia and so much research was done afresh during this time and many ulama wrote books including many scholars of Medina of them are sheikh Abdomos and Abbad and other ulama they wrote tracks and publicized books and gave fatawa to discuss the concept of the Shia this is really interesting I watched this video even without talking even without saying anything this is really interesting guys I really appreciate this I really want to know what the Mahdi is if you know what the Mahdi is what the Mahdi is please tell me what it is comprehensively on the comment section I'll be very very happy to hear I would love to read about it more but I want to know from a Muslim perspective what it is you a born Muslim a scholar someone who had read about Islam for a very long time you know had contact with Islam you know something about the Mahdi just like Aksimi who is a saviour or the book of revolution as in Catholic I'll be able to explain to you comprehensively what all this so if you know anything about it while I go to study I want to see personal perspective of muslim on what the Mahdi is do well to live a like subscribe to the channel until next time


50, short six right, into five left, and four left, into five right, into four left don't, 50, four right loop opens late, 50, narrow four left 20, four and a half right, into four left 50, four right, six left late, caution, four right loop tightens, two flat right, 100, short six left, breaking 50, danger, five left narrow bridge needs, 50, flat crest, 250, five and a half left, 150, straight two, hug five right on crest, tar late, big cut, six right, into six left, 80, 180, right entry, five left over crest care, slippy 120, cut five right down, 100, hug five left, continues over small crest, gravel 20, six right, 120, five and a half right okay, 120


Trio structured concurrency for Python before we talk about concurrency and trio and all of that stuff Let's go into a little bit of history back at the dawn of time when dinosaurs roamed the earth and I was very very young there was a control flow a mechanism called go-to and Go-to was the way you Went from one place to another in your software Here is a language called basic It's the first programming language. I ever used and it is It's not widely used today It was very popular in the 70s and early 80s And here is a basic program. That's a very simple straightforward basic program It just counts from one to ten and prints out a line with each of those numbers on it And then it prints all done when it's finished and to prove to you that it works. Here is the output I Apologize for the quality of the Commodore 64 screen. It is an old cathode ray tube and Downscaling it on the slides doesn't seem to work all that well But you can you can see and if you want to you can make sure that the program that's running is in fact the one that I have Nicely syntax highlighted above So the way this works is that on Line 40 you check if your loop variable i is less than or equal to 10 you go to line 20 But there's no other than the number next to the go-to. There's no actual length So you the only time you know that line 20 is a place that your program can jump to is when you get to line 40 and read the go-to But this is a very simple program It's fairly straightforward. It's only five lines long So let's look at a more complicated one This is a program it has three go-to than it So it's not actually all that complex by programming control flow standards but I'd be willing to bet that very few people in here can actually Read and understand that program without drawing diagrams or stepping through it or executing it or whatever I know that I certainly can't and I'm the person who wrote this program What it does as you can tell by the Input prompts at the top is it prints out some number of primes so let's run it with Printing out the first ten primes and there you go. Somebody wants to confirm that those are in fact prime numbers This program has three go-to's in it they all jump to different places and It's it's a mess. It's a very simple algorithm. It basically has Three nested loops in it, but nobody's going to follow that easily Fortunately we were rescued from go-to by the invention of structured programming Which I'm a little young to have lived through that it happened around the time I was busy learning what buttons on a keyboard did and In modern languages, we don't use go-to we use for and while and If and we have nice blocks pipe and has particularly nicely visible blocks So the first program I wrote and I had in basic there that printed out ten lines Here's the equivalent of Python much easier to follow no go-to's you can tell that The the indented print is the thing that happens In the loop and the old oven happens at the end and you can tell immediately where the but that repeats starts and ends and Here is the equivalent of the prime numbers Program, it's not complicated. It's not that easy to follow But at least you can tell where the loops are and you know that the stuff at the beginning before the while is stuff that isn't going to repeat and the stuff inside the while is the outer loop and then there's a an inner loop and Etc etc as an aside one of my favorite little bits about this program is the else block on the end of a fall You can do that with while loops as well And anything in that else block runs after the loop, but only if you don't break out of the loop so That runs for prime numbers because we haven't broken out of the loop. It doesn't run if you break out of the loop so It's a it's a neat way of Knowing whether your for loop ended Successfully or if it broke Else is a really really horrible Word to use there though Which is probably why this construct isn't used more often If anyone wants I can switch from sharing the presentation to sharing a Terminal window and run these programs to prove that they are actually the equivalents but We can maybe do that later because switching the presentation stuff is a bit tedious and annoying so Getting rid of go-to didn't just give us Nice execution flow that humans can reason about it did a whole lot more than that it let us have call stacks and local variables in our functions and The reason for that is that go-to doesn't just jump around inside a function It can jump to anywhere in the code So you can jump from the middle of one function to the middle of a completely different function and If you can do that then you can't reliably you can't rely on local variables because they may not have been set You've got all the ones from previous function instead of the new function You your call stack doesn't make sense anymore because you're now in a function that was never called So getting rid of go-to lets you have these things You can have exceptions and nice error handling because now you've got call stacks. You can unwind them you can jump to your caller you can you can wrap a try accept around some nested piece of code and catch any error that handles that happens inside it and Something that Python does particularly well is that you can have context managers and with blocks so With open file name as file You can open a file for the duration of a block and then no matter how you leave that block whether it's By reaching the end of it or raising an exception or Anything else you'll get you'll be guaranteed that when your program flow leaves that block The file will be closed and you can do this with anything So that's all all these wonderful things you can get just by Not having go-to anymore so that's some history and The first the part of this the name of this talk is a concurrency we've talked about structured in The history lesson and now let's talk about concurrency So what is concurrency here some words that spring to mind when somebody mentions concurrency I can throw in a few more Race conditions Philosophers with strange habits and cutlery, etc. Etc. All of these things are associated with Concurrency, but they're not actually what concurrency is So at its core Concurrency is having multiple independent flows of execution. So instead of having One flow of execution through your program Where you go from line 10 to line 20 to line 30 to line 40 and then jumping back to line 20, etc, etc, etc You can have multiple of those happening maybe at the same time maybe Switching between them maybe interleaved The ordering of those things doesn't matter because they're independent. They can happen in any order and the thing that makes it interesting and difficult is having communication between those flows of execution Because if they don't talk to each other or know about each other, they may as well be different programs running on different computers In different cities doing different things that don't know or care about each other at all technically my program running and your program running are Concurrent systems, but they're completely disconnected from each other. So It doesn't matter when you've got communication. It gets interesting and useful and also difficult So concurrency has its own go-to which we use a lot I'm going to call it spawn Different languages call it different things The one the name that's closest to go-to is the language go which calls its spawn primitive go But having go and go-to and go is a very common word. So it's confusing to talk about so I'll stick with spawn This is Erlang which is a language from the 80s. So about 10, 15, maybe 20 years after basic with its go-to Don't worry too much about the syntax. You're not expected to read and understand this program at a glance but there are two main parts to this program the first bit which is now highlighted is a recursive function which Every time through the loop that prints out a message and then sleeps for 200 milliseconds and then Prints out the next message it counts downwards rather than upwards like the basic program did just because it's Easier to do that with recursion and a little less code Adding a few lines I could make it print forwards instead, but that's just extra complexity and Then the big thing that makes it concurrent is in the main function here we spawn at once with Task one is the message and then we spawn at the second time with task two is the message and then we just wait for them to finish So I will actually Switch the presentation thing and Run this If I can find the right Window there it is so here is that Erlang program running and Maybe it's running a little fast, and you just make that instead of 200 milliseconds, let's make it a thousand and let's make that sleep for Six seconds There we have it both tasks running counting down simultaneously and At the end we finish Async IO, which is the standard library concurrency async framework for Python Caused create tasks instead of spawn so here's a the previous the equivalent of the Erlang program written using async IO We have the function that prints the message every 200 milliseconds sleeping in between and We have the main function which spawns two tasks And runs them concurrently But it doesn't just spawn the the two tasks it Hey, I can see my mouse go sit here it first Runs the function once kind of synchronously so waits for that to finish and then it Spawns two tasks in parallel. So these two things will happen At the same time, but only after this one is finished but the important thing here is that a task is just an object that can be passed around and there's no link between the place the task is created and where it starts running and Where you wait for it so You can have things that go get lost and go missing and tasks that get orphaned so here is One of the big problems with async programming in Python, especially but in pretty much any async system Where do errors go? so we have a An asynchronous function that waits for a little bit and then throws an exception and we call it in three different ways So the first one we call create tasks. We assign it to a variable and then we just never wait for it so the error from this task just Nothing ever catches it. There's nowhere else in the program for it to go because we never wait for it to finish So the error for this one will get lost What Python does is When the task object gets garbage collected, which can happen at some arbitrary time in the future We'll get a runtime error that gets logged And if you're not looking at your logs, well, you don't know It's not even an error. It's a warning. We just don't know what happens with it The second one We create a task and we do await on it, but only later so It raises its error the error just sits there waiting in the task object And then when we await it right at the end of the program then we get the error and then it gets raised But again, there's no link between where the task is created and where we wait for it So if we create this task in some deeply nested complicated piece of code None of that shows up in the stack trace the only thing that shows up in the stack trace is the function that raised the error and the main which called the await it's a little more complicated than that but basically stack traces are Very confusing and often have the wrong things in them when you're dealing with ace and exceptions and the only one that actually makes any sense is this one where we Create the task and immediately await it But if we're going to do that we may as well not create the task at all. We may as well just Await raise error Because we're not doing anything Concurrently there we just running Sequentially running stuff in another task So this is one of the big problems not the only problem with async stuff But one of the big ones that's kind of equivalent to some of the problems we saw with go-to where you can't do proper error handling And there's no way to know Where your control flow came to at any point in the code So this brings us to structured concurrency Which I'm not going to have an example here because that's what the next section of the talk is for But the core idea in structured concurrency is that any task that spawned in a block of code Must finish in that same block of code So there's no way to spawn a task and then move on to do something else and your programs somewhere completely Hidden away or in a completely different part of the program when your Errors happen or when your tasks finish So this is one idea. It's a very simple idea, but it's very powerful. It's the same kind of idea that you get from go to not Being able to jump from the middle of one function to the middle of another function So the advantages of structured concurrency as we'll see is first you get execution flow that humans can reason about the same as with go-to we can now See what our code is doing. We know where all the Concurrent tasks are happening. We can have nested contexts and task local states So that's kind of like having a call stack and local variables only with concurrency so I can spawn a a task and then that task can spawn its own tasks and The the My spawn task will wait until its tasks are all finished before it finishes and everything is Nicely ordered and structured and there is always somewhere for errors to go and We always know what states our program is in Which brings us to well-defined cancellation and error handling so if you have if one of your sub tasks Raises an exception which isn't caught. Well, that bubbles up to the the block that spawned it and then everything inside that block gets cancelled Because that's what happens if you get an error your your block stops and then you'll you get that exception raised More more detail on that in a bit But most importantly no often tasks or missing results So you never have code that just goes on forever and everything's lost track of it And nobody knows what it's doing and it could be doing anything So the third part of the the title of This talk is trio, which is the work we'll be using Which trio is built on the ideas of structured concurrency So the best way to learn about trio is to read the documentation So I think we're done here. You can all go off and read the documentation and Everything will be great The docs are actually excellent, so you could just go and do that. That's what I did But since we still have a few minutes left of this talk, I will actually talk about trio some more So brief Intro to async programming. You've got async code that can call sync code But don't call anything that blocks and Sync code can't call async code Sync and async sound way too similar when I'm saying them But anyway synchronous code can't call async code Unless you're writing a framework like trio or async IO, and then there's some special mechanisms to make that work So here's some ways you can get async code wrong The first is to try and await something in a sync Function and that you'll know immediately because the compiler gives you a syntax error You're not going to miss that in your code The other thing you can get wrong is to forget to await an async code So here we have we're calling an async function, but we're not using a wait and This you get a runtime warning logged and you You don't get well what you actually get printed there is the representation of a coroutine object That's kind of an implementation detail and this is unfortunately a symptom of the concurrency permits have been Python is basically spawn and We're building the structure on top of spawn. So it's the same as building your for loops and while loops and if blocks and whatever on top of go to if go to is still there under the hood while you can get some of the benefits of Not having go to you can't get all of them You can't trust that there won't be some code somewhere that users go to and breaks everything But trio does provide some tools for debugging stuff. I'm not going to talk about Trio dot ABC dot instrument any more on this talk, but it is incredibly useful and the docs explain how to use it So if you find yourself with code that seems to be doing weird stuff It might be a bit starting point for the wagon. So how does trio actually do the structured compact concurrency? The main thing here is it's called the nursery. So instead of having The equivalent of a sync IO create task, which you can call anywhere The only way to create a a background task is to use a nursery so this code as before we have our Task function that just prints a message in times And in our main function here instead of using create task we use nursery dot start soon and We have this async block With the nursery so async with open nursery as nursery and what that does is Any tasks started by this nursery Will cause the block to block basically the block doesn't end until all the sub tasks are finished So you'll notice we never await anything in this block but both tasks Will task one will print its four lines task two will print its two lines Both of them will finish before we leave this block and get to the all done and to answer Bruce's question because this is a good time for it if you want to have separate sort of overlapping lifespans for tasks The way you can get that is a nursery is an object you can pass a nursery into a sub task So if you want to have A task that's allowed to create sort of sibling tasks You can pass the nursery to that task and it can create tasks that outlive itself, but they don't outlive the nursery But there it's explicit. You can't do that without explicitly passing the nursery to your sub task So that there's a mechanism for it, but it your life's your lifetime of your Your tasks is still limited. You can't outlive the parent. It's just you can You can pass the parents around and create You can have your sub tasks create sort of siblings instead of their own children I've been ready to have an example for that though, but it's straightforward enough to to figure out if you play with it a Really nice consequence of this is timeouts If anyone has ever tried to have a timeout on an HTTP request You will understand the pain There are multiple different kinds of timeouts. Are you talking about a Connection timeout, so You'll stop trying if you haven't made a network connection within some amount of time, but once the connections made well the the server can take three hours to send your response and You just have to sit and wait or maybe you have a timeout on The server or the amount of time between Data being received it gets really complicated and what if you want to run three? make three requests Sequentially and have a timeout for all of them. Well, you have to now figure out how long the first Request took and subtract that from your timeout, etc really really nasty with trio you use the Async block, so you've got The first thing first bit of code here is trio don't move on after with three seconds So the entire body of that block will Take at most three seconds So here we've got four seconds worth of stuff We Go to sleep we wait a little bit we print still sleeping we wait a little bit and then we wake up on our own After three seconds that block will be cancelled And because it says move on after we don't care about that. We we don't care that it didn't finish We just care that it didn't take too long So no exception will be raised. We'll just move on If I put my focus on the place I can move on The next one is fail after which is the same as move on except instead of just moving on it actually fails so we This example also has a nursery Because the nursery is inside the the timeout block The the timeout applies to all the subtasks and the body of the nursery and Because we use fail we get an exception if we take too long so This simplifies timeouts immensely all you need to worry about is how long do I want this block of code to take at most and Then you can do whatever you like inside that and be guaranteed that your your entire block when Take longer than that and I mentioned things being cancelled so the timeout is kind of a special case of Errors and cancellation so Cancellation is Basically killing a task. It's a little more complicated than that under the hood there are checkpoints where trios or framework gets to Pass bits of code well Gets to raise exceptions and stuff basically any time you call a function in the trio name space or an async function in the trio name space There's a checkpoint inside there where things can be cancelled If you're just writing code that uses trio all you need to worry about is as long as you're not CPU bound and as long as you're awaiting Something in the trio name space somewhere in your full chain Your stuff can be cancelled But Any time you've got an exception in any of your subtasks an exception That exception sort of bubbles up and whenever it gets to a nursery all Tasks inside that nursery are also cancelled and then you can catch exceptions as normal around the nursery trio does also handle the case where multiple tasks raise exceptions simultaneously Which is also a little more complicated than will fit on one slide but the docs do a really good job of explaining that and In general, you don't need to worry about that too much unless you're doing multiple different things comparantly in a nursery and Trio also comes with a whole lot of other features. So it's got Task local storage like thread local storage except for tasks It's got mechanisms for communicating between tasks. So events and channels are the main ways of using communication But they're also lower level things locks semaphores, etc. Etc. There if you need them You can use Asynchronous generators, but because of the way they interact with a low level Sort of spawn level stuff in Python. You have to be really careful with those. So it's probably best to avoid them If you really need to unless you really need them and then be careful You can use threads if you must and that's actually the title of the Section of the documentation that explained that talks about them threads if you must You can have async file system operations, which is really difficult to do because Kernels generally don't provide good tools for them trio cheats and basically just wraps synchronous file system operations in threads under the hood But it's a good idea to use those to avoid maybe blocking for 30 seconds If you have a very busy disk or something You can have sub processes all the good things that any async Framework provides So in conclusion What have we learned so far? Firstly, we've learned that go-to is bad, but hopefully we already knew this and in fact if Python is our language of choice We don't even get go-to. It's never been in the language Just like go-to spawn is bad no matter how you spell it and Structured concurrency is great Hopefully I've given you enough of a taste of it that you you're you're interested in trying it out and If so, you should definitely use trio for your next async project Personal anecdote we have a System that talks to let's encrypts to manage certificates for a cluster and That's built with twisted because we built it like five years ago and It worked great until Let's encrypts Retired their version one API and the library we were using didn't support version two and it was quicker and easier to learn trio and Reimplement the whole system in trio from scratch then it was to try and update the library to use the slightly different to API and Deploy a new version of the thing we already had so Trio is great and that's the end


Hello, welcome to our Stampin' Chat with Stampin' Jill. Today it's just me, Aubrey. And we are doing mystery stamping today. So if you saw our quick live yesterday, we went live and showed you, or told you about the mystery stamping that we're doing today. And you could go and fill out the Google form that Beth had and we've sent you all of the things that you needed to mystery stamp today. So for that, we are using, you'll need a stamp set. I'm using Sparkling Snowflakes, this one. You'll need some ink. I'm using Misty Moonlight and Balmy Blue. You'll need some paper cut to certain measurements. That's all the measurements are there, which I'll go over those as I stamp on them.  So if you have any questions, make sure to stick them in the chat as we go through, but we will go ahead and get started. So we're gonna start with our white base piece. So you'll have one piece that's gonna be your card base. That'll be five and a half by four and a quarter.  We're gonna stamp on this piece. I'm going to use some of these snowflakes from the Sparkling Snowflakes die. And I'm just going to stamp right along the edge here just to give some cute color on the edge. So, and I'm using the Misty Moonlight, but I'm stamping off, so it's gonna give me kind of a variated color there. So I'll do some of them stamped off and some of them full strength. Again, this is, you're gonna do whatever stamp set that you chose, whatever feels right, you can add your stamps on. We'll do the smaller one, Misty Moonlight, just like that. So just give some cute variety to the side of that. And then we're gonna set that aside and we're gonna do kind of the same thing to our, I cut these out using the Deckled Circles dies. Whatever stamp set you chose, you can, this is gonna be my focal point of the card. So whether you are working with a Christmas tree or if you're not doing Christmas, like maybe it's a butterfly or a flower, some sort of focal point that you're gonna want on your card. I'm going to use my largest snowflake and actually I'm gonna clean this off really quick. Because I want this to be in balmy blue. And I stamped that in my Misty Moonlight. Okay, so I'm gonna stamp this just right in the center of my Deckled Circle. And it's so nice that these are photopolymers so I can see that. And I'm just gonna come and just some other stamps around with my other snowflakes. And do kind of the same, stamp some of them off. I'll probably stamp all of them off on here to kind of give that some interest, just like that. Okay, now let's put our card together. So the fun part of this is how we're going to use our piece of DSP. So this is a four by four piece of designer series paper or patterned paper. And we're going to fold this in half diagonally. So we're gonna fold it tip to tip, just like that. Okay, and I'm just gonna use my bone folder and flatten that out really good. Okay, and then we're going to adhere this onto the back side, white piece that we stamped on. So this will be kind of a little flap that can open like this. So I'm only gonna put adhesive on this back side of our designer series paper. And we're just gonna line that up. Okay, and then we're just gonna trim off these little edges that are kind of pointy. So that those aren't sticking off our card. Okay, just like that. And then we'll adhere this whole thing onto our card base. Mine's Misty Moonlight, okay. Now we need to stamp our sentiment. I'm just gonna stamp it right underneath the flap in here. Okay, and I'll do that with my Misty Moonlight. And this just says winter greetings. We'll adhere on our focal point. I'm gonna put some dimensionals. Oh, I thought I got some dimensionals out. Grab some dimensionals. You wanna make sure because this is going to go right on here. You don't wanna put dimensionals on this side because then it'll adhere down.  Put our little focal point down, just like that. Awesome. Okay, and then we just need to add some accessories and ribbon. I'm using this super cute balmy blue ribbon. It's, let's see, variegated ribbon. It is balmy blue and white. I love this one. I think it's kind of perfect for that wintry look. I'm just gonna tie it in a little knot here. And we'll trim the edges. I like to usually use a glue dot. Stick that on. Aridacent rhinestones. These are some of my favorites. I'm gonna stick a big one right in the center of my snowflake. And then I'll just do two smaller ones, just like that. Winter greetings. Such a fun little layout card and really simple to do. I wanna show you one other idea that I did with this same layout. So this is showing you, if you used a different set and a different focal point, you can do this with all sorts. So I made this polar bear one too. Warm wishes. And I made some little snow down here. Pinched my polar bear out. Super simple, but it is a really fun layout. So I'm so excited to see if you guys are following along. I wanna see what your creations looked like. So make sure if you want to share them with us because I wanna see them. I love seeing how you take an idea and make it your own. And you can go and post them in our Stamping Jill VIP Facebook page or group. So we'll have the link in the description below. We also will go and post these pictures, pictures of these cards that I made there too. So if you want to see the stills of those, if you have any questions, let us know. But other than that, thank you so much for joining me. We'll see you next week.


Hey everyone!  I hope you enjoy. Sorry about that. Let me start again. That's not what I'm not what I'm trying to play. Um let's try something else. How about um um let's do Clare de Lune. It's the way I can mess that up. Okay, what? Literally anything else. I don't even care. How about how about let it snow. Let's play that. Nipsy? No. How about piano man? Okay, that's the bridge and no one even knows that part. All right, you know what?  Please don't. No, stop, stop, stop! Stop it! No!