Hi everyone, Joe for Jaspy's CaseBreaks.com. The Bedard Hunt continues here in 2023-24. Upper Deck Black Diamond Hockey, five box intercase, break number two. It's a, it's not a 30 spot break, it's a 32 spot break. And we just copied and pasted it from a different break, but obviously there's 32 teams in the NHL. So there are 32 spots, let's roll it and randomize it. Five and a one, six times for names and teams. So there's all the names right there. Thanks to the people who bought their spots straight up. Congrats to the people who won their spots in series two, pack one, series two, pack two, and series two, pack three.  So once again, five and a one, six times for names and teams, one, two, three, four, five, and a one, five and a one, sixth and final time. Kevin down to Allen. And five and a one, six times for the teams. One, two, three, four, five, and a one, sixth and final time. We got Islander's Up 3-1 on Carolina in game two of their series. New Jersey Devils down to my Los Angeles Kings are playing a little bit later tonight. In fact, right after this one, this game. Trade window is open. Here's how it shakes out for you and your teams. Kevin with the Devils, Michael with the Panthers, Yonko with the Rangers, Joe with the Kraken, Andrew with the Predators, Michael P with the Lightning, Joe with the Caps, Robert with the Wild, Kevin with the Senators, Joe with Calgary, Raymond with Carolina, Barry with the Islanders, and Michael with the Sharks. There's Joe with the Jets, Raymond with the Canucks, Joe with the Flyers, Raymond with the Ducks, Joe with the Oilers, Ben with the Penguins, Eric with the Blue Jackets, Joe with the Coyotes, you're gonna move to Utah. You're gonna move to Utah and become what, the Utah, what? Allen with the Blues, Matt with the Golden Knights, Michael H with the Canadians, Michael P with the Stars, Yonko with the Red Wings and Avs, Michael P with the Bruins, Yonko with the Chicago Blackhawks, there you go. Darren with the Sabres, and Allen with the Maple Leaves, and my LA Kings. Let's alphabetize by team. We're gonna pause the video for a little bit. When we come back, we're gonna see if there's any trades, and then we'll have the break. Stick around, be right back. All right, welcome back, everybody. No deals were done, so TWC, trade window closed, and here's the official printout for the break here on Monday, the 22nd, Random Team 2. Thanks, everyone, for making this happen. Appreciate you. And here is the final inner case. And like I said, we have a one box random team break. So we had the five box inners, and then we have the one box random team break. And that's the last break we're gonna have with this Black Diamond for the time being. So if you wanna run this back, I'm definitely down to do it. If that fills up by the end of this break, that'd be awesome. We could just dovetail right into that. You're watching live, jaskyspacebreak.com, of course. All right, we got Aiden McDonough, 153 out of 349. And back here, we've got a double diamond. Vincent Iroio, diamond relic rookies, 493 out of 99. Caps, that's gonna be for Joe. Is he, I hope he's a good rookie to get, because it's a nice double diamond. All right, so that's pretty cool. And then we got a team logo jumbos, Josh Norris. For Ottawa, that's gonna go to Kevin. Diamond debut relics, Marco Casper. It's gonna be for Yanka and Detroit. Got Jacob Markstrom, 22 out of 299. I always feel like that's a space for an auto, but I guess some of these could be auto. It's gonna be Calgary, that'll be for Joe. And back here is exquisite Leon Drizital. My Kings will be facing him later tonight. All that exquisite design as well. There's the number right there, 295 out of 399. Joe with Edmonton. We got Eric Carlson, 223 out of 349. San Jose, Michael P. We got a Tristan Robbins autograph, 28 out of 99. It's an autographed shark for Michael P. Nice. Then we've got a Wayne Gretzky Rangers edition. 98 out of 99. Yanka with New York Rangers. And then we got a Kale McCarr. Avs in that Diamond Gallery design. It'll be Yanka with Colorado. Then we got a Martin Brodure for New Jersey to 299. And then we have a exquisite tandem. Mike Bossi and a Brian Trottier. 33 out of 299. Cool looking car there. Islanders, it's gonna be for Barry. All right. Three more boxes to go. Evagni Kuzenov, 251 out of 349. Joe Kuznetsov. And then we've got Luke Evangelista. 62 out of 99. Diamond Plate Rookie Auto for Nashville.  Last of all, Mojo strikes again. Team Logo Jumbos. Matthew Nize. Maple Leafs. Allen with Toronto. Got another Diamond Gallery. That's Connor McDavid. Joe with the Oilers. My LA King is gonna try to figure out how to stop. McDavid tries to tell us. And we've got Owen Beck, Rookie Gems. 304 out of 399. That'll be for Montreal. Michael Hughes with the Canadians. And we got Owen Beck. Extra Exquisite Relic. 306 out of 349 for Michael Hughes. And the Canadians. Let's get a number right up there. All right, two boxes to go. Where are you, Connor Bedard? Where or where can you be? Two more boxes. Good luck, everybody. We're gonna lead off with Golden Knights Jack Eichel. To 349. The autograph is Luke Evangelista. 72 out of 99. Another Pred for Andrew. We got another Matthew Nize. Rookie Team Logo Jumbos, that is. Another one for Allen and Toronto. We got a Black Diamond Diamond Might. Brent Burns. 21 out of 99. I don't think I've seen this insert yet. It's pretty cool. That's gonna go to Carolina, Raymond with the Hurricanes. We got Patrick Waugh, it's a 299. And back here is Miro Heiskenin. 40 out of 49. Exquisite material, that's a cool looking patch. That's gonna go to Dallas. That'll be for Michael P. All right, final box coming up. We got a one box break of this in the store right now. Fifth and final box of an inner case that we opened up last week. So if you wanna do a quick one box break of this, get into it, that's our last one. JaspysCaseBreaks.com. I don't think we have any more of these Black Diamond cases laying around. Might get some more at some point, but keep an eye out. There's a lot of extra glue in that pack. All right, here we go, final box. All right, we got Leon Drysital or Drysidle, 12 out of 25. Be for Edmonton, that's gonna go to Joe. Then we've got a William Dufour, 2020 NHL Draft, round five picks, 65 out of 99, Joules of the Draft, three color passion auto for the Islanders, Barry with the New York Islanders. We've got a Black Diamond Relic, that's Andre Sevechnikov, I'm gonna go with that. Sevechnikov, I'm gonna go with that. Team Logo Jumbos, I'd say Hurricane Raymond with Carolina. Then we got a Black Diamond Cole Caulfield and Girage, Girage, I'm gonna go with that. Slavkovsky, two color dual relic, Canadian, that's gonna be for Michael Hughes. Couple more here, we got Yari Kuri to 2.99, Diamond Legends for Edmonton, Joe Lawson with that one. And this should be the exquisite card, it is, that's Brock Faber, exquisite rookies 270 out of 3.99, Minnesota Wild, that's gonna be for Robert. No Conor Baddard, but hopefully you've, don't know hockey knowledge isn't super strong, but hopefully these were some nice hits otherwise. But the Conor Baddard hunt continues, we got another one box break this Black Diamond in the store right now, could be in that one box break. So go and check it out, I'm Joe, I'll see you next time for the next hockey break, bye bye.


