Okay, ask and answer Friday. I'm excited. I am so excited to be here on a Friday, back with our asked and answered and back with so many of you that continue to join us live. We are so grateful to have you committed to the show just as we are extremely committed to our presenting sponsors. And we like to start every episode with expressing our sincerest gratitude. We thank our sponsors. You can see logos on the screen. They really believe in the great work that you do. So they're in your corner, please find them online, give them a like, follow them, give them a heart. And yeah, they are here to support you and your mission to make every day stronger in your community. So thank you to these sponsors. First, thank you to Julia Patrick. I recently called you Sensei Patrick because I learned so much from you Julia. Julia is the CEO of the American Nonprofit Academy. And just so grateful that you had this wonderful idea to continue showing up to be of service to our way of the nonprofit show. So hoorah, yay for Julia. I again, of course, every morning and I sincerely mean it, I am so honored to serve alongside you Julia as your co-host, I'm Jarrett Ransom, also known as the nonprofit CEO of the Raven Group. And as you all know, our faithful watchers every Friday is asked and entered. I liked Friday so that we have some fun. And this is when Julia and I take some time during our so weekly on Friday to curate the questions that you have sent in and we answer them live during the show. And of course, some of you might be joining us later and that's perfectly fine. You can find us on many channels, even comfort of your own living room or wherever you might be situated. So Roku TV, Fire TV, Vimeo, YouTube, all the good stuff. So Julia, welcome, happy Friday. Happy Friday. Well, we have a lot of questions that came in and I'm gonna witness to everybody, we were not able to get all of them on. And sometimes that just happens because we get so many and oftentimes we'll try and answer something directly if we feel like we can't, you know push it off to another episode. So let's get on this train because there's a lot. First of all, name withheld, you know how I love those. Yes, you do. I do. So it says, I need a coaching moment. I want to be more strategic about my salary. I'm a CEO of a small nonprofit. Instead of going before my board every year to discuss salary, would it be a good idea to present a salary that I want to earn for the next three years? I think it would help in budgeting and be tied to KPIs. Ooh, first of all, you know, I love acronyms but I think it's important that we tell everyone may not be aware what exactly a KPI is. So Julia, do you want to shut? Yeah, so key productivity indicator or key product indicator. I mean, basically it's a metric. And so basically if you look at your KPI would be like in the nonprofit sector we need to have so many donors. We need to have so much that we've brought in in grants so much we've brought in from individual donors so much we've brought in, you know, corporate donors things of that nature. So that is something that you would decide upon and then based on that most often if you have met those KPIs that means you have the financial resources to increase salaries, pay out bonuses make investments, whatever it is, you know that your organization wants to do. But again, this goes back to the concept of defining what some of those goals are. Yeah, you know, short and sweet. So and I love that you mentioned the KPI in regards to, you know, cash reserves one of the really big opportunities for organizations and CEOs as you continue to build sustainability and I see here name withheld this specifically is for a small nonprofit is like, you know, what are those cash reserves that you need and forecast three years in advance? I hope that you're also forecasting the salaries of your growing team because I imagine that that too will happen as you continue to be successful with the resources of your organization. So a great way to address this.  Here's what I recommend. Here's what I would follow for the upcoming five years for all team members, all titles, all, you know positions, even associations of additional new hops, right? So as you grow, that might actually mean that you also incur the cost of not only new staff but the staff benefits that go along with that your payroll cost will increase, you know, your workman's comp might increase. So there's other benefits that you need to financially account for. And I am right there with you, Julia, let's come up with these, you know key indicators of success so that you can show your board these are the goals, here's the metrics here's how close we are to meeting that and, you know, is this a viable financial goal that we're looking at not only for your salary, right but also the team that you're meeting.  Now there are times when you wanna push them away I get that and I've been there but the reality is I think if you could have an open discussion and it might be named withheld depending on how you're structured it might be with your executive committee or it might be with your board chair and vice chair I mean, it just kind of depends what your structure looks like but to have that very honest and transparent discussion and say, look, you know this is where the marketplace is this is where I wanna be and this is where I need to be financially and also remember that it's not just about the cash you know, outlay in terms of salary it can be additional training it could be additional time off it could be additional perks like mileage, travel I mean, there are a lot of different ways to navigate what that package looks like and you know, you might need to get somebody that has some HR skills as well to help you figure out what that looks like and for the board too. But yeah. Compensation report in our sector so I would definitely reference compensation report on this and you're right also, you know, go to your HR team or HR consult to see if this is something that they, you know able to assist you with. Right, exactly. Okay, good. Well, I hope that helps. Halima from Colorado Springs, Colorado I keep hearing that we need to have mission moments at the beginning of our meetings especially board meetings. Can you give me ideas on how to do this without bringing in clients who are hesitant to speak publicly about the services they are engaged in? Really good question. Great question Halima. And I'm so glad to hear that you're really listening to a lot of the episodes and how this mission moment is really been to quite a few of the topics. The best way I have seen this happen Julia is organically, right, is on the agenda and I even have it in team meetings so that it continues to elevate our mission. It elevates why are we here, right? Our Simon Sinek why, why are we here? And it's really organic. It's not, you know, really, I don't know how to say it. It's like, it doesn't have to be overly produced. Thank you. It's not overly produced. Anyone can say, oh yeah, I just a moment. I witnessed, you know, our program director do this with a client that was really great because it really fed into our focused mission of this is why we provide X, Y and Z. I'm so just open the table, open the discussion for other people to say, you know, what have they personally experienced? It could be in person, it could be an email, it could be a phone conversation. There are so many opportunities to bring your mission moment to life and into conversation. That I've seen it best is Julia is just really like, hey, who seen our mission in a work and who would like to share this mission moment with all of us before we get started. Right, right. I think that's really powerful. And I think that in the case of folks that don't want to be public about what's gone on. So we see this about substance abuse, domestic violence, certainly in health and human services.  And to say, I witnessed somebody that was struggling and this is what they said to me as they were being involved in the intake process or whatever. But I like what you just said, Jared, about the natural aspect of this because I think it should be, and this is just me, but I think it should be solemn. And I think it should be, like this is a reflection of what's going on. And this is how tough it is for our staff and our frontline people. And for me, I think what it does is that board who's come from their corporate environment and their nice cars, whatever. And then all of a sudden they've got to switch in the hubs and get their mind into the place of the nonprofit. And that's what this mission moment can do. It can help kind of set the tone for the importance and why you're doing what you're doing and why it matters. So the mission moment can be really, really thoughtful, I think that's my personal opinion. Yeah, and I think it's intended to be a relatable moment. I hear too often, Halima, from many of the clients that I work with that the board is really not in touch with the service that's being done. And so, how might you bring the program into the discussion, especially as you're about to go into meeting and to make really focused decisions around your mission, what best then to start with the mission moment? Right, exactly. I think it pulls it back, it centers you and you hear about things that maybe you're like, oh, well, we've gotten the board packet and we got to really have a discussion about this budget item or this contractor, this policy, it's like, okay, yeah, but this is what happens every day on our campus or when we're serving. So yeah, Halima, good job. I love that you're even thinking about this. Emelda from Seattle, Washington writes in, although, oh my God, this is hilarious. Although I noticed that Julia and Jared do not have CFRE designations, I am wondering what they think about this. I need to decide if I should invest in this program. Great. Wow, CFRE, thanks for calling us out, Emelda, but you're absolutely right. So Certified Fundraising Executive is what CFRE is. And I chose, I've actually considered pursuing my CFRE, I chose not to because I actually have a master's in this administration. So when I went through the Association of Fundraising Professionals Mentor Program, I was the mentee and I had a mentor, you have to be a CFRE to be for the AF program. From what I understand, at least when I went through, might've, I'm not sure.  I don't think you need both. And I said, are you sure? Because I really do wanna pursue professional fundraising as a career.  The other thing I will tell you, Emelda, and this is very transparent part, never, ever, ever has anyone asked me if I have a CFRE designation. Never, ever, ever has anyone ever asked me. And for that reason, I don't think that, I think that I desire to, what do I wanna say, desire to achieve at this point of my career and level of professional, but going back to the name withheld of your CEO benefits, if this is something you do want to achieve, and this is a professional desire of yours, absolutely see if your company or organization might offer some type of reimbursement or investment into this designation. Right, that's what I was gonna say. You know, I noticed when I look at the landscape across the country, the CFRE piece of it, and I'm all about education, so undoubtedly. But the thing of it is, it really, I think, Jared, is community to community. So for example, the community that I live in, there's a very active CFRE piece. I mean, there are, generally there's been somebody from my state on the national board. You know, it's the sort of thing where it's all whipped up, right? And so you get internally a lot of people trying to support and promote it. And so I think you just have to kind of look at what the landscape is to determine as you move through your career, if it will help you and if it will be a sound investment, because it's expensive, not only just financially, but time-wise. The other part of this, and Jared alluded to this, you know, if this is important to the organization that you serve, then make sure that they will scholarship you, fund you, fund you for the hours, reimburse you for the testing, for the materials, whatever. But make sure that if that's gonna be something that you pursue, you have support from your organization. Because I think- And it's not a one and done, right? Julie, there's continued education credits. Yes. To keep it relevant, to keep it active and to keep that designation. So it's something that you really need to commit into the longevity of the CFRE program.  I mean, it's something you have to sit, you have to test for. It is an arduous process. I would say that if I had a choice, and an MBA is far more and much more in depth of an educational tool, but there's more value for me as somebody going out in the marketplace to hire somebody that has an MBA. And that's because it goes through the management aspect of running an organization. So it's gonna involve marketing, it's gonna involve accounting, statistics. I mean, all of these different things that help you be a strong leader. And I think in terms of fundraising, it's all about leadership for me, you know? It's, so that would be my comment in Emelda. You know, again, I'm proud of you for looking at how you educate yourself and improve yourself. We need that in our sector. We need that in our sector. And it's a great program. And if that's to you and where you are and what you wish to desire, you know, definitely look into that. Yeah, yeah, never stop learning. I mean, never stop learning. I mean, that's like, I think just basic. Okay, Shane from Huntsville, Alabama. I'm writing articles about the nonprofit service area that I work in, I work in. I am not writing about the nonprofit I work at. However, it is logical to assume that I'm discussing issues raised at work. Wow, my question is this, when submitting articles for review, should I identify my nonprofit or not? Wow, good question. Great question. And I'm gonna defer to Julia on this because this is such in your wheelhouse of publications and writing and whatnot. So first and foremost, depending Shane on where you work, you need to go back to the organization and determine what type of policy there is for any disclosure whatsoever of your organization. And this is really important for those of you who work with children, that means under the age of 18, minors under the age of 21, health and human services, anything that has to do with HIPAA, you have very, very specific things that you can talk about and that you can't talk about. And when you write something and it goes into that domain of, domain is like huge, this is a big deal. So you need to figure that out. But if your organization doesn't have that, then you need to write that. And it could be just for yourself, but you need to determine what is appropriate and what is not. And then have a chit chat with your CEO, explain that you're doing this work because this might be something that your organization can use as a white paper. It can become a marketing tool for them. It can go into their media stream. There are a lot of opportunities. But I think you start with your own organization so that everybody knows what's going on and there's not a surprise because you're right. Somebody to the outside will never understand or be able to tie it to the organization, but somebody internally can and they will. And it would be really harmful to have somebody on the team say, oh my God, Shane talked about that problem and he was talking about me. That's not what you wanna have. That's not what you wanna have. So- Great answer, Julia. I learned so much. Well, I mean, I was in publishing for 30 years. So this is kind of one of those things. But I'm all about white papers. And I don't think enough nonprofits do this to become thought leaders in the sector and share their knowledge. And I think it helps with grants. I think it helps with donors, with collaborations that might come down. I think it's a good way to go. Yeah. And it brings me back to what you always say since say Patrick is senseless. No, it's senseless Patrick. No, no, it's about reaping, right? Never do anything just once. So if you, Shane, are writing these wonderful articles, how might you benefit or how might other areas within your community benefit from this, right? So just as you said, Julia, this is something that your organization that you are with that they're able to benefit from as well and have that conversation. I also subscribe to the big rules of transparency, authenticity and just being ethical, right? On the up and up. And so I think having that conversation, Shane, if just what Julia said, if they don't have these policies or procedures in place, do it, create this for them. This is a wonderful win-win. Right. And if there's a problem there, then I think what you can do is you can navigate away from the institution but identify yourself to the sector. So for example, you could say, domestic violence expert or Shane, works at a museum in the Southern United States. There are ways that you can tie your work and your work experience to the moniker of what it, to your name, so that people can say, yeah, this is a worthy review of the topic because this is an expert right now. And so, interesting. Yeah, good job, Shane. We don't want you to get into trouble. Absolutely. Okay. Oh, another name with Eve, Overland Park, Kansas City. How important is it to have our volunteers backgrounds checked? We are a cultural institution. Thank you. Wow, short and sweet. Wow. You know, I'm gonna be honest with Pell. I have worked with so many organizations that do background checks and so many that don't, right? And it makes it really hard. I've seen volunteer forms that literally ask the individual to self-identify or to disclose, you know, yes, I have a history of X, Y, and Z and to provide anything that might come up in a foreseeable background check. I honestly don't have a lot of experience in this question, Julia. What about you? Well, I've served on two boards that I had to get a background check and I had to be fingerprinted and put into a, I don't know what kind of database, sorry, got a base. So one dealt with human services and one was a cultural institution which is kind of interesting. So with a cultural institution that I'm thinking like, okay, in this case, if you were an art museum whereby you had the ability to be around highly valuable things that could be stolen or whatever, you know, I'm not really sure, but this, Jared, when I see this type of question, it makes me think that you need to talk to your insurance carrier and find out what they think. Because, you know, in the insurance industry, they have all of these, you know, going back to white papers, they have all these documents where they determine what the risk is. And so you could literally say, you know, I'm a XYZ nonprofit and they'll be able to pull it up and say, okay, this is what our industry has identified as potential risk. And so I would think that would maybe be the way to go because ultimately, if there's a problem, it's gonna involve your insurance carrier. That's a great point. And my fingerprints are also in that same big database that you alluded to, Julia, because I have needed to do, you know, background checks for organizations that I've worked with to either, you know, physically be on campus with them, with clients. As well as I'm gonna say name withheld, your question does not ask anything about the cost related to this, but I'd like to take that one step further that I have seen many organizations ask for the volunteers to cover the cost of a background check. And I think that is a great practice to be honest. Not everyone would agree with me, but I think that that really shows a level of commitment and dedication from the potential volunteers that if they're willing to put literally some skin into the game, maybe it's $25, right? I'm not sure exactly what level of a background check you're looking to do for your institution, but those associated fees could either be passed onto the volunteers or at least mitigated by having, you know, a piece of that paid by the volunteers. And remember, never, ever, ever shy away from the concept of scholarship. If you have somebody who you think would really be great, but they can't afford it, you need to find the funds or find somebody to underwrite it. I mean, and to say, I'm gonna, this would normally be a $95 expense, but we want you to be in our team and we think you'd be great. So we're gonna scholarship this in. Never, never forget that tool because that's I think a fabulous way to go. But yeah, I think that we're gonna see more and more of this and especially within a cultural institution that might have really not only theft issues, but disturbance or destruction issues, like something is harmed.  I don't know, you know what I'm saying? But I just think you gotta figure out, you have to align what it is your organization's doing to what the risks are. And like I said, for me, Jared, that's gonna come through with the insurance carrier. Holy moly, hard to believe that we've like, we got like two seconds to get out of our show. I want a Friday. It's been wonderful, Julia. Boom, boom, boom. You always do a great job curating these questions. So of course, thanks to Julia Patrick, CEO of the American Nonprofit Academy. I'm Jared Ransom, CEO of the Raven Group, also known as the Nonprofit Nerd. There are four ways that you can send us your questions. So make sure that you do. And also over the weekend, check out Portable's Board Engagement Survey results. It's phenomenal. It's annual, Jenner was on our show. He started, was it last week or was it Monday? It was last week. Last Thursday, yeah. Posh, time flies. Great report, check that out. It's really been insightful. Yeah, and you mentioned you've got four ways to get ahold of us. Join us on Twitter. Definitely you can email us. You can approach us on LinkedIn. And we wanna know what you're thinking and where you need some help. Wow, look at all these sponsors. We're so grateful. We added two new sponsors this week, Fundraising Academy and Nonprofit HR. We're very, very excited. If you wanna get involved with us, drop us a line. Our presenting sponsors mean everything to us and we would not be here without them. So we are very, very honored that they're investing in us just like they invest in the nonprofit sector every single day. Wow, another great week. Yes. I hope that you have rest on your agenda, Julia. And for all of you, right, take some time to rest, recover, replenish yourself because my Santa will join us again. Yeah. You know, and really we do say this every day, but maybe it means a little something to different today as we move towards the weekend. And that is the mantra that we say, you know, stay well, so you can do well. We're gonna see you back here on Monday. I was starting to say tomorrow, but on Monday, we have another fabulous week, a lot of really interesting discussions and guests. And we are so delighted that you joined us today. Have a fabulous and restful weekend. You too, Mr. Jared. You too, Julia. See you Monday. Thanks everyone. Bye.


