Not surprising, I get a lot of questions of Chris. You got two jobs, you're right blogs, you do so many things, you even have a kid and a beautiful girlfriend Tristan. Why do you do YouTube as well? You got so much stuff going on. And to answer that question, we're gonna discuss my life debt. What's up everybody? This is Chris from the Rewired Soul, where we talk about the problem, but focus on the solution. And if you're new to my channel, my channel is all about mental health, addiction recovery and sometimes what I like to do, I like to share my personal experience to try to help anybody out there who might be struggling in life. So if you're into that stuff, make sure you subscribe and ring that notification bell. And in case you did not know, December 15th, Sunday at 3 p.m. Pacific time, we will be doing two things. One of them is I am announcing the final winner for the Shane Dawson conspiracy palette giveaway, but we're also doing a charity livestream to raise money for faces and voices of recovery, which is an awesome nonprofit out there to help raise awareness about addiction, decrease the stigma, help change policies, and help people out there who are struggling with addiction. So make sure you join us. And if you're looking to get an extra entry in the Shane Dawson palette giveaway, retweet my tweet of this video. So make sure you follow me over on Twitter at the Rewired Soul. All right, so let's jump into this thing. Like I said, I am one busy dude. All right, I have two jobs.  All right, but still, I am quanking out YouTube videos, I write, and all these other things. You know what I mean? And I wanna discuss some of the reasons why I do that. And it's really helped me with finding meaning and purpose in my life and everything like that, but I wanna kinda share with you guys the story of how that happened because just in less than a week here, I'll be celebrating seven and a half years sober. For those of us in recovery, we don't really do the half milestones after the first year, but I do pay attention like, dang, seven and a half years is a long time, because I used to not be able to go like an hour without getting drunk or high. You know what I mean? And yeah, a lot of my life is dedicated towards helping others, and there's a very good reason for that. So I shared my story yesterday about how towards the end of my addiction, the hitting rock bottom, like I just had no purpose to live. I just didn't wanna live anymore. So I wanna share with you a little bit about what brought me out of that hole. So when I first got sober, I didn't have money. I had no health insurance, nothing, right? The only thing that was given to me was my mom put my butt in a sober living house and she was paying my rent there. It was about 500 bucks a month.  I had nothing. I had like three pairs of clothes to my name and that was about it. I had like a pay-as-you-go phone and everything. So I didn't really have much. So because I couldn't go to like a traditional rehab, because I couldn't afford therapy or anything, basically what they did, they said, here's AA, here's NA, these are free 12-step programs and hopefully one of those work or else you're probably gonna die. So my first week or two sober, I was very resistant. I didn't wanna go to any meetings.   And I've discussed a little bit about how depressed and still suicidal I was in my first three months sober. And the only thing keeping me going was just listening to people share their stories in meetings, but I caused my own misery. One of my favorites, I don't know whether to call it a quote or a formula, but it's from one of my favorite meditation teachers, Shenzhen Yang, and he says, suffering equals pain times resistance, all right? So I was causing my own suffering by having that pain and I was resisting doing anything about it. And I just sat there in 12-step meetings and I started to kind of see who was succeeding, who had a better life. And for me, it wasn't just about staying sober. Like staying sober isn't really all that fun, all right? But having a great life, that is fun, all right? Like I have an amazing life today. So what sold me on the program was after sitting there for three months, watching people not only were they sober, but their life was getting better and they had a formula for that. It was very simple. I saw that every single person who had a better life was not only going to meetings, but they had a sponsor and they were working the steps.  And the way I got myself to do that, because I really did, I hate asking for help and I didn't wanna ask some dude to sponsor me and tell me what to do and help me and all this other stuff, but I knew I needed to do that. So maybe you can use this hack. But I set a goal for myself. We had to have a weekly goal in my sober living, but I still do stuff like this to this day to make sure I get stuff done. But I made a goal that by the end of the week, I was gonna ask somebody to be my sponsor. And me being the amazing procrastinator that I am, I waited until the end of that week and I went to a meeting and it was an hour and a half long NA meeting and they had a smoke break in the middle. So the first half of the meeting, I didn't ask anybody to be my sponsor. So my plan was, after the smoke break, I was just gonna interrupt the meeting and just raise my hand and be like, duh, I need a sponsor, all right? So luckily this dude came up to me like during the smoke break and I'd seen him around at meetings and I heard him talk and he sounded like he knew what he was talking about. He seemed happy and everything like that and basically we started having a conversation and he's like, hey, I've seen you around, how much time do you have? And I was like, yeah, I've been sober for three months and as a way to kind of break the ice, he was like, something really cool happened to me today. I'm like, really, what's that? And he's like, I got approved for Cole's credit card and I'm like, oh snap.  Before a guy like me, when I first got sober, that was a huge deal because a lot of us who are drug addicts and alcoholics, we destroy our credit and our whole financial state of being. So somebody getting approved for a credit card, like he was in that same situation and he, think at that time, yeah, he had three years sober at that time. So he started talking and everything and he asked me, he's like, so what's up? Do you got a sponsor yet? Are you working the steps?  And he's like, you want me to sponsor you? Just without hesitation, I was like, yup. And he saved me the embarrassment of going back into that meeting and asking some random, you know, to be my sponsor, even though he was kind of a random. But anyways, we started meeting up. He had me call him once a day and I had to read part of the big book. But as time went on, see like, all of my relationships in the past were all transactional, right? And a lot of us are like that, even if you're not an addict in recovery. A lot of us have these transactional relationships. Like, I only kept people in my life who can give something to me. But on the flip side, people only kept me in their life if I can give something to them. And this dude was donating his time to me asking nothing in return. Like, you guys, this guy, I was giving him nothing in return. And he would meet up with me multiple times a week for hours, okay? To just talk, to go through the book, to work on steps, right? We'd go out for coffee and since I was broke, he would buy me coffee. And sometimes he would give me a ride.  I'm like, why is this dude doing so much for me? I'm like, he doesn't even know me. And I was like, what can I do? Like, because so many people are paying for therapy. Like, I'm currently in therapy now that my situation is much better and everything like that. But I'm like, this guy's giving me free therapy. And I'm like, and I'm giving him nothing in return. And finally like that, I don't know, I felt guilty for providing nothing in this relationship. Like, all this guy was doing was open to me. And eventually one day, you know, after we were working together for a month or two, we sat down and I'm like, dude, like, cause he would call me and like, I'd call him. He'd help me stay sober when I was just losing my mind. And I sat him down. I'm just like, dude, I'm like, what can I do to repay you?   Now, one thing he did, which I try to do for others now is he told me, he's like, I'm not doing anything. He's like, you're doing all the work. You know what I mean? But without his guidance, I wouldn't be here today.  But I told him, I'm just like, what can I do to repay you? I'm like, how can I ever repay you for saving my life and helping me understand and get this thing? You know what I mean? Like I said, I'm coming up on seven and a half years sober and so much of it is thanks to that man. And I'm like, what can I do to repay you? And here's what he said. He's like, all you have to do is once you get this thing, help other people. And I'm like, wait a sec. I'm like, that's it. That's it. All I'm gonna do is just help other people.  You know what I mean? But that's how 12 step programs work pretty much. They're just like, hey, once you get this thing, help other people. So that was something that I could do. And it started out very little. Like even before I finished the steps, I would try to help out newcomers and talk to them, give them my phone numbers and my phone number, not phone numbers. I only have one phone number. But I would give them my phone number. I'd sit there and talk with them after the meeting if they were struggling and everything. Because like I said, the only thing this dude asked me was to help other people. That was it. That was it. And eventually I got to a place where I started sponsoring other young men and everything. And I don't know if it's part of my addict mindset, but I always want to do more. I always want to do more. So my first three years, I was just helping other people in the program when people would reach out to me. Because once I came out of the closet as a recovering addict, you know, old friends, family members, they would tell me about their own problems. So they'd ask me how to help someone they knew. But when I was three years sober, that's when I got the job offer to work at a rehab. And let me tell you about a dream job. And let me tell you about a dream job, right? Like I was able to help people on a bigger scale. Like I was able to do groups for 50, 60, 70 people.  Like what? Right? So yeah, like this dude, he just asked me to help others. And that's why I say like, it's my life debt. Like that guy saved my life and that's why I work so much and I still do this YouTube channel. I no longer work at the rehab. I work for a different, I work in a completely different industry kind of, but this YouTube channel is the way I'm still able to do that and still able to help others from all over the world too.  And that's what brings me fulfillment and joy. Like it gives me meaning and purpose every single day.  Like so many people have these like existential crises. Like what's the meaning of life? What's my purpose in life and everything like I wake up every single day with meaning and purpose when I just want to try to help one person. If my goal for the day is just to help one person, I have meaning and purpose every single day. And this isn't just like some luxury that I have. All of you get to do it. Hell, some of you are doing it. Whenever you share your story in the comments below, you might be helping one person. You know what I mean? So to end this video, I'll give you guys the same mission that my old sponsor gave to me. If I've ever helped you in any way through sharing my experience, through sharing the things that I've learned with all the fricking books I read and everything like that, like use that information to help others. I think a great example to look at is Taylor Nicole Dean, right? Taylor Nicole Dean had the opportunity to go to rehab. She knows how many people don't have that opportunity and she's sharing the knowledge that she gained in that situation with as many people as she can, so for you, you don't have to start a YouTube channel or anything like that. Maybe it's just helping somebody on Twitter, joining a Facebook group. There's so many mental health addiction recovery, so many just support groups, trauma survivors and all that. Just go in there and there's always people in there where you might be able to say, hey, here's how I got through a situation like that. I don't know if it'll help you, but maybe it will. Like that's all we can do. There's no magic bullet to just fix all of the world's problems, but what we can do is saying, hey, this work for me, maybe it'll work for you, right? Like if you've been through any struggle in your life, you have some experience because you're still here today to tell that story so maybe however you got through it can help somebody else. You know what I mean? Anyways, this video is longer than I expected, but to answer your question about why I work so damn hard and still do YouTube videos on the regular, it's because of my life debt, baby girl, but it also, I love doing it. It's this very unique thing where, you know, they say we keep what we have by giving it away. All right, but anyways, that's all I got for this video. Don't forget, if you want an extra entry into the Shane Dawson conspiracy pilot giveaway, retweet my tweet of this video. You'll get an extra entry and join us 3 p.m. Pacific Time tomorrow where not only will I be announcing the winner but we'll be doing a charity livestream for Faces, Voices of Recovery. All right, that's all I got for this video. If you liked this video, please give it a thumbs up. If you're new, make sure you subscribe and ring that notification bell. And the hugest of all thank yous to everybody who supports the channel over on Patreon. We just had some new people sign up. Everybody who supports the channel by buying my mental health books at therewiredsold.com or buying the merch. Like all of you out there who support the channel in any way, even if it's just sharing my videos, you help me do this, which is something that I absolutely love. All right, thanks again for watching. I'll see you next time.


