What's going on everybody got Colin jake here with late sports cards, and we are ripping this one is panini mosaic Six bucks number 11 pick your team stop on shop. I got Bernard H with the Lakers got Brad B with the Suns Brandon has the Grizzlies Chris a with the Bucks Chris C has rockets We got cold Pete with the Thunder Cory S has jazz George S has the calves how EW has the Hawks T Wolves and Wizards Hank B has the Pacers Ho W has the Spurs we got Hudson P with the Pistons Jason B has the heat nuggets John M. Has the Hornets Josh not Josh K has the Sixers Lee Wei H has Clippers Louis P has the Celtics Nick V has the Knits Knicks Robert P has the Blazers got Robert S with the Mavs Bulls Raptors Rory has the Pelicans Ryan A with the Nets Sean M has the Magic Kings and the Stofer K has the Warriors All righty guys, let's get going on this one. Oh banger Mosaic hold a banger you were least yesterday Some fun breaks so far Good luck guys number 11. You got three more half cases of this coming up after this Mosaic Gary Trent red streus. Good luck here guys. Good luck. Good luck See some low numbers. We saw one on one yesterday We had one Devonte Graham see if we can get one today as well Mosaic PG got a red Keegan Murray rookie red rookie red Kings notoriety Luca insert Jadal Sohan rookie Silver Tyrese Maxie and pink is gonna be Marvin Bagley to 149 Stargazing Jimmy Butler. Yeah, thank you. Jason grabbing up some spots again today Mosaic is a good-looking set man. I'm digging it Digging it silver is Josh Menant silver rookie T-wolves pink to 149 Time Lord Zion and a yokich moments of refractor Mosaic they call him here. It's a palo rookie Mosaic of Gordon Hayward and red tree Murphy Mosaic in Lofton Grizzlies and blue and beat the process to 199 clay on the straight fire and Stairmasters Maxie Gold one of those yesterday. I like Maxie I'm all in on Maxie Mosaic G. Will and Trey Jones red Hardy and Lebron It's a 49. We got heat on the auto. It's a throwback collage mosaic auto Glenn Rice Its collages are sick man. That's my favorite auto set for sure But Donovich and purples Jordan pool to 99 and we've got a shot our storm chasers nice one there J. Will thunder And a curry breakaway mosaic. Yeah Silver Russ got a red nirkech Introduction so on Walker Kessler and Tyrese Maxie red ready guys there goes box one Box to Lock good luck. All righty guys still got six teams on the next one Nets hornets calves nuggets rockets and nicks Next six to go Dyson Daniels rookie mosaic Portis and red Lebron Lebron Keegan Murray rookie base Mosaic Bobo and a red Conley Mobile or Doma got to 149 Claxton Stairmasters and mosaic montage of Don Mitchell for the Cavs So a rookie Jordan Goodwin pink to 149 Stephen Adams Grizzlies rookie of Shayton Sharp got a mosaic hero and red Dylan Brooks Big busy on these ones Dylan was a move in yesterday mosaic Ludort and Red is going to be RJ Barrett for the Knicks Jabari Smith insert around for some reason Rookie insert Vince Williams mosaic blue to 199 Jaden McDaniels Don Mitchell on the straight fire and Steph Curry notoriety auto is going to go to the Celtics it is one of one on the auto of Antoine Walker one of one black auto Celtics nice one there one of the last teams taken Antoine Walker on the one of one black auto nice one. There's Celtics Appreciate you helping us fill up there. That's super cool one of one on the Antoine Walker Will do Nice hit there Celtics will mag that up Silver Middleton got Kate on the purple the 99 and a storm chasers Luca take that second one to one out of mosaic Man, that's not bad. Not bad in two days Pretty good pace silver of Adams got a red Davion Mitchell Paolo on the insert Silver and bead got red Mikael bridges for the Nets Introductions and a stair masters Jimmy all righty guys box three lock nice hit there Celtics man second one of one on the Antoine Walker any rookie base Mosaic Luca and a red Dyson Daniels rookie for the pelicans Hayden Watson silver Kispert got blue Jalen McDaniels To one 99 we talked about here. I got spectrum, bro. You know how to kids anything Mikael bridges red campaign We're spectrum clients, bro. We don't we don't watch sports Yeah, Max we got to we got to Don Russel eat breaks today. Yes, sir doing those later after mosaic There's a J. Dubb nice silver rookie there Blue to one 99 Jamal Murray and breakaway of Keegan rookie Sohan Don't mess with the Sohan Dante DiVincenzo and red a valentunas Introduction to chat mosaic reddish and red mosaic job. There's a Paolo rookie insert. Hey, good luck Max. Good luck. Let's do it Who looks like stained glass? That looks like stained glass got a Paolo rookie base Rookie Mark Williams and purple rookie nice one there to 99 J. Dubb You go thunder and stained glass is gonna be Luca for the Mavs nice one there Mavs on the stained glass Luca We'll take that Nice hookah Donchich LeBron on the mosaic silver PJ Tucker got a red Ocon Based here in Fox got razzle dazzle coming And Otto is gonna be Pat Conniton on the collage mosaic Otto for the bucks Pat Conniton there Silver Conniton We've got pink to one 49. It's gonna be Tray Murphy and a razzle dazzle is LeBron for the Lakers And Jalen Williams introduction silver Isaiah Stewart red to Rosen Stairmasters Jimmy Ready guys, that'll do it for box number three. Yeah, William taking the nets in the next one down to five now guys five to go Hornets calves nuggets rockets and nicks in the next one pick and next good luck here guys box for Getting guys hornets calves nuggets rockets and nicks to go you chain taking the pelicans in number 13 Mosaic Vince Williams blue is Luca. That's Luca to one 99 Jock and a Stairmasters world B flat Kyrie Silver Josh kitty got red Adams And this one is a storm chasers Yannis nice one there bucks Sick-looking storm chasers. This is pelicans nice one here on the auto pictographs is bi Brandon Ingram there Nice one there dudes a bucket for the pelicans. Nice hit pictographs Otto Vonte Graham we've got Tyce Jones to one 99 And Ben Matherin introductions like the pictographs That in the collage of the good autos. I like those the designs on those Shading sharp base Got Julius Randall and a Tim Hardaway Keegan Murray insert introductions Tatum and swagger deer and fox No problem B Anytime my man Mosaic miles Turner got a red of Oladipo Always time to get some breaks going for you guys man always Silver rookie for the calves. We got Isaiah mobile. That's one there caps Got a Jalen Brown to 149 for the Celtics Stairmasters Tatum got Jaden Ivy rookie Silver Highland and Oladipo to 149 Ivy and a Trey young insert breakout Mosaic Scotty Barnes red Kevin Porter and this one is to 99. It's gonna be Dame on the montage purple Dame Dala Mosaic portal and Nora on the red All right, you guys that doesn't for box for box five here from dust out of here. Yeah, I don't I don't know Warren I'm not sure why that is I don't I don't really have a answer for you, sir Kevin taking the nets in number 13 We still got five to go guys on number 12. Oh, yeah Hornets calves nuggets Rockets and nicks Who's favored I think it's a LSU minus two and a half Blake LSU minus two and a half was the last time I looked Hasn't moved in a while to it's been that way for a bit It's been that way for a bit Mosaic Kyrie Tyrese red Jalen green job. Oh, you know it Blake. Come on now You know, I like FSU. They taking the dub tomorrow fracture Keegan There's Cameron cam Johnson and Bobo red No, it should be close Blake for sure I think it's gonna be close for sure last year literally came down to a blocks a blocked extra point at zeros on the clock One by one. There's a Lonnie Walker to 99 on the purple Jabari Smith on the montage rookie Kessler rookie base Mosaic Clarkson and red is gonna be Blake Wesley rookie. Yeah, I think it should be a good game Definitely probably the best game of the weekend here I don't know why these cards are turned around and for no reason Focotino got a silver of Focotino Purple the 99 Coloco Raptors rookie really close last year I would uh, I would expect probably similar this year Ben Bathman rookie got garland and red deer and fox There's a J dub Rookie Thunder and Jabari behind it Got blue this one is to 199 Tyrese and straight fire Keegan Murray rookie Dear and Fox there auto is gonna go to the Rockets. It's gonna be throwback auto of Calvin Murphy Calvin Murphy throwback auto their Rockets Victor Oladipo to 199. It's got storm chasers. Nice one there. Palo on the rookie insert and Tori Eason Play that song silver of Aaron Gordon got red Marcus smart silver Moses Moody red KCP intro Ivy Stair masters Right you guys last box here number six. This one is a mosaic six box number 11 All right, you guys hornets calves nuggets Rockets and nicks still got five to go Five to go for the next one number 12 here box number six Good luck. Good luck here. It's another one of one. Let's see two here in this half case Let's see two mosaic McGowan's rookie and to 199 Brandon Clark Josh giddy and a Halliburton rookie tie-tie and auto is going to be Rashid Wallace Nice one there collage mosaic for the pistons The big man Rashid Wallace on the not numbered collage mosaic auto silver Reeves We got a blue nice one there to 199 Keegan Murray for the Kings And Keegan Murray notoriety mosaic Couple Keegan's in that pack a red Jimmy Harden and this one is overdrive.  The color looks great on these man. Nice purple process And a Jalen Green montage mosaic cam reddish and a red of Nim hard rookie Pacers Williams introductions and last pack Keegan Murray rookie mosaic even Chinzo and red Brunson And on the back we got sorry Easton said 99 on the purple introductions mosaic Righty there guys that'll do it for the six box number 11 here pick your team style Got number 12 coming up here in just a moment still got five to go. Alrighty guys