for the speed of light, the cloud of dust and a hardy high old silver, the Lone Ranger. With his faithful Indian companion, Tonto, the masked rider of the planes led the fight for law and order in the early western United States. The stories of his strength and courage, his daring and resourcefulness have come down to us through the generations, and nowhere in the pages of history can one find a greater champion of justice. Return with us now to those thrilling days of yesteryear. From out of the past, come the thundering hoofbeats of the great horse, Silver. The Lone Ranger rides again. Come on, Silver, I was waiting on the trail ahead. Come on, Silver, Silver! The territorial prison was only a few years old, well built and strongly guarded. No one had ever escaped from its high stone walls, although several men had been killed in desperate and fruitless attempts. This knowledge was in Lou Russell's mind as he and Pete and other prisoner were being led across the yard by an armed and surly guard. Keep moving, you two, this ain't no picnic. Russell glanced up at a dark and overcast sky, then spoke to his companion in the tight-lipped undertone that is common to prisoners the world over. Storm blown up, that'll help. Yeah, remember now, there'll be a jar of Mexican pottery in the corner of the room. The gun's in that. You shot me. I got you. Cut the gap. Your army's asked to see the warden. The only talking you'll do is to him. Love. Open up, Bill. What's this? Warden's orders. They asked to see him. Cell guard and two prisoners. Well, Warden, you see, we figured... Make it short. I haven't time to listen to a long story. My partner and I have been cellmates for three months. No, no, Lou, you got it wrong. It's like this. You clumsy convict. Gee, I... And whooping that jar. Get up, Russell. I don't know what to say. Guard, use the lash. Stand up, you! Yeah, I'll stand up. He's got a gun. And I can use it to keep your hands up. Both of you. Nice work, Lou. Now get this and get it straight. The four of us are gonna walk out of here, see? You won't get away with it, Russell. Yes, I will. You and this whip swinger go first. Pete and I'll be right behind you. When we get to the outer gate, tell the guard to open it up. Understand? Yes, but you can. Head on. Start talking, Warden. And lock this door, Bill. And walk across the yard with us. Yes, sir. And these men, uh... And there's some government officers waiting for them outside the gate. Open it up. Yes, sir. I guess we ought to thank you, Warden, for everything you've done. Yes, sir. Say, what's wrong here? Use your gun. These men are escaping. Run for it, Pete. No, you don't, Pop. Over this way, Pete. The horses are here. I think I'll meet one of them guards. I hope it's the one with the whip. Here, Lord. I'd like to stick around and plug one of them for me. We have a time for that. A few minutes later, and not far from the stone prison, a masked man and his Indian friend were resting their horses in a small grove of trees. That sounded like gunfire, Thomas. Ah, maybe men hunt. There's no hunting in that direction. It might be a... If somebody headed this way, we'll stay out of sight. Ah. Whoa, whoa, whoa, whoa, whoa. Steady, there. I think we've lost him, Pete. Sure we have. Those guards can't hit anything. They can't reach with a whip. Damn, this is where I'll turn north. North? Where to? A little town called Plasm. Why go back there? It's the nearest thing I've got to home. Ah, now, Lou, don't be loco. You're the best sheriff that town ever had. What do they do for you? Not much. They railroaded you into the pan on a fake charge of cattle rustling. Is that your idea, not much? That's why I'm going back. I got to prove I was framed. Don't forget you're not a free citizen now, son.  Ah, let's head out west and start clean. No, Pete. I'm going back to class.  Maybe. Well, then, I guess this is where we... what we say so long. How do you figure? You're going out west, aren't you? Listen, you sidewinder. I can't be put off that easy.  Well, I'm loco, too. Thanks, Pete. What are we waiting for? Let's hide, Taylor. Get up there!  I don't know. Those men have just broken out of prison. You think they speak truth? I don't know. These men not go away? That's what puzzles me. They could leave the country and be free. Yet one of them insist upon going back to the town where he was convicted of a crime. Me, not savvy. Neither do I. Anyone who gambles freedom against prison to prove he's right may need help. Here, Silver. Yes, Count. City, Silver. City, boy. Where we going now? Same trail there on to classin'. Come on, Silver.  The little town of classin' nestled snugly at the north end of Blue River Valley. In many respects, it was similar to other towns of a range country. The single exception was a large wooden building on one side of Main Street. This was the courthouse, the seat of justice in classin' county. It contained the room in which only a year ago a jury of angry ranchers had demanded that Sheriff Russell forfeit his badge. Attorney Dan Cummings had defended Russell at that time. And now, although it was well past midnight, he nervously paced the floor of his small office. I should have heard something like this time. Baby. Who is it? John Carter. Just a minute. I was just heading for home when I got your message.  Well, come in, John. Come in, Senator. Have much time, Dan. Ethel's going to meet me at the delivery stable. She's driving in from the ranch. What I have to say won't take long. I'm glad you mentioned Ethel. I'm thinking about her. I guess you've been thinking about my daughter for several years, Dan. Is that what you want to say? She's still in love with Lou Russell, isn't she? Won't consider me as long as he's in jail. It might be that way. Well, Lou's getting out of jail. It's probably on his way here now. What? Well, Lou Russell was sentenced to five years. I arranged a jailbreak. She'll be here tonight. What's the idea? I'm Lou's friend, and we're both in love with Ethel. My only interest is her happiness. If she wants Lou, I'll give them to her. Well, I'll be darned. I've heard of things like this, but I never saw it happen before. You'll tell Ethel? Sure. Sure, I will. Uh, by the way, Dan, there's something I'd like to ask you. Yes? This Murdock fellow who holds a mortgage on my ranch. I want to talk to him. Murdock? Well, he's very seldom in town. You're his lawyer, aren't you? Why do you want to see him? Curiosity for one thing. Here's a man who holds a mortgage on most every ranch in the valley. And yet nobody but you has ever seen him. Well, Mr. Murdock doesn't like people. I handle all his business. I hear he's kind of a queer critter. Where's the big black beard and dark glasses? That's right. Another thing, I've got to have an extension on that mortgage. That cattle rush in last year put me way behind. I'll talk to Mr. Murdock. Sure would appreciate it. I'll talk to Murdock, and you talk to Ethel. Fair enough. Good night, Dan. Good night, Carter. Oh, so long. Yeah, this is Classentunno. We ain't here with the courthouse until we see what those two men do. It's stopped by Lawman's place. I think it's the lawyer's office. Will you follow him? No. As long as the street's dark, it's best to wait here and see what happens. Who is it? Oh, you made it. I'm glad to see you. Yeah, we made it all right. This is Pete, Dan. Glad to know you, Pete. How are you? Did you have any trouble with the guns planted in the warden's office? Everything lined up just like we planned it. Oh, the guards. Did you have to? No. No, we didn't kill anybody. Oh, I'm glad to have that. But it isn't over yet, Lou. They'll be after you. I know it. That's why I have to work fast. Work? Prove that I was framed into that stretch. Isn't that why I busted out of jail? Yes, of course. But it'll take time. No, it won't. The first person I want to see is an hombre who showed up here just after I left. Who's that?  Murdoch? Who told you about him? I did. The Lord didn't get around to picking me up until about a month after they framed Lou. I saw this Murdoch hombre a couple of times, but not up close. Who is he, Dan? Murdoch's just a man who came in here from the east and bought up some spreads. Yeah, bought him up after the ranches went broke on account of the rustling they blamed on Lou. Well, there's no law against buying property. Ain't it kind of funny this Murdoch got so many bargains? He's a shrewd businessman. I handled some of the deals for him. Then you know him? Yes, fairly well. But I don't think he'll be able to help you very much. I want to talk to him anyway. Where can I find him?  You can start clean. That isn't the reason I busted out of jail, Dan. I respect the law and what it means. I'm going right back to that jail just as soon as it clears up this mess. Ethel knows about your break. I told her father earlier this evening. I'm grateful for everything you've done, Dan. But right now I want to find this Murdoch. Where is he? He may not be in town. Then we'll tell him. Come on, Pete. Oh, wait, wait. I'll try to find him. He may be at the hotel or the bar. It wouldn't be good for you to show yourself in either of those places. I'll chance it. I'm sure if I find him, I'll find out who was behind my framework. All right, Lou. If you're bound to talk to Murdoch, I'll bring him here to the office. Good. But hurry it up, Dan. Like it's not, there's a posse on my trail, right? It doesn't mean herself. He'll be right back. Say, Lou, are you real sure this fella Cummings? What do you mean? Didn't he say he handled some deals from Murdoch? Well, you're crazy. Dan Cummings is the best friend I've got. Maybe. We wouldn't be here now if it wasn't for Dan. Well, don't get riled. I was just thinking. Let's all. I can hardly believe it, Father. Why would Dan Cummings help Lou Russell to break out of jail? Because he's in love with you. That doesn't make sense. I'm going to stop at Dan's office right now. Oh, no. You better leave well enough alone. Whoa, boys. Whoa, whoa. Lou's really here. I'm going to see him. Wait a minute. See that man across the street? Yes. I think that's Mr. Murdoch, and I want to talk to him. All right. You do that while I go into Dan's office. Murdoch! Oh, Murdoch! That's funny. He's looking right at me, but... Hey, Father. Hello, Lou. I thought I heard someone call Murdoch. He's standing right over there, but he won't answer me. I want to see him, too. Is that you, Murdoch? Listen to me. I know he's got a gun. So have I. He trails the whole town. Look. The man run this way. Yes. One of the men we've trailed, and he's wounded. Help him. Put him on your horse and meet me along the river south of town. Huh? Where you going? I'll catch that runaway team. Come on, children! Paul's on the first act of our Lone Ranger story. Before the next exciting scenes, please permit us to pause for just a few moments.  Ethel Carter's team of young ponies were badly frightened by the gunfire. They raised headlong down the river road, with a light buckboard greening behind them. Ethel and her father clung desperately to the wagon. What can we do? Nothing but hope. If I could only get... Forage! Stop the bend! We'll never make it! But at that same instant, not far behind the runaway team was lunging through the night with ever-increasing speed. The Lone Ranger was urging his great white stallion forward. Paul and Silver, come on by! Slowly but surely the masked man and Silver drew alongside the team of wild and frightened ponies. And a straining tossing buckboard, which John Carter and his daughter clung precariously. They held on tightly, although they knew that at any moment the light wagon would be smashed into a million pieces. Help! As he drew a breast of the racing team, the Lone Ranger paused for just a moment, then levered the plunging back of one of the ponies. Oh, boy, whoa! Steady! Back! Whoa, whoa! His firm and steady hand brought the horses to a standstill. Hey, now, boys. It's all over. Everything's all right. Never saw such a writing in my life. You saved our lives. 100 yards, and we were to hit the bridge. Steady. It'll be all right now, after they rest a few minutes. I don't know how to thank you, stranger. Thanks aren't necessary. I'm glad I could help. At least you let me... Mask. You're wearing a mask. Mask, man, and a white horse. Outlaw! It was you who fired those shots at Lou. No, I didn't fire the shots. But I saw everything that happened. I don't understand it. I think I do, Father. Will you answer some questions? If we can. The name of the man who walked out of the lawyer's office just before the shooting is... Lou Russell. He used to be the sheriff here, but... He was convicted of cattle wrestling and sent to the penitentiary. He escaped from there this afternoon. How did you know all that? Uh, who's Mr. Murdock? He's the one who started that gunfighter. I guess it was him. I don't rightly know. You've never seen him? Only from a distance, like tonight. He's a queer-looking bird. Dark glasses and black beard. Thanks. Here's over, big fella. I think your pony is arrested now. He'll be gentle, too, after that long run. Lou, I just remembered. Maybe he was killed. No, he wasn't killed. He may be badly hurt. Let's drive back to town, Father, as quick as we can. You might not find him there. And if you don't, I can assure you he'll get the best of care. But how will we know? I'll let you know just as soon as I can. Come on, Silver. Oh, who do you suppose? I'm actually mixed up about a lot of things that have happened tonight. But I'm sure of one thing. What's that? That man we just talked to. He saved our lives and he rides a white horse named Silver. Well... There's only one answer. He's the lone ranger. ... I'm going to beat him to the ground, then I'll go. Yeah. Oh, Silver, whoa, whoa! Hey, big fella. Hello, hello, where are you? No, Taunton. Coming here. Now, where's Lou Russell? The man who was hurt. You bring him here? Uh-huh. Taunton bring him. Taunton fix wound. Him, sleep now. Where? Under Cottonwood. There. Oh, how is he taunton? Him, pulled through all right. Good. The other man who was with Russell. Where's he him dead? It's too bad after shooting stuff. How to hear people in town talk. What did they say? They know what caused it everybody talked plenty much and lawyer friend of Russell say him see mask man Right way him say you shoot The Russell's lawyer thinks I did the shooting about Murdoch Who you mean man with dark glasses and heavy beard may not see him I thought I might have a solution to this Russell's lawyer was there. I'm wrong What we do now you're on the ride Tano No, you're right at the ranch house of the girl who was driving the runaway wagon. I think her name is Carter I'll do Russell is all right. I think you can leave him here safely and where you go I'm going to find out something about the man named Murdoch. Meet me back here Kimo. Sorry Must feel much better outside of a crease in my scalp and left on it's not much good Who you thought on I picked you up after the gun battle and brought you here Well, then it's you I have to thank for how about Pete? Where's he? Hey, yes, you mean your partner Skilled Pete dead Do you have any idea who Murdoch is that's the ombre who started blasting me I never saw him before Very strange. I can't find a trace of him. You can't well now say mister Before you do any more for me. Maybe you better know that I'm an escaped convict I know all about it I've also investigated the charges essentially to jail Evidence was all circumstantial. Yeah letters from people I didn't know who was supposed to be buying stolen cattle from me. What's your lawyer's name Lou Cummings Dan Cummings He's about the best friend I've got he arranged the jailbreak. Oh, he did and the young lady Miss Carter Well, they'll didn't know about it. I only saw her a second before the shooting started Tell me is your friend Dan Cummings by any chance in love with Miss Carter, too Dan and Ethel. I Guess maybe he used to be kind of crazy about it, but well when we got engaged Dan forgot it I see and Dan's the one who helped me Time to bring plenty news. What is it Kimosami? Coward and class and big everybody talk Long and make posse you mean they're after us.  It must be he's doing this because I got away and you helped me looks that way But why would he murder John Carter? I don't know Miss Carter got close enough to recognize Murdoch. What do you mean?  Come on We'll ride double on silver we can stop at the Carter ranch and pick up a horse for you, right? First of the Carter ranch tunnel After securing a mount for Lou Russell a three horsemen spent hours scouring the hills in broken country for trace of the man Who kidnapped Ethel Carter finally Much further isn't the old man just around the end of the trail here There it is. It's in the old Looks like we're headed at last. I think you're right stay back. You can't hit us. We don't go any further Let me line a gun side on that. Oh, we can't rest shooting at the shack. The girl may be inside Yes, that's right. Oh, can you climb up one of these drawers and circle back of him? Oh, I'm gonna call if we can keep you men arrested by shooting in front of the place that simple That's it Lou. I want to give tunnel time to get there Don't seem like he's gonna make it. I got him. It's coming out of the shack with his hands up. Come on Ethel, is she all right? Good work tunnel. I'll see if that's all right.  The boss will take care of you and I'll better keep those hands up All right, so you beat me to the draw go down that gun go down Give him cover tunnel. Yeah Who is it? You know no until that's known. Yes, Ethel.  Who is this man? You know him sure? I know him it's squint Davis livery man down at the barn. This job isn't his idea Who's your boss squint?  I don't think they'll be necessary Miss Carter. Yes, your father was killed when you were kidnapped wasn't he? Yes. He He was murdered Did you recognize the man? I don't think so. You see our wagon was attacked from the rear Naturally, you couldn't see anyone But I think we have a good enough case to take to the sheriff Maybe he can make squint talk. That's where you're bucking up the wrong tree. Oh, do you think so?  You're not that can use your horse Lou Come on then.  Just one thing I'd like to know Dan Cummings. All right. What is it? Who is this? Mr. Murdoch? We've heard about him, but nobody's ever seen Mr. Murdoch is very retiring as a matter of fact. He's sitting over in my office right now I'll tell him to come over and show him so make that bounty offer in person Get him Dan, you know, I'll try to get Yeah, maybe it would be better. I'll be right back It's the first time I ever heard of men arguing about who was going to pay bounty money. What do you care? We just want to see mr. Murdoch that's all ain't that right boy?  I don't draw sheriff. I've got your coverage haven't got me I Show all of you something I'm here mr. Murdoch. Now you come here Make close attention everybody here. You have mr. Murdoch a man who pays 500 for outlaw bounties Have mr. Dan Cummings a thief a murderer and a man who betrayed his best friend Yes, he's a man who's behind the cattle wrestling last year He's a man who framed sheriff Lou Russell the man who murdered John Carter kidnapped his daughter We'll turn him over to the sheriff the law will take its course There's another prisoner for you, too I'll handle the sidewalkers all right I'm sure if you asked the governor for pardon for Lou Russell you'd get it sure I will Well, I guess you and miss Carter has some plans. Haven't you Lou? I'll say we have I think our job is done. Hello That's right Who did you say was it the Lone Ranger? I didn't know him by that name, but sure a real man Dory you have just heard as a copyrighted feature of the Lone Ranger Incorporated


