Hello everybody hooded Cobra Commander 788 here, and this is just a quick look at Scoop, G.I. Joe's combat information specialist, basically a combat reporter from 1989. For this I have to give a little nod to Rob from the G.I. Joe Berg podcast, Scoop is his favorite character, and we both happened to pick up a Scoop action figure at Jocon. For the same reason, we needed to get that elusive microphone, Scoop comes with a ton of accessories, and that's fine so long as the accessories make sense for the character. And fortunately for Scoop, his accessories make sense. He came with a black pistol for self-defense in combat as he's taking his pictures with his camera, a very large camera here, and it's connected by a black hose to this device on his leg. This probably is in some way connected to this big transmitter on his back. That also would make sense, he probably would want to send a live feed of his video back to base. Then of course he had a helmet that had a removable microphone, and that is always the hardest piece to find. Scoop has a pretty good head sculpt, and of course this head sculpt is based on a real person, the reporter Mike Leonard, and even the file card makes a reference to that with his file name being Leonard Michaels. I have to hand it to this figure, there are some amazing details on this figure. Just look at all the sculpted accessories on his chest, he's got binoculars, he's got an extra camera with a strap, he has an empty holster presumably for this pistol, even though really it's not the right size, but you know that does happen. He's got electronic devices and straps all over him, some pockets on his arms, an electronic device on his left arm, and really overall if I were just looking at the sculpt, I'd say this is a great figure, but what absolutely cannot be ignored is the color, he is wearing yellow and he is a combat information specialist, and to my knowledge combat reporters would prefer not to be shot in the field. I'm not quite ready to do a full review on Scoop yet, but I will eventually get to it and I'm looking forward to it. There is a lot to say about this figure and the character as he was depicted in the cartoon and the comic book, and as a combat reporter Scoop has a special place in the lineage of G.I. Joe since the name G.I. Joe was taken from the movie The Story of G.I. Joe which was about a combat reporter named Ernie Pyle. I look forward to doing the full review on Scoop, but I hope you're satisfied with this quick look for now. I'd like to thank everyone who watches these videos and I'd like to thank my patrons. If you like this channel and you'd like to support it more, please check out my Patreon. I am on social media, on Facebook and Twitter, and I have a website, HCC788.com. I will have full in-depth G.I. Joe toy reviews coming up, so please subscribe so you don't miss them. I'll see you all soon and remember only G.I. Joe is G.I. Joe.


