Good. So Carl asked me to talk about how to look at a sale catalog. But quite frankly, if the first thing you do is look at a sale catalog, you're not doing this right. You need to start by thinking through what it is that you want. What do you want the bull to do? And different producers who think that they want to buy a bull have different answers to that, depending on what their situation is. And in general, you want a bull to sire calves that are going to be born in a timely manner. You want to be born easily. You don't want too many calving difficulties. You want them to grow rapidly up to weaning. And you want them to continue to grow rapidly and be efficient in the feedlot. And efficiency here, I'm talking about feed efficiency. You want them to grow rapidly without eating too much. And then in the end, you want them to produce a carcass that is lean and is of excellent quality. And so that's sort of the first set of things that you want a bull to do. But you know what? It may be that you also want to sire some replacement heifers. And so you want this bull also to sire daughters that are going to be pregnant to calf when they're two years old, are going to have a calf every year, are going to give birth easily, are going to wean a heavy calf, and then produce calves that will continue to grow, be efficient and produce a good carcass.  Well, that is a long list of things to think about before you go out to buy a bull. And depending on what your situation is, these different things on that list are going to be different in importance. It may be that you're looking for a bull just to sire calves and that you're not really that interested in keeping replacements. It might be that keeping replacements is the only thing that you're really interested in. It might be that you want to buy a bull to produce calves with first calf heifers. Well, then that changes the dynamics of what you're interested in. So before you ever start looking at a sale catalog, you need to sit down and as I said in my Stockman's Magazine article, you need to write a job description. What is it that you want the bull to do? Because if you don't know what you want him to do, then it's pretty unlikely he's going to do what he needs to do for you. Well, how do we identify a bull that's going to do these things? And the answer to that unsurprisingly, I suppose coming from me, is EPDs. And so some more homework you have to do before you start looking at a sale catalog is to study the EPDs in the breed that you're interested in. What traits does that breed report? What are the averages for the EPDs? And remember that in almost all cases, the average is not zero. If you see an Angus bull that has an EPD of weaning weight, for example, of plus 30, you might think to yourself, well, gosh, plus 30, that's good. It's a big positive number. But you might discover that that plus 30 isn't even above average. And so you need to look at the breeds that you're thinking about, go to their websites and take a look at the EPD statistics and just what is zero at this point. And so you can make an assessment as to what kind of bulls it is that you're looking at and what kind of genetic trend has been going on in the breed. How has the breed been changing over time? Because the breeds do change. The traditional British breeds are a lot bigger than they were 40 years ago, for example. And so you need to think through what your baseline is in terms of what these breeds are. So before you ever look at a catalog, you got some homework that you need to do. And that's to study what it is that you need and to study the breeds that you're interested in to make sure you know how to interpret the data that you're getting. Well, let's give just a little bit of background about EPDs. EPD stands for expected progeny difference. It's the genetic merit of an animal as a potential parent in comparison with others. And so if you have an EPD of plus 10 for one bull, you have an EPD of zero for another bull, then you expect these calves, their calves, if this is weaning weight, for example, you expect their calves to differ by 10 pounds. Now, there would have been a time when people would have stopped me and said, well, yeah, but everybody knows these EPDs don't actually mean anything. And I got that from a lot of folks once upon a time and the reason they thought they didn't mean anything is because everybody cheats. Well, since then, a lot of people, including myself, have done a lot of research into whether or not EPDs do what we say they do. And the answer over and over and over again is that they do. I did research on milk EPDs for extended period of time, had 10, 12 years worth of data, and year after year, the calves differed in weaning weight awfully closely to what the EPDs said that they should. Now it varied a little bit from year to year. Sometimes the difference is a little bigger. Sometimes the difference is a little bit smaller. But the difference was pretty consistently close to the expectation. And so what about those folks once upon a time that said, well, everybody cheats? Well, do all the data that go into the EPDs are all the data good data? Probably not. Some people are trying to jimmy the data. That's likely. Some people just are not entering it properly. That's also likely. But the evidence is, based on a lot of research on many thousands of cows in a lot of different states, the evidence is that the EPDs do what we say they're going to do. And so whatever those errors are, they must cancel each other out for the most part. Now this is the place where I also need to remind you that EPDs are used to compare animals. You can't look at that EPD of 10, for example, and say anything at all about how heavy the calves are actually going to be. What you know from that plus 10 is that if you compare that bull's calves to the second bull's calves, you expect them to differ by 10 pounds. And if you're looking at weaning weight, whether that's 450 and 460 or 550 and 560 or whatever it is, the difference is 10 pounds. Now when I used to give these talks a lot, somebody would always ask about birth weight. And the question was always, well, if you've got a bull with a birth weight EPD of plus 2, how heavy will those calves be? And so I've explained that you can't do that.  But what you can say is that if you have a bull with a plus 2 and another bull with a plus 0, you expect their calves to differ by 2 pounds. And the person asking that question, and this happened over and over again, would be kind of frustrated and say, well, no, you don't understand my question. I've got this bull with a plus 2. How heavy will those calves be? So I've tried to come up with some other explanation for why you can't do that, why it's only useful for comparative purposes. And that question-answer series would then escalate to him being really frustrated with me because I just wasn't telling him what he needed to know. Well, I wasn't telling him because there isn't an answer to that question. EPDs are used for comparisons. The plus 10 and the plus 0 can be compared. But the plus 10 all by itself doesn't actually mean very much. It only means something in comparison with another. Well, various breed associations now have a wide array of EPDs. And some breed associations have a lot of them. There's a few that only have four or five. But these are traits that appear frequently in the EPD systems. Birth weight, weaning weight, yearling weight, mature weight, yearling height, mature height. These are all measures of growth that appear in multiple EPD systems for different breeds. Every breed is near as I can tell that as EPDs has birth weight, weaning weight, yearling weight, and milk. And then the others vary quite a bit from breed to breed. Carcass traits, a lot of breeds now have carcass EPDs. And they typically would have carcass EPDs for carcass weight, fat thickness, ribeye area, and marbling score. Some also have an EPD for retail yield. Some also have an EPD for tenderness. Reproductive traits. Almost all breeds have calving ease EPDs. Quite a few breeds have a scrotal circumference EPD. A couple of breeds have a gestation length. And increasingly breeds are putting together what are called heifer pregnancy rate EPDs. And heifer pregnancy rate says that if one bull has a higher heifer pregnancy rate EPD than another bull, you would expect his daughters to give birth as two-year-olds more frequently. Expect a higher percentage of his daughters to give birth as a two-year-old than another bull that has a heifer pregnancy rate that's lower. And then several traits that we just called associated with the cow milk production, which is actually a measurement of the cow's influence on weaning weight. Dossility. Quite a few breeds have a dossility EPD. Perhaps you can be argued that several breeds need to have a dossility EPD. Need to make some improvements there. Some breeds have a stayability EPD. And this is basically a projection of whether or not the bull's daughters are going to stay in the herd longer. If a bull has a high stayability EPD compared to another bull, then you expect more of his daughters to have given birth regularly until they are 5, 6, 7 years of age. And then several breeds have a maintenance energy EPD. And they call it different things, but this is the start of EPDs that are selection indexes combining EPDs from various traits. And the maintenance energy EPD is an example of an EPD that says we're going to look at how big the cows are, we're going to look at how much milk they give, and we're going to evaluate them for how efficient they are as mothers. Well, we are starting in somewhat of a new era in terms of EPDs, and that is the era of having selection indexes. And the selection index EPDs, the Angus has quite a few of them, the Herford has quite a few of them, the Gelpe has a few, the red Angus has one that they call maintenance energy, which would be very similar to the cow energy EPD that's available in Angus. These indexes are all combinations of characteristics, and they're based on a concept called the selection index. The selection index has not traditionally been embraced by beef producers very much. Swine producers use selection indexes heavily, but beef producers traditionally haven't. But these EPD selection indexes have been developed in the last few years and are becoming much more important and much more valuable. And for example, the wean calf value EPD, the dollar W EPD in the Angus breed, is a combination of birth weight, low birth weight, high weaning weight, low milk, and low mature weight. The cow energy EPD is a function of low milk and low mature size, mature weight. The feedlot value is just simply a function of growth. So it's looking at weaning weight and yearling weight. The quality grade EPD is a function of marbling.  And then those two EPD indexes are combined to form a grid value index, and the grid value and the feedlot index are combined to form a beef value index. So it's important before you head into evaluating a sale catalog to make sure you have an understanding of the EPDs because the EPDs are the language that are used to evaluate beef animals these days. It's also important as you look at buying a bull to consider genetic defects. This has become a much more prominent issue just in the last few years. Several breeds do a good job of reporting a number of genetic defects. This has become a bigger issue because of fairly popular Angus bull. It turned out to be a carrier for what's called curly calf syndrome, or more properly arthrogroposis multiplex, and that same fairly popular bull turns out is also a carrier for disorder called hydrocephalus. And so it's important to evaluate the situation relative to genetic defects. What is the testing policy for the breed? Are the bulls in the sale tested? And we have genetic tests now for a wide variety of these genetic defects. The tests are generally fairly inexpensive. On the order of $25, $30, they're generally fairly quick. They take only a few weeks. And so as you head towards buying a bull, there really is no reason if the pedigree suggests at all that there is the possibility of a genetic defect. There's really no reason not to make sure you understand by buying bulls from people that have a genetic testing program. So let's take a look at a catalog, and this is a sale that happened not too long ago. It's off Angus Valley, big Angus herd in the state. They sold a lot of animals on February 12th. 400 bulls, 165 females. Certainly the possibility was there to buy a lot of animals. Well, I think it's important to look over the information that's provided in the sale catalog and not just go straight to the animals themselves. And so this is a catalog that gives you a lot of good information. Affordable genetics for the cowman. I'm not really sure what that means. Affordable is in the eye of the beholder, obviously. But personally, I have to like the fact that they use the word genetics at least to describe what they're doing. But take a look at the information that's up and down the list here. They give some information about how to get there, about where to stay. So this is a set of owners that are interested in making sure that the customers are comfortable. They give the opportunity to view the animals. Now this is some fine print here, but Shaw Fangus Valley retains one-third, and I can't read it terribly well, but one-third revenue-sharing interest in the seaman. And so make sure you read these things carefully to make sure what it is that you're buying. You're not buying 100% of the bull here. You're buying a substantial share of the bull, but not necessarily all of it. It tells how the bulls are developed. And that's important because if they were not managed properly prior to the sale, then the chances of them getting into your herd and doing what it is that you bought them to do is certainly diminished somewhat. That's about possibility for delivery, some terms of the sale, and here's an important piece, genetic recessives. Have they been tested? And in this herd, important genetic defects in the Angus breed are arthrogryposis multiplex and neuropathic hydrocephalus, and they have been tested for that. The CAC, that is for what's called Fonkafe syndrome, and it indicates that some of the animals in the sale, maybe carriers for Fonkafe syndrome, and you just need to look at the registration number to see which ones that is. So they are testing for arthrogryposis, and they're clean, they're testing for hydrocephalus, and they're clean, they're testing for Fonkafe syndrome, and most of them are clean, and the ones that aren't are identified in that way. They talk about the sale order they're going to use, and this is a big sale, and so they organize it in such a way that is going to be convenient to purchasers that are interested in certain bloodlines. So here's a sale catalog that does a good job of providing some information that talks about sending in phone bids, so that would be an important consideration for some people as well. They explain the performance data, and in this case they also explain the bloodlines that are being used, and they group them up in the sale catalog by the bloodlines. So that's a good convenience for the purchasers, and they go through and define what all the EPDs are. That's an important consideration, and I read these over, and they do a good job of defining them. The words aren't precisely the words that I would use, but the words are certainly appropriate, and they have explained what these EPDs are very nicely, and so that tells me some important things. These are people that value the EPDs. These are people that understand what they are, or are at least in communication with somebody that understands what they are, and so that's a good sign to me as well. A lot of times the sale catalog is going to list some reference animals. In this case they list a reference animal here, which is a bull that has a number of progeny that are in the sale. Now this catalog is really big on pictures, and it has his damn pictured, it has another cow here that's part of his pedigree pictured, and page after page in the sale catalog has a lot of pictures in it. You certainly need to remember as you look at pictures that the animals are going to be pictured in such a way that are beneficial to the appearance of the animal, and that what you are looking at is not terribly heritable. Now you may like what you're looking at when you take a look at this bull, and you certainly want to evaluate whether or not they are structurally sound, whether or not they are reproductively sound. If you're interested in purchasing them as a purebred, do they have any characteristics that would make them less than desirable as a member of that breed, but again remember that what you're looking at in terms of the size, the confirmation of that animal, what you're looking at isn't very heritable because that is highly influenced by the environment and the management. Now in the page for this reference sire they give you a pedigree, and they give you some EPDs. Now, let me talk just a moment about pedigrees. I'm not alone in the fact that I like to look at pedigrees. I grew up liking to look at pedigrees. I was taught from a very young age to be interested in looking at pedigrees, and I can remember a very long time ago, probably more interested in herford than I was in Angus, but being able to recite back the history of prominent members of that breed. So I value pedigrees from that standpoint, and from the standpoint of marketing of purebred animals, the pedigree is important. If you can say that this animal is the son or the grandson of some famous superstar bull that has value, that is associated with the value that is assigned to a purebred animal. So I don't want to diminish the importance of pedigrees from a marketing standpoint because they can be extremely important when you're selling purebred animals. I do, however, want to caution you about the assumptions that you make about pedigrees in terms of genetics. They are somewhat limited in value. Now you might say, well, how could that possibly be? Because the parents of the individual animal contributed all of his genetics, and that's true. But here we're looking at a three-generation pedigree, the parents, the grandparents, and the great-grandparents. So each of the parents contributed half. Each of the grandparents contributed a fourth. Each of the great-grandparents contributed an eighth. Do you notice here that these numbers are getting quite a bit smaller? The contribution of members of the pedigree past the first couple of generations is fairly minimal. You also have to remember that the sire, while it contributes half of the genetics to the calf, the actual performance or the actual appearance of the sire is a single record. Now the EPDs that are down here, what are they based on? They're based on thousands, tens of thousands of records on all possible relatives of this animal. The sire represents one point in that. The weaning weight EPD is probably, in this case, a function of several thousand relatives of this bull. Again, from a marketing standpoint of purebred animals, the pedigree is important. From a genetic assessment standpoint, the pedigree in all honesty isn't that important, and the degree that it is important is expressed completely in the EPDs. Now what I just said to you may run counter to the way you at least recall being taught about the value of a pedigree. It's interesting, but the EPDs that we have are a much more complete picture of the genetics of an animal than simply looking at a sire or a Greek grand sire or something like that. It's important to remember that. Okay, so they tell you some other information about the reference sire, give you his EPDs. This bull has maids to him, has 100 progeny for sale in this sale, may well have a lot of other progeny. They are not listing the accuracies that are associated with the EPDs. On a bull like this, and I haven't looked it up, but on a bull like this, his accuracies may be fairly large because he has a lot of progeny performance that is out there someplace. Well, here's lot number one, and I think it says here somewhere that lot number one is also the picture on the cover of the catalog. Lot number one presumably is one that they were careful about choosing which one was going to be lot number one, and take a look here at the information that they provide. A birth weight EPD, a weaning weight EPD. They say that the weaning weight EPD is in the top 1%. Pay attention to the fact that they didn't say what top percent the birth weight EPD was in. But the weaning weight EPD is in the top 1%. Here's a milk EPD, it's in the top, I think if I can read it, 3%. The yearling weight EPD in the top 2%. And take a look at those numbers. If you hadn't done your homework ahead of time, if you hadn't gone and looked up what the average EPDs are for the breed, what do those numbers mean? And the answer is they don't mean a heck of a lot, unless you know what it's being compared to. Now, they give you some information there by saying it's in the top 1%. Okay, so that 67 is quite a bit higher than average. That 30 for the milk is quite a bit higher than average. The 110 for the yearling weight is quite a bit higher than average. The 2.3 actually is not even better than average, and you want the birth weight EPD to be smaller, obviously, in order to keep down calving difficulty. Now, in addition to these EPDs, the birth weight, weaning weight, yearling weight, and milk, they also give you the carcass EPDs. The carcass EPDs. And again, notice that there's no accuracies. Well, this is a young bull born in 2010. And so the accuracy on a young bull is going to be fairly low. Maybe as low as .05, probably in this case is somewhat higher than that. But the accuracies are probably going to be fairly low. Now, they've given you some of the growth EPDs. They've given you some of the carcass EPDs. Are there other EPDs available for the Angus breed? And the answer to that is yes. There's several reproduction EPDs. The Angus has a good set of the index EPDs. These are the ones that they've chosen to provide for you. How do they decide which ones to provide? Well, they have a limited amount of space. Probably some of it's based on what they did last year and the year before. But they are not giving you the entire picture of the EPDs. Can you go into the Angus website and find some more information? And the answer to that absolutely is yes. You can put in registration numbers and get EPDs for animals that are in the sire summary. And so, at the very least, you should be able to go to the sire summary and evaluate EPDs on some members of this bull's pedigree. Now, the other thing that they provide for you here is the actual performance values for this bull. You weighed 78 pounds at birth, weighed 1,037 at 205 days, weighed 1651 at 365 days. That's very impressive. 1,037 at 205 days. That's a lot of calf at 205 days. What does that number mean? Does that mean he's going to sire calves and weigh 1,000 pounds at 205 days? I really doubt it. Remember, these are single values. These are single values. A lot of people look at the actual birth weight, 78 pounds. Look at the birth weight EPD. Which of those two is the most important? Which of those two is the most important? The 2.3 birth weight EPD or the 78 actual birth weight? And there are those that would say, well, heck, that bull's actual birth weight was 78 pounds. That tells me what I need to know about what kind of sire he's going to be. But that is ignoring the reality here that the 78 pounds is this one bull's birth weight, actual birth weight, whereas the 2.3 is a function of this bull's birth weight, the birth weight of all of his siblings, the birth weight of all of his cousins, the birth weights of all the members of his pedigree. The accuracy value on his birth weight EPD, while it may not be very large, from a genetic standpoint, is still a lot bigger than the accuracy of his actual birth weight in terms of predicting genetic merit. And these other values, 1,037, I would hazard a guess that this guy got a little bit extra feed before he was 205 days old to have that kind of a 205-day weight. I don't know that for an absolute fact, but I think I'm pretty confident ground to say that 1,037 was influenced by some creep feeding. Those numbers, while interesting, and I understand why they would put them in here, from a genetic improvement standpoint, those numbers really don't mean very much at all. Now, they're interesting and they're big numbers, but they are not in any way, shape, or form as valuable as the EPDs are for actually assessing the genetic merit of this animal. Now, they're selling some heifers, and they bunch them up a little bit, but they also provide for the heifers, they also provide the EPDs. And you'd say, well, heck, the EPD on a heifer ought to be not very accurate, and that's true, these are young animals, but the EPD on any young animal doesn't have very high accuracy. They don't start accumulating a high accuracy until they've got quite a few calves on the ground. Now, here we've got a set of calves that are all from the same flush, I presume. They're full siblings to each other, so they have them advertised together. Rather unsurprising, their EPDs are alike. Does that make sense? Well, what do we know about them from a genetic standpoint? They haven't performed themselves except for their own individual birth weight, their own individual weaning weight, their own individual yearling weight. So their EPDs are based on the information that's available from Sibs and from their pedigree and from all kinds of cousins. And if they are full Sibs to each other, they have the same pedigree, they have the same cousins, they have the same siblings, and so their EPDs should be alike in this case. But it's nice of them to group them up for you here, so you can see the actual information. Again, the EPDs and these animals are all alike. The actual performance values are somewhat different from each other, but then that should be expected, because management can influence these things by quite a lot. I'm going to jump out of this, and we're going to take a look at some catalogs. Here's a Hurford catalog from a sale that was just a couple days ago, and they also do a good job of giving you some information. They talk about the importance of performance testing, they talk about possibility of insurance, they give you considerable detail about terms and conditions, and they also have a reference tire. Now they give you a pretty complete set of EPDs, and they give it to you relative to where these are for the entire breed. And so this is actually quite valuable, because in addition to the actual numbers, if they give them to you relative to other members of the breed, you can look at this and see whether or not these animals are above or below average. So they have a number of reference tires and then some bulls for sale. They give you the EPDs, you can use the information from the reference tires to assess whether or not these bulls are above or below average in the EPDs. They give you a pedigree, the same story on the pedigree. The actual performance and the actual pedigree aren't nearly as important as the EPDs are in terms of assessing genetic merit. North Dakota Cemental Association, their sale was in December, and they give you a fair amount of information about what they're doing. Now this is multiple breeders and not a single breeder, so that affects what's going on here. Let me go through it a little bit and see if I can't get to some actual performance here. And here once again they give you a set of EPDs. It's important that you've already done your homework again to make sure you know where these EPDs are relative to the averages of the breed. So what's the bottom line here? Do your homework before you go. Before you ever look at a sale catalog, you need to understand the breed that you're interested in. You need to understand the EPDs for the breed. You need to understand the genetic defect situation. You need to do a good job of writing a job description for the bulls that you want to buy. And after you do that, you need to study the catalog fully, have a good idea of what you're going to do before you ever get in the car to drive there. Don't go to the sale until you've done all these things unless you're planning on leaving your checkbook at home. Do those things first, then put your checkbook in your pocket and then go to the sale. So, questions?  Well, and I agree with you. And the different catalogs that I've looked at have done people's work for them to varying degrees. And I certainly, if I were writing a sale catalog, particularly if I thought it was to my advantage, I would put some additional information about the average EPDs for the breed into my catalog. Now, you'll notice the one catalog had, in some cases, bulls identified with a graph as to whether or not they were above or below average for that breed. But it wouldn't take a whole lot of space to put in just a small table giving the average EPDs for the breed that your animals are representing.


