So, we talked last time about the absorption of energy by the spin system when we apply an RF. So, considering the relaxation also we said okay there is a steady state population difference between two energy levels, two energy levels we are considering for a spin half system alpha and beta and this n dash is the steady state population difference between the two and that is given by n naught divided by 1 plus 2 P T1 and where P is the RF induced transition probability and T1 is the spin lattice relaxation time is because of this spin lattice relaxation while the RF tends to reduce the population difference the T1 tends to restore this population difference therefore as a result of the balance between these two we have a continuously nonzero population difference and therefore we get the NMR signal okay we also said P is equal to 1 by 4 gamma square H1 square where H1 is the amplitude of the RF and gamma is the gyromagnetic ratio. So, in H1 square this defines the power while H1 is the amplitude H1 square defines the power of the RF how much power you apply though the more the power higher is the transition probability you tend to reach the saturation okay. So, therefore this 1 plus 2 P T1 is this term is called as the saturation factor because if this is too high if the 1 plus 2 P T1 is very very large then of course n dash may go down to 0 in which case of course you will lose the signal that is why this is called as the saturation factor 1 plus 2 P T1 if which is very very large then you have the signal disappearing and therefore this is called as the saturation factor okay. So, now from here we go forward and to see now next we ask what kind of transitions the RF will induce so what transitions the RF will induce. In other words suppose we have a spin system which has many energy levels so far we are considering only 2 energy levels so therefore there is no issue but suppose I have a system which are many levels like this and this will depend upon the value of I because we said if there are 2 I plus 1 states for a particular I that is considering if there is a one spin with one type of spin which has the I value that 2 I plus 1 states if there were multiple spins then of course you will have a net I value and which will of course be very different and you will have many different orientations possible many different states possible for the combination of this for the various states what sort of transitions are possible here. So, these are various values of m here I call it as m what is the magnetic quantum number so let us say this has a 3 by 2 half minus half 1 by 2 or 5 by 2 and so on so forth we have various kinds of spin states which are possible what sort of transitions are allowed so in other words what are the allowed transitions the same thing is to say what are the selection rules does the RF induced transition between every 2 levels so it turns out that this comes out from quantum mechanics by the perturbation theory in quantum mechanics quantum mechanics perturbation theory we will not go into that detail perturbation theory it turns out that RF can induced only those transitions for which delta m is equal to plus minus 1 so it cannot reduce transition between m is equal to if I have a let us say for i is equal to 1 i is equal to 1 what are the states possible I will have i is equal to 1 m is equal to 1 this is m is equal to 1 and then you have the 0 here and you also have m is equal to minus 1 so delta m is equal to plus minus 1 meaning what what states are possible we can have a transition between these 2 levels we can have a transition between these 2 levels so these are both delta m is equal to plus minus 1 so but this transition this transition is not allowed this will not be allowed because that black one has delta m is equal to 2 and that is not allowed and that is typically known as the double quantum transition wherever there is delta m is equal to plus minus 1 this is called as single quantum transition so this is so far as the energy absorption is concerned now it leads us to the next question will the energy absorption happen precisely only at that frequency or there is a certain variation allowed so E is the NMR spectrum if absorption of energy happens exactly at one frequency if this is omega does it happen exactly at one frequency or some other frequencies which are nearby will also cause a transition will also cause absorption of energy what does that mean if I have a certain kind of for possibility of having a transition for these energy levels also then they may have different intensities alright then I will get a profile of line like this so the frequency here if I apply an RF frequency here it will have an amplitude absorption of energy will be this much if this exactly a resonance condition it will have a highest amplitude if it is frequency is here then I will get this much of amplitude there and therefore it will generate absorption of energy different RF excitation efficiency will be different this width here at half height this width here at half height this is called as the line width so the absorption of energy does not occur only at one frequency but there is a certain tolerance so it there is a certain tolerance on what should be there for the frequency for absorption to take place this is called as the line width now what does this line width depend upon so this is something which one has to see we can look at that so the line width what are the factors width influence the line widths ok now consider let us say a two level system so we have the exact frequency one value but there are certain other values we said it will have absorption of energy possible and we are going to observe a signal which is looking like this and this is the central value omega naught and I will have this width which is here what does it depend upon basically this come from a principle known as Heisenberg uncertainty principle what it says is in quantum mechanics in certain in particles of this type there is a definite uncertainty in the energy values and there is a certain uncertainty in the time if there is a certain uncertainty this product is approximately equal to h cross uncertainty in the energy there is an uncertainty in the time now what is the meaning of uncertainty in time uncertainty in time means this is the lifetime of the state so we can take this uncertainty in time to imply lifetime of the states of the spins in the states so what does that mean if a particular spin is in the particular state let us say this is alpha and this is beta will it remain there forever no it does not remain there forever there is always a certain continuous transitions going on from up and down alpha to beta beta to alpha these transitions are continuously going on these are induced by the lattice are induced by the RF or whatever so there is a kind of a lifetime for the spin in a particular state and that is called as the lifetime and therefore if that is delta T accordingly if this condition has to be satisfied there is a certain uncertainty in the delta E also therefore that uncertainty reflects in this width when there is an uncertainty in the energy level so it is either here or here or here or here some uncertainty in the energy value then it will cause absorption of energy at slightly different frequencies and that is what is called as the line width now therefore whatever affects the lifetime of the individual states that will cause a line width so therefore alteration in the line width so one reason is alteration in the in the lifetimes we will not go into the details as to what all these things can happen of course this is reflected in what we already seen in the spin lattice relaxation we have seen this in the spin lattice relaxation okay this will alter the line width and the phase coherence changes that is that we will see afterwards and then there is a second reason what can cause the line width this is the field inhomogeneity field inhomogeneity what is the meaning of that suppose I have a sample like this I have the solution here the various spins are presented various places here now apply I am applying a field which is H naught suppose this field keeps fluctuating the value of a particular spin of a value of field at this point is slightly different from the value of the magnetic field at this point then this fellow will absorb energy at one frequency this fellow will absorb at another frequency okay therefore the result will be so this may give a freak an absorption at this position and this may give me an absorption at this position these are slightly changed slightly different this plus this will give me a free a light broader line okay so therefore this contributes to the line width because both the things are present the same spin absorbs energy at two different frequencies because of the field inhomogeneity okay so this is a different mechanism earlier one was the lifetime of the individual states has changed and this is an indifferent mechanism this can be controlled by adjusting the homogeneity of the sample very well homogeneity of a magnet very well this can be controlled so this is an important contributor to the line widths there are various other reasons why there can be changes in the lifetimes and these are all based on the quantum mechanical principles it is sufficient to know whatever alters the line lifetimes of the individual states that will cost contribute to the line widths okay so now let us look at the description of the spin system from a different viewpoint and this is how Felix Bloch described this magnetic resonance phenomenon in a classical way in a phenomenological way and he set up a set of equations called as Bloch equations these are known as Bloch equations okay so he described the movement of the magnetization in the presence of the RF how it will be in a very generalized manner. Let us say we have the axis like this here x, y, z and we have a generalized representation of the magnetization which is let us say oriented somewhere like this this is my magnetization medium now this is a vector the magnetization is a vector right so the magnetization will as vector means I have components Mx, My and Mz these are the components along the 3 axis there is also this effective field and that is like this so I have this H0 field along this axis this is the main field then I have applied RF which is the H1 along this axis let us say then therefore the effective field is the vector addition of these 2 fields I will get a field H effective so if the H effective is oriented in this manner of course since RF is a rotating field this H effective also keeps rotating H effective also keeps rotating so therefore this has a time dependent component and there is a time independent component. Now H0 is constant is constant and the RF is H1 e to the minus i omega t this is the time dependent component here and this is the rotating field therefore the H effective also keeps rotating so therefore it has these components let us represent this H effective with 3 components as okay now this is effective here H effective here this has the components Hx, Hy and Hz of these Hz is constant Hz is equal to H0 this is constant and Hx we write it as H1 cosine omega t and Hy we write it as minus H1 sin omega t because it is going in the minus e to the minus i omega t e to the minus i omega t is what cosine omega t minus i sin omega t therefore so this Hx remember this this is goes to the this one here Hy is down there so therefore we have 3 components and this 3 components are we can write explicitly like this so I have the m vector m vector has the components Mx, My, Mz and the H effective is H0 then H1 cosine omega t and minus H1 sin omega t now notice here this H0 is along the Z axis here Mx, My, Mz they are in a different order this is along the Z axis this is along the Z this is along the X this is along the Y Hx, Hy okay I wrote here Hz, Hx and Hy okay so let me write again down here Hz, Hx, Hy so Block wrote a set of equations to describe the moment of the magnetization vector in the presence of such a kind of a H effective so I will write those equations here directly and of course you also consider the relaxation phenomena so dMx by dt is equal to gamma My H0 plus Mz H1 sin omega t minus Mx by t2 now t2 is the relaxation time which I had introduced to you earlier this is the spin-spin relaxation time or it is a transverse relaxation time d My by dt this is the rate of change of the Y component of the magnetization because remember these are time dependent phenomena because of the RF which is time dependent and the relaxation is also it changes the magnetization a time dependent manner therefore this these all of these equations will have time dependence so this is gamma Mz H1 cosine omega t minus Mx H0 minus My by t2 and this is obviously these Mx and the My components are the transverse components therefore they depend upon the transverse relaxation time t2 now what about the Z component dMz by dt this is given by gamma to minus Mx H1 sin omega t minus My H1 cosine omega t minus Mz minus M0 divided by t1 so the first is the transverse components which are present here and the last relaxation part which is there this is dependent on the t1 relaxation time Mz is the magnetization at any point in time M M0 is the equilibrium magnetization so depending upon the deviation of Mz from M0 it will have a relaxation going on there is a magnetization Mz is going to change. So these are the block equations in the so called laboratory frame but the NMR experiment is done actually in the rotating frame NMR experiment is done in the rotating frame is in the rotating frame that is as if you are sitting on the RF and looking at the magnetization how they it is spinning so therefore the main RF frequency will get subtracted out the time dependence will go away in the rotating frame meaning you sit on the RF and look at the magnetization in the rotating frame therefore you can transform the equations into the rotating frame I am not going to give the details of that one but I will only give the results transform the equations to the rotating frame rotating frame is you have this the RF is applied the RF is moving here this is the H1 and the component of H1 which is let us say you are sitting on it and looking at this is the H1 here and what is on that axis if the H1 is rotating in this field I will have that particular axis I am sitting over here and there is also a the orthogonal component which is going like this it will have an orthogonal component this is the normal x y z components then I will have sit on the RF and look at it in the same direction suppose it is moving like this so I sit on it I have this axis here and then there is the other axis which is perpendicular to it so that perpendicular axis I am writing like this okay so I call this axis as U and this axis as V okay so I measure the magnetization in this two in this magnetization components along the U and the V axis okay so therefore U is the magnetization component in the direction where the RF is applied and U is the orthogonal component so U is along the direction of the RF and V is the orthogonal component so this is the mathematical operation how to transform it so you have the magnetization M which you can write in the laboratory frame as Mx, My, Mz or you can write in the rotating frame as U component V component and the z component which is Mz only z component does not change and that is the U component so now I make this transformation after doing the transformation I will write the block equations and this will be du by dt plus U by T2 plus omega naught minus omega into V is equal to 0 then I will write similar one for dV by dt plus V by T2 minus omega naught minus omega into U is equal to minus gamma H1 Mz and for the Mz this does not change because this is along the z axis it is a constant term this dip does not depend upon the rotating frame dMz by dt plus Mz minus M naught divided by T1 now it is dependent on T1 notice here minus gamma H1 V is equal to 0 so these are the three equations in the block equations in the rotating frame. So now at steady state what happens at steady state as I said we are going to measure the signal continuously so therefore at steady state what will be the situation at steady state all the time derivatives will be 0 at steady state du by dt is equal to 0 and dV by dt is equal to 0 if you substitute this into those block equations then you will get U is equal to M naught into gamma H1 T2 square omega naught minus omega divided by 1 plus T2 square omega naught minus omega square plus gamma square H1 square T1 T2 and V will be minus M naught gamma H1 T2 divided by 1 plus T2 square omega naught minus omega square plus gamma square H1 T1 T2 and Mz I will write the Mz here Mz is equal to M naught 1 plus T2 square omega naught minus omega square divided by the same term 1 plus T2 square omega naught minus omega square plus gamma square the denominator is the same in all the cases T1 T2. Under the conditions gamma square H1 square T1 T2 is far far less than 1 that is this represents no saturation remember saturation is dependent on the power H1 so H1 pair H1 square is very small compared to the T1 and the T2 when you take the product is very small then you will get the simplified equations for U and V then you get V is equal to T2 divided by 1 plus T2 square into omega naught minus omega square and U is equal to omega naught minus omega divided by 1 plus T2 square into omega naught minus omega square. These are the components which we are actually going to measure these are the transverse components we are going to measure this. Now if I want to draw this curve I want to plot V versus omega see if I plot V versus omega this is omega here this is V here how does it look this will look like this and this is omega naught center is omega naught if I plot U versus omega how does this look this will look like this down like this so this is called as the absorptive signal and this is the dispersive signal. So these are the two basic line shapes in your NMR spectrum. So but most of the people use this absorptive line shape because it is a very it does not have the positive negative components and it is sharp it does not have the tails as this U component has. So this is the measurement so therefore NMR signal NMR spectra you will see this term this is what we will observe in your NMR spectrum. So I think we can stop here for this class and we can go over to the other things in the next class.