Hi, Jeremy. Hi there. How are you doing? Pretty good, you? I'm good. So you have installed your monitors up high? Is that good? I've got one monitor split into two halves. Yeah, I'm always curious where monitors are because you look up all the time. Oh, you have two stacked, is it? It's one monitor but it's in P by P mode so it's treated to monitors. Okay, that makes sense. I have a tall monitor, a wide monitor as well. Maybe you can do that. Yeah, so this one specifically designed for what they call P by P or picture by picture mode. Oh, it's designing. So I've got it plugged in to the computer with two cables. So the computer thinks there's two monitors connected. So I could move you guys down to the bottom. Okay, and now I'm looking down at you. That's more like it. But now it's in the way of where I want to type APL. And it's also, that's the screen. So I share the bottom screen, screen sharing. So I put you guys on the top screen. I know. Hi, Rory, welcome. Are you able to talk or be videoed or are you just on text chat today? Just text chat, I guess. That's what I am. Okay, no worries. I don't want you to disturb people. All right, well, since today is a extra, rather late announced extra session, it might just be the four of us. So, cool, that's fine. How are you, Isaac? I'm doing good. Yeah, I wasn't sure I was gonna be able to make it today, but I was able to wrap things up. So I'm happy we're doing an extra one today. Yeah, thanks for coming. Thanks for hosting. This is always fun. All right, share my screen. Great. We haven't done this big O-diarrhesis before, or have we? Have we ever ready an operators? Yeah, we did. We did. Okay, that's terrible because I forgot. In that case, I will add a explanation of something I just played with. Okay, here we are, circle-diarrhesis, dyadic. That's a rank thing. Oh, there are two versions of it.  So, circle-diarrhesis, I don't think we've done the dyadic form of the function that it creates. Oh, maybe. Oh, yes, we have. Here it is here. Yeah, it's not in one. So this is... It's one over two to the one-third frame. So this one is increasing of both arguments. That doesn't seem quite correct then. So the reason I'm asking is I was trying to do the permutations function, which is, so if I wanted to do p10 comma four, that would be that, I'll just write six. So that is lamp, lamp, lamp. What's lamp comma? What's the mnemonic then for the lamp?  Yeah, pointed out. So Adam replied to the session 14 with answers to pretty much everything. One of which is basically Jeremy stopped forgetting things. Look up the mnemonics with a link to the, which is exactly right, with a link to the page. This would be bottom row keys. See my words comma and comment. Okay. That's nine comma slash comment. Right. I've been doing the Yankee every day and that's been helping quite a bit. Yeah, I haven't been doing any extra study at all because I've been doing the NB Dev stuff. So my APL is four hours a week for this plus a bit of stuff with my daughter and her friend. So it's not really enough to remember. Okay, so rec one, five or seven reckons that this would do it. Okay, it does. So that's interesting. Oh yeah, I do see it. This is what it's doing. It's doing reciprocal of two, tower of reciprocal of three. So this is called over. Okay. That's awesome. I knew there'd be something. Just didn't have time to quite figure it out properly. So an interesting exercise for the reader would be to create a version of this tacit program that does the 10 minus six part as well. Because the definition is actually, actually we could write it out here, is really that, right? No, well. It's almost forward. Okay. That's useful review. So that another useful review, which I'm not going to do now is, well, A, Adam pointed out upper and lower attack with higher rank arguments and explain why and how that works in a way which somebody probably should put on the APL wiki, if anybody fills up to it. It looks really great. And also talked a bit about, oh yeah, this train that we had trouble with, which honestly the thing he ended up coming up with is really no better than the D fun anyway, which is fine, but it's still useful exercise. And he said he's proposing an operator that actually does pre-process the left-hand side rather than the right-hand side, which would be nice, which he's calling B, for example. And that would do exactly what we wanted. That would be a nifty operator. Because yeah, without it, it's quite ugly. And yeah, also some discussion about the Booleans, which the most interesting part being the point that you can think of and as just being times, and you can think of not as just being one minus, which I do all the time outside of APL. And if you do that, then all of the other things come out quite naturally. Although I didn't know they're called de Morgan's laws. There you go. Okay, so, and I was not smart enough to paste in a list of the things we're covering. So let's do that. Is it in here somewhere? Yes. Okay. So we've done the exclamation mark. We've done the tax. We've done less than and greater than. We've done these. We've done this. We've done this, right? Yeah, we've done that. These we haven't. And this is just Josh, isn't it? Or is that Diamond? Can't quite tell. Yeah, it's Diamond. We've done that. Did we do Diamond? I thought so. It's just a statement separator. I think we've talked about it. I don't remember us putting it in a notebook anywhere. Okay. Where did we discuss how to create functions? Was that in the first one? Under that. There we go. Functions. Oh, well, we should put it here then. Okay. So anybody know how to type the Diamond? I think it's either the back, the two or three times or something, right? You're right. Double back tick. Ops. That's no good. Broken help. No, you gotta search for the name of what it does. Uh-huh. Which is? It doesn't even show up in my toolbar. Does it for you? It looks like a very small dot if you don't have a great font. No, you guys search for statement separator. You found it? I'm searching for statement separator in APL Wiki now. There's a page on it in the dialogue doc. I don't see it in the Wiki yet. Okay. What should I search for? It's called under, send the link here. Okay. The different section, the defined function section. Yeah, I found that it's in trad funds though, it seems like a weird place for it. We can find in APL Wiki. Because it's not just used in trad funds, but okay, maybe that's just where they haven't put it. All right, fine. You know what it is anyway. Oh, I see. Serata said we actually haven't done slope bar because it's a placeholder. Got it. That's easy fix too. Okay. Okay. We could say F is equal to two things. First, we're going to calculate A as that. And then a new statement. And then we're going to return two plus A. There we go. Make sense? Like I said, Nicole, I'm really. Oh, so it's always the statement on the right side that just returned. That's the last thing that evaluates is returned. Yeah. There are some like wrinkles, like there's something called guard expressions, which you can look up in the help. But yeah, basically it's like, you know a lot of languages do this thing. There isn't exactly a return. Right, so that's that. Rory Kemp says it's not the last thing. It's the first thing. I don't think that's right. We're returning the last thing. We're returning two plus A. A equals four times two, and then we do two plus A, and then that's what we return. Okay, so Rory's got one to try, which is slightly different to what we just discussed. We're gonna work it all. Okay, that's interesting. So these are different for some reason. Here we expected three words. Right, so in this case, it's definitely returning two plus. It's the first non-assignment, or Rory puts something in the chart. Oh, the first non-assignment or something like that. Right, so yeah, okay. First non-assignment, fine. Thanks, Rory. Lamp is a comet, which is like a comma. And then better do slope bar, I see. So we haven't quite got it all right here. So, and this is probably wrong too. Yeah, it's called scan. So we've got to fix this scan. Okay, I guess this is then scan first. Okay, so that's so good. Next, I think I want to do these ones. They seem to come up a lot. Notice I believe our back tick pound and back tick dollar sign.  Say again? The, I guess I was gonna say in the short piece for those are back tick pound and back tick dollar sign. Oh, pound. I can't get over the fact that you Americans call that character pound. It's the weirdest thing in the world. I know what you mean. What do you call it? I would call it sharp or opto thaw or hash. Pound is a pound sterling English currency character to my mind. Gotcha. But, you know, after spending 10 years in America, I can come to terms with the fact that you guys are all crazy, it's fine. Yeah, I wish I could argue with that. I don't know, the last three or four years, I got nothing, no comeback for that. Got too much for us. I'm sorry. There's plenty of nice things about it, though. You've seen nothing go. I love that it's called grade down and dietic grade down. That's pretty straightforward to remember. Okay. And the character's called grade down. Oh, okay. Grade down with, okay.  It will give you the index locations that would put that list in order, that array order. Oh, okay. Got it. So the weird thing is that they don't actually bother to do the sorting. So what's the character... If you... The slash to get the... To actually do the sorting to get these indexes. I think what's normally done is if you put your array into a variable, then you can just index into your array with the sort thing. Yeah, but how do you index into an array? What's the character for that? Are you doing brackets or the... Oh, square brackets? I don't know what I'm doing, but I believe, yeah. I thought there's some glyph or... Op arrow. I think you can... Op arrow does it because it creates a major axis. Sorry, what does it? Op arrow. I forget what it's called here. Take? Right, that one. So... Yeah, there's the... So op arrow, right. Under... Okay. And then also the... The squash quad, but you're the... Squat squad. So here's one way to do it. So, oh, it's actually doing it in reverse order. Okay. And you're saying another way to do it would be with up arrow. On the left, no, on the other side of A. So it will be... Right, that will create... No, up arrow A will create a column vector. And then we can apply a sort grade to it. I think I need to run that boxing thing. Up arrow A, right? Okay, go on. Right, that should create a column vector, right? Doesn't seem to. Now we have... Oh, boy, doesn't it? How do we create a column vector? Yeah, man. I need to revise. I know we've done it. I've forgotten. Isaac, did you have another way of doing it? I think you're saying something. I thought I did, but... So Rory put in the chat, there's a way to use... I guess I'm calling it the squash quad, but I don't know if that's what it's actually called. So you've got two sort idioms, one of which was the brackets, but then there's a second way. Oh, a little square, a little, yes, here, it's this one. Okay, we'll let it... That uses capital L. Materialize. Okay, well, let's learn this as well now then. Oops. Interestingly, and this turned me off for a while, is there's actually... I'm gonna copy and paste Rory's comment into the notebook while we're here too. I think back to L and back to capital L are slightly different, one that's the indexing and one that's the printing of the screen. Even though they look almost the same. Okay, it's called a squad, not a quad. Squad means materialize. If it's an array returns it, otherwise it doesn't last or a column or a dot net collection. Okay, so it converts object-oriented thing. It's basically the same as doing list parentheses in Python, you know, taking with an iterator. It's a bit... And that's exactly what we call it in Python, I guess you'd say we're materializing the iterator. Guess you're the items of that. All right, so maybe let's sort after these. Okay. Squad. One attic. Material. Dietic. Squad. Index. Which is exactly what we want, I assume. God knows how we're gonna explain materialize. Let's see what they do. Yeah, okay. This is a nice example though, working with Excel. So the works, works, work, work, sheets. Okay, so sheets is an object of this class, but squad is, gives you the items in the sheets. Okay. So I'm just gonna paste it. So the one we care about is index. So we've got a matrix. Okay, so two, three gives you row two, column three. All right. It's just indexing, right? And then... Smart of tools. It looks like if you enclose it, we will get multiple ones. Okay. So, row three. Okay. Okay, that's what I was expecting. So then if we enclose, no. Damn it. Inclose. V. V? Z. Z. Oh, okay. I was close. Okay. ZXCV are the... Shoes. No, it's not that. Oh, inside the parens. Wait, what? Really? Oh, of course. Oh, that's a quote, yeah, precedence. So that was the enclose assignment. Yeah, right, right, right, right, right, of course. Everybody knows that. Maybe this would be easier if they multiplied this by two, so we can see it's not just returning whatever I passed it. Great. So now we know the answer to our question. Did it work correctly when you multiplied by two? As I expected, it returned three and five. Oh, I redefined the... Find it, because I'm silly. There we go. Thank you. Okay, so now we can do this. And we know we can index into A with the enclosed grade down of A. And I've done that wrong. Oh, I forgot the squad. Enclose grade down and then use that to index into A. And now how do we do that with a neat tacit thing? Rory's version is a D-fun. This might be another of those cases where you kind of want the reverse order. But that's the D-fun, which is fine. So you want to pre-process with that and then on the left-hand side. Yeah, so if we did the... Okay, so if we did it the other way around, A and then the total diuresis. And then we shouldn't need the parentheses. Okay. And so it's actually... Oh, now we can do another till the diuresis and get rid of A on the left if you put parentheses around the whole thing. Yeah, I don't think it's going to be quite that easy because as soon as... Well... Because if till the diuresis doesn't have a left-hand side, it will put one for you. Yeah, but I don't think it's quite the same. Because when you do this because of precedence, this is now a train that's treated in a different way. So we've actually got to be careful to put some jots in here, oh, which is what Rory just said as well. So what we want to do is we want to do... First, we do that and we do enclose. Does this the right way around though? It is. There you go. Okay, which is definitely less nice. So we could say like sort is that. And then we could say sort A, look at us, a fancy. That's really fancy. Rory. Rory's got a better one. Oh my God. You don't need the parentheses? Well, I think that's interesting. Let's get rid of things. I really want to learn how to parse these things, but I just don't have a sense of how to parse them. That's something we might talk about on the forum is how on earth do you know how this is parsed? Rory, if you know a link to anything that kind of defines reasonably in some detail what these parsing rules are, that we could read them to understand why this works. That would be interesting. Okay, so Rory's got a nicer train here, which I will call train sort. So this is, okay. So this is the right-hand side. Okay, so this is function, function, function. So this is a fork. So this first applies to both arguments. This is applied to both arguments. So this is just the right-hand side. This is omega.  So this is squad applied to, oh, this is just squad applied to the pre-processed. So this is omega and grade down omega. And then, oh, I guess this all goes first actually because the operator happens first. So that's gonna be the same as this, I believe. Yes. Very convinced why the same is needed. What does that do? Yeah, so, okay. So this is a fork. A fork is a list of three verbs. An operator returns a verb. So we've got function operator function. So this is the dyadic version of the operator. There is only dyadic of this operator. It returns a function. Therefore, this is a function. And it's a function which encloses and then grades. Right, I'll give that. So it's kind of backwards to when we don't use jot. Oh, he's saying grades and then encloses. Oh, yeah, yeah, grades and then encloses. So it's the same as not with jot. Okay, grades and then encloses. So you go right to left. That's easier to read. Cool, good. Okay, I like that. Okay, so there's a function. So function, function, function. So when you have F, G, H, that's the same as, you know, being applied to alpha and omega. That's the same as, do they kind of write it like this in? I think it's what they do in Fiel, informally at least. That's the same as alpha, F, omega, G, alpha. H, omega. So we have, so enclose jot grade down is F. So we have F squared, same. Well, I mean, diatically, it's actually right-hand side. So F squared, right-hand side. So we're gonna get, we're gonna get F applied to, oh, and we're calling it monetically. So we just have this. Okay, so we've got grade down, then enclose, so omega, A, squad, identity, A. Each of omega is omega in this case, right? H of omega is omega in this case, because of the same. Yes, exactly. Cool, it's gonna take a while for this to become intuitive, but it's all good. Okay, and then you can do it with axes as well, but we're just learning all the bits, so we don't need to do that because it's not a new glyph. So hopefully, is there a way to sync the contents? Nope, apparently not, it's not very useful. Never mind if I say grade up, I think it'll do it. So presumably, this is exactly the same thing, but it's gonna effectively sort it. Oh, and wait, did we do the dietic? No. We have not yet, no. Obviously, Daisy. Well, I guess while we're here, let's do monadic grade up. Okay, I think that's enough for that one. Okay, provides collating sequence, collating sequence for character data. A, N, grade down banana, maybe APL Wiki. Okay, collation order, I see what they're saying. So I think they're saying order it in a way where A always comes before N for vice versa. So grade down, so if we said like this, so this is saying the first element is a capital B, is that right? And then the second element is an N and then an A and then A, oh sorry, capital B, N, N, A, A. So capital B doesn't mean Q in there, so it's not going to restart. Yeah, that makes sense. So it's saying, and remember this is sorting in reverse, right? So it's saying this is the order in which I want the letters to appear. So let's try to come up with maybe a better example, like A, B, C, D, E, F, G. Okay, so I want to sort C first and then F, then G and then F and then everything else. So to sort that, then I say A bracket B. For some reason I'm a bit offended by the bracket thing. I kind of like the squad thing, but never mind. Okay, fair enough. Okay, so now it has, and this is in reverse order, so it's got the C's last, then the G's, then the F's and then everything else has not been moved at all. So just for my own practice, sorted into, well, sorted, B is the sort order for, so I could just say A, is that right? A is sort by C, E. Do you have to enclose it? Okay, oh, which one needs to be enclosed again? Closure is, no, back in 47 we don't enclose. No, we do enclose it. Okay, that's right, yes, yes, yes. Squad expects an enclosed argument on the left or squad into, if you wanna call it that, would be on the right. Okay, cool. Sorry. Well, the other way we could just do it is on the right, right? Let's just do it here, sorry. Squad, okay, enclose, which is a shoe, which is this one. Should it be the other way? Should it? I think so. So A is the thing where indexing, indexed by enclosed B. So the examples they give in the docs, or is it the APL Wiki? And the APL Wiki are good because they're using things like quad A and that contains the alphabet. So that's saying to it in the alphabetical order. And we haven't done this yet, but I know it means mirror, flip, rotate, whatever. So this is A backwards. So this would be reverse alphabetical order. Okay, great. Let's do these, shall we? Okay, I think broadly speaking we call these rotates and transpose. Okay, this is called this percent. Oh, that's nice. It's next to it on the keyboard. I think all three of those are gonna be the percent, the up-care and the n-percent, so five, six, and seven. Very handy. Where do we define our matrix here somewhere? Here we are. All right, not much to talk about this one as far as I can see. Diatic, I see, rotate. Makes sense. Okay, so this is just taking, so might be easier if we do one at a time. So this will take the first element from the front and put it on the back. Oh, it's rotating them. It's like, if you imagine that they're in a circle, it's rotating them around one. So that's gonna be doing by three. This is going in the opposite direction, taking stuff off the end and putting it at the front. This is doing it for each row. And this is doing it by a different amount for each row. Oh, magic. I really wish they used broadcasting in APL with the same rules as NumPy. They make stuff like this so much, you know, more consistent. It did broadcast in 82, no? What's that? In 82, it did broadcast. In 82, did you say? Or 82, line 82 in your script. Oh, it always broadcasts scalars to rank anything arrays, but it doesn't, in any very general way, broadcast vectors to matrices, for example. So for example, I don't believe you can do this. No, very.  Whereas in NumPy, there's a set of rules and they're also super flexible in terms of like how they work and any combination of ranks and you can permute, transpose, or add unit axes to get it to do exactly what you want. Whereas in APL, some of them kind of behave like this case, it's kind of doing it, broadcasting each element of the left to each row on the right. The next three has to be the right, the left-hand side has to be three numbers. Yeah, and it just depends. Like this, it works for this particular glyph, but not all glyphs. Like the fact that that doesn't work for plus, I don't understand why they do it that way. So the NumPy broadcasting rules, like there's only three of them and they're just fantastically flexible. And they also work in PyTorch and they also work in TensorFlow, et cetera. Probably chance. All right. So that one, maybe I'm missing something, I don't know. I think it's, I think in both cases, I think it's not really doing broadcasting. I mean, it's just applying the function or it seems like it's applying the function. Right, it's a special case of a function with a left-hand side, which is rank one and a right-hand side that's ranked two. You know, it behaves like broadcasting in this special case, exactly. Rory is an object and so you're probably right. I don't know. Okay. So then there's the one that goes the other direction, which I guess is carrot. Nope, probably ampersand. Yep. Okay. So the first version is like the bar version. Okay. Circle bar. Mind you, it was when I am through Rory, he might want to sleep. Circle bar. He doesn't like broadcasting and new access and stuff. It likes rank, but doesn't know enough about it and make the reasonable argument. My argument basically is that should work. The fact that it doesn't seem like a missed opportunity. Or alternatively, that should work. Like, well, you know, it should pick an access by default and just do it. You can do it with rank, but it just seems like totally unnecessary to force you to have a rank when you don't need one. Okay. Monetic circle bar. By the way, Rory, you don't need new access. You can just use none, which makes it a bit less sporty. Reverse first. So it's only going to make a difference in the matrix case.  So like there's a huge missed opportunity there, which is reductions in NumPy are not very flexible. And there isn't a rank operator. So like the things where you want that, it's missing. I want something with both. Broadcasting, insert slash reduce and rank operator. I think I want APL, but with this kind of like, the rank operator should not be required in situations where NumPy's broadcasting rules could work. I think that's what I want. Okay. It has reduced. I mean, I just Google, I didn't know what. Well, it has a reduce. Right. But it's not nearly like it's, it's not as nearly as rich as reduce with a rank operator, you know. So yeah, it does apply to Ufunk along an axis. So that's, I mean, that's cool. One thing I'm not sure about is the performance stuff around reduce how well that works. But I think it's a lot less rich than, you know, scan and all that stuff with rank. Right. Okay. That's the same. That's what we'd expect. Okay. So I think the next one presumably is going to be transposed based on how it's spelled or how it looks. This is carrot called circle backslash. And it is just transpose. And there was a whole array cast episode about transpose, which Rory's getting excited about in the chat because there's dietic transpose. Although I'm not sure we're going to get quite as excited about it as cognitive because we're all very used to it because it's pronounced for mute in pytorch and we're very familiar with it. So, yeah, so transpose is, yeah, so as I say, there was two episodes on leading access theory and transpose, if I remember correctly, but for people in deep learning, they're extremely familiar because we do it all the time, you know, because in, if you've got a video of 3D reconstructions of multi-channel color data, you've got time, depth, x, y channel, put them in batches. You've got a six, a rank six, tensor. And so when you want to, you know, take the mean across, well, you can take the mean across an axis with an axis argument, but like if you want to do things flexibly, you use dot perm mute in pytorch to put the thing in the order you want so that you can then do everything on the trailing axis. Where else on APL, everything happens on the leading axis, which is fine. We're always asking about doing repeated axes. Okay, let's come to that. All right, so transpose, now the thing I can't quite remember from the chat is what happens when you transpose higher rank. So let's do that as well. And I know all the different array languages do things a little bit differently. So let's start with our matrix, cent, I don't know, parrot. Okay, stop pressing wrong button. Transpose. I really wish we had Python magic and APL kernel or APL magic in a Python kernel because then we could very easily mix and match, compare, you know, with Python, Py and whatever. I think something I've requested and Rodrigo, I believe, is working on. So that would be cool. That's pineapple, no. No, it doesn't have magics. Pineapple lets you evaluate a string. It would be actually pretty straightforward to turn it into a magic. Probably be only like three or four lines of code, I'm guessing. But he did say they're trying to, I don't think pineapples had a lot of love by the sounds of it. That's the way he kind of described it. So I think they're trying to make it a bit better. Okay, this is two by three by four. Actually, this is one we probably want to print out. Okay, so it's, okay, yeah, it's reversed all the axes. So transpose on a higher rank, just reverses the axes. Turns it from 234 to 432. So that's what monodic transpose does. And I believe dietic transpose just lets you say what order you want to put them in, which I think is, I think it's the same as dot permute in pytorch, except that you can repeat the axes, which I don't think we can do in pytorch as far as I know. I guess we could try it. Never tried it honestly. Yeah, I'm curious too. Okay, so let's make annoying warnings. Okay, so we'll create an array. One, two, three, four, five, six, seven, eight, nine. Okay. M dot permute, one comma two. Oops. Oh, not an APL anymore. Okay, that's transpose. No, okay. So can't repeat. So there's a difference. Although of course in, I guess to do that in pytorch, we would use unsum. So unsum can do exactly that. But I do, you know, this is another thing of like, okay, why haven't they made it more general? I guess nobody thought of it. So it'd be, I like it when things are more general rather than what's general. I think we should definitely look at, okay. Oh my goodness. All right. Rory's giving us things to try to confuse us. Let's do that. It'll be fun. So we can do, so to flip axes one and two, two, one, three transpose cube. I don't think we have to print it out. Let's just print out its shape. Okay, so that's what you'd expect. And then for the matrix, we can obviously just do a normal transpose. Now what if we do two, two? So what is that really doing when you've got a repeating the ith element x? It's a new position for the ith axis. Okay. So we need to probably look at some of these details a bit more to learn why that is spelled one, one diagonal. Rory wants us to try this one, which is trouble copying. Okay. So one, five, nine, 14, 18, 22. Oh, that's interesting. Question. If we don't understand what it does, do we need it? I don't think you can know if you need something until you know what it does. No, I know what the opposite is true also. I see. Right. So in the nth position, you can, the maximum you can have is n minus one. That's why we got the rank error. Does the documentation say what it does? Oh, no, it's not quite that. Oh, no, it's more confusing than I thought. All right. So the details of how rank duplicated elements of the left-hand side is something we can definitely experiment a little bit more. Sounds interesting. So probably worth printing this one out. Because it's a bit confusing. Yeah, I can kind of see how this is this. The API explains what it does when there's duplicates. Yeah. Yeah. I mean, the manual tells you all that. I'm not going to look at it in too much detail right now. That sounds fun. Yeah. Okay. Question mark. I feel like we could deal with in the first notebook actually. It's pretty fundamental because it's random number generation. And I shouldn't say basic math operators. I just say basic math functions because they're not operators. Okay. Roll. Oh, I hadn't noticed the non-integer version of a roll before. It's interesting. Okay. So it generates a random number between one and N for each N on the right-hand side. And it looks like zero might be a special case that creates gives you a bloat between zero and one. Yeah. Yeah. Okay. Okay. Different random number generators are available. Why is that not a link? Come on people. Okay. Okay. This is called deal. I know these because I've done them with Claire already. And so that's going to select 13 elements, 13 numbers between one and 52 without replacement. Cool. X random selections from Iota Y. So something which was fun to play with and I won't do it now is if you create a character vector containing A's two, three, four, et cetera, J, Q, K, and then another one containing the Unicode characters for each suit. You can then actually do your cards using this. That's the name. All right. It seems like a good time to stop. Thanks for joining the bonus session. Yeah, thanks for joining us. We're getting close to the end of the glass. Kevin's. I'm fun, but I'm. So after the glyphs, what are you planning to do? In terms of APR. I'll probably pause it for a while. Because I want to do some NB dev live coding. Okay. Yeah, if people can create some like, I think, like the best thing would be if folks could add pros to those notebooks after we're done and maybe create some good Anki decks. And then like, I feel like we'll have a community of people that understand all the APL glyphs and could start to build the next level of documentation on top of that or tutorials. I should say on top of that. I'm also interested in BQN. Something interesting about BQN is that. I think it's got a, you know, smaller meter. Implementation. Like because because APL is a full programming language. Do you say smaller one? Because APL is a full programming language, it's, it's, it's big, you know, it's got all this language is fine, but it's got all this dot net stuff and control flows stuff and, you know, it's kind of like a standard library of things and a web server and blah, blah, blah. So BQN is just, you know, just the notation and the implementation of that notation, which is a bit I'm more interested in. More than regular expression. Might be more suitable for this. Anyway, certainly be interesting to explore to like see how that feels. See the differences. Anyway, I don't have any particular plans. I'd never make plans. Honestly. Thanks again for doing all this. Thanks all. Bye. Bye.


