So a lot of you guys wanted to know more about how to make and use proxies. So today, that is what we're gonna cover. Now as simple as this stuff might be, please understand that this information was very expensive to obtain. The Patrons and YouTube Squad donated $250 in order to hire Rookie to read to apologize and fix the normals for just our characters face. We didn't have enough money to afford the entire body, so we'd settled for just the face. Instead she was generous enough to include an explanation on how to replicate her technique, so in the end we were able to do the body by ourselves. Now because of the terms of service, I'm not allowed to show her original tutorial outside of Patreon. So I'm just gonna sum up the video instead for you guys here. But remember it normally costs between $15 and $2500 to get properly shaded anime characters. The fact that Rookie and Yuli even bothered to share their workflow with me here is a miracle. So please follow and support them for their generosity. And appreciate the brave people who gave the funds to make this information available. Alright. Now a proxy mesh is literally just the bare minimum shape of our characters subdivided. Usually the body, head and hair are all done separately. Last time we did the body, today we're gonna do the head. The really easy to make, really you just make the basic shape and just start cutting and dragging points around. And only focus on the main shape. You'll notice on my proxy for the head, I don't bother with any details like the ears or eyes. Also, if you just rather download my proxy, I've uploaded my personal anime body's proxy to artstation which you can download absolutely free. Once you've downloaded it, you can easily drag them around and adjust the size or proportion to fit your own character. However you get the proxy, something I'd like to clarify is the proxy shading phase is the prerequisite to manually edit in the normals. The next step is to use smoothen and abnormal to fix any lingering problems after you've smoothed out with the proxy. So don't worry about the detail edits, you do that later. So just like with the body, you click the head, go to modifiers, mesh data transfer, set the source of the proxy, check face corner data, custom normals, change mapping to nearest corner and best match and face normal, you're done. Hope that helps and as always, hope you have a fantastic day and I'll see you around.


We're going to go on panda patrol looking for someone wearing pandas see how many we can find some uh threes there some fours there some kobe some more 97s over here some Jordan Lowe's here it's been about 20 seconds and i haven't seen any pandas melbourne's got some variety here we go we found some pandas tell me about the pandas i got these two and a half years ago so you're oj panda i think oj panda it's down another one we've got the pandas on we're doing panda patrol ah sorry i'm not going to get angry i found the third one oh wow that's true tell me about your pandas i haven't for a while where did you buy them from online i have a pad for them thoughts on the pandas pretty basic i guess pretty basic just an easy one goes with everything yeah that's yeah where'd you get your pandas from uh stock yeah stock okay yeah can you tell me about your pandas they're actually not real pandas some fake pandas fake pandas custom id pandas probably the tallest panda wearer i can't intervene i'm wearing puma stuff panda patrol


Today, we are making spaghetti sauce with meat, of course, like mama did. My grill pan is a bird cauld. You can see it's got the grill marks in the bottom. You can make a nice steak in it. It's greeted it real good. It's got a ceramic type coating, and I found it... I used to use it a lot. I found it while I was moving. And so, of course, I pulled it out because it's one of my favorites. It's nice and deep. So, we are browning some ground beef because we're making spaghetti today. And I am going to slice up this onion. A separate chef tool for browning your hamburger meat. For hamburger and sausage and stuff like that if you want to make it for Mexican food or pizza or spaghetti or whatever you want to make it for. We're going to open our cans right quick while we're waiting on that to brown. This is a 28 ounce can of fresh tomatoes. And then we have a regular can of petite diced tomatoes. Now you can use real tomatoes in place of the diced tomatoes. And just chop up about three tomatoes. Have some real tomatoes. I did not today. So, I am using these. I'm going to chop this up and just see about how much grease I have in here. And I'm just going to use a paper towel to get this out because it's not a whole lot. This was chucked. So, that's an Amazon paper towel. Presto is their brand. And I used to get their paper towels and they're called a paper in bulk before this quarantine started. And of course you can't get it now. So, won't you put this to the plate over here? Remember, we're going to throw our onion in here and let it start getting done. Yes, I found my scraper when we moved. It was in the pantry. Against the wall of one side of the pantry. We've added that onion.  Because I took something else. We're going to use some of this gourmet collection spice blend. You can find that under my spices on the website. It's some good stuff. We're going to put a tablespoon of this in there. My girls have, they left like, magnetic tablespoons at home. The ones that you can reach in the frying pan with. So, we're going to use a tablespoon of this. If you want to see the name of this one, it is called garlic bread spice blend. You can get these at Macy's and Ross and places like that. Not Macy's. Marshall's. But you can also get them on Amazon. They're not that expensive. And this is a whole tablespoon of pasta herb blend. The herb spice blend. This is called the gourmet collection. And it's made in New York. New York. To add anything right now. I'm going to almost toast. You know, like if you don't have a lot of grease left in the bottom. But it'll bring out the spices to it. While the onions cook in just a little bit. It kind of gets to the bottom. You can see how the beef is turning brown. So those herbs are also kind of getting toasted. My eye is on the eye. My eye is on the eye. Alright, now we're going to add our tomatoes. This is my 28 ounce can of crushed tomatoes. This is my diced tomatoes. They'll bring in some juice. Some thinner juice. If you have some fresh garlic. Of course you should use your garlic press. And put in a little fresh garlic. And it'll make it good. But add your garlic last. About five minutes before you serve it. If it's fresh. And that way it'll have a real nice fresh taste. And it won't taste. It just makes it taste fresher. A lot of people overcook their garlic. Okay, and at this point you of course turn it down. To simmer. And let's get our water boiling real hard. Drop our pasta. I'm not going to cook this a long time. Because I like the fresh tomato taste. I don't have to let it simmer forever. We're going to put a little sugar in it. So while this is coming to a boil. Let's grab our sugar and put a little sugar in here. I'm also going to taste and see if it's salty enough. Because since I added those blends. I don't know how much salt they have. To me it's pretty salty. Tablespoon of sugar. But I'll make it sweet enough. Now if you don't have this spice blend. Then you want to know what you should use. Then you use an Italian seasoning. Of course, herb blend. Put in a tablespoon. And then use garlic. Something with garlic in it. Or use some fresh garlic. If you don't want it that sweet. My kids will like it though. I'm going to add the salt. You can just add a couple of teaspoons of sugar. Instead of the whole tablespoon. If you don't want it to be real sweet. But my kids do like sweet sauce. Alright, so we're just going to let that simmer. We're going to drop our pasta. When you boil pasta. You want to make sure. That you do not put oil or butter in there. So the reason you don't put oil and butter on it. Is because you want the sauce to cling to the pasta. And if it's slippery. Then it can't cling to it. So a lot of people think you're supposed to. Keep it in here. Keep it from getting starchy and too sticky. But as long as you've got enough water. The key is having enough water in your pot. And salt it. That's it. That's all you gotta do. Pasta is ready. I'm going to drain it. I'll just leave it right here in the sink. We'll make us a plate. And most of the time when I eat spaghetti. Lots of times I put it in a bowl. But you can put it on a plate. If that's what you want to do. So I'm making some bread. But I'm going to taste this for y'all. Before the bread's done. Some good looking sauce. Now I have a spaghetti salsa recipe. That is a lot more complicated. But it's really good. And it's a beefy flavor type spaghetti sauce. Has mushrooms in it. And beef bouillon. And it really is an excellent sauce. But this is a really short cut. Sauce that's fresh tasting. And delicious. Without having to buy it in a jar. Adding the sugar really makes it more kid friendly. Too. And not having mushrooms in it. Okay. In my second cookbook. This recipe is in it. On page 36. It is with the simple Italian meatballs. And I only put in a teaspoon of sugar. In this one. But today I used a whole tablespoon. Which because my kids recommended. But they like ragu. Which is very sweet. So I actually added a tablespoon of sugar today. So if you're wanting to know where this recipe is. It's in the volume 2 cookbook on page 36. And let's give it a taste. Like this y'all. We are quarantine feeding. So we'll be making a lot more videos for y'all. I hope you enjoy it. Thanks for watching colored belly cooks. Where we cook. Like mama did. Bye y'all. Love ya.


