Hey everybody, welcome back. In this lesson, we're going to be creating our first pie chart and this pie chart is going to have the shape of a peace sign. So let's get started. Let's first create a new list item here in index.hbs and call this peace-sign. Now let's go over to pages.js and create a new object and we're going to also call this peace-sign. Once you have that, go to your JavaScript and CSS folders and create a new file called peace-sign.js and peace-sign.css. Okay, so we can now close index.hbs and pages.js. Let's go into peace-sign.css and adjust some of the body. So we're going to remove the padding and the margin and give it a background color of 111141C. Okay, so we can actually close this because this is all we're going to do in here. So before we start writing our code, let's go to the browser and make sure your server is running. Go to localhost 3000 and let's open up the peace sign page. Okay, so now that we have that, let's go to our code editor and start writing some code. For this example, I've already figured out the data because it's a certain type of data that we need in order to create the shape of a peace sign. So just copy after me, we're going to set this to data and it's really just an array of four numbers, 35, 15, 15 and 35. Now that we have that, let's set our width and height. And then we're also going to have to set our radius as well. So let's first get access to the body. So div equals d3 dot select body. And now let's set our width and height, but we're only going to set it to window dot inner width and window dot inner height. Okay, so being that we're dealing with a pie chart, we need to know the radius. So how big do we want this circle essentially to be, let's find the smallest number out of the width and the height and then just divide that by two. So we're going to create our radius like this. We're going to set this to radius. And then we're going to use math dot min. And then we're going to find whether or not the width or the height is the smallest and then divide that number down. After we've done that, we're going to create a color scale. So in order to do this, we're actually going to use scale ordinal. And the reason is because we have four data points here. And we're going to create an ordinal scale with exactly four colors in it. So the first value here is going to map to the first color. The second value is going to map to the second color and so on. So let's assign this to a variable called color scale. And like I said, I'm using D threes scale ordinal and giving it an array of colors. So what should these colors be? Well, I already created the colors elsewhere. So I'm just going to copy them into this array and you can do the same. Now that we have that we're ready to create our SVG. So assign this to a variable called SVG. And then append an SVG to this div element or rather, it's really the body, but I just call it div. We're going to now set the width and the height. And then we're going to append a group element. After we've appended the group element, we're going to transform this. And what we've been doing in previous lessons is translating it by the margin left and then the margin bottom. What we're going to do here is actually translated by the width divided by two and the height divided by two. So with this, we can now be sure that our pie chart is going to be centered in our SVG. So now that we're at this point, what do we need? Well, we're going to use something that we're coming across for the first time in the course. And it's D threes pie layout. So the pie layout basically just creates the angle data from our data array here. So it does all of that for us. So let's give this a try. We're going to call this pie. And then we're going to use D three dot pie. Pretty simple, right? I love D threes very intuitive naming conventions for things. We're now going to set where we're getting our value from. So how should it know what to calculate these angles from? Well, we are getting access to our data. So why not just use the data values themselves. And then lastly, we're going to set this sort function to null, because by default D three automatically sorts the value for pie charts. So we're going to have to put it to null so that the data is not sorted. And we're going to get it exactly in this order that we specify 35 15 15 and 35. Otherwise, D three would end up sorting it to be 15 15 35 35. The next thing that we need when creating pie charts is actually something called an arc generator. And the arc generators are functions that produce path data from the angles and the radius values. So this is where we're going to set something like a start angle and an end angle or an inner radius and an outer radius. After we create this, we're going to play around with a couple of things just to show you what some of these methods actually do in order to change certain attributes about this pie chart. However, right now, let's just create a variable called arc and set this to D three dot arc. And what we're going to do first is set the outer radius. So let's set this to the radius that we had set above. And then the next thing is the inner radius. Let's just set this to zero. So the inner and outer radius, what's the main difference? So this outer radius is what you would expect to be the radius of the whole entire pie chart. However, the inner radius is what you would adjust if you're creating something like a donut chart. So if you want an open circle in the middle, then you would adjust this accordingly, the inner radius. If the inner radius is at zero, then it's going to be your average pie chart. It's just going to be a circle and there's not going to be what looks like a hollow center in the middle of it. Okay, so now that we have these two created, we can move on and start to actually create our paths. So let's create a variable called G. And let's select all arc from the SVG. So select all dot ARC. And let's set our data. So we're going to use our pie layout and give it our data. Next, we're going to enter and append a G element, because each one of these is going to be its own separate group element. And then finally, let's give it the class of ARC. The next thing that we need to do is actually append our path. And this is what's going to end up creating our arcs themselves. So G dot append path. Oops. And we're going to set our D attribute. So attribute D is going to be the arc generator. And at this point, we can give it a class of ARC. And then we're ready to set some styling. So how about we use our color scale to give it some color scale? Okay, so we have our color scale. We want to map each value in our data array to one of these colors in the ordinal scale. So if we want to match the first element to the first color and the second to the second color, what we're going to have to do is get access to the index itself. So the number is less important to us, which would actually be this D right here, which is actually the data in the data array. But we want the index because we want the zeroth index of data to match the zeroth index essentially of our color scale. So what we're going to do is use color scale and give it the index. The next thing that we're going to do is set a stroke style and stroke. And we're going to set this to a dark color. How about the same color that we had set our background? So let's go over to peace sign CSS and copy that. Okay, and now let's set a stroke width of four. Okay, so now that we have that, we're ready to go to our browser, refresh the page and see what's rendered. Wow. So as you can see, we have this huge peace sign in the center of our image. And also, it seems a little large, which means the radius, the outer radius is a little large. So how about we basically just multiply it by 0.75 and get like 75% of the radius that we had set. Let's see if that changes it. Okay, that's a lot better. Now that we have that, we've created our first pie chart. And it's as easy as using D three is pie layout generator and setting a couple of attributes inside of them. So at this point, let's play around. So the radius as I just did before, I multiplied it by 0.75 because it was a little large. If you can remember, it was kind of going out of our view. So I multiply it to be a little bit smaller so that it's only 75% of the width that I had originally set it. So the inner radius, what is this? Well, if you remember, I said that this is what makes your pie chart end up looking like a donut chart. So if you set it to something like the radius that I have here, multiplied by actually, this is divided by two for now. Refresh the page. And now we're going to see that there's this big black circle in the middle of it. Essentially, the inner radius is what's being expanded here. The outer radius being how far from the center to the outside, and then the inner radius how far from the center to here. What happens if we set them to be the same? Well, then we get nothing because that means the center of the pie chart to the outer radius is the same as the center of the pie chart to the inner radius. Therefore, we're not going to have any other things to see. So that's why it wouldn't be wise to actually set it to the same number. You're not going to see anything. But if you set it to other numbers, you're going to be able to adjust the shape and look of your pie chart. So let's put this back to zero, because it no longer looks like the peace sign. And let's start adding a couple of other things to play around with. So for the arc, what we can actually do is add a start and end angle. So let's try that. How about we set it to something like negative 0.5 multiplied by math.pi. And then the end angle to 0.5 multiplied by math.pi. Let's see what that does. So now we're getting half of a circle. So as you can see, I'm just playing around here. I didn't really have this planned out exactly. And the reason that I'm playing around with this is because this, I think, is one of the best ways to learn. You're basically just putting in random numbers inside of a couple of these methods that D3 has for different types of generators. Just play around with the data visualizations that you create while you're learning. Because when you do this, you're actually going to find out some really interesting things. Let's just set it to math.pi. Let's see if that changes anything. That's interesting. So we get half a circle, and then we get a much smaller part of the circle right over here. So as you can see, we've created our pie chart. And it really isn't even that much code to do so. Okay, so in the next lesson, what we're going to do is further expand going over pie charts, but we're now going to have some different data, and we're going to have labels so that we know what each arc is actually representing in relation to our data. So that's it for this lesson. I'll see you in the next lesson. Hey, everybody, welcome back. In this lesson, we're going to continue on with pie charts. But this time, we're going to use some real data. So I have data here in bills.csv, which you can get in the resources. So download this file and put that in your data folder. The first thing that we're going to do is create a new list item. And we're going to call this monthly bills. Next, go to pages.js, and create a new object and set these to monthly dash bills. Okay, and then after you're done with that, go to your CSS folder and your JavaScript folder and create new files called monthly dash bills dot j s and monthly dash bills dot CSS. Okay, so before we move on, let's set the body's padding and margin to zero and give it a background color. Let's set this to a very dark color almost black. So let's set this to zero E zero B 16. Okay, and we can actually close this file now. And we can also close pages dot j s and index dot HBS. So let's go to our browser, go to local host 3000, refresh the page and go to monthly bills. Alright, so we have our blank page here. Let's go back to our code editor and start writing some code. So we know that this is in a CSV file. So just as we've done in previous lessons, let's use D three dot CSV, and we're going to get this as data and bills dot CSV. And now we have access to our data like so. First things first, let's get access to our body. So we'll call this div. I've been calling this div the whole course so far, even though it's the body, but it's okay, we're just going to set this to a variable called div. And we're going to select the body. And then we're going to set width and height to window dot inner width and window dot inner height. The next thing that we're going to set is the radius. So just like in the previous lesson, the peace sign pie chart lesson, we're going to use math dot min and give it the width and the radius. And then divide that by two. Okay, and finally, let's create our color scale. We're going to use D three dot scale ordinal just as we did in the last lesson. And actually, let's just take those same colors. So we'll go to peace sign. And we'll all of those colors. And let's just check to make sure that we have the same amount of colors as we do values. So we have one, two, three, four, and five. This has four. So we're going to need to add another color in here. Let's just set that to one C nine F E nine. I think that'll do it. The next thing that we need to do is add our SVG. So we're going to append an SVG and set the width and the height. And then we're going to append a group element. And we're going to translate the positioning of this by the width divided by two, and then the height divided by two. So now that we have that, let's create our pie layout and our arc generator. Let's start with the pie layout. We're going to call this pie and use D three dot pie. So in this example, let's take a look at bills dot CSV. And being that all this sums to 100, each of these numbers is a percentage of 100, which means that this will be 14.5% of the pie chart. This will be 28% of the pie chart 17% of the pie chart and so on. So we actually want to get the cost percent to be where we have our data. So value is actually obtained from D dot cost percent. And just like in the last lesson, we are not going to sort this. So let's set sort to null. So moving on, the next one is our arc generator. And we're going to use D three dot arc. And then we're just going to set the inner and outer radius. So let's set the inner radius first to zero, because we do not want it to look like a donut. And the outer radius to our radius. And just as we did in the last example, let's just multiply this by 0.75. And we can always adjust it later if it turns out it's too small or too big. So with that, we're ready to append our paths. So let's create a variable called g. And we're going to type SVG dot select all dot arc, because we're going to give it a class name of arc, we're going to set our data and we're going to use our pie function here and give it our data. Next, we're going to enter and append a g element, and then give it a class of arc. The next thing that we're going to do is append a path to the g element, and then set the D attribute. And that is going to be our arc generator. We're also going to give this a class. We're going to set that to arc. And now we can adjust some styling. So this is where we're going to use our color scale. We're going to set the fill in our style. And we're going to get access to our index because just like in the peace sign example, we want to get these colors based on the index of this current datum inside of our data array. Okay, so color scale, and we're going to give it the index, the first element in this data array is going to get the color of this purple. The second is going to get this blue and so on. The next one that we're going to set is the fill opacity. And we can set this to something like 0.8 or whatever you like. The next one that we're going to set is the stroke. And we're just going to set this to the color that we have in our monthly bills.CSS file for the background color. Okay, and then we're going to set the stroke width to how about 10. Okay, so now that we have that, let's check our browser, refresh the page, and make sure everything is being rendered correctly. Okay, so now we have our pie chart. And granted, there are no labels on it, but we do have the pie chart. And it is representing our data correctly. So now let's add a couple of extra features. Let's add labels on these arcs. And then let's add mouse over and mouse out events, so that when we hover over each of these arcs, they grow a little bit in size. So let's go back to our editor. So what we're going to do now is append the labels for each of our arcs. And what we're going to do is really just append text. And what we're going to do is transform the positioning based on something called Centroid. So we're going to set the transform attribute. And we're going to translate it. So we have the data that we're going to get our Centroid from translate. And what we're going to do is get our arc generator and call a function called Centroid. And this gives us the center of that arc. Okay, so now that we have that, let's set the text itself. So I think this should be D dot data dot type, because we want to display the name or the type of the bill itself, such as auto or food. And then we're also going to use D dot data dot cost percent. And let's just give it a little percent sign. So let's next set some styling. So style, we'll set the font size. And how about we set this to 14 for now? We'll set the fill to white. And we'll give it a text anchor of the middle. Let's see what that looks like. See if it renders correctly. Okay, so there it is. So now you have labels on your arcs. And of course, we can adjust the positioning if we want to let's add a couple of extra styling things. How about we add a text shadow. And we'll set this to something like two pixels, two pixels, and then a color like zero E zero B one six. Okay, so let's see what that does. Okay, so you can see a little bit of a text shadow right here. And of course, like I said, you can make this higher or lower if you like, I'm going to just keep it there for now. However, I am going to adjust the size a little bit.  So it's a 16 style and font weight, let's say 800. See what that looks like. Alright, that looks a little better. So with that, we're ready to go on to the event listeners, which is the mouse over and mouse out. So let's do that right now. What we're going to do is upon mouse over on the path, which is this one, we're going to set the arc to actually increase in size over a transition. We're also going to set the fill opacity to be one. And then on mouse out, we'll set it back to 0.8. So how do we do this? Well, we actually have to create another arc. So we have our regular arc right here. Well, we actually want to create a hover arc. So it's very easy to just create a separate arc that we then set the D attribute to upon mouse over. So this is how we do it. It's really the same thing as we have here. However, we're just going to adjust the radius instead of times 0.075. It is something like times 0.85 or something along those lines. So it just grows a little bit. Then we go to our path and use D3's on method. And we set it to mouse over. And of course get access to the this keyword. So D3.select this. And then let's first change the opacity. So fill opacity set that to one. And then let's set a transition. So transition duration set it to 500 milliseconds. And then we're going to be adjusting this right here. So the arc is not going to be the arc that we have originally set. It's going to be the hover arc. And then of course on the mouse out, what we're going to do is the opposite. So we're basically going to just copy this over. Put the fill opacity back to 0.8. And then instead of hover arc, we're going to set it back to the arc. So that's all we need for our mouse over and mouse out event listeners. Let's go to the browser, refresh the page and try it out. Cool. So there it is. So now it's way more interactive. Cool, right? We have created our second pie chart this time with event listeners, but also with labels on the arcs. As an assignment, I want you to add a chart title, and then also play around with the different types of arcs, such as the inner radius for the regular arc right up here. So adjust the inner radius, but also adjust the inner radius for the hover arc as well. Maybe upon hovering it becomes a little bit of a pie chart. See, it does adjust it down here a little bit. The point is to play around and just simply see what happens when you adjust something. So that's it for this lesson. Have fun playing around with it. I'll see you in the next lesson. Hey, everybody, welcome back. In this lesson, we're going to be creating something pretty interesting. This is going to be another pie chart. However, we're going to style it so that it actually looks kind of like a flower with flower petals. It's just going to be a really kind of strange, but I think cool looking pie chart. And it's really going to allow you to see the result of playing around with a couple of the methods that come with d3.arc. We're going to end up setting some very exaggerated radii for our arcs, which is going to give the arcs themselves a pedal like look as if they were flower petals. Let's first start by creating a new list item in index dot HBS. And how about we call this crazy pie chart. And we're going to do the same thing in pages dot JS. So go right over there and call this crazy pie chart. And then of course, let's create crazy pie chart dot CSS and crazy pie chart dot JS. Okay, so first things first, let's remove the padding and margin for the body and then also give it a dark background color. And that's all we're going to do in our CSS file. All right, so let's go to the browser make sure your server is running and go to local host 3000. And let's go to the crazy pie chart page. Okay, so back to our code editor, and let's think about how we're going to build this. Well for one, I have some data already set up. So we're just going to create an array. And basically just put in the following numbers<PHONE_NUMBER>475. Okay, and the reason I chose those numbers is because I kind of like the way it ended up looking at the end. And it's really just a visual thing. It's nothing specific to any type of data that I want. However, they all do equal up to 100 when summed together. And I just thought that the end result would look pretty cool. So I figured out the different values for this array. Okay, so let's move forward. And let's create a variable called div and set this to D three dot select body. And let's set our width and height to window dot inner width and window dot inner height. Okay, so now we're ready to create our radius. And just like in earlier examples, we're going to use math dot min and input the height and the width and then divide that number by two. The next thing that we're going to do is create our color scale. So let's set this to a variable called color scale. And we're going to use D three scale, ordinal, and we're going to use one of D threes color schemes. So we're going to use D three dot scheme set three with a capital S for set. So D three dot scheme set three. And this is basically an array of colors. So just as we have done, let's bring up the peace sign example. Here, we set the array of colors. So it's the same thing that we're doing here. However, we're just using one of D threes color sets. Now that we have that, let's create our SVG. We're going to do this in the same way that we've done in previous pie chart lessons. So we're going to basically only translate it by the width divided by two and the height divided by two. Okay, so now we're at the point where we can start creating our pie generator. So we're going to set this to a variable called pie. And what we're going to do is use D three dot pie. And the value is going to be obtained from this data array. And each of those data elements is going to be our value. So we're just going to use D, being that it's an object where we have to use D dot, and then the corresponding attribute of that object, we're just using these numbers. So all we need is that number itself, which is D. And then of course, we are not going to sort this. So we're going to set the sort method to have a parameter of null. So before we move on and create an arc, let's actually talk about this because we may have to do something a little different because of all the different features that we're putting into this visualization. So one of those things is we want each of the arcs to actually pop up in order. So that means we have to have a starting point. Remember, we want to transition from nothing basically into this fully rendered arc. So we have to include a zero point, so to speak. And being that we're dealing with a pie chart, we're going to have to create an arc for that. How about we create a zero arc? We're just going to call it that zero arc. And basically, this is going to be the arc that everything begins at. It's zero point. If you remember from our lesson on transitions, we have point A and point B, and we're going to transition from point A to point B. Essentially, this zero arc is our point A. So we're going to use d3.arc. But then we're just going to set the inner radius to zero, the outer radius to one, and the corner radius to one as well. And we'll get to the corner radius as we move on in this lesson so you can see what that does. Okay, so now that we have this point A, let's create our point B. We're going to call this arc. And we're going to also use d3.arc. And basically, this arc is what we would have just created if we were not doing some sort of transition. So this would just be the arc with the outer radius and corner radius being the radius that we had set up here. We're also, though, going to use inner radius of zero, because we don't want this to be a donut chart with the center hollowed out. So let's set the outer radius to the radius that we had defined above, and then also the corner radius to that as well. Okay, so now that we have that arc, let's move on with our arcs and create a hover arc and a label arc. Because we already know that we're going to add a mouse over event and a mouse out event, we need to create an arc for that. So just as we did in monthly bills with a hover arc over here, we're going to do the exact same thing. So let's create that right now. We're going to call this hover arc. And again, we're going to be using d3.arc. We're going to set the corner radius to zero and the outer radius to the radius that we had set above plus 30. And we're actually going to do the exact same thing with the corner radius. Okay, so now when we have a mouse over event, the arc itself is going to grow. We're going to transition from this arc into this arc. Finally, the last arc that we have to create is our label arc. This is for where we're going to place our labels. So we're going to get the centroid of our label arc. So let's create a variable called label arc and set this to d3.arc. And then we're just going to have an inner radius and an outer radius. So the inner radius is actually going to be our radius divided by 1.4. And then our outer radius is going to be our radius. Now I have set this to radius divided by 1.4. However, if it's not in the position that we want it to be at, we can always adjust this number. I'm just putting this in here for now. Okay, so now we're finished creating our arc generators. The next thing that we need to do is create a variable called g. And this is where we are going to basically render our arcs. We're going to get the SVG and select all dot arc. Okay, now we are going to give it our data. We're going to use our pi function and give it our data that we defined up here. Next we're going to enter and append a g element. And then finally give it a class of arc. As you could see, almost everything with the exception of the fact that we have multiple arcs is basically the same thing that we have been doing in the other lessons on pie charts. So now let's append the path. We're going to get access to this group element and append a path, and then set the d attribute. And we're going to set that to the zero arc. Now why are we setting that to the zero arc? Well, like I said, we're going to be transitioning from a point a to a point b for our arc. So we have to start at the zero arc. And then in a moment, we're going to add a transition and then reassign the attribute d to arc. So we're starting here. And then we're going here. We're setting it to zero arc. And then now let's add a class as well and call that arc. Now let's adjust some styling. So we want it to have a fill. And we want to use that color scale, right? So we need to access the data and the index of the data. And then use the index as the parameter to our color scale. We're also going to set the fill opacity to point seven, and the stroke width to five. Next, we're going to set the stroke. And that's going to be the same color that we have set the background. So I'm going to go to crazy pie chart CSS, and just copy that color. So at this point, we're going to put our event listeners. So just as a reminder, from an earlier lesson, we're putting our event listeners first. And then we're putting our transition of the d attribute. And if you don't remember, it's because if we put the transition first, then when we add those event listeners for mouse over and mouse out, we're actually going to be adding the event listeners on the transition itself. And that's not what we want. Okay, so let's type on and mouse over. Let's just set this up. And then we're going to copy this and change mouse over to mouse out. Okay. So what are we updating on the mouse over, we're updating the fill opacity to be one. And then we're transitioning the d attribute to be the hover arc. That's why we created the hover arc. So d three dot select this. And now let's adjust the fill opacity to one, and then create our transition. How about we set this duration to 500 milliseconds. And then finally, let's adjust the d attribute to be the hover arc. And really, that's all there is to it for the mouse over, we're just going to copy that over to the mouse out. And then return the fill opacity to 0.7. And then instead of using a hover arc, we're just going to go back to the regular arc. Finally, we're at the point where we can add our transition of our normal arcs as they are first rendered to the regular arc instead of zero arc. Remember, this is our point a and then this is going to be our point B. So we're going to transition over a duration of one second or 1000 milliseconds. How about we add a delay? So delay. And we have access to D and I, which is the index, and we're going to do it in order. And I'm just going to multiply that index number by 300. And finally, let's set our point B. So we want to change the d attribute to arc. So how about we go back to the browser, refresh the page and make sure everything looks correct. Awesome. So let's see if our hovering works. It does. Cool. So the only thing that I would want to change here is I think it's the radius. So let's multiply this by 0.9. Make it a little bit smaller. Let's see if that works. Okay. So now it fits a little bit more nicely in the screen. So as you could see, we have our hover arc when we do a mouse over event.  So how did we do that? Well, this is because of our zero arc, and then transitioning into our arc. So let's go back to our code and analyze what's going on to end up making what we just rendered here. Let's run the animation again. Here is where we actually are able to do this type of growth in our arc via this transition right here. So let's first comment this out and see what happens if we don't include that. Okay. So nothing is there. And that's because we just have this zero arc. And just as the name implies, with the outer radius as one, the corner radius as one and the inner radius at zero, it's really not going to display anything at all. Let's then change this zero arc to just arc. Let's see what that does. Okay. So now we just see the point B side of the transition. So in order to create that transition from the blank page to this end result, we then transition it. And this being our starting point. And then finally down here, when we set this D attribute to arc being our ending point, we get the following. Okay, so I hope that's clear about how it's being done, how it's coming up from a zero all the way to the current arc. And of course, we know how the event listeners work, we have a mouse over, and we're just creating a transition, which is transitioning the D attribute to a different type of arc. So with that, let's create our labels. We're going to use the label arc for that. So let's go down here and create our labels. What we're going to do is call this text, and we're going to get the G element and append text. We're then going to transform and just as we did in monthly bills, I think, yep, just as we did here, we're actually going to do the exact same thing. We're going to transform by the centroid. However, let's copy this over really quick. We're not going to translate the arc centroid. We're going to translate the label arc. So let's actually see what happens if we use this one. It's not going to break. It is going to technically be correct. However, I want it to be placed a little bit more towards the edge. Therefore, I want the arc to be a little larger. And that's why I created a different arc for that. However, like I said, this is technically correct. There's nothing wrong with that. We're just creating a different arc for a different size. So with that being said, let's adjust a few things. First, let's set the text. So we get access to our data. So we can actually just set it up as so d dot data. And we can put a percentage here if we want. Also, let's adjust some styling. Let's adjust the font size. We'll set this to how about 24. We're also going to adjust the font family. How about we'll change it up. Try cursive. The fill. We'll set that to white. The fill opacity to one. We'll set a text shadow. And we'll set that to two pixels, two pixels, and then zero E zero B 16. And then a text anchor. We'll set that to the middle. Okay, so that's all that we need for our text. Let's refresh the browser and see if it renders. Okay, so as you can see, we have our labels now and they're over our arcs. Just as I mentioned before, this is a fine placement, and there's nothing wrong with it. And we could use the regular arc if we wanted to. The reason that I created label arc is because I actually want them to be placed elsewhere. I want them to be placed a little bit further out. So if you actually prefer the way it looks now, you can erase label arc and you'll be fine. I'm going to use label arc. And let's see what that looks like. Okay, so now it looks like they're way more towards the edge of the arc itself. It's almost like the labels are sitting right at the edge of a flower pedal. The only other thing that I would like to do at this point is a small transition of the text. So let's set the fill opacity to zero instead. And let's actually create a transition here. Let's have it go over a duration of three seconds. So 3000 milliseconds. And we're going to give it the same delay that we have here. And then the only thing that we're going to change here is the fill opacity. And we're going to set that to one. So now let's refresh the page and see what happens. So now we're waiting for the arcs to end up being rendered fully. And then the fill opacity is being transitioned from zero to one. And that's when we're seeing the labels. I didn't really like it when you saw the labels before you saw the arcs. So I decided, let's add a little bit of a transition so that you only see the labels once the arcs are actually rendered. So before we end this lesson, let's quickly go over the corner radius. Just as it is called corner radius, this affects the radius of the corners of the arcs themselves. So we're setting this right now to the radius itself. What if we set it to zero? Let's see what happens. Okay, so by setting it to zero, we get a very normal looking pie chart because we're not curving the radii of the corners of the arc itself. If we set it to something like 30, it'll be a little bit more exaggerated but not by much. Something like this enables you to add a little bit of styling into what would normally be just a plain pie chart. Now when I was first creating this lesson, I thought it would be really cool to create something just wild looking because oftentimes when you're looking at a very wild looking data visualization, you don't realize that maybe that was achieved very, very simply. So really, you're setting a pie chart. However, you're adjusting the styling of the corner radius to be exaggerated. So if we put it back to radius, you're going to see that now it looks like essentially flower petals or something like that. So that's all I have for you for this lesson. I'll see you in the next lesson. Hey everybody, welcome to D3JS from Beginner to Understanding. My name is Nicholas Gaddy and I'm the instructor for this course. First, let me introduce myself before we go over what this course is all about. I work as a full stack web developer at an educational technology startup and I've been using D3JS for over four years. I generally program in JavaScript, PHP and Python. However, recently I'm also learning a little bit of Haskell and C. Other than technology, I have a degree in music composition and I compose music for films. I also play guitar and piano and I really love coffee. So what is D3JS? D3JS is a JavaScript library for manipulating documents based on data. With D3JS, you can create beautiful data visualizations with smooth transitions and interactions. What is the goal of this course? Well, this course is intended for beginners. We go step by step over small features in D3 so that when we are finally ready to build a data visualization, you will have already learned the bulk of what you need to know. While we will be creating many charts throughout the course, the goal of this course is to teach you how the many small pieces work and why they end up creating the visualizations that they do when put together. We focus on the small pieces and work through them independently of a data visualization. The ultimate goal here is to bring you from beginner to understanding. What will you learn? Well, first, we're going to learn what a data visualization is and how to make a great one. We're then going to set up D3JS in Node and create a simple web server with Express. We're then going to talk about selections and data joins. We're going to go over a brief introduction to the selections and data joins and how they are used in D3. Next, we're going to get introduced to SVGs and learn what you can do with them. We also go over shapes such as lines, circles, rectangles and ellipses and create them with and without D3JS. Moving on, we learn more about shapes from circles to lines and we learn how to utilize D3 to create a collection of shapes and work our way to eventually creating charts. Next, we're going to talk about transitions and easing. Once we know how to create some basic shapes, we're going to add transitions and also talk about the different easing functions D3 has to offer. Next, we're going to learn about events. Learn how to add event listeners and callback functions to your elements in D3. We mainly go over click, mouseover and mouseout events. However, we also touch on the change event. Moving forward, we talk about some common scales. In this section, I introduce some of the common scales you'll see in many visualizations such as the linear, ordinal, scale band and time scales. Finally, for the remainder of the course, we combine the pieces that we've learned so far. This is where we find out how the small pieces, when combined, create interactive data visualizations. So, what are you waiting for? Let's get started.