I'm Lisa Martin on the ground with theCUBE. We're at Google for the sixth annual Top Women in Cloud Awards with Cloud Now. Very excited to be joined by one of their new partners from the Holburton School, Kristin Lloyd.  Welcome to theCUBE. Thank you so much. Thanks for having me on. It's great to have you here. You have a really interesting background. I want to talk a little bit about the Holburton School, but tell us about your career path to getting into education and software engineering. Were you always a kid interested in technology or was this sort of a more zigzaggy path to technology? Yeah, it was definitely a little bit more zigzaggy. Growing up, my dad was always into video games and I got to take apart VHSs, but I never really got into it. I just wanted to learn a little bit about everything. So because of that, I went to school to be a teacher. Was a student teacher decided, oh, this is a little bit more than I expected, didn't know what to do. I fell into the financial industry as an assistant there. I was learning a ton, but it wasn't really my passion. I started hanging out with the IT guy there and asking him questions about how our systems worked and decided, oh my gosh, maybe this is what I want to do. Fell into Holburton and I've loved it and I'm super advocate for it and I'm very excited to be here. That's awesome. So how did you, so you went, got a four year degree and then said, you know what? Not quite my passion, which is really congratulations on feeling that and going, you know what, I'm going to make a change here. How did you hear about Holburton School? It's a pretty new school, right? With a pretty kind of revolutionary approach to helping and assisting with tuition and that sort of thing. What was it about Holburton that attracted you? Yeah, so me being a former future educator, I was really into the model of project and peer learning education. So there's no lectures, there's no formal books to read, but we have access to the internet and Google and we have access to our library at the school and we really just learned by doing projects and helping each other. One of my favorite parts about being at that school is even within my own cohort, there's different levels of knowledge. So I'm always going to be able to help somebody and somebody's always going to be able to help me. It sounds very collaborative, which is probably, it facilitates your learning because you're probably meeting different people that have, like you said, are at different levels and that's a really interesting, compare that to your four year degree in terms of like the collaboration. How similar or dissimilar is it? Yeah, so in my four year education, it wasn't, I still had a cohort model being an educator. There was like some of us who wanted to do that, right? So we had a lot of classes together, but that was more about individualistic learning.  And that was great for what I was going to be doing, but I learned better as doing projects and having the context of what we're working with and why we're doing things a certain way. And that's really spurred me to want to continue learning in my entire career.  Yes. So tell me about year two and then what you're thinking, like long-term, job-wise? Yeah, so first I get to go out and either get an internship or an entry-level position. So I'm looking into doing that now. And then year two, there's one of three tracks you can choose from. So there's low-level, web-stack debugging, a couple other tracks are available to students. And so what that is, is you go really in-depth and have the specialization part. The first year is like, you can code now, you know, see in Python, you can do debugging, right? But specialization year is like, you go very deep in these concepts and you're able to work in an even smaller cohort and just really dig deep and get that knowledge. What does last question, as we wrap up here, we're at the Cloud Now, six annual top women in Cloud Award event. Tell me a little bit about Cloud Now and kind of what maybe inspires you down the road as you launch your tech career, as a female in technology. Yeah, well something that really hit home for me today actually was the diversity and inclusion panel that happened today. And something that Rebecca W said was about being a change maker and like being a change agent and having that positive energy going forward because the way you can combat some of these discriminatory remarks or slights is that being this person that can do it and just says, okay, well maybe you think that but I'm gonna show you in preview that I'm here and I'm gonna do it and I think that's the best kind of energy to bring into that and I'm looking forward to doing that. And also something that was said today was being here at the event, we have a responsibility to represent and to mentor others and I really take that to heart. So I'm excited to be able to bring maybe some of my knowledge I got here today back to my classmates and continue that collaboration. Well I think you've got great energy and I know someday you're gonna be a mentor to a lot of people. Kristin, thank you so much for joining us on theCUBE and we wish you the best of luck finishing out Holburton and I'm sure we'll see you back on theCUBE when you're a technology leader in the near future. I would love to, thank you so much for having me. Absolutely, thank you for watching. I'm Lisa Martin on the ground with theCUBE at Google. Stick around, we'll be right back.


