Alright. Who's ready for a highly chaotic talk? And if anybody knows me, it's going to be about my most chaotic talk yet, and that's a high barrier. So hi, I'm Chris Weber. So I'm here to talk about network programming and etc. live at the REPL. And there's been a lot of stuff happening in Gile as in terms of asynchronous programming over the last year. One project is 8Sync, which I work on myself, which is a GNU project about asynchronous programming. You can see here, if you go to the 8Sync homepage, it's got a very short example that if you just put in this code, you've written your own IRC bot that you can customize what it does right here. So it's pretty easy to get up and running. So 8Sync uses the actor model as its idea of how to do asynchronous communication. This example that I have here just starts up one IRC bot. But what's a more fun example where we can have, since actors are supposed to involve lots of things running around, where we can have many, many crazy things going on? By the way, very soon people will be able to connect to the game. I'm going to be running. So if you want to pull out your laptops now, it'll be a good time. Because in about 10 minutes, we're going to be able to all go crazy. So yeah. So I wrote a multiplayer game for the list game jam called Mudsync. Who here has ever played a MUD or at least a text adventure? Okay, wow, actually a good number of people in the room. Not everybody, but enough people. So here is Mudsync. I'm actually connected to this. This is in the browser. So this is using 8Sync comes with HTTP and WebSocket support. So this is using WebSockets. So out of the box, you already get a Web server and WebSocket support. And I'm inside of this room. Let's see here. It's a hotel lobby. So this is going to be the most wall of text conversation ever since I'm literally playing a game with a wall of text in it. So I'm just going to explain what's going on because I don't expect people to be able to read that fast. So I'm in this hotel. I'm in this lobby.  What do I see here? I see a shiny brass bell. So why don't I try Ring Bell? Okay, it summons this clerk who she's like welcome to hotel Bricka Brack. You know, and let's see what information does she give me? Ask clerk about changing name. Okay, why don't we try that? Ask clerk about changing name. Okay, so I can sign form as my name. So sign form as Cweber. And now if I opened up a new tab and also connected, whoops, and as I put in a colon at the end of it, I would see that, you know, Cweber is here. And hi, Cweber. And if I switch back, I will see that guest two said hi, Cweber to me, right? So and I saw guest two materialize out of thin air. Oh yeah, the clerk kind of does some things in the background. She's clicking around and stuff like that. So what else is in this room? So I look, there is this, there's a career cabinet. So look at cabinet. Oh, there's a pickled head of Elvis in there. Oh, great. So it's a, and you know, I can, if I look in here, there's some sort of frumpy fellow. So look at the fellow. It's apparently the hotel proprietor. They're completely disorganized. It's actually me after the game jam. I can chat with them from the fellow. I told them to paint the more walls purple. Why didn't they listen?  But anyway, so I'm gonna go north. And what's here? Okay, so I'm in this hallway now. It's got statues around everywhere. I've got in the middles at one particularly large statue of this woman. And there's also a hotel map and then the statue of Hackathina, which is the woman. So I'm gonna look, I'm gonna read the map. And there's an Asciiart printout of the environment. Okay, so we can see that we went from the lobby to here. Okay, excellent. So, you know, there's no mud unless if there's lots of fun puzzles in it, right? So let's look at the statue at statue. So the statue is of Hackathina, guardian of the hacker spirit, the protector of all good hacks. She's got horns and a, and instead of a sword and a shield, she's got a keyboard and some sort of, I don't know what that is. So let's look at the shield at the keyboard. Oh, it's a night keyboard. Oh, man, those are for old list machines. That's pretty nice. So she's got to be an Emacs user. So look at shield. Oh, the shield's unusual. It's kind of a, it looks like a hard disk platter actually. And it looks loose. So can we take shield from Hackathina? And I pull at it and a completely separate copy of it comes off. And I hear a voice whisper, share the software and you'll be free. Okay. So if I look at my inventory, I see I'm carrying a glowing disk. That's great. Look at disk, you know, it's just like the one that I have before. That's interesting. Okay. I've seen enough stuff here. Let's go west. What's in this room? Now I'm in a play room. There's a Rube Goldberg machine, a toy chest and stuff. What's inside the, the, so there's like a cuddles plushie. Look at plushie. Oh, it's a cuddle fish and it's warm and fuzzy. I can take it. Oh, take plushie. Right. So I pick up a cuddles plushie. So, but what else is in here? There's a Rube Goldberg machine. Okay. This is interesting. Look at machine. It's one of those hilarious group Goldberg machines. What would happen if I started it? Okay. So start machine. You start through of Goldberg machine. Dominos toppled on the line. Last domino lens at a switch. Switch lights a match. Match lights a candle. The candle burns. And it just stops. What happened? What happened? So one of the difficult things about doing asynchronous programming stuff is that when things go wrong, like it's difficult to figure out what happened. It's difficult to kind of evolve the system. And it's, you have to close the whole damn thing down when you've got all these useful things running around. I don't want to do that. I want to find out what's happening and I want to fix it live. So we're going to do it live. All right. So if I look at the output, it will print out an exception of what happened. And it caught the exception. Unknown step type. Don't know how to process Rube Goldberg machine step type. And it's got this step divided by two and three. Huh? What's going on here? So let's look at the code. Okay. Well, this is my code for the Rube Goldberg item tricker. And you can see that it's got this match here. It knows how to handle strings. It knows how to handle numbers. It knows how to handle symbols. So the strings, it'll spit stuff out. Numbers, it'll sleep for that many seconds. And it just happens all asynchronously. So via delimited continuations, it'll suspend the function and wake it up back again when it needs to. And that is doing that with the sleep function, the eight sleep. And then, and if it sees a symbol, it actually sends a message to the next object in the Rube Goldberg machine saying you do the, you like perform your action. So now let's take a look at the candle, which is what broke. So I've got my description of the Rube Goldberg machine here. And I've got the candle right here. So here's the code for the candle. Now you can see it says the candle burns as the steps. And then, you know, and then, ooh, I've got made a mistake. So you can see it's a quasi quote mistake, classic mistake. People who use quasi quote are always forgetting to unquote things. And that's me right now, right? So, so what happened here is if I go to, oops, but I should have done is I want to connect to the REPL live of this. So Geyser connect local TMP eight sync socket. So there's a REPL running so I can edit the program while it's running. So I'm going to take a look. And so here's a code that it was evaluating for the steps. It sees this is what's happened is instead of actually doing the divided by two and three, it actually just spit out that as a list expression. So I want to fix that. What I want to do is I want to unquote it here. Okay. I fixed that. And now I want to, I'm going to inject since now normally you can just redefine things in eight sync. And if it's just like a function or something like that, it'll call the new version of the function after you defined it. But in this case, we actually want to replace the object in the game world. This is a mudspink, a sync specific thing, but it's easy to build something like this in your eight sync game or your eight sync, whatever it might not be a game, right? So I'm going to inject the game object, which is from this specification I have, which is a new version of the candle. All right. That's done. So now let's reset the machine. Okay. A hand comes out of the wall and puts everything back into place. Shoo, shoo, shoo, shoo. Okay. Retreats back into the wall. Let's run the machine again. Okay. Start through Goldberg machine. Domino's top down the line. Last domino lens on the switch. Light master candle. Candle burns. Candle is burning away a rope. We fixed that. The rope snaps. Unleashes a catapult. The rock flies through a water. Demons startling it. The water starts leaking water into the kettle below. The rock hits the heaters on button. The quick heater heats up the kettle below it. The kettle is filled. The kettle heats up.  And it spits out a cup of hot tea. And there's a cup of hot tea. I'm going to take that. Sip tea. I can also drink the tea. Oh, that drinks it all at once. Now I don't have any more tea. Anyway, okay. So all right. So that's fun. That's fun. So, you know, okay. Well, let's go east again and look at the map. So read map. Okay. So the play room's to the left. Ooh, a computer room. Well, we got that hard disk. I wonder, go west. Go west. Of course, there's a large computer cabinet here. And a hard drive. Go figure. What's let's take a look at the computer at computer. It's a PDP 11.5. And it looks like it's ready to run a program on it. If I also look at the groom, it says that there's a direction down, but there's a metal panel in the floor and I can't get through the metal panel. But that's a problem because that's where my main talk is. All the actually good stuff about my talk. We're just playing a video game now. We haven't even gotten in the talk. It's downstairs. So I have to solve a puzzle before I can do this. Okay. So let's look at computer. It says I can run a program on it. So run program on computer. It errors out because of a disk error. So what's wrong with the disk? Look at disk. Okay.  Disk and drive. So confusing. So it's a hard drive labeled rl0.2.5. Oh, that's the same thing that our disk that we're holding is. And it's under a meter tall. There's a slot where a disk platter could be inserted. So what should we do? What do we do? Right? Insert disk into drive. A load button begins to glow. Okay. Look at drive. Okay. Road button is glowing and there's a ready indicator that's on lit. So let's press the load button on drive. Hard disk begins to spin up and the ready light turns on. All right. Now we can run that computer program. Run program on computer. And some gears grind and a metal panel opens up and we can go down. Hooray! So we can go down. And I'm in an underground laboratory which has a map. Read map. Oh, we have a whole Asciiart map of the underground area that we can explore. It's roguelike style. But, you know, this is probably the time where I should get you guys to get involved, right? So I'm going to go back to where it all started at the lobby and I'm going to let you all connect.  Like, sometimes you put things up here and people are like, I'm going to say sexist or like super douchebaggy thing.  I'll just kill the connection for everybody and you'll ruin it for everybody. So don't do that. So I'm opening up an SSH tunnel to my laptop. Uh, uh, oops, SSH add, which I'm going to type wrong. Okay. Now I'm going to open up an SSH tunnel. Suspense. It's connected. Okay. All right. So now everyone can go to dustycloud.org colon 8888 for 8sync four times dustycloud.org colon 8888 and you should appear in a lobby. Let's see who starts appearing. You see guest? Okay. Everybody's appearing. So, um, what?  So I ring the bell and she's like, and she's complaining about the proprietor, which is me, which is super rude. Yeah. You can keep ringing the bell. She'll get annoyed with you. Um, uh, the, uh, yeah. If I do that shit's like, yeah, I'm already here. You don't need to claim the bell. So, okay. So you can change the name.  So she says, you know, sign form as your name. So now you can do a sign form as input, you know, whatever there, you know, um, cool. Great. Great. Now we've got names. Nice. Okay. This is great. So how do you play this game? Well, for one thing, you're not going to be able to see what I'm saying because everybody's shooting stuff so far. So you can do same message or even better quote, um, foo to just start chatting. So you can use it like IRC. So start chatting in the room. So say, what's up peeps? Yes. For reals. Okay. Okay. But I'm going to leave this room so you can talk amongst yourselves. I'm going north. I'm going to read the map. Okay. Leo's here. So I'm going to go back to the computer room. So I'm going to go west. By the way, you can dismiss a clerk and she'll run to this secret location here. And she will do something hilarious if you summon her while she's in the room. But, uh, um, but I'm not going to do that. This is a choose your own adventure talk. I've put in more content than I can possibly cover. So if you want to see something else in the talk that I'm not going to be able to get to, just walk to that area and read all the notes I've left. So, um, so go west. Okay. So I'm going to go downstairs. Um, so I went north, west, west, and then down. And that's where you get to the underground lab. If you have any doubts, read the map up above. So read map. We'll see who gets to be the first person who joins me here. Oh, Momo joins me first. First person in the lab. Okay. So what's here? So what do people want to hear about most? Do you want to go to, should we go to the eight sync hive area, the guile eight sync, async museum, the Federation station, or the mud sink swamp? I didn't have time to program that one. So it just, all the other stuff exists. So, so how about north since it's opposite of south? Okay. So let's go north. And here is where the entrance to the eight sync hive.  And those are actors, right? So this is eight sync. So I'm going to chat with an actor and they'll say stuff like, yeah, we go through a lot of sleep and await cycles around here. If you're not busy processing message. So if you chat with them, they kind of give details about how eight sync works in kind of jokey ways.  I hope like somebody upgrades that thing. Yeah, you jerks. So what is this thing about the eight sync hive?  And by the way, every game object in this game is its own individual actor acting independently. So they all operate separately. If they're doing their own things, they won't interrupt each other. It's all non-blocking. So we're at the entrance to the eight sync hive, but it looks like we can go inside the hive itself. So I'm going to go north into the hive. And so we're inside the eight sync hive. Wow, everything's so goopy around here. Oh, is that sanitary? Yes. So eight sync uses goops. And for those who don't know what goops is, so let's look at the RGB item. Oops. So RGB item, yes. So goops is a, it's basically a object-oriented like class-based structure for scheme. You can use it in a fairly kind of imperative fashion. I did have a patch to the list that allows you to use it in a more functional fashion, kind of like surfy nine canoe. But what's nice about it is that when you redefine things, they will like, if you add new fields or change things about an object, it won't break the existing objects. And that's really good for live hacking. So that's why we use, why all actors are based on goops. So, you know, so that's why there's, you know, sub beeps. So the, so that's why if we look here, there's this character called the hive actor. So we can look at the hive actor. So every actor in eight sync is connected to the hive. What is the hive? Well, let's look at hive actor. It's a, so what the hive actor does in my personified version of it is it's a tentacled monster here that's also itself an actor but is consuming messages that are dropped on its desk and then shooting those messages off to other actors. So that's what the hive does. It's basically the male agent of the entire thing. It's actually the one that's sending messages. So this is an important thing about eight sync is that since it's following the actor model, it's all message passing. And if we look, we can chat with the hive actor too. He yells though, I hear fibers is a nice work stealing system but the proprietor is not convinced that our design won't corrupt actors fate. And that and the actors threaten to strike when it came up last.  So there's a stray message on the floor. Yeah, stray message. Oh, something strange has happened to the fabric of space and time around the message floating right above the floor and it hasn't been garbage collected. But if we try to read it, it might print itself out. So read message. So this is doing something hilarious through this error in space time. This is actually the message that was sent to the actor asking for us to read it. And so it's actually printing out the message that it got as a hilarious joke in the game. So now we can read exactly what it was. So you can see the message has its own ID. Every message has an individual ID. It gets addressed to something. So every actor has two parts of its components for its address. It has the player ID and it has the hive ID. And you can see that this message is coming from, it's being delivered to this meta message object but it's also coming from the player who is me. But they both share the same hive ID. Now in the program that I'm running here, there's only one hive. But what you could do is you could set up multiple hives. So say you wanted to run things in multiple threads or even multiple processes on completely different servers. You could have a separate hive over there and the actors could send messages to each other and they wouldn't even know unless if they bothered to look at the hive component of the ID that they were communicating on separate places. Because actors don't have a direct access to the object, they only have an address. So when they shoot a message at the other actor, you could just take an eight sync program and you could have it running on one machine or you could just splat it out across a whole data center. So I think that's kind of cool. So it has this action which it says that it wants to read it and the body of the message. So in this case, it was the read thing. So let's take a look at the meta message which has the meta message read thing. So this is how this one actually works. This is the actual handler. You see I set up this command handler for the command read and the first argument is the actor itself. Second argument is the message. And what it does is it sends a message to whoever it got it from which in this case would be the player telling them this message. And I have this kind of terrible scribe-ish sxml-ish type system that I've called Scrubble. And that name is as terrible as the system is. But you can see it's doing message passing right here, right? So that's pretty cool. But what other kind of message passing is there? So when you see this kind of message passing with this arrow pointing in this direction, that's actually borrowed from old message passing systems in Lisp, which is what happened before generic methods became popular is that message passing was really popular. And then a lot of people were like, oh, generic methods don't matter anymore because we have, I'm surprised nobody's causing any shenanigans. But anyway, you can also do me to do stuff like me dances. Anyway, so you can, what was I saying? So you can send messages like this. And what happens is every time you do one of these, it actually suspends the function and kind of shares work with every other actor. So it kind of has some built-in cooperation. But what's really interesting is when you have these things to have this with the arrow and then wait. So what that does is it shoots off. So this is an example of what I'm taking from something and actually this is something that proxy is taking from another object. But I want to be able to get what the actors, like what type of things that it went by, right? So normally, so this actually has a built-in like automatic but also hidden behind the scenes version of promises. So what happens is I'm sending a message and I'm going to wait for its result to ask, what sort of names do you go by? But instead of having to split this into a whole bunch of functions, I actually just have this one procedure that suspends when it gets a message back, it wakes back up again. And then it's able to extract the value from it. No need for callback health. There's no need to split things up into a bunch of things. Your programs look as if you're writing just completely straightforward scheme programs.  It's not fun. So that's one nice thing about it. So yeah, so I think I've seen enough here. You are welcome to hang around or whatever, but I'm going south. Oh, we never read the eight sync design goals. I should probably read that. Read eight sync design goals. Okay, yeah, it's still connected. Just making sure. Oops, read sign. Yeah, okay, that'll work. So it's an actor based shared nothing environment.  And locking is a nightmare, right? And so there's not, what the actor model takes as an approach is that each actor manages its own state and they don't share state between them. So when I sip the tea that decrements how many sips I have left to the tea. So if I go up, go east, run machine, this is, I don't know why I did one all the way up here just to show this, a simple example of suffice. But right, when I'm sipping the tea, nothing's actually accessing that tea number or interfering with it. I'm sending a message to request that it decremented or something like that. But the actor itself is handling that itself. So you won't have those kind of collisions. So, oh yeah, I forgot to reset the machine anyway. Whatever, I'm out of here. Down. Okay, so read sign. So that's one thing. Another thing is that it's live hackable. So I believe that concurrent systems are really hard to write. And the ideal concurrent system development is where you're able to evolve the system as it runs. This entire game, I almost wrote the entire thing while the program was running. So the whole parsing system and everything like that, it just kind of flowed out as the program developed. And it's really hard to plan concurrent systems so I think that this is really important. And also debugging concurrent systems is really hard. When I fixed that issue, I didn't have to disconnect from the game. I could fix the game while it was running, even though there's a bunch of things acting in it. And for the most part, the actors don't, like if one actor breaks, it might not be helping the other actors that it's supposed to be doing, but it won't probably take down the whole system at once. There are other components that still can't operate without that actor can still operate, which I think is pretty nice. No callback hell. I already talked about that. That's, you know, delimited continuations, blah, blah, blah. So those are the goals of 8sync. And I think that they've been carried off pretty well. So read map. What should we do now? Should we go to the 8sync Museum or the Federation Station? Pinyons? 8sync Museum, okay, go west. So I go into the 8sync Museum. A security guard allows me to pass through into the room then stands in front of the door. Well, wait, why is the security guard in front of the door? I'm going to go east again. Oh, security guard tells me the only exit is through the get shop. Okay, so I noticed there's a bunch of people in here. Did you guys get stuck? There is a way out. If you see to the bottom, there's a classic net hack style store down here. But anyway, so there's a list of exhibits. This is kind of overwhelming, all the list of exhibits that are right there. So read list. 2016 progress. That's probably a good place to start, right? So let's look at 2016 progress. I told you guys this was a wall of text.  So you can read this on your own time if you want. But oh, man, I can't believe like I was like this, this game, like the game content is like almost 3000 lines long. And that's not even including the get engine. That's just like the thing that I'm running here. So a little bit too much content. Anyway, so what's happened over 2016? So at the towards the end of 2016, at the beginning of 2016, there was some conversation about, we should have some sort of concurrent programming environment for Gile, right? Mark Weaver, David Thompson, and Andrew. I'm going to totally mispronounce his last name. Pseudoman on IRC all went to Veggie Galaxy after the FSF 30th party, and we were talking about what we could do. And then kind of shortly after that, I sent an email to the list with kind of a brain dump. And then I think right around that time, a number of implementations started. So I started working on 8Sync. It originally didn't include the actor model itself, but eventually it moved to mostly being around the actor model. Chris Vines started Gile async, which is also still an active project. And then Andy Wingo came around and kind of blew everything out of the water by having, as he tends to do, with suspendable ports. So suspendable ports are really cool. So normally when you write, so I'm going to show you some code. Let's see here. I'm going to go to the 8Sync code itself and go to the systems, and let's see the IRC code, right? So let's, where would it be? So this was probably not the smartest idea. I'll just pull up code mid thing. But okay, so right here. Yeah, I should have definitely bookmarked this before I started pulling it up. Okay, so I'm looping here, but this was probably not the smartest choice I've made in this entire talk. But the basic thing behind suspendable ports is that normally when you write code, that requires getting code out from some sort of object. So if you're writing a blocking version of it, you would just say, read from that port until the stuff gets there. And then the whole program would freeze until some code comes through that port. So with the way that you usually do it, and the way that 8Sync did it before I switched to suspendable ports, is that you would actually take a port and then you shove it over to the scheduler and you say, call this callback when you get some information. But the way that we do it since suspendable ports is that you actually start reading from the port and then at the moment that it's going to read from the port and it would block, it suspends to the scheduler and as soon as and the rest of your program keeps running and as soon as there's information there, it just continues. So you can just write a loop that looks exactly as if it would block, but it just magically doesn't. When that's pretty cool. So Andy put out Fibers, which I thought which is a implementation of, well, I've got a whole exhibit here on Fibers. So maybe we should talk about that. But that's basically kind of blew everything out of the wallet there. So look at list. Like I said, wall of text talk, but at least we had the fun things with the machine and the T beforehand. So read 8Sync and Fibers. So this is, oh, look at 8Sync and Fibers exhibit. Okay, so there are some similarities and differences between 8Sync and Fibers. I know a lot of people are like, oh, you know, what should I, like what should I be following the most closely between all of this? So both of them are using Giles' standable ports, which is not surprising. And both of them use message passing. So they actually look super similar. Like they both have some sort of inboxy looking thing that you're pulling stuff out of. And in Fibers, that's called a channel, which is kind of similar to what Go calls and etc. And 8Sync that's called an inbox because each actor has its own inbox. Now one major difference is that in Fibers, each process might actually have two different channels, which actually means you might end up in an accidental situation where you have this information coming on the second channel and you start reading from the first one and it never gets there or something like that. So I actually think I have a slight preference for the actor model because you are only actually reading from one. Each actor is only reading from one thing and it won't run into that problem. But they have both different theoretical basis. One of them is based off of Fibers is based off of the process calculate, specifically CSP, which you can read up on if you want. And 8Sync is based on the actor model.  And if you're not a mathy person, it doesn't matter. So let's look at the list. What else have we got here? Well, we already talked about Suspendable Force, so why talk about that? I actually think that we've talked about most of it. Oh yeah, it was conceived by Karl Kiewit, shared nothing. Oh yeah, this is kind of interesting. It was originally the research goal scheme. So this actually brings us back to scheme's roots. Scheme was originally created when Gerald Sussman and Gael Steele were trying to explore the actor model. And then they discovered, they also tried to build in this version of the lump, the calculus alongside it. And then they suddenly realized that the way they passed in the arguments and the way that they got things back were actually exactly the same. And they're like, these are the same thing. Now, it turns out they're not exactly the same thing, but it's pretty close. But one of the major differences with the actor model is that you don't actually have direct access to whatever you're calling. It might not be in the same address space, which I think usually in most, even though I'm not sure the lump, the calculus expects that this whole idea that you're sending a possibly serializable message somewhere else and that you might even get back like an error result or it might never end up finishing or stuff like that. It has a different set of expectations than just like vanilla scheme, just calling things and stuff like that. So in pretty much all distributed systems can be viewed as in terms of the actor model. Think about web servers. You've got a web server. You send a request to it that's sending a message and it passes a response back. Pretty much all systems can be viewed in the actor model that are concurrent. So, I'm going to go south into the gift shop, which I never finished and I forgot to even commit the thing that said that it wasn't finished. I'm going to go northeast because that's embarrassing. Okay, so I exited the gift shop. So let's see here. Well, we're getting through this a lot faster than I expected. So we still have the Federation Station. Should we go there? Okay, let's go there. So this is actually the whole basis of me working on all this stuff in the first place is because I wanted to build in, I'm working, some of you know, maybe not everybody, my main thing is I'm working on trying to do decentralized internet things. And I get so frustrated with coding and every other thing that's trying to do concurrent programming that I decided to shave all the yaks and head over to Gaia. Luckily, Wingo and I are shaving some in parallel so we're kind of like building off of each other maybe. But you know, so this, so one of the things I work on is something called Activity Pub, which this guy's not familiar with at least. He works on Pumbio. But Activity Pub is a implementation of, it's a standard from the W3C. In fact, we have a poster here. So read poster. It even has links that you can click. What mud has links? Right? But anyway, so I'm working with a social working group that has that. And it, so it uses a pretty simple JSON-LG. In fact, I might as well pull up the spec. Activity Pub. Why not? So this is, oh, the network went down.  That's why nothing's happening. I was like, man, you guys just all went quiet. No, it was just, it was, see, this is what happens when you have a wireless card that's like ancient, that's connecting to, you know, a conference Wi-Fi and then you're doing everything over an SSH tunnel on your VPN. Probably not everything's gonna hold up, right? So anyway, okay, we're back up and running. You all have to refresh if you actually wanted to rejoin the game, but I don't blame you if you're like, screw that. I lost all my experience points, right? I guess. So there are no experience points. There was originally gonna be a frog man you could punch, but I never got it in. The, that, so anyway, so activities, activity prods are pretty simple. The whole idea is that every user has an inbox and an outbox and you, when you are doing federation, if you, federation happens, so say I post a video to my media goblin instance and you, and Ludovic wants to see this video, right? So Ludovic is subscribed to me, so my server posts that serialization of like the metadata about the video to Ludovic's server. And it's just a simple JSON format, a fairly extensible one, but still a JSON format. So it goes over to Ludovic's server and it might look like this. So this is an example of an object. This person's liking a note called I'm a goat. And so like, so, but Ludovic gets the thing and then whatever social networking application he has, he can see my video, right? And he can comment on it and he comments on my video and it has, you know, kind of email-like addressing with two CC and BCC. And so, and that's, that's how the whole thing works. It's actually, and now wait a minute, this looks, this sounds kind of familiar, doesn't it? Wait a minute. So we've got, we're playing a game where we're using the actor model to send messages between things and we've got this kind of subject-predicate object structure, right? Like take duck from box, right? Well, that's not too different from like post, blah, blah, blah. They're both subject-predicate object systems. And so wait a minute, I've got this chart here. So there's this chart that's in this room that's like conspiracy theorists. It's all related. It shouts over exuberant conspiracy, sorry. Activity pub, federation, the actor model, scheme, text adventures, mods. What are these having coming? Everything, right? So, so, so, and they've got, like this poster has like circles and wines drawn along it and like red pen and stuff like that. So scheme was originally started to explore the actor model, as I said. And there's a really interesting paper by Susman and Steele that's exploring the first report on scheme that I really recommend that you check out. The activity for protocol is using federation via the activity streams format and text adventures and mods follow similar, you know, structure to break down commands of players. Federation and the actor model, they're both based on a highly concurrent systems that use message passing. Zork, the first adventure, text adventure, used muddle, which is actually a ancestor of scheme. So it actually uses a very scheme-like language to program the like the first major text adventure because Zork came out of MIT during that same era. And so in the 1990s before the web became big, this is a hilarious link. Let's look at all these frames. Here is a document because muds actually were a big research subject like, like there was a famous mud called Lambdimu that ran out of the, ran out of, it was either Xerox Park or Palo Alto Research Center or the same thing I never remember. But anyway, the, that like, and so they were, they were a big idea in language design and people thought like muds are the future. Like that's how everybody's going to communicate on the internet is this like cyberpunk vision of things where you're like walking around worlds and like interacting with things and stuff like that. Well, instead we just read web pages. But you know, so the, but this, but here's a document that's like, hey, muds are so cool. We're making a lot of progress. Why don't we federate them? Well, gee golly, like people wrote this thing up and then like only way later do we end up trying to do this stuff and like the web, right? Of course they didn't make any more progress than like, well, we're making more progress than them. So whatever. But anyway, but what I find really interesting is that a lot of these ideas are circular and interconnected, right? Like text adventures relating to like the work I do on Federation, who would have thought, right? Super fun. Okay, so we're getting to the point where I should probably either ask questions or could just do Arne's talk and then do questions. I don't know. What do you think is the best version? Yeah, well the Arne's talk is a true book. Yeah, okay. So why don't we do questions first? Who has any questions? Oh, Struge re-entered the room. You can, I give Struge if you want, you can ask a question via the game. It's totally fine. Sub, Struge. Nope, didn't not go through.  I bet I disconnected. I was gonna ask where the tinfoil hat was in the room. Oh, there's no tinfoil hat. But we couldn't program one live. Do you want to see it? Should we add a thing to the game live? Why not? Tinfoil hat. Okay, let's add it to the playroom. And I gotta switch back to Big Bricker Back. So playroom, so let's see here. So here's where I've got all the RGB stuff with the whole machine. And inside it, oh yeah, there's a rubber duck inside of here. Well, why don't we instead of have the rubber duck we'll add, you know, tinfoil hat, right? So we're gonna say it's a tinfoil hat. Goes by tinfoil hat and also just hat. You can take it. You'd have to be a crazy person to wear this thing. And I'm gonna inject it right into the game. Tinfoil hat. Okay, what? Oh yeah, so I can give it a wear command. So actually, why don't we do that first? So that's gonna require that I subclass it, but we'll do it. So I'm gonna take something else that already has been kind of defined and just munch it. Let's see here. Define actor, something with commands. Okay, good enough. This is a hot T one. So I'm gonna abuse the hot T thing and I'm gonna make a tinfoil hat. Tinfoil hat, GameObj command wear, tinfoil hat wear. And we're not gonna sip the hat. Build the commands wear, which is a direct command to command wear. Now this is a mudsink specific thing with this command here. You guys are looking at abstraction piled on abstraction piled on abstraction here. So I don't need those because those are already defined in the other thing. So now I need to define command tinfoil hat wear, tinfoil hat message. We don't really care about anything else. We're just gonna say, and we're just gonna do this super fast. So message from message. We're gonna tell them text. You put on the tinfoil hat and to be perfectly honest with you. Honest with you. I'm gonna do that. It's a lot harder to take you seriously. Okay, so we've got a tinfoil hat unspecified. Yeah, well, I evaluated it now, so it should be fine. So now I'm gonna go down to the tinfoil hat, switch it over to be a tinfoil hat. Let's see. I'm gonna inject it straight into the game. Let's see here. Look, okay, west.  Here's a toy chest. So look in toy chest, a rubber duck and a tinfoil hat. So take tinfoil hat from chest. You take a tinfoil hat from a toy chest. Inventory. Okay, where tinfoil hat? You put on the tinfoil hat and to be perfectly honest with you. It's a lot harder to take you seriously. All right, I don't think we have time for any more. We should switch, but I'm about to do Arne's presentation for him. It'll be super fast.


