Okay, this is lecture eight of algebraic geometry on the strong null Stellensatz. We should say I've changed the numbering system for lectures, so under the old system, this would have been part two, part four of lecture two. So I'll stop by just recalling that we can have strong null Stellensatz. So we're taking K to be an algebraically closed field and we have the weak null Stellensatz, which states that the maximal ideals of the polynomial ring K X1 to Xn just correspond to points of affine space. And we want to reduce the strong null Stellensatz, which says that IZ of A is the radical of A for A and ideal in the polynomial ring. So you remember Z of A was the set of zeros of the ideal A and I of A was the ideal corresponding to this algebraic set. Well, in order to prove this, first of all, it's very easy to check to check that the radical of A is contained in IZ of A and the hard part is to prove, is to show that IZ of A is contained in the radical of A. And we're going to use a very cunning idea due to Rabinovich called the Rabinovich trick as follows. What we do is we suppose A, the ideal A is A is generated by elements F1 up to FM. And we suppose that F is an element of IZ of A. So we want to show that F is in the radical of A.  Well, what's this X naught? Well, this X naught is Rabinovich's cunning extra idea. So Rabinovich's trick is this, we add an extra variable. It's kind of funny because you're proving something in N dimensions by jumping up to N plus one dimensions. That's kind of obvious because if any common zero would have to be a zero of F1 up to FM. So it would also have to be a zero of F in which case this wouldn't vanish. They have no common zeros. Now we apply the weak nullstellensatz. We are applying the weak nullstellensatz to A N plus one. So when I said the weak nullstellensatz implies the strong nullstellensatz, it's really the weak nullstellensatz in one extra dimension implies the strong nullstellensatz in N dimensions. Well, the weak nullstellensatz says that if they have no common zeros, this implies they generate the unit ideal. They means these elements here because if they have no zeros, they're not contained in any of the maximal ideals. Because by the weak nullstellensatz, the maximal ideals just correspond to points of A N plus one. So we know that F1 up to FM one minus X naught F. The ideal generated by these is just the unit ideal one in K X naught up to XN because we've added this extra variable. So one is equal to G naught one minus X naught F plus G1 F plus GN, sorry, GM FM for some GI. Now put X naught equals one over F. So we're now working in a ring of rational functions and F1. So we find one is equal to G1 F1 plus G2 F2 plus GM FM. G1 F1 plus G2 F2 plus GM FM where now all the elements GI are, they're not quite in the ring of polynomials from X1 up to XN because they might also involve one over F. So they're actually rational functions with denominators that can be written as powers of F. Now, since each of these is rational functions with denominators of power of F, we can just clear denominators by multiplying by a high power of F. So we find F to the power of N is equal to H1 F1 plus H2 F2 and so on, where each HI is equal to GI times F to the N and the HI polynomials. Well, this just says that F is in the radical of the ideal generated by F1 up to FN, which was what we wanted to prove. So this is the end of the proof. So the weak and the strong nullstellensatz give us the sort of correspondence between affine space A N and the ring KX1 up to XN. So this is the coordinate ring of this affine space. And remember we said earlier that anything you could do for affine space had an analog for this ring and so on. And we can now fill in some of these points, A1 to A N of A N correspond to maximal ideals of this, the maximal ideal would of course be X1 minus A1 to XN minus A N. So this is the weak nullstellensatz and we say that algebraic sets correspond to radical ideals. These are ideals A that are equal to their own radical. So this correspondence here is the weak nullstellensatz and this correspondence here is just the strong nullstellensatz. Well, you may wonder why do we, what happens for non-radical ideals? Well, until about 1950, most people didn't pay too much attention to the non-radical ideals unless they were doing commutative algebra. So all ideals turn out to correspond to sub-schemes or closed sub-schemes. So this is something we'll see later on in the course when we do schemes that radical ideals correspond to classical algebraic sets. All ideals correspond to schemes and this is partly why you introduce schemes rather than just working with algebraic varieties. It's because you want to include all ideals. So let's see a few examples of this. So it's the first example. Let's take a line. So this corresponds to the, this is just the line Y equals naught. So it corresponds to the ideal Y and we can take a parabola which corresponds to the ideal Y minus X squared. So here we have two perfectly good radical ideals. And now let's look at the intersection of these two varieties. Well, you can try forming the intersection by taking the unit, by taking the thing generated by these two ideals. So we take the ideal Y minus X squared and Y. So this corresponds to the intersection. So it corresponds to this point here. However, there's a bit of a problem because this is not radical. So it's the ideal Y X squared and it's not a radical ideal. Well, obviously if we take the root of this ideal Y X squared it's just the point X Y and this corresponds to the point naught, naught in a fine space. I'm afraid the notation is a bit confusing. So here I don't mean the point X Y. This means the ideal generated by X and Y. And this is the point with coordinates zero, zero. I'm afraid left and right parentheses are a little bit overused. So they're sometimes used for ideals and sometimes used for points. And you have to figure out which is which. So here we have a non-radical ideal turning up very naturally as the intersection of two curves. And the fact that this ideal is not radical kind of corresponds to the fact that if you intersect the parabola and the line well it sort of looks as if there's only one point there but it's really a double point. So it ought to be counted as two points. And somehow the fact that this ideal is non-radical is trying to account for the fact there are really two points there in exactly the same place, whatever that means. For the next example, let's look at nil potent matrices in let's take all n by n matrices over sum of field K. So matrix A is nil potent if A to the n equals zero where this n is the same as that end. If matrix is nil potent of some power of it equals zero and you can see that if some power is zero then h to the n is zero. So the matrices are in m and K which we can think of as being affine space of dimension n squared. So we want to write down some natural equations for this matrix to be nil potent. Well, if A is equal to A11, A12 and so on. So here we have some matrix and A to the n will be something complicated. These will be some homogenous polynomials of degree n in all these coefficients here which I'm not going to write out because they're such a horrible mess. And now we can say these generate an ideal I in the coordinate ring of A n squared. So we're just going to take all these coefficients of A to the n and say that's going to be the ideal. And in some sense this ideal describes the set of nil potent matrices. So now we can ask is the ideal I equal to the radical of I? And the answer is no. So it's a very natural ideal. It's just the most obvious way of defining nil potent matrices. And yet it turns out to be not radical. In order to see this, if A is nil potent this implies all eigen values zero which implies the trace is zero. Well, the trace is just A11 plus A22 plus A33 and so on. Well, this is not in I because I is generated by homogenous polynomials of degree n. So you're not going to get a homogenous polynomial of degree one over that. And not only the trace is, sorry, what am I saying? So this element here is in the radical of I by Hilbert's nullstellens. That's because it vanishes on all nil potent matrices. And not only the trace vanishes but some of products of pairs of eigenvalues also vanishes and so on. So there are quite a lot of things in the radical of I that are not in I. So let's take n equals two and just see what happens. So here A, the matrix A is going to have four coefficients, A, B, C, D. And A squared equals zero. Well, A squared is just the matrix.  D squared plus BC. So the ideal I is equal to A squared plus BC, B times A plus D, C times A plus D, D squared plus BC. And we have seen that some power of A plus B is in I. So the question is what is the, sorry, that should be A plus D, not A plus B. So we can ask what is the smallest power of A plus D in I? And again, it's not obvious. You might guess the answer is two, because the number two is turning up very often, but this fails. A plus D squared is not in this ideal I. In fact, we find A plus D squared is not in I, but A plus D cubed is in I. And I'll leave this as a very short exercise. So, you know, Hilbert's Null Stellensatz is actually telling us something that isn't at all obvious.  And it's, I think it's not at all obvious what the smallest power of it is, for example. I mean, so it's, it's, quite a deep theorem. The next example is the following. Well, when we looked at Null Potent Matrices, what about commuting matrices? So let's look at the condition AB equals BA for AB, both N by N matrices. And we want to find the space of matrices that commute with each other. Well, what we do is we set A equals A11, A12, et cetera, B equals B11 and so on. And then AB minus BA will be equal to some big matrix here.  I mean, the coefficients are rather complicated messes. We're gonna take I to be the ideal generated by these. So I is in the polynomial ring of A to the two N squared because a matrix A is given by something in N squared dimensional affine space and so is B. So here we've got affine space of dimension two N squared and we've got some ideal defining the subset of commuting matrices. And now we have the question, is I equal to the radical of I? And the answer is, well, I don't actually know what the answer is. This seems to be a very hard open problem. And the point of this is that it can be really difficult to find out what the radical of an ideal is. I find this a bit surprising. I mean, what you're asking for is you're looking at the ring R over. If you've got an ideal I and you want to know whether it's equal to its radical, you're asking whether the ring R over I have nilpotent elements. And I would have guessed that nilpotent elements in a ring are actually rather easy to find. They have this rather striking property that some power of them is zero, which ought to make them obvious. But even in a natural example like this, it's really, really difficult to see whether the corresponding ring R over I has nilpotent elements. Incidentally, the space of pairs of commuting matrices is a notoriously difficult spaced study. Okay, that will be all for this lecture. Figure out how to...