So Gregor says, hi everyone, I'm very, I've very silly problem with login to my account. I used multi-factor authentication with my admin account because of the problem with my phone I've lost that account from authentication app. Now I can't add the account because it's required code from the app. I also can't log into the admin area because of that because someone helped me out. That's why you just don't rely on one form of authentication. You better hope you've got another admin there someplace or you're kind of screwed. One thing they don't tell you about the MFA apps, right, the ones you have on your phone. Number one, you remember a time when the Microsoft authenticator didn't do backups, right? So I remember when the first authenticator came out, I switched my phone and there was no backup, right? So you had to re-entrol. They tell you to actually take a picture of the QR code that they give you when you do it. So you can just re-add it if you have to rather than going back into the website, going back into the account. Now it is, but now with applications I switched over to one pass, one password, and that actually allows you to store the QR codes in one password. So all I have to do now is if something happens, I try and avoid using an authenticator, but Microsoft pushes it on you. Yeah, I use Authy and Authy sometimes will lose its brain, it will lose its mind, and it's probably my setup. But at the same time, I can just go back in one password and then just retake a picture of the QR code and then I'm good to go. That's just downright clever. I hadn't thought of that, which means now for whatever they probably need to do is go in and pull the authenticator app off of these various and sundry things and re-add it and take pictures of the code when I do it. Sounds like a great thing to do in the evenings, you know, it sounds like I'm going to reinstall authenticator. I've had to do it so many times. I did it just recently. It's a nightmare. It does the backup, but it doesn't really do the backup. It backs it up and puts the diesel, but you've still got to go log back in again and re-authenticate. I know I've got so many clients and it might be something from six months ago and I'm still working with them, but I can't log in anymore to do it because anyway, I've got so many that are there and I just delete them. The other thing that works along those lines is if you have another phone that you have the same authenticator app on and you've got it set up the same way. I have, I've kept, I have, but on this one I had to hand my phone back to get the new deal and then I was, yeah, then it was like, it was just a nightmare and I've got so many, being a consultant, so many that I've lost and it makes it really, really tough, but taking that photo and making sure you got that information, Mike, that's a fabulous eye. I'm hands down doing that from here on in. Love that idea. I didn't think of it. I think this is the first time this year, Mike has added some true value here. Hey, I know. Thank you, Mike. He's not a donkey after all. I didn't, I didn't think of it. I just read it off a website and one of the websites. Okay, Mike didn't add value, so sorry. 2023 is a wash. Good thing it's almost over. That's it. Christmas. Try again next year. Yeah, but he's got a nice mic.