Hello friends, welcome to the session I am Malka. We are going to discuss matrices. Our given question is let's a equal to matrix 0 1 0 0 show that bracket a i plus b a to the power n equal to a n i plus n a n minus 1 into b a where i is the identity matrix of order 2 and n is the element of natural numbers. Now let me tell you the basic idea behind the question which is mathematical induction method. In this method we first show that the result is true for n equal to 1 then we assume that the result is true for n equal to k and we prove that it is true for n equal to k plus 1. If the result is true for n equal to k plus 1 then we conclude that the result is true for all natural numbers. Let's begin with the solution we are given a equal to matrix 0 1 0 0 and we have to show that a i plus b a to the power n equal to a n i plus n a n minus 1 b a. Now this is our second equation. Now let us say show that the result is true for n equal to 1 on putting n equal to 1 in equation second we have a i plus b a to the power 1 equal to a to the power 1 i plus 1 a 1 minus 1 b a that is a i plus b a equal to a i plus a to the power 0 b a and we all know that a to the power 0 equal to 1. So this can be written as a i plus b a equal to a i plus b a. So the result is true for n equal to 1. Now let us assume that result is true for n equal to k that is a i plus b a to the power k equal to a k i plus k a k minus 1 b a. Let this be our third equation.  Now we will consider it's LHS first LHS equal to a i plus b a to the power k plus 1. This can also be written as a i plus b a to the power k into a i plus b a. Now we will place the value of a i plus b a to the power k from equation number third.   Now since we all know that i square equal to i into i which is equal to i and a i equal to i a equal to a.  Now since from equation first we have a equal to 0 1 0 0 matrix this gives a square equal to a into a that is 0 1 0 0 into matrix 0 1 0 0. This will give us a square equal to 0 0 0 0.  So this is our RHS.