What's up everyone it's your girl Kenzie here from Layton Sports Cards and I'm ripping a personal for Jimmy C We've got a 21-22 Panini prism a basketball choice box All right, best of luck Jimmy. Thanks for hopping in look up for one auto Let's see a nebula like Blake said that'd be crazy First we have a blue scope of Ray Allen then it's gonna be 29 out of 39 Young Ray Allen man Super son is right back when he had a hair And a Rudy Gay for the jazz on the Reds go 54 of 88 Milwaukee Bucks Ray Allen This is Cut pretty bad as you can see part of the next card on the top I'm gonna go ahead and send the box here with me Just in case you'd like to get that replace Yeah, it looks like a basketball Yeah, it's cut pretty bad we have silver Josh Jackson for the pistons Silver Jordan pool warriors Yeah, all right our choice exclusives we have Tim Hardaway, Jr Yeah, Justin Holliday for the Pacers Nice I'm a legend big Dirk Dirk Nowitzki and your auto It's gonna be a Ricky Rubio for the Cavs Ricky Rubio on the red choice red scope. Sorry Ricky Rubio Alrighty Jimmy that will do it for your box Congrats on those hits and we will get them right out to you


Hello, welcome to the lecture number 4 of the course, Quantum Mechanics and Molecular Spectroscopy. Before we get on with the lecture number 4, we will have a quick recap of lecture number 3. In lecture number 3, we looked at two important points. First is that an average value of A operator is given by psi A psi, this is nothing but integral psi star A operator. This is also equal to psi psi, this is equal to integral psi star A psi t tau where psi equals to small psi into e to the power of minus i E t by h power. And of course, it is only valid if you know psi is a stationary state. Secondly, we said that the time dependence of the average value of operator A is equal to ih bar average value of the commutator h comma A. It simply means that the average value of A or the expectation value of an operator A will have time dependence or not will depend on whether it will commute with the Hamiltonian or not. If it commutes with Hamiltonian, then there will be no time dependence and if it does not commute with Hamilton, it will show some time dependence. And I also told you that this is very useful in spectroscopy because the operator A corresponding to the interaction of light with the matter or white with molecule or atom does not commute with the Hamiltonian of the molecule or the atom. Therefore, one can make a transition from a one expectation value say 1s orbital or 1s energy level and hydrogen atom to some other energy level say 2s or 2p. There is another interesting thing that is if you have two operators f and g, the uncertainty relation of the expectation value of operators f and g is equal to is always going to be greater than half of f and g commutators. For example, we know that Heisenberg's under uncertainty principle says delta x delta px should be greater than equal to half h bar which means the operator x and operator px do not commute. In fact, this is not equal to 0. Now, so now we know the dependence of the, sorry now we know the time dependence of an average value of A will just depend on the that operator will commute with Hamiltonian or not. We will now go to the second part of our course that is the time dependent perturbation theory. To begin with I will show only time dependent perturbation theory of two states because it has some interesting consequences. So, we will start with time perturbation theory two states. Now, what does this mean? It means the following. For example, if you had a Hamiltonian H naught that means some Hamiltonian for which you know the solution and that acts on a wave function psi 1 that will give you E 1 psi 1 and this H naught acts on psi 2 will give you E 2 psi 2 and H naught has only two solutions that is so therefore psi 1 and psi 2 form a complete set. And what did I say about complete set? Any arbitrary function phi can now be written as a linear combination of A 1 psi 1 plus A 2. This is like a plane, okay. If you have a plane you only need two coordinates x 1 sorry x and y. So, any point in the plane is a linear combination of x and y, okay. So, we have a kind of a restricted environment where the Hamiltonian will be restricted to a plane that is consisting of psi 1 and psi 2, okay. Now, I am going to slightly rewrite this, okay. So, you have H naught in terms of bracket notation 1 is equal to E 1 1 and H naught is equal to E 2 where psi 1 is identically equal to 1 and psi 2 is identically equal to. So, if psi 1 and psi 2 form a complete set then there is another complete set that is nothing but I also told you that there is also another complex set that is made up of complex conjugates of 1 and 2. So, that is nothing but set. So, these two are complex conjugates of each other. So, now we have this problem in which H naught of 1 is equal to E 1 1 and H naught of equal to E 2.  So, what will this perturbation do? It will move the states. So, let me write the Hamiltonian corresponding to the, when you have a perturbation the total Hamiltonian H will be nothing but H naught plus some perturbation H prime of T because we are looking at time dependent perturbation, okay. Now, let us suppose, okay, if there is a point or a ball kept on the surface of the surface of a floor and then one can think of playing a football. So, constantly someone is kicking it, okay because then the ball will keep moving all over the floor or if you go to a football match, okay, then there is this floor or the ground in which there is a football is kept and the ball and the players are kicking the ball in different directions and that is your time dependent perturbation. So, what will it happen? It will keep moving its position but it will but let us assume that it will always restricted to the ground, okay. So, but its position is going to change. So, every time you have a new position, it can be written as a linear combination of some new x and y. So, it has to be a linear combination of new 1 and 2 and this position is going to be time dependent. Therefore, the wave function psi can be now written as a 1 of t to 1 e to the power of minus i e 1 t by h bar or less a 2 of t to e to the power of minus i e 2 t by h bar. So, that is my wave function. That wave function works with this entire Hamiltonian. Of course, if h prime t goes to 0, then a 1 and a 2 will collapse to some value. In fact, either a 1 will go to 0 or a 2 will go to 0, okay. So, now we will go back to our Schrodinger equation which is nothing but i h bar d by dt of psi equals to h psi. So, finally what we want to do is we want to solve this Schrodinger equation with this wave function. So, let us do it. So, this will be i h bar t by dt of a 1 of t e to the power of minus i e 1 t by h bar 1 plus a 2 of t e to the power of minus i e to t by h bar. This should be equal to h bar sorry h into a 1 t e to the power of minus i e 1 t by h bar 1 plus a 2 of t e to the power of minus i e to t by h bar, okay. Now this is a long equation.  I will evaluate the left hand side and right hand side independently and then equate them later. So, let us start with LHS. LHS equals to i h bar d by dt of a 1 of t e to the power of minus i e 1 t by h bar 1 plus a 2 of t e to the power of minus i e to the power of minus i e to t by h bar. Now let us take the derivative. Now we will see that in each of these terms, okay, term 1 and term 1 and term 2, there are two time dependent parts a 1 t and e to the power of minus i e 1 t h bar. Similarly, a 2 t e to the power of minus e to t by h bar. So, you have to use a product toll of differentiation. What you get is i h bar a 1 t dot, okay, where a 1 t dot is equal to d a 1 t by dt. Similarly, a 2 dot of t is equal to d a 2 t by dt. It is just a notation, okay, just keep in mind. When I say put a dot over something, it means it is a time derivative, okay. e to the power of minus i e 1 t by h bar 1 plus a 1 t. Now a 1 t, now I will take the time derivative of the other one. This will be minus i e 1 by h bar e to the power of minus i e 1 t by h bar to 1. Similarly, you get a 2 dot t e to the power of minus i e to t by h bar 2 plus a 2 t minus i e to t by h bar into e to the power of minus i e to t by h bar to 2. So, this I can rewrite as is equal to i h bar a 1 dot t e to the power of minus i e 1 t by h bar 1 plus a 2 dot t e to the power of minus i e to t by h bar 2. Now, you can see there is an i here and there is an i here, i square that will be minus 1 and there is a minus sign as well. So, that will become plus 1. There is a h bar in the numerator and there is an h bar in the denominator. So, these two get cancelled. So, essentially what to get is that plus e 1 into a 1 t e to the power of minus i e 1 t by h bar 1 plus e 2 to a 2 t e to the power of minus i 2 t by h bar. So, there are four terms. I will call this as L 1 that is LHS 1, L2, LHS 2, L3, LHS 3, L4, LHS 4. Now, let us look at the RHS.  I want to quickly go back and see that there are four terms. The first two terms are the time derivatives with respect to a 1 and a 2 and the second two terms have this energy values e 1 and e 2. So, something that you must remember. Now, this is equal to nothing, this is nothing but is equal to your h is nothing but h naught plus h prime t. Now, this must act on a 1 of t e to the power of minus i e 1 t by h bar 1 plus a 2 t e to the power of minus i e 1 t by h bar 2. So, this will be nothing but a 1 of t e to the power of minus i e 1 t by h bar h naught will only act on 1. So, h naught acting on 1 plus a 2 times t e to the power of minus i e 2 t by h bar h naught acting on 2. You see because h naught is your initial Hamiltonian which is nothing but your time independent Hamiltonian. So, it will not act on anything that is time dependent. So, either a 1 t or e to the power of minus i e 1 t by h bar it will only act on the state a 1 and give you e 1 1. Similarly, the second part of the equation plus a 1 t h prime t now acting on e to the power of minus i e 1 t by h bar acting on 1 plus a 2 times t h prime t acting on e to the power of minus i e 2 t by h bar. So, these are the 4 terms that you will get now I will act. Now, when h naught acts on 1 you will give me e 1 1. So, this will become e 1 e 1 of t e to the power of minus i e 1 t by h bar 1 plus second one h naught acting on 2 will give e 2 t. So, e 2 a 2 of t e to the power of minus i e 2 t by h bar 2 plus the 2 terms that is a naught a 1 t h prime of t acting on e to the power of minus i e 1 t by h bar 1 plus a 2 of t h prime of t acting on e to the power of minus i e 2 t by h bar. So, here also we get 4 terms this I will call it as right hand side 1 R 1, right hand side term 2 R 2, right hand side term R 3, right hand side term 4 R 4. So, but you know LHS and RHS must be equal. So, LHS must be equal to RHS. Now, you will quickly see that L 3 term is equal to R 1 term and L 4 term is equal to R 2 term. So, this one and this one here R 1, R 2 will be equal to L 3, L 3 and L 4. So, since L 3 and L 4 are L 3 and L 4 are equal to R 1 plus R 2. So, which means you can cancel out each other. So, what you will be left out with is i h bar e to the power of minus i e 1 t by h bar 1 plus a 2 dot t e to the power of minus i e 2 t by h bar is equal to a 1 t h prime t acting on e to the power of minus i e 1 t by h bar 1 plus a 2 t h prime t acting on e to the power of minus i e 2 t by h bar. So, this is what you get from that equation.   I am going to multiply psi 1 star on the left. This simply means that I will put a function like that and multiply and integrate. Now, if I do that I will get i h bar 1 a 1 dot t e to the power of minus i e 1 t by h bar 1 plus 1 a 2 dot t e to the power of minus i e 2 t by h bar this is equal to 1 a 1 t h prime t e to the power of minus i e 1 t by h bar 1 plus 1 a 2 t h prime t e to the power of minus i e 2 t by h bar 2. Okay. I will have four integrals that I have to evaluate. If I can evaluate these four integrals, then I will know the time dependence of this perturbation. We will carry on the remaining part in the next lecture. I am going to stop now. Thank you.


