So, we will start today's lecture, the 14th lecture of the course and what I intend to do today is take a problem in fluid mechanics and explain the complete solution to that problem okay and then explain how that same problem can be solved using the method of perturbations. So, this is the same thing as what we did earlier when we had this quadratic equation for which we had the exact solution okay because it is a quadratic equation even with the parameter meter epsilon in it we could find the solution in terms of the square root sign right the discriminant and all that then we said we will do a perturbation series solution. So, I want to basically take you through the same process okay and in the course of this we will mention a few things which I think are most of the time implicit in whatever is done in the classes. So, I just want to be explicit about certain things which people do not explicitly mention okay. So, the problem here is to a pulsatile flow in circular tube. So, you have a circular tube and the liquid flowing through it and what do I mean by pulsatile flow I mean that the pressure gradient that is being imposed is going to be varying periodically okay. So, pulsatile flow implies that the pressure gradient varies periodically in time. So, why would anybody be interested in this I mean very classical example of a pulsatile flow is that of the blood flow through the capillaries okay your heart is beating periodically the pressure changes fluctuates okay in a periodic manner and so this kind of problem just by way of motivation as to why anyone would really be interested in this is this can mimic blood flow in the arteries for example etc okay. The blood flow problem of course is more complicated in the sense that the rheology is non-Newtonian the walls are flexible okay. So, I mean those are additional complications but now we will keep life simple and we assume that the liquid is Newtonian we will assume that the wall is rigid okay and if those of you are interested in making further studies on more complicated things can pursue okay. So, what we will do is we will idealize the problem and restrict ourselves to Newtonian fluids with rigid walls over or inside cubes with rigid walls okay. So, that is just an idealization so that we can understand certain things about the flow. So, depending on if you are not happy with that then you go about relaxing some of these assumptions and then you proceed. So, clearly I mean this is an extension of a problem which you all have seen before what is the problem you have seen before the Heggen Poiseuille flow in a circular tube in Heggen Poiseuille flow what is the story the pressure drop imposes constant okay and then you talk about the fully developed flow where the velocity does not change in the axial direction and you only have the velocity varying in the radial direction but now the pressure drop is not a constant pressure drop is fluctuating with time. So, clearly what this means is the velocity that you are going to see in the channel is also going to be fluctuating with time okay. So, earlier we were in a position to talk about steady state we are now not going to be able to talk about steady state because the pressure drop is varying fluctuating with time the velocity is going to fluctuate with time and very importantly I need to retain the term containing the time derivative in the Navier Stokes equation okay but we will still keep life simple in the sense assume that the axial velocity is a function only of the radial position and time okay. Earlier for the steady state problem you had velocity function only of the radial position now because of the periodic pressure drop I am saying look time is also going to come in I am not going to complicate life because I just want to illustrate some ideas and then we will just say now that the velocity changes with r and t okay. So, what I mean by this is that the pressure drop which is given by –dp by dz I am going to write this as some constant remember as epsilon sin omega t what you are used to is if epsilon is 0 or omega is 0 that means it is a constant pressure drop. So, the way I am looking at it I have a the pressure drop is varying periodically g0 represents the mean value the average value of the pressure drop okay so g0 is the average value of the pressure drop okay and the way I have written it I got –dp by dz here so that g0 is positive and I should actually say this is the time average value of the pressure drop. So clearly uz which is the axial velocity is going to be a function of r and t now okay and what I am going to do is see I have a periodic pressure variation if I have this kind of a situation for a long time the velocity profile is going to be periodic as well. So, this is like the equivalent of my steady state. So, in order to reach my steady state I have to wait for a sufficiently long time finally I go to my steady state I have an initial profile supposing you have a fluid in a channel which is at rest but the liquid is not flowing okay you have filled it with fluid. So, your initial state is rest now you put a pressure drop a constant pressure drop you will get your parabolic velocity profile but to attain the parabolic velocity profile it takes some time and after you wait for a sufficiently long time you have the parabolic velocity profile. So, that is in the limit of t tending to infinity you have a steady state your parabolic velocity profile same thing here we today and tomorrow we are going to concentrate only in the limit of t tending to infinity I am not interested in how does the velocity change from the state of rest at t equal to 0 to the final t value okay how does it go from the state of rest to the parabolic velocity profile that I am not interested in I am only interested in what happens in the limit of t tending to infinity the final solution you expect it to be periodic. So, if you want to actually keep a probe in one of your arteries you will see that the velocity is varying periodically with time and a fixed point. So, that is the thing we are interested in finding out okay. So, we want to focus in the limit t tending to infinity okay and here we expect velocity to be periodic that is one thing the other thing which I want to talk about is the fact that I have assumed sin omega t. So, of course the periodic function does not have to be sinusoidal it can be some arbitrary periodic function but you know if any periodic function you can resolve it in terms of the Fourier sin series or Fourier sin series or Fourier cosine series or Fourier series. So, basically if you give me any periodic function I will basically resolve it using my Fourier series and I will have different components sin omega 1 t sin omega 2 t sin omega 3 t. So, that is the justification for using sin here okay. So, basically what I am saying is any periodic function can be written in terms of a Fourier series this justifies the use of sin omega t there and epsilon basically represents amplitude of the fluctuation that you have okay. So, this is the amplitude and this clearly is the frequency. So, what I am going to do is just go directly to the problem that our objective is to find the solution du by dt the axial velocity profile okay and this is going to be in terms of minus dp by dz plus my viscous term okay. The left hand side contains my inertial terms I am just simplifying it and I am neglecting all the u dot del u terms saying that they are very small but I need to retain this because I need my time derivative okay and the dp by dz term I am going to write as g naught multiplied by 1 plus epsilon sin omega t okay and plus my viscous term which is going to be times r d by dr of r du by dr that is my viscous term. So, that is my viscosity and that is my del square because this I have only remember the variation of uz with respect to r is captured here the variation of uz time is captured here and this tells me how uz varies with r and t. Now, I am not you know derived it from the Navier Stokes equations but I made some assumptions of simplifications basically I do not want to consider uz as a function of r, theta, z and all that. So, we are assuming fully developed in some sense but it is unsteady state okay. So, like I mentioned earlier we want to solve this problem in the limit of t tending to infinity okay and we also want to solve the problem exactly and we want to solve the problem using a perturbation series that is the idea. So, now the first thing that you have to do whenever you have a problem is to try and make it dimensionless okay. Clearly in this case I am imposing my pressure drop and the flow is going to be induced by my pressure drop. So, the velocity the characteristic velocity scale is going to be decided by the pressure drop which I am inducing which is basically given by g0 the average value is g0. So, I am saying that u characteristic is going to be measured in terms of the pressure drop and if I look at the terms here I am going to choose g0 r squared divided by mu as my characteristic velocity scale okay. What I have done I have looked at these 2 terms this term as units of g0 and I am looking at this term I have a length squared at the bottom I have viscosity here. So, I am just saying g0 and velocity is there. So, g0 r squared divided by mu is as units of velocity and therefore I am just saying that is my characteristic velocity okay. What about the length scale? The characteristic length scale is going to be clearly the diameter of the tube which is r or the radius of the tube which is r okay and the time scale in this case is going to be given by I can look at these 2 terms okay and what I am going to get I am looking at the term on the left here term on the second term on the right here and mu divided by rho is my kinematic viscosity and so T characteristic is going to be given by r squared divided by mu. So, in some sense what we are talking about let us understand the physical meaning of the characteristic. What does it represent? It represents the time required for momentum to diffuse in the radial direction okay. If you want r is the distance in the radial direction mu is the kinematic viscosity which basically is facilitating the transfer of momentum. Now how much time does it take for the momentum to diffuse in the radial direction? So, once the momentum is diffuse in the radial direction then you will have your fully developed velocity profile if you wait for that much time or longer than that. So, that is the idea. So, that is the choice of the scale. Now one thing I want to caution here is that the way you choose these scales are not necessarily unique. You can always choose different ways of scaling a problem and proceed. The idea is by choosing certain scales you want to try and get insight about what is dominating what is not dominating the problem and so that in some limiting cases you can actually do some analysis and get some idea about how the behavior of the system is okay. So, please understand that I have chosen this some of you for example you could have chosen an alternative time scale which is alternative time scale is coming from the omega okay. You can say look there is a frequency with which I am changing the thing and that is my time scale of my system. Sure you can proceed with that argument okay. But then what is important is not necessarily that the value of the omega what you will see is that there are 2 time scales in the system and the ratio of these 2 time scales is what is going to actually decide the behavior of the system okay. So, at the end of the day I think you have to be consistent. The point is you can do the problem in different ways okay.  Suppose and you make the equation dimensionless what do you get?  So, that is basically your dimensionless equation with the tilde here.  Now, the point I am trying to make here is this g0 cancels off anyway this is a very small issue in the sense you can sit down and make the substitutions and you can find out for yourself what is happening okay.  So, let me tell you I am not going to do a perturbation series about epsilon okay. Wait a second I got a problem right I got a problem here in the sense when I am writing this in terms of t tilde and I write t in terms of t tilde I need to write this as t characteristic multiplied by that I need to write this as r squared by mu sorry about that okay I need to include an r squared by mu omega here when I because I have t here I am writing t in terms of the character the dimensionless time t tilde so I need to get the characteristic time here so I can r squared omega by mu okay because that is important to me because that is the ratio of the time scales that I was talking about so remember I told you you can choose omega as your time scale you can choose r squared by mu as your time scale the but what is important is this particular parameter here actually represents the ratio of these 2 time scales okay and this is called a Strouhal number so whenever you have something like a periodically imposed pressure gradient you will get this okay so remember that the behavior of the system therefore is I am going to let me write it correctly now what I have done is basically rewritten those equations again and just want to make sure that the things are a bit more clear now the left hand side contains the time derivative of the dimensionless variables the dimensionless velocity u hat with t hat and it is multiplied by rho times u characteristic divided by t characteristic and that equals g0 times 1 plus epsilon sin r squared times omega times t tilde divided by mu so that was the term which I made a mistake and now I just want to emphasize that the argument of sin is r squared omega by mu t tilde plus the viscous term which you have and what I have done in the next step is substituted the expressions for the characteristic velocity and the characteristic time and you see that the parameter g0 occurs in all the 3 terms and so you can actually knock it off okay and the other change that I have done is call the term r squared omega by mu r subscript omega this r subscript omega is something like my Strouhal number okay and I am following Gary Lille for the notation the Strouhal number r omega I have written it at the very last step it is the ratio of 2 time scales it is the ratio of the time scale for momentum to diffuse across a distance r that is r squared divided by mu the kinematic viscosity to the time scale of the oscillation omega remember is the frequency of the oscillation. So the reciprocal of omega is the time period of the oscillation and therefore 1 by omega is the time scale of the oscillation and the Strouhal number r subscript w represents the time scale for momentum to diffuse over a distance r to the time scale of the oscillation this Strouhal number is the small parameter which we are going to be doing a perturbation series solution that is we are going to use r the Strouhal number as a small parameter to seek a perturbation series solution I have d u tilde by dt equals 1 plus epsilon sin omega t plus 1 plus omega sin t plus okay I am dropping the tilde but now you know that this is dimensionless okay we drop the tilde but now the variables are dimensionless why am I doing this this is to reduce my chances of making a mistake okay so now remember that this is a dimensionless equation all these are dimensionless this is a dimensionless time dimensionless velocity dimensionless position okay so I have put in the tilde everywhere I have just I am writing it like this point I am trying to tell you is there are 2 parameters here one is r omega which is the ratio of the time scales epsilon which is the amplitude of the perturbation I should not call it perturbation of the periodic component yeah pardon me now this is r subscript omega oh there is no omega here you are right there is no omega there thanks yeah so this is r subscript omega is the thing yeah that is right there is no omega there okay now what I want to make you observe is in order to solve this equation I need boundary conditions and initial conditions right so what are the boundary conditions the boundary conditions are at r equals 1 we have u equals 0 that is my mostly boundary condition at r equals 0 my u is bounded and at t equal to 0 u equals 0 that is I am just assuming that my fluid was initially at rest yeah everything is fine so the fluid is at rest initially and now I am suddenly imposing this periodic pressure drop I am trying to understand what is happening okay okay the point I want you to notice that this equation is a linear equation and because it is a linear equation I can be bold enough to look for an analytical solution okay now this particular term this is my source term okay my pressure gradient that is my source term and I am going to look at the solution for u as being made up of two parts one arising because of the constant component one and another arising because of the time dependent component the sine rw of t that is supposing you have a problem a linear problem x equals b1 plus b2 okay what you can solve that problem as x as a inverse of b1 plus b2 or you can solve a or you can just look at x as a inverse b1 plus a inverse b2 okay so that is basically what we are going to do let me just write the analog here see this is a linear equation correct okay now supposing I am just going to give you an analog of what we are trying to do so that you can relate to the solution strategy if we have x equals b and let us say this is my equivalent of my b okay if b equals b1 plus b2 what I am going to do is solve x is of course equal to a inverse b but x is also equal to a inverse b1 plus b2 which is a inverse b1 plus a inverse b2 okay matrix multiplication just gets carried over so that is essentially what I am doing what this means is if I have two sources of non-homogeneity I can find the solution find the response of the system to one find the response of the system to the other and then just add up because it is linear I can do this superposition okay this is the principle of linearity and superposition that you have are used to so that is exactly what I am going to do I am going to look at the solution to this problem as being composed of two parts the first part being coming from this constant pressure gradient the second part coming from the time dependent pressure gradient okay the idea is that you already know what the solution is for your constant pressure gradient you get your parabolic velocity profile for the time dependent thing is what we are going to do today okay so then once we do this so that that gives you your complete solution then we go back and look at the perturbation series approach for using in the limits of rw my straw wall number being very low straw wall number being very large so the perturbation is going to be done about rw okay epsilon is just a magnitude okay of course you could have done the other way also if you wanted to you could have done a power series about epsilon but that is not what we are doing today seek u as being made up of u0 plus epsilon u1 okay now what is this this I want to explain is not perturbation series solution okay this is just writing finding the solution for two different sources of not homogeneities but I am putting epsilon here just so that that takes into account that epsilon which is there so u1 will be a solution of only sin omega t that is all okay this essentially captures the two different so I say source terms sources of delta p okay the constant part in this so what I am going to do is I am going to seek the solution for u0 and I am going to seek the solution for u1 so u0 satisfies so u has to satisfy that equation so u0 is going to satisfy du0 by dt equals 1 plus 1 by r d by dr of r du0 by dr okay and du1 by dt will satisfy sin of rwt plus 1 by r d by dr of r du1 by dr okay.  So I mean this is just to I am just decompose the solution just like I explained here instead of doing A inverse of 1 plus this I am just looking at 1 separately sin omega separately. Okay what are the boundary conditions to which this is going to be subjective same boundary conditions u0 equals 0 at r equals 1 u0 is bounded at r equals 0 u1 is 0 at r equals 1 u1 is bounded at r equals 0 at t equal to 0 u0 0 at t equal to 0 u1 is 0. So see the boundary conditions also have to be consistent with what the original problem was having okay. I mean you need to make sure that when you are doing this splitting up the boundary conditions are consistent the equation is also consistent. Okay so now life is simple in the in some sense in the sense that if you look at the first term for and remember I am focusing on the limit in the limit of t tending to infinity. In the limit of t tending to infinity I am going to have something like for the first problem a steady state because the first problem corresponds to the flow when you have a constant pressure gradient okay. So u0 is independent of r independent of t sorry independent of t since physically it corresponds to a constant pressure drop okay that is the physical thing. Mathematically you would have gone about solving it if you had been a mathematician you would have just let me solve this using separation of variables or something like that but now you see look this is a constant pressure drop. So the limit of t tending to infinity in the limit of t tending to infinity I expect steady state if you are not interested in t tending to infinity then you have to worry about the change with time okay as t tends to infinity and that is kind of important and then what you have is just your regular ordinary differential equation in r and so u0 will be a having a parabolic dependency. So u0 has a parabolic dependency and that you know how to calculate just use the boundary conditions you will get some 1-r square and you can calculate that. So I am not going to do this you will do that I want to talk about the calculation of u1. So if I look at u1 what happens is can the velocity or this term here represents my how my pressure is changing with time yeah is that a problem it is fine yeah the epsilon is not here because I have written my epsilon here. See I am looking for the solution as epsilon if I have not put epsilon here then I would have had to substitute u1 and then so whatever solution I am going to get u1 I am going to multiply that by epsilon and then I am going to add to get my original solution okay that is the reason the epsilon got cancelled basically when I am substituting epsilon u1 coming here there is already an epsilon and there is already an epsilon here when I substitute this epsilon gets cancelled okay I am just wanting to make sure I did not miss it over there okay. Now the pressure is varying periodically sinusoidally with time will the velocity be in phase with the pressure will it be out of phase with the pressure okay and that is going to be decided by the only parameter which seems to be occurring in this equation which is Rw okay. So this particular physical thing we will discuss later but I just want to point out that it is not the velocity in general will not be in phase with the pressure gradient. For example if assuming that the velocity is varying periodically with time and is in phase that what does it mean velocity will also be varying as sin Rwt only then the pressure is varying as sin Rwt velocity is also varying as sin Rwt they are going hand in hand. Suppose now that velocity okay the question is the velocity in phase with the pressure drop that is the question okay. Suppose it is in phase if it is in phase then what do you expect the time dependency is also going to be in the form of sin Rwt multiplied by something which is a function of R okay. Then u1 is going to be of the form sin Rwt multiplied by some function of R I mean that otherwise it would have been out of phase right. So now the point is this a likely solution to the partial differential equation this is your typical separation of variables approach which you would do you would assume that something is a function of time multiplied by a function of R okay. So here supposing this is a solution I am going to substitute this in my differential equation. When I substitute this in my differential equation when I do the derivative with respect to time I will get cosine. This of course has the sin term and when I substitute here since I am differentiating with respect to space I have my sin term and I only have the derivative of f. So what you would get is this yields something like cosine omega t cosine Rwt multiplied by f of r maybe multiplied by Rw because I am differentiating sin no with respect to time I get that equals sin Rwt plus 1 by r d by dr of r times df by dr times sin omega t. Remember Babita will tell me that this should be total derivative and not partial derivative okay.  So now the point is if it have been in phase then I would have had a sin omega t in all my terms and I could have actually cancelled out my sin omega t but the fact that when I am putting the sin omega t here I get a cosine omega t tells you clearly that the velocity in general is not going to be in phase okay. In general it is that is going to be a phase lag okay. So here in general there is going to be a phase difference I should not use the word lag because I do not know if it is a lag or a lead phase difference between velocity and the pressure drop. Since the sin omega t sorry does not occur in all the terms. If it has been sin omega t occur in all the terms then that is the possible solution that means the velocity is following the pressure gradient okay. The fact that this guy is not so I got a problem. So what do you do?  It gives you some clue in the sense for example when I have differentiated this thing with respect to time I call it Rw here. If Rw is very very low okay if Rw is very very low these guys are for all practical purpose this periodic is bounded between 0 and 1. This is only telling you something about the frequency of the change but the magnitude of the term this is also bounded between 0 and 1. If Rw is very low this guy is going to go to 0. So in the limit of very low Rw Rw must smaller than 1 only these 2 terms are going to be present and then you can solve the equation okay. So if Rw tends to 0 I expect my velocity to be in phase but if Rw is much larger than 1 then this guy will be present and my pressure gradient and my viscous term will be present and then I am expecting it to be out of phase. So that is the reason what we are going to do now is we are going to find the solution to this problem as it is and then we will you know try to find the solution the limit of low Rw using a perturbation series and then do the comparison okay. So I am just saying that if Rw is very much lower than 1 then LHS is approximately 0 and velocity is likely to be in phase. Now what is Rw? It is omega multiplied by R square divided by nu Rw is very low means the omega is very very small my frequency is very slow is very low my frequency is very low. So my pressure gradient is changing slowly if my pressure gradient is changing very very slowly that means my velocity is able to catch up with it. So I am not changing if I change it very rapidly then my velocity my system cannot respond but if my velocity is my pressure gradient is changing very slowly because my omega is low then the velocity can quickly respond to the change in the pressure and it is like is going to just follow the pressure gradient and that is the reason it is in phase. So that is the physical way to look at it okay. I mean mathematically you can look at something so but because if I am giving you like if I slowly increase the pressure on you you will be responding to the pressure slowly but and you will be able to keep up with me but if I keep you know doing some very fast changes I think you are going to go bonkers right. So that is basically what is going to happen. So that is the idea and in the limit of Rw being much greater than 1 you have the other situation and we will look at how to do the and now that is the motivation for doing the perturbation series solution. For Rw0 we know what is going to be in phase and when Rw is small it is going to be slightly out of phase and we will be able to capture that okay. So that is the reason we are going to be doing the perturbation series about Rw but let us go back to finding the actual solution because that is the idea we want to find the actual solution and then do the perturbation series. So the problem of finding a solution and since this is a linear equation partial differential equation we can definitely solve by separation of variables alright and whenever you want a separation of variables you want that term you know to be repeated so that you can then convert the partial differential equation to an ordinary differential equation remember that is the strategy. What is preventing us from doing that it is a time derivative the first order time derivative the first order time derivative when I differentiate sin and get cosine. So is that a function which on differentiating first time gives back itself the exponential function gives you that the derivative of the exponential of x with respect to x is exponential of x right and you also know from your complex variables that e power i theta is cosine theta plus i sin theta. So rather than solve this equation here what I am going to do is I am going to solve this equation du1 star by dt equals exponential of i rwt plus 1 by r d by dr of r du1 star by dr. Now this is of course not the same as that problem but this is remember e power i theta is cosine rwt plus i sin rwt okay from your knowledge of complex variables. So if I actually found out u1 star and if I got the imaginary part so this is u1 star response to this source okay if I find u1 star and why do I want u1 star because when I now put the first derivative I will get back my exponential so I am okay I am happy with that because then I can cancel out the time derivative and I have only my ode in r and which I can solve okay. So if after I finding out the u1 star I find out the imaginary part of it because the imaginary part is the one which corresponds to my source of sin omega t. So basically what I am trying to tell you is that u1 is nothing but the imaginary part of the solution of u1 star okay. The u1 star is going to be complex there is going to be a real part there is going to be a complex part okay u1 star is in general complex real part plus imaginary part. The imaginary part corresponds to the sin term and that is what we are interested in okay. The real part corresponds to the cosine term but that is what of interest to me. So clearly now since I am talking about the exponential term I have a cost component and a sin component. So this phase like business phase difference business will be incorporated because I am taking both into account. Now what I am going to do is I am going to solve this problem I am going to solve this problem get the imaginary part I get back what I wanted okay. But how do I solve this problem? Seek u1 star as exponential of i rwt multiplied by some function h of r. I am seeking this as the usual separation of variables that you do. Now I am going to substitute this back here. When I substitute this back here I get i rw I am differentiating with respect to time.  Because h is a function only of r. Now is this choice a permissible choice is this a valid choice? It is a valid choice because now the time dependent term e power i rwt is present in all the terms and I can cancel off okay. That was the reason what motivated me to go from sin to the exponential term okay. And now I have my ordinary differential equation for h as a function of r. I should be able to solve this. If I am able to solve this clearly I am going to be able to solve this tomorrow because otherwise I would not have done this. I know h I can substitute this back here. I get u1 star. I get the imaginary part. I get my solution okay. And remember okay. So clearly h satisfies 1 by r d by dr of r dh by dr. I am going to bring that thing here minus i omega h equals I am going to take this minus 1 to the other side minus 1 okay. And now I need to have boundary conditions on this. I will just write them down and we will stop. h at r equal to 0 is bounded because only then my velocity is going to be bounded and my velocity has to be 0 at r equal to 1 is 0. That comes from my no slip boundary condition okay. Now we need to be able to solve this. This is a linear equation. It is an ordinary differential equation. I only think it is a complex number sitting here but we need to be able to take care of that. I just want to give you a hint that this is an equation which you guys have seen before in the calculus course when you are talking about Bessel's functions. So the solution to this will be in the form of Bessel's functions okay. And so that again is a nice closed form solution what we get. That is my total solution. Then what we do is this should be r omega. I think I need to stop because people are not correcting me. This is r omega. So now in the limit of rw being 0, I will know what the solution is. In the limit of rw being small, I will can do a perturbation series solution and then we will see. We will do that tomorrow okay. Thanks.