Alright, welcome back to operating systems. So today, basic IPC. We get to experiment with it, but anyone remember what IPC stands for? Inter-process communication, right? Because processes are independent and we have to ask the kernel to nicely communicate between them. So if we don't remember IPC, basically you can think of it as transferring bytes between two or more processes. In fact, you've probably done it before because reading and writing files is an example, technically, of IPC. So you have a process, opens a file, reads it, maybe modifies it, writes it out. Later comes along, reads the same file again. Well, technically, two processes just communicated with each other. They didn't, they don't necessarily have to be running at the same time, but they just, just bytes have to transfer between them. That's it. So the read and write system call, that's how you do some basic IPC. They allow you to read and write any number of bytes you would like. So let's just make a simple process that just reads, yeah, reads things from standard in and writes things directly from standard out without having any idea what they are. So let us get into the example. And here is our example. So in the example, we will declare a buffer of an array of characters of size 4096. This number will become apparent to you as soon as we get into virtual memory. For now, it's just a number that kernel seems to really like for all you care about for right now. Then we'll declare a variable called bytes read. And then in a while loop, we will continually call the system call read on file descriptor zero. We will give it this buffer, tell it the size of the buffer, and that is the maximum number of bytes the kernel will write to that buffer. And we'll check that is greater than zero. So remember, the read system call returns how many bytes you can read from that buffer now that the kernel is done writing to it. So I will just call read over and over again. While there's some data left while I'm reading some greater than zero amount of bytes. And then in here, I write to file descriptor one, that same buffer, I'm going to write the number of bytes I read in. So anything that comes in goes immediately out. So here I record the return value from right because I should be a good programmer. Be sure to check that I have any error codes or anything like that. So if you read the documentation, it's like every other C wrapper for a system call. If it returns negative one, means there's an error. I can set, I can save error no print or use p error to print a message. So I don't have to decode it myself. And then I'll just return from main so I can just exit the process. Otherwise, here I will write an assert statement. So you should probably write these in this course because you'll make a lot of assumptions. And they might not necessarily be true. Here, I'm assuming that the kernel always reads the amount of, or yeah, I can write the amount of bytes I always get. I always read the kernel may not always write all the information I request of it. But here I'm just going to, I wrote the rest of the program assuming it does because it gets kind of ugly.  I am sure. And then, you know, read the rest or big, write out the rest of the file. So at the end of this statement, right here, if I exit out of this while loop, it means that bytes read is zero or less than zero. So I'll check if it is negative one, which means there's an error. So I'll just print off what that is again. And then here I will assert bytes read equals to zero. So you might have been told like when you read a file, there's an end of file character or something like that. While on Linux, that's a complete lie that doesn't exist. So the way you know you're done with a file on Linux is if you do a read system call on it and it says zero bytes written to it so you can read zero bytes from it. That means it is done with data. You'll get no new data out of it. That file descriptor is done. Nothing else is coming out of it. So you know if you're done, if read return zero. So here I'll just assert that, you know, read return zero in which case I'll exit successfully. So let's go ahead and run this. So it seems like a really dumb application that doesn't do anything, right? So how would I make this application do anything? Any guesses if it's just reading from standard in and writing to standard out? Yeah. Yeah, I'll type something. Hello. Enter. Bam. So anything I type into it? Well, what I type into my terminal by default, that will be standard input. And when I hit enter, well then this process was able to do a system read call. It read hello and a new line. So it wrote out hello with a new line to standard out. Yep. Oh yeah, so there's a good question. So after my while loop, do I have to close these? And in general, the standard file descriptor is like zero one and two. You just keep them open until the process exits and then it cleans up the whole thing. So sure, you can close them here if you want, like I'm done with them here, but the process is going to end. So like that's the same argument why I don't free memory if I'm going to use it the whole time anyways, it'll just clean up at the end. Yeah, so I can write stuff here. Hello.  So if I want to do end of file and signify end of file, the default thing is if I press control D, that says I'm not going to type anymore on my terminal and then the program is done. It terminates and we're all good. So any questions about that? Kind of cool or maybe useless depending on who you are? Yep. Oh yeah, so the question, what happens if that condition is not true for the assert statement? So if that is not true, your program will blow up and it, well here, let's just see. Why explain it when I can show it? So I'll write something, press control D, then it'll say that the assertion is no longer true and it'll say which assertion got triggered and then what line it happened in. So I know I screwed up here. So it's a good way if you have these all over your code and something breaks, it'll tell you that, hey, that's not true anymore and you should fix it instead of like doing what Java developers do and just like propagating an error and then you can never debug it ever. Be proactive in your debugging. Yep. So the file doesn't end with a zero, read, return zero bytes read. So yeah, the file can be anything. It can end in a zero, it can end in a new line, it can be whatever. So return zero bytes that you're allowed to read from it instead of some number of bytes or something like that. It just means you can read zero bytes from it, this is done, it's empty. So has anyone ever used the application cat before or the program cat before? We've used that before, right? What's cat do? If I just press cat and enter, guess what? We just wrote cat and it's a utility you've always used and it doesn't actually do that much but it's fairly useful. If you've used Linux, you've probably used it a lot. So let's see what we can do with that. So we can do some fun stuff. Oh yeah, and just so you have it, so read, again just read data from a file descriptor. No end of file character, read just return zero bytes read if you can no longer read any data and if that represents a file, well then that's the end of the file but as we saw file descriptors can represent other things. So if it's a terminal it means that I closed it and I don't want to type anything else in my terminal so it behaves the same way read just return zero. And again remember check for errors I will always tell you to check for errors and you know make sure you handle them or blow up early so you can actually see oops is this something my mistake or is there something kind of intended? Right, same thing returns the number of bytes written again you can't assume it's always successful although people do so we know printf calls write and who here has ever checked the return value of printf probably no one but technically you probably should because printf actually returns the same things it returns the number of bytes actually written to but no one checks it. I'll tell you to check it I guess you don't really have to check that one but you should probably still check things and also a thing to note here is that the read when I'm reading something to that file descriptor well it's necessary that something else wrote to that file descriptor so when that program is reading from standard input which is reading from my terminal well something else had to write to that file descriptor so that's what my terminal emulator did so my terminal emulator took my keyboard presses turned it into ASCII and then wrote it to that file descriptor that's supposed to represent that terminal and then my application was able to read from it and then whenever it wrote to standard output well my terminal emulator which is again a different process would have read that and then taken those characters that information then actually you know drawn something on the screen that I can see so both things like there's two sides of communication here even with that your terminal is interacting with your application so these are deceptively powerful so what we can do there's a few rules with file descriptors and the rule in Linux is if you open a new file descriptor create a new file descriptor it will always choose the lowest number that is available so if I close the standard if I close standard input so I just say close zero well then suddenly in my process file descriptor zero will be free so if I do an open system call for a file well the file descriptor that's going to return unless it's an error is going to be file descriptor zero because that number was free so let's see what we can do so I'll have the exact same code in the body but I'm going to have this function do something with the arguments so here I will check that if there's greater than two arguments my program's not going to work I'm not going to support multiple things but I could if I wanted to and then I'll have a condition here that if I have two arguments so the name of the program and then I'm expecting a file name if that happens I will close file descriptor zero and that will free it up in my process so right at the time of the close file descriptor zero now doesn't refer to anything then I will open the second argument which should be a file as read only and this should get file descriptor zero and then my code is otherwise exactly the same I don't want to find anything so with just doing that just playing with file descriptor zero well suddenly cool things happen so if I just run open example without an additional argument it's the same thing as before but now I can be meta and I can you know give it a file name argument so what should happen if I do something like this yeah it should just print the whole file so just print the whole file why to do that well because the code is reading from file descriptor zero at all times and writing to the file descriptor one so before it started I replaced file descriptor zero with an actual file so whenever the read system call happens it will now instead read from the file instead of from my terminal so with this I see the file that I gave it and it just goes out to my terminal which is kind of cool yeah yeah so before the question is before closing file descriptor zero what does it contain so file descriptor zero in this case represents my terminal and it's something you can actually mess around and one of the things in proc is a list of file descriptors and you can see what each file descriptor refers to it'll refer to some pseudo terminal device which is like it's just something you can read and write bytes to yeah sorry yeah the convention is file descriptor zero is always standard input file descriptor one output to standard error yeah so the only reason this works is because well by convention zero was already open I closed it and then I opened it zero was available so the Linux algorithm will always choose the lowest open file or lowest free file descriptor this case it's zero so I just replaced zero in this case and now instead of representing my terminal it represents a file kind of cool so yep sorry so when I just type cat before like it did the same thing as I was doing like it just with my terminal right but like you could do cat so cat has the same thing you can give it that which is exactly what I had right yeah yeah this is like the this is the implementation of cat right cats not actually that complicated but it's super useful because everyone's kind of use it yep yeah so close just closes a file descriptor in this case I'm closing a specific one because I know the convention in general you pretty much just close whatever you open kind of like memory but in this case I know the convention yep yeah so that's a good question so here if I don't close zero what happens yeah so if I don't close zero well by convention zero one and two are going to be open they'll refer to something in this case they're on my terminal so if I call open I get a new file descriptor zero one and two are already in use so this would get file descriptor three so it just open it and then I monkey around with file descriptor zero and one and then that's it so that file would never get read or anything we just opened it for fun yeah so then if I do this and then yeah if I read in there if I read fd3 that would be the same thing I'm reading from the file yep no so your file descriptors are independent to your process so you can think of file descriptors kind of like as pointers so what they're point to will not change but you know what they point to might not exist at some point so like you could have read fail or something like that if someone if you like shut down your terminal or something yeah like if I just close zero and do something yeah it'll just be closed so if you want to screw up your program right printf prints to file descriptor one we know well at the beginning of your program if you want to cause someone your friend maybe maybe not your friend a big headache just put close one at the beginning of their program and then when they try and printf debug nothing will ever happen because the file descriptor doesn't it's closed printf would that internally have an error they likely ignore it and then they'll never figure it out and it'll be fun so yeah if you want to screw someone close one at the beginning they will never ever ever debug it that's job security people all right so with this there are some fun things we can do so in fact your shell has little shortcuts for you so that you can have even if your program just uses standard in standard out you can interact with files without having to write anything so in fact I could go back to my read write example and then there is a fun little shortcut something like this what this will do so this is part of your shell and what your shell will do is if there is this arrow it will open this file for you and then this arrow means replace standard input so remember this version my program didn't have any open didn't interact with files at all but now if I use this my shell will open this file and use it to replace file descriptor zero whatever it creates this process whoops what I write did I oh right I didn't recompile it so just with that without having an open well now this can interact with files and in fact if I write the other end well and create a new just give it a new file name your shell will create that file open it and then replace standard out with that so if I do this well now I don't get a output because standard in got replaced by open example dot see and standard out got replaced by copy dot txt and guess what what's in copy dot txt the same thing guess what that did that copied a file so right that's all it was doing so it read this file and then wrote out this file guess what that's what copying is so if you use cat and you know how to use your shell you don't need a CP command you could just use cat and go in and out right CP is just a minor convenience and other fun things we can do so yeah so then you could that's why at the beginning when I s trace things to I directed it to a file so that's why that worked and that I could cat it I could see its contents and you can play around with it in fact there is a really fun one called a pipe so that's what this character is and what this will do is take standard output from the process on the left and that standard output will be standard input for the one on the right so it essentially glues them together so now they're communicating directly with each other so if I run something like this whoops whoops wrong file build well I get the same thing and what happened well cat will open this file and then it will write it to its standard output and this will glue it so that when this process reads it will be reading from the previous processes standard out and then in this case it's the content of the file this program does the same thing as cat so it's just going to have a roundabout way to output the file again so it's going through two processes this time and in fact if I really wanted to you know you could just make a big list and same thing is going to happen right I'm just creating more processes it's going through more processes I'm wasting more memory I'm doing more system calls but it's going to look the same any questions on that one yep so here so in this case what this operator does is essentially glue this process of standard output to this processes standard input so anything that this process writes to file descriptor one well when this calls read on its file descriptor zero it's going to read whatever that one wrote sorry yeah so one's writing information so whatever this one's writing out this one is reading in because of this little operator it's called a pipe so it just glues two processes together so in fact you know I could do that and that's why you can make useful utilities so this little utility just reads from standard input and then counts how many lines there are if I give it the argument dash L so I can figure out how many lines are in this file so I just pipe the contents of the file to that and then it just will read it read the contents of the file and tell me how many lines it has so kind of fun yep yeah so I could pipe yeah so question is well instead of that you know in fact I could just do this for this example so instead of doing that I could have it go to a file and then take that file and go here here I'll just cut out the middleman and I could just give that process replace its standard input with the file so I could just do something like that I'll get the same answer so too long didn't read you can just write utilities that just deal with text deal with standard input and standard output and then through messing with the shell they can magically handle files and do whatever you want with them because they don't care right they just read and write bytes they don't care what they actually represent your terminal a file if you wanted to you could replace it with like a network thing so just send some bytes over the network you could do this across computers lots of fun stuff all right so now to go into signals so signals are another form of IPC which is now new to us basically they are interrupts we all remember our good friend interrupts so how many of you have run a program you don't know how to stop it so if I didn't tell you about control D and I ran something like this how would I stop it yep control C right control C then magically stopped do you know how control C works guessing interrupts yeah good guess but so far control C has been like some magic that's just saved us right yep yeah it's a signal so control C is actually a signal so whatever you press control C you are sending a the kernel is going to send a signal to that process and your terminal is going to actually request that and then the kernel because it's IPC the kernel is going to go through with that request so when you your process receives a signal the kernel interrupts it it will run a default handler so there is an interrupt handler that you didn't write there is a default one each signal the handler just takes a number each signal gets a number so each number is supposed to represent something different control C sends a signal called sig int which is just supposed to stand for a signal interrupt in Python you might see it as a keyboard interrupt or something like that it's the same signal they just tried to make it a friendlier name and by default the default signal handler will exit your process with an exit code of 128 plus the signal number so if we go look back in our code this lower right number here that represents the exit status of the last process I just ran so I just told you that the default signal handler it's 128 plus the signal number so if I got 130 what is the number of the signal oh the question what's the significance of 128 and they're just by convention you like exit with 1 2 3 and use that so it is picked 128 it's like yeah no one will use things by this point so we'll just use it so yeah what is the so if that's it yeah what's the number of sig int well two right hopefully 128 plus two equals 130 so these aren't hex or anything this is just good old decimal so we can figure out that the sig int of interrupt from keyboard signal handler two so we'll see an example of how to register your own signal handler this will also it's a good way to mess with your friends that haven't taken this course yet so like your interrupt your interrupt handlers for other courses they don't return a value or anything and the signal handler on Linux just takes an integer and then returns nothing the integer will represent whatever signal number you're actually supposed to handle so these are a few of the signal numbers two nines a good one sig kill it's terminate immediately so we'll get into that fun bit and then there's one everyone's probably encountered so this is your seg fault you know dereferencing a null pointer that is actually just a signal and by default it's going to do just do the default handler and that's why if you seg fault your program you'll probably see the exit code is 139 and this is why and then in fact if you want to you could you know catch when a sig fault happens and then you could print like I'm gonna die now or something like that so you can actually have a signal handler for whenever you dereference a null pointer if you really want and then there is this one 15 seg term so that is by convention the nice way of saying hey process please stop and so this is please stop and this is stop so we'll see some example of that so let's go into the example so in the signal example I am going to use the same program we've been using so this is that open example that just reads from zero and writes to one so the only difference here is I'm going to call register signal so I'm going to register two signals sig int and then sig term which is supposed to be you know pressing control C and then asking nicely so I'll register both of them oops in the register function well there's a struct sig action that you have to fill in things will you might see depending on how you tackle one of the labs some other fields but the main one is just registering what function you want to run whatever signal happens so this is a function that just zeros that struck for you and then there is a field called handler that takes a function to run whenever the kernel sends a signal to your process then sig action is the system call that actually registers it with the kernel so sig action takes a signal number you want to install this handler into and then the action you want to be done so whatever function you want to call and then some optional arguments that we set as null here again we check for errors otherwise if it's not an error it means the kernel has accepted your request and now whatever you get that signal your process is going to run your function instead of the default one and what is my default one I'll just ignore the signal be like yeah I don't no thanks don't need you don't care so let's run that so now all of a sudden I have installed some signal handlers one was sig int so now if I press control C what should happen it should just print off I'm ignoring you I'm not gonna stop in this case it's a good thing we checked for errors because we got an error from read where's read ah so our error was here weird we got an error and it says interrupted system call so this is why you have to you should be a very proactive programmer because we didn't know that was possible that's actually not a bad thing all interrupted system call means like a signal happened and you should just restart your system call so that's actually not an error and the condition that we should probably handle if you go look at the documentation you'll go see that the error no gets set to E in there yeah the curl developers are not the best at names that just represents that interrupted system call so here in my loop I check if there's an error if there's an error that I can check error no and then if I see I got an interrupted system call I'll just continue and it'll call read again and then carry on its merry way so now when I run this and I press control C just ignores me and it ignores me and it ignores me and it ignores me and it ignores me how do I stop it huh control D okay without pressing control D control D's cheating so pretend this is like your friend trying to exit Vim yeah use another interrupt which one yeah nine's probably a good one so let's see so I'll have to open my terminal to recover from this so if I want to send the signal to a process I need the processes process ID I didn't print it out but luckily there's this fun little program called pit of that you could right now if you're done lab one so pit of just takes a program name signal example one then it goes through the proc directory and tries to see any matches and it'll print any matches so if I have more than one of the same process name running I'll get multiple numbers however many process I have running in this case I just have the one so the system call which is also a program to send a signal there's a system call to send a signal you would think it would be called something called like send signal would make sense in fact it is called kill so kill is the system call to send a signal to a process by default if you just give it a name it will ask that process nicely to exit so here I just tried to kill that process and asking it nicely to exit sends it signal 15 which I promptly ignored so I just ignored it so if I want to really end that process I have to force the issue so I can force the issue if you give it a dash and a number it will send that number of signal to the process so remember nine that was sick kill and that was exit not nicely so you are not allowed to ignore that one that one the kernel handles for the process and then if you do that it is dead so that is the not nice way of killing a process because otherwise you're free to ignore it any questions about that yep question is is there any other signals you cannot ignore this I believe I'd have to double check this is the only one you definitely cannot ignore because the kernel handles it for you if you try and install a signal handler for it you'll get an error saying you can't do that yep yeah we'll get to that in a second do you quit you're good okay so through that yeah so kill dash nine was the not nice way of asking a process to end and this has a caveat well if that process is in in that uninterruptible sleep state well unfortunately kill dash nine doesn't kill that process still and it's a pain in the but you can just never kill it until the kernels done with it all right so this goes back to the last lecture for wait so most operations you probably want non-blocking so you don't want to wait for anything to happen you just want to ask we I told you about before but now we'll see an example for it so a non-blocking call returns immediately and just checks if something happens so to turn weight into a non-blocking call we use weight PID and then one of the options we give it is W no hang and that just means just ask if I have a terminated child and return immediately so returns and then it'll return zero if you don't have one if you do have one it will return the process ID so this kind of goes back to your more architecture course remember pulling and interrupting well now if I have something like this if I want to make some poor decisions well I can just pull it over and over again so here is going back to last lecture we'll just do a fork create a child that sleeps for two seconds and then exits and then in the parent we will declare weight PID will initialize a zero declare some space to a W status and I'm going to create a variable that's going to call how many times I actually call weight so I'm going to have a while loop that says while weight PID equals zero so that means I don't have a child terminated yet I'm just going to pull over and over again and ask do I have a terminated child do I have a terminated child do I have a terminated child and then only break out of this loop whenever weight PID returns an actual process ID that represents the child process then I'll do the same thing I'll check for errors and then print its exit status so if I do something like this whoops it's called weight pull example so it's pretty wasteful so system calls are slow and I made 300 and almost 60,000 of them so that's probably wasting a lot of time on my CPU that's 360,000 kernel system calls probably not good so if I want to still use pulling and reduce the number of attempts I have what should I do to reduce that the number of attempts I have to make yep yeah pull less frequently how do I pull less frequently yeah I should probably just you know probably just give it a break right something like that so if I do that attempt one, attempt two oh I got it yay so that time I got lucky some other times I might get to attempt three there we go so in this scenario well I've a reduced number of attempts but it's also not that great because I'm essentially trading response time to lower that number so because I'm waiting a second well I might get super unlucky and then I call weight and then I start sleeping for a second then my child immediately dies whenever I first call sleep in which case I'm not going to respond to that for a second which is going to be pretty slow and average case hopefully it wouldn't be that slow but worst case you'll have to wait for over a second and the problem is whenever I lower that number well the number of attempts I have to make is going to get greater but there's always that trade-off of response time and then number of attempts you have to make so pulling's not that great but luckily remember last lecture I said the kernel pokes you if your child dies or terminates well the pokes you means the kernel sends you a signal so the kernel actually sends you a signal called we register it called sig child so it's a special number and it means that you your one of your child processes has now terminated and you should probably do something about it so the default signal handler for this signal is to just ignore it so the kernel just ignores it for you which is why we haven't encountered it before but it actually does send a signal to your process whenever a child process dies so in this case I can register a signal for a child and then in my main code in my parent just to show that I'm not I'm doing something else I'll just print off I'm going to sleep and then I'll go to sleep for a very long time this is to represent the parent process actually doing something useful instead of sleeping so it's actually doing something useful and instead of just doing a wait trying to pull or just blocking it's just going to depend on a signal so in the signal handler I'll check what signal number I got if it's not a child I don't really care I'm just going to ignore it otherwise I know that I'm being poked because one of my child processes has terminated so I can do wait PID and you might notice here I'm not waiting on a specific process ID so remember the wait system call waits on the first child process that terminates well if I use wait PID which I have to in this case because I have to use this options for the non-blocking one if you give negative one as an argument for PID it behaves the same as wait so if I give it PID negative one to wait on it will wait on the first child process so in this case I just call the non-blocking version in this case because the kernel is actually telling me that I have a terminated child process which is remember our terms currently a zombie then I whoops did I copy that then I just go ahead and see its exit status and print it off like nothing happened or like I did before so if I run that the parent goes to sleep and then it gets a signal and then that signal handler runs I clean up my child instantly it's now no longer a zombie I acknowledged it we're all good so yep sorry for the wait PID yeah if there was no child yeah so if wait PID doesn't have a child or wait doesn't have a child it just returns negative one and sets narrow no that says you have no children yeah yeah so the question is how's the kernel knows that the process is terminated well the kernel is the one managing the processes so it would have called exit so then the kernel knows it calls exit it has to handle it as part of handling it it can send a signal directly to the parent right so it doesn't have to the kernel doesn't have to pull or anything because you have to tell it you're exiting and then it knows about it yep okay cool so this is going to be a word of warning because this will prep us for having threads and things like this so you might be tempted to in your signal handler do some cleanup or something like that so I will have a signal handler that in this case closes a file so in this case I'll declare a global variable and then in my main I'll open a file and then in my signal handler I'll be like okay I'm gonna close that file all right got four minutes all right so I'm gonna close that file so I'll check if it's negative one if it's negative one oops I'll assume that I don't have an open file so I don't have to close anything otherwise I will just close that file check for errors and then print I close it and then I'll artificially wait a bit and then I will finally exit so if I run this program well I have to give it a file so I printed out its process ID just to make my life easier and then I said what I said I opened a file descriptor so in here I can go ahead and ask it nicely to close in this case I registered that signal handler with the same interrupt and sig term so I can ask it to close and it goes tries to close and I can hit control C and I interrupt the interrupt so if I interrupt the interrupt that's bad because it will try and close the file again and now it gets bad file descriptor because it has already closed that file descriptor you can't close a file descriptor two times just like you can't free memory from malloc twice so what happened well the first interrupt happened I printed I closed I printed this and then I slept and then while it was sleeping I generated another interrupt before it happened and it started executing this function again did this print line closed and then it encountered an error because I already closed it so this is a thing you have to deal with with doing signal handlers so signal handlers are a pain in the butt you have to be really careful with them and we'll learn more about this once we get to threads but just so you know in this case signal handlers the term for this is they have to be something called re-entrant which means in the middle of executing them I should be allowed to execute the same function again and nothing bad will happen so there's a few rules for that like it shouldn't use any global variables it should only use local variables things like that but we will get into that later but that's just a taste of things to come we don't have to worry about that people really hate signals because they have you know signals can happen within signals which is kind of a pain in the butt and we'll work around some of those issues as the course goes on then another thing so on a risk 5 CPU there's three terms for interrupts based off where they come from an interrupt interrupt is basically from hardware an exception is from like executing a legal code and a trap can be you know that requested trap whenever we do a system call or it could be you know it could also be caused by an exception if you want and just an example this is just terminology you don't really have to know it that well system call would be an example of a requested trap so that's the end of this lecture and you know we learned that hey we can kill kill some processes now so you might wonder what happens if I do something we learned that a knit was pretty important and then you can't ignore a sick kill so you might ask yourself what happens when I do that yep yeah ah ha nothing happens so one is actually protected so it is the only exception to that rule so there are no default handlers for process one so if you want to kill one while process ID one would have had to register sick kill and then closed itself and actually registered for it so you don't accidentally do something stupid like this so that's it just remember pulling for you we're on this together