and bagged go-karts. New deliveries arriving every week. Great offers on best-selling brands like Lego, Bruder and Schleck. From Cocoa Mellon to Gabby's Dollhouse, you'll find great gifts for everyone on your list with a visit to Toys at Foy's Bally Buffet. Pay in three easy installments with Klarna and shop local This Christmas with nationwide delivery at ToysAtFoy's.com. It doesn't take a lot to achieve a lot, particularly when it comes to COVID, flu and other winter viruses. Remember to keep doing the simple things like cleaning hands, wearing masks, opening windows, as well as keeping up to date with your vaccine and boosters, and staying home and sick or displaying symptoms. We know these steps work, and they'll keep working as long as we do them. Let's keep on top of COVID, flu and other winter viruses brought to you by the Government of Ireland. Highland Radio are on the road in 2023. Join us for our trip to Dublin on Thursday, the 23rd of February to see the 25th anniversary show of Michael Flatley's Lord of the Dance. This show has amazed audiences across the globe, with its fusion of high energy, Irish dancing, original music and storytelling. Sit back and relax as we take care of everything. Your trip includes luxury transfers to and from Dublin, staying at the four-star waiting hotel in Dublin, including breakfast and your ticket to the show. Call us today on 074-9125-000 for more information. The best music on your station with Paul McDevitt. You're welcome back 16 minutes after 8 o'clock on a Monday night. And once again, we're delighted we have a gentleman all the way from Malinhead, Sonny Malinhead, we'll call it. And just before we speak to Sean, this Friday night in McLean's Bar in Malin, there is a quiz night, and there's loads of raffles and prizes. So all the proceeds are in aid of the Irish Wheelchair Association, that's the Malin branch. And it's only five euro per person, so a good amount to crack. And the Wi-Fi will be turned off just prior to the quiz starting, just in case any of you think you're going to be really, really smart, smarter than usual. But go along and help a good cause, McLean's Bar in Mal, this Friday night at 9 p.m. And thanks, Ally, as always, for getting in touch with us. But anyway, listen, we say hello, and we welcome for the first time the student, Sean Meaghan. Sean, good evening to you. Good evening, Paul. How are you? I'm good. So we quick introduction to yourself. You're Sean Meaghan, you're from Malinhead. That's right, yeah, Malinhead. And you've always loved Malinhead, haven't you? Oh well, always loved Malinhead, yeah. Good stuff. And songwriting, how long, or singing a big part in first? How long have you been involved in singing? Well, we've been singing and playing guitar really about nine years. And I started off with kind of trad music, playing the accordion and then the banjo, and got the trad. That's where I started off. And then I kind of... Why did you try it in the house? So I had my auntie play the button key accordion. She was a button key accordion player, so she kind of got me into that there. And then I kind of went on my own route then. Right away. Do you fall back to trad music? I do the odd thing, yeah. I love a bit of trad music. Of course, of course. And do you have a songwriter? I write a few songs yet. I write a few songs, but I haven't really recorded anything yet. Just a few ideas and a few riffs, but nothing too serious yet. Well, take your time. It'll come along. But anyway, as we always do, we get a quick talk and then we get a song. So, Sean, we're going to go straight into the piece of music and your first track up for us tonight, Crack and Tune, it is? Sweet Home Chicago. And well, listen, whenever you're ready, we're where they're here. That's great. Thank you. It's the same old place. Sweet Home Chicago. One of us two, six, two is eight. Come on, baby, before it's too late, hey, hey. It's the same old place. From Chicago to the south. Absolutely brilliant. Tell you what, your guitar works amazing. Thanks, Muggin. Oh my God. That's just a real crack and intro on that too as well. Tell me, are you a blues fan? Oh, I love the blues. Is that right? Even from a young age.  Do you like the old stuff? Old stuff, Robert Johnson. Robert Johnson, yeah. Later stuff then like Muddy Waters and kind of Air Clapton's kind of stuff, just range of blues, range of blues. And that was amazing. Are you self-taught in the guitar shop? Most of it's self-taught, just off YouTube, you know. Well, Ann Byrne kind of taught me the originals and the basics. Okay. And then I kind of just learned myself then what I wanted to learn, you know, just the blues and I did all that off YouTube. That's amazing. Ah, it's great. It's a good outlet for people. Oh, that's fantastic. I've been on it loads of times. I still can't play guitar. I don't know what I'm doing wrong, but anyway. The gig and why is it on? Do you gig much about? I do. I started gigging there last October. October past. Right. And I was gigging all over in Malntown, and carrying on on as far as Dairy Lake. And then I did a gig in Glasgow there last Christmas. I was playing in Glasgow last Christmas. What took you over to Glasgow? I don't mean obviously a boat or a plane, but what reason? There was actually one of my friends. He's from Belfast. He'd be a friend of the family. He'd have a friend over there that owns a pub, and she just wanted like a bit of music. So we went over and I played in a couple of pubs over there and went to Celtic Gaming. That was good fun. I've been wrapped up by. And how did you find that? How did you find that sort of different type of audience? Ah, it was kind of like, it was a Celtic bar. I was playing it. So it was kind of the same music I liked. Home from home. That's it. Ah, good crag. That's brilliant. It's nice to get out and do that.  Obviously, you have to play to that crowd. That's it. You can do that quite easy. I can do that because I have songs like Different Settlers for different kind of events, like from playing in a pub that just wants kind of rock and country and things like that. You can do that too. Yeah. And then if I'm playing in Glasgow and the Celtic bar, I want a bit of rebel and a bit of used tunes like so. Excellent. I changed it up. Good man.  Ah. As I said earlier on songwriting, you do bits and pieces or? Bits and pieces, yeah. Bits and pieces. Just having really recorded the Celtic, just kind of getting there and kind of perfecting it before I record it. Would that be in your plans, kind of thing? Would you like to do that? I'd love to do it. Yeah. Well, you're studying at the moment, aren't you? You're actually doing the country and Germany's part of the world. That's right. In Corka. Uh-huh. Studying down there. I'm studying nautical science there. Oh. Training to be a ship officer, yeah. So down in Corka and Rignes-Giddy, in the Maritime College. And how far are you on that? This is my first year. My first year of college, so. How do you find it? I'm loving it. Very interesting course, I have to say. Very interesting. Well, is that, what's that? I'm just, I'm getting away from the music now because I'm an old-school kind of a book, you know what I mean? But what took, what took that road for you? Uh, well, I actually did a course there in Boncran a couple of years ago. It's like a Coastal Explorers program. Okay. So we went out tagging basket sharks and doing different things. Like, it was excellent. And kind of ever since that on, I decided I wanted to go down that road. Excellent. That's a lovely, that's a different, you know, I'm always curious when I'm talking to younger people to see what direction they're looking for now. And I think it's the first time. Who's it? Michael Gillespie? Is it Michael? I don't know, Charles and the Rise. Who's the, the, the charge of the ship? Queen Cassie. Aye. Charles, erm... Aye. His name's gone, aye? But he's the captain of the ship. He was up with us, singing here, too. Aye. The guitarist. Oh, his name's gone. He was in my head.  That's us. Is that the sort of plan and then they sort of just head away? Head out to sea, yeah, but always keep music on the side. Like, I'll always get some music on the side. That's great therapy. Charles, what about your accommodation in Cork? How's that going around? Well, there's a long story, kind of accommodation was hard to get in Cork like before we went to college. Yes. Just by chance, Mammy put something up on Facebook there. Yes. And we got back, this fellow's lovely fellow, like in episode of Big Time. He asked us, he offered his house then to us. So we're living on a dairy farm now in Cork. Away. Aye. And have you worked a bit like that? Oh, I worked. Have you been working the farm? I worked weekends. I mean, another fellow from Allen Heads down there. And you work on, is that cover the rent? Oh, covers the rent. Well, half of it anyways. That's a good idea. Oh, that's great. That's great. Malcolm, you've never done it before? Never done it before, but we soon learned. And tell me this, is it all working or you never get out for a bit of crackdown or a crackdown? Ah, sure. We'll get out the odd time. Ah, of course. Ah, of course you do. But it's a big farm. Aye, he's 180 cattle. So it's big enough. Big enough. You go from Allen Heads to Sturdy, then you're working on a farm. Aye, oh, it's... Do you know how to say? That's it. Do you know how to say? But you're so mechanical now. Aye, well, he's a mechanical pump, so it's just a matter of putting them on. Like, do you work all weekend? Or do you do? Ah, it just works. Bits on Saturday. Like, bits and pieces on a Saturday and Sunday. Like, it's nothing too serious. And are you up or are you on one's errand for this tonight? Sorry? Are you up on one's errand for this tonight? Should you be down on Cork? I should be down on Cork in the minute, eh? Well, I appreciate that. Thanks very much. No bother, no bother. It's a pleasure. That's very, very nice of you indeed. Sinead Boyle says you're brilliant, Sean. Thanks very much, Sinead. There you go, Sinead. And we would love to get another track from you now. And who... Before we go into this second track, you're saying... Who would be your kind of an inspirational thing of what? My inspiration, I think Pete Townsend would be a fantastic guitarist. Right. I love Pete Townsend. They're the classic kind of 70s, early 70s. Yes, yes. And then Sinead Weiss, I think Robert Johnson and the Blues Vocals and Muddy Waters, them boys. They'd be great inspirations for Eleg. More since the coming of YouTube and stuff, that's when I kind of went on to that. I want to say, I was blown away with it that the much archived stuff was there. A lot of history. These boys were trailblazers. They were just amazing. You know what they... And a lot of them died young and in trouble circumstances and... You know what I mean? There's not a controversy over that there. Oh, without a doubt. But Robert Johnson just something else. Like, there's no...  Some of them even made their own guitars out of cigar boxes. Definitely, I think. I got myself a cigar box guitar. Brilliant, you know. You're fantastic. They are... I love it just because there's six things in it. You can make some kind of noise out of it. That's it. But I love that how they really make music out of basically nothing because obviously they had nothing, but they still got the music out there. And there was a great... I love the harmonica and there's a great harmonica playing done on that time too. Do you ever try that? I never tried the blues harmonica. I've never tried it, but it's one instrument that is probably the sweetest of blues, like. Beautiful, absolutely beautiful. But I don't remember that. The next song you're going to do for Sean. It's going to be Fossum Prison Blues, Johnny Cash. Oh, are you a Johnny Cash fan? Ah, I love Johnny. Who doesn't, eh? That's it. Well, Sean, we're looking forward to hearing this, so... That's great. Whenever you're ready. Hold on, I know Jimmy's just going to... Oh, go ahead. Right, go ahead when you're ready. Well, I hear that train of coming. This rolling relevant. Then I had seen some chimes. I don't know where. Cause I'm looking for some prison. And time eats. Drag it on. For that train to keep from rolling. And I said, man, it's over. When I was just a baby. My mama told me, son, Always be a good boy and never play with guns. Flash out of Manorino. Just do what you got. What I hear there was so long. I hang my head and cry. Fancy dine and cries. Probably drinking my face. Smoking this guy. But I know I had it coming. I know I came from this prison. That railroad train is mine. I bet I'd move out of here. Further down the line. Drive from Folsom Prison. This where I'd want to. And I'd let them so much. Blow my blues away. So, you know, that's a different version. I hear the blues coming through that. Amazing. Absolutely brilliant. Oh, you're only slanted. But that's good. That was actually brilliant. Well done. Thanks very much. Kaira McGee, hello to you. Kaira said that. Unreal, Sean. And Kair McGonagall says class, Sean. Lad. Thanks very much. So, blues, obviously a very influential part of your of your music repertoire. Do you include that kind of twist in most of your songs? If you get a chance. If I get a chance to put it in, like things like Creedence Clearwater Revival had kind of put me onto us in that too, like. John Fogarty, class.  You know, it's not usually fine that. No. But obviously, it shows somebody can appreciate good music. And that's what it's all about. That's what it's all about. Brilliant. Right, we're going to take a quick outbreak. If you've just joined us, you can follow us live. I forgot to mention that you follow us live on hidingradio.com. Just hit and click and watch live. And we are streaming across all the networks this evening. Right, quick outbreak. We're back with more music. Don't go away. Monday night sessions in association with Glakes Bar Letter Kenny. Every Wednesday man with the hat. Wayne has wild Atlantic soul with the best in soul. Northern soul. R&B. Two tone. Rock steady. Scar. Reggae, jazz and blues. All on original vinyl records. Your next adventure. Cruise the Caribbean. Sail from Crete to Corsica. Soak in Santorini sunsets. Dine on the shores of the Indian Ocean. Stroll through cobbled streets for hidden gems. Or bring the little ones to a magical wonderland. Trust the award-winning Atlantic travel to guide your next adventure. Step through our doorway to the world. Atlantic travel. Letter Kenny. Ah. No. Good boy. Keep your hat on, pet. Why? We're playing dinner at the North Pole, remember? So we need to wear our big warm coats inside. When it comes to food or heat, many families will face impossible choices this Christmas. Please support the St. Vincent de Paul Annual Appeal. Donate locally or at svp.ie. Thank you. Days suffer from high cholesterol, men of all symptoms, digestive issues, anxiety, aches and pains, or a lack of energy. The highly-trained team at the Natural Way Letter Kenny can provide advice on natural remedies for a number of individual health issues. The Natural Way also has its own brand of herbal treatments to help fight fatigue, relieve digestive discomfort, maintain a healthy immune system and alleviate common menopause symptoms. The Natural Way Letter Kenny Shopping Centre, your one-stop health shop. And you! Who, me? Yes, you will have three chances to win 1,000 euro. These draws before the big draw will take place on 11.30, 1.30 and 3.30 on Friday, December the 2nd. Live on Highland Radio! Yes, it's that simple. Get your Christmas off to a flyer. Go to highlandradio.com, click on the car link, purchase a ticket, answer a simple question, and we could be ringing you! I'm helping make this Christmas stupendous! That's going to be some prize for someone. Don't forget, as Greg's said, get your tickets and go on to the Highland Radio website and check it out. Don't forget also Michael Flatley's Lord of the Dance. This is part of the 25th anniversary show. It takes place on Thursday, the 23rd of February and it's down in the Borgosz Energy Theatre. And it's 265 euro per person sharing. There's a 70 euro single supplement and 100 euro per person booking deposit to secure a place and in brackets non-refundable. Price includes transfer, a tune from Dublin. Overnight stay including breakfast in the Four Star Curtain Hotel in Dublin, which is a good old spot. It's just beside the theatre there. And also you have a ticket to the show. Triple include time in Dublin and in the morning after the show before travelling back to Dundagos. So that's going to be good. And don't forget Daniel Rodano. The concert was originally planned for, what was that, 2019 or 2020? 20, no, 2020. Has been scheduled for March the 28th and all tickets purchased are valid for the reserve. The revised dates are big apart. And anyone who booked a package through Highland will also be honoured. Okay, so that's all to look forward in the new year. All been well and good. Anyway, never mind the new year. Well done, Sean. We're loving it from the McGillaways. Thanks very much. There you go. And tell me this, if you're down in Cork stand now, would you be looking about gigging down there? Because we're just talking off here. And the length of time it takes you to get to Cork on a bus. My God, buddy. You could be, your hair could fall out by the time you get there. I know. Do you ever think, would you consider gigging down there? I did a couple of gigs there in Cork in a Celtic bar there in Celtic Avern. Okay. It's called Friday Works Tavern now. But probably after Christmas I might think about doing gigs then. I was probably just doing that. College work and exams out of the road first then. Okay. Back to the gig. How long's the course last? Three years, but I'm actually, hopefully the way to see now in July coming. Oh yeah. Yeah. So you'd be away for, you have to a year see, James. So you'd be away for six months at a time like. And whereabouts would that take you? You don't know. You don't know. It could be Japan, it could be Singapore, it could be any place. As you do. As you do, actually. Where am I for the morning? I don't know. It could be Japan, it could be somewhere. That's it. It's interesting that I'm really interested. Brilliant. And the best to look at, I think that's an amazing choice of career. So well done indeed. As you say, you haven't recorded it, but would you be confident enough to say I have got a dozen songs here and I'll put them on an album? Probably if I did it about another two months at it, just steadily song-rated, probably could put an album together like for the stuff you already have. Put it right there. And have you ever, you've played solo mostly, you haven't played in the group or anything? No, I've played in the band when I was 15, I think that was really for about a couple of months, and then COVID hit then, so I stopped, and then after COVID then, I started going back into it, and then I just went by myself then solo. Well, you've definitely got a brilliant style, and I would have no doubt there'd be sort of good blues venues down about corks. Jeremy, wouldn't have been bound to be somewhere. And cork people are on the ball, you know, the middle age, thinking about everything. So your plans are anyway now just to sort of concentrate in this for a minute and then move on to further your career. Fantastic, Sean, from Yvonne minus Fantastic, Sean. All your proud Galway family listening in. Oh, we've got Galway connection to you. Oh, Galway connection to you. Oh, very good. Yeah, good family in Galway there. Yeah, that's handy for you when you're done to cork, just stop them out of there. Ah, that's very good. Sean, as I say, we've enjoyed your company, we've enjoyed your commitment to come up here, really, really appreciate that, because it's not an easy thing to do, you know. Fantastic music, Sean, listening in Coventry, a future star for sure. That's from Nana Grandav, Paul, Big D, Shale, Kira, Kian and Ellie. That's great. Thanks very much. And all the family over in Coventry. Hello to you listening in Coventry and good to have you with us on this fine Monday evening here in the Northwest. Right, Sean, we would love to get, I'm looking forward to this one because I have your playlist set list here in front of me. And this is the old Thinnessy classic. Whisk in the Jar. We had a few years ago, we had Eric Bell up here, just sitting by you where, who was one of the founder members of Thinnessy. And he actually does that guitar so well. And every time I hear that song now, I just think of him right away, you know. So I'm looking forward to your slant. Whisk in the Jar, whenever you're ready. Thank you. He was counting. It's amazing guitar work. It's excellent. I'm just looking at there and I'm total awe. Absolutely brilliant. Well done indeed, my God. Who sent a load at this time? Nobody or. Sean, lots of love from us listening in from Derry. That's Colin and Linda and Clara Cassidy. That's great. Thanks so much. I love you all. And we have another couple here. Where are we Jimmy? Fantastic. Always ready on that one. Last one. Yeah, aha. Here we go. Well done, Sean from Sophie, Katelyn, Ruri and Rushing. That's great. Thanks very much. You know them folks. I do that. Good stuff. So Sean, what are you playing next? Have you any lined up? Or what? Actually, if I get to do in Coventy there over Christmas. Okay. Yeah. So I'm heading over to Coventy there on the 23rd of December. And I'm doing a gig there in an Irish club. Excellent. So I'm going to go over there and playing in Annie's then on New Year's Eve. New Year's Eve and Annie's and all. Oh, well done. And is there a good Irish connection over there in Coventry? Coventry or there would be. There's a lot of Donegal and a lot of Irish over there. Oh, is that right? Yeah. Excellent. Well done. So if people want to get in touch with these social media ways. Social media. My Facebook page is just Sean Mehan. Then I've Instagram and I've Snapchat and all that like Sophie Bookings. I mostly just use my Facebook page. If anybody wants to book and get booking because if you want a good night entertainment and entertainment is. Do you know what I think we'll do? We would love to get another song. I know you've I know you're only getting paid for three, but the contract is for three. We would we would love to get another one. So we put you in the spot and that one if you don't mind. Excellent. Sean from Nellies and Balli Gorman. That's great. Thanks very much. And go on Sean. That's a man fair play to you from David. Good man, David. Good man, David. I saw big letters to capital letters. He must be shouting at us. He's not right. He's not right. He's not. Oh God. I've got help him to. Well done, Sean. Brilliant sir from David again. Good man, David. That's a week letter this time. Okay, smart yourself. Right, Sean. As I say, we put you on the spot now. One more tune. You know when you're looking to go home around. They go, one more tune. That's it. That's final one. We'll do Thunderstruck, basically. Do you need to retune or anything? No, no. Sure. That's the sign up. That's the sign up. Great position there. Take me straight on. Thunderstruck. You have a brilliant choice of stuff, you know. For us here at Effect from the Night. And Brilliant sir, well done. Right, I'm looking forward to hearing this. This is Thunderstruck. Sean Meakin on the Monday Night Sessions. And for people, if you're watching live, I'm sure you can appreciate the guitar work. Good man, Sean, from the Maddys. The Maddys. Thank you. Maddys is saying hello to you. Sean, what type of guitar is that if you don't mind me asking this? It's an Epiphone, Epiphone Big Jumbo guitar. Okay. Actually bought it off a man in my head. Michael Deary, he was another fabulous musician too. Excellent. He passed away there a couple of years ago. Wow. Yeah. Is this, have you more than one guitar or? I have a couple there, a couple of guitars, like a good few electrics and this is probably the best acoustic one I have. Is that right? Yeah. Lovely sound of it. Is it an old guitar? It looks so old. It is old. It is an old guitar, right? The old classics are the best. That's it, just. They're a proper mate. Absolutely. Sean, all we're going to do is wish you nothing but the best of success and your future going forward, of no doubt. It's going to be bright for you and I hope everything works out for the boats and whatever else. And good luck. As I say, we really appreciate the fact that you give up, you don't know fair, but you know, coming up here and stuff. Thanks very much for having me. Paul would keep them all night, Ali Farnsett. Good man, Ali. Oh no, it's good. See, great music and great artists. We could keep them here all night, listen to them. But no, it's been a lot of pleasure. Sean, making music or Sean, making on Facebook and social media. And if you want a professional artist for a night's entertainment, why don't you call them up? Sean, thanks very much. It's a pleasure. Thanks so much for having me. Monday night sessions in association with Blake