The Boys and Girls Club of Amidji held its largest annual fundraiser and raised $90,000. The event was held last Friday at the Hampton Inn in Sweets. The evening of Love for Our Kids made nearly $30,000 just in ticket sales, and the rest of the donations were raised that evening. The Boys and Girls Club gives children a safe place for after school, summer programs, and classes such as art classes. Everything that was raised at our gala goes directly back to the kids. So it either goes to helping provide transportation for the kids to and from school. That is sometimes an issue for some of our children, you know, a safe way to get to the club or back home. The next fundraiser for the Boys and Girls Club will be the golf tournament in August. If you've enjoyed this segment of Lakeland News, please consider making a tax-deductible contribution to Lakeland Public Television.


Well these days, actually increasingly, I find students want experiences in college that they think can be applicable after they graduate. They want real life experiences. And I find that trying to integrate things that they interpret as real life experience in both the lower division and upper division classes, they appreciate. And they really seem to gain a lot from those types of assignments. So for example, in the lower division class, my surveys, my big surveys with 130-plus students, having a chance to role play, for example, in an online discussion with their classmates facilitated by a writing center assistant, role play being a museum curator, for example, is useful for them to think about, perhaps, these are GUR classes, general education requirements, so I could have engineering students in their computer science majors, math majors, who know the direction in which they're going, but I also have students, freshmen, sophomores, who haven't decided what they want to do in their lives. So here they have an experience to think about and play with the idea of becoming a museum curator and imagining what kinds of things one might do as a museum curator. And so that's one way in which I think it could be useful for them to get a nice idea of real life experience. Also just being out in the world and getting an idea, even if they aren't going to go on to be museum curators, getting an idea of how a museum operates. So the next time they might go to a museum, I think their experiences could be enriched by having an idea of what's going on behind the scenes. In the upper division classes, especially with graduating seniors, I have a lot of my upper division classes are full of studio, design, art history majors who are planning to work in the field. So having an opportunity to, for example, actually set up an exhibition and work on an exhibition from the very first day when they're thinking about the theme of the exhibition to choosing the objects that will go into the exhibition, doing the research on the objects, on the artists, thinking about how they're going to present these artists and these works to the public, and then even going into lighting in the exhibition and how the space is going to be arranged, what color the walls are going to be, thinking about how people are going to feed through the exhibition is very useful for them. It makes a career in the arts tangible for them.