In our last lecture, we considered piecewise linear and piecewise quadratic approximation. Today we are going to consider piecewise cubic polynomial approximation. So, first we will consider piecewise cubic Hermite interpolation in that our approximating function is going to be continuously differentiable and we will interpolate the given function and its derivative values at the partition points of our interval a b. Next we will consider cubic spline interpolation. Cubic spline is going to be a piecewise cubic polynomial which is overall differentiable c 2. That means it is two times continuously differentiable and it will interpolate the given function f its values at the partition point. In the case of piecewise cubic Hermite interpolation we will show that the error is going to be less than or equal to constant times h raise to 4, where h is length of the sub interval which is b minus a by n if we are dividing our interval a b into n equal parts. In case of cubic spline interpolation the error is going to be less than or equal to constant times h square or constant times h raise to 4 depending upon the end conditions which we impose. In the case of cubic spline interpolation it will be necessary to add to the n plus 1 interpolation conditions two more extra conditions which will make our cubic spline a unique function. For the cubic Hermite polynomial the construction is going to be straight forward and the error analysis also is straight forward. It will be like in the case of piecewise linear and piecewise quadratic polynomial. The drawback in piecewise cubic Hermite interpolation is we need to know the derivative values of the function at the partition points which may not be available that is why one goes to cubic spline interpolation. Let me recall cubic Hermite interpolation. So, when we have a function f defined on interval a b to real line look at p 3 to be a polynomial of degree less than or equal to 3 such that p 3 at a is equal to f of a p 3 at b is equal to f of b and p 3 dash at a is equal to f dash a p 3 dash b is equal to f dash b where dash denotes the derivative. So, that means we need to assume the function f to be differentiable.  The error f x minus p 3 x is given by f of a a b b x multiplied by x minus a square x minus b square for x in the interval a to b. So, this is the error. Now, if f is 4 times differentiable then we can write the divided difference as 4th derivative of f evaluated at some point c, c is going to depend on x divided by 4 factorial x minus a square x minus b square. Now, we look at the maximum error.  Thus norm of f minus p 3 infinity norm is going to be less than or equal to norm f 4 infinity divided by 4 factorial and the maximum is going to be attained at the midpoint a plus b by 2. So, that will give us b minus a by 2 raise to 4. So, thus we have obtained the norm of f upper bound and upper bound for the cubic hermit interpolating polynomial. This upper bound we are going to use for finding an upper bound for the error in the piecewise cubic hermit interpolation. So, it is this bound is applicable on interval a b. So, the same bound we will use with interval a b replaced by interval t i to t i plus 1, where i going from 1 to up to n minus 1 and that will give us the an upper bound for the error in the piecewise cubic hermit interpolation. If defined on interval a b taking real values, the differentiability property of f which we are going to need is f should be 4 times differentiable on a b and the fourth derivative should be continuous on interval a b because we are going to take the maximum of mod of f 4 x for x belonging to a b. We look at uniform partition a is equal to t 0 less than t 1 less than t n is equal to b, t i plus 1 minus t i which is length of the sub interval which is equal to h that is b minus a by n. Let us look at x n to be set of all f or let me write g set of all g belonging to c 1 a b. So, the all functions which are continuously differentiable such that g restricted to t i to t i plus 1 is a polynomial of degree less than or equal to 3. Then the dimension of x n is equal to we had done such calculation before on each interval it is a polynomial of degree 3 degree less than or equal to 3. So, we have got 4 degrees of freedom, there are n intervals so that it will be 4 n minus there are n minus 1 interior nodes t 1, t 2, t n minus 1. We want the function to be continuously differentiable that means at each of the interior node we are putting two constraints. So, then those two constraints they will decrease the dimension of our space. So, it will be 4 n minus 2 into n minus 1 so that is going to be equal to 2 n plus 2. So, we have dimension of x n to be equal to 2 n plus 2. If we consider a value of function f at t i's and the derivative values at t i, we have got n plus 1 partition points and if we say that look at a function g which is going to be continuously differentiable and which is piecewise cubic on the interval t i to t i plus 1 and it interpolates our function f and the derivative at this n plus 1 point. So, dimension of our space is 2 n plus 2 we are putting 2 n plus 1 condition 2 n plus 2 conditions and then such a function is going to be unique. We have f is from a b to r and g n should belong to x n such that g n at t i is equal to f at t i and g n dash at t i plus 1 plus 1 t i should be equal to f dash at t i i going from 0 1 up to n. So, we have this is our partition and we are specifying at all the partition points value of g n at t i and value of g n dash at t i. So, by very construction our g n is going to be belonging to x n and g n x will be given by on the interval t i to t i plus 1 because it is a cubic polynomial it is g n at t i plus g n dash at t i into x minus t i plus g n t i t i t i plus 1 the divided difference into x minus t i square plus g n dash at t i plus 1 divided difference based on 4 points t i t i t i plus 1 t i plus 1 x minus t i square x minus t i plus 1. So, exactly similar formula as on the interval a b only now the interval is t i to t i plus 1 we had found the bound for the interval a b and that bound was norm of f minus p 3 infinity norm to be less than or equal to norm f 4 infinity divided by 4 factorial b minus a by 2 raise to 4 and hence maximum of mod of f x minus g n x x in the interval t i to t i plus 1 this will be less than or equal to maximum of mod of f 4 x x belonging to t i to t i plus 1 divided by 4 factorial and then we have to replace b minus a by h. So, we are going to have h by 2 raise to 4 now this will be less than or equal to norm f 4 infinity divided by 4 factorial h by 2 raise to 4 the bound which we I am writing now that is true for each i and hence when we look at maximum of mod of f x minus g n x x belonging to a b this is going to be equal to maximum over i maximum of mod of f x minus g n x x belonging to t i to t i plus 1 0 less than or equal to i less than or equal to n minus 1 which will be less than or equal to norm f 4 infinity by 4 factorial h by 2 raise to 4 and this is norm of f minus g n infinity this is the error for the error piecewise cubic hermite interpolation. Let us recall the bounds for piecewise linear and piecewise quadratic. So, in case of piecewise linear our function was continuous and the error it was less than or equal to constant times h square where the constant in one order is called the second derivative. In case of piecewise quadratic again the function is continuous and the error now is less than or equal to norm f triple dash infinity that means the third derivative is coming into picture divided by 92 root 3 into h cube and now for piecewise cubic hermite interpolation our function is continuously differentiable and the error is less than or equal to constant times h raise to 4. So, the constants in the three cases they are going to be different, but these are the constants which are independent of h. So, in case of piecewise cubic hermite interpolation we have got the error to be constant times h raise to 4 which will tend to 0 faster than in the case of piecewise linear and piecewise quadratic polynomials and in addition our function is continuously differentiable the approximating function is continuously differentiable. The only problem is the derivative of f at t i's they may not be known. Next we go to cubic spline interpolation we want our approximating function to depend only on the function values at the partition points and if possible we will like to make our function to be two times differentiable. When we looked at joining of two polynomials together we have seen that if you join two cubic polynomials together in C 2 fashion still we retain the piecewise nature of our function. On the other hand if we say that the there are two cubic polynomials and you join them together such that the function value derivative value second derivative and third derivative values they should match then it has to be a single polynomial. So, the best we can do by the still retaining the piecewise nature is a piecewise cubic polynomial which is two times continuously differentiable. Now, here the construction of such a function is going to be little more complicated. So far we could write we could look at the divided differences and then we could write down the explicitly our approximating polynomial or approximating piecewise polynomial. Now, here in case of cubic spline interpolation. So, look at as before the uniform partition and look at the space x n to be set of all f belonging to C 2 a b such that f restricted to T i to T i plus 1 is a polynomial of degree less than or equal to 3 i is equal to 0 1 up to n dimension of x n is going to be 4 times n minus 3 times n minus 1 n intervals on each interval a polynomial of degree less than or equal to 3. So, that is why 4 n degrees of liberty and then at the interior partition points T 1, T 2, T n minus 1 we want the function to be 2 times differentiable. So, that is why you have got minus 3 into n minus 1. So, then that is going to be equal to n plus 3 suppose our function f is defined on interval a b to real line and look at g n belonging to x n such that g n at T i is equal to f at T i, i is equal to 0 1 up to n. So, these are n plus 1 conditions the dimension of the space is n plus 3. So, in order to have such a unique interpolating function we will need to add two conditions. Now, these two conditions generally they are put at the two end points and those are the end conditions. So, we will come to the end conditions little later. Let us look at the construction of g n on the interval T i to T i plus 1 g n is going to be a polynomial of degree less than or equal to 3. So, suppose you have got g n at T i and g n at T i plus 1 they are already fixed they are equal to f is our function which is given to us. So, g n at T i is equal to f at T i, g n at T i plus 1 is equal to f at T i plus 1 treat the derivative values g n dash at T i and g n dash at T i plus 1 as unknowns and use the fact that our g n is going to be two times differentiable to get a relation which will be satisfied by g n dash T i. So, the unknowns g n dash T i they will be obtained by solving a linear system of equations and then once you get g n dash T i on the interval T i to T i plus 1 our polynomial of degree less than or equal to 3 will be determined because we know g n T i, g n dash T i, g n at T i plus 1, g n dash at T i plus 1. So, let me explain how we are going to get the relation. So, let us look at two intervals. So, this is our interval T i to T i plus 1 and this is interval T i minus 1 to T i. Here let me denote the polynomial by T i. So, that is g n restricted to T i to T i plus 1 the polynomial here we denoted by T i minus 1. So, it is going to be g n restricted to T i minus 1 to T i. The polynomial P i we are going to write in terms of the value of g n at T i and value of g n dash at T i. So, at present the derivatives are unknown. So, we have got P i x to be equal to the same cubic hermit polynomial g n at T i plus g n dash at T i into x minus T i plus divided difference based on T i, T i plus 1 x minus T i square plus g n T i, T i, T i plus 1, T i plus 1 x minus T i square x minus T i plus 1. So, how is it different from the cubic hermit interpolation? In case of cubic hermit interpolation we wrote exactly the same formula, but g n dash at T i was given to us g n dash at T i was equal to f at T i. Now, in our case g n at T i is going to be equal to f at T i that is given to us, but at present g n dash at T i they are going to be unknown. So, this is we have found or we have written down a formula for the cubic polynomial in the interval T i to T i plus 1 in terms of g n at T i, g n dash at T i of which g n dash T i are unknown. Now, you look at the second derivative. So, we can calculate P i double dash x. You calculate the second derivative and then you look at P i double dash of T i plus and P i double dash at T i plus 1 minus. We have got a formula for P i x take its second derivative. The second derivative will be in terms of again g n at T i and g n dash at T i. I have written P i double dash at T i plus because our P i is defined on the interval T i to T i plus 1. So, the second derivative is at T i is going to be the right handed derivative and at T i plus 1 it is going to be left handed derivative. So, we calculate these values then from here we write P i minus 1 double dash at T i plus double dash T i minus 1 plus and P i minus 1 double dash T i minus. So, once we obtain the formula for this you have to just shift replace i by i minus 1 in order to get this expression. Now, this continuity of second derivative comes into picture. What we want is we want P i double dash at T i plus is equal to P i minus 1 double dash of T i minus. The value of the second derivative from the right and value of the second derivative from the left we equate these two and that is going to give us a relation which the derivatives they should satisfy. So, now what comes is the technical thing like I have explained to you what is the idea and now let us work out the details. Look at the interval T i to T i plus 1 and then we have written G n x in terms of G n T i G n dash at T i and then the divided differences. These divided differences they also will be in terms of the value of G n at T i and value of G n dash at T i. Now, look at the derivative. So, when you take the derivative you get G n dash at T i the G n at T i is constant. So, the derivative term vanishes then we have G n dash at T i plus the divided difference based on T i T i T i plus 1 the derivative of x minus T i square which will be 2 into x minus T i plus the divided difference based on T i T i T i plus 1 T i plus 1 and then the derivative of x minus T i square x minus T i plus 1 that is going to be 2 times x minus T i x minus T i plus 1 plus x minus T i square. So, we have found the first derivative. Now, you differentiate once more to get the second derivative. So, when you look at the second derivative G n dash at T i being constant its derivative will be 0 derivative of x minus T i will be 1. So, that gives us term 2 times divided difference based on T i T i T i plus 1 plus divided difference based on T i T i T i plus 1 T i plus 1 and then the derivative. So, we are going to have 4 times x minus T i plus 2 times x minus T i plus 1. So, this is expression for the second derivative of P i on the interval T i to T i plus 1 and P i is nothing but restriction of G n to the interval T i to T i plus 1 the value of P i double dash at T i. From the right that is given by putting x is equal to T i. So, when you do that you get the expression on the right the term x minus T i vanishes x minus T i plus 1. So, that is T i minus T i plus 1 that gives us minus h. Next you put x is equal to T i plus 1 in the expression. Then you get 2 times G n T i T i T i plus 1 the divided difference plus 4 h times divided difference based on T i T i T i plus 1 T i plus 1. We want to equate P i double dash at T i plus and P i minus 1 double dash at T i minus. So, in the expression for P i double dash at T i plus 1 minus replace i by i minus 1. So, you get it to be equal to 2 times G n divided difference based on now T i minus 1 T i minus 1 T i plus 4 h times divided difference based on T i minus 1 and T i repeated twice. And now we will do the simplifications. So, look at P i double dash at T i plus use the recurrence relation for the divided differences. So, the divided difference G n T i T i T i plus 1 will be G n T i T i plus 1 minus G n dash T i divided by T i plus 1 minus T i which is going to be equal to h. Then similarly use the recurrence relation for the divided difference based on T i and T i plus 1 repeated twice. Do the simplifications and you get the second derivative to be 6 times divided difference based on T i T i plus 1 minus 4 times G n dash T i minus 2 times G n dash T i plus 1 divided by h. The simplification of P i minus 1 double dash at T i minus gives us minus 6 times G n T i minus 1 T i plus 4 times G n dash T i plus 2 times G n dash T i minus 1 divided by h. Look at the expression 6 times G n T i T i plus 1 in P i double dash T i plus. So, that divided difference is going to be G n at T i plus 1 minus G n at T i divided by h and we know that G n at T i has to be equal to f at T i. So, that is known whereas G n dash T i minus 1 G n dash T i G n dash T i plus 1 these are unknowns. So, we will equate these two expressions on the left hand side we will leave the unknowns which involve the derivatives of G n and on the right hand side we will have the function values of G n at T i which are known and thus equating we get the system to be G n dash T i minus 1 plus 4 times G n dash T i plus G n dash of T i plus 1 is equal to on the right hand side we have G 3 times G n of T i plus 1 minus G n of T i minus 1 divided by h and which we denote by beta i here i is going to vary from 1 to up to n minus 1 because the equating the second derivatives that we need to do only at the interior node point. This was our uniform partition T 0, T 1, T 2, T 3, T 4, T 5, T 6, T 7, T 7, T 8, T 9, T 9, T 9, T 8, T 2, T n minus 1 and T n. We want G n to be in C 2 a b, G n restricted to T i to T i plus 1 is a polynomial of degree less than or equal to 3. So, on the interval open interval T i to T i plus 1 our G n will be infinitely differentiable it being a polynomial when you look at say interval T 1 to T 2 and T 2 to T 3 here we have 1 cubic polynomial say P 1 here you have another cubic polynomial P 2. So, on the open interval T 1 to T 2 P 1 is infinitely many times differentiable on the open interval T 2 to T 3 P 2 is infinitely many times differentiable the problem is the problem is the problem is the problem is the problem is the problem partition point T 2 that is where the two polynomials we are joining them together. So, thus what will come into picture will be the interior partition points T 1, T 2, T 3, T n minus 1 when you look at T 0 there is nothing on the left for T n there is nothing on the right. So, that is why we need to equate the second derivatives only at the interior node points we have got a system of equations G n dash at T i minus 1 plus 4 times G n dash T i plus G n dash of T i plus 1 is equal to beta i, i going from 1 to up to n minus 1. So, these are n minus 1 equations whereas, unknowns are going to be G n dash at T 0 G n dash at T 1 G n dash at T n. So, we have got n plus 1 unknowns. So, n minus 1 equations and n plus 1 unknowns. So, it is going to be under determined system and we will have two variables to be free and hence in order to do the fix the uniqueness or in order to determine G n uniquely we add two extra conditions. So, now the first one the first extra condition we do is that suppose you know the derivative value at two end points if we know derivative value at all the partition points then we have cubic piecewise cubic hermite interpolation. Now, suppose your function values they are known at T 0 T 1 T n and only at the two end points we know the derivative of the function. Then in that case let G dash at T 0 be equal to F dash at A G dash at T n to be equal to F dash at T n. So, then our unknowns are only G dash T 1 G dash T 2 G dash T n minus 1. So, we have got n minus 1 equations in n minus 1 unknowns and then the system of equations it is coefficient matrix is diagonally done in a dominant matrix. So, if the matrix is diagonally dominant then it is invertible and hence the system of equations will have unique solution and thus we calculate G n dash at T i at i is equal to 1 2 up to n minus 1 by solving this system of equations the right hand side it is known and this is known as complete cubic spline interpolation. In this case what one can show is that if your function F is 4 times differentiable then the error is going to be less than or equal to constant times h raise to 4. Now, this proof of the error it is a bit involved and I am going to skip that, but let us look at another end condition that end condition is known as the natural end condition. So, in this case we have got the we consider or the end condition which we put is second derivative at two end points it should be equal to 0. So, G n is the approximating function which is piecewise cubic it is two times continuously differentiable and we put that G n double dash at A is equal to G n double dash at B is equal to 0. This condition is known as natural end condition because it comes from a minimization problem. When the cubic spline they were discovered they were considered or they came as solution of a minimization problem, but what happens is these conditions they are arbitrary in the sense that we are trying to approximate a function F. This function F may not have second derivatives to be equal to 0 at the two end point. So, if this is not the case then our natural end conditions they will have the error to be only less than or equal to constant times h square. So, see in case of piecewise linear interpolation we had the error to be less than or equal to constant times h square and it is much easier to construct piecewise linear interpolation. Of course, for piecewise linear interpolation we had only continuity now this function is going to be two times continuously differentiable, but still there is a loss of order of convergence. So, then one looks at what one will have like to have is the best of both that your error should be less than or equal to constant times h raise to 4 and it should depend only on the function value. May be even the derivative values at the two end points are also not known. So, that gives rise to one more condition. So, before we consider that condition which depends only on the function values and which has order of convergence h raise to 4. Let us quickly look at the system of equations in case of the natural end condition. So, we have g n double dash at a is equal to g n double dash at b is equal to 0, g n double dash at a is going to be second derivative p 0 double dash at t 0 plus. So, we have got the formula. So, you substitute that formula we had the formula for p i double dash at t i plus in that formula you put i is equal to 0 and then we get the formula which involves the value of the function g n at t 0 and t 1 and value of the derivative of g n at t 0 and t 1 keeping on the left the knowns g n dash t 0 and g n dash t 1 and on the right hand side the known values which are g n t 1 and g n t 0 they are respectively equal to f at t 1 and f at t 0. So, we get an equation similarly look at the g n double dash b is equal to 0 and obtain and a condition which involves the derivatives of g n at t n minus 1 and t n and a function value. So, we get two additional equations we already had n minus 1 equations to that add these two equations. So, total there will be n plus 1 equations in n plus 1 unknowns with the coefficient matrix to be diagonally dominant and hence invertible. So, here is the coefficient matrix it is a tridiagonal matrix with diagonal entries to be 2 in the first and last row and all other diagonal entries to be equal to 4 sub diagonal and super diagonal entries are equal to 1 n plus 1 equations in n plus 1 unknowns. So, one solves those gets g n dash at t i's g n at t i they are equal to f at t i and that will completely determine piece wise cubic polynomial which is c 2 look at the order of convergence. So, as I said for complete cubic spline interpolation it is constant times norm of f minus g n infinity norm to be less than or equal to constant times h r s to 4 for the natural n conditions it reduces to constant times h square. So, we look at one more condition which is known as not a not condition. So, in this case what we do is we look at the partition points t 1 and t n minus 1 only two partition points at these partition points we say that the function should be three times continuously differentiable. So, at all other partition points it is only twice differentiable, but at t 1 and t n minus 1 we say that it should be three times differentiable. So, in the interval t 0 to t 1 it is a polynomial of degree 3 in the interval t 1 to t 2 it is a polynomial of degree 3 then when you say that third derivative should match then it is going to be only a single polynomial in the interval t 0 to t 2 and in the interval t n minus 1 t n minus 2 to t n similarly it is going to be a single cubic polynomial. So, such a polynomial is going to be unique and in this case the order of convergence it is restored to h raise to 4. So, now this completes our polynomial interpolation our next topic is numerical integration. So, what we are going to do is now we have got interpolating polynomial. So, the function f x is equal to interpolating polynomial p n x plus there is some error then integral a to b f x d x is going to be approximately equal to integral a to b p n x d x p n is the interpolating polynomial interpolating given function at x 0 x 1 x n. So, depending on the choice of n and choice of the interpolating points we are going to get different numerical quadrature rules. So, this is going to be the topic of our next lecture.