Welcome folks to the 2018 NCHA Summer Spectacular. Kicking off the finals tonight of the Limited Open Classic Challenge. Joining me now is Terry Hollis, the newly crowned champion. Congratulations to you Terry. Thank you ma'am, thank you very much. What does it feel like to be you right now? Excited, happy, happy for the owner. Just glad to win here, it's always good to win here, always. Now it was a mixed finals, some low scores, some high scores. You came out, had a 220 to beat. What was your game plan? I just wanted to be clean and smooth and not getting a big hurry because I can do that really easy. So I just wanted to slow down and just be smart. That's all. Now you have won in here before, but we were discussing earlier. It has been a long while between drinks. Tell us about your previous buckles. 96, I was second on a horse that belonged to Bob Ackadoc Gelli. And in 2004 I won here on a Dr. Gelli Twist Gelli. And that's the last time we made the finals. So what have you been doing in the meantime? I still train horses. I show them all the weekends and have some good young horses. So just a little bit of mixture of both. Okay, now your score, 222. Tell us about your three cows, how your run felt. Describe it to us. The first one I knew was a little black cow with a piece of shaving drawn that I really liked. And the white cow was up there with her, but the black cow stayed up there so I cut her first. The white cow, I didn't know her, we were a little skeptical over but she just walked up there and she was really good. I got to thank Craig Thompson and Rowdy and, you know, Sean Flynn and all my help, boy. And we cut the cows that we wanted. The last cow I didn't know, but I wanted to make sure that I didn't cut her too much time and ended up making a big mistake. Okay, with no semi-final, how does that change up the competition? I just try to approach it like a weekend show. I try not to put all that pressure on myself because when it does, it just makes things kind of erratic for me. I just try to keep things slow and clean and I just do the best I can. It's up to them to mark whatever they want. Okay. And Isabella Ray, tell us about your horse. She's a dual ray. A customer on my mind bought her as a three-year-old, a friend of mine that passed away a few years ago from cancer. And we've owned her. I've had her since she was a two-year-old and she's a bit of erratic sometimes, like a dual ray. She's super, super cally, super smart, and she tries 90% of the time. So I've enjoyed her. Okay. And with your horse now, what are the plans now that she's which age? She's six. Well, the customer I was going to show her, Dr. Paul Thompson, but he got her. So we'll go to probably some of the small, maybe run up to the North Country, maybe and show her the rest of the year and he'll show her some because he's pretty disappointed he didn't get to show her because he got hurt. So I said we would make it up by going out west or something like that. I bet you could smile on his face at the moment, though. Yes. Yes, I'm sure. So tell us now, we've had 100 degree days. You're from this area. Yes. How have you been coping and training your horses? What time of the day do you get up and do that? What's that challenge like at this time of year? It's very difficult because we have to start sorely. We started three and try to be done, you know, 9, 10 o'clock because it's just too hot. But like this morning I worked there and before, you know, while it was dark, it was cool and I didn't show her to the seating so I was a little concerned about that. But it's just something, it's just a challenge for all of us. It's not just me, but a challenge for everybody to get through this heat. That's true. That is kind of make it fair, doesn't it? Yes. Right across the border. All right. Thank you, everyone. We've got more cutting tomorrow. We've got the non-plowed classic challenge in getting underway. So be sure to watch the live cast on the CHC webcast. Good night.