Before we continue, today's video is sponsored by Valorant Tracker. Valorant Tracker is the perfect app to keep track of all your stats and performances, and it can help improve your gameplay as well. They show your win percentages for the act and on your best agents, as well as your KD, your ACS, your headshot accuracy, and more. Another cool thing about Valorant Tracker is the live matching info tool where you can see a full breakdown of your teammates and opponents of the current match that you're playing. What I like the most about it is the match history feature where you can look at all of your recent matches and it gives you a full detailed performance report of any player in the match, and I enjoy looking at it just to see how I've been playing recently and if there's anything I need to improve on. Valorant Tracker is completely free and you can download it by using my link in the description or the pinned comment below. Enjoy the video. I'm going fast, nobody's left, nobody's in hookah, or underneath it, one's going obo, and then one's in tube, in tube, in tube, in tube, surely he takes tp. One more and we're out of ludger's cube, come on up, take spike and molting, take spike and molting.


We're back everyone. We have a talk from Anand Chittiputuna about Mone School, a platform that makes teaching programming for beginners more accessible. Like having been in this situation many times, like having to teach beginners programming and about programming languages, it gets difficult sometimes. And I'm personally very excited for this talk. I hope you all are also excited for this talk. And if you are all not based anymore of your time, I'm handing over the stage to Anand. Good luck Anand for your talk and happy learning everyone. Thanks Nikhil. Hello everyone. Very good afternoon. Hope you have enjoyed the talk so far by coming here. So I want to ask you a question. How do you start learning programming? Well, you all felt that programming is weird and it's too hard to learn. Was there any time where you really wanted to give up? It's too difficult. I'm sure I was there when I was learning. It was really difficult to learn programming. So hello, my name is Anand. I've been creating software for about two years, two decades now. I've been with the Python community from the very beginning, Python community in India. I grew up with the Python community. So currently, what I'm doing is building a non-profit learning platform called Monskull. So I really want to kind of talk about the platform under some of the ideas there. So over the course of my career, I've trained hundreds of engineers, mentored many. I've tried a lot of times to kind of teach programming to beginners a lot of times. And there's always something that feeling that it was difficult. It can be better. So last couple of years, I've been pondering about what's a good way to use programming to observe beginners, more like people who just joined engineering or even people in the school, etc. So figuring out what is the right way to do it. So how do you introduce programming, especially to young students? This is something that I was kind of worried about. So if you look at young students, I mean like people in their school or people that just joined the college, they're going to reach their primaries in five years, 10 years or 15 years. Now what is that we should teach them that they'll stay back with them when they start their careers? So that is something that I was kind of thinking a lot more. So one is like how do you introduce and then what do you kind of teach? So what should be the focus of that when you teach them? So it seems that they're going to take quite long time. So if you look at it, software kind of changes really fast. If you look at a decade back, there's no mobile app development. But now every day, now these days everyone is into building mobile apps. So the technology kind of changes really fast. So what should be the focus when you teach, especially young students? So that was something that I was worried about. So should it be the programming language? Is Python the best programming language to teach in the beginning? Or should be some other language? Should we focus on the syntax? Or should we focus on algorithms? Or data structures? Or should we just focus on building mobile apps? Because that is the going trend. I mean, the different things. I mean, if you look at them, there are many commercial offerings which actually visit your parents to enroll their kids into the programs. Promising that they'll get a job at NASA and Google and all that. You know all of that, right? So what is it that we should focus on? So what I've realized is like I've looked at some students who had Python in their school. They've lent it for a year. They're not acceptable programming at all. So what I realized is it's not really programming language. It's really not what language you use or what. It's really about what are you kind of passing on to them, right? So when I look at, ask this question, what's the fundamental elements of programming? So something I found from this wonderful book called The Suction Interpretation of Computer Programs, also known as the wizard book, is that three elements of programming. One is primitive expressions, means of combination, means of abstraction. Let's explain what this means. Primitive expressions is basically what are the primitive expressions that language is supporting? How do you mean some combining? How do you combine those things to form complex expressions? And abstraction is basically naming it. How do you name it? So that you don't have to call the entire expression but just give it a name. So these are the simple ideas that are fundamental programming. I'll actually show you what it really means. So this is what we want to do, but now how can you make this really fun? How do you make this really engaging and make people connect to it? Okay, so let me step back here. So the idea is like when you look at programming, the foundation of the program is basically how do you take the simple ideas and build complex ideas from them. That is the basic idea of programming. It's not really the frameworks will come and go, language will come and go. Really, the core idea of programming is really takes primitive expressions, you combine them and then give names to them, abstract them so that you can refer to that whole complex object just by giving a name. So that's always the fundamental idea of programming. And now if you want to kind of pass this to students, like how do you make, what's a good way to kind of do that, right? So that was a challenge that I was dealing with. Once you want to kind of make it fun, I want to make people to kind of connect to it. So at this time I was kind of figuring out like how people really learn, right? So we typically learn by connecting with what we already know. So let's say people, students kind of learning language, they'll start with singing some poems in the language, et cetera. So they can get connected to it easily. But what happens is when you kind of look at how the program is taught these days, usually the connection is kind of missing, right? So people, the program is a completely different set of things that we don't really understand anything in our real life. So it won't convert foreign literatures or try to convey something on the screen that has no relation to that you always see in your life. So it becomes very difficult to kind of learn that. So you want to kind of figure out that and see if you can create that pattern and then do something else. So I've tried a bunch of experiments. I've tried to kind of see if you can actually use electronics as a medium. Essentially people would actually use sensors, et cetera to learn programming so that they can actually see something really happening in the life, right?  So this is one way to kind of do it. The other thing I was trying was doing a creative coding where people write programs to create interesting patterns. That turned out to be a very easy thing and people really like that. So what happened was like to make that possible. So we have created a library called Joy. It's a creative coding library written in Python. I'll show you like how that feels like, okay? It's really tiny creative coding library and can really do wonderful things with that. So we have created this library and created a course called the Joya Programming on MonSchool to introduce programming in really fun way. So let's see how a program in Joy looks like. So this is the first program that you can write at Joy. You create a circle and then show the circle. You see a circle there. Now if you see like a person who's completely new to programming doesn't really have to understand any of the syntax, right? You see a circle and then brackets, that's all the syntax that they need to know and then that will show a circle. So let's kind of jump a bit more and kind of see what all shapes that it supports. So it has support for four shapes, circle, ellipse, rectangle, and line. And you can style them as well. You can say what's the fill color, what's the stroke, and what's the stroke width. So there are three styles that you can specify. And there are transformations. You can translate it. You can specify x and y and set translate. You can scale it. You want to make it bigger or enlarge or shrink it. Or you can rotate a shape. So these are the three transformations that are provided. And there are three combinations that you can do in the language, in the library. You can combine two shapes into a single shape. You can take a shape on that road and then apply a transmission, use a pipe operator for doing that. Or, and there is another higher order transmission called repeat, which basically combines all the, which applies the transmission intent and combines all those shapes and then gives a single shape. These are the only things that are there in the library. Looks like pretty primitive, right? Isn't it? So if you look at joy, it has four shapes, circle, ellipse, rectangle, and line. The styles fill, stroke, and stroke width. Three transmissions, translate, scale, and rotate. And three combinations, plus two adding shapes. And then pipe to join them and repeat to repeat the transmission multiple times. That's all languages, right? I kind of explained it to you in like five minutes. So now let's see what all you can actually make with this. So what all can you make with joy? Can you guess like what all could be possible with these primitive things? Let's try it out. So what I'm going to do is I'm going to take you to the live editor in joy and I'm going to show you what all you can do. So just to kind of make the background. So let me show you what it is. So let's see the shape is circle and then show us. So you see a circle. So there's a, my default puts a grid. So I want to kind of remove the grid. So I just put a background there. Sorry. Yeah. So we'll see a circle. Now you can try circle with different radius. You can say r equal to 50. It will become a smaller circle. You can specify x equal to 100 to move it to the right. So the center is at the, the origin is at the center of the canvas. So you can do, let's try some interesting things here. Okay. Now I'll take a line. So that's a line. So I'm going to rotate that. Let's say 30 degrees. I'll rotate. So you get line tilted in a particular direction. What in fact do we do it repetitively? So repeat four times. I'll do this. That would give me the same line repeated like four times each with 30 degrees. So you start with the first one, then rotate, rotate, rotate. So when it's a rotate for the original one and then three more rotations, you get this. Okay. You can actually try an interesting stuff here now. I can actually say, say n equal to, or I can just put it here. Okay. So 18 times if I do and rotate with 10 degrees, it will complete half revolution. So that will become a complete thing. So I made a start just by writing a single line of code. Right. So as we see, like when students are kind of learning programming from the beginning, right? So all they really have is now take a line and then apply this transformation. So now you take this primitive, the handful of primitives that you have and combine them in different ways to kind of very, very interesting shapes. Now let's repeat the same thing with the rectangle. There are many, you don't really need 18. You can do nine because it's a symmetrical in four dimensions in four sides. Well, not really. The square is nine, but okay. So if you take a rectangle, you kind of get these into three shapes. Now you could try the same thing with an ellipse. So you can create really interesting shapes pretty quickly. Let me go back to a rectangle. And this time I'll make it a square. So what I'll do is I'll actually let me just make it, I just do five degree rotation. Maybe do it like four times. Let's see how it looks like. Something, yeah. I forgot to mention H there, okay? So I took a square and started rotating it four times. So this looks really interesting, but I want to do something more. I want to rotate but also kind of scale it down while I'm rotating it. So what I want to do is I want to scale it. Maybe say make it 0.9 times the original size. So it will take the shape and then make it smaller. So while it's rotating, it's going to make it smaller. That looks interesting. Let me do it hundred times. So it will start going in. So the size is exactly not fine. So let me tweak the scale factor, maybe nine one. Not quite into perfect. So now we can have created this very interesting hypnotizing shape just by writing a single line of code. All we have done is we've taken four primitives here, a rectangle, and then a transformation rotate and scale together and then repeating that hundred times. So that's, isn't that interesting? Let's try something different now. Okay. So what I'll do is I'll keep this here. So I'll take a circle now, but this time I'll take circle at slightly further. Okay. So I'll take this. Repeat maybe 18 times. Rotate by 10 equals maybe. No, I need to do 20 because to make the complete evaluation. So let's now see, I've taken a circle. Let's see what's kind of happening here. If I take this one, I just get one circle there. What I'm doing is I'm making it two of them. So it will put the second one and I did 18 of them. I'm rotating by 20 degrees. So it kind of makes the entire 20 into 18 is 360. Okay. So I got an interesting circle here. Okay. Now what I can do is I can actually scale this further. Okay. Can actually, let's say if I scale this by 0.5 for example, it will become smaller. Right. So I'll get a smaller one. Okay. So what I can do is what if I do it repeatedly? Repeatedly. I scale. Okay. Let's say I do four times. I scale it by, let's say 0.8. Let's see what happens. That's not quite. Okay. So I may be 0.7. That sounds interesting. Okay. Well, let's see why stop at four. Maybe do it like 20 times. So you got three interesting shape. Okay. So this thing is kind of quite aligned. So I don't really like it. I want to kind of try to move it far. So it's rotated by 20 degrees. I'll rotate this each time when it's going by 10 degrees. So that that goes in the middle of that. Okay. As you can see now, a nice pattern is kind of emerging. Okay. So you could try different things. For example, I don't really want to take 20 degrees, but maybe take 10 and then increase this a little more. Yeah. Let's make this, keep this out here. All right. So I'm just going to get a bit here. Okay. 20. Okay. It's going to be angle by two. What are the angles? I'm going to kind of do that by four. Okay. And we've taken 18. Angle is 360 by N. Let's see what we get. That's what we started with. I was 20 back then, but now I want to make this 36. So I get a, so I guess we may have to tweak the, the factor of scaling factor here. Maybe we have to do with the point week or something now. I just want to try to see if you can actually add more, more of these. Okay. Yeah. Yeah. The nine is getting. Yeah. You get what is getting next. So kind of creating, trying to create a very interesting, a flag like shape. That's why I think a single line of code here. Now that is one thing. Okay. Now you could apply the same things for some other things. For example, what we can do is take a, so I'll take a circle again now. So again, I'll take it at, it's equal to 120 and R equal to 20. Sure. Yes. I have one of this. Okay. Now what I'll do is I'll repeat other times, rotate by say 10 degrees. And I'll also scale this now. What do you get? Well, so nine is kind of too small. Maybe make it 98. See what happens? You're kind of getting a spiral. Okay. Maybe 99. Right. So you probably, you have to make it quite long. Okay. This is, it's kind of forming a very nice spiral pattern. And these kind of bigger. So just try with the, there you go. Right. So you kind of have this nice spiral. Okay. So you could maybe fill this with white so that you don't really see those lines. So you could see like a kind of patterns that you could create just by combining these primitive operations. Again, all of this is Python. By the way, I don't know if I've noticed something. We have not used a single keyword in Python so far. Right. So we just take these primitive operations and combine them using plus and pipe. Okay. And then calling these functions. That's all right. There's no keyword. I haven't used a single keyword in Python so far when I was doing it. In fact, in the Java programming course that we've designed to use programming using this library until half of the course, we don't even use a single keyword. So in fact, recently kind of asked this question, what can you make without using keyword in Python? So I can actually make quite a lot of stuff if you actually have a library like Joy. Now, you've got a sense of like what all things could be made. I didn't really show with colors because I'm not so good with colors, I would say. Okay. But what I've done is recently partnered with an organization called Tinkerhub and organized the contest. In Kerala, for the own festival, there is a tradition of actually making a flower decorations called Phukalam. Okay. So people, what they do is they'll make flowers in a circular fashion and they kind of make very interesting intricate designs. So what we did was a contest to create Phukalam with code. So a lot of people came on board and created Phukalam. Okay. So I was kind of blown away by the kind of stuff that I kind of made. Okay. So these are some of the things that people made. The first one is not a Phukalam, but I just put it because that's really interesting. This is a sketch made by a school student using eight lines of Python. Okay. Without using single keyword. And if you look at some of these, like these are kind of stuff, not trivial, right? These are people who lend this library and programming and create all this stuff. So as you can see, like there are so many details. But if you see like how this thing is made, it's just made of these primitive items. The one that we have set is four shapes, three styles, three transformations and three ways to combine them. That's all. There's nothing else that went into this. Now other interesting thing is like some of these things are actually made without using single keyword and Python. Some of these people are actually learning programming for the first time when they joined the contest. So they don't know anything about Python or programming before. So they would actually kind of go through the tutorial, go to the course and then start applying those ideas and creating this. See how beautiful people are kind of creating. Now the other interesting thing is like, I really like what kind of came out because like here, we typically when you do programming, right, we kind of always use idioms from the West in the sense like we talk about a lot of stuff idioms that we use in computing. I kind of lent in the computer faster. For example, wallpaper and desktop and back in 20 years back. I didn't know what was the wallpaper. So all of the concepts that people talk about in computer are kind of quite far into me back then. But now what I realized is like people are actually not talking about the culture in code. When you actually look at some of the sketches that people have made, if you actually see, it's quite interesting to kind of see like the people actually creating a function to create a code and base. You make a pool column with the code and base and then you actually decorate it with three kinds of flowers, et cetera. And I was quite excited about the kind of stuff that came in. So that's all I have to kind of show about what this thing is. If you're excited, head out to monitor at school and then join and then explore what is there. And we need your help. It's all false. So monitor at school is a nonprofit online platform for learning programming. So we are false. All the code is available on GitHub. Your contributions are welcome. Please spread the word about MonSchool. If you like it, try sign up, help others join. You can join as a mentor and then help other people learn programming. Or you can even create a course on MonSchool. If you're excited about it and you want to kind of come and join. If you want to help other learn programming, if you're interested in creating a course, please get in touch with me. I would be happy to kind of work with you and see more courses on MonSchool. That's all. Thank you so much. If you have time, I'm open for questions. Thanks, Anand. That was really cool. If I'm being really honest. I'm personally looking forward to using MonSchool to teach programming to some of my cousins and juniors. I'm also interested in your proposition for my school. I learned programming in my school in 10th standard. But we didn't have too many resources for programming. Not as good as MonSchool at least. So we can talk later. But I would like to add a comment there. So one of the goals of MonSchool is basically to reduce the barrier for mentors to people to help others learn programming. So what you want to do is want people to kind of come and join as mentors and then help like your cousins and people in your apartment complex and maybe children in your school or your college. So that is a spirit that you want to bring into the millions community. As for the questions, we right now only have one question from what I can see. Can we do maps with MonSchool course? Sorry, maps. I didn't get what you mean by maps. I'm not exactly sure. That's the exact question. It was asked by a guru. So I think you're asking about if you can actually show a map. No. So the goal of MonSchool, the MonSchool, the Java programming course is not really to kind of able to do things which are of practical importance really. So the goal is really to kind of have fun and learn these ideas without any constraints. So when you actually put an outcome as a result, then you get quite constrained. So what you want to do is kind of throw these primitives at them, show it to them and then see what all can you make. So go and then create whatever you want. So the downside is you can't really create so many useful things like apps or something. But it still gives the idea of how do you, they learn this idea of how do you combine simple ideas and kind of build complex ones. I think that was the focus of that particular course. We're adding more courses to MonSchool. For example, there may be other courses which will add some practical ideas or maybe building applications or building maps, etc. can be part of a different course, but that's not part of this particular course. I hope I answered your question. There's another question. Does your library also support animation for creating these ships? Yeah, not right now. Okay. So one of the things that we wanted to do was to make sure that the interface is really easy. So one of the goals of JOINS to kind of keep the interface as simple as possible. So in fact, when I started, through this journey, I started with a library called P5JS, which actually is a very popular library for creative coding. It supports animation and all of that. But the problem is when you kind of start adding animation, you need to somehow be able to specify how do you render each frame. So these libraries usually start with starting a setup function and a draw function. Now that means that you have to explain to them what is a function in the day one. You start with writing two functions. Now that did work for me. I didn't want to do that. I want to kind of have a hello world first program. It's one or two lines that a school student can read and understand without anyone's help. So I didn't really want to add a complexity. That's why that is not added. So now still there's room to kind of create animations. But I haven't figured out everything yet. So I'm not saying that that will not be there in the joy ever. But the idea is like, I don't want to add it by adding a complexity library. We can figure out a way to kind of add that without adding a complexity. I'm all for it. But if you have any ideas, like please ping me. I'm happy to discuss with you. There was one more question I can ask other than that we don't have the time for any more questions after this. If you still have any more questions for Anand, you can go to Zolip and ask him the questions on the Zolip stream. I'll share the link in the chat after this question is over. You can ask your questions there. So the last question is I'm going to share these with my kids, love the core structure. How do you see this compared to scratch and would you be adding pi games to make this more fun? So thanks. That's interesting question. So when you look at scratch, scratch makes it introduction to kind of programming very easy. But the limitation that what I found in scratch is being at the visual medium, ability to kind of create abstractions is hard that medium. So I mean you tend end up duplicating a lot of stuff than actually creating abstractions. For example, writing a function is something that doesn't come very naturally in that mode. In fact, I've experimented with the block language before I tried this. For example, when I was teaching some kids using BBC Microbit, using the block language like scratch, not scratch but pretty much it's scratch like block language. The problem is like within like a week they started asking me like this is enough when are you going to teach JavaScript or Python because it takes really long time. The time it takes from thought to executing that takes really long time when you have to drag and drop and do stuff. So in that sense, my experience has been like scratch may be good enough in the beginning but it doesn't take you very far. And coming about the pi game. So one thing that you want to do is kind of make it easy for people to kind of also access. So one of the concepts that we put ourselves is people should be able to access it from the mobile phone from the web browser. So the point is like a lot of students that are on MonSco right now surprise that to know that half of them are actually don't have a computer and actually lending it from mobile phone. In fact, if you look at the entry that we have here I've shown here. The last one is the first prize winner of the Code Proclaim Contest. This person has participated in the contest from mobile phone. He didn't had a computer good enough to kind of access that. So the thing is like even when you really want to do pi game and build games, et cetera but constant is you want to kind of do it inside the browser. So what we've done, so partnered with a person in the community called Arun who is I think many of you kind of familiar with him he's a Django expert. So he's working on a course, building games with Python but not using pi game because we want to do it in the browser. So soon in a week or two we'll have a course to build games with Python right in the browser and you can share with your friends. Thanks. Thanks Arun for this amazing talk.