Hello everybody, E here welcome back to Thursday theorist today We are still on the Bachman train and we are to actually last week. We didn't do Bachman So we we stepped we took a took a break from the Bachman train and we did not for season For past midnight today. We're doing another Bachman book and it is a roadwork I did a review for roadwork yesterday I will link that review down there in the doobly-doo, but I wanted to talk about spoilers this time And if you're if you're around and you don't want spoilers first off This series is nothing but spoilers for all of Stephen King's work So if you have a problem with that, please click away now Okay, so in road work Barton Dawes He he goes he some day is a slow descent into madness But I think there's a there's a definite point where he snaps and I think that's at right at the beginning right at the Right at the point when Mary he's talking to Mary on the phone and Mary is very flippant He can tell that she's just like yeah, yeah get this conversation over with I think at that point is when he finally loses his mind as far as it's gone now Is he crumbling throughout? Yeah, but it's never I mean it's it never escalates I don't think because from the jump from the very first page. He's talking to Frey Which is the his alter not really alter ego, but it's also his son's middle name is it's a mess inside this dude's head but When I found fascinating this time around was the emotional weight of the story that I think a lot of people miss when they read This even I missed it the first two times I just kind of blew it off, but having been married for almost 20 years now. I see you know I I see more of where Dawes is coming from I see more of where where Mary's coming from You know would you put up with that kind of thing? When is the when is this? When do you find the straw to broke the camel's back? You know, what is the straw that broke the camel's back? The those are things that really fascinated me this time around to see how long Mary puts up with it And of course she has the first initial meltdown But then she hangs around for a little while in you know in Dawes's life And you see a lot more of her Inability to let go and then as soon as she is able to let go and move on. That's when Dawes loses it I I Understand completely where Dawes comes from with burning your own life to the ground trying to Find Find yourself in that process, you know, are you just you know a work of worker B? Are you just that person? What is it is it Vinny? I think that he tries to tries to talk out of Being a lackey for the man kind of deal and I understand that but you got to do what you got to do You got to feed your family. You got it. You have to support yourself. You have to survive But there is something to be said about having a little self-respect along the way And I appreciated that aspect the story while I do not wholeheartedly agree that you should you know Burn down your life and start over again or burn down your life and just give up once you realize these things I do this time. I did understand where Dawes was coming from whereas the first two times. I Couldn't care less Now as far this is the fun part And why you guys are here. So let's talk about the Thursday theorist aspects of it what ties into the dark tower What ties into the King verse so right off the bat? I thought it was extremely funny that he would tie it as Tie it to the King verse as hard as he did because this is a Bachman book that the mangler is Mention on page 389 of this version of the book and the mangler is a short story from Stephen King It's about a laundry machine or press or folding machine something like that That's sentient that you know tears people to pieces Another thing on page 431 He literally says Dawes in some not narration, but in some dialogue says maybe I'm off the beam King does this again in misery and throughout the thing even in the Gerald's game movie I don't remember that it's in Gerald's game but I remember in the Gerald's game movie the husband actually says, you know, maybe I'm off the beam and Off the beam seems to be both a it's like an I don't know if you considered an idiom But something to say that, you know, maybe I'm off the path kind of deal which is you know, maybe I'm straying away from normal But here it is Another thing that I thought was funny is and I didn't catch this until right up to the end The hard tie-in I think I think the hard tie-in for the dark tower if you if you don't consider off the beam If you consider that just a throwaway thing 784 Interstate 7 plus 8 is 15 15 plus 4 is 19 unless I'm just horribly bad at math 19 pops up Again and 19 is a huge Huge thing in the dark tower series. It's a huge thing Let's see here now one thing I wanted to talk about that I didn't want to talk about in the review is the amount of grammatical errors in this book I mean holy shit. I went through this and it's like reading a Free indie book that you grab on Amazon. It was so bad and I wanted to point out a couple things. Let's see here Let's see a roadwork 367 I'm gonna just give you an example of what some of these are these are three errors in one page so The phone was picked up on the second ring and male voice said and Male voice there's no other words there Then down a little bit further. It says what's that with no punctuation? No question mark. No period nothing And then toward the bottom of the page. It says Merv Griffin was chatting with celebrities when got home And there's a lot of stuff like that. There is an error on almost every single page and I'm not Exaggerating it's funny and I wonder But toward the end of the book toward the second half of the book not toward the end But toward the second half of the book it gets really really clean And you don't find anything and I'm wondering if maybe Tabby was out of town or something for like the first half of the Book or maybe the second half because Tabitha works was like his number one editor She always does the first draft nowadays. I think Joe Hill does a lot of his stuff But the and I think maybe even Owen might help. I'm not sure and I say Leading boys alone let them write their own stuff anyways, so The but I was I was shocked by how many errors there are because you just don't find that many errors Now yes early King you're gonna find a typo here and there you're gonna find missing words missing letters All that stuff because he worked on a typewriter and they put after a certain period of time They pretty much it just accepted whatever he he brought in because it was usually going to be clean and decent And I'm wondering if that's what happened here. I don't know but I thought I found it really shocking that there were so Many errors, especially when rage and the long walk are so clean And yes again I know there are errors in our books in that book, but this not there's not an error on every single page like this one Finally next week where you're gonna be doing the running man so That that one it we may or may not have an episode next week Because it is I'm gonna try and read it slowly like this one only so many pages And I hope to get it done by next Wednesday So I can do a review followed by Thursday theorist if you don't see it Thursday theorist I will still have a video up But I'm apologizing in advance because I'm not 100% sure I'm gonna be able to get through it in a week Because I have a lot of other things going on. Okay, so I'm apologizing in advance if you don't see me But did I miss anything in road work this time? I'm gonna go ahead and say I don't think I did But if I did that I'm not But basically what I'm saying is I didn't specifically leave anything out for you guys to find like I normally do But if I missed anything, let me know in the comments down below But until next time I have any you've been you this been Thursday theorist. I'll talk to you guys later Bye-bye