Hello everyone thanks for joining these sections. My name is Tommy. I'm a senior software developer at IBM's and I was at my colleague's animus sign. He's the lead for a lot of open source projects and driven a lot of open source projects in our teams. Unfortunately animus cannot join today's sessions so I'm going to present it by myself. And today we're going to go over how to bring the ML Opro on the heritage cloud native machine learning platform by using intermediate representations. So to begin with we want to start with how enterprise is actually using AI and ML pipelines in their productions. So in our research we kind of see that a lot of enterprise they're still struggling putting AI in terms of production stage. Many of the teams do like have issues just like making sure that AI is put one in a test stage and have difficulty to move in productions. And when the enterprise kind of see how AI and machine learning works right, they kind of see in these three aspects where they see data scientist and data engineer like kind of collect data and use data to build and they use those data to build models. And finally some that model could be able to do some prediction and you know create like business values. However in realities when you actually build on machine learning pipelines it actually involves much more steps. So even in terms of data preparation you have to involve like data cleansing, adjusting, analysis, transformation, validation and splitting. Same thing with model training you have to optimize them and train in scales and finally when you deploy them you have to also deploy them on different environments such as edge cloud environments and collect feedbacks and improve over time. So you can see this process actually very iterative and involve like cloud team efforts where model team have to work on model aspect of the machine learning pipelines. So having a platform to share those different kind of data processing and model creations is very useful. So because of that we kind of investigate like what kind of open source technology is good and we found like give a pipeline is very good on running machine learning platforms on top Kubernetes.  So you could use any frameworks, any language inside your containerized workflows and you could also leverage Kubernetes like objects such as like volume and secrets. And on top of that, data science is very easy to use this platform because it has a Python DSL which you could actually create workflows just using a Python definitions. And because it actually implements inside like a Python definition you have to modify the input parameters. So whenever you actually run this pipeline using a different kind of parameter you could also do so. And once you have created this automated pipelines you could also schedule them and run them on your day-to-day basis to automate your machine learning workflows. And now let's go ahead and talk about some of the big advantage of using your Q4 pipelines. One of the big advantage is using the Python SDK. As you can see we're using the Python SDK. Data science is very easy to be able to create like a machine learning workflow by just using like a programming syntax. As you can see you will just define different tasks and have like dependencies or something. And create this pipeline that both have like sequential dependencies as well as like parallels runtime as well. And behind the scenes once you create these pipelines there's like multiple you know like workflow engine able to run these pipelines. By default Q4 pipelines use what they call like algo workflows. It's actually a you know Kubernetes container native workflows that runs parallel jobs. And behind the scenes whatever components you define on Q4 pipelines on algo generally you actually just run them as a part. And within a part like you have multiple containers you know capture all the workflows after all the artifacts and able to push them. And in our teams we see like algo have some limitation at the time. We cannot run them on top of OpenShift and cannot run them like security. So we actually introduced like another you know runtime to just run on behind like Q4 pipelines. So when we investigate Tecton is very good platform that able to you know certified by OpenShift and have good OpenShift support. And behind the scenes Tecton also use similar syntax where you could also like wrap a component in Q4 pipelines inside like a part inside Tecton. So within Tecton there's similar concepts where you know a pipeline is also you know defined as a workflow on Q4 pipelines. And it has is actually run as a part usually and it's corresponding to like a component in Q4 pipelines. And with this we kind of leverage Tecton behind the scenes and we hit like 1.0 go where we able to modify the Python SDK to generate you know Tecton specific definitions. And then you know submitted on the Q4 pipelines API engine and then use that as your runtime source of truth. And behind the scenes when we have like the Tecton pipeline defines the Tecton just able to leverage and then run as exactly what how you know Q4 pipeline run on R goals. And with this we have completed the basic implementation now we want to leverage you know additional like features for it for Q4 pipelines. And so the you know nice feature on Q4 pipelines that you know R Go and Tecton didn't provide is metadata and artifact tracking. So for metadata and artifact tracking like well the you know main benefit of them is like once you have metadata and artifacts know like how they've been used and how they've been consumed. You could easily use them to find out like what you know which data a model was trained on so you could actually go back and check your version of the data. And you could also compare previous model ones so when you actually modify like let's say hyper parameter you could easily compare them between two different ones. And you could whenever you actually have like multiple stage from the previous models you could also track them on which state you have been used. And then we use any previous you know completed outputs so let's say you have trained a model for a long time you want to reuse those results when you run on new pipelines with just different kind of treat on the way you want to consume that models. And on Q4 pipelines like artifact tracking you're just simply able to see like which object you have been consumed for the artifacts and which components producing the artifacts. And you can see that the versions and different timestamps that is being consumed and produced. And with those information you could actually create this linear tracking where you could see all these components actually producing these artifacts at these timestamps. So the next stage you could see like the next components consuming the same artifacts. And if you have multiple kind of components consuming the same artifact you could actually use this linear tracking and see what are the dependencies that is not just on the parameter levels but on like an actual artifact object levels. And with this we also like make sure like Tecton also support all these functions so we actually implement Tecton in a way that able to reproduce exactly the same functionality as you know Q4 pipeline on Argos. So in Tecton, even with the Tecton back end you could also view the loss using linear tracking and artifact tracking seamlessly and the user experience is exactly the same. And the way we actually did this is actually we have to modify you know the Tecton compilations that actually able to produce artifact the same way as Argo. And we have to work with the Tecton community to actually produce multiple features that able to like compliance with the exact functionality on Argo and then in addition to that we have to create like a new way of tracking metadata. Because the way of how Q4 pipeline tracking metadata on Argo is very different from Tecton. So in this case we have to like recreate a new concept of like metadata for Tecton as well and able to have to create like this new metadata writer to track all those metadata and we produce them on Q4 pipelines. And because of this you can kind of see like to support just like a new runtime that Tecton on Q4 pipeline we have to first modify the SDK to produce a new source of YAML and they have to update the both the UI and server to able to consume this new YAML definitions. And behind the scenes like because Tecton runs pipeline differently from Argos we have to have to like modify how you know Tecton is running the pipeline and also have to modify how metadata is being tracked and consumed with you know the new Tecton structure. And with all these efforts it's very difficult for like any particular user to add you know new backend if they want to. So that's why we want to like introduce data v2. And in addition to that we also see like other use cases let's say for TensorFlow extended. TensorFlow extended is very you know driven by metadata and in this you know metadata to be like strong consistent. And because of the v1 implementation metadata is actually like synchronicity so for TensorFlow extended use case they actually have to you know produce the metadata as part of the component itself so it's actually not ideal. So that's why with this kind of scenario let's go ahead and introduce like what Q4 pipeline v2 have provided and what are the benefits of Q4 pipeline v2. So the main you know objective of Q4 pipeline v2 is actually to architect the pipeline compilations. So we actually want to build a pipeline that is mainly you know support for metadata and driven by metadata. And secondly we want to have like this new v2 Q4 pipeline data to be backend platform agnostics. So anyone want to extend a new backend they don't have to change too much client to much server works. And in addition to that like Q4 pipeline could actually have more control on how the runtime is being working. Because right now like a lot of the feature let's say like artifacts right it's actually very dependent on the underlying you know runtimes. So whenever it's a new platform is being introduced they have to support all these features so v2 is aimed to actually reduce the amount of feature dependent on the backend. And have Q4 pipeline to handle all this kind of like metadata tracking and other facts producing right just on the Q4 pipeline platforms. So let's rewind a little bit on like what you know like metadata in v1 of Q4 pipeline is doing. So in v1 like all the metadata is actually trapped by a service called MIMD metadata writers. And of course there's some exception where you can actually use MIMD kind of to write to the service as well. But most of the time the metadata writer is actually just asynchronously collects all the parts and collect all those metadata and write them into the MIMD server. So all the metadata is being tracked. However with this approach because it is synchronously it doesn't have like a strong consistency. So for TensorFlow extended they cannot use this approach. And furthermore because this approach is actually just watching all the part events and all the part annotation to capture all those metadata. When you want to have like a new feature let's say I'll go into the new feature for HDT templates and Tech Concrete like Custom Task Controller that runs tasks like not inside a pod. You cannot use the same approach to collect metadata. So this is that the disadvantage that we cannot leverage a new feature from this like backend provider as well. So this is why we kind of move into metadata in the new versions where we want to have MIMD integrated as part of the public execution. So as part of running the components we actually have capability to read and write metadata as part of running the workflow. So it's actually able to run synchronously. So for TensorFlow extended use case it actually could rely on those metadata to driven when the artifact is being used and when they consume it also is consistent at that time of point. And furthermore because we actually have like strong consistency with this approach we actually could also use this for caching as well. So we see like the metadata is actually being produced and it's consistent at that time step because let's say we already produced this artifacts at this time and it's still the same version and it's strong consistent. So we could actually just use that as a cache key and then not have to produce not to compute the main you know executions. So it could actually improve the execution runtime significantly with this approach. And as part of the V2 we also want to optimize how we consume the pipeline specs. So in V1 pipeline spec is actually like based on the backend you know YAML. So when you have like an algo or like a tech pump backend you actually use their definitions as a source of truth. And because we use like a backend specific source of truth. So whenever you have to consume them in the SDK in a client or you bring in your own engines or bring in your own interface you have to have like interpreter to understand all these new specs. So the challenge is like when you have to introduce a new backend for people pipeline you have to change a lot of the let's say UI backend SDK and all these services right over here. And with V2 what we aim is to create this intermediate representations. So all the interaction between Q4 pipeline platform is actually using this new you know IR, what we call IR intermediate representations. And we only communicate specific with the orchestration engine specs on one of those backends when we need to you know create an object or passion object. So we have to reduce you know the code you need to you know modify for a new platform into a single package for one backend. And the benefit of this is like because of this approach in V2 we could be able to create a new UX that is purely based on the information from MAND and from the spec on this new intermediate representations right. So with this you know new approach the new metadata able to collect you know more information such as artifacts, sub-dacks and lineage able to display them all in the same UI. And because of the same time it's using like a common intermediate representation so whenever a backend needs to be updated for a new version or you have to introduce a new backend this UI you don't have to change right. You will just consume this exact same information no matter what kind of backend and version of the execution engine you are using. And another benefit of you know using intermediate representation is that we actually have like one common way to communicate between Q4 pipelines and the clients. So in Q4 pipeline we have you know the SDK and the UI but if let's say any you know cloud provider want to provide a new way, a new interface right that consume these platforms. Let's say they provide a new way that introduce like local, local you know interaction UI. This is like based on this new IR and don't have to worry about what kind of like runtime is using behind the scenes as like in the previous version we actually want to introduce this kind of feature you have to know or you want to run the open shift. And it's only certified by like for TecTons they have to like have a interpreter just particularly for TecTons and if someone is using Argo you have to create interpreter just like specifically for Argo. And it's very difficult to maintain when someone introduce a new interface in the OE1 versions. And with the V2 right when we actually run this task we had kind of mentioned like as part of this tab we actually record you know all this metadata as part of running it. And the concept we're using here is actually based on you know TensorFlow Extended the concept of driver execute and publishers. So whenever a you know a component is being run we will have a concept of driver way actually collects all the metadata informations and try to see is this you know tasks is being executed or not. Do we need to cache them? Do we need to like you know run them into a new you know architects right. And once those you know context information is being set the main execution finish and then we have the concept of publisher where all the artifacts and parameters is being recorded and push back to the metadata service. So all the you know information is strong consistent in this case and any pipeline is depending on you know this artifact information they could actually ensure like there will be no delay or no modification that will be coming from a different pipeline. And because of this right this enhancement we could actually do with like components itself as well. So because we introduced a new intermediate representations this representation is actually very pluggable by just like swapping individual components. So in V2 it's very easy for you to use the SDK to actually compile your code into a component representation in YAML or JSON. And in addition to that in open source we also have another project called machine learning exchange and also Google Cloud have provided like a new service to able to register components. So anyone that want to you know just pull the components from a public host they could do so. And whenever you know someone want to introduce you know and let's say a local interface they could you know easily rely on this registry to actually just pull code. And pull you know new components right from a public endpoints and they don't have to just you know copy paste code right and put on top of their own interface. And lastly when we actually see like we have this intermediate representation but like in the back end we still have like a lot of code you know spamming around different kind of microservice and they all using like a specific like specs for the execution run times. So this is why we need to have an abstraction layers so we create an abstraction interface. They able to understand you know both the spec from Argos, Tecton and any you know future interface that will be coming for the Q4 problem platforms. So behind the scenes with this abstraction the benefit is that like in V1 because we don't have these abstractions all the source of truth based on you know like the workflow specs right and the problem aspect for Argos and Tectons. And whenever you have to you know modify a version let's say Argos have to you know upgrade to like a V3 version with like major you know spec change. You have to change like every single point where the metadata consume that spec. So it's very difficult to track down and everything is all over the place all over different packages. You have to know the code way around it in order to upgrade like Argos or switch to different back ends. And with V2 because everything is you know on top of Q4 pipeline is communicated by an intermediate representation. As you get in front they have no change need to be done and on the background level we actually abstract everything all the background specific spec into a one common package. So whenever you need to upgrade a Tectons or Argos versions or you have to modify any specs you only have to modify in one single place. And this package will be able to like abstract and able to like able to consume and inherit through the all the pipeline services. So when all the pipeline services use them they don't have to be aware like what is running behind the scenes. Like only the spec implementer have to make sure like this is compatible to run a mobile version is being deployed. And the main feature of abstracted layer is how to break down into three parts. So one obviously we have the compiler so whenever you bring in like intermediate representation I would want to like apply that representation on a back end spec. You need to you know kind of compile them into that specification so it could be understand by that back end API. And on top of that we have execution time so when you have this spec being compiled you need a client to run the basic API operation so create get patch delete this. And last and not least when you have this new spec and this spec is being running and you need to create some patch have to modify such an attribute. You want to have like an abstracted layer where you only want to like let's say you want to update the service account on that particular pipelines. You could just use this abstracted execution spec to say update service name and behind the scenes whatever service name had to be updated for that back end implementation. It's determined by the execution spec and dependent by the runtime you are running it. And now we kind of go into like the details on what you know the execution time can be supporting. So the execution time support you know the basic CRUD execution to create updates, delete, get this patch. So this is like common you know Kubernetes actions and because of this we abstract all these actions right for this in this interface. So in theory even though you don't have like a Kubernetes base run times you could still implement all these actions and use that as a key for problem back end. So we got to the front end for like having a back end that's really non-commodated base and able to use key for problem as well. We also want the motivation to have these abstraction layers. And by just able to create and patch with the clients it's not enough. We still need like a various you know common function that whenever you need to let's say update a default let's say input parameters. We want to update like certain information let's say annotation or labels right on that particular pipelines right. We need to know how to actually do this for a particular back end. We also abstracted all this common function into this new abstraction interface. So because when you actually want a pipeline or let's say when you want to retry a pipeline you only need to modify certain set of parameters and let's say you only need to like update parameters. So the pipeline service only needs to call it update parameters and execution spec will actually determine what back end is using and update the pipeline parameters based on you know the back end engines. It's been specified on these platforms. So with this I could just kind of show you like how you know the key for problem v2 is being used and you can see in the UI. There's no dependency and you don't have to be aware what kind of back end engine is being used. So in the key for problem v2 when we actually you know click on a pipelines let me make it larger. You could see like all these components like it's been rendered and then being extracted from a pipeline specs and this is the new pipeline specs where we have defined as a intermediate representation. It's very you know driven by component base. You can see like each component is being defined nicely over here. So it's easy to you know plug in and then extract and able to upload and register on a common registry. And once we run them right because this pipeline takes some time to run so actually run this beforehand.  And this is all based on one you know common pipeline specs. So you can see like no matter what kind of back end you use whether or go with Tecton. The UI doesn't care because all those information is actually stored in the metadata server. And the metadata servers share the common kind of like metadata definitions. So no matter what kind of back end you use and what kind of execution you use. It would always use the same you know pipeline specs and the metadata information to render this UI. So you don't have to need to worry about like testing and updating you know the UI based on a new let's say back end you have introduced. So I just want to like have a summary. So in this section we kind of got emphasized on how we want to embrace you know metadata as like the first step towards the MLOps. So all this kind of like information that driven by individual components will be actually focused on the metadata. So it will be kind of like back end agnostic and everything could be kind of like view as metadata and they don't have to be modified based on whatever runtime you have used. And in addition to that we want to emphasize on the new concept IR and able to make sure this IR component based. So it's easy to register and consume them in this new ML platform. So when the new provider want to consume them or create let's say a local local interface it's easy to make it plugable and consume them very easily. And lastly we want to show like how a abstracted layer could be actually how introducing new orchestration engine very easily. And this you know new abstraction layer is actually available in you know the V2 alpha 4 release. So when you want to like bring in a new client bring a new you know back end execution you could easily just use this version extend Q4 pipeline to run on your own platforms. And lastly this other reference way for Q4 pipelines and Q4 pipeline on Tecton you're interesting on using Q4 pipeline on different back end you could go to this link. And we also have a V2 design doc to show like how in details those metadata is being used and how those metadata is being produced right. And the design concept behind using the V2 design doc over here. And that concludes the end of the section. Thank you very much for joining. Is there any question in the room? Yes please. So let me have a quick question. So you are asking is there any like computation optimization for this IR right? So this IR is you know kind of optimized to be like plugable so all the components easy to kind of swap in and swap out. When you kind of emphasize on like performance optimization are you kind of emphasize on like the runtime performance or you emphasize on the compilation of performance. Right so in the new IR it actually abstracted a lot of the you know concepts like just really driven by a bit of like offset to purely to the Q4 pipeline platforms. So you just want to asking like how you could optimize you know performance on like a run times like pipeline run time. You could kind of see this kind of new concept where we introduce the way we quote metadata using drive-in publishers. So before that we actually have to rely on another services to you know just capture them asynchronously. So it's difficult to scale them when you have a lot of pipelines. And with this new kind of like pipeline constructions we leverage the concept of drive-in publishers. This driver is actually just a concept to you know get metadata and then you know send them to the executor and the publisher. So in the algo committee they have a concept called ACT template and in Tecton they have a new concept called custom task controller where we leverage those concepts. We actually have some experiment implementation for that as well.  So that server could be responsible for you know getting you the metadata and make sure that everything is consistent and you could just scale much easier by just relying on this new concept rather than you have to manage your own metadata writer service and manage your own let's say caching server to cache your own components as well. So that's kind of the benefit on you have more control on how you could optimize and scale on your own services. Yeah thanks. Is there any other question in the room? Is there any question online? Yeah if that's the case yeah thank you very much for joining and this is the end of the session thank you.