What's going on everybody, it's Dave with AlexFergus.com and today I'm going to be going over a product that I was sent for the purposes of this review. We're going to be taking a look at the Inner Balance Heart Rate Variability Coherence Sensor and App. Now the two work together to help you train your autonomic nervous system to get into coherence with itself. Well, if you don't know what HRV is, it's Heart Rate Variability. It's the span of time between each of your heart beats. So it's not exactly your heart rate, it's the amount of distance and time between each heartbeat. And what this product aims to do is through a series of breathing exercises bring your HRV into coherence which means it's a specific pattern of HRV in sync with your breathing. It goes along hand in hand by balancing the two halves of your autonomic nervous system. You have the parasympathetic and the sympathetic nervous system. Now you can think of your parasympathetic nervous system as the rest and recover and your sympathetic nervous system on the other side as the fight or flight response. And you don't want to have your autonomic nervous system shifted one direction or the other and you don't want to go on too much of one or too much of the other. You want the two to exist in coherence and that's what this product aims to do. Okay, so we are taking a look now at the hardware for the inner balance by HeartMath. This is the Lightning Edition that's the corded version. They also do make a Bluetooth wireless version. So this is the box that it comes in. This is what it looks like from HeartMath. So let's open it up. There's really not a lot to this product. As I said, most of the magic happens in the app. So this is what you will be presented with. You've got the actual sensor that clips on your ear right there along with the connector for your iOS device, the Lightning connector. You will get a travel bag right here. Just take a open it up here. So it's just just a cloth bag. It's not microfiber. It's not fuzzy fleece. It's just some kind of synthetic bag. So there's that. And then you're going to have a little instruction booklet here. Open that up. And it's basically a quick start guide. So basically telling you to download the app and then tap the screen and hit the start icon after you've plugged in the sensor and put it on your earlobe. And there's some quick coherence techniques right there. And basically consistency is key. You can share with a friend. And yeah, it's really a bare bones quick start guide to the device itself. So let's take the device out and get a closer look at it. So this is the sensor itself. And it's got some foam on each side there. And that's what clips on your ear. And as you can see on each side is one of those PPG sensors, like we see with the BIO strap or the Aura. And then there's a little alligator clip. You can slide up and down along the length of the cord here to clip onto your clothing to help hold the cord in place. And then there's this kind of brick looking thing here. I am not sure what that's for. I assume that's basically a converter between lightning, between lightning and whatever cord this is. It's just some sort of converter. But this is the lightning connector here. It looks very standard. Looks just as good a quality as the Apple branded charging cables. So I don't see any concerns there with it falling apart. So there's that. And the cord is a pretty good length. Let me see. I can't show you the full length of the cord. But I mean, I'd say it's a good meter. It's a good meter. So yeah, you've got plenty of length here if you want to put it in your pocket or set your phone down somewhere else. There's really not a lot to go through inside this box. The instructions here are, like I said, just a quick start.  Very minimalist. Yeah, like I said, most of the magic for this product is going to be happening inside the app, which we'll take a look at next. So with that said, let's go ahead and take a look at the HeartMath Inner Balance app itself and where the magic for this product actually happens. OK, so we are taking a look at the Inner Balance app from HeartMath. So this is the home screen that you see when you first open the app.  Now right now, I don't have a session going. So you're not going to see the breath pacer getting bigger and smaller like it would during a session. So from the home screen, let's go from the top to the bottom. So in the upper left-hand corner, you've got the option wheel. Let's open that up.  App and sensor info, support, and then you can do a full reset. So starting at the top under session, this is where most of the tweaks that you can do to your session are going to be found. So you can change the music volume in the soundtrack if you choose to upload your own music and soundtrack into the session, which you just hit the select. And on iOS device, it pulls up Apple Music. So it uses the default music player in iOS, which is Apple Music. So I mean, I use Spotify, so for me, I'd have to actually download some music into Apple Music to be able to use that function. Cloud effect volume is next, and you can either turn completely off with this toggle switch or turn it on. And when your coherence goes up or goes down, you'll hear an audible chime, kind of like an upbeat chime when your coherence goes up and kind of a wham when it goes down. And so you can have it selected for on coherence change or not. And feedback I really haven't played around with, but that might be handy if you've got the device in your pocket and you don't have it where you can see it. So that's, you know, same thing on session start, on session end, and on coherence change. So you can toggle those individually on or off. Now challenge level and breath pacer, those are the two biggest functions found in these session settings. Challenge level, I'm currently trying out number three out of four, and it's no joke. I recommend, I guess, everybody start off, should probably start off on star number one, and then incrementally increase as they feel their abilities is progressing. There you go, there's the four different levels. Level one is pretty easy. I think most people would be able to master level one probably in just a few sessions. Level two, I stayed there for quite a while. Level three is, like I said, the newest level, and that's pretty hard. Now breath pacer is the time in between the inhale and the exhale that you're going to pause. So it says down here dragging the slider right increases the time interval in seconds between each breath. So you can play around with that to find what works for you. Session timer, so you can either turn a timer on or turn a timer off, and you can say timer stop session. So after your timer is done, the session will stop. Or if you just want to continue to keep going, you can set it so that, like I have it turned off so the session will just continue and I can just keep going. I like to kind of keep it open-ended, like I like to know that my 5, 10, 20 minute session is over, but I'm not, you know, forced to stop. I can stop if I choose, but so I think that's a really kind of a nice feature actually. And then the session timer right there is all the way up to 60 minutes. I usually have been doing anywhere between 5 and 10 minutes. So okay, and my inspiration is you have the ability to upload or import an image or video from your photo library. So that's pretty cool. And you can either, if you do a video, you can have it so that the video sound plays or not during a session. Okay, session display options. So you've got all the different, these actually are different, these one, two, three, four, the mandala, the chaser, my inspiration in advance view are the different screens that you can swipe to during your session. I've got all of them turned on so that I have access to all of them during my session. And I'll go over each one of those in just a moment. And visibility, coach, mini HRV, and mini breath pacer are also little widgets that appear in the window during your session. And you can do different themes with different colors, which is kind of nice. So I just leave it on default for now. Reminders if you want to set a reminder to do a session, you've got that. I did forget the mood selection visibility option. So before you start a session, or after a session is completed, or when you do a journal entry, kind of like a wheel with an arrow, kind of like a game show will pop up with different emoticons around it to indicate your mood. So it's not just like a smiley face, but it's a smiley face with a color associated with it. So you can say, I'm yellow and I'm smiling. So that's, and that kind of shows you how you felt before a session, how you felt after a session, and during a journal entry, if you're just doing a standalone journal entry and not actually doing it in conjunction with a session. So you have that as well. And you'll see that in just a moment when I actually plug in the sensor and start a session. App and sensor info, pretty standard stuff here, folks. You can either toggle the analytics to developer on or off, sensor name, hardware, firmware, sensor location, battery level in the event that you had the Bluetooth wireless version. I'm not sure what classroom mode is. I have a feeling that's probably for clinics and things like that for psychiatrists and psychologists. I'm not messed around with that. And I think, oh, there's a reset also at the bottom to reset everything. I haven't touched that because I haven't have no need to reset anything. So those are, that's settings. Up here, you have the question mark for help. And it does a pretty good job kind of going over all of the major pieces of nomenclature or terminology that the HeartMath Institute uses in their inner balance product. So if you wanna read through that, it can give you some more insight and background into the technology and the process of what you're doing while you're going through a session. Okay, and then down below you've got the little smiley face down there next to the play. That is your mood. And you'll see this again when I start a session, because I did have that selection turned on.  And you also notice that there are colors associated with those faces. You've got the review that shows you your scores along with your achievement, your coherence, how long your session was. And then across the top you've got graphs that you can look at, your achievement awards that you can get. Let's take a look at this green one here. Lifetime achievement of 2,500 points, awesome. So that's kind of neat. It reminds me a little bit of the Muse app and how you can get achievements that way. The goals, so right now, I practice three times a day for five minutes, 300 points a day. And these goals change as you use the app more, which is kind of neat. And like I said, there's the history and you can pull up like an individual session here. And you get to see what level I was at. You can see how long you were in low coherence, medium and high coherence. The average coherence ratio, the length of the session and how many achievement points.  And then the other graph shows, and I can scroll through it, shows what my HRV values were during the session itself. And both of these you can scroll through.  And you can review how you felt at any given time during these, before and after a session. So you can kind of go through and see like maybe you were in a period of your life that had a lot of stress. And you can see how that affected your coherence scores. Guides, these are like kind of like guided meditation sort of in a way down here. Guided heart meditations, talks and heart meditations down here in blue. And then the orange ones are like video tours, like welcome to interbalance, it's a video. Don't think it'll play. Let's see if we can get it to play. Yeah, here we go. So they've got like a little explainer video talking about what heart math is and how it works. So that's kind of neat that it's built right into the app. You don't have to go to a, what it doesn't say, go to this website or open up your web browser. And then heart cloud, if you click on that at the bottom, this is where your scores are synced into the cloud. And this is how you can share and export your sessions out like latest sessions. Let's see here. Daily achievement totals. And then it also top community achievement scores. So I haven't quite gotten into being competitive with the community on this app. But you do have the ability to do that if you want to. So you want to cancel. OK, so yeah, you can, heart cloud. OK. Yeah, there's a way that you can export your session out of here. There's a lot of information on this screen. But it's basically where your scores are uploaded into the cloud and you can compare how you're stacking up against the rest of the community. So let's go back to session. And I'm going to actually plug in the inner balance sensor here. So give me a moment here. OK, got plugged in. Make sure that it's on my ear. And I'm going to hit the start button. And you'll see that it's going to ask me how I'm feeling. I'm feeling like that. Because I'm doing a video for all you wonderful people. Now you'll see the mandala of the circle in the middle is growing and shrinking. And I'm supposed to be breathing in time with that. Sort of like the calm app. Now this little dot right below the squiggly line, that is going to light up with the color of my coherence level. Red if it's low, blue if it's medium. Green if it's high. And then right above that, that squiggly line, that is my HRV score, my heart rate variability. You can see that I'm in low coherence because I'm not actually following the breathing. So if I swipe right, I can choose to view this screen and follow the breath that way. So you've got in and out from an expanding and shrinking multicolored flower type thing. Or you can go back and forth with these sweeping lines. Or if you want to use your own image, or in my case the image that heart math interbalance comes with, you can stare at and focus on a peaceful image that inspires thoughts of love and positivity. Or even a video. So there's that. And then across the top up there you'll notice this little ball bouncing back and forth.  And then if you swipe to the right one more time, you come to the advanced screen that shows your coherence level, your current coherence level, your current session length, and how many achievement points you have currently as the session can. Obviously I just gained some more achievement points. And then you'll see your HRV graph down there. So it looks like my HRV is somewhere between 70 and 105. And you can see over time, in real time actually, what your HRV is doing. Which is kind of neat. I don't have any other sensors that actually give me real time HRV data. And then below that is this three colored coherence over time. And it tracks forwards showing that it looks like I started off down in the red, moved up into the blue, somehow got up into the green since I've been recording this for you guys, dropped back down into the blue. And then spectrum is the frequency. There's my pulse rate. So this is the advanced view. OK.  In any one of these screens, you can always tap the screen itself to pull up the controls to stop your session or adjust the volume. So let's go back to the home screen here. And I will tap this and stop. And I get to choose my mood. So I am still in a great mood. So done. There we go. And it's going to give me my session overview. So there you go. I got 64 coherence points. My average coherence was pretty low at 2.3. But one nice thing is if I want to share this on social media or on a website or something, I can click the share button here. So yeah, you can share your scores in your session directly out of the app to other apps, which is kind of cool. I think that's pretty much it for the app itself.  There is quite a few settings here to tweak with. So it can be kind of hard to figure out and get yourself dialed in. But really, this is where the magic happens. This is where it all comes together. Because the HRV sensor that it comes with is pretty much just a red PPG sensor that you would find on the BioStrap or even the ORA ring. It's not really any different. The magic is all in how your HRV coherence is calculated using this app. So anyway, that is a look at the Interbalance app itself. So let's go down and take a look at some pros and cons and wrap it up. OK, so we've taken a look at what comes in the box, how the hardware is put together, and we've also taken a look at the app and seen how the different modes of breathing exercises work to get you into coherence and HRV biofeedback training and how it works. So is the Interbalance by HeartMath Institute something that you might want to start including into your daily routine to reduce your overall levels of stress? Some pros and some cons. So first on the list is a con. I think that the wired version is a little bit cumbersome. It does have a little clip here, so you can clip it to your clothing. But it does kind of feel like there's something hanging off your ear. And it does kind of interfere a little bit. Also, the plug on this, the lightning plug that I have, is a little fat. If you've got a headphone jack next to it or you have a case, it might not fit. But that's really all I can see as far as the hardware side of it. It's solidly built hardware. It's quality built hardware. As far as the app goes, I'd like to see a refresh done with the app. The app looks like it's kind of getting old and long in the tooth. HeartMath Institute does have a second app available called Global Coherence, which is a much newer app. And it's a lot more updated looking. The look and feel of that app is very 2019. It's also a little bit complicated if you aren't used to the app. There's a lot of ins and outs and different modes and there's different settings. And it can be a little bit overwhelming, to be honest. I mean, if you don't have a lot of time to dedicate to figuring out the app itself, you might end up just saying, eh, and putting it on the shelf. So maybe a refresh on the app, because that really truly is where the magic happens. I think that the app being as important as it is to the overall HeartMath HRV Coherence training as it is, that they really should spend some time refreshing and simplifying the app. Because, like I said, it can be a little bit daunting with all of the different options available. Pro is that I like the fact that you can upload your own photo or video. I also like the fact that there's a couple of ways that you can export and share your data out of the HeartMath Interbalance app itself. That's something that's missing from other apps like the Muse meditation headband. Now, I do know as far as among the Muse community of users themselves, there are a lot of crossover people that use both the HeartMath and the Muse together. The type of breathing that you have to do with the Interbalance is completely different than the type of breathing that I do when I meditate. I've tried using my meditation breathing with the HeartMath and I was getting crazy low coherence scores. I tried using the coherence breathing with HeartMath with my Muse and it ended up distracting me and not making for a very calm, deep meditation experience. So they don't really seem to be something, like a skill you can learn and apply to one another. The two different technologies might compliment each other by overall reducing your stress levels. But I don't think you can take what you learn from one and apply it to the other. I do like the fact that there is a wired version and a wireless version. I think that's awesome. For people that don't want to be exposing themselves to extra Bluetooth, low frequency energy, they can choose the wired version. Initially, it was thought and why I was sent the wired version was that I could wear the Bluetooth wireless Muse headband, this guy. I could wear this at the same time I was using this because I wouldn't be using two different Bluetooth devices at the same time. Unfortunately, in my experience and experimentation, using both the Muse app and the Interbalance app at the same time does not work. For me, as soon as my Muse session is over and I switch over to the Interbalance app, the Interbalance app will crash before I'm able to get any of my data out of it. So unfortunately, even going with a wired version of the Interbalance heart math product, I was not able to do both at the same time. I like the fact that it's portable.    I can go into a lounge at an airport. I can go, you know, in a hotel room and practice HRV coherence training with this device. And it's very small and very lightweight. It doesn't feel super fragile. It doesn't feel very liable to break now compared to like the Muse, which is kind of flimsy. And you definitely want to get a case for that.  So overall, I think the Interbalance device and the HRV coherence training is a very positive thing because I can actually tell after you use the Interbalance system for a while and you start getting high coherence scores, you definitely can feel a shift in the stress load on your body. And so you kind of get into this zen, almost flow-like state. And I believe that's exactly what you want to do when you're trying to use biofeedback to train your body and your autonomic and your autonomic nervous system. And I just, I don't think that you're gonna be able to get that just by watching a flower get bigger and smaller through an app like Calm. You definitely want to be able to see in real time if you're actually hitting that coherence level. And that's why this product is so interesting to me because you can over time get to know that feeling of HRV coherence so intrinsically that you won't even need this device. You can go somewhere and just find a quiet place and do some breathing exercises and that feeling, that flow state that you get into, you'll know that you're actually in HRV coherence. Just like with the Muse headband, I can go somewhere and not even have to use the headband and meditate in a quiet area and know that I'm getting into a deep meditative state because my body is so familiar with the sensation of being in a deep meditative state as I've seen my data correlate in the Muse app. So using this on a regular basis, your body and your mind will get to know what HRV coherence feels like and you'll be able to replicate and reproduce that even without this device. How would I rate this product? Well, I don't really like to give a hard yes and a hard no and scales of one to 10 can be a little bit subjective for a lot of people. For me and my personal use, I would give this probably a seven or eight out of 10. The real magic happens in the app and as much as I'd like to see them revamp the app and update it to make it a little bit slicker, a little bit simpler and maybe just more with the times, I think it's a great product overall. I think the price is a little bit steep for some people and I think you probably can get a lot of the same benefits out of other apps which are just not going to be able to get the level of detail about what your body is doing and how the two halves of your autonomic nervous system are working together without a product like this. You can get some of the same benefits but you're just not gonna be able to get the results as quickly and I think as easily. There's tons of tutorials inside the app itself. It's a huge community. It's been around forever but I definitely think if this is something that you're interested in and you're on the fence about, definitely check it out and purchase one of these because I think that overall it's a tool that you can take with you just about anywhere in practice.