We're good to go great Welcome everybody. Thank you for joining us. I see some familiar faces and lots of good people. We want to help Understand some things we're doing and invite some collaborations.  I'm a product manager at Marietta's and I'm Alexander Tevelkoff principal software engineer and Marietta is working for upstream Marietta So we're going to talk today about how you do applications across multiple infrastructures so what that what is hybrid cloud and So I want to address sort of why why do we care at all? What is it all about and If we're doing things across multiple infrastructures You know what choices do we face? There's some really hard choices that we have to make as we figure out the architecture and We figure out the implementation for this We're going to walk through a specific use case to kind of highlight some Some of those choices and the options that we have and and in that use case we've actually gone through some experimentation and we want to talk about that experiment and And then invite you guys to collaborate in that experiment. So we have some pictures here that are kind of fun so this the one on the lower left is us about 25 minutes ago doing slides and the one on the upper right is an illustration of how easy it is to collaborate because You know, even though it's the Russian bear. We're we're friendly. So That's that's really the message there. So let's talk a little bit about why you want to do hybrid cloud. So You know, it's getting a lot of press and a lot of noise and you know, everybody's been talking about this for a very long time and we don't see in reality a lot of Applications running in multiple infrastructures today and and there's a lot of reasons for that and we'll dig into that today But the reason that it's important and why people keep investing in it is that there are a lot of attributes of applications and applications running inside real enterprises that Will benefit greatly if we can do hybrid cloud correctly. So One of those is really about availability. So we all know, you know, the pets versus cattle's metaphor, right? and so the The idea is that that's great in the cloud, but the application itself Can't have those attributes, right? The cloud native application needs to be highly available. Well, how do you do that? If the underlying infrastructure Doesn't have five nines, right? It's got some number less than that So the way you do that is you spread your risk you move your application across multiple infrastructures another is about flexibility right you want to have applications that can take advantage of things that are specific to different kinds of infrastructures and So some infrastructures have, you know Super fast east-west networks and other infrastructures have very specialized load balancers and others have high speed Storage and so you need to be able to take advantage of that infrastructure while also getting this availability and at the same time you want to comply with Regulatory issues right so people want hybrid because they need to have their application that deals with personal human data in the region where that person lives right because the law may say Data for a German resident can't live outside of Germany for example, right? and so these these kinds of regulatory compliance have to be accounted for in your in your hybrid infrastructure and a lot of people are doing this because they want to Essentially outsource The management of their infrastructure and part of that's about driving down cost right so this is one of the reasons for public clouds But all of these reasons are valid, but for me the thing that I like to focus on When thinking about this is that the end goal for all of this kind of Application development is about actually accelerating the rate of the velocity here of delivery of capability to the end user Right and so as we get in the next slide that'll become Become apparent why why I put it that way, but it's really You know the thing I want to emphasize for people is that we need to focus on how fast Applications get to users because that's where the value gets created, right? So What do we mean by hybrid? What is a hybrid right? So you know and applications of all applications have had to have the ability to move from one infrastructure instance to another Basically for disaster recovery, you know forever right so that's kind of the upper left corner of this Quadrant here, so I'm what I'm doing is I'm saying there's a spectrum of different kinds of things that hybrid means So if you go down from there You know one kind of hybrid is why I need to have the ability to move an application from one type of infrastructure To another type of infrastructure, so that's kind of the first stage of hybrid and on the other end of the spectrum is Applications that are running in real time with sesson management across multiple of the same infrastructure or on multiple of different infrastructures with different underlying assumptions and capabilities and When you do that you have all kinds of additional challenges around data replication and data proximity That you have to deal with but this this is such a simplified view in fact what I was tempted to do is make an animation where it was those four and then I pop the The big arrows in the middle because what happens is that every application has a different style so a great example is Internet of things right so Internet of things is really hybrid application But in a different way you may have parts of these patterns, but then you also have edge applications you have services that are a part of your application that have to be deployed closer to the end user, right and Those have to have certain attributes and characteristics that they can conform to You also have I don't want to go into too many examples. I can spend too much time here But the idea is that every application architecture is possible and When you make your choices about how you implement hybrid application management you constrain Which of those architectures that you can effectively manage Right so now that we kind of have laid the groundwork for what do we mean by hybrid? We actually mean a whole spectrum of things You know we have to ask the question. Well, how are we going to manage that right so If you think about the full application stack all the way from bare metal up to the bits and bytes that the user consumes or Inputs or another system inputs or consumes You know we've created these abstraction layers which give us different capabilities at each of those layers And so the logical thing that we all tend to do and if I if you look at all the Hybrid solutions out in the marketplace what they do is they Take advantage of capabilities in one of those layers in order to provide The ability to manage applications across multiple infrastructures And what happens is that each of the at each of those layers, you know different things About what infrastructure is beneath it? What is the state of the application? At that layer and what monitoring data is available In order to take corrective action right because we think about hybrid applications You know it's critically important not only that we have flexibility But that it have the the ability to understand the state of what should be and be able to take Have an understanding of what infrastructure. It's depending on so it can fix what's wrong, right? And so we have to you know, there's a lot of analysis There's tons of research papers around this specific area, but I wanted to raise this because it highlights the need for a certain kind of specificity in What you do when you when you design the system that's going to manage hybrid applications So now what I want to do is I want to walk through a very simple This is you know a very simple kind of use case To just to help you understand The experiment we've done and why we've done this experiment in this way Right, so in this case What we're doing is we're saying well, we want to have an application that we deploy To one of two infrastructures in this case. I mean it's easy to add additional ones to this But for simplicity we said I want to be able to deploy this application to either Open stack or AWS, right? I want that to be a drop-down box And I want to be able to choose either one. Of course, this is needs to be a system that has a API and a CLI so it can be completely automated, but we have a UI here to help It be clear what it is. We're trying to do So I've chosen AWS and then based on that my next step is to choose What load balancers are available in that right and obviously the application has to be able to know Well what capabilities well has to be able to express what capabilities it requires of A load balancer for it to be a valid selection in this context and it has to understand What infrastructure the infrastructure that is the target can possibly provide, right? So we'll you know what what is deployable and manageable in that infrastructure and so if you think about this use case It means that you have to have Not only understanding of that underlying infrastructure, but the ability to deal with different layers of abstraction in the system so we did this experiment in Marano, so Marano is an open-stack project Actually, it's been a part of the open-stack namespace for quite some time And we wanted to take a minute to explain what it is so you can get as Alex is going to explain more details of this experiment and the work we're doing It makes sense. So Marano fundamentally is an integration framework. So It is also a catalog the open-stack catalog is an important attribute of it. It's a way to publish things, but but At its core is the ability to flexibly describe relationships and dependencies Between application components, right? So it provides a class hierarchy where you can describe sort of abstract classes or very specific concrete classes that Represent what capabilities you want to take advantage of in your application management It also provides a very powerful framework for being extremely explicit about the inputs and outputs on those those classes and it's extremely powerful because it matches both You have the power of declarative infrastructure Programming where you say this is the state. I want to be but also it's imperative it can take inputs from other systems or users and then do it then else kind of logic or looping logic, right and and doing those things In other frameworks is often very complex and Marano does this in a very nice way It's very important to state that it Essentially has an API so the whole idea of all of this is that we are automating this from some higher level system like a Business process system or an OSS Has CLI so the developer can interact with it or or it could be automated in your in your continuous deployment framework and It has a catalog and the catalog The reason we chose the Lego motif for the slide is the catalog allows you to publish building blocks and then higher level building blocks So it's a it's a mechanism for enabling your developers to collaborate across Very disparate domains. So you can have developers were focusing on database capabilities and developers were focusing on What does it mean to add or remove a customer from your customer system? And they don't have to You know, this is a place for them to publish the interfaces for how they work and create dependencies between these things So I can compose an application that depends on a bunch of other building blocks So I think that's that a high level. This is the way I like to think about Marano From here Alex will take it So let's dive into details a little bit I'm not going to frighten you with technical implementation details But let's speak about what is Marano under the hood? What is under those flexibilities specificity and power and how it empowers you the application developers? To target your applications to multiple clouds So let's start with the flexibility part with the class hierarchy as an application developers Any application developer probably knows one of the most powerful things in the software development world is the object-oriented paradigm because it provides a very clear and very Very simple idea of going from abstract to the concrete And that's what we have put into core of Marano the very core of Marano Because Marano is actually under the hood below all those cloud-specific and open-stack specific layers is a fully powerful object-oriented language which operates on regular good old classes with properties attributes and methods and Almost a regular slightly different, but you may think it's a regular object-oriented hierarchy of inheritance chains It supports multiple inheritance with a very with some special Special magic, but from the user's point of view it provides you an hierarchy of Classes where on the top there are abstract entities and on the bottom there are concrete implementations of the specific things so when you speak about their orchestration of resources and clouds When you speak when you think of it on the high level you just need to orchestrate resources for example the compute resources like nodes and From the application point of view it often doesn't matter what kind of node that is It may be a virtual machine running on some cloud that may be a bare metal node We just which was pre-deployed by some admins and have the SSH connection on it Or that may be a container everybody speak about container right now so For the application developer. I often don't care as an application developer I just need my software to be installable on whatever node it is and make use of the generic capabilities of it However, if I want to target my node for the specific cloud I may say that okay I want my application to run on Amazon or OpenStack node or Windows Azure node, you know Morano once started as a Windows data center deployment application And so we still have passion for Windows and for developers developers developers all the stuff So but besides Windows besides Amazon besides OpenStack We all operate on abstractions and on different layer of abstractions So what we want our developers to be able to is to choose the abstraction layer They need is to choose a specific set of Requirements they need for a particular goal and here comes our next part the designed by contract paradigm that another corner cornerstone of Morano and another basic paradigm we have Invented when not invented used when we're designing Morano score Morano's engine So designed by contract allows you as an application developer to specify the required inputs or required resources or required objects Which are needed for your applications to run and specify on the very specific level of details you need and The rest of the details will be substituted by their environment by the policy by the exact cloud You have chosen to deploy your application for so this is a very simple example as a user I will just say that I need a powerful database. That's what the user. I just Request so more engineering like approach will be to just reformated that I need a sequel compatible database that runs on a node we which has at least X IOPS like X may be a user input and and This is a engineering requirement which needs to be expressed in Morano So that the Morano application is able to choose between different building blocks those Lego bricks Suitable for that particular application So in our slide here, we have the application on the left and the database which is an input property for that egg required attribute for the application to run and the contract on that input property says that It should be a powerful database and now let's reformulate that in Morano language So at the first part the contract just stayed any object the dollar sign just corresponds to just plain old object So under on the right we have the applications which sued the current contract of course Any object much anything on the right now? Let's just write our contract and say that we need a sequel compatible database We have modified our contract and we have added this Keyword check for the class which means that the object which is being passed to this property should inherit The base class from DB package called sequel compatible There's just a basic interface which comes out with standard standard Morano application library and Any application developer in the world who targets the application for Morano may inherit their Classes in their packages from these base interface so any interface any application which inherits this interface will be filtered by this contract and so you may see that My sequel postgres sequel to the trove Maria DB and Oracle PDB matches this contract, but MongoDB is Unlucky unlucky. Well, Mongo is Not very good at sequel So let's modify the contract slightly. Let's say that we are just speaking about sequel compatible But we want just a my sequel compatible. So I have changed the contract. I have changed the base class for the interface and The filtering got slightly stricter so the postgres and Oracle are out of luck here and now we have just a choice of two Two applications to Morano applications one just provides my sequel which Is is being deployed on a virtual machine by Morano or it may be a container or well anything which is Deploys the my sequel server on demand and the second implementation is trove Maria DB That's the implementation which uses open stack trove to provide databases on demand So database as a service using trove There are two applications in Morano, which inherit the same base interface DB my sequel but have different Implementations of the same thing. However, let me add the third part of the contract. Let me check that the Node which runs database as a flavor and the IOPS attribute of that flavor is greater than X So for the virtual machine base deployments, we can get the flavor can get the node first of all we can get the flavor and we can get the IOPS attribute of that flavor and so we may check that the Particular attributes of the particular object in morano deployment matches that contract So for trove, we do not have nodes since trove is an open stack service It's not it doesn't run on virtual machines and of course, we don't have flavors for them And it's important to notice that this is not just it's a picking of existing objects But this is also a contract which applies on the creation of new objects So when your morano environment does not have the database already deployed Morano will just offer you to create a new database and those when you are Customizing its properties it will not allow you to pick the class which doesn't match the contract or to pick the value of Instance flavor, which does not match the contract. So at this point, you will be just guided by morano to the proper deployment configuration and so when you build that configuration you will have the deployment capable to Bind all the building blocks provided by different application developers to suit your needs so that's designed by contract and Now let's move to the last part of what is morano. So that's a declarative versus imperative Well, that's also the basic programming paradigm. Nothing new invented here And the idea is that morano actually combines both this approaches and that's what brings more power to it So when you're speaking about declarative, you're just defining the final state of your infrastructure or applications What you want to achieve so you just specify that you want your application to run on five nodes and they should be connected to a specific network and have floating IP addresses assigned and The final configuration of your say load balance replication should include round robin balance seen on HTTP 80 That's a declarative definition of what you want and this is actually the input properties validated by the contracts we have just discussed But then how you actually do how you achieve that final state? That's usually a different problem and it has different types of solutions So for example in case of heat we have the declarative part expressed as a heat stack as heat stack template and And the imperative part is usually implemented as heat plugins which now how to properly communicate with Underline open-stack APIs and services to provision VMs to create networks to bind VMs to this networks and to execute the software configuration on those VMs and That's cool. That's powerful. But as application developer I very often do not have the access to the heat plugins since heat plugins require the administrative privileges to be deployed on the particular cloud and We wanted Murano to be a catalog of applications So this Lego bricks could be contributed by different people from around the world who do not have Administrative privileges on the clouds on which these applications will be run And so we have added their imperative capabilities to Murano So the actual workflows actual scenarios the actual sequences of API calls Could be expressed not in Python or some other high-level programming language, which requires, you know hardcore programming skills But to be part of Murano class definitions Murano classes are defined in a very simple plain YAML notation which just Available to pretty much everyone who has access to the cloud and can upload the Murano packages to it And so you are able as a application developer to specify the workflows which will Provide the interaction with external APIs or something internal some data transformation or some user notification schemas or well pretty much everything which is Which is required for your application to properly run at the same time. It's safe From run a PL code, that's how we call our programming language Murano Pell from run a Pell code You cannot execute nothing which will compromise your cloud. You cannot do arbitrary input output You can just call the specific set of cloud APIs You cannot do input output operations on files with on your on your controller nodes on OpenStack hardware because it's it may be unsafe to do that since the code is provided by the end user and so it's a balance of power in terms of programming power and the safety and security in terms of sandboxed environments and So how all of this applies to? Multicloud approach So as I said the base class hierarchy allows us to build their risk to build that abstractions of the cloud resources and have their implementations for different kind of cloud providers So for the node for the compute node instance We have an obstruction for OpenStack VM. We have an obstruction for VMware VM We have instruction for Amazon VM and we have an instruction for Kubernetes pod and Docker container all of them may be considered just a regular compute node and here is the Just sample topology sample architecture of what we have done in Murano So it just stops being just theory it becomes practice and it's even works Which is stretch to me. So we are combining OpenStack cloud with AWS EC2 cloud Orchestrated by Murano So in our private OpenStack cloud we run Murano in a regular deployment way So you just may take regular Dev stack. Don't forget that Murano is just Playing upstream project Available to any OpenStack deployment. You just take the Dev stack deploy Murano Just run the VMs with it But at the same time you are able to communicate from Murano engine with Amazon EC2 APS We are a regular HTTP protocol This will allow Murano to spin up VMs in AWS at the same time Murano needs to configure VMs and Very often it's quite impossible to just SSH to your public cloud nodes because you don't want your public cloud nodes to be Accessible with SSH. So we have suggested the topology which has a dedicated virtual machine in AWS space Which runs a messaging broker. We use RabbitMQ, but there may be plenty of choices and that VM is also deployed by Murano, but It has a capability to configure the other VMs by providing a message bus So Murano just puts the messages in MQP protocol just into this messaging broker And those are VMs which are spawned by AWS communicate with that message broker and receive the commands. So this allows you to establish the connection between Murano and the AWS spawned VMs without Opening them to the world So you just have to secure the single message broker machine or you may have a cluster of them if you need higher performance But that definitely just reduces the surface of attack in case you assume that your public cloud may be compromised At the same time very often when you need the hybrid cloud approach You need to be able to communicate back from the public VMs to the private ones or to Containers running in your private cloud. For example, when you have a hybrid application running the two-tire or three-tire Applications three-tire topology when the front-end for example runs in public cloud and the back-end runs in the private one You need to have a connection between public and private to get the data And for that you may utilize any technology which is accessible in that particular cloud So for example AWS has a VPC which allows you to establish the connection between Amazon's network and your enterprise network And if that cloud doesn't support you have another implementation of that base class We just allows to establish the connection using some other generic VPN technology for example in our example, we have deployed the open VPN on all the nodes and those Established the VPN to our private network. So this gives us the basic understanding of what we can do besides VMs We can we can also have the networks. We have security groups. We have ports. We have volumes All of these are abstracted as a base class in Morano library and have the concrete implementations for both AWS and OpenStack And we'll add more Then this is just a way how to deploy the applications in Morano. This is a very simple and quite naive way to do that Morano environments consist of multiple applications which just provide the deploy logic and own the resources like node the nodes on the nodes or own the VMs and Those owning their states. So when the application deploy the node it calls the underlying Underline class which knows how to communicate with that particular cloud for OpenStack We use heat for AWS. We just use AWS API and then just applications run their deploy procedures concurrently and this just gives us the deployment of complex multi-part application. However, this thing has has issues It's too open. That's the most important and too flexible. Sometimes it's a bad for the application developers The flexibility means that they're on their own when they just have to implement the whole deployment logic. Morano just says, okay, you have an application you have a method called deploy put all your logic there and the application developer has to put the Morano PL imperative logic to Spounder resources, put the scripts on them, run them and so on. That's too too open too Unopinionated. So the developers often say, okay, we just don't want that. We'll just use our old plain puppets for example And often they have the common mistakes when they are following this approach. For example They are storing the state of the things on the VMs and VMs in the clouds are cattle They can be killed at any time and be responded at any given moment So the state should be persisted in their orchestrator, which is Morano in this case So what we are suggesting is to just bring more application lifecycle management to Morano and to Morano applications We are suggesting an even driven workflow model. So the Morano applications written by by the developers just provide the hooks or event handlers for different kind of Events happening during the application lifecycle. For example, when the application let me just switch to the next slide So this is a example of even driven workflow. So the application just to the right It just provides the handlers of different lifecycle events like the reconfigure when you decide on which nodes to install the application the Installing a node when you just upload the particular software configuration script on the node and run it and different handlers like what to do on start what to do on stop what to do on health check and so on and The other set of classes which we call node set group the different kind of resources and orchestrate them Independently of applications and just notifying the application that it needs to do some event handler like when I have spawned a new VM or a new container I just need the application to configure it properly So I just pass this node to the application and the application has access to its base interfaces to call the appropriate methods and As a result we Having some opinionated workflow some reference some reference models of Sequences of events which will happen on the nodes and will happen on applications And here is just a brief list of what we just added for the first prototype For the application developer of course the application developer doesn't have to just specify all of them If you don't want your application to be healable you don't need to implement the health checks or heal up or Like if you are pretty sure that your software will never be upgraded probably you don't need the check for upgrades But you better have but so this is just a base set of application lifecycle events and That's already the QASF. I think I had one more slide So the idea is that we will have the base reference architectures. I think it's like Here, yeah, so we'll have the basic reference implementations for standard Enterprise grade patterns like the stateful stateful applications like databases the stateless applications like web farms and Combinations of these into two three and entire sets. We will have this reference implementations be cloud diagnostic So they will operate on the base node class base network class base port class security group and so on So you will not depend on the particular cloud implementation when you are defining your application But if other application developers need more specific functionality of some cloud They may always narrow down the contract by applying the extra checks and extra type typecasts at the particular implementations they're writing So that's how we are going to That's how we are going to work with With morano I think yeah, this is a call to action slide So this was just a description of the prototype We have done with morano and we are going to turn this prototype into a full-fledged Application framework which will be released with a new turn release of OpenStack or maybe even somewhere before that So we want you the developers or Consumers of the cloud applications to join this effort to frame the set of requirements you need for the multi-cloud Use cases you may have and join the collaborative effort of morano OpenStack community and Just make sure that you are heard your voice is heard and your use cases are reflected in the framework Which we are going to build so join the morano development team and Try joining us on Thursday when we are going to have the designs design summit sessions To decide what we are going to do in Newton with morano as one guy once said Developers developers developers developers we need you guys. Thank you Thanks Questions it was that clear Yeah, come on up to the mic The lifecycle management does it include like the evacuate is the one that deletes the VM that gets created in the AWS or something How does you know morano controls like you know once a VM is created in the AWS because I saw Morano is now controlling actively actually Acting as a control plane for the VMs that is getting spinned up in the AWS Not the OpenStack control plane if I understand correctly. Yeah, so There are two questions one how do how do we delete the VM that is getting created in the AWS number one? And if morano is not, you know, if the OpenStack control plane is not Controlling the VMs that are spawned in the other cloud environments. Would it put it? You know risk in morano because morano is additional plug-in for now actually Well, this thanks for the question So there are several parts here So how we manage the resources so the idea is that morano owns the state of the application at runs and the state includes the reference to the particular resource which Just runs the VM or network or whatever. So morano always aware where where some resources run and so when the Resources they are located morano knows how to not morano the application developer who Defined that resource may provide a code to free up the resources in the particular in the particular particular cloud so to just Remove the VM from any cloud where you have created it. You just need to remove the resource from morano Object graph which just represents the current state of the environment and morano will take care of calling the appropriate event handlers to Free up the resource. Of course, this requires a morano control plane to be available at that time So if the morano itself dies as a service, then of course, this will not happen However, morano as a service is high available So it just has a multiple workers that has its own load balancers And it's actually quite independent from the rest of open stack Infrastructure in terms of when it when it comes to orchestrating other clouds, you don't need keystone You don't need nova. You don't need heat. You just need morano services to run and because of that morano being able to keep track on the state always is able to just free up the resources whenever they are in open stack or in AWS or whatever So I think that this should answer a question, but please let me know if it doesn't other questions As an application developer Could you explain? What all things that I'll have to write to so let's say if I am developing a multi-tier Java web app and I want to deploy it to Let's say AWS or some just one particular infrastructure So if I understand correctly, I need to be able to write not only the actual Java stuff, but also the morano language Understand that and write event handlers. What happens when a node gets Deallocated and things like that. So what's the power of the morano language and Do you think that now that is complicating the life of application developers to have to actually write two different things? Okay, yes, the question is good and the thing is that You may define the application life cycles handlers if you need to but you don't have to Because the base classes on the hierarchy are already there So if you're just running just yet another Java application and you don't want to redefine the topology Most probably you'll have a base class for Java application Which is already present in the library and written either by morano team or by someone else so what you just have to do is to instantiate that object with providing say your git repository where it Takes the sources of your Java application and everything else including like provisioning VMs checking out the source code it Running like maven to build up your jars and then deploying the jars on your Tomcat container Will be just done for you But the power is that you're able to customize the deployment by combining different LEGO bricks So the default applications may use Tomcat to host a job application What happens if you want to use web sphere or J boss? Probably there is another morano application run a package which knows how to deploy J boss but what happens if it Exists but does a thing not in the right way in the thing in a way that you would like to redefine some part of that workflow like Do some post configuration of your J boss after it's installed. So you just take the existing applications subclass it just create the derived class override the particular like on post configure method and Just run some script on the VM which will be running the J boss container and after that this newly modified J boss application will be able to work with all other Java applications We just require a server container because it implements the standard J boss interface Which is which on its own implements the base So that container interface so that's just a regular object rented approach Which allows you to combine things into a single Meta application and you are able to substitute smaller bricks with the ones on your own and Speaking about the language complexity. Well, yes, it's always hard when you have to learn the new language however morano PL was Designed so it's easy to learn and it has its It's form its container format as YAML. So it's just a regular YAML YAML like thing. So I Think yeah, so this is just an example of the declaration of the slide the slides already gone So yeah, if you want I you make just come come by to my laptop And I'll just show you how the YAMLs look like it's yeah, here it is. So that's just a definition of the Application we have it's Apache HTTP server it extends the standard application class and it adds the two properties on it So you have the contracts you have default values. So it's reasonably simple And it does not add complexity when you don't need it But when you need it, it's on the on the way to help you to just define the needed parts Or redefine the needed parts of the workflow other questions I Have a question How different is morano than other past solutions like cloud foundry and you know open shift looks like there's a lot of Duplication here. So I'm trying to understand that Great question So first of all, we don't want to duplicate anything which we can Reuse the idea is that morano is an integration framework. It's not an opinionated orchestration tool or I don't know wondering to rule them all it's a thing which just can help you abstract the different things into some base standard baseline standard and Delegate the actual implementation to the particular Particular implementation so it may deploy the applications with cloud foundry and at the same time It may provide the interfaces for cloud foundry to deploy its Application via morano and we actually have this implementation already present in morano upstream We have the service broker API of cloud foundry and so morano may act as cloud foundry service broker and at the same time morano is Not commercial or proprietary product it's part of the open stack big 10 and the idea is that for people are targeting their applications for Open stack and so first of all for open stack and then for other clouds they want to have like the minimum common denominator which will provide the Universal capabilities for all open-stack clouds and that's going to be morano and then if they want to have the specific implementation which will utilize the maximum powerful of the particular tool be it a cloud foundry be it any other software configuration or Infrastructure orchestration tool they may have the morano package which does it for them by implementing the same base interface Well, thank you guys very much appreciate it. Do you have any questions? We'll be up here