So I'm against mandating vaccines. They're saying that the spike protein There's only the only antigen is the spike protein in the what's it called in the the Pfizer vaccine Yeah, so what you talk about that switch is so subtle. Yeah, you don't you don't know what's in it? I work as a pharmacy technician for 21 years So I kind of know my stuff Pharmacy tech a father right there So I I don't know how you kept a straight face But when you were looking into the camera, it was evident that you were trying so hard to not lose it Tell us about that moment and how you came up with that idea. So my writing partner a producing partner Max Maximilian Clark He's in a lot of these videos with me. He and I do these things and he had the idea he's like having talking to a corn dog and Then we sort of like riffed on it from there and we thought there's other later videos where we like You know like with the one with the trucker rally It was like we want to like be referencing the thing that they're talking into because we start with the corn dog and then we went to this anti-vax rally in Michigan with a Corn on the cob and had them speak into the corn and what's crazy is that we introduced We came to this anti-vax rally waving around this corn on the cob and we go we brought corn for the sheep Those vaccinated sheep, you know get it cuz sheep eat corn sheep don't eat corn and they were like Oh, of course because sheep eat corn and we were like in our heads.   That's it's like three months of night school like what this is not you're not a doctor Like and she's like, you know, I'm a pharmacy technician. So I know a thing or two about a thing or two We're like, oh and that's sort of like the people that you keep meeting and you're like you're not like if maybe they are But they're like sort of peripheral in the anti-vax movement.  It's a radiologist and I've had like a radiologist tell me like listen during quarantine You know my radiology thing wasn't that busy. So this COVID thing is not real and I'm like Like why are you telling people this? That's like patently like yeah people dying of COVID didn't need an MRI like oh my god Like like okay. Wow. You cracked the case Like oh my god, each state is you know, so Behind it. Okay. The whole story behind that actually makes it funnier because clearly somebody who's an expert a self-proclaimed expert would be savvy enough to Recognize the fact that she was speaking into a corn dog. I just that just that I'm glad you told me that because that adds to it So we we have to we have to now go to the trucker convoy because you did that again Let's do this with a Tim Horton cup. This is now on your tick tick tock I I hope that you can give us some more details about this I love this and really keep in mind viewers as you know They're talking more and more deeper into the Tim Horton's cup, you know, the volume just fades and it just it's so funny. So Without further ado, here is the latest greatest hit Stand up for our freedoms So show the government that freedom matters. We're not just gonna give in to tyranny But we see what they're doing. We see what our eyes are open. It's pretty obvious what they're doing I think everyone can see it. You guys need to fight for your freedom because there is an underlying agenda that's going on I don't know how much you know. I'm not gonna get into that.  We're awake now. Our eyes are open Okay, you gave them I have to pause her for a second. You gave them so many opportunities Oh and the best part is like so there's an activist that was there With me showing me around the whole trucker camp thing and showing me how to navigate this wonderful activist Karima and She's been fantastic. She's been there since the beginning and She's watching me do this and she's like how how are they not seeing this?  You've got the freedom gear on you you often will bring like maga hats You'll wear the like the the camouflage. So they don't suspect it.  I don't think people understand what's happening at the trucker convoy. It's It is the largest maga rally I have ever been to Explain that because this is one thing that I don't think people understand Ottawa is now a maga rally And we're seeing Confederate flags entire Nazi flags forget to forget all that forget all that I mean those people show up one or two of them shows up and Those people okay, so everyone all the bad actors Is dismissed by that group as you know infiltrators and Tifa You know they just any bad behaviors like well that wasn't us obviously that was of course that was just Tifa Yeah, that's all of it just outright outright. Nope. Um and They like to brag about how peaceful this is now the cops Leave them alone. Okay, so what you don't understand So there's all this there is it is kind of annoying to me like I see a lot of these liberal outlets You know saying like oh like well they towed these cars in Ottawa. They they You know took down this part of the you know protests and I'm like no no no a lot of it's the infrastructures Very much there they have embedded themselves in Ottawa And you have these truckers with massive rigs that have they're not moving And the law right now is when you're convoying when it's three or more trucks Uh You know convoying that's when they can take legal action. They can arrest you ticket you Heavy fines all that right now. They're idling and they get one ticket a week for $50 canadian Instructor $50 once every week That just give them one ticket We and me and these are people that and they're like well, we're not blocking the interest They're blocking not the interest they're blocking like entire streets and they'll be like four massive rigs like Like just back to back They're not going anywhere and I remember like people are sort of making fun of me on twitter I was like, I don't really believe this news that things are getting pulled out. I was just there yesterday I don't I don't think any of that's happening and they're like you think they can't tow like a rig and I'm like Yeah, you can tow a rig But you you can't tow four of them on each block In a very and these are narrow streets.  It's maga. It's all maga All of them are maga all of them You know, you just talk to them, you know, they don't believe the election Uh, they don't believe Joe Biden election. A lot of them get their views from uh, there's rebel news, which is the oan of canada Yep They know oan they know newsmax to do this so on its face and and on its face It seems like really like jolly and but but that's because they there's no opposition They've taken over the city.  It's also incredibly cold there. I don't know how anyone would have a fistfight So if this were the summertime, I think there'd be a lot more fistfights because you'd have a lot of these canadiens getting drunk and Definitely fighting because um, so I went there with a guy anthony walker Um, you should follow him Uh, he does what I do But in canada Okay, interesting. Yeah, he was hey, he was you know helping me navigate and he's canadian and all that So and he was just saying that he's like, yeah, definitely. He's like we don't we drink here in canada, obviously But you know, we drink a lot less in the winter because we're all very aware of like that you can just die And it was incredibly cold. There was a blizzard going on while I'm giving these It was like negative degrees like after every interview like I I would be like You know, like I was like, I'm about to get hypothermia right now. Oh my god. I couldn't be there with the microphone I was like, I was like, I don't know how I'm getting these interviews uh The the weather is part of the uh resistance and counter protests to these uh trick or convoys It seems you know, it's interesting how you characterize this as basically an extension of maga It feels like over this last a couple of years during the pandemic Americans have exported our stupidity And it's not like anti-vax movements is something that's unique to the united states. It's occurring in europe It's occurring everywhere But the way that canadian hogs have essentially emulated the american tactics and you see the american garb there A confederate flags don't tread on me flags It's all it's all really interesting and the subtext with all of this is that you know, these These truckers if they were indigenous protesters protesting a pipeline, um, they would be gone like that We all know this so there there's absolutely that element there that's so important And one other thing to keep in mind that a lot of people don't realize is that The overwhelming majority in truckers of truckers in canada They don't agree the biggest truckers union. They disagree. So this is a very small local minority They said that like i'm so i have an interview that i'm trying to edit that i'm gonna upload i've actually been Sort of conflicted as to whether i should upload it because i'm a comedian and i'm not a journalist and it kind of frustrates me sometimes that You know what i do winds up being journalism and i'm just like this is this is Terrible that our country has reached this level where i'm a journalist Because i was like i think that's just absurd and one of the best journalists honestly I went into this guy's truck. He had been there since the beginning got this whole ass interview with him And now it's like all right, you know And he told me and he explained everything In terms of like how much gas they go through for idling every day because they have to idle And he explained how the cops are just doing nothing Like it's for his words like the cops will do a show of force A show of force Just to you know, but mostly they privately tell him we're we're with it We're on board like interesting There's even a video circulating twitter right now showing like the cops lining up to shake Their hand at the border And everything and so it's it's a it's a lot. So yeah, i mean i have this thing with this this trucker um Yeah, where he's explaining just everything in terms of how much they're paying an insurance How much this how much they get? fined every week How they're getting donations? Also, it's pretty weird that the people that are headed the heads of this They they got eight million dollars and that has not necessarily trickled down To yeah the truckers Yeah, and it is it is very interesting and the cops are are there There's you know provincial. There's you know the version of federal and everything um And and it's and it's also here. This is the craziest part I i'm sorry if i'm mansplaining like anything here and if you already know this whatever but like So I just learned this this weekend. So they their constitution is different.  No trudeau trudeau and this is this is trudeau's fault But trudeau actually cannot lift their provincial mandates. It is their conservative premier of their governor That is issued to mandate Cannot override him Interesting. I did not know this Yeah, and i'm like but that that's that's It confirmed what I what I walked in there thinking I was like I have a feeling this has nothing to do with vaccine mandates This has everything to do with being a flashpoint for sort of maga hyper nationalist fascist Stuff and it's I mean it's a very effective way to get everyone together It looks like it's you know this populist labor movement I didn't I've not once you know You know heard them, you know talk about you know better working conditions for labor and all that stuff better wages anything like that And so and to your to your point um original point you said, you know that the unions have condemned this And the trucker basically said yeah the unions condemned us because the unions are in bed with the canadian government And he's just like and so it's just dismissed.  You won't regret it