So this is the continuation of the previous lecture and my aim is to explain why the implicit function is function theorem is important namely that it helps you to think of the zero locus of a function of two complex variables as a Riemann surface. So what I told in the last lecture was what the idea of a Riemann surface is namely it is a you may call it a device or it is a structure that allows you to do complex analysis on a surface okay a surface that you can for example imagine in three space like the cylinder or the sphere or the torus and the method is that you try to define when a function on at a point of the surface defined on a neighbourhood at a point on the surface is holomorphic or analytic and you do that by composing the function with a coordinate chart at that point and then to make sure that the resulting definition of an analytic function is consistent you only use charts collection of charts which have the property that whenever two charts intersect the corresponding transition function is holomorphic which is equivalent to saying that the transition function is a holomorphic isomorphism okay it is a holomorphic function which has an inverse which is also holomorphic okay and the moment you give x your surface x a collection of charts that covers every point and which are pairwise compatible then you make x into a Riemann surface okay and then you can study you can define and study holomorphic functions analytic functions on the Riemann surface and you expect that by studying the properties of analytic functions on the surface you will be able to get some information about the geometry of the surface or you expect the geometry of the surface to be reflected when you study the analytic functions on the surface or the holomorphic functions on the surface. So of course the application that I have in mind is to look at the implicit function theorem okay for a function of two variables so let me do that right away application of the implicit function theorem okay. Suppose f from C2 to C is holomorphic I mean which is the same as analytic in each variable okay what this means is that you write f what it means is that you write f is equal to f of z, w z is the first complex variables w is the second complex variable and f is of course you know of course you are assuming f to be continuous right and for each fixed value of w the resulting function of z is analytic and for each fixed value of z the resulting function of w is analytic you assume that okay so it is analytic in each separately in each variable right and we want to look at the locus f of z, w equal to 0 in C2 okay. So you are looking at this the points in C2 which are zeros of this function you are looking at the zero locus of this function okay. So that is it is just f inverse of 0 it is a inverse image under f of 0 all those points which go to 0 under f okay the first thing that you should realize is that if you think very nively heuristically C2 is two dimensions and if you look at the locus f equal to 0 okay you are looking at you are cutting down by one equation so the locus must be one dimension it should be one dimension less from a space of two dimensions you are looking at solutions of one equation so the dimension has to come down by one so the resulting should be one complex dimension okay so it should be a surface so you expect it to be a surface which it is provided f is good enough okay. So now what I am going to do is suppose we look at a point a point in the locus say z not, w not so this is a point where f is 0 okay suppose you are looking at a point like this okay and then what I do is that I look at the conditions that I need to apply the implicit function theorem okay and what is the implicit function theorem say the implicit function theorem says that your function the explicit the implicit function can be solved to give an explicit relationship for a variable in terms of the other variable provided the partial derivative with respect to that variable is not 0 okay. So if do f zeta, eta by doh zeta alright at z not, w not it is not 0 suppose it is not 0 alright this means that you know you are looking at f as a function of the first variable keeping the second variable equal to w not okay and then you are taking its derivative and then you are evaluating that derivative at z not okay this is the same as d by d z of f of z, w not at z equal to z not alright and if that is not 0 the implicit function theorem says by the implicit function theorem there exists a delta greater than 0 such that so let me write that down basically it says that since the partial derivative with respect to the first variable is not 0 you can solve for the first variable explicitly as a function of the second variable at that point okay. So in other words there is a delta greater than 0 such that for all w with not w minus w not less than delta we get a function E z as a function of w satisfying f of E z, w namely f of E w, w equal to 0 this is what the implicit function theorem says okay this is what the implicit function theorem says.  So here is C and here is C okay so each I have drawn only a line okay but I wanted to think of this as C and this also as C alright and then I am actually drawing the locus f of E z, w equal to 0 okay so this is C2 this is C2 this is the z coordinate and this is the w coordinate okay this is the C2 plane, this is the z coordinate, this is the w coordinate if you take any point on the plane it will have 2 coordinates z0,w0, z0 will be the first coordinate which is what you will get when you project under P z projection under the first coordinate you will get the first coordinate as z0 and then if you project under the second coordinate P w you are going to get the second coordinate okay so every point has 2 coordinates and I am taking a point on the locus of this equation so that means I am taking a point such as f of z0,w0 is 0 right and now I am looking at now I am assuming that the first partial derivative at z0,w0 is not 0 so let us interpret this so I think this spelling is wrong it should be t,h,e okay so you know I have a neighbourhood of w0 okay so you must think of this neighbourhood of w0 as a disk on the complex plane the w plane centred at w0 radius delta okay so this is that neighbourhood which is given by mod w-w0 is less than delta it is actually a disk okay but I cannot show that here right because I am thinking of this as an axis single line and what is happening is that I have a what is the implicit function theorem say it says that you know I have function w going to gw so there is a function like this so there is a function like this which goes from this neighbourhood okay such that if I draw the graph of this function the graph of this function will be this locus namely if I take any small w in this neighbourhood and I take the point w, gw then rather gw,w the way I have written it because w is second variable for me if I take the corresponding point gw,w that point lies on this locus that is what it means to say f of gw,w equal to 0 for every w in this neighbourhood so in other words what I am saying is that locally the implicit function theorem says that the locus where f vanishes is actually the graph of a function okay it is a graph of the function and now the beautiful thing about a graph is that the graph of a function if you project it to the free variable okay that is always an isomorphism okay so in other words you know so let me draw this correctly so this is this is a dotted line and this rounded arrow is g which is a map from here to here and of course this is the projection this is p,w okay look at look at the set look at the subset gw,w such that w mod w-w0 is less than delta look at this subset okay actually I am just writing I am just this is just the graph of g okay this is just the graph of g only thing is that normally in the graph you write the variable and then the function but I am writing it the other way I am writing the function and then the variable normally you write the graph of f of x,y equal to f of x is x,fx okay so ideally the graph of g I should write as w,w but I am writing it as gw,w because of this diagram okay so this subset mind you this is inside this locus f inverse is 0 right because gw,w satisfies f of z,w equal to 0 so it is in this locus alright then I want to say that this is the image of this disk under so I just want to say that this is isomorphic to the disk actually because of g so let me say that I am just using the fact that you know if I apply the projection so you know from so I have f inverse 0 that contains this so you know this subset I am writing here is this portion of the locus which is the graph of g over this disk right except that I have switched the order of the variables right so this is the set of all so let me write that here gw,w such that mod w-w0 less than delta this is a subset of this and now what you do is you apply projection onto w what you will get is the set of all you will get the set mod w-w0 less than delta because you know if I if I project it under if I project it under pw I will get back my disk and what I want to tell you is that this map I claim it is a homeomorphism is a homeomorphism note that this map is a homeomorphism ok I just want to say that whenever you take a graph whenever you take the graph of function from the graph to the free variable ok that is always a homeomorphism right. So I just want to say that this pw is a homeomorphism which means of course this is a projection restricted to this piece of the curve ok I claim it is a homeomorphism to show that I will have to show that this is both injective surjective ok and then I have to show it has an inverse alright and what you must understand is that it is it is it is bijective because it has an inverse the inverse is actually g it is just it is given by g namely it is given by w going to gw,w ok. Because it has the inverse w going to gw,w this is just the graph this is just the graph map except that I have written the dependent variable first and then the independent variable normally in the graph you write first the independent variable and then the dependent variable you write x,fx for the graph of f ok. So I should ideally write w, gw but does not matter I am writing it as gw,w ok in this case it is very clear that this is a this is a continuous function ok and because this is the inverse of p,w it follows that p,w is bijective with this as the inverse and well so the moral of the story is that for the point z0,w0 I have found you know I have found an open set mind you this is an open set now the reason why this is an open set is because it is homeomorphic to an open set this is an open set on in the complex plane and this is a homeomorphism ok therefore this is also an open set a homeomorphism will always carry open sets to open sets. So what is going to happen is that this piece of the graph that I have marked ok is actually an open subset of this locus ok and it is homeomorphic to this disk ok it is homeomorphic to this disk and it is so it is a disk like neighbourhood of the point z0,w0 what is a disk like neighbourhood it is an open subset which is homeomorphic to a disk. So you see I have this open this piece of the graph which is an open subset containing the point z0,w0 and that is homeomorphic to the disk under the projection and you know the moment I have something like this I have a chart because I have identified a point on this locus along with the neighbourhood of that point with a disk ok therefore this gives me a chart so moral of the story is we take the pair g,w,w such that mod w-w0 less than delta,p,w so I will use some notation I will use gamma g,p,w receded to gamma g I am using gamma g because I mean by capital gamma g the graph of g ok. So capital gamma sub g is the graph of g except that mind you have switched the order of the variables so this is the graph. So you take this graph along with the projection receded to the graph that is a chart is a complex coordinate chart at z0,w0 so what is the moral of the story the moral of the story is if you look at the locus where f vanishes at a point of that locus where f vanishes if the first partial derivative with respect to I mean if the first partial derivative with respect to the first variable is not 0 then I can get a coordinate chart ok at that point. Now the same argument will tell you that if instead see it may happen that I may not be lucky perhaps the first partial derivative with respect to the first variable might vanish ok but then there is still hope if I have you know that the second I mean the first partial derivative with respect to the second variable does not vanish then again the implicit function theorem will tell you that I can solve for the second variable as a function of the first variable ok and then what I will get is there also I will get a chart ok. So the moral of the story is throughout this locus at every point where either the first way first partial derivative or the second does not vanish I will always get a chart ok so you know if I put the condition on this function f the condition called smoothness which is that there is no point on the locus of 0s of this function where both partial derivatives vanish I mean that is a having such a point is very bad it is called a singular point it is called singular because I cannot apply the implicit function theorem to apply the implicit function theorem I should have at least one of the partial derivatives non-vanished if both partial derivatives vanish that is a singular point and I do not want to consider functions which whose 0 loci have singular points does not vanish ok. So you know if I am working with a smooth function ok namely a function such that there is no point on the 0 locus of the function for which both partial derivatives vanish then at every point I will get a chart because of the implicit function theorem the chart may be projection on to the second coordinate if the first partial derivative does not vanish and it will be a projection on to the first coordinate if the second does not vanish ok. So I can cover it by charts now the beautiful thing is these charts are automatically compatible ok these charts are automatically compatible and therefore they make this locus into a Riemann surface that is a beautiful thing. So the moral of the story is if you are looking at a smooth function ok of two variables ok then it is automatically a Riemann surface it is a Riemann surface which is sitting inside C2 it is a Riemann surface which is embedded inside C2 ok. So let me also write let me write that down so you know so this is the importance of the implicit function theorem I can when I am studying 0 locus the 0 locus of a function of two variables if it is smooth function I am already looking at a Riemann surface ok I am already looking at a Riemann surface there are some technicalities which I will try to explain very soon but let me let me let me say the following thing suppose we had a point z1,w1 in f inverse 0 that is f of z1,w1 is equal to 0 with doh f sorry doh f zeta by doh eta at z1,w1 not equal to 0 ok. So I am considering another point where the you know this first partial derivative with the second variable does not vanish and that point is again on this locus the 0 locus of the function ok. So if I draw another diagram it should look like this so here is my complex plane this is z coordinate this is another complex plane this is the w coordinate and here is my locus this is f of z,w equal to 0 which is otherwise f inverse of 0 and of course all this is happening in C2 the whole space is C2 that is where everything is happening C cross C ok and now I am having a point z1,w1 alright if I use projection onto z I get the point z1 if I use projection onto w I get the point w1 ok and I have assumed that the partial derivative with respect to the second variable does not vanish ok at that point. Now again the implicit function theorem by the implicit function theorem there exists lambda greater than 0 such that for z with mod z-z1 lesser than lambda ok we have we get a function of z we get a function omega in terms of z omega is equal to h of z ok such that such that f of z,h of z equal to 0 ok that is in other words you are just saying that if the implicit function theorem just says that you know if the partial derivative with respect to the particular variable is not 0 then you can solve for that variable as a function of the other variable. So the partial derivative with respect to the second variable w is not 0 so I can solve for w which is a second variable with respect to the partial derivative is not 0 in terms of the other variables is the first variable ok so I can get a function w is equal to h of z for z in a neighbourhood of z1 ok which satisfies this equation so I get an explicit solution to this implicit equation ok.  So again what will happen is that we will have again you will have that the set of all the points in the graph of h gamma h the set of all points z, h of z such that mod z-z1 less than lambda this will be a subset of the 0 locus and if you take projection to the free variable z ok onto this neighbourhood at this disc centred this surrounding z1 reduce lambda is a homeomorphism this will be a homeomorphism because it will have inverse z going to z, h of z ok so it will be a homeomorphism. So what this tells you is that I get this so in this case I get this graph of so this this piece of the of this locus is actually graph of h it is a graph of h and that is an open subset it is an open neighbourhood of the point z1, w1 because it is homeomorphic to an open set in the so it is a disc like neighbourhood and the homeomorphism is given by the projection onto z restricted to that open set alright so that is a chart. So I get a chart at the point z1, w1 ok so we can take gamma h, pz restricted to gamma h as a chart at pz1, w1 ok. So in this case this is the graph of g ok you got a function g from the w from the disc on the w plane and this is this becomes graph of g this is what happens if the partial derivative with respect to z does not vanish and if the partial derivative with respect to w if it does not vanish then this piece of this locus will become the graph of h where h is a function from a neighbourhood of the point with the first coordinate alright. So in any case if the curve is smooth ok namely if the function f is smooth then you get you automatically you get charts like this and all the charts come because of implicit function ok. So if f is smooth that is for every point in f inverse 0 either dou f by dou zeta or dou f by dou eta does not vanish then f inverse 0 has collection of charts because of the implicit function theorem because of the implicit function and now the natural question you will ask is that well does this collection of charts which come naturally because of the implicit function theorem does it make it into a Rayman surface and what is it that you have to check to say that it may it makes it into a Rayman surface you have to only check compatibility ok. And all I want to tell you is that the compatibility is trivial ok what is the compatibility the compatibility is that the transition function should be holomorphic ok. If you take a point if you take 2 nearby points whose charts are in this direction ok ok then the transition function will go like this and come back ok and that will be identity map on W which is of course holomorphic ok. So if you have 2 charts of this type which overlap then the identity function then the transition function is just W going to W which is of course holomorphic as a function of W. Similarly if you have 2 charts of this type then the transition function is z going to z that is the identity function here that is of course holomorphic so you get compatibility the only thing you have to case check is you if you have a chart in this direction intersecting the chart in this direction ok and if you have a chart in this direction intersecting the chart in this direction you know if you go like this what you will get is z will go to you see if you go like this ok you will either get g or h ok which are both analytic. So then also the transition functions will become holomorphic so for example you know if a chart like this overlap with a chart like that ok and if I took the transition function like this then I am first going by so I am going z to z, h of z ok and then if I project on to W I will get h of z. So the transition function will become h and h is of course holomorphic why is h holomorphic because that is because of the implicit function here. Similarly if I go if I take the other transition function namely if I go like this and then come down via that then it will be W going to gw,w and then if I take first projection I will get gw so it will be w going to gw which is simply the function g and g is also holomorphic again because of the implicit function theorem. Therefore you see automatically all charts are compatible all the charts are automatically compatible just because of the implicit function theorem. So automatically this becomes a Riemann surface ok it automatically becomes a Riemann surface that is the beautiful thing. So let me write that it is clear that the transition functions are either identity on z or identity function on w or g or h which are all holomorphic the transition functions are of course holomorphic because identity function identity functions are holomorphic and the g and the h that you get their functions that you have gotten by the implicit function theorem they are holomorphic ok.  So let me write that thus if f is a smooth function namely that either the first or the second part either the partial derivative with respect to the first variable or the partial derivative with respect to the second variable does not vanish at each point where f is 0 ok. Then f inverse is 0 in C2 automatically becomes a Riemann surface this automatically becomes a Riemann surface ok. So now what I am going to do is I am going to tell you a little bit of technicality ok. So this is of course I have conveyed the main point that one very important application implicit function theorem is that you can look at the 0 locus of a smooth function as a Riemann surface ok. So you can look you can do complex analysis on this surface ok very naturally alright. So the technical point is a following see when we define a Riemann surface if you want to give a abstract definition of a Riemann surface you have to first define what an abstract surface ok. So the definition so let me quickly recall these facts which you can try to understand if you do a little bit more of reading. So what you need is basically you start with a topological space x ok which is house dwarf ok and which is second countable ok namely you assume that it has a countable you know it has a countable basis ok. So you start with the topological space which is house dwarf and which is second countable alright and which locally looks like the plane alright the complex plane or the real 2 plane such a topological space is called a surface it is called a real surface ok. So you know the sphere the torus the cylinder they are all real surfaces ok and we also put the extra condition that you work only with connected topological spaces ok. So when I defined Riemann surface here I told you a Riemann surface is a surface x with a complex atlas namely with a collection of compatible charts but I did not tell you what that x is I told you for example x could be you know you can think of x as a sphere or the torus or the cylinder but in general what can x be the answer to that is x should be a topological space which is connected which is house dwarf which is second countable and which locally looks like looks like the plane the fact that it locally looks like the plane is what tells you that every point of x has a neighbourhood which looks like a disc ok and that is the only way of saying that it is a surface a surface is something that should locally look like the plane ok. So this is a technical definition and the point I want to make is that if I want to really with respect to that definition if I want to say that this 0 locus is a Riemann surface I will have to verify that this is house dwarf I have to verify this is connected I have to verify this is second countable ok and the truth is that I mean the house dwarfness and the second countableness are not so difficult to verify ok the slightly more technical thing is the connectedness ok to say that for example if you take a polynomial if f of z,w the simplest kind of function in two variables that you can think of as a polynomial in two variables ok and if you want to ensure that the 0 locus of that polynomial is connected that is this graph that I have drawn here is actually a connected set in C2. One nice condition is that the polynomial should be irreducible that is a polynomial cannot be factored into a product of two different polynomials two non constant polynomials ok. So the proof of this fact is not so easy but you can take it as a statement as a theorem that if f of z,w is a polynomial which is irreducible then the 0 locus of f is actually connected ok. So you get connectedness you and I told you that it is house dwarf and second countable is something that you can verify ok because that is already there for C2, C2 is of course house dwarf C2 is of course second countable alright so Euclidean space. So the moral of the story is that in the with this formal definition of a Riemann surface also if you take for f an irreducible polynomial in two variables which is smooth then the 0 locus will be actually a Riemann surface ok and so this tells you that the formal side of the picture is also correct ok if you want to think of Riemann surfaces the formal sense as house dwarf second countable connected topological space is endowed with a complex atlas. This locus is automatically one such Riemann surface ok and all this is just a beautiful corollary of the implicit function there ok so I will stop here.