So for those of you who do not know me, do not know me, a lot of fresh new faces. My name is An. I used to be a developer here as well. And now I'm working at a high frequency trade. So there a lot of my work requires me to work with JavaScript. So we need a lot of Angular to build into faces for trades. So, right now, I'll just repeat and let you guys know what I'm going to talk about. It's more about trying to understand some of the pitfalls that JavaScript might put you through if you do not understand the language in depth. And then it will most likely help you in writing code better when you're working with JavaScript. So let's go to the first part. Functions and scope. I'm sure most of the developers, all developers will understand what is function and what is scope, right? Function is a method that you would invoke. And scope is the environment where this code is being run and what are the variables and what is to speak. In Ruby, you have lock scoping. So within the two brackets, anything within that would be scope. JavaScript is functionally scope. I'll show you right now. Let's go and see how it looks like. So, when we talk about scoping, what you can see is that here I have a code that most likely will resemble something that you guys would do. Let's say I have an F bar and its initial color is blue. And I want to change the color to whatever color when I update it, to green or whatever. So I create a function. As you can see there. Okay, sure, sure. You see? Okay, so you have an F bar. Wait, let me just minimise this so that we can even see the console. Ah, okay. So we have an F bar, initial color, we set it to blue, right? And we have functions. So when I say it's functionally scope, right? Within this function, everything has its own scope. Okay? So, now I set the color as pink. Yeah? And then I will log it and I'll say tell me what the color is. Next, I have a function in here. Within that function. So that's interesting because functions are first class objects in JavaScript. So you can create function in functions. And then I will call the function to change my net bar color to green. Okay? And then I will ask it to log it out. But then I will step out on a function and then I will say I will call this function, this whole thing.  Okay? So let's see what it gives you and then we can try to understand what's happening here. So first, when this happened, I said the color is pink. Okay? And then I ran update and I asked for the color again and they told me the color is green. But when I step out of the function and I asked it once its color it will tell me it's blue. So as you can see it's functionally scope. Yeah? So that's one. JavaScript objects are functionally scope. They are not block scope like we used to. That would be your biggest big fall. You will realize it when you try and write code. Okay? But the thing is right the scope only goes downwards. It does not go upwards. Meaning if I am the parent function I tell the child I declare an object. I say net bar. Right? My children can see but my parents will not be able to see. So for example now the child is saying oh, net bar color is pink. And then I come outside of the function and I say hey what's the color? Right? What's going to happen? It's going to tell me an error and say I cannot find it. So the parents will not know. Right? Only the child will know. But then there's this other very interesting twist to JavaScript and that is most likely the being of a lot of people. The... Just give me a second. Ya, okay. Global objects. What happens, right? Is that see how I didn't put var net bar color? I just did this. The moment I declare a variable like this, right? It becomes a global. Meaning if I were to clear this and then I would just step outside the function and ask what's the color? It will tell me it's pink. Right? This is one thing you don't want to do. Never do this because the moment you do this or anybody else who writes a library, right? They accidentally do something like this. They are modifying your state. And then you'll be like, eh, what's happening? Why is it wrong? It's very hard to find out what's happening. Ya? So that's why coming back to the slides you need to understand that JavaScript is very functionally scope. Whenever you want to write a variable try and put it in a function and leave it in there. Don't let it bleed out here and there. Okay? So the next one was declaring variables without a var will create globals. Globals are a bad thing. Period. Anywhere. Ya? Okay. Now next here's one interesting fact and then we'll move to the next slide. What if I were to say give me the color now? What do you think will happen? Okay, you can see what's happening, right? It's throwing you an undefined. Ya? Now. Let's try. Let's run again. Okay, ya. It's throwing you an undefined. Yes? But earlier on when I talked about outward scoping, right? You saw that it threw you an error. It said that never color is not defined. This is a completely different error. Right? It's not gonna... It... Basically what's happening here, right? Is that in JavaScript there's this concept of hoisting. How many of you know what hoisting is? Okay. In hoisting, right? It means basically let me show you what it looks like. Let's do this. Let's say you were to do this in Rails, right? You think the function who would be able to run would be able to find it? If I run it first and then I declare it it happens, right? What happens in JavaScript is the same thing. You can always call the function first and then declare it later. What JavaScript does if you're to go to online websites, right? Some sites will tell you that they bring that function up to the top, the declaration to the top. That's not the case. The code stays where it is. It's just that the compiler will allocate memory for that function and say, okay, this function I give you some memory. So when you call it, right? Like upstairs here it's able to find it and then execute whatever the code is, okay? So that's what hoisting is. So it's the same thing for variables, right? If let's say I have this variable here I have my var. I'm initialising it. I'm not declared. And I'm asking it to console log my var and then I will declare. But it's still able to find it. Why? Because of hoisting. But here is the trip wire. Okay? When you declare JavaScript compiler will hoist it for you. But when you initialise it up it won't hoist it for you. Let me show you what the difference is between declaration and initialisation. Okay? What you see here this is an initialisation. I'm saying this object has this state. So I'm initialising. Okay? This is a declaration. I'm saying this object exists. The moment I put them together, right? And I say create an object and give it this state. JavaScript won't be able to hoist it for you. And then he will throw you an error. To cover up all of this because it's... So you can't you can't find it for you. Right? As compared to the earlier one the value. So the issue here right is that if you do something like this then you won't you won't be able to hoist it and then you will have this errors. You'll be like eh I declare it but it's not being found. Why is this so?  Right?  So you need to be very careful around things like this. Okay? And it's the same thing for functions. Right? I did the same thing and I called the function first and then I initialised it and declared it at the same time it will throw me an error and say hey I cannot find it. Why? It just cannot hoist it. So that is the other pitfall. These are some of the things that I faced initially right? Now I'll get errors like this and I'll be like what's happening? Why can't I get it to work? Where in the other case it almost looks similar but there are small nuances here and there that you might not be aware of. This is one of them. Ya? Next. So we talked about hoisting. We talked about functional scoping. The next one that I want to talk about is passing a variable. This is another trip wider that we will face quite regularly. When someone asks you in JavaScript is it passed by value? Y'all know what passed by value is right? Yes, anybody knows what it means and doesn't know what it means? It's okay to say you don't. Okay. So when you talk about passing or variables in any sort of computing in any sort of code you will tell hey, take this object and then do this and then put in a function and you do this. So you're passing the variables the value. There are two ways to do it. One is you just pass the whole thing and you say here is that thing I give it to you and then you modify it how you want. At the end of the day you will modify that value but the other way is to say like in computing you will have pointers and you will say here is the reference to that object you go and modify it. Okay. One is a copy one is the exact object I'm just telling you hey, you have access to it. Okay. So in JavaScript everything is passed by value. Some people might come and tell you no, objects are passed by reference but values are passed by value. Right. That's not the case. Everything is passed by value. It's just that in JavaScript you have a concept of passed by a reference value. So what I'm saying is this let's say I have two boxes and I put things in there if that thing it's a primitive your strings your integers or your numbers in this case then what's going to happen is when I pass it I will say here is the whole box I'll give you the whole box you can change it I'll give you a copy of that box like me so I'll say okay what's in this box okay, let me create one and I pass it to you and you change In the other way for objects I would say that is where the box is but if you change it if you overwrite it you won't change what's inside you will change the reference that I told you how to get to that box Am I clear? or is it a bit confusing? I can retry it again. So passed by value is saying for example I can show you now it's easier to see when you see the code for example passing okay here we go same an actual example I have a function that changes a job of a person I pass it to the person and I say you change the person's job to the person right then I create my object and I say sunny current job is a clown and then I run the function first I will log I will say what is my current job then again I will change my job and I will log what is my new job okay so let's try and run you can see I changed the object that I am I've changed my properties right now you would seem as if what you would see as is oh I have this object and then I pass it to this function and this function of modify the original object that is correct but I am not actually passing you the object I am telling you that this is the address of the object you can go to the address and you can modify it I am only passing you the address okay which means if I want to go and do this right you can see I am still the same I have not been modified why because I changed what the value of the address was not the actual object do you see anybody don't see see this for some people for me initially I knew that it would seem as if I am changing the object but why is it not going to full right why is it not behaving that way because I didn't understand this concept right I am only changing the address not changing the object okay so let's do that let's pass by value reference then there is this one where it's pass by value now pass by value is very easy to understand I pass you something you just change what it is for example now I have changed job too but then I am a bit more smarter about things I say why do I want even pass the whole person or object I just pass the job and I change the job right then that's where you might trick because I have job here I am changing job to cowboy I create the object can I give him a property called job right I get his current job so let's clear this up and then that's right I get his current job right I change this job but then when I come when I come back and I try to log in I still see the same thing then you are like if but I changed it and that's where it's a little different in the sense that it's passed by value I am just changing what he is looking at that's all okay so do you do you see the nuances of this right it's very subtle in that sense right but when you play around with it you would get a better grasp of it when you pass objects you can modify but whatever the variable is that you pass if you change it then it just changes locally to that function because of that scope okay and it won't bleed out and modify the outside guy ya cool so that's the next one that usually causes people to check so when you face issues like this you want to see what are you passing are you passing the object are you modifying the property of the object or are you overwriting the object those are the questions that you need to ask yourself ah when you see issues like that ya then the next one this is the last one this is the easiest ah there are 3D values and 4D values okay everything is 3D except for this 5 now we can look at what it means right in code it's easier it's a bit messy but it gets the you don't need to look at this because this is more complex ah you just need to see this it's an English okay when I pass false it's coerced into false meaning this is a falsely value I can run boolean operators on it I can say if false then I can do whatever I need to is it loosely equal to false yes obviously it is false right so that's fine but the next few the ones that are a bit tricky things like zero it's coerced into false right is it loosely equal to false yes this is where in companies like us we have tripwires like this because zero can be a price if there is a price then I want to do something about it but here you would say there is no price because it's a falsely value so then these are small tripwires that you might not have seen so this is where you would see things like oh okay I need to make sure that I need to check whether it's zero or not ya the next one empty string empty string is also coerced into false right is it loosely equal to false yes so that means if you had an object and it changed you empty the object's name for example then you might have an issue with it because you would say oh I do not see a name right so you need to think about it in that manner you need to check what the actual value is and you need to understand what if it's a truly or a falsely value and things like undefined it's false is it loosely equal to false? no this is very interesting why? because undefined means it's not there but if I were to try and double equal it into a false for example here you would tell me no it's not so I have to be very wary of this right just because it's undefined doesn't mean it's not there okay so be careful about this the next one is also the same no it's coerce in the false is it loosely equal to false? no so ya it's very very odd in that sense so usually what you want to do things when you talk about coerce thing you are talking about is it a falsely value you can use that if you were to say things like false equal equals to now then no it will tell you no it's not because these are two different objects these are two different types all is a boolean now is a now object it's an object so it won't allow you to do this okay very interesting NAN you know what NAN is? not a number not a number so NAN is it coerce in the false? yes right is it loosely equal to false? no so these are some of the truthiness trip wires and it's only true like doing this a few times and tripping away a few times you will understand the nuances of it all and that's why I did this because to me is if you can get over this initial hump or not understanding why is it behaving so erotically ah then you will try and pick it up a lot more and you will want to work on it a lot more ya so ya so that's about it for me NAN ah if you have any questions you can let me know and then I can try and talk to you guys so you can understand me yes how about using the triple equal? if you use triple equal that's a strict equality check right it will still close right it will still be a false from what I understand yeah so what I was doing here I was doing a loose check right usually you will do things like this the triple is type ya it's type because it checks what type the type is yes double is not but the thing is that if you were if I were to expand this right and I would just look at any one if I were to run I would pass it into a boolean and then try to cast it right it would tell me it's not it's a false value so usually when you want to use things like this you would go and do stuff like example wanted to console a lot something let's try var equals to now so so usually initially I used to do this back then I was a bit dumb but we all learn and I'll be like why is it not running why is it not working I mean it's supposed to behave and show me something if it's not then it should throw me an error or something it's not so the easiest way for you to do right is to do this just to say let's see what's happening under console so now it behaves the way I want it to behave so for example console so yeah so initially this was the issue I didn't see so let's try I say that A is not equals to false I console a lot hello if it's now I will assume it to be false but then it does not behave the way I want it to be the other very different case scenario that you come across but they are along this lines where I assume it to be false but it's not right so what you need to do is to check for the object itself and then check the truthiness of it so when you do if things like this right you will try and cast it into a boolean like that okay so yeah that is all so I hope that answers your questions right in scenarios where in actual work you need to go and check for a value try and do this instead of checking it against a false or a truth yeah any other questions how it's been so you initialize maybe you use it and then you declare it right yes what if you don't declare it would it matter yeah so let's try let's see what happens because the thing is right it's only declaration that is faster so so you're saying that this is what I want to do right A equals to hello yes correct and then console log this is because it's global so it's accessible right so that's why it's working now if you put it in function pass A and then you tell it you see it would work but the thing is this is dangerous because it's a global you get me okay remember how I said that if you declare without the bar it turns this into a global oh so it's accessible outside the function yes right and that's why it's printing which means that so you can console that log A outside the function you can and it will print the hello this because of the fact so this are like you know it's a series of these things right that will make you trip and fall um throwing arrows okay let's try now let's see what it throws okay so first it shows you the console log A but if I remove this then I run it again like this like this A is not a fact so it's kind of hoisted outside the function no this won't hoisted outside the function when when you see you are declaring it inside right you are effectively creating a global object anywhere that for example let me show you in the global variables you see I did not so what this does is that it declares it as a global anybody can access it creates and then it declares it as a global object and then anybody can access so that's why you can still find that object but if let's say you were to say for example inside scoping right let's see ah papa is here I have to remove this then you would get undefined okay you were asking whether if I do not do this can it can it be console the world right if I do not do the yeah let's see ah let's try I didn't try that yet so so you run update you will still see largely because this is a global now right now if I move it out because it's a global you can still see right so the thing is that if you were to look at hoisting here and you want to ask ah let me just the difference is this okay where I do this you see now it throws you an error because I am calling for the function I have initialized that function but I have not declared it so the position is the one that so now I get it okay so the difference between this and the other one okay so this is what you see now ah I have full 3 I am calling for that I am asking you to lock that object and then I am initializing and in that case it does not throws me an error correct whereas in the other one I have already I already initialized it not declared yes I've already initialized it and I tried looking for it so you will be able to find as a global right so if I were to bring this up on top of this guy then you would get your your error yeah the last one so yeah so this are some of the that's why you would trip a lot on this but if you play around with it you will be able to figure out some of these things yeah any any more so if you initialize at the top you will not have any issue yeah that's usually recommended so for guys like us when we work right we would say initialize everything at the top because then I have a picture of the objects in this function and it's okay to initialize our function it is okay to initialize R of this function question is are you initializing up here in the global if it's here I would say no because now anybody because this this guy in the scope of the global right anybody can go and modify this value here but if you are to ask me in cases like this I have a parent and then I have a child function then it's okay to bring it to leave it outside first if you need it outside somewhere here outside of this child but if not bring it in there and then you declare it in there so that you it's a that's this principle basically you only expose things to guys who need to see right so if let's say never color only needed to be run in update then you will declare it in here you do not declare it outside yeah any question jero about hoisting and functional scoping and passing of variables and prudiness but at least the first part you were like yeah so this is how you do it yeah so these are some of the people hopefully it helps you guys let me know if you have been right and use copen copen is the easiest place to play with thanks