Hello everyone, I'm James Milan. Welcome to this one-on-one conversation with candidate for school committee, Elizabeth Exton. Elizabeth, thanks so much for joining us. Thank you. We want to get right into it. We know the time is going to go fast. So first thing I wanted to ask you about is that an issue that keeps coming up is the achievement gap perceived or real between students of color, minority students, and white students here in Arlington. I wanted to ask you just to elaborate a little bit more your thoughts on that issue. Sure. So I definitely think that there are gaps in what is called the achievement gap between students of color and students of low socioeconomic status high need students in Arlington as compared to the larger cohort of students. You know, the achievement gap is a term that's used because of with the MCAS and how students score on that. And I really think about it more as what's called an opportunity gap. And so we need to think about how our students of color students from underrepresented groups, students with special needs performing across the board in our schools. Do they feel safe in our schools? Do they feel included in our schools? Do they feel that teachers have high expectations of them so that they can do well in school, whether it's on the MCAS or it's on tests that teachers are giving them if it's just the day to day work that they're doing. I think that we really need to look at the overall the overall sense that students have in our schools. And one of the way that's measured is their achievement on the MCAS, their graduation rate. But I'm more concerned with the overall picture of how students are feeling in our schools. And given that you are concerned about that, what is the role as you see it that you could play as a school board member in ensuring that that is happening? Sure. So I think one important piece is funding for professional development for teachers. We talk a lot about supporting teachers and having difficult conversations with their students, having difficult conversations with their colleagues about what these gaps look like. That would be one thing. I think another aspect is increasing funding around intervention, reading teachers, math teachers, increasing funding for social emotional support, counselors, social workers. So I think there are a lot of areas where we can make changes to support these students. You know, it's interesting to hear your response there and note how often you mentioned increasing funding as part of the key. Clearly, we are going to be opening schools at some point post the pandemic or at a later stage. And by all measures and accounts and prognostications, money is going to be an issue for the town generally. Do you see that it's at all viable that within the next little while you'll be able as a school board to ask for or facilitate getting more funding for those initiatives? So absolutely the budget is going to be very tight next year. But some of the some of these things I've mentioned have already been allocated to those things. There was already an increase in math and reading teachers for next year. So I think that even though we can't do all of the things that might that we might like to see in terms of closing that gap, there are things that are already happening that will continue forward. You know, one thing that came up in the debate was when you were talking about, you know, the the qualifications that make you a good candidate for the school board, you had mentioned being a teacher, kindergarten teacher, a the parent of young children in the schools and also an advocate. So how do you see those things, you know, specifically those different factors playing out in your work on the school board? Sure. So I think first as an educator, I have a view of what is happening day to day in schools. I'm in a classroom. So I see what students need. I hear what parents are asking from teachers. I work with administrators. So I have a really clear understanding of the day to day workings, the demands that are placed on teachers. As a parent, I want the very best for my own children in their education. And so, you know, I do have high expectations of my students teachers and want the very best for them. And so therefore, because they're in the Arlington Public Schools, I want the very best for all of our students in town. And as an advocate, I, as many people may know, in 2018, I advocated to get full-time kindergarten aides in all of the kindergarten classrooms across the district. And I did that because one, because I felt like it was important, but I was able to succeed in doing that by bringing the research, bringing the personal experience, but also collaborating and connecting with the school committee, with the administration, with principals, with teachers, and really hearing and sharing everybody's perspective to be able to know what was going to be best for our youngest students. Yeah, how exactly did you work with or persuade the school committee around that issue? Sure. So, in the fall, it was in the fall of 2017 when this started, and I just started by attending school committee meetings and budget subcommittee meetings and understanding more about how it all worked. Where does the money come from? How is it allocated? Where can it be moved around? And then in December of 2017, I reached out on social media to other parents in town and just asked people to join me in this concern that I had. And so, we attended school committee meetings from December to March every meeting. We spoke at every meeting. I attended subcommittee meetings, but I also had personal conversations with individual school committee members, individual principals, and individual teachers to understand, was this even something that they wanted? And when I heard from certain people that yes, this was something that they had been working on a little bit before that, and yes, it was something that was important for our learners, I was able to keep coming back and bringing the perspective of the community and our schools to make that change. You have young children, so hopefully, hopefully this is not yet an issue for them, but something that I think we all understand is that the level of stress that students feel around their achievement and their experience in schools is something that needs to be addressed. What, you know, either what ideas do you have to bring to the table and what function do you see, again, the school committee as having in alleviating that situation? So, again, I think that increasing the social and emotional learning components of our curriculum across from K to 12 is something that, you know, we need to continue to do. There are certainly those things are already happening, but continuing to keep that emphasis there. I think opportunities for students to be able to talk about how they're feeling about their academics, how they're feeling about their social experiences in schools, continuing to take the temperature of students through, you know, the youth risk behavior survey, and then using that information to inform how we respond. In more severe cases, I think, you know, at the high school, there are certainly students who return from leaves that are caused, you know, have left due to severe anxiety or severe challenges around their academic, their feelings about their academic performance. And so I think we need to think, too, at the high school level about some intermediate program for kids returning from a leave of absence back to the high school. Okay. And how about what changes would you like to see happen to create an engaging, relevant kind of 21st century education for Arlington students if to whatever extent you think that is not yet happening? I think it's the younger grades that I see that happening. I think continuing, you know, in the middle and high school with electives and experiences where they can think about, you know, we always talk about like jobs that haven't even been invented yet. What are electives, what are experiences that students can have to prepare them for things that we don't even know about yet? Okay. You know, we have just maybe two and a half, three minutes left, and I want to make sure that if you wanted to address something that you haven't been able to adequately, as far as you're concerned, that I invite you to do so here because we do have a couple of minutes left. Thank you. I just, I think it's important for the voters to hear a little bit about my experiences in the classroom and the work that I've done there, particularly around issues of diversity and inclusion. I co-facilitate a learning group with a number of other teachers around using children's literature to support students and teachers talking about challenging conversations around race, around identity, around different family structures. And so these issues that we've been talking about in town and that have come up recently are very important to me as an educator as well as a parent. And so there's something that I do carry with me and think a lot about as a potential school committee member. And again, I know that I sound like a broken record in some ways, but what is the, you know, again, what do you think the school committee can do and what do you think that you will be hopefully a propulsive force within the school committee to do about addressing those things? Sure. I mean, I think it's a lot of just revisiting policies. How are we addressing policies that are affecting students of color, students from underrepresented groups, students with special needs in ways that don't match with how we want them to be succeeding? Again, the budget continuing to think about even in these tight times, where can we allocate funds to support all of our students? And just continuing to ask questions of the administration and suggest to the administration things like professional development programs at the high school that might support students. Just, you know, again, just giving that feedback. Yeah. When you say asking questions of the administration, obviously it was touched upon in the debate and you clearly have an excellent understanding of what the relationship, formal relationship is between the school committee and the superintendent, for instance. But when you say asking questions, would that move over into, you know, exerting some kind of, you know, pressure to inculcate these kinds of programs? You know, I mean, a school committee members can strongly suggest a lot of things, but I really believe in a collaborative relationship. And so I think by developing an understanding and a relationship of trust with the administration is going to be the most effective way to garner their support, move them along in their learning or in actions that I'd like to see happen. Okay. Well, that will do it for us then. We want to thank you once again for joining us for these very quick 15 minutes. And wish you and the other candidates well on June 6th. And for you audience out there, this is James Milan. We have been talking to Elizabeth Exton, who's a candidate for school committee for this year. Thank you for joining us. Elizabeth, thank you. Thank you very much. We'll see you next time.