All righty. Thank you everyone for coming and now it's late. I'm tired. I'm sure everyone's tired So we'll try not to take too much time Out of curiosity who here is a Bosch platform operator type person? Cool. Awesome All right, so I'm Morgan fine. I am a product manager at pivotal working on the Bosch team And I'm Danny Berger. I've had quite a lot of time as a Bosch engineer So get started today. We're gonna chat about a few things first take a little time to go over what we've been working on the past six to nine months just kind of call out some of that and then Take a look at some of our upcoming stuff And if anyone starts seeing Morgan swaying side to side, please give us a heads up No falling kitties or morgans One of the first things that we've tried to be more intentional about the past Six months or so is how often we are cutting releases of our stem cells and director Historically, we've had a bit more of like every several months or Longer periods where we don't cut the director for a while or do More delays there, but we've been trying to be more intentional and say every two weeks try to get the latest features out Part of the goals with us doing that is to get more faster feedback and Let people try out the new stuff. We're working on Stem cells. We also have been doing every couple weeks just to make sure we get more security patches integrated and Try to get that out there quicker for everyone Graph kind of shows some of the components like we've got Bosch Nubuntu trustee and Xenio lately and CLI You can see we had quite a few trustee releases happening in the middle of last year Which was something that made us kind of reconsider and kind of Focus on how often we really want to be spending time cutting those new releases and getting those out there So it's kind of motivated us to Officially define what our support policy is so we follow a N and N minus one policy So every time we cut a new major We'll support that until we cut two versions later So in the example here, we keep supporting and cutting minor versions of these stem cells Until there's another new major That we can then continue with Yep One of the things that we've been working on as a team from the pivotal side is that We've historically had a fairly large team working on directors stem cells CLI agents and all the other various releases Recently we've been splitting up the team responsibilities So we now have a kind of director side of it and then a systems side Director is focused on the core Ruby director component some of the Bosch IO a couple of the other smaller Repositories and products and that's led by Morgan as the RPM and then the bar systems team is taking responsibility for more of the Core shared assets across environments So things like stem cells agent DNS and a couple of the OS type releases and that's really helped us kind of Both narrow down what the team is responsible for and needing to maintain and it's really helped folks kind of Be more comfortable as they're joining the team and being more productive The system side is led by Mukesh You can find both of them on slack and then we also still have the Bosch channel for if you have questions Currently that's in the systems team This is all kind of a fairly new structure And so we're still trying to figure out where some of these Components are but if you have a question you can still raise it in the github CLI Issue or bring it up in the shared Bosch channel a couple other things we've looked at Recently we've started doing Bosch PMCs every month I think we just had our first or second one in the last month And so this is trying to be more intentional about bringing in all of the different CPIs and community members who are contributing to Bosch and Make sure there's more communication and shared vision about where we're going and what we're working on It's public if you'd like to join. There's the Bosch PMC notes that you can find on github and Join us if you're interested And then kind of along with the more regular releases We've been trying to be a bit more intentional about listing out Changes that are coming in through the release notes on github just to make it easier and also trying to more closely followed the semantic version in Concepts and so majors really do represent stronger breaking changes and minors are intended to be more features additive and Patches if there's some backwards thing but in general continuing to be kind of a rolling forward approach to cutting Bosch and then one other thing We've it's always been interesting in a bit of a struggle with the open source and Repositories and following up with the various issues. We're trying to be a bit more intentional about that So we've tried integrating it into some of our daily workflows through tracker to keep it more front of our minds and Regularly prioritize that and work through it to make sure all of the team is able to contribute and help follow up with issues So it's kind of where we've come from now turn it over to Morgan for where we're going cool, so Historically, I think a lot of folks might have seen Bosch notes as a way of keeping track of a lot of ideas and dumping ground of Thoughts and communication one of the things that that's great for is it really helps us define and think through Those problem spaces and think like a tactical level but it was hard for people outside of the Bosch team to really understand where we're going and In the last few months we spent a while thinking about what a strategy and roadmap and more thematic areas for us to invest in are and so this next section is effectively going to be talking through some of those themes and Basically features and problem areas that we're solving and hoping to get to in the coming Six to twelve months dependent on timelines and all those other fun things So one of the big ones that really comes up a lot And I think we asked this at the beginning is who works with Bosch who operates Bosch who uses Bosch to deploy a foundation and More importantly, what is that day two of the foundation really looking like? And one of the big things that we always talk about is how do you scale a foundation and keep a small platform team able to run a really large platform And so a lot of these areas are things like Improving the day two of a resurrection experience. And so I see at least Bayhont here who's been working on that a lot at SAP And making it easier than this global resurrection config to hopefully help there and give you more Nuance control when a VM goes down and bringing it back up Another bigger theme if those of you have talked to me here heard me talking about is you run a Bosch commander Do something with Bosch and it just does not do what you expect Typical one is running start or stop during a failed deploy and Bosch trying to just update the entire deployment We're making a very focused effort to make sure that we Make Bosch do what a human intends it to do and that these surprises that come with these commands are not as surprising if at all And then the other one is making it easier for I guess I flip bullets two and three Making it easier for platform folks to be declarative and what they're doing with their manifests There's lots of nuances and edge cases to sharing releases and sharing stem cells and compiled releases and patched digits and all these things That at first glance don't seem like they conflict with each other And then you do something and all of a sudden every VM is updating We're making it a lot easier to be explicit and ensure that the software you intend to run is running and doesn't get unexpectedly updated Another one which is a harder one but comes with this is just continuing to improve Faster deploys and make speed a top-of-mind thing. I think there were a few Shades and jabs at Bosch thrown about that in some of the keynotes. So gotta throw that back there Another one is I'm sure folks here are always aware of security It's really important to Bosch kind of the base should be secure And if nothing at the base is secure nothing on top of it can be secure So everything we do is always built with security first and foremost But even on top of that we're trying to think about how do we improve a day-to-experience for security? We've been working a lot with the cred hub team about certificate rotation and ways to make it easier to rotate Variables and certificates and what an interface between the two products might look like going forward Additionally, there's things where Bosch just needs to put credentials for itself onto these VMs But how can we minimize the access of those things and make sure that when you're on the VM? That's really is the least set of privileges that are required there Another model that we're starting to see as we continue to move forward is just this Untrusted operator model or how do you really reduce access to the least people who need it and As I'm sure a lot of you are aware Bosch does have credentials It does put credentials for its jobs on these VMs a lot of companies don't trust Those VMs to be there and don't trust people to be able to access those VMs What does it look like to secure against these sorts of threats of a human being malicious all the way up and down your foundation? Most recently this isn't necessarily a roadmap, but did want to call it out We've made one improvement in this area where you can store credentials on an ephemeral disk or on a temp FS This of course only works on Linux, but it does help attack against a disk being stolen because the credentials are on memory Another big theme that we've been focused a lot on and I think there's a whole other track about this is on-demand services and Data services and CFC are in all of these different areas We're starting to see a lot more customers in areas where people are focused on having a lot of foundations and having interconnection between those foundations right now Bosch has a very Holistic view of itself and considers itself the world and there's not an easy way for a Foundation to map in route to another foundation We've had a way to expose public IPs, but it wasn't necessarily easy and in an on-demand world doesn't work So we've made some changes to cloud config to support this and make it easy for an application in one foundation to route to a data service in another foundation and then last area in this bit is Providing more information during job process stopping that really turns into as you have a lot of clustered data services That in a lot of cases take longer than you might like to drain and they have to do that right now because they're naive We just call a stop command and it's up to them to drain however they want We're making a new life cycle hook called pre-stop that will hopefully provide the software The answers to these questions below Around is the VM going to be there is the deployment getting torn down and depending on some of these things the software can take a Smarter decision for updating so if the deployment is going to be deleted Who cares if you gracefully shut down just kill it if the VM is going to stick around after the update Maybe you don't need to drain it. You can just reattach to the process after you've modified a few things All of this is hopefully going to help speed up upgrades a lot in certain cases and maybe even into deletions as well Another one which is fun to think about is the Bosch director is a singleton right now Historically we've seen This come up as a concern from people But when we talk through it the director isn't actually in the critical path for applications And it's actually the applications that are what we're concerned with not the ability to create new VMs Now that we're starting to move towards an on-demand world where we're dynamically creating clusters and creating services all the time We are starting to see a need for a higher availability of the director And so what are the sorts of cases where? Having a singleton director isn't enough either during a planned deployment of it Because it's down for however long it takes to bring up a new VM and as a result your pipelines are broken or The VM or the AZ fails and you need to get up more quickly The only answer for that right now is BBR But it's something we're starting to think about more seriously and try to figure out What the right problems people see in this problem space is the most important to solve first and then expand from there Another common question we get is how do I know when to scale up my director? How do I know when Some of the certificates that are in use are going to expire How do I know like if I should use a bigger disk for my director a lot of things There's a lot of benefits that come with the logging and metric suite for Cloud Foundry itself But the director has been a layer on top of and hasn't had that benefit We're working a lot with some of the newer teams in that space to answer these questions and make it easier to hook up into the same syslog server or Data dog or Prometheus or whatever you're using the ability to get answers to these questions with the same sort of KPIs that you Would get with the Cloud Foundry installation. I think Danny is going to talk about a few more things Couple more so then on the technical side Bosch has been around for quite a while and One of the things we've been kind of evaluating is do we need some of these longer running features? And can we help kind of try to deprecate and move them towards not being used anymore it generally Causes a lot of complication in our code and maintenance headaches just keep them around so a few of the ones that we are specifically looking at our Removing support for older v1 style manifests Essentially the world before cloud config where you were defining all your networks and I asked specific configurations in the deployments themselves Another one is the NAT is kind of our central Communication message bus and so we a while ago added support for using TLS as the authentication But historically it relied on username password. And so just trying to remove that out and have less security options available and Then also related is how we deliver templates right now Or right now we support going to both blob store and through NATs NATs is kind of our preference because it's direct communication of those templates and they're not stored anywhere else Since we've been supporting that for a while seeing what it looks like to remove that So these are all things We kind of are discussing and when we're getting a little more serious we bring it up in the mailing list So I think a couple weeks ago We mentioned the v1 style manifests if you're using these sorts of things and have feedback for us Please be sure to follow those lists or chat with us on Slack so we can kind of hear more and figure out where we're going One of the things you probably heard quite a bit is references around kubernetes and how the different kind of Communities are solving problems Bosch has been around for quite a while and seen some of these problems and has some ideas on how things like what's working or Why we do things the way we do and so kind of looking for opportunities and ways that we can participate in that community One of the more recent things is like looking into you cluster API, which is something I'm starting to look into a bit more with some other folks and Try to figure out. How can we bring our experience and understand or improve? participate with the SIG groups around that and Figure out what's what are good ways for bringing up kubernetes and all the components around that and then we also have the Other component level teams working on kubernetes and cloud foundry like CFC are Rene and Istio Probably have seen several chats sessions here today so with that you've kind of survived the rest of Summit and Free you but we have some time for questions. I think there's anything want to chat about now But we're also available on Slack later. There's anything watch out about later Any questions Yeah Yeah, so the question was what's the difference between the pre-stop lifecycle hook I mentioned and the drain lifecycle hook They're very similar in that they're both called pre-stop is going to be called before drain They're both Unbounded in terms of there's no time limit for them to finish The difference is that We try very hard to be backwards compatible with everything we do as a result We didn't want to make any breaking changes to drain And so we are adding a few net new environment variables and removing a few Random oddities that get provided to drain and just not providing those to pre-stop because we're not sure why they're there And we haven't seen anyone using them So they'll be very similar. They're called in order Eventually we might consider deprecating drain in favor of this, but for now we're releasing it one other thing that's kind of interesting with this is we want to try releasing it as a beta feature and not necessarily a stable contract to get feedback on it historically, we've always released things and they've stuck even With out necessarily getting the best feedback. We're hoping to get feedback from the community and people using it and not Confirm that it is a solidified contract until we have more confidence that it works. Well any other questions? Well, I got two of them. Yes, the question was are we considering implementing the indicator protocol for the director metrics we might be to be honest the approach we were thinking of taking was working with The Prometheus team which is a new team that's been spun up in Pivotal and I think in the foundation to focus on sending more logs in metrics to Prometheus So we're trying to take the approach of provide the information to them and let them choose where and how it goes So they might be but I'm not sure if we're going to be Yeah, I Think so we're starting to see more and more like site reliability engineering practices being spun up within The foundation and across different components as a first step I want to just get metrics out and then Hopefully probably add those things Yeah, that's a good one. Are we working on improving the windows CLI windows Bosch CLI experience? We actually spent quite a while Two or three months ago, maybe a bit longer talking with the windows Bosch team and a lot of customers about that We had the assumption that like we should spend time and should improve it And then when we really started digging into it We found the majority of folks Typically SSH into a jump box and then use the Bosch CLI from a jump box most of those jump boxes tended to be a Linux based distribution and So we were kind of like yeah, we could but no one's really using a Bosch based windows CLI But this is one of those things where as we continue to get more signals and continue to hear things if you have Different thoughts, please let us know Anymore questions. Yeah. Yep. I was wondering someone's gonna catch up So Bosch create and the command to use to actually create a director uses the old V1 syntax Yeah Yep Nothing is the short answer which is because it goes through a different code path then the Director code path So you use the old syntax to create a VM But VMs that are created by a director news the new v2 syntax We haven't taught the CLI which is where create and front about cloud config and about v2 concepts And so for now, we're not planning to but eventually we might Right Right now one of those oddities with the difference between pre-stop and drain is that drain finds out the change in the persistent disk size Which is a way people determine the next state for the VM We're being more explicit in that in the next state will be X rather than you having to infer some different information Yep So we're not planning to kill drain anytime soon both will be available and you can keep using drain But for folks who want that more explicit declaration and easier parsing that'll be available shortly Yeah, I'd love to see it Any other questions there is somewhere That's another one where we're trying to figure out how long until we start working on it Things that could come up and that are Important it is up there But there tends to be things that are more pressing and provide more short-term value And so we keep having the question when should we start investing in Bionic. I think that's the exact thing So the question was are we planning to use a mysql Galera cluster for the Bosch directors database? Potentially we're still very early in what a higher available director looks like I think right now We're starting with what are these stateless processes that need to be? made Highly available and can be redundant Assuming a single database the next thing is what is the redundant data tier look like any other fun questions? Yeah, you want that one? It is expected just by the design of the create and vibration, but it definitely is it's I think technique the question was is it intentional for Bosch create M to fully recreate the VM for every change even if it's minor and Technically it probably is possible for the CLI to be clever like it can talk to agent in the same way that director does but that's just a lot more state that then has to be tracked in your local state files and a lot more complexity so historically hasn't been enough kind of Motivation to try to bring out that same logic and to the CLI But yeah expected not optimal Any last questions? Then I think that's it. Thanks so much