y the Swedish Government made his determination I think as I remember there were two that didn't agree with Phillips's judgement two that did and Phillips was the deciding factor he's retired now I think he's 83 I wanted to ring him up but I thought I might be rude Lord Phillips's judgement he took it so in the case was that they argued that a judicial officer not a prosecutor had to issue the warrant a judicial officer Lord Phillips took the French translation as the foundation of his judgement and said that Julian can be extradited nothing to do Parliament never saw the French translation when it's made its decision on the treaty and on the WEA arrest warrant Parliament didn't see the French translation I mean one after the other a list so long the other day I saw Jennifer interviewed and she they asked her about due process and she said oh the list too long what about irregularities the Swedish prosecuting authority and the Crown prosecuting service officers of government, Australian you know politicians or bureaucrats came and said Julian can leave anytime he likes you know it's up to him he's there because he wants to be the Crown prosecuting service and the Swedish prosecuting authority the FOIs reveal it conspired together to keep Julian in the Embassy for seven and a half years until the circumstances evolve to the extent that they could drag him out that's the truth where are you gonna hear that grim but there's more what are the elements of biological torture intimidation isolation humiliation mobbing scurrilous slander 14 years of it freaking hell is there no decency anywhere you know when you commit a crime you know a bridge human rights the Universal Declaration of Human Rights 1948 who was the President of the General Assembly in 1948 Herbert Veer Evert and Eleanor Roosevelt put the Universal Declaration of Human Rights together under their ages and it was passed by the General Assembly and subsequently every European nation has embraced the human rights declarations in there in their national legislature all of them England the very authors of these elements these civilisation magnificent elements that we brought that emanated out of us a bridge and dumped them I was with La Prés-Obrador for an hour the other day a very wise warm man with a lot of responsibility he said that states when I brought up the UN in the conversation he said that I didn't have enough time to develop my argument but he immediately interrupted he said that states follow interests okay is it in their interests for all against all no what is the fundamental element of being a human being cooperation otherwise it's all against all in a blood bath we cooperate together that is the fundamental element of us and having means and mechanism whereby we can relate the means is the laws brought into being in the united nations that's the means it also is a measure to see how far you go from that so when people say oh the united nations it's fail you know it doesn't do this or that and the other it remains as a measure it always there as a measure now I guess I can start to finish now the council of Europe that made a declaration that Julian Assange is a protected journalist that must be freed the united nations high commission have made the same declaration similar declaration Australia made declaration Obrador Andreas Miguel Lopez Obrador very fine man's made declaration twice it's been an hour with us Lula president of Brazil Fernandez president of Argentina president of Chile Petro president of Columbia of all made the same or similar declarations that Julian is a publisher journalist that must be freed it echoes around the world of the greek parliament of 300 people 90 here in the Assange group the Australian parliament 25% millions of people around the world somebody said how much money have we spent well with Julian about a year ago we estimated that to get him freed will cost 40 million I think we probably spent 20 million today 20 million dollars I'm a pensioner I get 511 dollars a week yet we've spent 20 million dollars where does that money come from it emanates from you this matter will only be solved from the bottom up there's no interest in the institutions of state in going against the united states no but the beautiful thing in parliamentary government with the Assange case really beautiful thing is that the people took their concerns to parliamentarians the parliamentarians have taken those concerns into parliament and the majesty, the sovereign majesty of parliament has brought it to the notice of the executive it's a model for every other social concern to use that model to go to the people people there's a friend here who's in PR and he says that we should do more PR it's PR you translate that to money so you go money media politics well we're not in that like Obrador like Lula who I met three times in Europe he was you know got out of jail in the rounds he was on the road bumped into him in Geneva and then later in Paris and he'd been to Berlin Strasbourg spoke to the parliament in Strasbourg then to Brussels then to I met him in Paris and then he was on his way to Madrid they go on the road it's from people so we put here the you know there's lots of people here I've met many times on the road we go on the road we go to people and then media because regional media is interested they're not cosmopolitan they're still retain their health if you I don't mean any insult to cosmopolitan but in the that they have you know a hunger for news of their own making so we go there and then we end up with some political circumstance 88% of the Australian population want Julian brought home I think I've really come I've said enough I just wanted to interesting here in the beginning which I'll close with the world revolves around creators of new values revolves invisibly but the people and fame revolve around actors far from the marketplace and from fame happens all emerges all that is great far from the marketplace the inventors of new values have always dwelt and that's the truth we went to I think we did five tours in New South Wales and sorry five tours of these cuts and a couple over in Western Australia and a good few in Adelaide and so it grew and grew and grew and it became a worldwide phenomenon you might bring to mind Kev Carmody's beautiful song From Little Things Big Things Grow Thank you I've got to pass around a couple of jars for Can we do it at the same time as the Q&A for John? Yeah That's what we want to do but we should draw the raffle because you will have an opportunity to ask some questions of John Shipton so while we do this raffle is anyone wanting to buy tickets now before we last chance? No? That's it! Is John going to be the one to draw out the number? It seems appropriate Yeah, John Shipton I meant, sorry Yeah, have a think about your questions and please, when you ask a question make sure you've got the mic and please try to be succinct so just get to the question as quickly as you can to ensure that we have as much time as possible to hear the questions I haven't got my glasses on so you're going to have to handle that Green C02 Okay, well done At the same time I'm going to just pass around a few places for donations So Is this the second No, that was the I need another ticket has John Shipton's There's a second prize Yeah, a t-shirt, the cool t-shirt that you're wearing Yeah Yes, yes, yes Don't worry, Jenny's explained it definitely another prize Okay, and I might have we got the microphones because we'll get the first question already Yeah, up the back is going to be the first question, is that right? Is that what's happening? I see a hand up there and we've got a woman up the back who'd like to ask a question so if we could have the microphone taken to her she's standing with a hand raised in the air wearing a looks like a pretty awesome t-shirt Okay, now the winner of the of a t-shirt here Thank you, Judith Blue B017 That's you I don't have the t-shirt here right now but Jenny is here and she can probably tell you where to collect your t-shirt from, it's probably going to be just around the corner Alright, so up the back wearing a great t-shirt, question for John Shipton Yes John you had a figure there for how much it's been costing for the legal campaign etc, which is a phenomenal amount has anyone done a calculation as to what the three letter agencies and the US Government has spent on persecuting Julian because I reckon it must be in the hundreds of millions No, we haven't done, you know, anything like that, just sort of we just, you know, take the what flows towards us and handle that the best we can the resources of the United States of course are immense, you know and they are unstinting in their application except for the fact that they're in a lot of trouble now with the decision to attempt to destroy Russia and constrain China, so I guess that opens up an opportunity for us because I feel certain, I feel rather, not certain, I feel that they've got enough on their plate and they probably want to get rid of this Assange persecution in the quietest and most decent way possible Thank you All right, we've got a woman down the front here who'd like to ask a question I'm going to queue up to I think that makes it a bit easier so after we've had this question there's also a woman I can see towards the back there in the middle so those two and I'll just find and I can see more hands up so great make sure you get to the question not too much of a story or a comment before the question please and I forgot to mention we heard from Rory Drew ask a question before, he is a big campaigner for the freedom of Julian Assange he's also on the Northern Rivers where I'm living and he mentioned to me that there were two petitions here today so I hope people have been signed to those and if you haven't signed them, Rory if you're around where are you? Okay, Rory's over here so if you have not had a chance to sign the petitions and you can't get to sign the petition, you could go see Rory and he'll let you know they'll be online. Let's hear that next question down here. Thank you Rather than writing our letters to Canberra, London and Washington what else is there we can do? A good thing is to let your local member know your feelings they only can measure what your concerns are through contact with you so ring them up and say this thing is just pretty wretched and I insist that well, probably insist a bit strong but it would be really advisable if you want to continue to have my support to bring it to an end and the vulnerability of parliament is in the individuals they can be as we see suborned and the other thing is that say if you take the Department of Foreign Affairs and Trade as an example which has within it the ASIS the Australian Secret and Intelligence Services and the Department of Trade and the Diplomatic Corps and the Diplomatic Corps attracts the best and the brightest. The ASIS is a combination from five eyes in their own work so that they have a certain amount of hubris and they you have the occasion now where a talented member like Penny Wong becomes the minister and you have DFAT, well it's 5,300 employees and in its budget it's a little strong to expect Penny to rule that place the way we are taught that things are done you know. Institutions of state have their own interests, their own ideology so it's best that the pulse arises for change, arises from the individual members and from the public the pulse. Otherwise, you know, they wouldn't bother their heads with having all of these newspapers report their stuff the way they wanted that Michael described to us if they didn't feel necessary they wouldn't make us to support their policies so that is their vulnerability they want our support well okay, they can have it under certain circumstances one of those circumstances is decency the other one circumstances moral integrity we're not giving to us we're not dummies you've got your microphone up the back there and we'll just queue up the next person to ask a question there was someone down here if we could get him the mic for the next question after this one my question my questions just in regards to the messaging that's sent by some arbitrary decisions made particularly in relation to Chelsea Manning being pardoned given he was the original source of the files to Julian how does that sit with with everybody what was that sorry sorry we're going to Chelsea Manning do you want me to ask him to repeat the question sorry so do you mind repeating the question yeah it was just about Chelsea Manning now being I thought it was originally pardoned by Barack Obama but it was apparently commuted either way it sends a message that there is some arbitrariness in regards to the US government in its decision and what messages it sends to those who are prepared to leak how is it that one person can be pardoned another person face 175 years you know President Obama is a talented individual always smiling and you know he did the Tuesday morning kill list but you know nobody knows about that he also ordered the destruction of NYU Mickey and his son but few know about that I think the sympathy and accolades he got from commuting Chelsea Manning's I think probably you got a bit of sympathy for it I'd just like to make a point too that you know in the French mythology Joan of Arc stands very high and I in the American mythology maybe Chelsea will eventually take that sort of position in their mythology it's a pretty brave lass you know a question down here and we'll queue up someone else is there another hand in the air anyway up the very very back will be the next question after this one thank you sir it was only a week or so ago that the editor in chief of RT news proposed a prisoner swap of three prisoners held by the Russians for Julian Assange I think Gershwisch was in the news at the time and that prompted the suggestion of the prisoner swap what's do you place any store in that proposal? No I don't know why RT's floating that probably for their own reasons you know it's quite sort of newsworthy and it gets people to attention but that's all I could speculate I have had no indication other than what I read on RT myself you know just one more point which is really nice is but the genius of a people arises from within the mass from within us and it arises from us and that's really important to keep in mind also Louis Bourge who I read a translation of his on the plane said the great burden is idiocy now when they constrain what we can learn and understand and they bring false news or misinformation or actually they constantly change the information so that it makes sense today but doesn't make sense yesterday and all that sort of thing it undermines the capacity of government to draw upon the people and they left in their own hubris as that they only they understand when in fact the quality of the government and its constituent parts arises from within us so constraining the information and our education is a bloody dead end and it's a lack of understanding when parliamentarians treat us in a child like fashion and attempt to infantile our understanding it's ridiculous and they will come back to bite them because we'll become apathetic and indifferent and insouciant careless so that's a lesson that we must insist that government understands that the genius of the idea arises from within us Herbert V. Evert 1948 the Universal Declaration of Human Rights Gough Whitlam conventions of asylum 1973 one of the most vital aspects of the United Nations legislation many others Barry Humphries died the other day it arose from within our hearts and culture it didn't come down from the top it percolates upwards and ever shall be so thank you we have a question up the back and then over here I see it oh hang on was there someone else who wanted to ask a question because I know that you got to ask one before do I have to I know up the back yeah I'm queuing up the next one sorry should have explained over here we'll be the one after up the back first I'd like to ask John if you've spoken to Julian since he's had a visit from Stephen Smith and what did he tell you oh yeah I spoke in America the other day I haven't since we've been travelling back to Australia he was quite chuffed we refer to because they're always listening to our phone calls you know we refer to Stephen as the Ambo you know the ambassador just got to make it somewhat difficult for them because they listen who's the Ambo what does he mean by the yeah yeah what did he say oh sorry I probably can't repeat Julian's comments you know maybe you'll come out on WikiLeaks okay we had a question down here and then we've still got time for some more so and then over here hello hello hello my name is Phillip Adams petitioner Phillip I have a certainly the Prime Minister he signed the petition on his first day before he moved to Japan to meet Biden it's been tabled in both houses of parliament it has a reference number with the International Criminal Court in order for us to lodge evidence in the future towards allegedly crimes against humanity for public offices in Australia Ecuador, Britain and Sweden my question is there is a a Quad meeting in Australia where Biden has been invited by Albanese at the end of May around start of June timeframe is anyone know exactly what date is scheduled to occur and also we've been hearing a lot of what has what is being dished out from the top down and we also hear that pressure and advancements happen from the bottom up but we also have to look at where we have positive progressions in this particular campaign and the petition is certainly one aspect where we have gained some nailed some advancements particularly with the signature of Anthony Albanese which bound senior ministerial representations to his counterpart I also note that the wording is very similar to what the petition laid on the designates when it was submitted to him I think there is an opportunity coming up for the campaign to look progressively from the bottom up when it was submitted to him and then we'll go on to the next slide because here we have a situation where the Prime Minister of Australia has not only made representations but physically signed on the campaign petition as reported by the FBC not in company there's three parties that know who's signed one is the petitioner so the source of that information must have come from the source we have a significant opportunity with Biden coming out here that we can raise some questions as to the treating of the Prime Minister with impunity with the fact that this has not he has not been released in two months as your line of the FBC so called reported so when is he arriving thinking in our own selves what we can do to lay a question on as you are coming into our shores and discussion with our because Albanese I don't think it's negative I think he's signed on and I think he's now one of us we just need to to look at when action on that does anybody know what is it thank you marching with the MEAA and his supporters and we want as many of you to be there as possible so just to remind you of that the way the May Day march occurs is around about 930 people start to gather at the corner of Warf Street and Turbid Street it's a big march and it will stretch back a kilometre it might be difficult to find us because it's a long walk along there and the MEAA which is the media entertainment and arts alliance which is Julian's Union it's quite small though we hope it will be really big this year with people turning up we've got lots of flags and lots of banners so we should be really colourful and it's the Labor Party's main you know it's the Labor Party's big statement I guess or the trade union's big statement in Brisbane and the trade unions have an enormous effect on the Labor Party so it's really important seeing the Labor Party is now in power that we get as big as a crowd together for May Day so naturally inviting you all to come along march with John Shipton and send a message to the Labor Party of the support for Julian Assange we've got one last comment from Jenny here and last comment I've just heard Albanese will actually be there tomorrow so yeah really important to turn up John do you have time for just the one last question from this woman here John John just down here there was a woman who was coming and I think Jenny has an announcement I was just going to ask considering that 2001 when the terrorist 2011 event occurred that seemed to catapult the world governed by America into this loss of freedoms it was the beginning of it all considering now that in 2007 the Zogby poll of the public in America showed that 51% of the American population wanted a reinvestigation of 9-11 and they never did another poll again and recently the architects and engineers I think about 80,000 of them have proven that WTC7 did not collapse as a result of any plain debris would that be an important element in the future to discuss before people go and answer the question and then there's an announcement yeah of course after Julian's out all of these contentious and difficult things can be taken on however until then let's get him home and with the kids one large message from Jenny about what you can do yourself Meet your MP program for Assange has garnered an overwhelming with over 400 sign ups our community is growing stronger every day if you haven't already we urge you to send an email to your MP requesting a meeting or calling their office we have participants at various stages of the program and we encourage you to take action today to secure a meeting date in May 2023 so look on the internet for Meet your MP program cool that's it thanks everyone for coming along today don't forget about tomorrow's March look up the petitions online and let's see what happens when Joe Biden comes out towards the end of May