Hey everyone, so today's a bit of a different video. We're going to be looking at some switch OLED accessories and all that jazz. It originally was going to be a video where it said, hey, here's some essential OLED accessories. I maybe realize, however, that for starters, accessories are never essential, right? Everything you get out of the box with switch, from the dock, the tablet, everything, whether it's this switch, the original switch, a light or this, you basically have everything you need. But I would say there is a point to some accessories where they make things just a bit more comfortable or more convenient in some ways. So we're going to take a look at a bunch of accessories here that were sent to me full disclosure. I actually reached out to them because I wasn't sure when these would be available and they offered to send me a bunch of this stuff. This is all coming from Skulling Company, but they didn't pay me and you'll, let's just say I'm glad they didn't pay me because not everything I have to say is super glowing about all of these products. But we are going to look at some stuff here because, believe it or not, a lot of your current switch accessories won't work with the OLED, at least if you're talking about things like grips. They just don't work with, your old grip won't work with the OLED. So we're going to talk about some stuff here and whether or not I recommend these products. That being said before we do, we are giving away three copies of Metroid Dread this month to enter, just be subscribed, and we will have additional details on how to complete all the entries later this month. But you got to be subscribed for any of our giveaways, which we do some during live streams. We do some without live streams. Every giveaway on our channel, you got to be subscribed to win. All right, folks, that's a Emmy.  So let's take a look at some of the the main main accessories. Obviously, there is this package that they sell right now for $40 Skull and Company does. This is what they are calling their Neo Grip Plus Max Carry Case and included in this is a case, which you can see right here. You get the Neo Grip and you get tempered glass. Now, I already have installed the tempered glass on here and it is a perfect fit. So we're not going to go over like how to install tempered glass. Tempered glass is what it is. You don't have to use them for tempered glass. There are official tempered glass out there that already exist for this. There's third party ones as well, obviously with Skull and Company. It's tempered glass. I'm not going to say you need to go through them to get it, but it is kind of cool that it's included in a $40 package. At least it's $40 right now. I think it's on sale. And this is their Grip. Now, what makes their Grip very interesting to me is that it's different than the Satisfy Grip. Now, Satisfy is widely considered to be one of the best grips for Nintendo Switch. And the reason is because it adjusts your right hand. So the right hand isn't always fully comfortable on here. So what happens is they took the Grip and they extended it out. So it makes your hand flare out a bit like this, which puts your thumb in a more comfortable position. This Grip does not do that. This Grip does have some unique nature to it though, in that these things slide off like that. And you can exchange them for different ones like this. Look, you can have less of one. We can slide this one off and I believe there's actually some extra ones somewhere. Let's see, I'm looking in the case. No, those ones came from in the case. So there was extra ones in there. I think there was an extra set. Oh, they're still in the box. There you go. So there's three sets of ones that it comes with. I prefer the ones that it defaults with. But there's also these ones as well, which offer a slightly different shape. Whoops. Don't worry, they are just made of plastic. So you're not going to ruin them by dropping them. These ones are a bit bulkier, it seems. Just a little bit more bulky than the ones that are on here. Let's see which one goes on which side. Let's see. I think this one goes... I think I had that right. So there's just like a little rail system here that it just kind of slides on, then clicks and there you go. These ones are a little different than the ones that come installed by default because the ones by default have kind of a trigger sort of on it that you don't really use. It's more so just to place your fingers. So it's all about personal comfort of course. And then we'll get this one slid on here as well, just like that. And yeah, I mean these ones are just as comfortable I'd say as these other ones. They just have a slightly different backside to them. But the thing that... there's a couple things I like about this grip in comparison to say the satisfied grip is for starters, this one is obviously purposely designed for this. You can use this by the way with your original switch. There are three screws right here.  So this is usable with both of the main switch devices. It's not usable with switch light as far as I'm aware. But setting that aside, I like how this grip works because this grip can do something the satisfied grip can't. Now I want to note what I'm about to show you is not officially supported by Skulling Company and they will tell you on their website, you can't do this. But I proved you can. And it's not that difficult. So first off, let's slide the switch in. Forgive my fingerprints on here.  So it just slides in like that, nice and tight. You can just leave it like this and just freely slide it out. I prefer using the little lock they have with which just slides in back here, locks it in place. It just makes it feel more secure. And you know if you get angry and you go like this, the switch isn't going to fly out. So yeah, I prefer to keep that lock on there.  They do have a neon colored version of this as well to match the other switch OLED variation. But what I think is really neat about this that you can't do with the satisfied grip is this. Oh look, it doesn't dock, right? Oh look, it docked. Yeah, Skull and Company told me I couldn't do this. They said it would not dock. It does. Now when you do look at the dock, it does bend it out a little bit. So that is why they're saying that this is not officially supported. And you might be thinking, Nate, if it bends it out a little bit, why would you do it? Well, with the glass screen protector on, I'm not actually worried about scratching anything. And I have put this thing in and out of the dock, I don't know, probably over 30 times in the last 24 hours. And I have zero scratches on my glass screen protector. So it's obviously not scratching that. And this plastic can bend. I'm not sure you're aware. The plastic on the dock is flimsy. It bends. You can clamp it in or clamp it out. So you're not going to hurt the plastic. So it goes in like this. And then you just put a little bit of extra pressure, not much. And it's already in. So that's a dockable grip. To me, that's vitally important when you're talking about grips because the number one thing I don't like about the satisfied grip is on someone who plays a lot in dock mode and also a lot in handheld mode. And while some of you guys don't mind taking things in and out of the grip, the little bit of steps that includes this is just a bigger convenience to me. I don't have to take it out of this grip. Everything just works. And I could just leave it alone. I love this. I literally can just always use this, especially since obviously it comes with this case. And it perfectly fits in the case. The case itself also, by the way, doubles is like these little kickstand rivets in here. I don't really care about that too much. It's just one of those cases that has those rivets. But everything just perfectly fits in the case. This is pretty much, I wouldn't say there's anything special about this case. It's just kind of a bog standard case, right? You got your pouch up here. You got your game cartridge slots. You got your protecting the screen, all that jazz. So I wouldn't say there's anything like super special about this case.  It velcros in, everything closes up. It just perfectly fits it with the grip. That's kind of the big thing about this case is it's more so meant for to be used with the grip. There's also an extra storage compartment underneath that's meant to store these, but you can store a power cord or anything you want in it as well. So the case is fine. And it's pretty hard. So I mean, again, I would say this $40 accessory packet to me is worth it just because this grip is dockable. And yes, even though it's not off centered like the satisfied grip, this is still significantly more comfortable. And honestly, having used the satisfied grip and now using this one, it's not that big of a deal to me. So I honestly think this is actually a really great package, only 40 bucks. You get the case, you get a screen protector, a tempered glass screen protector, and you get a grip that technically works with the dock. Now, because they said it didn't work with the dock, I did I did ask them, Hey, can I get this? So this thing here is called the jump gate, the jump gate dock.  Third party docs are kind of a mess with Nintendo Switch because some of them will break your switch.  And they'd made some interesting discoveries when doing that. And they have got this dock tuned to not break your switch. This is what they claim anyways. And to their credit, it hasn't bricked any of my switches. Granted, I've always used the official Nintendo adapter, and really any HDMI cable works fine. This dock has a few features. Obviously, you can get a little extra support for your switch. And I kind of got this push up mechanism, give it a little bit more support in the back. It comes with two USB ports, it does come with the HDMI port. It does not have a LAN port. You can also kickstand it up a little bit and angle your switch more. You can also use this as a charging stand on a table. So there's a lot of multiple uses. What really turned me on about this particular one though is this feature. So let's say we're five, six years from now, you don't really use your switch anymore. You know, a lot of accessories like this don't matter at that point. Because the whole point of getting an accessory like this isn't that you need it, right? I just showed you, you can dock it in here. It's because, hey, when you're on the go, I mean, look at the, look at the size difference here. I mean, come on now. This is obviously a much more portable dock and just easy to, does this fit in the case? Hold on. Maybe this is like something you could fit in the case.  See this compartment that I mentioned was in here? Bam. Look at that. So seriously, super portable. Can even fit it right in the case. So what I liked about this though is when you're all done and say, you don't need this sort of docking station anymore because you don't really use your switch in however many years. You know what this doubles as? There's this little thing back here you can pull out and look at this. You can slide this into a USB-C port on your laptop and you will get, you know, not only an extra USB-C port that you can do pass-through for charging as well for laptops and HDMI port and two USB-A ports. You also get SD card slots. This would be awesome for Micro and the big boy ones. This would be great to use for any content sort of creation or basically anything, what do you need extra ports on your laptop? I'm like, man, that's really cool. It's like a double use thing. I thought that was probably one of the coolest things about this jump gate dock.  Because that's obviously a big concern with third-party docks. And the answer is, well, yes and no. So it works. You can dock any of your switch OLED or regular switch on here no problem. There's different docking angles if you want. I prefer just the default angle it comes with. Works just fine, just like that. No big deal. It docks, it displays an image to your TV. It charges it. Everything's working no problem. It charges accessories. You can use the USB ports. You can hook up an ethernet dongle do it. Everything's fine. Here's where the problem is. I don't know what Nintendo has changed between switch OLED and this switch, but this particular third-party dock with the switch OLED will only output a 480p image. Yes, folks. Yes. Standard resolution 480p. Now, if you hook in an original switch just like that, it'll output 1080p. So I don't really know what is different from here to here. They have the exact same firmware, the exact same updates, but for some reason this one will output a 1080p and this one won't. I have informed Sculling Company about this so they can maybe issue a fix. You are able to update the firmware. I do have the latest firmware on this little dock. So there's a potential this jump gate dock is going to be useful for switch OLED in the future. But for my purposes, now that I've made this my main system, this thing doesn't really have a use for me beyond the jump gate popping out like that and being able to use it with a computer. That's the only use I have for this at the moment until they release firmware that makes this work at 1080p, not 480p. So I don't think that you need to worry about this brick in your systems, but clearly Nintendo is still trying very hard to block third party docks like this. And I think that's a main a big issue with this particular product. So I'm going to kind of leave this in the box until Sculling Company gets back to me and they tell me that they've issued a potential fix. So for right now, I cannot suggest you buy a jump gate dock, a jump gate dock, a jump gate dock unless you're just using it for this switch right here. It likely will get a firmware update eventually. I did let Sculling Company know, but yeah, and you can use this for other things too, it'll charge smartphones and laptops. Again, this is a multi use thing, but it was purposely built for Switch. Unfortunately, Switch OLED, they need to do some tweaks. All right, setting that aside and setting the extra accessories for that come with this $40 package aside, let's look at some other things that they sent me that I think are not really essential, but are things that are fun. So it came in these little packages. And one of the things that came was this, and I wasn't so sure about it. And I'm still not sure about it. This is one of those like, where you can turn your face buttons here into a D pad like this. I haven't had much luck with these in the past. So I am not even going to bother to look at these. Sorry Sculling Company. I'm glad saying I'm mad that you sent me these optional sticker-esque accessories. I've literally, every single time I've tried these, they suck. Maybe yours don't. And if they don't, maybe I'll make a follow up video. But I really don't care about these. Sorry. I appreciate that you sent them to me.  All right. So what else did they send me? Well, they sent me thumbstick grips.  You stick on your thumbsticks here and they can change it from convex to concave. They can add more depth to it. Like this one adds a little more height to it if you're someone who prefers them to be higher. And personally, I've never been a fan of these kind of things. But because they sent them, I figured I'd give them a try. And I've tried all of the sets that comes with three different sets of them. And I've settled on ones that ended up making the sticks go from convex to concave. I actually prefer slight concaveness to my sticks. And I got to admit, I actually enjoy playing my Switch more with them.  And I'm not going to sit here and tell you that these ones are magically better than all the other options on the market. But I can vouch that these ones are really, really good. And I really do like them. And they give you a variety of options if you're someone who wants to try to make those sticks just a smidge more comfortable for yourself. So that's just something to consider. Again, I'm not going to say there's anything special about these, but they are something. They're an option for people like me that apparently I didn't even realize I was going to like them. So that is kudos to them. Now, they also sent me this joy grip. Now, switch comes with a grip. So why? All right, so we got this grip. It's got some plastic I can peel off on it. So let's do a little peel on that. So let's just take these off. I would say the only benefit to this grip, because I mean, you put it on here and it's pretty standard. I mean, you can see what it's doing here, right? The only benefit to this grip is it looks like if you buy this grip, you can slide on some of these accessories. So let's take these other thick ones I have here. And it looks like they have the same sled system on the back. Well, let's let's see. So I guess I could slide that on like that. And this one on like, let's make sure I get a slit on like that. All right, I mean, I don't know. It's fine. I would say this is interesting, I suppose, if you play a lot of handheld and you get used to the position of your hands, and this is basically going to keep that position the same. I suppose I can see a use case there.  So is it really worth buying the joy grip specifically? Is it really going to give you a better experience than this? I mean, this is Nintendo's official one. I don't know, let's let's take it on get a different feel because again, this to me felt like one of the weird things they sent me because Nintendo gives you a grip for free. So like this is Nintendo's. Nintendo's has a bit more flair out. We all know the doggo look. And I mean, all right, it's comfy. Feels good. All right, feels like I remember it always feeling put it back in here. Maybe a way to do it's like this. Let's put the one on the right hand, one on the left, like this. I mean, there's a different feel. There's definitely a different feel. There is a different feel to it. But like, is it enough that I think you should buy a joy grip? I mean, no. I don't know.  But I mean, let's just be honest, they're basically the same. I mean, yeah, I. Okay, it's a thing that exists. So I guess in conclusion, what you really should be looking at is probably this bad boy right here.  Just know they're not dockable. And I prefer a dockable, a dockable situation. That's just my personal preference. That might not be your personal preference. Maybe you only play in handheld so you really don't care. That's entirely fair. And you notice here how easy it is to slide these joy cons out. There's also a different design philosophy between the Skull company and the satisfy satisfy has this like touchless thing going on with their new grip, or they're trying to show you that hey, the grip doesn't really touch your switch because one issue with the old satisfied grip is people like kept taking it in and out of the grip, put it in the dock and use it in handheld, they would they would get a lot of wear and tear in their joy cons. Well, that's one way to fix the problem. Another way to fix the problem is just have your grip be dockable.  If you think there's docks in the first place, who cares? Now keep in mind, Skull company does not advertise this use, but I've been using it like this for days now. And I haven't had any issues, no scratching, no problems.  Who cares? As long as you have that glass screen protector on, I feel fully confident in it. And again, there hasn't been any scratches anyways, and glass is a lot harder to scratch in the first place. So maybe don't do it if you have your if you're using this, I guess, because it uses a plastic front and that's easier to scratch. And then again, you can put a tempered glass screen protector on that switch as well. So I don't know, man, this is my favorite just because of this. So if this is something you value, be able to do this. If that's something you value. Yeah, I think that this is a great proposition plus for 40 bucks, it's really hard to beat the carrying case is pretty quality. As for the jumpgate, this is one of those products I was stupidly excited for. And I'm really glad it works so well with the original switch. But until they get the firmware updated, I can't really suggest that you buy it. I know a lot of you still are going to feel not okay using third party docks. I can't convince you otherwise. If that's the case, all I can say is they do have lots of testing videos proving that they have put a lot of time and thought into this is why I'm kind of surprised there's not already a firmware update to make it work with switch OLED. But who knows how long they've had access to switch OLED, they might have only even they might not even had access to the original switch OLED before launch. They might have only had access to say a prototype or some sort of 3d print one to be able to make other accessories. So I don't know, I can't really suggest this one. Some of the other stuff I'll link to it if it's something you're interested in. Like if you really enjoy these sticker d-pad things, it kind of gives you the SNES look on the buttons. If that's something that interests you, you know, it'll all be down here. I'll put the joy grip down there. Well, again, I don't think the joy grip is really any better than the included grip. But it's not worse. So there is that. So I don't know, kind of a mess in front of me. That was a look at some switch OLED accessories by Skull and Company. Let me know what you think about this stuff down in the comments below. Do you want me to review more accessories? Do you want me to build like the ultimate switch?   I found fans for the new OLED dock because, you know, it needs fans, apparently.   For the most part, all these are fine. This stuff, this one's amazing. The jump gate should be. But all right, folks, I'll catch you guys in the next video.