What's going on everyone? Sam here with late in sports cards, we're up in 22, 23, Penini, Revolution, Chinese New Year basketball, 8 box case break number 1, random team style. There's a look again at your random results. As always, you can find those on the website under the results tab, as well as the link that's in chat. So good luck here everybody, let's do it. I got 10 bucks Tuesday basketball, that has some spots left, only a couple left in Revolution PYT. Yeah, for all this basketball next week. I know it's getting packed out right now, I saw some of the preview picks, looks good. There's a Curry, Marant, new logo man, Jerry West, logo man auto, obviously all the big names too. All right, exclusive emerald and hollow gold parallels. 15 to go on 10 box Tuesday guys, there is two years of prism in there as well as NT, NT from this year, that's a big one. There's a red from all Murray, down of these. I just got to figure out the breakdown of these. Aiodosunmu, Chet Holmgren Rookie, base space. There's Rookie Red, Vince Williams, that's New Year Parallel, yeah, Vince Williams Jr. Again, the base will always just be on the back, you'll have parallel on the front, there's a green of, Green New Year to 88, Paul George, exclusive, Eggs Benedict, Cumberbatch, Matheran, Pascal Siakam, Marant Bochamp. Yeah, I was gonna say your son went to school at Desunmu, right? Did he go to college or did he go to high school at Desunmu? Where did he go?  Damien Lillert, where did I go to Desunmu, go to college? I don't even remember now. Wish not wish I'll stay, right? Where, wait, where, where was that? I forget now. Caris Levert, not Indiana, right? Illinois, Illinois. I knew it was somewhere in the Midwest, I just didn't know where. Oh no, that's pretty cool. Nice. Johnny Davis, Illinois, thank you. There's a Lori Markinen, Jeremy Sohan Rookie, the Spurs, Marcus Smart, Halliburton, base on the back there. Gonna try to catch this up as much as possible here, everybody, Patrick Baldwin, Ochaic Bajie, and base. I'll do it for box one. Should be able to make up a decent amount of time on these. And then just got to sell out 10 bucks Tuesday, that's really gonna be the main thing. If we could get that sold out, we move right into football very well. There's a Franz Wagner second here, Joelle Embiid, base. Again, so it'll go, the breakdown of this will always be the red insert on the front, Jalen Green, which we will sleeve and top load all of those. Potential Rookie as the second card, and then either three or four base on the back as well. Still 15 to go guys on that. Kennedy Chandler Rookie, red. Gotta get that filled on up. It's gonna be a fun one, NT in there, as well as Prism, Court Kings, Contenders, what else is there? Elite. There is Revolution, a lot of good stuff. Jalen Suggs, so a lot of shots at like case hits, super short prints, all that good stuff as well. So thank you all, appreciate it. Kat, red. Laurie Markinen, Kendall Brown, red. Vince Williams, Jr. There is Garland, Bam Adebayo, Ty Ty Washington, and base. Jalen Williams, J Dubb, red. Jimmy Bucket, base, base, base. Shea, red. Christian Brown Rookie, and base on the back there, see. That should be close game. There's Ice Trey, red. Russ. Rumlings of Zeke going to the box, interesting. Blake Wesley, I guess that'd be a decent fit. I feel like he'll wait a little bit. I feel like he might not sign before the season starts and wait to sign with a contender. So a lot of those like old-ish running backs tend to do, picked up by a contender of some sort. CJ McCollum, Kuzma, base on the back as well. D'Andre Aitin, Harry Eason Rookie, base. Jake L'Orevia, Dema DeRosin, Dema. No, 10 Box Tuesday football spot came in. That's now down to six, everybody. Still got to sell out 10 Box Tuesday basketball, buddy healed. Jaden Ivy Rookie. That is down to, again, 15 spots to go on that. There's Chris Paul. Jordan Poole. There's Musa Diabata. Scotty Pippen. Yeah, that's fair. That's fair, Zai. Hey, what's up, Ty? John Morant, welcome back, as always. Chris Middleton. Luca New Year, parallel. There's Dyson Daniels. Peyton Watson. Jordan Poole. Jalen Durin, how are you, Durin? John Wall for the clips. Mike Connelly. Christian Coloco. Josh Minnaut. Again, guys, 15 to go. It's a good mix of product, too. Definitely a fun basketball product. 280 a spot on that. Gets you a random team. Gets you a random team. 15 to go. 10 Box Tuesday basketball. Davion. Tyrese Halliburton. Base. Dallin Terry. Rookie. I think there's really going to be anything to recap on this, unless we get a big rookie one of these. Kyle Kuzma, green to 88, green New Year. Jalen Williams, J. Will. Base. Again, really not much in terms of base, unless there's a rookie as the second card. That was a Yanis. Anthony Simons. It'll all just be base on the back. Either three or four base cards. Her shade on sharp. Nice one there, red. Dallin Terry, rookie. And base. Michael Porter Jr., red. Juh. I know, I said a giddy RPA out of NT. God, that'd be awesome. Jeremy Grant. That'd be awesome. My dad taxed me. There you go. Cool Ranch Doritos Pizza question card. Kedded Lofton Jr. Sounds up there. Sounds good, dude. Sounds really good. There's a milestone. Paolo Rookie. Nice one there for the magic. First Paolo of the break. There's Josh Giddy, speaking of, for your sanity. Jalen Williams, red. Nicolay Yovitch, and base. Got to join in. You can't beat them, join them. You got to join them. Beat them here or beat them in the parking lot. Max Christie, rookie. David Roddy. No, no, no, no. Red, Jaren Jackson Jr. Let's talk about Josh Giddy. Oh yeah, Josh Giddy, Josh Giddy. Kyrie Irving, Keegan Murray, red. Rookie for the Kings. It's so funny. Mike Conley, red. Bari Walker, rookie. Jeremy Grant. Red, Deontay Murray. I agree. Jaden Ivy, rookie. Jaden Hardy, rookie. The Jadans. That ain't me, Josh. I agree, Joshua. I'm so waiting on that. Giannis Red, new year. What do you think the worst stick is of all? The confidant one's tough. Yeah, okay, random rookie. Giddy's tough, too. Giddy's tough. There's so many. I could keep going. Scotty Pippin Jr. Place on. Place on, yeah. Well, considering this is not hobby, I have not, Dean. There's LeBron, Trevor Keels. Oh, I know, I know Steve. I know Steve. The Aaron Fox. I appreciate it, Steve. If Jake can do it, I can do it now. Yeah, true. If Jake can do it, you can do it. Everybody you've mentioned is on the steamer of the month. Wake did it once, too? The trash, what? Trash cleaning. There's Ochaegbashi. It's ridiculous. Bradley Beale, red. There's Jalen Brunson, red. Red, Chet Holmgren. That was so funny. Forrest, showed us the video of that. That guy's a steamer, too. Oh, who's one? There's another top three candidate right there. But Scotty Barnes, I don't know if we could pull autos in Chinese New Year, to be honest. I don't think you could last year. There was Chinese New Year, T-Mall, and regular. T-Mall and regular, you could. I don't think you can in this. Andrew Nemhart. I don't think, at least. Anthony Edwards. Yeah. Oh, you can. They're just SP. Got you. I don't think I've ever pulled one in this. Fred Van Vleet. Maybe like one or two. But I think they might even be shorter printed. Samuel, then case hits. Sohan. All right, so we've got ourselves a Green Clay Thompson, 288 on the New Year. Yeah, they're pretty short printed for sure. I have not seen a lot in my death. Second year Alfred Shengun, Turkish Tim Duncan, Kevin Porter Jr., and base. I got shirts for sale. And guys, 15 to go on 10 bucks Tuesday. You mind Facebooking it really quick? Thank you. 14 to go now. Thank you. Jonathan taking a spot. Appreciate you, buddy. Not a 14 spots now in 10 bucks. We are almost there, everybody. We are almost there. Gonna be a fun one for sure. Got NT basketball in there. Call a huge RPA of some sort. There's Steph Curry. A couple different years of prism. There's a couple of really good teams to get in this, to Paris Maxi, LaRavia, and base. EJ Liddell. There's a Green, a Bryce McGowan's rookie for the Hornets, 288. Congrats, Hornets. Different Porter Jr. There he goes. Jalen Green. FOMO kicking in, but probably shouldn't. Tellin' you to tie it's a fun one, man. Jabari Walker, red. A lot of volume in that break as well, which is always good. Drew Holiday Red. Joellen B. Jordan Clarkson. Bari Walker. Trevor Keels, red.  I agree with that. What's up, Tavo? Christian Wood. There's Funkadelics in the, in 10 bucks Tuesday football tonight. You got illusions. You got a box of illusions. The Barge of the Rosen. I hope I hit you, Donnie. Yeah, there's been some shenanigans, for sure. David Roddy and Christian Coloco on your rookies. And last box is CNY, everybody. Bonnie must have hit the lottery if you bought into this. Alexandros, two spots. Down to 12, guys. 12 to go on 10 bucks Tuesday. Basketball. 12 to go. Kyle Kuzma. One second, guys. Scotty Barnes. Jaden Hardy, red. Rookie. Give me Butler Base. A bunch of base in the back there as well. There's KD. David Roddy. Dylan Brooks, red. Russell Westbrook. Malachi Branham. E.J. Liddell. There's an Alfred Shengu. Yeah, NT is always a lot of fun. What's Shwell got? What's his stat line? Must be Flannadel. That is Bradley Beal. Yeah, I mean, it's only what? It's only 12, 13 now. But still, I mean, that's only the third. Jabari Smith came hasn't even started yet. Red. Jabari Smith for the Rockets on the color match. This is a green Kyrie to 88. 34 of 88. Jaden Hardy Rookie. Clarkson and Base. Jalen Brunson. Red. Blastack. 25-5-2. Yeah, that's pretty solid. Caleb Houston, Malachi Branham, and Base. Not really much to recap there, guys. Thanks again for the fill. Up next is number two.