This is a story about the importance of being prepared and who better to tell that tale than the ants. This is Ava. She comes from a long line of deceased ants. Year after year, disease had taken its toll on these communities. Each time they learned a little more about defending themselves, but the only thing they knew for certain was that another disease would come, which is why Ava took a job at the Arthropod Communities Health Organization. Ava wanted to take all the knowledge they'd gathered about diseases to create one big master plan to beat the next one. First things first, they needed some money. Ava explained that to research and produce the tools they needed to beat the next disease, funding was required, lots of it. Unfortunately, not everyone agreed. Some of her colleagues wanted the money for more local projects. But without funding, there could be no research. And without research, there'd be no vaccines to protect vulnerable insects. Ava had to push on. She needed to get surveillance on board, fast. Ava told them it was essential to be able to track and contain diseases before they spread. Some colleagues disagreed with this use of the surveillance team. Ava explained that if they couldn't see where the outbreaks were happening, they couldn't stop them spreading. It was time to move on. Making vaccines around the world was crucial to protect everyone everywhere. Again, sadly, not everyone agreed. Without giving insects everywhere, the tools to make their own vaccines, many would be left vulnerable. This is where all the insect leaders met at the Arthropod Communities Health Organization. Ava started to speak. As she finished outlining her master plan, there was silence. Then a cacophony of noise. Perhaps they'd finally agreed on a plan to protect everyone everywhere.