Just seeing through the propaganda isn't enough. We've got to open our hearts as well. Humanity doesn't just need to escape from the mental prison of imperial indoctrination. It needs to escape from the heart prison as well. I'm always talking here about the need to fight empire propaganda to help the public awaken to the fact that everything we've been trained to believe about the world is a lie. Because that insight, taking root in sufficient numbers, would be the first step toward the revolutionary changes our world so desperately needs. But large numbers of people opening their eyes to the reality of mass scale psychological manipulation by the powerful would by itself be insufficient because people need not only to see the truth, they also need to care. Realizing the depravity and immense human suffering the US centralized empire is responsible for creates an opportunity to respond to this insight with horror and begin resisting it, but it is only an opportunity. At that juncture it's still possible for someone to realize that we're not being told the truth about what's happening in the world but decide to play along with the lies anyway. Either because the existing world order has made them wealthy or because they are too indoctrinated with support for western power structures or because they ideologically support Israel or because they're afraid of the changes and upheaval that would come with an overturning of the status quo or because they are intellectually and morally lazy or for some other reason. Realizing that you've been indoctrinated into accepting a pernicious status quo unlocks an important door within yourself, but just because that door is opened doesn't mean you have to walk through it. Walking through it requires another kind of awakening. An awakening of the heart really no amount of knowledge or intellectual insight will ever set us free as a species in and of itself. You could upload the sum total of human knowledge into the brain of everyone on earth, including even government secrets that aren't public knowledge, but unless this is accompanied by a collective opening of the heart it wouldn't make any difference. Unless people can find it within themselves to care deeply about the horrific things our rulers have been doing to our fellow human beings, no amount of knowledge about those things will catalyze real change. And there are plenty of people who know but don't care. The most powerful government agencies in the world are run by people who know terrible secrets about our ruling power structures that we ordinary members of the public are not allowed to know. But because their loyalty is to the empire and not to humanity, they don't care about the moral implications of what they know or the human suffering the empire is responsible for. So the demand of this moment in history is not just to understand, but to care. Not just to know what's wrong with the world, but to feel it. Not just to awaken on the level of the head, but to awaken on the level of the heart as well. Not just to value our own personal understanding, but to value humanity as a whole. Knowledge of the truth can lead to a profound compassion for the victims of the globe-spanning power structure which rules over us, and a determination to oppose its cruelty. That's why said power structure pours so much energy into keeping everyone propagandized. But it doesn't necessarily need to lead to such compassion. The light of truth can stop its expansion at the gates of the heart, unless there's some willingness from somewhere deep inside us to throw those gates open. Ultimately humanity just needs to wake up. On every level, we need to liberate ourselves from the shackles of propaganda. We need to liberate ourselves from the shackles on our hearts. We need to liberate ourselves from the shackles of the ego. We need to liberate ourselves from the shackles of the dualistic perspective which obfuscates the oneness of all reality from our vision. That's what's being asked of us at this juncture. To wake all the way up and become a conscious species. That's the only way we're ever going to be able to move about on this planet in a healthy and harmonious way. And we'll either rise to the occasion or we won't. We'll either wake up or we'll destroy ourselves. I believe we have the freedom as a species to go either way.