So this is a joint exercise between us and our Aussie partners. So showing them the capability of refueling from a C-130. We deploy with Air Force Special Operations Command. The reason this is done in an Aussie environment at night, undercover is you don't want any enemies understanding or knowing that you're going to roll in. We like to try and keep everybody surprised. My crew is known as the hose deploying personnel in part of the Ford area refueling point. In aircraft lands, we get the touchdown signal that everything's good. We roll out. We shoot out 300 feet worth of fuel hose. We set up an open point under core conditions and once the helo is ready, the land will top them off and they get down in the nitty gritty within their AOR. The tanker for us is always going to be our C-130. The receiver will always vary for us. In short, if that aircraft needs fuel, the farm guys are here to refuel it. We will pretty much fuel anything that needs it. The model that we all like to live by is pretty much anytime, anywhere. We'll get it done.


Is he gonna wake up level 3 like I did to him? That would be poetic. That wasn't poetic, that just kinda made me feel sad. How's it going everybody? DatoDoy here with another round of Dragon Ball Fighter's rank matches. This time we're back with the team we played a few days ago, very meta, Piccolo, Super Saiyan Goku, and Bardock. We showed it off a little in that video, but it's just a very dangerous team. In the current state of the game where Snapbacks reign supreme, but also just if Snapbacks didn't even exist, this team would also still just be very good. I tried Super Dashing there. What an awkward match. Who doesn't love a good ol' arousing round of down heavies? You know I do. I'll be out here hitting down heavy all day long. Okay, let's see. Should we pop up? Yeah, let's pop up. Wow! Unfortunate range there. Oh yeah, but I'll take that all day. See that's not unfortunate when it happens to the opponent. Nice beam. Nice beam. Oh, no down heavy comes out. You see the thing that's really throwing me off about this Goku Black is usually, Goku Blacks are more active after they're down heavy. Oh wow, first time. Nice. They usually do something after it, and the fact that this guy isn't is really making me question my whole life right now. There we go. It is scary. I can appreciate it. Alright, let's just do a normal switch here. There we go. He wasn't trying to block that. Alright, nice. Now that we got our feet planted, we got a character down, I feel like we can brute force this rest of the game, I think. Never mind. I'll tell you what I did not expect, that. I would have air level three. Oh wow. I tried to go out in a pic low, but I remembered you cannot do that. I'm expecting a Super Dash or something. No, he just goes up. Alright, let's see what we can get here. Uh, let's do a hard knockdown. We gotta start it off with a nice hard knockdown, and then we can mix it up. Jump. Okay, we probably should have just meatied then. Oh, catches the Super Dash. Reflecting would have been the better option there. That's fine. We'll ride this one out. Uh, this is just a kill. We don't have to do anything. Fancy. Yep. Yeah, we didn't even get to the knockdown portion. Alright, so now we have nobody else to swap into, so that part of the game plan is a little dead right now. Oh, nice dragon rush. I can appreciate it. That's going to be the end of pic low, yep. Alright, I think we're going to save, uh, we're going to save Spark until level three, so we should probably get Bardock out here as soon as we can. Oh my goodness, I clicked an unsafe button and got swept off my feet for it. Side switch? Down to it? Ooh, never mind. This is everything. He wants it all. Ah, and into the dragon rush for the kill. I can appreciate that. That was just, that was just some stuff that you see a lot. I didn't think you'd dragon rush though. I didn't think you'd be so brave, because that is beaten by just action. Alright, well now we got to come back to make here. Yeah, we've seen it all before. Oh, but that, that is one that, like, those are the dragon rushes that get me like, why? You had free pressure there, but that's exactly why it's genius. Alright, he wasted a sub meter there. He, oh god. He wants it now. Oh, no. Alright, we'll heal this. Wow. Unfortunate. Alright, it's time to adapt, boys. If you lose, you got to adapt. What's the adaptation you say? I don't know, I'm still working on that part of the game plan, but oh my god, I got crossed up. Alright, let's just, let's try going just in. Wow. No, that's actually what's killing me, because I keep clicking light after that. So that's, let's, let's try not going in. And I keep, it's just I'm clicking buttons and they're getting punished. And that is as simple as you can put it really. Level one to the level one probably kills here. Oh no, that wasn't even, that was not as close as I made it out to sound. Alright, let me in, let me in. Okay. Alright, let's just, let's just keep it going. Why am I this low? Gee, why am I this low on Super Saiyan Goku?  I stopped clicking jab there. I'm so bad at that.  Nope, just two end. If you think I'm not a Bardock player, even in these trying times. But I back dashed. No, I thought I'd be safe and sound. Alright, we got Goku out of there. He's not playing a lot of defense. That's what we got to capitalize on. I mean, neither am I. To be fair, this man is cracking me wide open. Maybe, you gotta wonder, is he doing it? Cause it's probably because he knows it works on me. No, no, no, no, no, no, no. Oh, we don't like those nerfs. I don't, I don't know why I try clicking buttons there. In a state of fury, I, or not fury, just anxiousness. Boom, I started mashing out. I want freedom. Okay. Alright, pick him up with a, pick up a knockout with an old vanish. The oldest trick in the book. No, okay, that, now I'm scared of these dragon rushes. I was like, this is a dragon rush. Nope. Alright, keeping the corner. Oh goodness me. It looks like none of us know what we're doing out here, huh? I was just, I was just, oh man. I'm a mess this match. This is the worst match I've ever played. Okay, well, Bardock players, we out here? Let's see if I can do a crazy extension. That could have been actually pretty sick. Just, oh, that connected. It could have gotten so much pressure off that. Oh, yeah, no, I'm just gonna spark here. Now we're progressing, boys. Alright, so we got a little freestyle ask there. I really wanna do these snapback stuff, but the way he's tacking in the corner, like always up, he's popping up high. I'm having a real time, like getting a lock on him. So we'll see if we can adjust to that now. Oh no, we had that there. Oh no, the beam didn't keep him at bay. And I certainly didn't keep him at bay. Alright, start with a heavy. Let's not make the same mistake. Okay, back dash on that. Ooh, thankfully we don't get grabbed. Yes, finally, we hit something. Ah, you see, I knew a Super Dash was coming. Didn't know it was gonna be that kind. That was the worst down heavy in the world.  Ooh, oh, this is gonna be killer. This is gonna be, we're actually gonna get some decent Oki on this. He's jumping though. Oh, I gotta just hit him with some grounded moves. Gotta hit him with those grounded moves. Ooh, can we, this is gonna be tough. Ah, that was actually sick. Nice, nice, nice. Covers up so much of the screen. No dragon rush again. Ooh, keep our distance. Alright, that Piccolo assist did not help. Ooh, that's gonna do a decent chunk. If we can get the three bars, we might actually be able to hold it down. Grounded moves, gotta remember. Overhead, yep, standard overhead was enough to kill. So I'm gonna throw it in. Alright, what do we gotta remember? Grounded moves, watch out for dragon rushes. Drag, yeah, see, okay. Where these are the small mistakes you gotta watch out for, air level three. No, not on this to-do list. I don't even think about it. I ain't jumping from that range. At that range, I was sweeping the leg. I actually got lucky, seven frames kicked in. Yeah, that was super punishable. That's something you throw out. If you're really confident it's gonna hit, go ahead, throw it out there, but, oh no, we dropped that. There is a Super Dash coming. Poor that. And bad Super Dash timing by me. I have been timing my Super Dash just poorly this entire match. I actually kinda wanna try hitting this dude with some fake stuff, but nevermind, we're just gonna, out of jumps at a time. Oh, let's go. Oh no, he's not gonna lay it fast enough. Piccolo, slow it down. Oh, we got it. Ooh, counter.  Ah, I couldn't scare him off with the leg. Damn, he was like, damn, it was like it all the way up and I was throwing it out. Oh, beautiful. That was very lucky we got that bar when we did, but these matches are way too close. I gotta, ugh, I'm making so many big mistakes. So many big mistakes that I can iron out here, but it's gonna take time, I guess. But, you know, sometimes you lose matches like this. I don't know if Piccolo really did anything too important that match. All right, we're in. Maybe if I gotta, I gotta slow down the block strength because he keeps jumping away. And that can be solved with a little old, oh no, that was a great option. Delayed it just enough to avoid the beam completely and also catch my projectile. Down tech? Woo-hoo, never mind, that was terrible. All right, switch out to the bar dock. And I always forget, that's a switch. Ah, but it locks me up. Ooh, beam. Ooh, don't mind me. Don't mind me just messing up over here. Damn, hit me with, he's got them legs too. Down heavy? No, down heavy. I saw it coming too, but I just couldn't plant my feet in time. No dragon rush again. Oh, but the full auto combo picks me up. He isn't dragon rushing in a long while actually. How much bar can he gain here? All right, we won't die, we won't die, we'll live. We'll live, but it'll be close. All right, and that was specifically to get them back in the corner. And probably we should go for sliding. There we go, grounded normals. We got those. Ah, but we don't have the full. Oh God, well, I won't blame myself too heavy for that. When we popped up to six, seven frames. So I'm not gonna hold myself too hostage on that. See, there he goes, jumping again. It's actually, I struggle against this type of play style a lot. If you just try to jump out at every opportunity, a lot of my stuff is fake because I'm trying to pressure you into blocking more. So that when I hit you with something real, you'll get hit. But this is just, I am getting bot. All right, let's not be a Bardock player this time around. Nice, back dash, okay, he knows post vanish stuff. Oh wow, this is damaging. Go with the standard knockdown. Oh, get there in time, Goku. Full screen, you gotta, I shouldn't do that, but oh, Goku, come on. Level three, no. I got, I'm strapped for time, dude. Oh, it's out, damn. Extinguished it? Uh-oh, I'm not a scrub. You can't all be accountable for my actions. Oh no, oh God. Oh no, dude. Oh no, this is so bad. Oh, I'll take that, I'll take that vanish every day of the week. That's us, yes. All right, Bardock needs to come out now. All right, nice, sliding knockdown. Okay, no, Vegeta assist, oh, but just high enough. That time, the hype actually saved us. Instead of just making me angry. But also we got picked up by Black while I was making that joke, so we're dead. Almost. No, we're dead, because I tried jumping. Oh, this is gonna be tough. Like, we have a lot to get through here. Okay, if we, okay, I think we were able to milk that. Yes, we were able to get just enough damage. Wow, that was close. You don't wanna, okay, we need like a 2M combo here to even the odds.  Oh no, he got hit with a 2M. Is that gonna hit? I'm always so scared of that. Is he gonna wake up level three like I did to him? That would be poetic. That was, that wasn't poetic. That just kind of made me feel sad. That was, that wasn't poetic at all, dude. Well, we take it 3-1 over my opponent here. Not the, it's these kind of games you gotta remind yourself. I don't have any Gohan icons. It's those kind of games you have to remind yourself that sometimes the little mistakes will eat you alive if your opponent keeps abusing them. Dragon Rush for me was a big thing there. Jumping out of my fake block strings really hurt my impact. And clicking light after Super Dash, that was, oh God, that one was hurting me. But hopefully maybe you have some of those problems yourself and you learn something from this. I know I did. Also, if you have a favorite moment, let me know down below in the comments. While you're down there, if you like these videos and you don't wanna miss out on any future videos, make sure to hit the like button and subscribe to the channel. It really helps me out and it also keeps you updated on everything Season 2 related to Dragon Ball Fighters because every piece of info I get, I will upload on this channel as soon as possible from the finals to all the announcements, everything like that. This channel will be a huge hub for that stuff, believe that. But yeah, I also have some videos up on the screen right now that you can check out if you've missed any. I'm Dr. Doha. Thank you so much for watching this video. I'll see you in the next one.