Don't you wish you could just focus on one microservice instead of having to drag in the whole set of microservices and all of those related dependencies and Kubernetes? Well, it turns out you can. So join me and Nick Greenfield on this episode of Visual Studio Toolbox. Hey, everyone. Welcome to Visual Studio Toolbox. I'm your host, Leslie Richardson. And today I'm joined by Nick Greenfield, who is a program manager on the Bridge to Kubernetes team. Welcome, Nick. Hey, how's it going? Thanks for having me. Yeah. Nice to be here. It's a very smoky day out, but enough about that. The cool thing is that I hear there's this new feature available as part of Kubernetes called Bridge to Kubernetes. Can you tell us a little bit about what that is? Sure. So Bridge to Kubernetes is an iterative development tool for developers that are authoring microservice applications that target Kubernetes. It's offered as a client experience in both Visual Studio and Visual Studio Code through extensions that you can pick up in the marketplace. So what are some of the existing approaches that are kind of similar to Bridge to Kubernetes that can help address that issue? That's a good segue as to this next slide that I have here. So there's a lot of different tools and methods for solving these kind of challenges where you're working on a single microservice in the context of a larger application. And we've kind of categorized all those different methods and tools into three main buckets. There's the local approach, the remote approach, and then the hybrid approach. So that's these columns that I'm showing here. And the rows are key characteristics that we've learned are really important to developers when trying to be successful in their day-to-day task of developing their microservice code. And to go through these quickly, and I'll talk about where Bridge to Kubernetes falls into one of these categories, but starting with the local approach, the local approach really revolves around I'm running my code locally and I'm satisfying all those external dependencies on my local development machine. So whether I'm using stubs or mocks to fulfill those external dependencies, or if I'm actually running all those external dependencies on my development machine and configuring and connecting to them manually, or if I'm even using a system like Docker Compose to run those dependencies in containers, ultimately what this approach does is it allows me to work on my dev machine where everything is running on that workstation. And this has a lot of great benefits as in everything's local, so I get a really speedy developer interloop experience, but it does lack in that my dev machine is most likely going to be drastically different to the deployed environment where this code is ultimately going to be running in Kubernetes within Azure. So the extreme of the local approach is moving into this remote approach. And there's tools that basically allow you to write your code on your local machine, but then when it comes time to debug and test end to end, you take those changes and deploy them and sync them into that deployed environment. So into Kubernetes, that might be running in Azure. And this kind of plays off the weakness of the local approaches that I get that fidelity to a deployed environment, because I'm testing and debugging where this thing is ultimately going to be running. But now I have these extra steps in my developer interloop cycle of having to build and deploy my code. And I think working in the space for a little bit, the biggest learning that we've worked in customers with this specific to this approach is that it does add some extra friction onto a developer's workflow, because now they have to have these operational concepts of having to bundle their code and build an image of their code and deploy that image into Kubernetes. And what we've learned is that not all developers are accustomed to those sort of concepts and complexities. So the last approach, and this is where version of Kubernetes falls in is the hybrid approach, where it's kind of the best of both worlds. Ultimately, what this approach allows you to do is write your code on your development workstation, but connect to external dependencies that are running in some remote environment. So I'm actually fulfilling all those external dependencies by connecting to my Kubernetes cluster, let's say running in Azure, so that I can leverage the whole end-to-end workflow. But the only thing I'm running on my developer workstation is the code that I'm working on. So diving into that approach, this is really where we feel is like the best of both worlds. And we're seeing this resonate with customers quite well. So if you're interested, I will show you an example of how this works on given that sample application that we were just talking about. Yeah, I do like demos. Cool. So at a high level, when you are using Bridge to Kubernetes, like I said, you are only responsible for running the one work, the one microservice on your development workstation. So taking that example that I had earlier where I have that Bikes microservice open here, which is one of these back-end APIs. The first thing you would do with Bridge to Kubernetes is create a connection to your cluster. So in this case, I have now had, I've created this bridge to my deployed environment. And once this connection has been made, I can actually pick from all the available services running in the cluster which of these I want to work on locally. And so in this case, since I have Bikes open, I would actually select the Bikes microservice. So could I pick multiple microservices if I wanted to? Or one at a time? Nope, you could pick multiple. So you'd have to have different instances of VS or VS Code open, but this would allow you to redirect multiple at once. Gotcha. So when I select, in this case, the Bikes microservice, we're actually putting this redirector in place so that when I make a request that goes into the front end of my application running in AKS, it will continue to hit all the services running in my cluster until that Bikes service is called. And at that point, that request will be routed to my development workstation or the version I'm running locally. That's really cool. So it's kind of like you finished a jigsaw puzzle, and you're just kind of sticking in the missing piece when she go to run test deploy all that jazz. Exactly. Nice. So this is at a high level how Bridge to Kubernetes works. And, you know, I'd love to show you an example of, you know, our visual studio experience working on this exact application, how you could go from zero to using Kubernetes on, you know, a project that you have of your own. Yeah, let's check it out. The first thing that I want to show you is that application running in AKS. So is that bike renting application where, as I mentioned before, you can log in as a customer and you can have a list of available bikes that you could reserve for a period of time. So in this case, I would see the men's cruiser. Looks good. I can rent this bike. And then when I'm, you know, done using this bike, I can return this bike and it's returned back to the system available bikes to rent. I'm just really simple application, you know, just for demo purposes, right? So yeah, so what I want to do is I actually want to work on one of these services. And since I'm going to show you the VS experience, it's probably appropriate that I show you the reservation engine, which is a microservice that is written in .NET Core. Sounds good. So switching over to VS, I have Visual Studio 2019 open. And you'll notice that I have a solution that has one project open. And this is that reservation engine, that microservice that's responsible for actually reserving the bike. And you'll notice that over here, this is just the source code for that microservice. There's no Docker file. There's no Kubernetes configuration. It's just that source code.  Right. So it's just that one microservice, nothing else. Cool. And so now since I have this open, and if I go to the VS marketplace and I install the Bridge to Kubernetes extension, what will happen is I'll have this new launch profile that's available for me to use up in this list of launch profiles that I can select from. And when you select the Bridge to Kubernetes launch profile, the very first time you'll be presented with this dialogue that I have open here. And what this dialogue really allows you to do is define the connection from your development machine to your target AKS cluster where you can select that service that you want to redirect to your local running version. So just to quickly walk through what's required here. So a subscription is required. And within that subscription, I have available clusters that I could select from, in this case, these are Azure Kubernetes clusters. And then I have a filter because I have a different namespaces within that cluster. So I'm going to select the namespace that's running this application that I want to start debugging. So my bike app is running in the bike app. My bicycle application is running in the bike app namespace. Within this namespace, I have a list of all those services that I saw from that diagram earlier. And I want to select one of these that I want to redirect to my locally running version. So as I mentioned, I have the reservation engine open. So I'm going to select the reservation engine here. And this next dialogue here, the dropdown is basically asking me to select a launch profile that we want to clone. So this app is a launch profile that I'm familiar using with this microservice. And what we'll do is we'll clone this launch profile with some extra configuration that's taken from the Kubernetes cluster. Okay. Is that just to make sure that your local content is in sync with the rest of? Yeah. So the reason I'll be calling is we want to tap into how you're familiar with developing. So if I'm used to developing this application locally, however, that may be whatever profile that I have set up and configured, we want to allow you to continue using that, except we'll add some additional configuration into that launch profile that is from the Kubernetes environment that allows you to talk to those other services. So it's basically continue doing what you were doing before, but we'll throw in some extra configuration for you to use, to use the Berkshire Kubernetes functionality. Neat. Yeah. And these last two, this is actually a really neat feature that we just released. I'm really excited about. And I don't know if you picked up on how we're redirecting traffic to your development machine, but that's become problematic when you're working in a shared environment, right? Yeah. So if I have other developers that are working in that same namespace on, you know, other micro-prolaces are the same one that I'm working on, potentially we will step on each other's toes because their traffic will get set to my machine and vice versa, right? We have this isolation mode, which allows you to work in isolation where only your requests that are being sent will get redirected to your machine. And we do that by giving you this special URL. In this case, we'll prefix your URL that you're normally using for your application with your username on your machine and then this unique hash here. So that only traffic that's using this URL will get sent to your local running version or the normal URL that everyone else would be using will continue to run and hit the service that's running in cluster. That's really cool. So ultimately, there might reach a point, of course, when you do need to like push changes and things, right? So you're still going to have to fix merge conflicts in that context, right? But as far as running and testing with the Kubernetes cluster, it's not going to be an issue and you're not going to bump into somebody else who's also trying to access the same cluster at the same time. Right. So if I was working in a shared namespace, you can imagine that if my friend John was using the same namespace and working on a different microservice, he would have his own special URL and I would have my own special URL so that our traffic isn't conflicting with each other. That only my traffic is getting redirected to my machine and his traffic is getting redirected to his machine. Great. Only all traffic was like that. So at this point, I have this configured. And like I mentioned before, this is a one-time configuration that you would set up when you're getting started with the bridge to Kubernetes. We persist this. You can always go back and change it later. But for this case, I'm happy with it. So I will hit OK. So we'll check to make sure that we can actually isolate that service and we can redirect it to your local running version. So this usually takes us a couple of seconds. Cool. And that's done. That checked past. So now, if I want to start working on this service and hit some break points, let's do that. So I'm going to open up a file here. This is the bikehelper.cs and since I'm debugging the reservation engine microservice, so when you reserve a bike, this is the service that will get executed. I can actually put a break point and let's put it in this reserve bike method that seems appropriate for this service here. And then since I'm targeting that bridge to Kubernetes launch profile, I can add five. And what it's doing is going back to that diagram that I showed you before is at this point, it's creating that bridge between my developer workstation and that Kubernetes cluster. We do require admin privileges on the client machine to allow that traffic to be sent back and forth. So that is one dependency that developers will have to have when working with bridge to Kubernetes. Gotcha. So at this point, what it's doing is it's establishing that connection. It's finding that service in the cluster that I want to redirect to my machine. And what it's doing is it finds that service, it's putting that redirecter in place, and then it's going to make it so that any request that hit that service will actually get set to my machine. So I just got my UAC prompt, so I authorized that. Great. All right. So it looks like that connection has been made. It's starting my debug session here. As you can see that URL, that special URL that I had in that dialogue, when my debug session was started, it actually launched that URL. So here I am with my application and you can see I have that special URL that was provided to me when I clicked I wanted to work in isolation. So at this point, I can try to debug my service in an end-to-end scenario. So I'm actually hitting the services that are running in AKS at this point. So this is the front end that we'll call the user microservice. Here we go. And now that I have a list of bikes to choose from, I can select a bike. And again, all of this traffic is still happening within the cluster. Nothing's being redirected to my machine yet. But now when I'm actually going to reserve a bike and it's going to actually send a request to that restoration engine microservice, you'll notice that that request will get set to my VS instance. You see VS just popped open and now I'm stuck at my break point where I can debug and step through the code and, you know, however my debugging practices, I'm open to using whatever debugging practices that I'm familiar with, right? Cool. So it's essentially skipping over the existing microservice that's up in the cluster and just redirecting to your local. Right, exactly. And this is right. So I can iterate on my code. I can make changes. I can debug, you know, maybe use potential issues. And then again, the only thing here that I want to call out that is, you know, for me is the most exciting thing about this feature is that I'm only running that one microservice. I don't have all these other services. I'm leveraging them from running in that Kubernetes environment. And again, no Dockerfiles, no HelmChart for Kubernetes artifacts. I'm running this natively on my death machine. Yeah, that's so cool. I mean, even locally, sometimes when trying to look at a huge project, but you only need a chunk of it, it's just like, I'm spending all this time debugging this other issue that's not even my responsibility. Yeah, yeah, all these other dependencies. Yeah. So that's cool that you don't have to worry about that. Yeah. So, so at this point, you know, as a developer, I'd step through this code and when I'm happy with it, I can hit resume and that request will get sent back into the cluster to be completed. And the really nice thing about this is that, you know, if let's say I actually make a change as a configuration change that I would need to restart my debug session. So if I was to exit my debug session here, you'll notice that I'm no longer in that debugging mode, but I have this yellow banner up here, this info bar that says, Hey, your service reservation engine is still being redirected to your machine. So when I, so I can make a, yeah, I can make a configuration change. And, you know, I'm ready to f5 again. And what's going to happen is it's actually going to skip that connection. Yeah. When we went through initially, we're already connected. So there I am, my application launches and I can rate my code as I would. That's great. It's almost like it got cashed someplace and telling me to use it again while you're in the same BS session, right? Right. So yeah, that is the visual studio experience for bridge to Kubernetes. That's really exciting. I think that could save people a lot of frustration. So based off of that, are there any existing limitations that you want to tell viewers about? So base limitations. Well, we're working really hard to unblock any limitations. Yeah. We're working with developers or understanding the applications that they're developing and, you know, where we're rich to Kubernetes fits and really just kind of understanding the different scenarios that we need to support. I would say the one thing that we get asked constantly that I'm really excited to announce is that people want to use bridge to Kubernetes on Kubernetes clusters that are not AKS clusters. So a mini cube cluster where it's basically running your Kubernetes cluster on your development machine. And we are in the process of actually enabling a public preview that would allow you to work to use bridge to Kubernetes on any Kubernetes platform. So that's a really exciting announcement that will happen very near future. That is really cool. And speaking of previews, how can people access this tool? Is it available yet? Yeah. So we recently just went GA. So that's really exciting. Congratulations. Thank you. I have some, there's some quick starts under the BS code documentation under the develop with Kubernetes. And we also have some getting started material under the BS Visual Studio container tools documentation. I will absolutely provide some information on how to get started with those. That is fantastic. And so you already mentioned that you're working to expand bridge to Kubernetes functionality out to all Kubernetes platforms. So what else is next for Kubernetes? So I think, you know, again, it's really understanding what the scenarios that different development teams have to use. So actually one limitation that potentially when people are watching this video will no longer be a limitation is that it does is only targeting Linux containers in Kubernetes. And we've heard that there are a lot of development teams that are in this hybrid scenario where they're running Windows containers as well as Linux containers. So we want to make sure that we cater our tools to all different situations. So we're really working through, you know, we're having this ability to work and target any Windows containers. That is very exciting. Well, thanks for sharing that. That is a really cool tool that I think can help a lot of people out. I really like that you can just segment the microservice that you need and don't have to worry about anything else seriously. How much time, right? Like how much time gets wasted just trying to figure out how another chunk that's not really your problem connects to the piece you're working on. So super exciting. So yeah, thank you. Yeah, thanks for being here, Nick. And yeah. And so go try it out. It's GA now officially. Yeah, we want to know what you think. So we'll provide some information on how you can get in touch with our team, and we want to hear about your experiences with the British Cooper, so absolutely reach out. Awesome. So until yeah. So until next time, happy coding.