IMC is the new course the Marine Corps has developed to replace the legacy program in order to allow a more flexible and more independent marine from the beginning stages of their career. The marines that we have now with the IMC Marine Corps, they are smarter and they're faster. When it comes to dealing with technology, this is what this generation of marines, they do best. They are way smarter than when I came through SOI, there's a smarter IMC Marine. I think that it's going to make the individual infantry marine more lethal, being able to employ not only his rifle, but the Maus, the Javelins, anti-armor systems, grenade launchers, more stuff like that. So I think the individual marine is going to be way more lethal than it has been in the past. For the future of the infantry, I think it will affect it positively. I have marines now that can take on or use anti-armor weapons to take on armor. I have marines that can use machine guns now that can again support the defense, support the attack, support the patrols, they can pretty much fill any role, almost any role in an infantry weapon.


Welcome to emergency medicine video. In this segment, we will approach headache. We will discuss both the common and the must-not-miss causes of headaches in the emergency department. We will divide this into inside the brain and outside the brain. We will discuss inside brain first. We will further classify the inside the brain reasons based on the structures. What are the different structures of the brain? There are blood vessels, both arteries and veins. There's the brain parankama itself and what surrounds the brain, the ninjies and CSF. Our causes will be based on each structure. First, we will start with blood vessels. There are both arteries and veins in the brain. What can happen to that that can lead to headache? Bleeding from a rupture artery either into the epidural space, subduro space, subarachnoid space. The artery can also go into vasospasm causing migraine. Let's move on to the veins. What can the veins do? It can clot or also known as cerebral venous thrombosis. Let's move on to the brain parankama. Any space occupying lesion in the brain parankama can lead to headache. They include blood, abscess or mass. Let's move on to outside with the CSF and meninges. With CSF hydrocephalus, an intracranial hypertension also known as pseudotumus cerebrae can cause headache. In the ninjies, infections such as meningitis and encephalitis can cause headaches. What about outside the brain? TMJ dysfunction can lead to headaches. So can an inflamed temporal artery also known as temporal arthritis. In the eye, acute angloclosure glaucoma will give people headache. Sinusitis can cause headaches. Going further down, tension headaches can be caused by tight muscles from the neck and shoulders. An external cause that we often forget is carbon monoxide poisoning. These will be the most common causes for headaches that's caused outside of the brain. Out of the ones we've discussed, which ones are the must not miss diagnosis? Inside the brain, almost all the diagnosis are must not miss. Therefore, it includes bleeding, thrombosis, space occupying lesions, infection and intracranial hypertension. Outside the brain, we must not miss acute angloclosure glaucoma and temporal arthritis because it can affect vision. The last one that is a must not miss is carbon monoxide poisoning. In summary, we discussed the causes of headaches. In part two, we would discuss the high yield history in physical. Thank you for watching.