It is the stimulus that you don't need to learn anything about Often specifically an unconditioned responses often are referred to as a reflex So when my wonderful business partner and colleague smacked me in the There was an operant response along with that one, but you hear the guss. So those are great See what he's now. I'm worried because I think he's got something else in his hands. Anyway, I go to Jesus keys. Here we go So unconditioned responses the response that's performed in response to an unconditioned stimulus that has no learning history associated with it It's just a You


Firefighters working near the border not only have to deal with the problems associated with fires but they also have to deal with illegal immigration, drug smuggling and the fire starts related to these issues. Let's first look at how firefighters are impacted by illegal immigrants and the people who smuggle them, known as coyotes. Well, I think somehow there needs to be a realization of what really the issues are. I've briefed lots of fire teams. We have lots of fires on the Sierra Vista Ranger District. A good deal of them are caused by undocumented immigrants and smugglers. So we have a lot of fire teams come in and we have a lot of people from other states as well as the northern part of this state that have really not any real clue of what kind of environment they're dealing with. You know, you get into everything from a poor immigrant farm worker that's walking across trying to get a job to a heavy-duty felon, and you get everything in between and so it's one of those environments that's definitely very unpredictable and so it's hard to prepare people for that kind of thing. We go in with the caution that there are people out there that may be in harm's way or they may want to cause problems for us and so just keep that in mind all the time that we're going into a situation that's different than being 100 miles north. Generally, if you're hiking to a fire sometimes, you'll walk right into them. You'll possibly be using trails that they created by using them. Also, just driving down the road, they'll be walking down right down a main highway. We had one burn that was in fairly steep country. As we were holding, sitting and monitoring the following day after our major ignition day, we had everybody kind of out on high points and we all had binoculars and we were just watching groups get carried up by the truckload to the Seven Wire International Fence and they'd just find a shade tree and wait until night and as soon as night came, they were just right through the burn which fortunately for us the burn was still cool. It was cool by that point but it doesn't phase them.  It doesn't present an obstacle to them which is flabbergasting to me. One of the concerns that we always have is you don't know what the people inside the units, the burn units, you don't know what they're thinking or what their motivation is for being here and a confrontation can be fairly minor and not something that you would normally worry about and more often than not it's just people looking for help or trying to get out of the way but you don't know that and that lack of information creates a little bit of tension and the communication barrier elevates that to a new level. Now let's listen to how drug smuggling can create dangerous situations for firefighters. Some fires that they've had here they have actually found drug loads right within the fire. We know that if there were drugs there there would be a lot of drug traffickers there and so that always puts the land management agencies who have fire crews out there on edge they could come up on some of these groups that are armed and then their fire safety could be in jeopardy. And we get a lot of dope and the fire should be finding empty gunny sags and one of the fires we found 400 pounds and then the year before that we found another 800 pounds and then on the ridge fire it was 120 pounds. The fires that we've had we've had large quantities of marijuana actually in the fire some of it may be burned some of it may be unburned but the smugglers for the most part won't leave that material if they think there's any chance that they can recover any of it and so you know that once you find that you're more than likely going to have armed smugglers eyeballing you every minute if you don't find it all they're going to be right back in there to get it. You know if you were left out there by yourself and they outnumbered you it's a real good chance that they're going to come and claim their load. We had a fire three years ago where we worked the fire all night which is something we don't do very often here anymore unless we can keep enforcement with them all night we just can't afford to leave them out. We have worked the fire all night went back in the next day and 100 yards off our fire line was an AK-47 and a burlap bag so it's just a whole different world down here right now and it's very very difficult for people in the agency to understand how really different it is. Now let's hear how firefighters have an increased chance of encountering illegal immigrants and drug smugglers because of the fires they start along the border.  It's just an added piece of baggage that you have to deal with when you're doing an initial attack on this forest. The first thing that people think about I would suspect when they're fighting a wildfire is their own personal safety as it relates to the fire itself and you know what you would expect in terms of the fire behavior or what not and probably the first thing we have to think about is our own personal safety in relation to you know why did that fire start. It's personal safety but from a different standpoint. We typically get a few fires that are usually warming fires that some of the groups will leave as they come through so some are warming fires, some are cooking fires during the wintertime after it starts getting cold we usually get those type fires. If you look at a lot of these ignition points it's sternocans that have been used to heat up meals and then just thrown in the grass. They're focused in on a survival kind of mode and they want food and they want heat and then they move on. They don't understand the idea of extinguishing a fire before you leave. Some of the fires that we've had started in the past are signal fires by injured undocumented immigrants and then that kind of throws a whole new set of circumstances into your fire. Very close to where we are right now we had a fire and what had happened was that an illegal immigrant had gotten into dehydration and cramps and was in a very stressed type of a situation and so some of the people that were with him just lit the grass on fire and said don't worry somebody will come along to help you shortly. They had left him because he couldn't continue with the rest of the group and so they just wanted him to be found so that he didn't die but each individual case is different so you never know what you're really going to walk into. We had a report of a wildfire went out there, started initial tacking it and just down the road was another report and then just this way there was another report and what we finally learned that they were was destruction fires. You know a lot of fire over here everybody goes running over here Border Patrol follows along and then this group is coming through and then they light a fire. You know if somebody's out there starting fires to direct our activities they're not liable to be concerned about our safety so I would say it's a big problem and it's an evolving problem and probably getting bigger as time goes on.