What's going on guys? It's your boy DPJ here today with another Destiny video. Now Crimson Days is basically over so let me know your experience of it and what it was like down below in that comment section. Me personally I wasn't a real fan but then again I ain't really much of a fan of PvP or together but I know many did enjoy to a degree so let me know down below in that comment section. Today we have top five Crimson Day plays thanks to everybody who has submitted. I also appreciate the support you guys are showing me and my channel in these dark days of Destiny. Hope you guys enjoyed the video do drop a like or do appreciate the support and I'll catch you guys on that next one.


There are many places on our planet so remote or little mentioned that much of the world has never heard of said sites, and the great Selbik Kurgan is one such example of an incredible ruin that has been largely forgotten or overlooked by modern academic study. Clearly of a neolithic age, the thing which is most striking regarding the ruin is the sheer size of the megalithic blocks which make up the main structure. Found by many is the most majestic and mysterious ancient monument of southern Siberia. The mound is located in what is locally known as the so-called Siberian Valley of the Kings, where several thousand years ago, it is claimed that there existed a kingdom, one made up of a people once known as the Tagars. Thus, the age monument has been pinned on said culprits, with an age of around 2300 to 2500 years attributed to the site. The main earthwork is a stone square mound 70 meters by 70 meters in size, as mentioned, huge slabs of Devonian sandstone. Some estimated as weighing as much as 50 to 70 tons were somehow once inexplicably delivered to the site from a quarry site of over 100 kilometers away found upon the banks of the Yenisei River. It is believed that it was an ancient temple and at a later date an ancient astronomical observatory, which like most other Neolithic sites incorporates processional cycles in its alignment, showing the movement of the sun and the moon. As mentioned, it still remains a complete mystery as to what devices were once utilized for the importation and installation of these gigantic stones. At the corners and sides of the stone fences are deeply driven large moneers. All 23 stones are of an enormous site. Measuring up to a height of 6 meters, there are clearly smoking guns flying in the face of upheld academic fallacies. The rare excavations and explorations noted as having been undertaken at the site note that before the construction of the giant earth embankment and its accompanying stone fence there was a crypt of logs in its place, once in the form of a truncated pyramid. This whole crypt can be found inside the huge earthwork, preserved beneath, untouched, yet covered with a thick layer of bark. The crypt had the height of 2.5 meters in depth of 2 meters of water covered the pit. It is claimed that around the burial zone for a long time a strong anomaly has continually been observed. The study of these phenomena has indeed been engaged by scholars, but the pace of said explorations has been suspiciously slow paced. Who built the great Salbiq Kurgan? How were these huge stones transported to the site and once driven into the earth at the site? What is this quote, strong anomaly? More investigation and popularization of the site is desperately needed. It is a place which we find highly compelling. Thanks for watching guys, and until next time, take care. Hulgoth is a popular destination with tourists and holiday makers alike. This is due to its impressive natural setting. In which the vestiges of an ancient forest still survive, one that once covered the entire island of Brittany. Once part of royal and ducal lands, the forest is now overseen by the French Forestry Commission, the National Forest Office. It has a footprint of around 10 square kilometers, with a large replanting scheme repairing much of the damage sustained by the forest and storms, which occurred upon the 15th and 16th of October 1987, when 3.1 square kilometers of trees were leveled or damaged. However, within this surviving ancient forest, ancient Neolithic ruins can be found. Ruins synonymous with many other countries around the world, as if made by a people who were simply motivated by aesthetics, thus creating stunning, yet equally baffling structures which we have come to know as dolmens. However, although in some areas of Earth, these can be attributed to past dwellings, many of them which survive were created with such small base stones or such large roofstones, that arguing that creating them for any other reason but their creation continues to be just as puzzling an explanation as the techniques that were once seemingly harnessed, which enabled our purportedly stone age ancestors the ability to pick up ancient megaliths of such enormous scales. The Champignon, or the mushroom located within the forest, is but one example of these mystifying, unarguably Neolithic formations, once created with a roofstone of many tons of weight. Yet any logical argument as to the past purpose of these stone structures remains just as elusive to explain, as how these incredibly ancient people somehow once accomplished such feats. Who were the Neolithic? How can their ruins be located all over the world, yet not attributed to a group in communication with each other? We feel the evidence to support this postulation is all but overwhelming, yet continually denied as a possibility, or even considerable as a reality by any field which is in defense of current rigidly defended fallacies, claiming that such groups were primitive and lacked the ability to cross continents. Yet the evidence in defense of this found on almost every continent on Earth which we feel is obvious proof of a conspiracy. Regardless of this and the denial of them having links with other countries, we find the ruins which still survive within this ancient wood within Brittany as highly compelling. Roman engineers have been attributed and indeed claimed many ruins as their own in which they were simply incapable of creating. Yet they seemingly hijacked a number of sites which we have continued to claim were not their works. The Patera Pipes being one such example. Yet alas, although we claimed that the ruin was pre-Roman, our next subject of interest we feel unarguably supports said posit as not only was the creation claimed as having been conceived by the Romans, but these sites often the only surviving example. This is also often argued as the first creation in regards to said concept. Yet although these are often claimed as first attempts, many of the ruins were of such perfected accuracy that not only are they still functional today, but could still serve modern man's purpose. The Patera Aqueducts system which in fact includes several examples of this ingenious solution to hilly areas in regards to water transportation, places in which the topography of the land makes bridge building an impossible task, forcing the engineers to think of a solution. With the site in question being such an innovation, now known as an inverted siphon, the one we are focusing on tonight is Delic Kemmer near Patera, undoubtedly connected to the incredible ancient relic that is the Patera Pipes. An inverted siphon being a pressurized water conduit. One end sits at a higher elevation than the other, with the center of the structure being the lowest point. The Delic Kemmer Siphon, which was apparently renovated following an earthquake in the first century CE, is built out of stone blocks laid across the top of an impressive several hundred foot long wall. Piping holes were then artistically carved out of blocks of stone, which were fitted into each other and ten apparently sealed to create a watertight channel. Thus, due to the system being closed off and pressurized, when water flowed into the higher end, it was forced through the system and subsequently across the valley. The inverted siphon allowed the aqueduct to cross lower elevations, forcing the flow against gravity at certain points. Yet the most compelling detail of the site, and the one we perceive as a smoking gun supporting our prior posit and confirming that this was in fact the work of a past highly advanced yet now lost civilization, is the polygonal stonework which can be found within the walls of the structure. A type of blockwork construction found all over the world yet denied as being connected, just like that of the Neolithic ruins we often share here on the channel, that regardless of the similarities and ruins throughout nearly every continent are actively denied as having once been the work of the same group. Kate Clow, an explorer behind popularization of Turkey's Lycian Way hiking trail, described the blocks in a Turkish newspaper title, hurry it daily news quote, the system was designed for easy maintenance. If you examine the fallen blocks, you'll find occasional ones with top holes bored into them. These were for cleaning out deposits and must have been sealed with a plug when the pipe was filled with water. There were also occasional stones where the socket cutout was extended so that a stone could be slipped out of the pipeline.  The pipe joints have traces of a lime cement used initially to seal them, however the whole pipe is now thickly lined with a deposit of pink lime from the water inside it, and this must have quickly sealed any remaining leaks between the stones, end quote. Who built the reverse siphon and the entire aqueduct as a whole? It is a place which we find highly compelling. Thanks for watching guys and until next time take care.