In this video I'm going to introduce you to a new term which describes the part of chemistry that allows us to make quantitative predictions about chemical reactions. The term is Stoichiometry. It was coined in the late 18th century by a German chemist called Jeremiah Richter, who about a decade before Dalton published his theory of atoms, did some significant work on how chemicals react in fixed proportions. He took the Greek word for element and the English suffix metri, meaning measurement, to give Stoichiometry and called it the art of chemical measurement. So Stoichiometry is the calculation of quantities in chemical reactions. For instance, if I take a hypothetical reaction like this, A reacting with B to give C, Stoichiometry lets us ask, I have 5 grams of A, how much B do I need to react with it, and how much C is going to be produced? Before we get into how this is done I have to remind you that all of this is based on the law of conservation of mass, that matter cannot be created or destroyed. In a chemical reaction we cannot create or destroy atoms, we can only rearrange them. So whatever atoms you start off with you must end up with exactly those atoms, no more and no less. This is the idea that lies behind the balancing of equations. Whatever number and type of atoms are on the reactant side, that's the exact number and type of atoms that must be on the product side. So here for instance you can see that we need to balance this equation because it looks like one of the two chlorine atoms on the left vanishes during the reaction. What that actually means is that it's impossible for one sodium atom and one chlorine molecule to give exactly one unit of sodium chloride. Instead by balancing the equation like this we find that what actually happens is that two sodium atoms react with one chlorine molecule to give exactly two units of sodium chloride. Now in its simplest form this equation means exactly what I just said, two sodium atoms react with one diatomic chlorine molecule to give two units of sodium chloride. But there's no reason that we can't scale it up. We could double it, four sodiums would react with two chlorine molecules to give four units of sodium chloride, or 100 atoms of sodium could react with 50 chlorine molecules to give 100 units of NACL, or to go to real life quantities two moles of sodium atoms could react with one mole of chlorine molecules to give two moles of sodium chloride. The big numbers in the balanced equations are called stoichiometric coefficients like the coefficients in algebra and they have the same function. They tell you how many you have of the thing that follows. More specifically the stoichiometric coefficients tell us in what ratio these chemicals react and are produced. But, and this is important, the ratio relates to numbers of atoms or molecules, or to moles of atoms or molecules if we go large scale. It does not relate to mass. Let me illustrate. Let's assume that we have two moles of sodium and one mole of chlorine gas and we react them together and they produce two moles of sodium chloride. How much would each of those quantities weigh? Well if we check the periodic table you'll see that sodium has a molar mass of 23 grams per mole so two moles of that would weigh 46 grams. Atomic chlorine has a molar mass of 35 grams per mole but chlorine is diatomic so the molar mass of chlorine gas is 70 grams per mole. And if we have one mole of that it'll weigh 70 grams. The product, the molar mass of sodium chloride is 58 grams per mole and we produce two moles of it so the mass produced is 116 grams. Alright firstly let's check that we haven't broken the law of conservation of mass. You can see that we have 116 grams of reactants in total which equals the mass of the product so that's okay. But now compare the masses to the stoichiometric coefficients. The chemical equation shows a one to one ratio between the sodium and the sodium chloride meaning for every two sodium atoms two units of sodium chloride are produced. But look at the masses. We used 46 grams of sodium and produced 116 grams of sodium chloride. This clearly doesn't obey the ratio and the reason is that different atoms weigh different amounts. Sure if you use two sodium atoms you'll be able to produce two units of sodium chloride but the sodium chloride is heavier. It has a whole extra chloride ion attached per unit. So remember the ratio of the stoichiometric coefficients represents the mole or molecule ratio not the mass ratio.