Hi, and welcome to chapter three, Communication Principles for Group Members. Over the next few slides, what we're going to look at is some of the basics of what communication is, give you a few understandings as to how that interaction takes place, apply a couple theoretical models so that we can have a better idea as to how this works. Let's go ahead and dive in. So the first thing is to take a couple seconds here to define what communication is. Now, there is a wide variety of definitions. Recently, there was a meta analysis done, which is just a fancy way of saying that they compared a variety of different textbooks and journal articles together, and they found hundreds of different categories and thousands of different definitions. For the sake of simplicity, we're only going to look at a couple of definitions inside this class and then kind of give ourself a basic working framework to move on. So one of the most classic definitions comes from 1946 in the work of Smith-Laswell and Dee, which says that communication studies is an academic field whose primary focus is who says what through what channels of communication to whom and what will be the results. So basically we're interested in what people are saying, what channels they're saying to it, whether it's face-to-face or something mediated and what the outcome of that is. In the 1990s, the National Communication Association, which is the big organization that brings together scholars throughout the United States, got together and tried to work on a more complex definition on how to define our discipline and field. And they said that communication focuses on how people use messages to generate meanings within and across various contexts, cultures, channels, and media, as well as the field is one that promotes the effective and ethical practice of human communication. So you can see in that definition, they brought into the classic definition a little bit by expanding it to talk about generating meaning within different contexts and cultures as well as the media, but also added that additional layer of promoting the practice of ethical human communication. So not just enough that we know how to effectively communicate and how to be persuasive, but how to do that in a means which is ethically sustainable inside a given society. So for us in the class, basically we're primarily just interested in how we use symbolic communication, right? How we use these messages to create meaning with one another inside of that. And we'll talk about that next through a couple of different models. So one of the most basic models that was originally used to describe how communication functioned was the linear model of communication. Now, why this was later replaced, it's a good starting point for us to gain some insight into how communication actually functions. So if you look at the chart on your screen, you'll see that on the left-hand side, there is a bubble that is labeled sender. The idea in the linear model of communication is that a sender would conceptualize ideas in their mind, encode them into symbols, the symbols being words or written communication, and send those symbols out across a channel. And that channel is where the message then travels to a receiver. That receiver would then receive the symbolic communication, decode it, and hopefully have some idea as to what the original idea was that the sender was trying to convey. However, that as that message traveled across the channel, whether that channel was face to face or some form of mediated communication, noise would get in the way. And really what noise was is just anything that could ultimately impact the communication that we're talking about. And this might have been, for example, actual physical noise, if it was like something loud taking place or if you were trying to have a conversation with someone inside a noisy bar and there's a lot of music on in the background, that could get in the way. But it can also be other things. It could be that the other person lacked understanding of what you're trying to say. So there might have been linguistic differences. The other person might be sick and have a really bad headache and not be as effective at decoding and understanding the message. So noise is anything that gets in a way in sending it. Now, why this linear model of communication was useful, it had a bunch of shortfalls in that scholars said that it seemed to be problematic because it kind of conveyed the communication process as only a one way transaction of ideas when actual communication process seemed to go back and forth far more than that. So communication isn't just a ping pong game where the ball bounces to one side of the court and then comes back, but instead functions as a transactional process. As a result of that, thinking a new revised model called the transactional model of communication was created. Here you see some of the same things, right? But instead of having bubbles that say sender and receiver, we've replaced those bubbles with communicator that simultaneously send and receive ideas. And you can also see that there are these purple shaded areas. These purple shaded areas represent shared understanding between the individuals with the overlap being the place that the message can actually connect and genuine understanding is able to take place. So here a communicator is able to decode an idea, send it out across the channel and simultaneously the other communicator is communicating at the same time. So think for example, when you watch an instructor giving a lecture in front of a classroom, the instructor has a variety of ideas about their expertise. They're packaging these messages into words and saying them to you, but it's not just a one way interaction. As they send out these messages, you're sitting there giving nonverbal feedback. You may be nodding your head if it's making sense or you may be fumbling your brow and looking confused if it's not as a response to those things that instructor will probably change their communication style to be more adaptive to you. And this seems to fit better and with how communication actually takes place inside the real world. So on that note, it's important to understand that when we talk about communication, what we're talking about here is a system of symbols. So first off a basic definition, when we talk about symbols, we're talking about all of the arbitrary things that we give meaning. So as we go throughout our lives as human beings, we are cursed I suppose you could say with the fact that we are islands unto ourselves and other words that we have ideas that are trapped in our minds and we have no way to telepathically beam those ideas to other people, well at least not yet. We'll have to see if they get a Bluetooth upgrade for that at some point, I kid. That said, we use communication as a way to bridge the gap between those islands to convey ideas to one another. And so to do that in verbal communication, we have created a system of symbols that allows us to share and exchange meaning. Now these symbols can be things such as words, they can be the letters that we have put together to create those things, they can be the linguistic vocal things that come out of our mouth that mean them. The key thing here is that the things that we say to convey meaning have no essential meaning unto themselves. The word mouse only has a connection to you when I say that because we have shared agreement between us that it means the same thing, right? So when I say mouse, you tend to think of that furry little critter and then my message is conveyed. That said that since symbols can be ambiguous, there is a possible for a miscommunication, right?  So there's a certain amount of abstractness to this and a chance for miscommunication and we add other qualifiers and use other symbols to try to make clear. So I might say a live mouse to give you a better idea that I'm not talking about a computer mouse inside of that. Ultimately through combining these symbols together is what allows us to share ideas and communicate with one another. So to kind of give that a little bit more nuance, when we talk about the difference between verbal and nonverbal communication, what we're dealing with is the use of symbols versus not having those symbols. So for verbal communication, what we have is that agreed upon rule-governed system of symbols that we use to share meanings. In other words, languages and things like languages that we use to share ideas inside of this. This can be contrasted with nonverbal communication which is the analog channel through which we share meaning but through other things such as sounds and behaviors and artifacts that aren't symbolically based inside that. And so this can be a variety of different things that we call nonverbal cues. And for the rest of this presentation, I'm just going to briefly take you through some of the nonverbal cues and basic categories of nonverbal communication that can be used to share a meaning outside verbal communication. So here comes some nonverbal cues. One of the key nonverbal cues that we talk about is physical appearance, right? And this can be things such as body type, hair, color, the clothes that you wear. In fact, the way that we adorn ourselves with garments and other artifacts is one of the key ways that we communicate to other people. And so the way that we dress is sending messages about who we are and that tends to be self-constructed. However, there are also societal norms as to what is expected in certain situations. And so physical appearance is one of the ways that we communicate through that channel. Another nonverbal cue is perilinguistics. Now, perilinguistics can be a little confusing at first because while we're talking about the sounds that come out of our mouth, we're not talking about the words that we put those sounds together to make. We're talking about the way in which we say them. And so if I am really angry, I'm like, what did you do? Right? The tone of my voice and saying that phrase conveys meaning inside of the actual words of what did you do? However, if I was to kind of chuckle and laugh and kind of add a layer of sarcasm into that, that also changes the level. We also talk about this in terms of being a dynamic speaker later on versus being someone who has a lot of vocal variety as to someone who is very monotone. If you ever have a chance to watch any of the videos with Ben Stein, who's featured on this slide that's on the screen, Ben Stein is kind of infamously known to be a very monotonic speaker, meaning that he has a very dry voice that tends to carry at the same level and does not fluctuate higher or lower as he goes throughout what he says. And he tends to drone on and on and on. And there's some very famous examples. If you're alive, 80s or 90s, you might have seen him in the Ferris Bueller movie or in the Clear Eyes commercial where they kind of made fun of this. So parallel linguistics, not what is said but how something is said. Kinesics is the body movement, gestures and facial expressions that you use. So as you talk, you may notice that you might be an individual that talks a lot with your hands. Those gestures can actually help to enhance or nuance the type of communication that you're engaging in. Also, facial expressions that Freud brow that we discussed earlier to express confusion also sends meaning. Haptics is the nonverbal cue that relates to perceptions as well as meanings of touch inside the way that we communicate. So this can have to do with relational distance. People tend to be relationally closer and more likely to engage in touch where if there is power distance between people they might not use it. One of the fun things I talk about in my persuasion classes is that sometimes people will use touch to create more immediacy between people. So one of the things you might notice is the next time you're at a fancy restaurant take care to see if the waiter or waitress makes a slight touch on your hand or your arm as they give you the check. This can actually be a strategy that service workers use to create immediacy and perhaps gain more of a likelihood that you will tip them better inside of this. I don't really see anything wrong with it. Tip your service field. All right, proxemics. Proxemics is the nonverbal cue that directly relates to the use of space between individuals. If you've ever had the interesting experience in your life of knowing someone who is a close talker you'll know what this means, right? This is the individual that gets really close doesn't quite seem to understand accepted norms for in our culture, for distance and space and it just kind of gets right up on you and it can make you feel uncomfortable because they're violating the norm for proximity in that given relationship. That said, how close people get together and how close they engage in communication can speak wonders to the nature of the relationship that they're in. Specifically, if you see two people sitting close to each other on a bench in a park you might be able to kind of extrapolate that like, hey, these individuals are a friend or might even be involved in some sort of romantic relationship inside that. So proxemics is how we use space to convey meaning. Chronemics has to do with how we interpret and use time inside communication. Now, across the globe, varieties of different culture use time differently and why in the United States we tend to be a very time-centric culture, the same isn't necessarily true for other cultures throughout the world. Typically in Eastern or in Latin cultures time has a very different meaning and being on time isn't necessarily valued the same inside society. That said, the nonverbal cue of chronemics can express a wide variety of things inside that such as rate of speech as well as the conveyance of pauses and the like. Last is the use of environment. Environment definitely can express a wide variety of things inside a given setting. Environments are really interesting sources of nonverbal cues. We talked a little bit about this during systems theory, but environment can convey a sense of urgency, a sense of mellowness. The classrooms inside the university setting tend to be very plain and very simple to kind of calm students down and make them focus. It's debatable as to where this is effective or tends to lead to the situation of people sleeping on desks that is depicted inside this PowerPoint slide. That said, environment can have a lot of different impacts on us. Bright colors can express that urgency if you ever go into a McDonald's, you'll know that there's a lot of reds and a lot of oranges, which tend to have the impact of people coming in, eating and getting the heck out of there. Whereas if you go into a coffee shop, you might see more calm earth tones and comfortable settings, which creates an environment of welcome come and stay for a while inside of that. Well, that wraps up our conversation about the basics of communication principles. As always, if you have any questions, please feel free to contact me at any other variety of methods that have been made available to you.