All right, so we do come to the wrap here and I'm going to take about less than five minutes to provide a quick update to everybody who has been who have been listening. Again, a reminder to everybody that, you know, open source is really to reshape industries and their value chain and everybody benefits. So keep that in mind. The standards and open source work hand in hand. And we are becoming even more collaborative, right, as I call re-aggregation of projects and industries and standards. And we announced it. Please take a look at all of these projects, the press release as well as, you know, welcome new members. A quick reminder, there are a couple of webinars and an event coming up. So there's a webinar on network operating system or NOSIS. One of them is DENT. So please join that. It's on April 26th. And then there's the developer and testing forum in Portugal. And this is live. If you can travel, I think we are expecting to be face to face in Portugal. And the most important thing at the end of the year for our fall event, we will be in person in Seattle, Washington. And we are planning for an in-person open networking summit in Asia next year. And, you know, we're looking at planning already. So just keep in mind. And, you know, these are very, very important events and hope you have picked up a lot of things. Okay. So with that, we wrap up day two. Day three is tomorrow. It starts 7 a.m. Pacific. So I think it's in the nighttime, early night. We will have standards bodies, NGMA, GSMA. We have several enterprise customers, cloud, and several of our vendor partners. And we have a very good panel on open source that our own CTO for networking and edge Rani would lead. So stay tuned and please join us tomorrow. With that, thank you very much. Have a great day or a good evening.


