 Hi there. How are you doing today? Hello. Hello. Hi. How are you, Serada? Hi. Are you in Davis? Hello. Yeah, I actually live in Sacramento, but yes, I go to UC Davis. Yeah, I'm in Placerville right now. I don't know if you know what that is. Oh, okay. Down the street. I know Pleasantville. What are you doing there to make sure? Placerville. It's my wife's grandmother's house. Oh, sorry. I guess I misheard what you said originally. Are you just here for a little bit or just for vacation or something? Actually a little over a month. Oh, okay. I have family here. So you're in the same time zone as me? Yes. Yes. Yeah, I know Davis pretty well. Spend some time. Okay. Yeah, I've been there. Well, yeah, I mean, my dad works in Davis as well. And of course I go to, I've been going to school at Davis and so, yeah. So you commute? Yeah, yeah. But I don't, I mostly work from home anyway. Now that I'm focused on my research and given my research, it's all deep learning stuff. I can do most of that from home. So I mostly work from home. But yeah. Anybody got any APO news or anything else interesting happening? Well, I was able to get a simple CSV file loaded and hopefully grab a moving average. So that was exciting. That is exciting. I'm going to share my screen so I can show people. Oh, there's quite a lot here, actually. What was that? Is that in study group three? That was in tabular data. That was a cool assignment thing that was very helpful about developing though. What was this one? The bottom of this assignment. Yeah, I was able to kind of assign things to the display, the special character, and then that let me print out different parts of the formula in order to... Oh, you mean you've got quad in the middle? That's right. And so, real get printed whenever it runs, but six will get assigned to z. That was pretty handy. So quad doesn't have to be the far left thing. I mean, of course it doesn't when you think about it, but I hadn't thought about it. So it's basically like a print statement. You can chuck it anywhere you like. Yeah, which is really nice that we're trying to debug what you're doing. But tabular data was where the post was. And I love that you're using the quarter thing to publish it too. So, okay, so you've got an end of day quote data CSV file. So I noticed dialogue has, okay, so you said dialogue has a CSV thing built in. So do their built-in functions tend to start with quad? Is that like how they spell them? I think for a lot of the IO ones, I think, I don't really know for sure, but I know they've got like a CSV. I think they've got an XML and a JSON as well. Unfortunately, they don't have anything for like Dave Peggs or these are images, but they've got a few starting with quad. Got it. The way that you exit out of a dialogue is using quad off as well, like capital it is off as well as the OF or off like OFF, got it. And I guess this is like indexing the first five by three bits. That's right. Yeah. Okay. Looks like you need to make this a markdown. So oh, then you're doing some masking with booleans. Anyway, I don't understand all the stuff yet, but I guess we'll get there. If I could walk through it, there's something that you could like where we can Yeah, I'd rather walk through it once we know all the glyphs. But look at that. You've got a plot. So that's great. And right square bracket seems to be another thing that's used for kind of like, I don't know, I think they'd like be not APL functions for their dialogue commands or something. These right square bracket things. Yeah, I'm not really clear all the conventions for what all those, you know, mean and when to look for something in right square bracket versus there's some that are right parentheses and others, but I'm not really sure what the difference between them all is. Yeah. And is this, is this basically indexing into the indexing the third column and all the rows? Is that what that means? Okay. So that would be the same as colon comma three in pie torch or num pie. Yeah. And I guess this is just printing out the fact that it didn't return anything, which you could choose via a null array. Well, that's awesome. So yeah, I'm hoping to build up more complexity over time and this and eventually I'd like to get a random forest going, but that seemed like a course, not a good first step. So no, I mean, I know trees are something which like people say APL is really well suited to, but it doesn't feel well suited to, and you have to kind of learn the tree techniques for APL, which is something I'd be fascinated to learn about as well. So yeah, one day. I wanted to have a quick diversion. If you guys don't mind, and it's something I just thought is a great value, which is I've mentioned Anki before. Do any of you guys use Anki or SuperMemo or any other repetitive space learning things? For learning vocabulary, right? For remembering literally anything. Yeah. So, all right, I guess, let me explain. Because like this is not exactly APL, but it's also like the most important single thing I know of learning things. So including APL. So there was this guy called Epping House who developed this idea or discovered really this idea called the forgetting curve and yeah, as it says here, it's from the 1880s. And basically what he did was he set up this really boring experiment where he had to try and remember a list of random sets of letters, like look at them and then remember them the next day. And then he tracked over time like each day how many he remembered. So this is like the percent that he remembered and this would be like the day. And yeah, it like followed this kind of shape, right? Where actually it's trying to redraw that this kind of shape. So like he discovered he forgot a lot of them really quickly. But some of them stuck around. And I mean, it doesn't ask him to, of course, it goes to zero. Should show it going to zero. This is actually already interesting in itself because like a lot of people, particularly adults, I find feel disheartened and frustrated when they forget things and they think it shows that they have a bad memory. But that's not true. Actually, all humans rapidly forget you things that we learn. And so then what he tried doing was saying, well, what would happen if he restudies his random sets of letters one day later? And to restudy them, he basically, he gave himself a quiz to try to remember them, right? And then if you didn't know the answer, you would check it. And so, of course, immediately after that is he was back to 100%, well, you know, 100% ish or whatever his kind of base recall level is. And of course, after that, he started forgetting it. But interestingly, he didn't forget it as quickly. And then if a couple of days later, he gave himself a quiz again, and then followed to see how long he remembered things for, it was flat as still. And if he did it again a week or two later, it really hardly started, you know, found that it's hardly forgetting things at all. And so this is the key to remembering things basically forever. And there's a absolutely amazing website that nobody knows about called SuperMemo. And so SuperMemo is software. But it's also this, there's heaps of research, basically, it's by a guy who's dedicated his whole life to using this technique to remember as many things as possible and to basically organize his whole life. Got all these rules of knowledge formulation. So the guy's name is Peter was yet and he's absolutely amazing. So he actually rediscovered this stuff from Epping House independently, but then has greatly developed it over the last few decades. So there's this piece of software called Anki, which you can just say, okay, I want to learn, I want to remember something. So you give yourself a quiz question, right? So for example, if you want to remember what monadic plus is on a complex number, you can like, you know, type in some something like that. And obviously, I should use a proper negative, but I'm not using an APL keyboard here. And then you put in the correct answer here or whatever. And so then you'd say add and it creates a question. And so what then happens is next time you open Anki, and you say, and you'll say study, and it will start showing you your questions. And if you get it right, you can say it was, you know, basically either hit one, two, three or four to say, I got it wrong, or I got it right, but it was hard. I got it right. It was okay. I got it right. It was easy. And you can see here, if I say I got it right, and it was easy, it's going to be about 10 minutes before it shows it to me again. That's because this is new, right? And then the next time I do it, if I get it right again, it'll give, it'll be a day. And then if I get it right again, it'll be like four days. If I get it right again, it'll be like two weeks. But once you get it right, like five or six times in a row, it'll be a month or two before you see it again. Because it's, because the thing about the forgetting curve is that the better you know something, the less often you have to revise it. So this deck is actually my daughter's and her friend, so Clare and Gabe's deck. I just got a little bit of it here. And so you can browse it and you can see, like, you know, we've got things like fractions. And we've got things like the successor function. And we've got things like bind and out of product, because they're doing both math and APL at the same time. I guess a bit like us, but they haven't done lots of things before. So yeah, so I've got something here saying, oh, what's happens if you do divide, jot, divide, call that f, and you call f of that. And that's where we'll learn that basically you actually get that same thing, because that means reciprocal or reciprocal. So I try to come up with questions that force them to, like, both remember the technique, but also, you know, utilize some thinking. So yeah, so Gabe and Clare, if they remember, or if their parents managed to convince them, they try to do their Anki every day. And at first, it was like a bit of a struggle to get them to do it. But now that like, we've been doing it for a month or two, probably more like two, there are things they learned a couple of months ago now and that it gets popping up on Anki and they press good and they can see that they won't see it again for like three months. And they're like, oh, this is awesome, you know, so it's gradually getting easier and easier. Anyway, so I just wanted to mention this, because given we're all learning something new, this is a good way to remember, you know, the alphabet of glyphs. And so I actually used this for Chinese 10 years ago or something. Yeah, and the reason it's impossible to forget something is if you say I got this wrong, it resets the forgetting curve back to showing you again tomorrow and then three days and then five days or whatever, you know. So as long as you do Anki regularly, it's impossible to forget the things that are there. It doesn't mean that it's important to only put in things there that you really do want to remember forever, because, you know, otherwise, you're going to be spending all this time quizzing yourself and stuff that you actually don't care about. And you can always go back and delete things, but you know. Hey, don't forget to tell me things vocally rather than putting in the chat. Okay, so in the chat, Tanishk mentions that Radek has this nice thing called AI quizzes, which is really cool. And this Radek on the call, how did you, if it is, how did you get this spaced repetition going? Is there a Python module for this? I implemented it in Ruby on, I think it might be on the SuperMemo website. Oh, you use the algorithm they have, yeah. But the algorithm is there, yeah. They've got lots of algorithms, right? Like SuperMemo algorithm version, whatever, SM17. So there is, yes, there is, I think some commercial product from what I remember. And they use some version of the algorithm there that is not published. But the earlier version had published and I made some tiny modifications to simplify it. I see. So he put it in. Can you hear me? Yes, I can. Okay, okay. So can you click on the first link that I sent on the chat? Absolutely. That is the best thing I have yet found on the topic of spaced repetition. Great. Thank you. And hello, by the way, Rishal, is it? Yeah, yeah. It's nice to see you. Thanks for joining. Where are you joining us from? From India. It's 5.30 in the morning here. All right. We're about in India, are you? Kolkata. And I know Koreans in India as well. And India's all one time zone, is that right? Yes, yes. So it's somewhat impractical because the time it is almost like midday in some parts, in some parts it's barely daylight. Yeah. Yeah, Australia is like, God, so many time zones. This is the first time I am actually adjusting to Australian time zone because before I adjusted to American and European. Yeah, we do that too. So like a lot of the stuff we do is in the US. So we have an early start and an early end to our day for that reason. All right. Thanks for the tip. Do you miss things about the... So have you seen, there's like some work by Michael Nielsen, I think. Like there's a, I think like a quantum computing book, but it was like all with spaced repetition. Yeah. It's called Quantum Country. Yeah. Quantum.Country. And yeah, I think he has a lot of discussion about, about space repetition and things like that as well. Yeah. Yeah. Yeah. He came for a pretty late, but he... So if you just put on the address bar, quantum.country, that will open the site. Just quantum.country. Yeah. Yeah. Yeah. Michael came to a space repetition pretty recently, but he tends to get into things deeply when he gets into things, which is great. So yeah, him and Andy. So Andy used to be at Khan Academy. Nice. Have you been using this for APL? No? The Ankisa? Only... Yes, indirectly, because I help my daughter with her cards sometimes. So therefore I end up doing it as well, which seems to be enough because I haven't forgotten any glyphs yet. If I do find us out for getting some glyphs, I will. It's very my own. I just want to point out, like when I was working with Jeremy in the beginning, I used to complain that, hey, I like, I can't remember stuff. Like Jeremy would also tell me sometimes, hey, you don't remember stuff. And then I would also say, hey, I feel like I don't remember anything. Maybe I'm just dumb. He actually sent me some books. There was one by Barbara Oakley, for example, who also does the Coursera course. Like I think it's the most popular Coursera course, learning how to learn. But it's really interesting. And then he sent me another one, like their guide's like a professional memory. So Ed Cook was the World Memory Champion. And he actually created a startup called Memrise, which actually adds an additional thing, which is if you want to really remember things well, you need a mnemonic for them, something to make it click in your head and preferably connections to other things, which actually for APL is easy because most of the APL glyphs have their own mnemonic already. They're drawn that way for a reason. But he actually specifically did this for Chinese to make sure that each of the Hansa characters had some kind of mnemonic picture and stuff. And then, yeah, so Ed Cook also was the topic of a book, Moonwalking with Einstein, which is a really nice book. And it's one of those books that might help you change your understanding of yourself because Josh is a guy, he was, I think, a journalist at the time, who thought of himself as somebody who had a bad memory. And he teamed up with Ed Cook to learn memory techniques. Yeah, so the whole book's kind of all about his journey. And interestingly, Josh actually went on to create something you might have come across, which is Atlas Obscura. If you've seen that, it's a very cool website full of interesting things. Thanks for letting me have a little bit of a diversion. So I had one question about maybe a little bit more about the history and terminology of APL. For example, I think yesterday we had gone over the Zilday symbol. But it technically looks like a theta symbol, right? Not quite. It's got a squiggle. It's a squiggly theta, yeah. So I guess, but I'm just genuinely wondering where did these names come from? It's kind of completely unlike what it should be called, like if you're looking at the Greek letters or whatever. So I'm kind of confused from that. Well, okay, so I mean, this is not the Greek letters. It's not wrong. The ones that are Greek letters are correct. So alpha is called alpha, iota is called iota, and omega is called omega. There is a thought that even those shouldn't be there because they give preferential treatment to people of kind of European backgrounds who might recognize Greek letters. But generally, so they were all created by Ken Iverson and his wife. And I think like his wife, like Druther or something. And they're designed to be, they're designed to be mnemonic, right? So for example, equals is the equals we recognize. And it means that one, two, three equals two, two, three will do a element-wise equality in returnable in. And like this one here is like extremely, extremely, sorry, I always forget. Okay, so one, two, three equals two, two, three gives o, o, one, because it's element-wise equals. And yes, I was just showing you on this order here that it's actually not a tilde. And so this one here, I kind of think of as like extremely equal to because it checks whether two things are exactly the same items and exactly the same shape. I believe something like that. Yes, it checks whether, as you can see. So exactly. So that example one, oh, I should change, I got the wrong symbol here. So is it? There we go. Okay. So these are equal. And all right, one equals, is extremely equal to, is false because they're different lengths. Where else is normal equals two is like broadcasted element-wise. So this is kind of like mnemonics, you know, and then obviously this is the like not version of that. And then some of them are kind of like borrowed from other areas. A lot of them are just drawings of things. This is the thing on the left hand side of a function. This is on the right hand side of a function. This is the biggest thing and the littlest thing. So yeah, they made them up, basically. And then somebody, I think in the chat, Wasim says, Zelda is a potmanteau of zero tilde, which is exactly what it is. It's a zero with a tilde through it. So were they, I guess, when these were created, because like these are all Unicode characters, right? So they are now. They are now. Okay. So before they were not really part of Unicode. So one of the things that really helped a lot was there are these things called golf ball typewriters. I don't know if you've ever seen them, but they're just, they're like normal typewriters. But instead of like lots of little different things that bang, there's a single thing that spins around and goes up and down to bang. And there was a APL, one of those that was created. And apparently that helped a lot because then people could easily type set things. But until that time, my understanding is that Ken and his wife, I can't quite remember her name, Jeanette or something. Yeah, they basically would draw them and then stick them in the right place and type set in that rather old fashioned way. So yeah, it must have been a lot of work. But I think most math was probably done that way anyway. So yeah, they ended up becoming part of Unicode. But of course, you know, fonts, most fonts don't have all Unicode characters in. And so if you're wondering why it is that you can look at like a webpage or something with APL characters, even if you don't have an APL font installed, your computer, your operating system behind the scenes tries to find any font that contains a character that's needed, and will generally show it to you using that font if it if it can. And it only falls back to the kind of like question mark or box if it can't find it at all. There's a really actually a really great font. It's kind of like my favorite coding font in some ways anyway, which is Josephka. And Josephka extended contains all of APL in quite a nice way and pretty much everything else. And it's a really nice font. So if you're ever wondering what font to use for your terminal, picking this one is not a bad choice. I don't know how they created so many characters and variants. Quite amazing. Okay. How did you learn about that font? Ah, you know, I tend to learn about everything mainly from Twitter and then some things from like Hacker News and some things from like following links from one of those places and finding things. Okay. So, all right, so we've got a kernel running. I don't think there's probably anything to pull. No, there is. That might have just been GH pages. Have all or anybody, do you know if there's a way to like ignore a branch? Like, I never need GH pages locally, right? And that's going to update a lot more. I only really want to pull master. I don't know if that's possible. I thought we could do like some Boolean stuff today, if that sounds all right for everybody. So these are all pretty straightforward, I think, unless some of the monadic ones are weird. Looks like equals doesn't have a monadic version of language elements. Oh, if anybody's interested, oh, okay, I've got a couple of ideas for coding projects, if anybody's interested. The first is this here, when rendered, is an APL character in Bactics. I think, ideally, we'd want it to automatically hyperlink to the dialogue documentation. Wouldn't that be cool? So, if we went to here, here, yeah, it would be nice if these were all automatic hyperlinks to the documentation. So if anybody's interested in trying that, the way you would implement it is, we're using, well, I think Isaac's about to change this to use mbprocess. And in mbprocess, which is going to become mbdev2 in a couple of weeks, there's basically a list of like processes, which are like all the things we do to change cells. And you can see each one's normally just two or three lines of code. That's one piece. And then another piece is doclinks, which is the thing that does this in Python. So in Python, I've got something, I guess it'd be better to look at the notebook, actually, doclinks. So you've probably noticed that in mbdev websites, we automatically hyperlink anything that's in back ticks. So here's an example. So in the source, this just said back tick numply.array, and it's automatically been hyperlinked. And the way that's done is we use linkify. So that's the lines up. It goes to each line, checks whether or not we're in a fenced area or not. And then once we find the right lines, we create links in them, which is done using this class. So yeah, there might be somewhere to do that in APL. So that's one idea for a project. Another idea for a project is Anki is really useful for me as a teacher. But I have to use this kind of hacky approach to use it as a teacher. So I've created a deck for Gabe and Claire called SuperSchool, and they both also have decks called SuperSchool. And each time I do a lesson with them, I add some cards to the deck. And then I go file export. And I then make this a collection package, sorry, a deck package containing just that deck, and I export it to a file. And then I send them that file, they click on it, it opens, and it imports that into their decks. So it means that I can create cards for my students. In this case, it's Claire and Gabe, and they can import them. But we each have our own independent decks. So it means they can add stuff to their deck that I don't have in mine or study other topics or whatever. So this project idea is make this all much simpler. So Anki does actually have an online version, Anki Web. So there must be, so there's an API for syncing with it. And there's quite a few versions of Anki that are open source. So I guess it's all documented in API. Yeah, maybe it'd be nice if there was some way maybe through some online interface to add cards, and it would automatically like send them off to each person or something. Yeah, some easier way for teachers to send cards off to their students. And there's lots of stuff you could add to that, right? You could then like add some way for then teachers to actually check how the students are going, make sure that they're actually not behind. Because what happens is if you don't study your cards, then this learning number will go up and up and up. And then the other thing I have to do is after each time I export, I then have to go and browse and delete all the cards that are there so that the next time I export, I'm only exporting the new cards. So there's definitely room to create some kind of cool system for a more collaborative learning approach with spaced repetition, which I think could leverage Anki. And Anki's written in Python, by the way. Anyway, that was a little aside. Okay, so equals, my guess was that this most equals. Yeah, is that it? Yeah. It's confusing with the underline. Okay, so there's no diet, there's no monadic equals. I might just make this into a little template that I can copy and post. Okay, it'll save you some time. Equals, and it's called equal sign. Monadic doesn't exist. Okay, diatic equals means equal to. All right, so one equals one. Oops, one equals one two. One equals one one. Any other interesting examples? Oh, yeah, strings. So probably useful to think about why this works. So this is remember is a special case. It's a, it's a character. You know, it's a single character, where else in there's more than one, it becomes a array of characters. So this is a single character. So it'll be broadcast over all these characters. And so it'll end up being the same as banana equals. And then oops, you don't see. It'll be the same as that. Every second, let the banana is in a something I didn't know before. I think if you, if you do this equals a, and you have a list of words, so like banana and apple, I think it will still go, I think it will still go element wise through each one, rather than looking at that higher level, I think. No, sorry, I meant the banana and apple on the left hand side equals a, I think. Oh, okay. So you're not saying, you're not saying this, you're saying this. Okay. And so I can tell you why that is. That's because a scalar can broadcast over a matrix. And I think that that creates, I think that's like internally a matrix. And so then if you do equals apple, it will not find apple, I think. Hang on, let me just get my thing going here. Oh, that's interesting. That's three things. Okay, I'm a bit confused about strings. Sorry, what were you saying we could do? Yes, I think now I can do like the same banana apple candy is equal to apple. I think it will not, it'll also do element wise. And so it won't find any, right. I had a lot of problems with this and the moving. Yeah, so NumPy broadcasts vectors over matrices, whereas APL doesn't. So at some point we'll come across something called the each operator, which we'll work around that problem. All right, cool. And actually to make this more consistent, I should run everything above, not quite see, because this is in the way, so run all above. You know, we could almost generate a, we could almost generate an Anki deck automatically from this notebook figure writing, Jeremy. Oh, wow. That would be another interesting exercise. Love it. Yeah, that would be sweet. All right, I will try to continue to write it in a way that would make sense to do that. I certainly think so far it does. Okay, that's interesting. So not equals does have a monadic version. And I think it's going to be helpful during the Booleans quite early because you use Booleans a lot. And when we say Boolean, we mean arrays containing zeros and ones. Oh, wait, how did I get to there? Not equals. I don't see them mon, wait, monadic, not equal to not defined. Monadic, not nearly equal is unique mask. Whoa. Okay, that's crazy. Oh, look, this is 17.1. What if I type 18.2 up here? Huh. Okay. Oh, that's a bit tricky. Let's see if they also now have a monadic equals. Things are changing. That's cool. They don't. Okay. Monadic, not equal means unique mask. This is one of the things that happens when you search for documentation using Google. It often returns the older version. Yeah, exactly. Yeah, so it looks like you can use, you can use close, but right square bracket help followed by a glove and then it opens the dock. Okay, great. And does that even work here? Sorry, tell me what to type again. Help. Yep, with a capital H. What does it matter? I don't think it matters. And then the glove. Oh, love it. Okay, that's that's a winning trick. Let's put that up here. All lowercase works as well. And I think with this string, the broadcasting only happens for only one character, I think. So can you say that at this point? Well, I want to learn more about exactly what's going on. And we actually haven't talked about broadcasting at all yet. Yes. So like in NumPy, they do whenever it is compatible. Yes, it doesn't matter. That's right. NumPy does what we would call trailing axis. So NumPy as long as the last axes are matched, it will broadcast over the leading axes. J and BQN do the opposite. So they will as long as the leading axes match, it will broadcast over the trailing axes. APL does neither APL only broadcasts scalars or does element wise of matching shapes. So otherwise you have to use this thing we will come across called H. So I think we'll leave broadcasting maybe until we get to each. No, I think I used a close for that. So now I'm questioning if I do it the right way. Oh, well, I'm not, yeah. Because I haven't gotten to it yet, I don't actually know the fully correct answer to this. So I'm sure you know more about it than I do. Here we are. Well, I don't know that each operator, so I think I'm distance. So there's this, yeah, they call it H on that. Yeah, Jay has some more. Oh, I've used that. Yes, I need Enki. Um, quite right. And then there's also rank. I don't remember which one is rank, but anyway, let's, let's get to that when we get to it. Okay, so we've got to figure out what not equals does. The unique mask. Let's start with their examples. Now that we know about strings, their examples are going to make more sense. And so control shift dash is very useful for splitting a cell and then control or Apple left square bracket to unindent. Okay, I can already see what this is. It tells you whether or not the thing in this position, whether we've seen it before this list. So that's unique so far. That's unique so far. That's unique so far. We have seen that before. So it's a zero. And so presumably at some point we're going to learn how to use this to access just the elements of this, which are true. And then that'll be how we would create a unique list of elements. Yep, if it's a first occurrence, got it. Yeah, I think it's nice to have a numeric example as well. Okay, we happy with that? Okay, these all look fine, I guess. Okay, so dyadic eight, not equal to oh, I suppose I should have unindent all of those at once would have been faster, but never mind. I'm not sure this one adds much. Keep it simple as possible, shall we? Okay, and zipping along with the easy ones. So these are presumably going to be easy as well, although the monadic versions, maybe you odd, we will find out. Oh, okay, that's easy. Less than, less than sign, less than. Okay, so what I should do actually is do that, and then that, and then that, and I assume greater than is going to be the same. All right. Is the broadcasting supposed to work just like characters even here? Yeah, yeah, this is just a one element. This is just a, sorry, this is just a scalar, you know, a string. So not there, not there below. Yeah, for less than. Yeah, it should be exactly the same. So we've got a scalar here and a list and an array here. So the scalar will broadcast over the array. Okay, so if we have a matrix and a vector done, got to work. Correct. Without using each, but we will get to it. So let's, we'll get there. Greater than. I guess it's fine. We've got some which are a bit trivially easy because fast. All right. So what are the greater than equal to is are they all there? All right. So we may as well just copy this just say less than or equal to just then work it off. Just then or equal to greater than or equal to and or equal to and how do we type these six and four. I see. So we've got four, six, eight. Is this one four because it's the smallest? Yes, it is. That's good. So this will be six. And then we'll need that here as well. And six. Okay. All right. I guess we're up to this one. Okay. Yeah. So when a character is the same as another character, but with an extra underline, they use the word underbar. So for example, there's an iota underbar and there's an epsilon underbar. What other ones are there? Equal underbar. There's one. Left shoe underbar. I think that's it. And this is comma bar because it's not underneath it. Okay. So equals underbar is colon underbar. And the monadic version of that is depth. And the dyadic version of that is match. Okay. Depth. That's not quite right. Let's see if we can guess first. So can anybody figure it out? Depth is seven zero. Maybe see. Is it the same as rank? Not quite. Oh, this is like not consistent. What does that do? And what about this? What does this do? Okay. We're going to have to introduce something new first then, which is arrays and arrays. Let's see. Where's a bit close to put that? Should we have like a complex object section or something? Like the basic object? Maybe. Just fixing up. I always get these heading levels wrong. Basic objects here. I'm just going to say some objects. And then we can say arrays in arrays. Yes, because we don't need to know about matrices to do this. And I think single characters and multi-length characters are handled differently and nest differently if they're mixed with numbers. Okay. Let's got some examples I could use. So if we've got like one, two, three, four, A, B, you mean something like this? I think if you just do like even without the parentheses, like one, two, three, four, A, B, I think it will nest the A and the A, B. And I think it does something a little bit different if you just do one, two, three, four and then just A if I remember right. That sounds right because it wouldn't be a list. Okay. So the reason is actually is that this one here is identical to this and that this is actually an array. And so this is actually an array. So this is an array containing array. This is also an array containing an array. And so let's move this one up here. All right. Great. Seems like a good place to stop, I think, match tomorrow. All right. Thanks all. Well, this was fun as usual. Thank you for hosting Jeremy. My pleasure. Thank you for joining. See you again. I have a little something to add. Yeah. So when you said like those characters are in Greek and they actually benefit Europeans, not quite. I mean, if you have taken math in high school, you know all the Greek alphabet. Oh, yeah, I know. Yeah. Physics, chemistry, everything has to be alphabet. But I mean, I've forgotten it all. I have a hard time remembering all the characters and I always mean to go back and learn them and I just never do. I mean, they can get really confusing if you know other languages like Russian, because like the R in Russian comes from the Greek row, but their character is just a P. So that's a huge pet peeve of mine is you have a lot of like redundant characters when you're using those Greek letters. So there's this one of the guys that wrote a lot of the stuff in Dialogue APL left and created a new language called BQN. And one of the things he did in his simple set was not to have any any characters from an alphabet. Full stop. This is better. Which yeah, it was a decision. I mean, I guess these are letters. I don't know why he can justify these exactly, but I guess they're kind of not because they've got an extra dash on them or something. Anyway, all right. Bye, all. Have a good day. Bye.