The narcissist wants you to abuse them. They will do everything they can to provoke you until you finally react to them and get aggressive, until you attack them, which can become very dangerous for you. If you don't realize what they're trying to do, the narcissist will train you to abuse them. This is also known as reactive abuse. The narcissist will abuse you until you can't take it anymore, until you finally react to them. They will not respond to you when you are calm or patient. They don't want peace. They want conflict. So they will do anything they can to entice you into that. The more you try to compose yourself, the worse they will get. It will only make them even more angry. So they train you to act in ways that are out of character for you. You lose control of yourself until you shout at them or it may even get physical. You start acting like the narcissist.  They want you to react in this way. They want you to become abusive and this is why they approach arguments in such a different way. Normal people will want to resolve an argument, whether they agree with the other person or not. They will want the other person to understand them, but they will always try to understand their perspective. They will want to find a way to coexist in harmony with each other. If you don't know what the narcissist is trying to do, you might expect them to have the same motive, but they never do. They like to provoke you. They like to push you to the point where you end up reacting to them because it gives them narcissistic supply. It makes them feel powerful and in control.  They need supply like we need air. Their false image depends on narcissistic supply, so they have to do everything they can to prop up their false image. Their image is dependent on what other people reflect back to them. If you are involved with a narcissist, it's probably because you're very relaxed and easy going. You're very forgiven and compassionate, so you're safe for the narcissist to deal with. They specifically target people who are like this because it enables them to be the authority in that situation. It allows them to dominate you and be in control. They don't want to put themselves in a situation where someone else could dominate them, so they target people who are caring and compassionate, people who prefer peace, people who don't shout, people who are happy. Nothing makes the narcissist feel more powerful than taking someone who is like that and causing them to act in ways that is out of character for them. It makes them feel like they must be powerful. If they can make this calm, peaceful person who never shouts, raise their voice or even become abusive. If they can make you lose control of yourself in their minds, that means they're powerful. They don't see arguments as an opportunity to have a common understanding or to find a way to coexist in harmony. They see it as an opportunity to get narcissistic supply. The narcissist hates it when you handle things right.   They start to see that they are being abusive but instead of trying to change anything within themselves, they choose to put it on to you. They project everything they don't like about themselves on to you and one of the main traits of a narcissist is that they are abusive. They are abusers so they project their abuse on to you until you become out of control, until you start acting like them, until you start shouting or throwing something at them and in their distorted minds they then start to see themselves as the victim. They don't see the abusive behavior in themselves because they're putting it on to you. When narcissists project their traits on to you, they start to believe their own lies. The lie that they are the victim and you are the abuser.  The narcissist will abuse you just before you're going to be around other people. They will abuse you behind closed doors who they are when other people are around is very different to what you see. They will put you in a state of disturbance and confusion so that you then react in ways that make everyone think that you are the problem and that the narcissist is just the victim of your abusive personality. The entire thing is a setup. It's a scheme intended to deceive people. They are setting it up for a smear campaign so that they can assassinate your character and ruin your reputation. It's scary how much effort they put into it. But this is what they're doing. It is designed to manipulate people. This is why they push and provoke you until you finally react to them.  When you've taken so much abuse it's natural that you are going to react in that way. There is only so much that you can take but the moment that you react that is when you are falling into their trap because they want you to react to them. It gives them narcissistic supply.  Thank you for watching. I hope this video resonated with you. Please like, comment, share and subscribe. If you would like to donate, my PayPal link is in the video description. Coaching inquiries, you can email me at coachingatnarksurvivor.co.uk. Thank you for watching and I'll talk to you soon.


What's going on everyone, Sam here with late in sports cards and I am doing two boxes of 2021 Panini 1 football for Harper B. So good luck Harper, let's do it. I'm not super surprised Brandon because um NT release this week so a lot of people are saving up for NT spots. That's pretty much what dominated today and we had every break sold out pretty easily. So um that's pretty much why personals haven't been super full but I mean I only like 40 minutes isn't too crazy. All right not bad we've got uh 16 of 199 Trace sermon RPA it's two color on the sermon not too bad there and empty box come on big quarterback where are you one in here I feel it I feel yeah wrong tray 49ers right feel feel one in here feel one feel one feeling it uh well that's actually pretty cool though 35 of 35 that's bookend on the Amonra Saint Brown RPA there you go Harper nice Amonra wide receiver one up in uh Detroit that'll do it for your break there Harper thanks again as always always appreciate you hopping in and ripping the personals with me um we'll get those right out to you man thanks again