Oh, whoops. Alrighty, welcome back to our operating systems. So today, we are talking about the page table implementation. So after this, well, you could have started Lab 3 last lecture. But after this, this is the last thing that will help you with Lab 3. Lab 3 is like 30 lines of code, if that. Most of it is thinking and reading code. And other than that, it should be really short. So don't worry if you spend a week thinking of it. And you should be able to finish the first part of it relatively quickly. The copy on right might take a bit more. All right, so this is where we left off last time. So we have something that looks like this. There are three levels of page tables. There's an L1 or L2, L1, L0. And there's just this root page table register. Something like SATP could be called something different on different architectures. And that points to the L2 page table. And then given that L2 page table and a virtual address, it knows how to walk, where to access everything in each page table to walk to the next one, to walk to the next one, to eventually get the entry in the L0 page table and do that physical address translation. So how did I get the nine bits there? Well, that should correspond to the number of bits for each level, right? That nine bits. There are two tables based on entry bits on the bits. Yeah, so there are two. Yeah, so in this case, there are two to the nine entries in each table. Remember, it was because we wanted to make each of these page tables fit exactly on a page. So that's where we got that from. Because, OK, something is in my eye. That's lots of fun. So how we got that was the page size was 4 kilobytes. So that's like our default page size. So it was 4,096, or 2 to the 12. And then our page table entry size was 8 bytes. Or in other words, 2 to the 3. Whoops, I can write that better. 2 to the 3. So if you want to figure out how many entries I can fit on a single page, I mean, I just divide those two, right? 2 to the 12 divided by 2 to the 3, which is the same as 2 to the 12 minus 3, which is 2 to the 9. Yeah, so each of those entries can point if they're in an L2 page table. Those can each point to a different L1 page table. And then as soon as you get to L0, they can each have that's how many entries there are. Yep. So a page table entry is essentially, let me go back, page table entry, the main part of it we care about is it just stores a physical page number of the translation. Other than that, there'll be some permission bits, like whether or not this is a valid translation, read, write, something like that. So for a page table entry, the only thing is there's a lot of other information. The only things we need for the course is a page table entry stores the physical page number, which in this case is 44 bits, and then some permissions, read, write, valid. Yep. Yeah, so if it's valid, we'll go through the translation. So if it's valid, it means that translation can continue. If it's invalid, it just stops right there and says I can't do this translation, it's not valid. Yeah, so not all page tables will be filled all the way, so they just contain invalid entries. So if you wanted a page table for a process where you can't do any translation, I could just have my L2 page table here and just fill it full of invalid entries. So if it tries to translate any address, it will fail immediately because there'll be no valid entries there. Yep. Yeah, so the question about the dirty bit and we will not be super concerned about it. Once we get into hard drives and stuff, we'll see what we could use it for. It's basically for creating the illusion that once you run out of memory, it can start using the disk and essentially move memory to disk and it needs that bit to keep track of stuff to make things consistent. But we'll get to that much, much, much later. Yep. Yes. Yeah, so the L0 page table is the only one with the actual physical address of the thing we're translating. The rest are just following page tables along. So yeah, so once we get to the L0 page table, it's the same idea as when we had one giant page table that just has the translation, we just use it, we're done. But aside from that, L2 points to L1, L1 points to L0. Yep. So these could be virtual or physical for the purpose of this course to just assume they're all physical. So all these pages just live in physical memory. But the kernel could use virtual memory too, but the simplest thing is that the kernel just uses physical memory. But we won't concern ourselves with little details like that. For the purposes of this course, page tables, everything just lives directly in physical memory. Okay, so yeah, keyword about alignment, why this all works too. So if you haven't heard the word alignment, it basically just means everything is nicely divisible. Computers like when things are divisible. So if pages are 4096 byte aligned, that means they always start when, like the offset zero is the same thing as when all of the lower 12 bits are all zero. And in computing, we like alignment because it makes our lives a lot easier. So for example, if I had a weird page start, where like the page started at address 7C00, if we add a page size to this to figure out what the last byte would be, the last byte would be like address A, B, F, F, which is just really, really ugly. So instead, everything is page aligned. So it starts at zero and all the offsets are multiples of the page size. So it will either start at zero, 4096, 8192, so on and so forth, I'm out of math at that point. So that means the pages start at where all these three hex characters are zero. So if it started at physical page number seven, that would be addresses 7,000 all the way to seven FFF. You know where you are within a page. Nice and easy to compute everything. Computers really like that. So here's a question. So is address EC8 byte aligned? I see some head shaking.  So the easy way to tell if something is eight byte aligned, it means that the address should be a multiple of zero, eight, 16, 24, da, da, da, da, da. So if you write it out in, if you write it in in hex, you can see if it's a power of two because computers like powers of two. So it's either gonna be eight byte aligned if that hex character is zero or eight, and that's it. Yep, yeah, yeah. So that's another way to figure out. So eight would be three bits, so the last three bits have to be zero. So same thing for anything else, right? So because it's all powers of two, any higher bit, if it's on, it's still multiple of that because powers of two do that, right? Yep, yeah, C is 12, but it's not a power of eight. So this is asking if it's eight byte aligned. Okay. So yeah, because C is 12, it's not a multiple of zero, eight, 16, 24, da, da, da. So this address is not eight byte aligned, but this would be four byte aligned because 12's a multiple of four. So if it's four byte aligned, it would either end with a zero, a four, an eight, or a C, so four things. So any questions about alignment just makes our life a lot easier. We don't have to do a weird computation or fiddle with anything. Computers love alignment, yep. So I don't have to like, so if things weren't aligned and this is where my page started, in my page table entry, I couldn't just store the physical page number because things aren't aligned. I need to know where it starts and it doesn't not, if not everything starts at the same boundary, then I have to store that. That's more information I have to store. It's just a waste of space, right? And it makes it harder to add to because if everything's aligned, well, it doesn't really need to do any hard addition or anything. It just takes the offset, slaps it in there. That's it. Yep. So 4096 is just the page size. That's a hardware question. Someone thought that would be a good page size to choose in the 80s. And we still have it today. And hey, seems to work, hey? All right, so we simulated an MMU before, so if we have any more questions, we can go back to it at the end. So here's a question for making sure we understand the different levels of page tables. So say our program, when it was running, it actually uses 512 pages worth of memory. So in that case, how many, what's the minimum number of page tables I need and what is the maximum number of page tables I need? So I'll give you a second to think about that and then you can let me know. Can I do it with one page table? If I have, you know, assume, whoops, wrong way. Assuming our three level page table, I'm assuming this is our system. So can I do it with a single page table? Yes, oh, okay. How would I do it with a single page table? Two to the nine. So if I have a single L2 page table, it can point to two of the nine things, but it points to an L1 page table. So it would have to point to an L1 page table and then if I only have one page table, I don't have anything. Yeah, three minimum, right? Everyone agree with that? Why three minimum? Yeah, so exactly. So in this case, if I'm using 512 pages in my program, the minimum I need is, minimum I need is I need one L2 page table, which points to a single L1 page table, which points to a single L0 page table and then in my L0 page table, these are all pointing to 512 different pages. So if my program uses 512 pages, I only need three page tables and yeah, I can do 512 translations with just three page tables. Oh no, so this is with multi-level page tables because that's what your system actually uses. So that three-level page table is what we actually use. So in this case, if this is my minimum, what is my maximum if I get super, super unlucky? Yeah, so I might need 512 L0 page tables because each of them just points to one page. So if I need 512 L0 page tables, worst case, how many L1s do I need? Yeah. Also 512, right? Because every one of these L1 page tables could just point to that L0 page table. So in that case, I would also have 512 L1s and then for L2, you only have one L2 page table because that's your root page table. So your process only has one L2 page table and this one would be full. So, oops, every entry in this L2 page table would point to a different L1 page table. So it would be full of entries that each point to an L1 page table. Yep, so this is worst case. So I need 512 of them because my program uses 512 pages and each of those only has a single entry in it. So only one entry that's valid. Yeah, only one entry that's valid that's pointing to a page that the program's actually using. So like this page table would be pointing to, I don't know, page one that it uses and the last one would point to page 512 or something like that. So in this case, how many page tables do I have in the worst case? 1,025, it's pretty bad. So this is also a reason we like contiguous addresses because the way we chose which bits were used for what, well, guess what? All the L0 bits are the least significant bits. So if all the addresses are contiguous, it means all their entries will also be beside each other in the L0 page table because if I was crazy, I could flip the indexes and use the current L2 bits for L0 if I was insane, but I don't because I want everything that's contiguous to be located beside each other. I don't want to just create massive amounts of page tables when I don't need to. And yeah, so what can make you get this lucky? Well, it would mean that for every page I use, all the L2 pages or all the L2 bits are different. So it would be like, I guess I can't write on it. So like your virtual addresses would span every single L2 bit and then pass that, it wouldn't matter. So it would have to use every index in the L2 page table. So your addresses would be spread out and that's the only reason why you would get it. So another reason why to keep memory contiguous and as it turns out, one of the primary reasons. All right, so another thing, another fun question you might get asked is like, oh, hey, multi-level page tables, how do I calculate how many levels of page tables do I actually need for some architecture? So in this case, this actually describes the architecture of 32-bit CPUs, which were used, I guess when you were born, wait, when, what year were you guys born? Like 2000? Oh, three, okay, so they had, so 32-bit CPUs are before your time, I guess. Yikes, all right, cool, don't feel old at all. So 32-bit CPUs, ye old ancient hardware, back when we didn't have gigabytes of memory. So this is what the system actually looked like. So you had 32-bit virtual addresses and your page size was the same thing we used today, 4096, but the page table entry size was only four bytes because the physical addresses were also 32 bytes. So it doesn't need that much room for the page table entry because it's only a 32-bit address. So on this system, we want to figure out, well, how many levels of page tables do I need for this old ancient system? So in this case, we have a 32-bit virtual and physical, and then we're also given the page size, so that is 4096, so that is a byte page size, and our page table entries are four bytes. So in that case, same idea, everything we're gonna do, we want to fit our page tables exactly on a page for all the same reasons we wanted to do it before. So in this case, we have to calculate how many page table entries we can fit on a single page and the number will be slightly different. So my page size is again, two to the 12. A four byte PTE is two to the two, so therefore if I divide them, I get two to the 10. So this is number of PTEs per page table. So in that case, I would need how many index bits to select an entry in a page table? 10, all right, and it's just this number. So this is how many index bits I need. So my address would look something like offset, which is still 12, and then some number of L zero and then a bunch of other levels until we actually have virtual addresses. So the equation, which isn't much of an equation on the sheet is the number of levels you need is equal to the ceiling of our virtual bits minus offset bits divided by however many index bits we need. So let's see, can we do some quick math? How many virtual bits do I have? 32, how many offset bits do I have? 12, how many index bits do I have? 10, so if I plug that all in there, it's 20 divided by 10 and then ceiling. Luckily, it's a nice even number, so we get two. So we need two levels of page tables in this case. And you can double check because if you write it out, it would look something like that. So we'd need two levels, we'd have an L one and an L zero and our offset. So thankfully, if we add 10 plus 10 plus 12, guess what, that's 32. So nothing terribly surprising. Yep, so this is like by virtual bits, it's like you can do translations for all of those bits. So you could of course make it smaller by making the virtual address smaller, but this says virtual address, we need to be able to address all 32 bits. Yeah, no, nothing that's unused. Yeah, so also in this case, if we increased our number of virtual bits to 33, while our calculation would change from 33 minus 12 divided by 10 and to ceiling. So it's like 21 divided by 10, which is 2.1, which we would have to round up. So if we add one more bit for the virtual address, guess what? We need another level of page tables to be able to support all 32 bits. Your L two page table in this case would only have two entries that are ever used because the index would only be zero or one and that would be a complete waste. So that is why the virtual address is supported by your system is going to be multiples of whatever the number of index bits is. So in this situation, where we have a 39 bit virtual address with three levels, if we want to add another level, well, we can now support 48 bits and it just goes up like that. So you may as well just, if you add another level, you may as well use the whole thing because otherwise you're just wasting space. So that is why that, oh, and yeah, question about the memory addresses we see in Visual Studio Debug, are they virtual or physical? So all the addresses you've seen in your processes at every point in your life, they're all virtual. So you have maybe in that computer architecture course you saw real physical addresses, but other than that, you have never seen a physical address in your life. They've all been virtual addresses. Isn't that fun to know reality? Yeah, why would the kernel ever show you a physical address? You can through the virtual address. Yeah, like there'd be no way for it to show you and then you'd be able to, you can already exploit stuff without information from the kernel. That's probably too much information to actually know or useless information because what are you gonna do about it if you know about it? You can't do anything about it anyways, right? Yeah, no, it doesn't increase the amount of memory you have but it makes it so that you can, every process can have its own independent view of memory, right, and have its own virtual memory so that it can't mess with another one. If you didn't have virtual memory, all your processes would be using physical memory and there's no way to protect processes from each other in that case. Yeah, so the kernel would aside, the kernel is the only thing that deals with physical memory so the kernel assigns physical memory to your processes through virtual memory. Otherwise, if your processes just use physical memory, you have no security, you're screwed. So like your banking app, if you just knew where it was in memory, you could just start reading it and do whatever you want. So for like very small embedded systems, they actually, some of them don't use virtual memory because if you're the only application on it, there's no point of using virtual memory, it's just slower.  So in that case, you have to do kernel things like try and protect the memory and other stuff but someone's probably got a toaster or fridge or something that has like zero security and whatever and you just get hacked and no one cares. So don't be that person, but yeah. All right, so what we might have noticed too is that this is really slow. Like instead of accessing physical memory directly, if I have three levels of page tables, well, I have to access L2, then L1, then L0 and then the memory I actually wanted, it's really, really slow. So there's a few things, likely if you access some memory on a page, you're going to access the byte next to it or the byte four away if you're using integers or whatever and a process might only need a few mappings at a given time. So it only uses a few pages at a given time, it doesn't use that much memory all at once. If in the literature you might see the pages, a process is actually using is something called a working set. It's basically just pages it's actually using. So our solution to this is what we always do in computer science. It's slow, throw a cache on it, we're good to go. So the cache for your MMU is something called a TLB or a translation look-aside buffer. It just caches that translation that we did. So if you have a virtual address, first it will look it up in this TLB, which is just a cache. So it will just look up all 27 bits of that virtual page number. Doesn't have to be concerned about levels because it would have already been accounted for in here. So if it finds it in the cache, it would find the page table entry that you would have got if you walk through all the page tables. And if it's a hit, just uses that page table entry, gives you the translation directly. Otherwise, if there's a miss and it's not in a cache, well, then we have to do the thing in the red box. We have to translate it using the page tables. So we'd have to go L2, L1, L0, get the address. And then as part of it, it would add the address to the TLB and then do the translation and that part would be really slow. Yeah. So even if you only have one page table, that cache would have a benefit because if you have one page table, instead of one memory access, if you just had physical memory access, you have two. So one for the page table and then one for the original one. So here, no, the cache is separate. The cache is way faster than memory. So searching the cache is going to be way faster than memory. So we can see that. So here, because one of our goals was we wanted to have performance as close as possible to physical memory. So using the cache, we can calculate, whoops, the effective access time. So this is the calculation if there's only a single page table, which is what you suggested. If there are multiple page tables, it gets worse. So the time a memory access takes, if there is a hit in the TLB, is just the time it takes to search the TLB plus that original memory access. If there is a miss, well, you still have to search the TLB and figure out that it's not there. And then in this case, if there's only a single level of page table, there's two memory accesses. One for the page table and then one for the original memory access. So if we had three levels of page table, that number would not be a two. That would be a four because there would be one L2 and L1 and L0 and then our original memory access. Yeah, for right now, this one is just a single level. So one for the page table, one for the original memory access. If we had three levels, three memory accesses for the page tables, one for each level and then the original one. So the effective access time is just this alpha, which is the proportion of cache hisses, cache hits, multiplied by the time it takes to access the memory if there's a hit and then the opposite of that, the miss ratio times how long it takes to search if there's a miss. So in this case, if we had a hit ratio of like 80%, which would be 0.8 and our TLB search is 10 nanoseconds, which is 10 times faster than our memory where our memory takes 100 nanoseconds. The effective access time would be 0.8 times 110. So 10 nanoseconds for the search plus 100 for the memory access if there's a hit plus the 20% miss times 210 nanoseconds. So this is 10 nanoseconds for the search and then 200 nanoseconds for the memory operation. So our effective access time would be 130 instead of 100. So it's only 30% slower, which isn't too bad. Yeah. So the cache would be like a fully associative, blah, blah, blah architecture course. Plus all the accesses I have to do to translate the address if I had to like go through the page tables. No, cache is its own separate thing. So yeah, the cache is not connected to the memory. All right. So that is fun. So we have effective access time. All right. So now we can talk about what happens during a context switch. So every process has its own page tables. So whenever you context switch between processes, well, any of the entries in the TLB are only valid for the process that just got switched out and was using it. So you have to do something with the cache. You have to clear the cache or flush it. Don't ask me why we say flush, but it's the term. It's basically we clear the cache. So if I'm context switching to another process and starting to use their page tables, well, if I switch to their page tables, everything in the cache is now not valid. So I have to explicitly clear it. So on risk five, there's an instruction called S-Fence VMA. And that instruction will flush the TLB on x86 or like Intel systems or AMD systems. Whenever you switch that root page table register, it will automatically flush the TLB for you. On some more exotic architectures, the TLB might also have like a process ID so it knows which translations are valid for which processes, and then it wouldn't have to flush the entire cache. Yeah. So just whatever it would probably be like least recently used or something like that. So whatever is, yeah, whatever is used most recently. There's a bunch of different caching policies and stuff we'll see some once we get later in the course, but they're not that interesting. All right. So we can actually test the TLB. So there is this little sub project in our course, in our code called test TLB. And what it does is it allocates a big block of memory and then accesses the memory every so often number of bytes. And then it tells you how long it takes. And it was written by everybody's hopefully friends, Linus Torvalds that started the Linux kernel. So he wrote this code. If you wanna see code he wrote, it's just a little utility. So what this will do takes two arguments. The first argument is the amount of memory to allocate. So in this case, if I allocate 4096, I'm allocating a page. And then this number is the offset between memory accesses. So if it's four, it will access every four bytes on that page. So it will access byte zero, four, eight, 12, 16, and then record how long it takes. So if I run this, I can see that it takes 1.6 nanoseconds, which is quite fast. The worst case is if I do something like this. So yeah, also in this case, the 4096, how many memory accesses do I have there if I allocate a page and I'm accessing every four bytes? Yeah. Yeah, 1024. So it will calculate, see the whole time that took and then divide it by the number of memory accesses and that's how it knows how long each thing took. So for this, we have 512 memory accesses. For the first memory access, would that be a hit in the TLB or a miss? Yeah, a miss, right? Because it wouldn't have that translation available. It's the first time you're accessing this memory. So it would have to go through the page tables, figure out where it is, and then hopefully put in the TLB. And then for every other access, for the other 511, are they hits or misses? Hits, right? They're all in the same page. So if they're all in the same page, they would all be hits, so I would get one miss and then 511 hits. So that's why it's really fast. So in this case, if I allocate that gigantic number, so in this case, I'm going to allocate that giant number, which is 512 megabytes of memory. And I'm going to access every 4096 byte. So how many misses will I get for that? All misses, right? Every access is a different page. So I expect it to be slower. How much slower is this going to be? So this is like one now and a second. If it's mostly hits, let's see what happens if they're all misses. Yikes. So if they're all misses, that's real bad. It is much, much, much, much slower. How much slower? Oops. So it's about 24 and a half times slower if they're all misses as opposed to hit. So guess what? Things being contiguous mostly matters through the TLB. And that's why everything should be beside each other. Yep. So the much bigger one is always a miss because every single memory access, because I'm accessing every 4096 byte, every access is going to be on a different page. So if every access is on a different page, it's miss, miss, miss, miss. And I'm walking through the page table every single time and it's a disaster. Yeah, so if I allocate a bunch of memory, they're back byte pages, right? So then I have to translate it if I ever access that memory. So yeah, we could see a middle ground because so this allocates like 16 megabytes and then goes every 128 bytes. So I'll have a few misses and quite a few hits. In this case I can see that, hey, 11.5 is better than before. So you can play with this number and see what different miss ratios produce. So that's a fun, fun, fun, fun, fun one. Oh yeah, and a question, how does a kernel stop a child from accessing changing memory when the page tables are copied? So it's the kernel's job to manage the page tables which is also your job in lab three. So in order to make sure that the child processes can't monkey with the parent's addresses, you have to copy the page tables correctly and do a very good job of it. Otherwise you have security flaws. Everyone's favorite. So other things too. So way back in lecture, was it like two? We saw this SBRK instruction system call and that is actually your heap. So this will grow or shrink your heap and your stack has a set limit. It's like two megabytes or something by default. So whenever you need to, whenever the operating system gets a call to say increase the size of the heap, what it's gonna do is it could, if it needs to back it by real memory, it can grab some pages from a free list and just do all the mappings in the page table to make it point to now valid memory and then it fulfilled that request. So the kernel doesn't care. The kernel only allocates pages to your processes and pass that, it just throws its hands up in the air and says you deal with it. So things like malloc will only increase the size of the heap and then malloc manages the heap for you. So if you ask for any size byte allocation, it does it, it runs completely in user space. The kernel doesn't care. And also because of that, because the shrink or the heap doesn't really shrink, the kernel can't really free pages. So malloc generally never frees any pages, which is sometimes why you just see a bunch of wasted memory all the time. Some memory allocators can use Mmap. We'll see the Mmap system call a bit in the next lecture. That is a way for your processes to ask the kernel to modify its page tables. So you can just allocate large chunks of memory and virtual memory and then have the kernel take care with, have the kernel take care of backing it with actual physical memory. So a processes address space might look something like this. So this is from like, if you use that little xv6 kernel, this is how it lays out a processes address space. So what the kernel would do is take the first page, which would be addresses like zero all the way to fff, and it would map that to an invalid page. Why? Well, because the null pointer is zero. So if you try to write to memory or whatever, you're trying to be right to virtual address zero. So the kernel would just map that to an invalid page so that it knows that you're accessing illegal memory and then it would just blow up. So that will never be a valid address for your program to use. Otherwise, your null pointer is not gonna crash your program, which would be weird. Other than that, the kernel would be responsible for like allocating some pages for the instructions based off your file, some pages for data based off, all your global variables and everything. And then for the stack, well, it would allocate some pages, however many pages it needs to fill two megabytes. And then what it would do is it would put a guard page right under, assuming that our stack grows downwards. The reason for this is because your kernel, like we've all seen a stack overflow message, I assume. So how you get a stack overflow message because really you're just accessing invalid memory, the kernel will put a guard page there. So it's a known invalid page that is below your stack. So if you get a page fault on the guard page, the kernel knows that, hey, well, that was beside the stack. So you probably overflowed your stack if you got an error there. So that's how the kernel detects a stack overflow because it sees an illegal access to that specific page.  So if your stack jumps over the guard page, so it would be your stack overflow by more than a page, then you won't get that nice stack overflow error. You will get just some random memory error, or if you jump too far down into data, you'll read some valid memory and then bad things will happen.  And then in this case for XV6, this gets into like very technical things. So the trampoline is where the kernels interrupt handler is. So whenever you do like a system call, that is an interrupt in the kernel and whenever the CPU or whenever the kernel starts handling that interrupt, it does not change the page tables as part of that. So whenever the kernel starts executing, it's using your processes page tables and there needs to be valid instructions to run. So what it does, this trampoline is the code for the kernel signal handler. So it will map it to a known address for every single process. So whenever a system call comes in, it starts executing it in your processes address space and it would set it up so that that code is readable and executable and you're not allowed to write to it. Otherwise, if it screwed it up, you could start modifying the code the kernel runs and then really bad things would happen. And then for the same reason, the trap frame would also be mapped into your address space just to make things simpler and that would save all of your registers. That's like the variable to save all your registers to and everything. So it's just like an implementation detail. We won't really need to know that. Real kernels can use virtual memory. There's like very finicky details you have to get right for that, which is lots of fun. So other fun things that the kernel can do because of virtual memory is it can avoid some system calls by providing some fixed virtual addresses. So for instance, there's a system call to get the current time on the system. And if that was a system call, that might be really, really, really slow. And really, if you only care about like nanoseconds and something like that, the system call would take longer than what you're trying to time. So what the kernel does to make it really fast is typically you're only reading information. So it will pick a known virtual address and map it as read only into every processes address space. And that way, if you know this magical address and where to read memory from, you can read the current time without having to do a system call. So that's how things like clock get time work and why it's so fast. Yep. Yeah, so the kernel would be writing to that page but every single process would not be able to write to that page. So then whenever the kernel changes it, every single process can read it, no problem. But if the kernel screwed up and made it writable, then if you could write to it and then change the time for every single process on the machine, probably do something fun with that. And yeah, so there's page faults, page faults, let the offering system handle virtual memory. It's basically just means that the translation failed, can't find the translation or there was an invalid bit or it can't read or write or something like that. And this allows the offering system to handle it. So what you could do is just when a process requests memory, you can just set up the page table to be like make it invalid. And then whenever it tries to actually use that memory, then you handle the page fault, allocate a page and back it by physical memory and then let the program resumed as if nothing happened. So you can only allocate pages when a program actually uses it, implement copy on write, which guess what, is lab three, you get to do that, that's a lot, it's a fun. Or later, you can just swap that information to disk. So what we saw, a page table is just responsible for translating virtual addresses to physical addresses. MMU is the hardware that uses the page tables. We could have a single large page table. It's a bit wasteful in terms of space because not all processes use memory, that much memory. Kernel only allocates pages, that's it. It does it using a free list. All of our systems will use a multi-level page table to save space and the TLB is just a cache to speed up memory accesses. So with that, just remember, phone for you, we're in this together.