Reflecting on the Easter weekend as a whole the performances must give you plenty of confidence going into this weekend. Yeah, very pleased Friday I thought it was a terrific performance from us Monday was a difficult day See we spoke about it already sending off You know we can see there's some poor goals But when you're against 10 minutes good team you're a full stretch and Overall, I thought we quit ourselves well in difficult circumstances And the results so over that extended this weekend means it's still all to play for yeah without down We've got to keep it alive as long as we can and I think this group of players and our supporters and the staff You know, we want to go to the end of the season with a chance and that's all right, and We've got to dust ourselves down after the Easter period. That's about a couple of days off We've trained today and we'll set off tomorrow to join. Yeah long trips As always with these long trips preparation is going to be key. Yeah getting that right and we're going to train down in London I'm a bit of a change of scenery So that'll be good And you know, it's a pivotal game for us. There's no question about that The next game is always the biggest but this is a really pivotal one for us And I think if you add everything up with the injuries we've got and we are really down at bad bones But what a great challenge for you know the staff and all the players Who get selected to really roll our sleeves up and get back on the coach with some points The points or a point Because if we do we'll still be in


You know, Beethoven wrote his brilliant moonlight sonata whilst being completely deaf. Let's find a passion that's greater in life than our challenges.


welcome everyone to another video in this one I am going to be giving you three words that will destroy the narcissist and after everything they've done to you you want to give them a taste of their own medicine because for many of you they left you high and dry some of you they took you to the cleaners they did all of these things to you so you want some payback you want to teach them a lesson I understand that and that is why in this video I am going to be giving you three words that you can use to destroy the narcissist and it really will destroy them when you say these three words so I'm going to get straight to it the three words that you need to say to destroy the narcissist are I don't care I don't care that's all you have to say but it's not all about the words it's not all about what you say to the narcissist it's also about the feeling the energy behind it because they are going to sense the energy underneath those words and they are going to know if you really mean it or not so when you say these three words I don't care you have to really feel it and mean it because if you feel it they will feel it too they will feel whatever you feel in that moment whatever you feel will be reflected back to them so you say I don't care and you really feel it in your heart because at this point after everything they've done you don't care you are indifferent you don't want anything to do with them anymore because there's only so much you can take they really push the limits they test your boundaries and it just gets to a point where you can't take anymore it's like they've done so much how much more can you take you just get fed up after a while because it's just one thing after another it never stops they can never just act normal they can never behave so at some point you have to call it a day you have to get on these three words and say I don't care and you have to really mean it and feel it inside of you in your heart and if you do say these three words and you really feel it and mean it then they will sense it and they will feel insignificant they're relevant they will feel like they don't matter to you they will feel rejected they will feel exactly the same way that you felt the entire time that you were with them remember all those times I rejected you they rejected your ideas remember that remember how they made you feel small remember how they didn't respond to your texts they didn't answer your phone calls remember how they just disappeared for a few days and you didn't know where they were with remember all of that when you when you say these words when you tell them I don't care because then you will really feel it inside your heart remember all of those times all of those times that they rejected you they abandoned you they left you without any support remember all of those times when you give them those three words and they will feel it they will know it immediately that you are done you've had enough that you're not gonna take it anymore because you know that you deserve better you don't deserve to be mistreated you don't deserve to be abused no you are better than that and at this point after everything you've been through you realize it because you can't take anymore and you know that it's not right you know that you don't deserve to be treated that way so you're not going to tolerate anything less than what you know you deserve that's why you will go to them and tell them I don't care let them feel how they made you feel all of that time when they just pushed you aside they weren't there for you when you needed them so now it's time for them to get a taste of their own medicine it's time for you to not be there for them and let's see how they like that let's see if they can tolerate it let's see if they will put up with it because we already know that they can't we already know that it will bother them it will cause a narcissistic injury and they will try to get back at you they will try to punish you they will try to get revenge they will try to do whatever they can to get under your skin because that's just the way they are they don't look at what they've done they don't take accountability for anything it's just all you there's always a reason why they do what they do they always have to justify it they always have a reason or excuse no more don't accept that anymore and don't go looking for answers for why they're doing what they're doing it doesn't matter the point is that they are doing it and you just have to not tolerate it anymore by realizing that you deserve better you deserve more and to do that you just have to look back at everything you've done for them you were there for them the entire time and they just pushed you aside you gave them all of your time energy attention effort even your money you gave it all to them so you are deserving of more you are deserving of better treatment but look at what they've done to you look at all of the things that they've done and you should know that you deserve better than that you should know that by now so remind yourself of that every day write a list down of things that you were grateful for things that you have achieved things that make you who you are things that you are proud of write a list down and read that out every morning and every night before you go to bed let it sink in don't let them brainwash you into thinking that you're any less than what you are because that is exactly what they want you to think they want you to think that you deserve less and that they deserve more than what they actually deserve but we're not doing that anymore this time we've learned our lesson and we're not gonna play that game with narcissists because that is the game that you can never win they don't deserve anything what have they done for you other than mistreat you disappear what do they deserve for doing that they deserve these three words I don't care but I'm sure some of you can think of some other words you'd like to say to them and you're welcome to do that be my guest but just be careful you never know how they might react because as I say they don't take accountability for anything they don't look at what they've done they just look at your reaction to what they're doing and that's why nothing is ever fair with them it's never a fair game so yeah realize yesterday realize that you deserve better you deserve more and you've got to start doing less for them because clearly they don't appreciate it or at least they're not showing their appreciation to you and it's just not good enough all right you deserve better you deserve more tell yourself that every day or remind yourself why write a list down of everything you are grateful for everything you've achieved everything you're proud of and read that to yourself every day and see you how you feel after a few days when some cases it may take a few weeks if they've really worked their brainwashing on you you can turn that around you can get yourself esteemed back and get your confidence you can get all of that back don't worry about it it's gonna be okay and we are all here to remind you of that every day we are all here for your support and I am also available for one month coaching which you can book for my website it is Narc Survival at the Cody UK just being enjoying my day by the lake here took me a couple of hours to get here it's a great drive through the farms and the fields really good stuff back to the car Range Rover I love this car I've had a lot of fun driving this around driving through the mountains everything alright so as always thank you all for joining me on another live video and if you'd like to show your support you can give it a thumbs up down below and let me know your thoughts in the comments have you tried this already have you said I don't care to the narcissist and did really mean it and feel it how did they react what they say let me know I'd love to hear from you down below share the video subscribe and check out my Instagram as well I've got new pictures and videos of my travels which I'm uploading every day on there it is Narc's via YouTube and Instagram alright that's it for now thank you all and have a wonderful day