This is a really good one because we see something entirely different. Remember I said there's messaging of authority, pushed back, putting your hand to your mouth as you think. Chin up, chin's not up, brow. See that grief muscle? That grief muscle we associate with sorrow, grief or something very negative. And it's pronounced in her forehead now.  She's not angry. Suddenly the demeanor is different. What I can tell you is by watching her here there's a massive baseline change and she loses the ability to answer a question in that angry, pushy, aggressive back direction she did. When she's asked, how did you pay? And you can see her face has got that kind of rigid, stony look that she says however it's paid. How many you paid? That's a dumbest answer I heard in this entire thing. So it makes me feel really uncomfortable that when we're talking about these masses of cash she had now we've got a different answer than anything we've seen in the rest of these videos.


My name is Mira Helman. I am a gynecologic oncologist here at Hackensack University Medical Center. My role here is a gynecologic oncology surgeon, which means I do surgery for gynecologic cancers such as ovarian cancer, uterine cancer, cervical cancer. So I've had the privilege of working at the Cancer Center for a couple of years at JTCC, and I think JTCC is unique in the fact that we're a family here and we treat the patients like a family. We have a representation from just about all oncologic services and we all speak to each other. No one is in a separate unit. No one's in a bubble. No one's isolated. We really, really, really focus on individualized care for the patient, starting from the time that we meet them, going over the diagnosis, outlining a plan of care, down to individualizing the management, whether it's based on the person's personal history or medical history, or actually their cancer type, looking at their molecular profiling and individualizing the treatment to the specific, not just type of cancer that they have, but the specific blueprint of the cancer that they have. I am always excited to come into work. The environment that I work in is a supportive environment, both for the patients and for the doctors and the staff. We provide the highest level of care to all of our patients. We try to accommodate the patients on any which way that we possibly can, whether it's convenience of appointments, whether it's speed of appointments, providing them the latest and greatest in the advancements of fields of gynecologic oncology. We also have an excellent support staff that supports the patients both emotionally, socially, tries to accommodate them in every possible way and provide them the support that they need to get through the treatments that they need in order to get better.