Okay, good afternoon everybody. Welcome to another wonderful day of operating systems. So today, talking about memory allocation at a fairly high level and we'll go over some things that you probably shouldn't do and some kind of fun new advancements and compilers to try and save you from yourself and we will work around their help and try and crash it anyways. So, you've been doing memory allocation, you theoretically learned it in first year. Some of you are better at it than others. So there's a few different ways to allocate memory and we went over a few of them. A few is like the simplest one is called static allocation which is basically just global variables. So global variables exist for the duration of your process, when your process ends, they end because everything is now destroyed. So this is all fixed size allocation. So if you have a global variable called char buffer and you give it the size of a page, well that variable called buffer is gonna last as long as your program lasts, as long as you put it in global scope. So that's part of what the kernel in your compiler does. It will make sure that as part of the program, whenever it loads it into memory before it starts executing anything, it will make sure to set aside some virtual memory for that buffer and then give you the address so you can actually use it. So again, with this, all the memory exists for as long as your process lasts, there's no need to free it because the free is exit. So everyone is good with this, everyone understands this. So good old global variables, thumbs up, no need to free so they are perfect. But often you actually need dynamic allocation because the problem with static is while you have to declare everything upfront, so you might not know how much memory your process even uses ahead of time. Sometimes they'll only use it in some certain conditions in which case, you know, if half the time your program uses next to no memory and in 1% of cases it uses two gigabytes while you're gonna have to set aside two gigabytes of memory which is of course going to be wasteful. So some other conditions that you might want to do static allocation or sorry, dynamic allocation is if you don't know the size of anything. So with static allocation, I have to declare the sizes up top or upfront. The compiler is gonna know some of them like how big an int is, how big a long is, how big a bool is or whatever, but for arrays, you're not gonna know the size of the array and it can't give you memory upfront if you don't actually know the exact size of that array. So if we do dynamic allocation, we have two options available and hopefully we know them so we can either do it on the stack or on the heap and the stack is where local variables exist and when you're outside of the scope of a function then they no longer exist. So like stack allocation, that's done for you in C so if I just have a normal variable in a function like int x, well what your compiler will actually do is set aside memory for you on the stack and there's actually, we've all used malloc before hopefully so there's actually a way to ask the compiler to ask for memory from the stack which you've probably never used before because it's done for you. So the actual function call to allocate memory on the stack is called alloc a and it's like malloc you say how many bytes you want and then it just gives you a pointer back. So C, most of the reason people use C is because C kind of does this automatically for you and saves you the headache.  So as bad as you think C is it's actually worse depending on what you use. So the rule for alloc a is there's no free with it and the rule is whenever that function that called alloc a returns it frees all the memory and all it does to do that is it just restores the pointer back to its original position so it can reuse that memory. So no matter how many bytes you allocate freeing all the memory is just done in one operation it just moves the pointer back up to the beginning you reuse the memory and we all good. And the thing about this is that you have to be careful not to shoot yourself in the foot because this won't work if you try to use the memory after returning. So let's see a little fun example here and see how we can break it. So here's our small little program I can make it bigger. So we have main it calls foo and foo gives us back a pointer to an int so we're just gonna print out whatever that pointer is and within foo we will create an x which should be allocated on the stack we will set its value to one we'll print out the address of x and we will return the address of x so at the point of foo being done x should no longer exist but since we return an address we still have its address outside of here which if foo returns it should be dead so this should be an error and this is actually a fun new advancement in the compiler because this is actually undefined behavior so you would expect here that whatever the address is here is the same here, right? Like address of x should be the same as p if I run it right? So this is a fun new advancement we'll compile it it actually gives us a warning if we were paying attention where foo return's address of a local variable and you're like oh warnings are fine compiled so let's go ahead and run it so if I run it I can see that my compiler is actually smarter than me so even though they should be both the same value because it's undefined behavior well c is allowed to do whatever the hell it wants to and in the last year they have recently decided that they will set it to zero so if you try and use it immediately and if I tried to like uncomment this line where I try and get whoops if I try and uncomment this line where I try and read its value well before it would just read some garbage value and now it's gonna seg fault because it's null if I dereference the null pointer won't work so that's kinda cool yep so this right now that I have uncommented prints the pointer so this will print the pointer and this also prints the pointer so I should be printing exactly what I got but the compiler is like hey you're doing something stupid so I will set it to null so if you try and use it you won't get weird behavior you will just seg fault which is probably a better option but unbeknownst to the compiler my background's in compilers so there's an easy workaround for this so it won't let you return the address of a local variable directly but I can do something like int pointer to x equals the address of x and then I'll just return the pointer of x so now hey I'm not returning the address of a local variable directly and my compiler's not that smart so I can actually just use it now and if I go ahead and run it hey they're the same now so you can actually outsmart your compiler by not doing very much work and it's still in defined behavior because you're returning the address of a local variable but if you do it in a roundabout way you can avoid all that overhead so now I can uncomment this since I actually have a pointer so here I set the value to one so you would think that hey if I read the value of it well should still be one well let's go ahead and see if that's true so who here thinks it's gonna be one still? We got hand wavy so it could be one could be one very definite one 43,000 and we can run this a few times 43,000 went up by one it seems to be kind of consistent now so the reason that it's just more or less random variable is because well we return some memory from the stack and then after foo returns it's freed so it can be used for anything else and that anything else well printf needs the stack because it would have some local variables and stuff so it would just set to some value it uses and then we're just printing out something that actually printf is using now because it should be freed so any questions about that fun stuff this can be a fun source of errors yeah yeah so we can see so let's see if nothing else uses the stack and we pray that it's still the value one so if we do this it should still be one so let's see so yeah so this is one so this is a case where you're technically using undefined behavior but after you return from foo we don't create anything else so we're good so we could copy the value and this works sometimes but it's not guaranteed to work yeah so in this case before I copy the value because it's just pointing to somewhere in a stack so the stack it would be freed after foo and that variable is probably not going to be touched whenever it just moves a pointer back and reuses the space so it's set aside to be used for something else but nothing else has used it yet so I can go ahead and use it so this is a fun source of bugs because if you have something like this in your program this will probably always work but it's technically undefined behavior and it will actually break because I mean we can just break it if we just go back so now because it's undefined behavior and this is like a new compiler thing in the last year well now if I do that seg faults so I don't get one anymore because it's smarter than me it returned null and I can't de-reference null so I can't try and use it or save it or do anything so this is probably yeah so this is a fun new compiler this is a fun new compiler thing that will probably cause some undergrad things to break eventually so that was just a little fun demonstration so any questions about that? That was more of a fun aside of the stack all right so let's get back into the actual content so for other dynamic memory where you can't use a stack so you might need to use other dynamic allocation and that's the malloc family of functions so that's like malloc, caloc, ralloc I think that's most of them and that's the most flexible way to use memory but it's the most difficult to get right because you have to handle the lifetime of the memory and make sure you free exactly once so as long as that memory I need lasts as long as a function lasts well then a stack is appropriate it's really fast to free but if I want, for example if I actually want to return a pointer to an int there and I want it to outlast the function well I suddenly can't use the stack anymore and I have to use something like malloc so the deal with malloc is you're allowed to get memory back however many bytes you want but the compiler is not going to know when you're done with it so you have to tell it you are done with memory and you have to explicitly call free and that gives us all our fun memory bugs we all know and love like you can't call free twice you shouldn't use memory after you free it which is more or less that same problem with the stack so that's kind of the same thing as using memory after we free it and also there is a new concern we have fragmentation so we saw fragmentation in the file system context before where we had wasted space so we didn't use all of our block well if you're doing a general memory allocator which we don't have to write a memory allocator in this course you'll probably write it in the next course but we can talk about it and like the big general overall algorithms they use so fragmentation is only a unique issue for dynamic allocation so you allocate memory they're differently sized contiguous blocks and some things we can't do while you could eliminate fragmentation if you asked for memory you freed something in the middle well if you want to make sure you don't have any wasted space you could move all the memory together to make sure everything is contiguous and that is basically what Java does so as part of Java running and it's whole heavy virtual machine it will try and do this to eliminate fragmentation but in C you don't have that luxury because C isn't allowed to change the address for you so if malloc returns you an address and it's not allowed to change or relocate the memory whatsoever so C's not going to be able to relocate anything because the decision is essentially permanent so a fragment is just essentially wasted space so it's a small contiguous block of memory that essentially can't handle any allocations you can think of it as just some wasted space in memory it's not useful anymore or you can think about it in the file system sense where I'm not using a whole block I'm only using a bit of it so I'm wasting a bunch of memory so in order for you to have fragmented oh sorry was that a question? Okay, what was it anyways? Yeah, yeah, yeah so easy case for fragmentation I could just allocate something allocate something else that I don't know it's a different size and allocate something else that's a different size and then free the second one so now there's a hole in between them and now if all my other allocations are like too big to fill that hole then that hole will never get filled and I can't do anything about it yeah well I said assuming all the allocations are too big for it, yeah but then there's a case where oh you might create other holes as you go on even if you do find one that can fill it and so on so there's three main requirements for fragmentation and they all have to be true as long as one isn't true you can avoid fragmentation so first one is all the allocations have to have different lifetimes so you can know this to be true so for stack-based allocations well they're all different sizes and you can't relocate anything but the stack won't have any fragmentation because everything only lasts as long as a function lasts so if you need four bytes and then you need eight bytes and then you need 12 bytes well it'll just allocate them all nicely in a row because they last as long as a function and then when the function's done it just deallocates all of them so it can space them right next to each other there's no way to stop using a global or sorry a local variable so I can't stop using one like halfway through the function the next one is all the allocations have to be different sizes in order to get holes so that you can think of as like our inode table so our inode table wouldn't have any fragmentation in it because the inode table everything is the same size so everything's 128 bytes so one block or one inode space for an inode is as good as any other one so you can always as soon as you free it you can always reuse the space so no issue with fragmentation there because everything's the same size so you don't have to worry about it and then the third one is you can't relocate previously allocations so if I could relocate something again I could just what Java does essentially is like pause your program, move all the memories to be right close together and that is why Java doesn't let you use pointers because it uses pointers that can change so it's like a level of indirection so you're not allowed to look at the pointers in Java because they might change under your feet when it actually moves the memory around and it takes a lot of smart people to go ahead and figure out oh if I move the address of something how do I fix up everything that refers to it you could imagine trying to change the address of something in C when like 10 things refer to it and you miss one and you are screwed so yeah something like Java will do that but something like C will not do that because all the decisions are essentially permanent okay so and there's also two types of fragmentation so we can finally get into this so there's external fragmentation that occurs when you allocate different size blocks so that's within the like memory allocator to actually control and there's no room to allocate between the blocks so that's kind of what we've been talking about so far and then internal fragmentation is if your allocator uses kind of blocks or some fixed size memory that doesn't exactly fit the allocation well then there's going to be wasted space in a block so for example for your file system that has all sorts of internal fragmentation because it only deals with in your case for lab six only deals with like a kilobyte block so if anything is smaller than a kilobyte any other space is wasted so that would be internal fragmentation because your file system only keeps track of blocks of a size of kilobyte it doesn't care about anything smaller so that's also why your file system doesn't have any external fragmentation because it again it only cares about things being one kilobyte and that's it it doesn't care about anything being different sizes if anything needs to be bigger it just breaks it up into fixed sizes of one kilobyte where it doesn't care they're all treated equally okay so if you're writing malloc or you're just using your program well you want to minimize fragmentation because that's just wasted space that you should prevent and there's lots of people that their full-time job is this so like imagine Chrome developers or something like this where they're wasting gigs and gigs of memory and a lot of that is probably fragmentation so they care so much about it that Chrome and most browsers will ship their own memory allocator to not use the same one you guys use because they know more specifically what they are doing and they don't want fragmentation whatsoever so if you're writing your own like general purpose allocator if you're writing your own malloc which we're not doing in this course you may do later you want to reduce essentially the number of holes in memory and if you have holes you want to keep them as large as possible and the idea behind that is that hey if I have really large holes I can actually use them for allocation and therefore it's not really fragmentation so your goal if you're a memory allocator is to keep allocating memory without wasting space so allocator implementations usually use a free list so we talked about a free list of pages well that wasn't that general because pages are all the same size and this is the more general one where we actually keep track of different size memory allocations so a general allocator will probably also have a free list and it keeps track of free blocks of memory by essentially chaining them together and this is just one big link list of free memory and you also have to keep track of how many bytes are free so if you're implementing malloc well you have to be able to handle a request of any size I can ask for four bytes, I can ask for eight bytes I can ask for 16,000 bytes I can ask for weird numbers I could ask for seven bytes and malloc has to handle that and then that's what you have to do if you're malloc and also well you have to implement free so what free would do is add the block back to the free list and if it's neighbor essentially if its neighbor is also free well it could merge it back into one bigger block so it can actually use that for a bigger allocation so using that kind of general, really general free list there's three general algorithms or allocation strategies you can do there is best fit so that's probably what everyone would think to do if they see blocks of memory with holes in them and an allocation comes in and they have to do something with it so best fit means it would choose the smallest block that can satisfy the request hopefully it's kind of our goal we were thinking about before of maintaining large holes so we can actually use them for allocations so this will use the smallest one possible and try and find an exact match so worst case it would have to search through everything in the free list but in best case if there's a exact match for the size of the allocation we need it would just use that one and it can end early all right the next strategy is probably sounds stupid to you and it is called worst fit and it basically just does the complete opposite so it just finds the largest block whatever has the most leftover space and uses that one so searches through the list finds the biggest free block and says yep that's a good home for me I will use that one and then the last one well is essentially first fit or essentially like it's kind of like the FIFRO idea where you just take the first thing that works so as soon as I find a free space big enough for the request I say okay I'm done I'll use that one so typically whenever you first do memory allocators you would use something like first fit because well you don't have to search through everything but let's take a look at some examples to see what we have so here's what I'm going to illustrate so at the top there that big bar is like how much memory the allocator is managing right now and anything in a color is used so I can't allocate in that space and then any of the blank areas there are free and they have a number associated with them and that's how many bytes are free so in this example my memory allocator at the certain point in the program there's an allocation in red that I'm not allowed to touch I have 100 bytes free and then between then next I have some blue allocation or teal or aqua marine I guess look at that color knowledge and then we have 60 bytes free after that so now if we have an allocation request so someone calls malloc 40 so we'll represent in green well where should I place this block so allocation for 40 which one should I use should I put it use the 100 space or use the 60 space yep 60 yeah 60 it's the smallest one I'd want to leave that nice big 100 byte hole so I'll go ahead and use the 60 space so I put my green allocation there at the front or the back whatever makes you feel good and then I would have 20 bytes free now because 60 minus 40 is 20 so I have 20 bytes left over my free list so this is a bit hard to see but now I have this purple block that is 60 so I should probably change the text color to white so this is yeah so this allocation is 60 so now where can I put this block well the 60 you can't see doesn't fit in the 20 so I have to use the 100 so I put the 60 in the 100 and that also doesn't show up that well on the screen so that's great so after this I placed the purple one and now I have another allocation of 60 bytes well my memory allocator in total I have 60 bytes free I have a 40 and a 20 but they're not contiguous they're not beside each other so it doesn't fit anywhere and now I would just say hey I'm out of memory sorry you actually have 60 bytes free but I can't do anything for you so that's not great so let's see what happens when we do worst fit so worst fit should be worse but let's see so if we're doing worst fit we're going to do the same allocations so we have the 40 byte in green that we can actually see so worst fit I'm not going to put in the 60 because my biggest block is 100 so I'll put it in the 100 and front or back doesn't matter so I'd split that 100 block into 40 that I use and then 60 is free so now my memory allocator has two 60 byte regions left and you can probably see where this is going so my purple allocation is 60 where do I allocate this? in this case it doesn't matter because they're both size 60 so let's put it at the first one and now I have my final allocation of size 60 and now it fits directly in my remaining space so I can actually use all the memory so in this case worst fit actually worked out better for us but nothing's ever really guaranteed the thing about this is best fit and worst fit are both slow and no one actually uses them to implement memory allocators because you have to search through the entire free list which is going to be really, really slow so what best fit does is it kind of tends to leave very large holes or very small holes and the small holes are probably gonna be completely useless so they're gonna be like a lot of really, really small fragmentation throughout the memory and then if you simulate these things well if you do worst fit simulation actually says that worst fit is actually the worst in terms of storage utilization so it's actually a fairly fitting name while the thing you actually implement if you simulate it is if you use first fit which again doesn't have to search through the list it just looks for the first free block that can fit well it actually tends to leave average size holes which seem to work because you can actually reuse them for allocation so it doesn't actually have that much practical fragmentation and actually works quite well so any questions about today? Sweet, yeah like I said wrapping up on the course so I'll probably just end early and then we can ask lab six questions if we wanna go over that. All right so what we'll be doing tomorrow too well the kernel actually has to implement its own memory allocations because if you are the kernel guess what the standard C library doesn't exist so you will not be able to allocate memory using malloc because if you are the kernel or the first thing booting well guess what the C standard library doesn't exist and the kernels not going to use those types of memory allocators we looked at today those are like really really standard allocators we'll see what the kernel actually uses tomorrow and the concept are pretty much the same for user space allocation so the memory allocators the kernel uses you could actually use yourself but what we'll see tomorrow is that they're not quite as general and have different trade-offs but what we saw today there are static and dynamic allocations so static global variables you have to declare them up front dynamic two types stack and heap heap ones are through malloc stack are local variables and for general dynamic allocations like using malloc and free well fragmentation is a really big concern people implement their own memory allocators and really go out of their way to reduce that and it's something that once you get into like high performance programming really really have to care about that stuff well it's going to be something unfortunately you have to care about because that's a computer so dynamic allocation it will return you blocks of memory the fragmentation between the blocks is called external fragmentation fragmentation within a block that the memory allocator is using is called internal fragmentation and we saw three general allocations for different sized allocations so worst fit best fit which again have to search the entire list and then first fit which finds the first free block so just remember full for you we're all in this