This is me designing the tester for our new RP2040 feathers with radio modules on the end. This is a Laura 900 megahertz RFM95, we've also got the version over here, or you have an antenna soldered on, the RFM69 which is a packet radio version. So the tester brains uses the Pico with an SD card which has the firmware and then it connects to one of the modules. I usually would use like a breakout but I only have a feather wing on hand, I gotta go to the office and grab one of the modules that matches the right frequency. And then over here is the feather and so what it does, if you back out a bit we can see everything, the tester programs the test firmware onto here which tests all the GPIO and checks the voltages and everything and then communicates back and forth with this radio to make sure that the radio and the antenna is working and you can see I've got a little faux antenna, just a basic antenna that connects to the Pogo pin here and then on success you get ok test.


Hey everyone and welcome to welcome back to Norris Cove today. You guys I'm letting you see well I'm showing you how I content plan for the month and how I Plan in my business planner for the month Here I'm content planning. I'm at my admin days as you can see. I've already put in some stuff I just started to content plan because I needed it done because Tomorrow is the first and I needed to be on task Also, I was just shooting some b-roll for another video I've sectioned off where I will be shipping out the budget box, which is number one priority For my business and here I'm just putting down my important task I like to have those there with dates and deadlines. So that way I'm aware So I basically content plan on this one month On a page by cloth and paper. I used it for the month of February. That's why you guys got four Videos a week it worked. I noticed an uptick in my Subscribers I noticed an uptick in my watch hours. So I wanted to do that again again This is some b-roll. So ignore that this is in a vertical form and then I started to plan my monthly On my monthly calendar here. I don't put content generally. I just do a lot of the budget box things You'll see I'm using my busy stickers quote unquote But I like to show the days that I'm busy in the salon even in my business planner. So that way I won't plan too much I'll know that maybe I can't do Let's say a video or I'll need to pre-record some videos or batch some videos because on those days or that week Busy here. I like to use our functional stickers and ice milk To plan out what's going on that week and mainly for the budget box like what needs to be done that week What needs to be finalized finalized that week? I did get this idea from the planning spot and I love it It definitely keeps me organized and lets me see what needs to be done like You'll see graphics need to be done or supplies need to be ordered and that's my last week to do it I don't can't go into the third week Ordering let's say paper or sticker paper or something like that because I've learned that sometimes Things get put on delay. So I try to have certain things done ahead of time And then of course the third week is subweek so that lets me see this is the week subs go out so if I have videos to do or I have envelopes to do or anything like that for Etsy or Hair or whatever it needs to be done ahead of time or I need to be able to fit it into my schedule and So I do love these functional stickers. You can find these in our shop. I love to use them They fit perfectly here They are like one and a quarter inch and I made them that way so that they could You see I'm struggling so that they could fit in most of my planners and I could use them But they work perfect for here on my left-hand side of my calendar So I'll just go in. I like I said, I don't Typically put in content on this plan on this calendar I used to before I started using the one month on a page But for some reason, I don't know I just really didn't do do much with it But that one month on a page works for me for content. This is mainly like my bills that I related to the shop I use this for like the newsletter and also again, mainly planning for the budget box But I love this calendar and you can also find this calendar in my shop as well But here I'm just adding my paydays I will also use a highlight sticker from my shop a little dot sticker to bring my eye to that as well those are my paydays from either Etsy or Shopify and That just brings my eye to it and sometimes I don't get a check On these days, but here lately by me just typically just writing it in or putting down that I'm getting paid on a Tuesday I get something I've gotten five dollars for the week and I'm satisfied So I had put down this announcement sticker because I was gonna make my announcement of the budget box going up This weekend, but I decided today was today So I made the announcement on Instagram and my stories and so I really don't need that anymore So again, I'm just highlighting those paydays And I'm really just trying to get used out of my stickers because sometimes I just don't use them all I'm referencing last month, which is February just to see if there's anything that I forgot that I typically do and That I haven't written in so I'm just basically just kind of using that as a reference and And My desk was a mask Because I was working on envelopes I was getting orders out and that I cleaned it off so I could do the video and shoot the b-roll and So yeah, I was working with limited space, but I did get it cleared off enough to get the video done But I love planning in my business planner because it definitely keeps me on track I have a video in the works of how I kind of stay on track in my business by planning So now I'm referencing my content planner to see if there's something on there related to the box like what I need to do And I'm putting in that I need to do my email newsletter. That should be done tomorrow That's the first and just anything else that can go in here besides content and That's pretty much it you guys like this is what I do on a monthly basis and I realized I have a whole process So I was like I need to show them my process and there's other little small tidbits that I do In my business as far as planning for the month But I just wanted to show you guys just a little bit of how I plan and get things done and Try to be effective in my business So it's working for me and I'm glad that I could share it with you guys and I really appreciate those who have subscribed to the box and Look forward to giving you more great content on this channel And I realized I did not block off that time For shipping and so that's what I just did with the ruler and the highlighter and that's it you guys Thank you all so much for watching