Everybody forced here ripping it to boxes to basketball boxes for Nathan W a 21-22 crown royale basketball hobby and a 21-22 prism basketball fast break Nathan Here we go, buddy. We'll start with that fast break and that will fan for crown go some do some kaboom hunting Kaboom hunting got mindset disco Trey young Jeremy Grant fast-break rookie Otto Keon Johnson solid hit there None number to the key on Johnson rookie disco. Is that your Williams? Nice I hear Devin Booker fireworks disco red Jalen green 33 of 100 Nathan awesome Jalen green red disco color match Sick card buddy 33 100 that's going into mag for sure Heck yeah, man Great card there and a Mowgli base in the same pack Silver a Kim Elijah want disco Kemba Walker fearless Damian Lillard blue Austin Reeves rookie disco 89 to 150 purple Trey Murphy the third now what a box 45 of 75 in the Trey Murphy the third Why scan rookie disco? Still have a photo variation coming to Shaq fearless disco red Larry marketing 50 of 100 photo variation is a Davion Mitchell Rookie disco Jason Williams fireworks John Morant Blake Griffin Chris Duarte a bronze James prismatic disco blue disco Deontay Murray numbered 120 of 150 In a bones Island. All right great box there Great box and a crown basketball hobby crown Royale Jersey card is a key on Johnson Airs of the throne a Dennis Rodman red auto five out of 49. That's Rodman Got Carlin 30 towns on the bronze and Test of time Kyle Lowry 17 of 99. All right, that'll do it. Nathan. Thank you a gay man. Congrats on the awesome fast Breakbox. We'll get him right out to you


Usage Counts is an open-air service built to track and measure the usage of open access repositories. With Usage Counts, you explore, compare, and retrieve usage statistics. It collects and visualizes usage activity of open access, repositories, journals, aggregators. Usage Counts complements existing citation mechanisms, and it assists users to track and evaluate research from an early stage, offering standardized and comparable reports that quantify the uptake of research outcomes. Usage Counts categorizes the data retrieved and provides a comprehensive timeline of user-friendly visualizations. Usage statistics and number of repositories by country, number of views and downloads on a local repository on open-air provide, number of views and downloads on open-air explore, and all derivative quantitative open-science impact indicators on open-air monitor. Usage Counts is a service for content providers, research-performing organizations, Usage Counts supports anonymization of usage activity with global coverage, tracks trends on open-science topics, and is GDPR and counter-code of practice compliant. Taking advantage of open-air graphs deduplication mechanism, it aggregates usage statistics that are collected from different sources and relate to the same research product. Usage Counts is an integrated service with open-air and EOSC via the open-air provide service offered for free. Once your source content is registered on provide, you can easily enable Usage Counts. Download a tracking code for your repository, configure the tracking code, deploy the tracking code into your repository, check the validation email about the installation by open-air. Open-air Usage Counts, your open-access metric service. Activate now.