All right, here's sound, let's play this in full. It always makes me laugh. It's always so good. All right, I think this is very, very close. My main reaction that I had was there's still something soft about him and some of the movements that we talked about before. So if you listen to his voice, moving on the volume a little bit, but if you listen to him, wow, easy on the shrimp. Like it has, there's some, there's just some energy peaks and there's a certain harshness to it. And if you turn off the sound, if you just look at him, hey, it's just, it's just very soft. That's probably my main overall comment. Even on this here, when he goes, whoa, and he tenses up, you can tense up the fingers a little bit, nothing crazy, but still enough where you really feel that tension is not just in controllers here, but it's his whole body that tenses up because he just saw that. And then same thing here, when you might have a bit of a uphold shrimp, a bit of a sharper move down with his arm. And then here, everybody for that, I would have a little, I know this is a bit late, but late as in like a late comment, but it could be everybody, a bit of a root raise, like the root goes up and down a little bit. It was supposed to be for everybody, like this, it's quite the energy change there. So that could have a little bit to me, like a little bit of a root up and down, even with a little bit of a lean forward. Just have a little bit of energy in there. And the rest is okay, because to me, then it's all like, yeah, do this and come on. But to me, this attitude is different because that's kind of his, like his stick, his spiel, that's how he's, you know, he's wanting to be seen, blah, blah, blah, versus that at the beginning here. Like he has a physical reaction to seeing this. That's why I feel like it would be great if we could differentiate the movements just a bit more from this. And with that a little bit of a moment through there, and the rest is just him, the way you have it. And I think she's, she's great. The picky thing. And I know this is super difficult because straight legs and walks and everything, she still has that overall feeling of having her legs always bent. At the same time, it also doesn't make her look very strong in a way, but maybe that's in character because she is just kind of giving up and moving away. So I don't know, like that's maybe something you can decide if you want, if you want to push that. Like polishy things would be when she lifts that foot here, watch out, there's a bit of a way. That angle is the same and only the foot roll kind of pops back into a straight and only now are we continuing with a rotation in that foot. Just this polishy wise feels a bit weird to start a foot roll. And then that angle kind of stays the same and gets off the ground. And again, kind of mostly the same. And now we're starting a rotation. So watch out for stuff like that. For polishy things, like this foot seems like it's coming straight down. It could have an angle out so that the underside is a bit visible to us. Even this here could have a little bit of a twist in why it's little polishy things in terms of axis, which is not just all one axis. And you might argue, maybe even through there when she goes, whoa, like that on that lean back, she might then have a little bit of a twist out on that foot pivoting off the toes. So she's a bit more, maybe we cliche in a pose, but like toes in, it's a bit more uncomfortable because she just got, she just got yelled at. And maybe again, this is just something for you depending on how much you want to go in there. When he goes to a few hundred, like that's an insult right there. And maybe that could have a moment of a change in the face, maybe just a slight change, or maybe even a surprise in the eyebrows.   So little polishy things. So for her to react to stuff that she's listening to and watching for this, this is, I don't remember seeing that last time, but, and if it's the same, I apologize for missing it. When she goes back here with that whole body, that's quite the, it's not a huge move like he does at the beginning, right, when he goes back there. But when she has that move, it just feels like the head goes back, which then pulls the rest of the body, which is great. And then the rest of the route to the whole thing is moving. But then it suddenly stops and even goes the other way. And it just, it feels, it feels a bit stiff because everything feels like it's moving back this way. And with that, she has taken it back by all of this and the movement, to me, it feels like you would go back and then ease into this more instead of going back. You just be a, stop versus this, and then she can deflate. And I like that you're starting with the fingers first there and this. Oh, that's great. I think that's pretty much it. Your turn away. This is sad. I like that she even has, is there a stuff where she put it there? Oh, that's intersection. I thought there was like maybe like some sauce on there and then she had it close to her. But it looks like it's intersections. I'm seeing stuff here too. I think that's that's mainly that. Yeah, it's just the energy level on him. That's the main thing. Also, because it's the right beginning of the shot. You don't, you really want to nail that and even this, maybe even this is super picky, but then again, this comes super late, but just pushing that moment of tension, maybe even straightening that triangle to more like this versus that hanging floppy. That gives me less energy, you know, that he's all tense and like, easy on the shrimp, but then this feels soft. Not just the movement down here. There was a timing, but I think finger wise, you could be, you know, in something like that angle, fingers when you're down here. Again, this is something I should have mentioned before. Apologize, but just, it's just striking me just now that the movement and the pose, it's tensed it up a little bit. And even this one, if I'm following through with that note and simplifying this a bit, so it doesn't have that because that definitely, you know, with that look feels a bit soft. This might be super picky, but literally every time it cracks me up. That's better here on that silhouette there. Everything is great. So many great updates. And I'm saying all this just because you're mentioning your email to be as picky as you would like. So it's, as always, like these notes are for you to dissect and go like, yeah, you know what? I'm not going to use this or I'm going to use this. Like for me, picky, I know this seems probably where the eye box and the eyes would be, but given how much white there is left and right, I would slightly move that eyeball, the pupil over just a bit, not to make him cross-eyed, but to give this a little bit more white. Just a bit, just to see how it feels. I don't know if you have like shapes, maybe pull the skin back here. That's the only, sometimes I'm always kind of experimenting during the final polish on eyes to move, you know, if you control in your eye boxes to move one separately, just to kind of straighten them without getting into a walled, wall-eyed look to the character. And even here, again, if I'm following through on my pickiness, easy, take a framework two out of that drop on that head. It's more easy, a bit of a sharper, sharper feel to it. But I love stuff like this, when you have that move, even on this, like shrimp, energy goes out, even that arm moves like this. Again, there's some really cool stuff in it. I'm just falling through your email and be as picky as possible. And for shapes, I don't know, we have a bit of a move in, I'll bring that out a little bit. And you can almost straighten that one a bit more, straight versus curves. This could have a little bit of a bend, well, a bit of a bend for a bit or straight, looking at like final polishy shape language things. And this one, I will probably go the other way. Not saying that this is horrible, but the classic thing is to have this one higher, this one lower, just because you're looking to the left and now you're opening the eyes this way and you have a bit of a line of action, that head like this. You know, you can curve the nose a bit more if you want, but I'll probably do the opposite on the eyebrows. You probably had this all the time and I never saw this before.  It's good hair stuff too. That's a good keep a life too. And yeah, I mean, again, there's a lot of really cool stuff. So I'm just going to leave it at that before I go super crazy. Like here, I would say if you go back and you lean back, you're going to tense a bit. So I would maybe tense up those fingers a bit, just holding that cup a bit more tightly.  It's going to take a little bit of effort and tensing up and all the muscles and that could even radiate out into just the fingers, you know, like the middle finger could get closer for grouping here and then maybe tense up the pinky and then you can relax again. And these are super pinky things. All I'm seeing is just the same amount of gap distance here throughout. So these are kind of the super polish you think I would put in. And I'm going to say that's that. I keep saying it. But you know, the closer it comes to power, it's just noodling. And is it really making it better? Is it different? So I'm going to leave it at that. Again, it's a great clip. I love it ever since mentors. It's been so great. So yeah, I'll leave it at that. Thank you. It would be awesome. All right. Thank you.