Because, see, there's three main ways that you make money in real estate. Technically, some people say four or five, but essentially, you make money from cash flow. If you buy property and you collect the rents, and the rents are higher than the mortgage, or if you bought it cash, you're going to make money from there. Now, that's the smallest way you make money, but you do make money from cash flow. For example, you buy property that has a cap rate of let's say 6%. That just means that if you bought it all cash, you would get 6% return on your money, which is not bad. Just compared to other investment vehicles. That's one way. The second way that you make money is through depreciation. So depreciation, at least in US tax law, is such that if I have a property, let's say it's $100,000 in value, let's say 80,000 of that is structural and 20,000 is land. On the $80,000, I can straight-line depreciate that property over 23 and a half years. That is... I think I always mix it up the number of years, but it's 20 something. I think it was 23 and a half, but anyway, for residential property, what that means is that I can take that $80,000 divided by 23.5, and I can show that as a loss on my taxes every single year. So you make money through that depreciation. The third way that you make money, actually, I guess I'll give four in this case, is principal paydown. So you have a mortgage on the property, especially if you have tenants paying it, and even if it breaks even, it washes. So you've got zero cash flow on it. The mortgage is being paid down, so you're paying down the principal. So you can imagine if I held a property for 20 years, I had quite a bit of principal paydown on that property that is essentially free. I'm not paying that. My tenants are paying that, or that's one way of looking at it. And then the fourth way, which is actually the most important when you make money, is through leveraged depreciation. And leveraged depreciation is the key. That's where you make the most money. What that means is that... So let's say I bought a property cash. If I bought a property cash, $100,000 property, let's say there's a 6% return on that property. I would make $6,000 a year. And when you make cash, are you talking about just deposit or full straight cash? Full straight cash, just invested $100. Yeah, if I did that, I wouldn't have leveraged depreciation. I would still have appreciation. Let's say that that property goes up in value. Okay, so I have $100,000 property, I bought a cash, and it goes up 10% in value. So it's now worth $110,000. What's my return on my investment? Do that again? It's a question. So I have $100,000 property. I bought it all cash. It goes up 10% in value. What's the return on my investment? Let me 10K. Yeah, and what in terms of percentage? 10%. Yeah, 10%. Okay, now that was an easy one. It's kind of a trick question. So now let's say that same property I buy for $100,000. But instead, I put 20% down on it. So I invest $20,000 into the property. I rent it out and everything. I lose the 6% cash flow on it. Forget about that. It ends up being a wash on the cash flow, 10, it rents it out. But I probably break even on it. Now, same scenario, it goes up $10,000. So the property value increases by 10%. Now what's my return on investment? I don't know, what is it? It's so, okay, so if it was all cash, right, and it went up 10%, then you said I made $10,000, right? So I'm still making $10,000, but I invested $100,000 in the first scenario and I made $10,000. So that's a 10% return. In the second scenario, I invested $20,000, but I still made $10,000. So I got a 50% return on my initial investment. And that's the power of leverage appreciation. And that's the key to becoming rich and to making money in real estate, is that you're buying these properties, right? And my strategy is to buy and hold. Okay, that's the only sensible strategy for real estate investing. Now, a lot of people are gonna get mad and upset, but I'll talk about the other activities I don't consider to be investing. They're real estate business activities, but they're not investing. To me, the definition of an investment is that it has to not rely on future events in order for it to produce a return, right? So speculation in my mind is anything where you need something to happen or you're hoping something to happen or you have good knowledge that you think something will happen, that's speculation. Investing in my definition is that it doesn't matter. Right now it's a good deal, right? So in that case, what we're doing or what my strategy is, I'm buying properties, okay? I'm renting them out. The tenants are paying the mortgage, so I'm getting the principal pay down. I might get a little bit of cash flow on it, or if I get zero, it's fine, it doesn't matter, okay? So I'm getting the principal pay down. I'm getting huge depreciation on the properties, especially when you own a lot of properties, but I'm biding time for them to go up in value because I have leverage appreciation. It's a leverage investment, right? So if I'm 5x levered, which means that I'm essentially borrowing 80% of the money from the bank, I still make money on the bank's money. That's the key to the leverage appreciation. And remember, the debt service for that money that I'm borrowing is paid by the tenant, is paid by the rent that's coming in. So that's taken care of. So I'm essentially getting the bank's money for free and then getting the value from that appreciation, which is a leverage to my investment. And that's the strategy, right? And if you do that, then you keep on buying properties every year, then what's gonna happen is that you're gonna be getting somewhere, you might not get 50% return on your money every year, but if real estate on average just goes up, let's say 3%, okay? It's a 5x lever.  So if real estate goes up a modest 3% per year, you're actually making three times five 15% on that investment. That's not including all the other ways you make money, the depreciation, the principal pay down. So on average, a real estate investment, even if you're dumb, okay?  But even if you do, and they're not great investments, you're still probably gonna get somewhere between a 15 to 20% return on your money. And if you buy good investments, it could be 30, 40, 50% return on your money. And we're not talking overall return. We're not talking irrespective rate of return at the end of the, we're talking yearly return, right? If my property goes up 3% and I have 20% down into it, I'm getting 15% appreciation return every single year. So that compounds very quickly. And that's why the compound interest calculator is such a great tool is because if you punch the numbers in, if you say, okay, well, if I invest in the stock market and I put $100,000 in the stock market and an S&P 500 index fund, okay? Probably the smartest stock market investment if you're gonna do that, okay? And you look at the historical rates of returns. And if you say, okay, let's say I can get a 7% return every year, right? If you punch that in and you start with $100,000, it's gonna take you a long time to even accumulate a million dollars, a very, very long time, okay?  And that's if everything goes well. Plus you're gonna pay taxes on that. Whereas with real estate, if you take that same $100,000 and you deploy that, let's say you deploy that as 20% investment and a $500,000 property, okay? And you're getting a return rate of 15%. Let's be conservative here. You're gonna be rich very quickly. When I say very quickly, I mean like 15 years, okay? That's, you're gonna have a significant amount of money. Plus you're not gonna be taxes on that because at least I'm not sure what the laws are in Canada but in the US we can do a 1031 exchange which is a tax deferred exchange. So we never have to realize the gains of the property. We can just roll it into another property and continue our investment. For as long as you have another property. You just have to identify another. There's some rules around that. I just sold like four, actually I sold five, no six properties this year and rolled them all into one big commercial property doing a 1031 exchange. So I didn't pay any taxes on a huge gain that I made from those properties. Yeah, so if people are wondering what John's talking about, it just, depending on, and this applies to stocks or any commodity sale is capital gains tax. Yeah, so what kind of strategy did you have originally though for the type of properties that you wanted to acquire?