Welcome to the Geotechnical Engineering Podcast, a podcast focused on helping geotechnical engineers stay up to date with technical trends in the field. I am your host, Jared Green, and I've been practicing as a geotechnical engineer for over 17 and a half years. In this episode of the Geotechnical Engineering Podcast, we'll be talking with none other than Dr. Kanchipuran Gunalan, also known as GUNA. GUNA is the American Society of Civil Engineers, ASCE, National 2020 President, and he's also a Senior Vice President at the firm AEcom. I'll be talking to GUNA about his career in the geotechnical engineering field and also about his time as the ASCE President. Before we jump in, let me remind you that you can find everything you need related to the Geotechnical Engineering Podcast at the following website, geotechnicalengineeringpodcast.com. There you'll find all the past shows as well as links to subscribe to the show on Apple Podcasts or wherever you listen to podcasts in a form where you can submit topics and guest ideas. Again, that's geotechnicalengineeringpodcast.com. And please, if you've enjoyed the show, please consider leaving a review on Apple Podcasts, as doing so will help Geotechs find the show. Now it's time for a conversation with our ASCE National President. Welcome everyone to the Geotechnical Engineering Podcast. We are glad to have the ASCE National President, Dr. Kanchipuran Gunalan, also known as GUNA. GUNA, thank you for being here with us. How are you feeling? Thank you and thank you for having me. Yes, feeling great. Excellent, excellent. Well, we know that your time is precious. I know that we've been inside a lot. We gave you, we gave the introduction and bio earlier today, but if you can help us out in your own words, let the listeners know a little bit more about yourself and what you do on a daily basis at AEcom and also for the American Society of Civil Engineers. Okay, as probably most of you know, I was born and raised in India. And my given name is Gunalan. I go by GUNA for short. Kanchipuran is the native town where the family hails from and the middle name is my father's name. Come from Southeast India. And as I said, I was born and raised in India, got my undergraduate degree there, got my master's degree there before I decided to pursue my PhD here in the United States at Texas Tech University. I came to Texas Tech in 1982 and graduated with a PhD in civil engineering with emphasis in geotechnical and structural engineering in 86 and worked for a small geotechnical material firm called testing in Lubbock, Texas. Got got my feet wet there for about eight to 11 years there and then moved to the Pacific Northwest because I wanted to explore the Northwest and also hone in on my technical skills and earthquake engineering and so on. So came to Utah and worked with the company, which was then called Chen Northern, then changed to Huntington and then changed to Maxim Technologies. Now I believe it's part of Tetra Tech. And while I was there, I had the opportunity to go market the services to Parsons Brinkerhof and while I was having lunch with the area manager and upon returning from the lunch, and I was making my notes and then realized that maybe he was trying to make me a job offer. So I called him back and asked him what was he trying to do? And he said, yeah, you're so busy trying to sell yourself in your company. I didn't know how to interject. And I asked him what the opportunity was and he explained it to me. It was one of the largest design build projects at that time in the country called the I-15 Reconstruction which was being rebuilt as a prelude to the Winter Olympics in 2002. So after I talked to him for a little bit, seemed like an exciting opportunity. It was tough to leave the folks, leave the firm and make the switch, but came to PB to help with the big design build project, develop the first of its kind performance specifications for the geotechnical pavement, hazardous harmful materials and so on, took on the reins as an engineering oversight manager and the PM for Parsons Brinkerhof on the project supporting the DOT. And then I always tell people my first love is geotechnical engineering. And my second love is alternate delivery, which is design build, public-private partnerships, CMGC and so on. And that's how I got into the alternate delivery business. And I stayed with Parsons Brinkerhof for almost 17 years before I made the switch to AEcom. Currently serve as a senior vice president at AEcom with alternate delivery in the transportation business line, sharing best practices, lessons learned, helping with the capture of major projects around the country and in Canada and supporting the execution team with the things that they need on an ongoing basis. More recently I was asked to help with the project in Texas related to geotech. So they still allowed me to stick my nose in some of the geotechnical aspects of projects, which is where my heart is and I enjoy doing that. But I've been come to know as somebody who manages large programs and projects and that's what I do for AEcom. And AEcom has also been very supportive and encouraged me to pursue the office. And I ran for the office a couple of years ago and was fortunate to be elected and currently serve as the ASC's president, managing the volunteer side of the business, supporting the organization and doing a lot of things for our members, the profession. And during this time, the things that I've been busy with is lighting letters to legislators, to the president, to the speaker, and others about how making the investments in infrastructure makes sense, especially during these hard times to help us come out of this pandemic, you know, and have the economy rebound in a way that's going to benefit a number of folks, not only in our industry, but the country's economy as a whole. So that's kind of a brief nutshell as what I do for AEcom and ASCE. That's awesome. I don't know what the secret is, how you're able to keep up with all that.  It sounds like a lot. Do you have a secret for 25 hours or 26 hours in your days that I don't know about? Yeah, it takes a lot of time, but as I always tell, you know, a lot of help, a lot of people help make this thing easy for me. So I have a lot of support as well. So without which, it would be a tough choice and tough to deal with on a day-to-day basis, but it's been a pleasure and a privilege. That's awesome. Well, we thank you for your service and I guess there's really power and having a good team, so it's awesome to hear that. And I heard you say that Geo-technical engineering is your first love. Tell us more about that, that first love. As I said, I graduated with an undergraduate degree, a five-year program in India in one of the oldest civil engineering schools in India called the Survey School of India under the British. It's over 285 years old now. And then at that time, my father, who believed in good health and education to sustain one through life, encouraged me to pursue a higher education. So the choice was then where the first choice in India was once you finish, either get into structural engineering. The second one was Geo-technical and then, of course, the other disciplines fell behind those. Structural engineering was being computerized at that time. So when I started looking around and I said, well, given my personality and my desire, you know, wanted to see what was offered through the then called Soil Mechanics and Foundation Engineering. So I thought that, well, it's not going to get computerized. You still need to have some kind of experience and knowledge and use your common sense pragmatic approach to solving engineering issues. So I thought, maybe this is the field that I need to think to make sure that I continue to stay gainfully employed through my career and also contribute to the profession and into the infrastructure industry. So that's kind of where I made the choice to go into Soil Mechanics and Foundation Engineering. Unfortunately, for me at that time, the department was not very big and it was headed by one Dr. Sargunan, who was a graduate from UC Davis. And my master's thesis advisor was Dr. S. V. Ramasamy, who was a graduate from Purdue. So the system was set up like the American system in the department, which was different from some of the other departments. And that's when I was doing my master's research, I got exposed to using the geotechnical journals, ASE's Geotechnical Journals as references and so on and so forth. So that kind of exposed me to not only to the outside world, to all the stuff that was being done in the field by some of the icons in the industry at that time, and also to brand ASE. So that's kind of got me engaged there. And so once I graduated, I stayed on for a year as an associate lecturer taught the Soil Mechanics Lab and did some consulting and things, because I wanted to pursue my PhD overseas. So that's kind of where I got my feet wet, got exposed. Unfortunately, they had the curriculum set up such that we had two year program of which three semesters, which is 45 credit hours of nothing but geotechnical engineering courses. So when I pursued my PhD at Texas Tech, they didn't have enough courses in geotechnical engineering to offer. So I started taking a lot of structural engineering classes as well when I came to Texas Tech for my PhD to fulfill my credit requirements and stuff. But I also decided to keep my whole PhD program mostly technical. So my major was in geotechnical structures. My first minor was in geosciences. And my second minor was in soil science. You know, at that time, everybody was saying, well, why don't you get a minor in business or computer science or something else? I said, well, the best place to get your technical background is within the four walls of a campus. So I said, let me get all of that there, because some of the other skills I can always pick up as I start to get into the industry and stuff. So that's kind of how I did it. And so yeah, I've done clay mineralogy, remote sensing, soil suction, and all kinds of things during my PhD program. So that is my exposure and background from a geotechnical engineering perspective. You know, a lot of geology as well, to have that kind of a background. So that's awesome. And I can I can tell you love it. Yeah. Talk about I can tell you love it. Yeah. Now when you think about your career, it seems that you had many opportunities. And I assume some of these were created by you and others were presented to you. But can you talk to about, you know, some of those opportunities and how you approach them? Basically, as I said, as soon as I graduated, I worked with a small firm. I got to work behind a drill rig, worked with the soils lab, learned a lot of material testing. I've done my fair share of concrete cylinders with a sulfur cap. I've done a lot of asphalt testing. I've done a lot of nuclear density tests. I've even done the water balloon, the sand cone, you know, got got all of that exposure very early on. And then I decided to say, well, I needed to explore the Northwest part of this country. And so I said, you know, let me move. And so left Texas because it was pretty well established. And it was a good practice. And wanted to get a little bit more exposure on earthquake engineering and stuff. So I came to Salt Lake. And but unfortunately, I wanted to focus more on the technical side, but they said once you had some management background, you know, you're not going to be able to shed that off. So I was immediately offered a manager of the engineering department. And within six months, I became the regional manager for that firm Chen Northern here in Utah. And and and so, you know, I still tried to keep my technical interests going. So the thing that I did was I was continue to keep going to conferences, writing papers, presenting stuff.   And I never turned down an opportunity. Because you never know opportunity, they say, maybe knocks once but may not knock always twice. So I never turned down an opportunity. I've always volunteered both both ASC and at work to when somebody offers me an opportunity to do something, I take it as a challenge. I learn I stumble. And so far, I've been fortunate that nobody has thrown me out. And so it's always that's my advice to a lot of folks is, you know, take the opportunity because it is never a wasted moment. You always learn something. You know, every experience teaches you something. So that's a philosophy I've shared with my children. And, you know, that's what I would like to share with anybody else. Even the field experience, you know, I spent a lot of time out in the field, working with the drill crew in remote parts of the country when I was from Texas, I worked in Oklahoma, Kansas, Nebraska, we had to rig up things to do washboardings and stuff. So we did it, you know, in a very creative way with whatever was available out in the woods and so on.  Yes, it's frustrating sometimes. But, you know, at the end of the day, when you look back, I have very fond memories, I don't have any bad experiences that I can share with anybody. Wow, these sound like great recommendations for our listeners, geotechnical engineers that are, you know, trying to better understand what their craft is. It sounds like you're saying get field experience, move around where you can, see different parts of the country in the world. And I assume that these actions together were critical for your success. Absolutely. Even more recently, even as I was managing some of the captures of large programs and projects, I had the opportunity to work in Canada. So, you know, as geotechnical engineers, you learn about frost heave. But you don't really experience it till you get to some of the cold regions, okay, and get to see some of those things. When you get to Edmonton and other places, you need, you can physically see what those kinds of things, ravages it creates to the payments and some of the structures and stuff like that. So, you always learn something new. So, even when I'm managing large projects, always look for opportunities, you know, the things that I can learn. So, I'm still learning. I'm still, I'm still a millennial in my head, I've been at all time to figure out what I want to do when I grow up. Awesome. Well, that's why some people say that's why we call it practicing geotechnical engineering. Yeah. So, we heard earlier in your bio that you have a clear vision for reaching out to younger generations of engineers.  Can you tell us more about, you know, where these convictions came from and also what your vision is for the future? Back home in India, there's, you know, I shared this in my inaugural address, you know, I always say, you know, when you look back on your career, you always do identify there were a number of folks who helped you to get to where you are. And without the help and support of a lot of folks, you know, family, friends, mentors, peers, colleagues, you wouldn't be where you are.  What is it that you want to be remembered for? And what do you want to leave? You need to turn around and figure out what can you do to give back to the profession to the next generation? And are you going to be able to leave this profession, this society in a better place than when you got here? So that's why I always say, you know, the sustainability of any society, organization, whatever the entity might be is dependent on how good the next generations coming through are. And especially in our field in geotechnical engineering, as it's a lot based on experience, you know, your hands on stuff, you know, you need to be able to share that wisdom with the folks so that they can do better things as they come along. So I always look to see what can I do to share my knowledge and experience, good or bad, you know, with the next generation, so that they can be better professionals, contribute, you know, to bigger and better things than I was able to. So I always tell people, I'm very passionate about civil engineering. I'm very optimistic. And I think the future is very bright. And I tell people, I said, this is a great profession. And I see a lot of potential and opportunity, simple things. Everybody thinks about payments, right? It's a simple payment stuff.  But if you look at the future, I think this payment is going to house a lot of technology to harness energy, to transmit energy for electric vehicles, continuous charging, you know, a lot of stuff is going to go into that small domain of a payment framework. So civil engineers need to get hold of that domain and understand not only what makes it function well from a civil engineering perspective, but all the things that can go into it and still continue to serve its intended purposes so that the future is better. And we are also supporting other technologies for mobility and so on.  So the one question that I asked the geotechnical engineers is, well, if you're talking about a floating city, what's the foundation of a floating city? How do you anchor these things in the middle of an ocean? What are the challenges that a geotechnical engineer needs to be aware of? Things that he needs to do differently, learn today to be able to meet those challenges of tomorrow. So even when I served on the Geo Institute Board, my question to the folks was, what are we going to be doing five years from now, 10 years from now, as geoprofessionals, geotechnical engineers? We need to be start thinking in those directions and get the people prepared to not only compete on a global platform, but to be also to meet those challenges that's come in our way. Wow. Now, you're absolutely right. You're absolutely right. And I think that the key is really engaging those younger engineers, those bright minds. And when we start to think about these younger generations and the future, how can outreach and mentoring benefit geotechnical engineering? Because some people think they're too busy to mentor. What do you say to those listeners? Well, they may be, but at the end of the day, when you look back, you need to make sure that you left it in good hands. So the only way to do that is to be able to share your knowledge and experience. As I said, our profession, geotechnical engineering has a lot of stuff. If you talk to our founding fathers, Kara, Sursagi, or Ralph Beck and others, it's all about observational type of a deal. It comes from both theory and observation and experience. So all that needs to be shared. And a lot of that stuff, if you don't transmit it from generation to generation, you're going to find yourself in a pickle because there is going to be a gap and there's going to be a learning curve and we won't be able to make the progress that we need to to be more effective. Got it. Now, four years ago in 2016, you were awarded the ASCE Professional Practice Ethics and Leadership Award. That's a really big deal. Congratulations again. Thank you. What did you have to do to achieve such an acknowledgement? Early in the industry, our industry is known. So one of the things that I learned is close to 500 million now, it's probably 500 billion. And if you look at the global expenditure on infrastructure, it's in the trillions. A lot of money is wasted in bribery, corruption, and fraud. So early in my career, I got exposure to some of these challenges that's being faced in our industry and I was not very comfortable. And so I've had these conversations with a number of folks. And one of our former presidents, Bill Henry, who was a champion for this cause, he took this on as his presidential platform and he had a group called the Global Principles for Professional Conduct. And we generated a video training material called Ethicana that talks about corruption, bribery, and fraud. As civil engineers, we are all guided by the code of ethics and we need to make sure that we have zero tolerance for bribery, corruption, and fraud. And so I took on the challenge and they're looking for somebody to lead that group. So I chaired that committee for a few years and then it morphed into a committee on ethical practice, chaired that for almost six years. During that tenure, I had the opportunity to work with and provide some commentary for the folks at the World Bank, Integrity Division. And I also got involved with the World Federation of Engineering Organizations Anti-Corruption Committee. So I chaired, served as the national vice president for North America for them. You know, some of the lessons learned and, you know, transparency international and so on. So there are a lot of those kinds of things. And had a number of training sessions at ASC conferences, you know, had a lot of presentations and so on. So they were kind enough to recognize my contributions to the committee, to Etikana and other organizations and thought that it was appropriate to recognize me for my contribution. So that was very kind of them and I was honored to be considered, among others, who received similar awards and recognitions. Wonderful. Congratulations again. Thank you. So Guna, before our end segment, a quick question for you. What excites you about geotechnical engineering today and in the future? Some people look at things as challenges, you know, as programs and projects get bigger and more complex. I know that always comes down to, you know, the risk. And so the risk is always of the unknown. And as much as a lot of people say, you know, well, we probably know what we need to be doing and so on, it still comes to all geotechnical engineering is local, experience is local.  While we go about building, you know, we're building much bigger, taller buildings, we're building more complex structures. We're trying to build this thing so fast. You know, there's a lot of things out there that brings that one needs to bring to bear on those types of challenges, knowledge, experience, and ability to collaborate and work with others. So I still think there's a lot of room and a lot of growth in our profession as much as people may think that, you know, yeah, we have done this before and we have a lot of information and we can do this and still people take it and then find themselves in trouble. So I still think the field is still open. There's a lot of opportunities for innovation. There's a lot of opportunities for exciting things. So still work to be done, needing our day to day demands. While we start thinking about how do we use the tools and technology to do things faster, do things better, and make it more cost efficient, because we're talking about reducing the cost of infrastructure by 50% by 2025. And I believe that majority of that contribution could and should come from the geotechnical engineering personnel on a project or a program. I think that's where a lot of people throw a lot of money and, you know, for no reason. I also tell people that, you know, we always feel comfortable because we have been driven to that because of risk and fear of litigation. We throw in factors of safety. You know, I generally tell people if you're going to do something and have a factor of safety greater than three, you can get a monkey to do it. You don't need a geotechnical engineer to do it. So that's where the engineering and ingenuity comes in. And that's what we need to do. I always tell people it's not about what you say. It's how you say it. We need to find a way to work with people, find not only a seat at the table, but a voice. And so I always encourage people to say, don't feel bashful. Don't be overly conservative and don't say that I'm not going to take any risk. Then as I said, you know, if you're not willing to take the risk, then they can get a monkey to do it. So let's make sure that we do what we are trained to do. To use our ingenuity, engineering knowledge, and be able to make sure that we are providing for sustainable and resilient infrastructure that's going to serve the next generation for the foreseeable future. So that's what we need to do, especially in today's time where the dollar doesn't stretch too far. We need to figure out how do you help the folks stretch it. And I think geotechnical engineers are the key to successfully stretching the dollar and making it go a long way. Excellent. What a great note. What a great note. Thank you so much. We're going to stick around. We're going to come back after a short break. And then we're going to ask Guna, our last question, and it's going to be about our career factor of safety. Please stick around. All right. Welcome back. It's time for our career factor of safety in segment. In geotechnical engineering, like many disciplines of engineering, it's important to incorporate a factor of safety into your design, which actually I guess just referenced. But with incorporating a factor of safety, can you also do that in your career? So today, of course, we're talking with Guna, who is the current ASCE national president. And our question is that, you know, you immigrated from India. And I understand that that means that you took on lots of risk and you had to deal with uncertainty. Yet you created an amazing career for yourself. What advice would you give for geotextor listening that may be forced to take on risk and deal with uncertainty? How can they have success in their careers and in their lives?   And we spent seven years trying to convince my parents because that was not the traditional way of how people get married in India at that time. My wife and I come from different backgrounds.   And they're two different, totally different languages, totally different scripts and two different backgrounds. So I took that leap of faith and, you know, got married to her before I came here. I was offered a teaching assistantship at Texas Tech at 650 bucks a month. And, you know, it was a three year stint.  And then I was told that the funding was running out. So I had to go seek a job. I was not too familiar and I went ahead and found myself a job in Dallas, Texas. And that's when the market was turning down. I realized it and I lost the job in three months. And then I had a wife and a child and no job, no financial support. I still had to finish up my PhD program.   And I had to commute from Amarillo, Texas to Lubbock, Texas every weekend, leave my wife and child in Amarillo come on Friday nights, work on my dissertation Saturday Sunday, go back home on Sunday night and start working Monday morning. And then ran into one of those situations with my dissertation where my findings were contrary to the belief at that time, this was industrial floor slabs where the concept then was if the loading was high, you have to increase the thickness of the slab. But my finding was now if your sub grade is, you know, sustainable and stable, then you don't need a thicker slab because of reversal of stresses at the stack and high loads and stuff. So the slab has to be thin and so on. And I was told that maybe I need to restart all over again with my dissertation. And I said no. And fortunately for me at that time, my advisor, Kent Ray was kind enough to listen to me and said, okay, add those two as two additional chapters in your dissertation. And maybe we can see if we can convince the committee to let you graduate. So it was kind of an interesting because back home you grew up with the philosophy that once you get to work for somebody, you stayed and worked for them for life. So, you know, for me to get a job and lose a job in three months and to be away from family and home with the wife and child to support no means of financial income and having to finish up my task of finishing my PhD and then move on. It was kind of interesting, but I kept my head down. But fortunately, my wife was very supportive and strong and she stood by me and we survived. So I always tell people, yes, when the going gets tough, the tough get going. That's the saying, right? So you just need to be focused and determined on what your objective and goal is because even when the choices were given to me about switching from a PhD to a master's and go get a job in Silicon Valley or do something else, my focus was here and I was bent on the PhD in civil engineering, in geotechnical engineering. And that's kind of what I wanted to do and I have the same advice for my children. You know, once you have an engineering background, you will do well in any career, whether it's in finance, whether it's in medicine or whatever, with an engineering way of thinking, you can never go wrong in dealing with life's challenges. So my son, he's finished his MD PhD, he's a biomedical, but he's also finished his MD because I told him, I said, even if you want to go into medicine, you'll be a good doctor or a better doctor with an engineering background. And my daughter's also got a double master's in biomedical too. So that's what I tell people, you never go wrong with any of those types of backgrounds. And you never waste any of those experiences. And you should be willing to take risks. You know, with risk comes reward. And I am here today because I was willing to take those risks. Not only with my, during my PhD program and with the job, then when I decided to move from Lubbock to go somewhere else to try something new, came here, the opportunity to go work for a large firm, one of the largest design projects in the country.  But at the same token, you have to have that balance of life and work and enjoy what you're doing. And as I've told my kids, you need to get up every morning and wanting to get up every morning and go do the things because you're passionate about it. Don't chase after money.  And guess who it's going to make, make, whose life it's going to make miserable, yours, not his, because he doesn't care, he's making more, he or she's making more money and having a better title.  And then you'll get there. So my thing is, you know, be optimistic, be willing to take some rest.  And I'm very optimistic, as I've said, I'm a fairly optimistic person. I think the future is very bright for our profession or our industry. And I think, you know, for generations to come, but the national, the global population growing, there's always going to be need for infrastructure. We're going to hit nine billion people. And there's going to be a lot of need for good infrastructure to improve the quality of life. So who better to do it than us civil engineers? And who better to build the foundation for the sustainable infrastructure geotechnical engineers? Even to that. Thank you so much. Guna, I tell you, if I wasn't a geotechnical engineer, I'd become one tonight. Thank you so much for coming on and for sharing such great insights with us. And we thank you of course for your service to the American Civil Engineers as the president. You've shared some great information for our listeners and some advice that's really going to help them and myself. The question I have is where can listeners find you? Are you on social media? Yeah, that's one of the things, you know, you're talking about mentoring, mentoring both ways. You know, my daughter, you know, she she mentored me, she got me on all the social media platforms. The first year she told me don't post anything without checking with me first. Now she thinks I'm mature enough to post on my own without checking with her. So in my hand is Gunnarlin KN at Gunnarlin KN. So you'll find me. I've got a web, they've got a web page. I'm on Instagram. I'm on Twitter. I'm on LinkedIn. I'm on Facebook. But one thing that I promised when I ran for this office, I said I won't tweet in the middle of the night. So deliberate because I'm respectful of the position that I hold. And I'm very careful and deliberate about what I tweet or post. So, but you can always reach me at kngunnarlin at gmail.com or k.n.gunnarlin.com. Excellent. Thank you so much. We appreciate all that you're doing. It's a pleasure and a privilege to represent all of you. Thank you for having me here this morning. I hope that you enjoyed the episode today. We would love to hear your feedback, your comments or your questions. Please feel free to go to geotechnicalengineeringpodcast.com where you'll find a summary of the key points discussed in today's episode, that being episode two, as well as links to any of the resources, websites, or books mentioned during this episode. Until next time, we wish you the best in all your geotechnical engineering endeavors.