We have breaking news this evening. The Brainerd Police Department says they have recovered a body believed to be that of a missing Brainerd man. Authorities have been searching for 29 year old John Greenwald, who was last seen on July 4th in downtown Brainerd and was reported missing on July 14th. Earlier today, the Brainerd police, along with many other agencies from across the state, held a large scale search for Greenwald. Then around 4.50 this afternoon, a body was recovered from an area near the 300 block of Hattie Street in Brainerd. The body was located in a wooded area just off a trail. The Bureau of Criminal Apprehension will be conducting a full investigation. The body will be transported to the Ramsey County medical examiner for positive identification and autopsy to determine the cause of death. We will have more on this developing story tomorrow night right here on Lakeland News. If you've enjoyed this segment of Lakeland News, please consider making a tax deductible contribution to Lakeland Public Television.


James what do you think led to your success on the mound today? I thought Trevi had a pretty good game plan back there I thought we did a lot of things well today move the fastball around we sequenced the sinker in the cutter off of the foreseam Which kind of helps protect that pitch a little bit just steady mix sliders curve balls change ups But for the most part I just followed Trevi along and executed pitches What do you take away from an outing like this? You don't come away obviously with the win, but a solid performance nonetheless. Yeah Happy I could go deep with today being a double-header You know the bullpen needed that so I feel good about that Some major takeaways would just be the overall pitch execution of everything like today was probably the first day of the season where I felt like I was executing everything in my arsenal versus like normally it's hey We have this work in we're gonna scrap this pitch and really lean on like the cutter today or lean on the sinker today Today, I kind of felt like we had kind of just the total package working so I Think that's something I want to remember when I go to bed tonight and carry into my my outings going forward air The three straight singles is that something you kick yourself for over those good pitches and they just yeah a little bit of both I feel like that's kind of been maybe my problem this year when I do have problems It's like just a couple hitters in a row Get singles or doubles You know, it's five six seven pitches and that's kind of the damage right there So a few of them were decent pitches a few of them. I made mistakes Some two strike mistakes there. So Yeah, I mean happy to limit the damage there in that inning and minimize it just to one and keep us in the game but at the same time like, you know, you got to Maybe reset step off the mound not let it carry over to two hitters not let it carry over to a third hitter You know, just put my foot down after that first guy gets on