The question is that amendment 990.2, in the name of Rachel Hamilton, which seeks to amend motion 990 in the name of Mary Gougeon on supporting success in food and drink in Scotland, be agreed and members may cast their votes now. The vote is now closed. The result of the vote on amendment number 990.2, in the name of Rachel Hamilton, is yes, 28, no, 93. There were no abstentions and the amendment is therefore not agreed. The next question is that amendment 990.1, in the name of Colin Smyth, which seeks to amend motion 990 in the name of Mary Gougeon on supporting success in food and drink in Scotland, be agreed. Are we all agreed? The Parliament is not agreed, therefore we will move to a vote and members should cast their votes now. The vote is now closed.  The screen froze and I wasn't sure if the vote was recorded. The vote was not recorded, Ms Adam. How would you like to vote? It was no. Thank you. We'll ensure that it's recorded. The result of the vote on amendment number 990.1, in the name of Colin Smyth, is yes, 25, no, 96. There were no abstentions and the amendment is therefore not agreed. The next question is that motion 990, in the name of Mary Gougeon on supporting success in food and drink in Scotland, be agreed. Are we all agreed? The Parliament is not agreed, therefore we will move to a vote and members should cast their votes now. The vote is now closed. My screen wouldn't refresh and I would have voted yes. Thank you. We will record that, Ms Burgess, Pauline McNeill. Same issue, Presiding Officer, and I would have voted yes. Thank you. We'll ensure that it's recorded. I call Cocab Stewart for a point of order. Thank you. I couldn't get my app to work. I would have voted yes. Thank you. We'll ensure that it's recorded. The result of the vote on motion 900, in the name of Mary Gougeon, is yes, 92, no, 29. There were no abstentions and the motion is therefore agreed. I propose to ask a single question on two parliamentary bureau motions. Does any member object? The final question is that motions 1001 and 1002 on the designation of lead committees be agreed. Are we all agreed? The motion is therefore agreed. That concludes decision time and will now move on to members' business. I would ask members who are leaving the chamber to please do so quietly.


For almost 100 years, Willets Point has been the Valley of Ashes. It's a failed plan after a failed plan that left this corner of Queens, this corner of my neighborhood, to languish until today. Which is why today, I'm not just excited as a football fan, but more importantly, I'm excited as a New Yorker. It begins with something that is crucial, and that's housing. But these 2,500 units of 100% affordable housing will be built in this city. This is the biggest 100% affordable housing project in New York City since the 1970s. But that's not all. We are building 100% privately financed Major League soccer stadium in a permanent home for the 2021 MLS Cup Champions New York City Football Club. I've been involved in the creation and events like this of 27 stadiums throughout North America. But this one is quite personal to me. I grew up in Flushing, and for the last 12 years, I've been trying to dream of the reality we have today, which is to have a cathedral for this great team. The most important aspect of this is to take this club through this new cathedral that will allow this city and its fans to celebrate the great, beautiful game, but to do it in ways that have impact in the community. This is what it means to build in New York City. This is what it means to get stuff done. And I'm proud of this day for all of us that have come together and materialize and dream into a reality. Thank you very much.