Welcome to the Tick-Mill Update, I'm Kiana Daniela, the founder of the Investeva Movement. Before we get started, make sure you're subscribed to the Tick-Mill YouTube channel and please support us by liking and sharing this video with your friends. On Thursday, Japan confirmed two deaths from coronavirus, which resulted in further sell-off of the Japanese yen. Meanwhile, the Australian economy added 13.5K jobs in January, but still the jobless rate was up from 5.1% to 5.3% versus the 5.2% forecasted. On Friday, we'll be focused on the Eurozone Consumer Price Index for January. Today, I'm looking at the dollar yen pair, which saw the biggest gains compared to most of the other major currency pairs, and reached the key resistance level of 112.11 for the first time since last April. The bears jumped in to take profit early hours during the Asian session on Friday, so we may see a temporary pullback here, but if the coronavirus fear continues in Japan, we could see the pair continuing higher. On the other hand, if the coronavirus gets serious in the U.S., the traders may jump in to dump the U.S. dollar. Now what do you think about the real reason why the traders have been selling off the Japanese yen? Let me know in the comments section below. Of course, trading the financial markets involves a risk of loss, and it should only trade the money that you can afford to lose. If you liked this video, give it a thumbs up, and subscribe to the Tick-Mill YouTube channel. I'll get back to you with more updates next week.