Now, I'm gonna start this off by saying I've never played Assassin's Creed before, but I did watch my cousin jump off a roof into a hay bale once. In game. Don't worry. In today's video, we are going to be talking about Assassin's Creed Syndicate. And before I show you any of the cutscenes, I have to say that the graphics in this game look amazing! Syndicate is set in London, 1868, in the heart of the Industrial Revolution, an age of invention and prosperity built on the backs of working class slaves. As gangster assassin Jacob Frye, you will recruit your gang to fight for justice on behalf of the oppressed working class and lead the underworld to take back London in a visceral adventure filled with action, intrigue, and brutal combat. Throughout your adventure, you'll free exploited children used as slave labor, steal precious assets from enemies, rally your rival gang members to your cause, and reclaim London for the people. You will stop at nothing to bring justice to London's lawless streets. There's a new, dynamic fighting system that's fast paced and brutal. As a master of combat, you can combine powerful multi-skills and countermoves to strike your enemy down. Use improved stealth tactics to elude your enemies and unleash your arsenal of weapons, including the kukuri knife, brass knuckles, and a sword cane. Utilize new technology like the rope launcher to scale buildings in seconds and take your enemies by surprise. I've always been really interested in wanting to play the Assassin's Creed games. They've all looked like so much fun and I've heard nothing but praise about them. I just never took the time to get into them. So if I started playing this game, do you guys think it would make sense? To me, I'm not sure if they all follow a storyline or whatnot, as I know they're all set in different time periods and places. Now speaking of places, Syndicate is a massive open world of Victorian London. You can see places like the Buckingham Palace and Big Ben, parkour across moving vehicles, or blaze a trail of destruction on the steamboats along the River of Thames. Another fun twist in the game is that you can play as Jacob's twin sister Evie, a relentless assassin who has perfected the silent, swift, invisible strike. But there is no multiplayer in Assassin's Creed Syndicate, so you'll never get to murder alongside your brother. Sad day. Well guys, that's it for today's video. I hope you're excited to play the 9th installment of Assassin's Creed. If you have already started playing it, please let me know how you like it down below and if it would be worth my time, I'm sure it totally will be, but I just would like to know your opinions on the games that I talk about. So leave me a comment down below and let me know about this game. If you want to see more of me, you can find me on my channel Brits Games, also known as Babypaws. My links are all in the description as well. Leave a like if you enjoyed this and I will see you next week. Goodbye! Harmony Hollow is a brand new multiplayer modded survival series that has a ton of my best friends from YouTube on here, and I've just been so beyond excited for this whole series. I've been working so hard on it for the past probably two weeks, so I am so excited to finally be able to bring this to you guys. Impulse is produced by the Freedom Network. Ever wanted to earn revenue from your videos? Freedom offers a great partnership program which includes access to hundreds of thousands of audio tracks, sponsorships with great partners, and most importantly a no lock-in contract. You can leave at any time for any reason. We accept everyone, both big and small. For more information click here or visit the link in the video description.