Hello, I'm Winnell Evans, newly elected town meeting member from Precinct 14. I'm here to propose an amendment to Article 43, Adoption of Accessory Dwelling Units, and I'm asking for a separate vote on each of the two parts of the amendment. As a member of the Residential Study Group, I was part of the single brief discussion of ADUs which took place a couple of years ago before we were disbanded. At the time, we had significant concerns about ADUs, some of which have since been addressed. I support Article 43, but I feel that it still has deficiencies and this amendment will attempt to correct a couple of them. As written, Article 43 spells out the benefits to homeowners who create ADUs. What this article does not do, however, is provide any protection for abutters. It specifies that the owner or a family member of the owner must live in one unit, which is unacceptably vague. Family member can be construed to cover almost any relationship one could imagine. It also specifies the length of tenancy as not to be short-term, which lacks any useful parameters. One person's definition of short-term is quite likely to be different from another's. It's not hard to imagine some of the problems that could arise from a next door ADU where the owner is absent, a distant relative or possibly unrelated person is fulfilling the residency requirement and very short-term rentals such as Airbnb stays are taking place. These issues become especially important in areas of town like East Arlington where lots are small and houses close together or for abutters of non-conforming lots where setbacks may be minimal. The proposed amendment addresses these issues in Part 1 by specifying owner occupancy, which puts us in line with nearby communities and in Part 2 by setting a six-month minimum on rentals. This amendment will help to make the introduction of ADU's work not only for the homeowners who create them, but also for their neighbors. I ask for your vote in support of both parts of this amendment. Thank you.