This is Witchspace news for Friday the 25th of October 2019 I'm CMDR Buur In this week's news the bombshell from frontier what happens now the scourge reaches the next stage and we'll have a sprinkling of highlights from the community If you find this video useful hit like and subscribe and remember to click the little bell icon you can also join the Buur Pit community on discord and if you want to help support the work of this channel you'll also find us on Patreon links to everything you need are in the description below. So the top story this week obviously has been the bombshell that frontier dropped on Wednesday announcing that following the difficult launch of the September update to the game they're going to delay fleet carriers again this time for a further six to nine months whilst they instead focus on fixes patches and public beaters it's been fairly obvious to most commanders for some time that the game was very wobbly in places of course it depends on what you predominantly do in the game as to how the wobbles affect you personally but following September it certainly felt like perhaps the core of the game could use a fair bit of love and adding something like carriers and indeed whatever the 2020 paid update is will stand a better chance of succeeding if the foundation is stronger. What I'm about to say is somewhat speculatory but when the Enclave Interstellar initiative ended a few months back with the withdrawal of the Thargoid forces from the bubble it felt like the war would be entering a new phase the most obvious entry point for that new phase was December with the launch of carriers now that update isn't happening I'm left wondering what happens to the gameplay that surrounded the Thargoid invasion there is a whole community of commanders represented by organizations like the Hive or the AXI whose entire gameplay was pretty much devoted to pushing back the Thargoids while there are still static Thargoid encounters the dynamic weekly back and forth of the conflict has gone likewise there was a blossoming community of commanders dedicated to rescue operations at the stations left burning by Thargoid attack they've had nothing to do on that front since August the Geyser operation IDA are continuing to repair the stations that have been left damaged and there's plenty for them to be getting on with but with the apparent halt in the Thargoid advance we are left wondering if we'll ever see a return of those compelling gameplay arcs before June next year or indeed after Frontier have been a little more communicative of late which is really good to see for me personally I'd like to see them flesh out a little more detail in the situation with the game from now until June and whether we'll see the Thargoids in particular return and whether the delayed timetable for fleet carriers is expected to have a knock-on impact on the timetable for the 2020 paid update the Scourge Interstellar initiative continued a pace this week with the revelation that at this stage at least the blight on galactic food stocks was caused not by some dark cabal of background puppet masters or a new front opening in the Thargoid war as the green meanies attempt to win back some ground with a war of attrition starving us of food it was instead caused by some angry hippies who were still furious at their stocks of onion head being carpet bombed by the federation four years ago which leads me to an interesting question that's been bubbling under my psyche for the last couple of initiatives I really enjoy the initiatives I get that they're essentially a redressing of the community goal format and the extra layer of narrative is most welcome it leads to a bit more depth and therefore a bit more of a reason to participate but I can't help feeling that they are in danger of becoming too inconsequential when the Scourge initiative first started the tin foil hat talk went nuts trying to figure out who or what was behind this extremely effective and clearly obvious attack on the bubble and its way of life but then when it was revealed who was behind the attack I have to admit to feeling a degree of disappointment the first initiative bridging the gap introduced a ferry service that once a week will move you to or from Guardian space via the Thursday server bounce kind of a cute idea but guardian space isn't that far away these days so honestly the ferry service is of dubious worth if it's going once a week once a day that's useful once a week no I've already moved on I'm curious is it just me or have you used it since its inception I've been to guardian space since but it didn't even occur to me to take the ferry and when I did go I didn't specifically want to go and return on a Thursday so I figured frontier must have had a plan right they must have had a need to get players with limited jump range down to guardian space for some reason that will be revealed next month at this stage it doesn't look like that's the case moving on to the enclave brilliant thargoids new bubble established but it's attacked humanity responds with a plomb and we get the thargoid threat mostly driven from the witch head nebula and repair the stations that were damaged an amazing community effort but is the enclave actually useful for anything now I figured it's much closer to barnards loop it's a staging post for a push into that zone probably utilizing our carriers in December our way okay moving on the scourge the thargoid or the far god cult are trying to starve us out and then a speculative attack on soul in December you can see where I'm going here if you go and see a movie and it all builds to an exciting conclusion but in actual fact there is no conclusion or the end result of the movie was just mundane you're not generally inclined to return for a sequel interstellar initiatives are a brilliant idea but they're starting to feel like they may just be conclusion devoid movies whilst the scourge hasn't yet concluded it's in danger of leaving me feeling a little disappointed if it doesn't lead to a bigger story or am I being a bit premature here is this all part of a much larger narrative and we just can't see the mysterious macinations of frontier story weaving tapestry yet what's your feeling I'd love to hear your views as a quicker side there is a decal available for participation in the current initiative just go and dock at one of the stations listed in the forum post linked below and now a quick burst of community news the fatherhood's lost souls to expedition launches tomorrow from the bubble and will be out in the black until April next year sprint over to the links below if you want to sign up on the subject of expeditions commander the demon wolf has announced the spooky space spectacular expedition which is a series of small outings to some of the creepier places in and around the bubble in the lead up to halloween the expeditions cross all platforms have a very low barrier to entry ship wise and need just two to three hours of gameplay over each of the four days that it runs for kicking off on the 27th of october and running until the 30th of october links are below to get you signed up and finally commander ex-assist who is one of the media managers for the spvfa stellar photography group released the latest of his youtube video explorations of a leak dangerous this week in his series entitled out there the commander features the discoveries is made in fantastic footage set to a very chilled musical soundtrack with big fans of his he has been and continues to be one of commander reenie's biggest inspirations for her stellar photography work you can follow him on instagram twitter and facebook and his youtube videos are always a regular on the burp it's must watch list do please give him a look and a sub his work is simply stunning that's it for now thanks for watching we'll be back later this week with more videos until then oh seven commanders follow the greens on the way out and do keep clear of the toast rack we very much look forward to seeing you next time


Spirulina is a type of blue-green algae that contains high levels of protein and carotenoids. In this study, researchers examined the effectiveness of spirulina in increasing the body's total body vitamin A stores in Chinese school-aged children who are at risk for vitamin A deficiency. They found that children who took 2 grams or 4 grams of spirulina per day had higher levels of carotene in their blood than those who did not take any spirulina. This suggests that spirulina could be a beneficial food source for these children as it increases their vitamin A stores. This article was authored by Lei Li, Xi'an Fengjiao, Jia Wang, and others.