Conor

We got warblers, we got cardinals, we got golden eagles now.

Bryce

I do love birds and waterfowl, so yeah, oh my goodness, that's correct.

Conor

That's correct. Bright oh I wasn't even thinking about that. Welcome to ADSP the podcast episode 45, recorded on September 11th, 2021. My name is Connor, and today with my co-host Bright, we revisit inverse scans, talk about groups, and talk a little bit about Combinator Bird. Maybe that that should be an episode one day. Not that people care, maybe not. I went to uh three national science fairs.

Bryce

Yeah, no, that's definitely gonna be an episode. How do I not I I I keep learning things about Connor. And you know, it's I've learned enough surprising things about Connor that I'm never surprised when I learn some new savant level thing that Connor has done.

Conor

It's not savant. Although I will say this the start of the story was that I had no intention on trying to get to the national level. Um I just one year I I asked my mom, how come when people break their spinal cords, they can't like fix it? Like you break your arm, you put a cast on it, you're good to go. But like you break your spinal cord, and then you're in a wheelchair for the rest of your life, either as a paraplegic or quadriplegic. And uh she was like, Well, why don't you do a science fair project on it? And uh fast forward like a couple years later, I had finished cutting up some worms and like testing how they regenerated their cells and all this stuff, and I was just this like happy go-lucky. I'd I had uh finished all my projects in a woodworking elective, and so I cut out like a sort of mini life-size human and then plugged in a bunch of Christmas lights to like different parts of the body, and very, very unsafely had this mechanism where I could plug and unplug these little things, and so it would light up like oh, if you break it at L4, like at Lumber 4, like this is the parts that you lose access to. It was super awesome and definitely against all the regulations. Uh and then any I ended up I ended up getting one of the top awards, which inv involved a uh entrance to the Canada Wide Science Fair, which at the time was uh that year being held in uh St. John's, Newfoundland on the other side of the country. Connor Hookstra in grade eight had never stepped foot on a plane before. I had not I had not traveled like outside of the province, I don't think in my lifetime. Maybe I crossed the U.S. border once, but I'd never flown, um, never been on a plane. Well, I guess those are the same thing, but you never know. Uh and so I was so excited. I walked down the whatever the stage, uh, the auditorium down to the stage. I was literally like shaking and jumping up and down. And all I was thinking in my head, like so like literally, all the other winners, they're just standing there with their like trophy. I am like bouncing up and down on the stage like a small bunny rabbit, like an energizer bunny. And in my head, I'm thinking, oh my god, I hope my parents let me go. Oh my god, I hope my parents let me go. Because I wasn't sure if I was gonna be allowed to go. Um, but it was all expenses paid, and yeah, that was uh that was a good time.

Bryce

They they they fly your parents out too, I assume.

Conor

No, no, no. You uh you go with the chaperone. Um and yeah, Chris Gasky uh he he did his on uh genetics uh project on genetics at the time, and so yeah, we became good friends. Um and I was supposed to go travel around with him in Europe. He was doing his uh MBA in in the Netherlands in the past year. And then good old COVID. Good old COVID.

Bryce

He was doing an MBA in the Netherlands.

Conor

Yeah, yeah. He is uh it would have been awesome to go and travel around, but um well, so we we ended up talking a little bit about uh the associative operation back in episode 43, then episode 44, completely unplanned. We just ended up opining. Uh we might have to do another episode. I think the the moral is if you're in school, probably the answer for most of you is to stay in school. Should you go to school? Stay tuned for a future episode, which I guess at that point will be planned. Um I was gonna bring up one last thing, which maybe I should cut into the first one because it's math related. So we we um in episode 42, had you had mentioned there's probably a name for the mathematical property of the difference between the plus and the max scan. Um, and then we put it to our listeners. So one of our listeners responded via tweet. Um, his name or their name, I should say, uh is Andre Andreas Shotti. I apologize. We gotta we gotta do take a course on how to like pronounce names.

Bryce

I don't I don't think that would help us. I don't think that I think it would. I'm gonna uh whatever affliction we have when it comes to pronunciation, I don't think it's curable.

Conor

Uh at me on on Twitter or or GitHub if there's a course I can take. But um they wrote uh I believe the concept you're searching uh was inverse functions. A function is invertible if it is a bijection. Uh in the case of scans, don't consider the binary operation, but instead consider the partially applied unary function. So for example, if you have 42 plus x or the max of 42x, addition is obviously bijective, but max isn't because in this example all values of x that are less than or equal to 42 are mapped to 42, whereas for plus it's not the case. So like it's a one-to-one mapping for a unary function. So like basically you can think of uh max as like it sucks in, it maps a bunch of different values, one, two, three, four, five, six, seven, all the way to 42 into 42. And so because of that, you can't get back those values. But for a function like 42 plus x, whenever you have a different value of x, it's always gonna produce a different answer.

Bryce

Yeah.

Conor

I'm not sure if bijection is actually what we're looking for. Um so I guess they're saying it's inverse functions. That being said, um, we also got a response on GitHub, and this is from uh Roman.

Bryce

Wait, explain explain explain how we got an ex a response on GitHub.

Conor

Because I said if um if you don't have Twitter, uh just go find uh our so I have um our website is hopes hosted using uh Ruby Jekyll pages, blogs, and so it's it's just backed by like a GitHub repo. And so he just opened an issue. Or they open an issue, sorry.

Bryce

Uh I love it. If you have it if you have any complaints about our podcast, just uh open an issue or send us a PR.

Conor

I've decided that once every 50 episodes, which we're coming up on now, um, we will like quasi-reintroduce ourselves and we'll plug all our contact stuff. Because I don't really like plugging, like, oh, you know, follow us here, blah, blah, blah. If people like it, they'll do whatever.

Bryce

No, no, come on. Shouldn't we shouldn't we tell all the people to go leave us reviews on the iTunes storm?

Conor

No, so I just said we're doing that once every 50 episodes. I hate that's the thing. I I I sort of irks me when I l I listen to 30 plus podcasts, and they're always saying, you know, um, go live go leave a five-star review on iTunes. And I'm like, well, wait, what if I what if I don't like your podcast enough to give a five-star review? And they're like, they don't ask. They don't ask for well, some of them ask for a review, but most of them implore you to go give a five-star review.

Bryce

See, see, my the podcasts I listen to are better than the podcasts you listen to, because the podcasts I listen to never implore you to leave a five-star review. They just say, please leave a review.

Conor

Yeah, yeah. That's and that's the thing. I would never ask for five star. I would say leave the review that you think is appropriate. I mean, if you don't like our content, feel I mean, you do what you want. Don't leave a review, leave a one-star review.

Bryce

Um, you know, don't leave a one-star review on this podcast. I will find you.

Conor

I see. That's the thing is I don't know what the list typical listener looks like or what their behavior is like, but I feel like if now we're gonna get a bunch of one-star reviews, just I'm gonna have to check out.

Bryce

Do we do we have do we have reviews on iTunes?

Conor

I have no idea. I don't I don't honestly I honestly I the my my value from recording this is just getting a chat with you once every once every couple weeks. And then every once in a while we have people retweet or whatever, tweet at us on Twitter.

Bryce

I can't I but now I have to know. Now I have to know. Okay, I I don't I I own no I own no things from the Apple Corporation. Uh so I I have no idea how to access the iTunes store, but somebody please tell me if we have reviews, especially if they're like really bad reviews that like just like trash us. Like, I want to know. I wanna know.

Conor

Oh man, if you want if you want bad reviews, we can just go look at one of my uh YouTube videos. Uh the ones where I do like the comparative languages. Oh man, it's uh I get a lot of hate these days. It's just like, you know, yeah. We'll save it for another episode. But yes, we we did get an issue opened uh by Roman Roman Koshetson. Koshitson.

Bryce

Uh well, you know, we we should tell people, you know, if you have if you have a um if you have you know if you find some issue or you have some feedback or something, like you can open an issue, but you could also like send us a PR with an audio clip of you asking the question, something like that, and then we can use it in the episode.

Conor

Can they do that on a GitHub issue?

Bryce

Um, see I'm I kind of I don't I'm gonna remind you of the relationship here. I'm the executive producer, I come up with the big ideas, you implement them.

Conor

So the problem is that we deck we technically do have an email, but I already have six personal emails. I do not have the bandwidth to keep track of another email.

Bryce

Just have it forward to your uh Gmail. That's what I do.

Conor

That's a lot of work.

Bryce

I don't know, it's really easy to set up. That's what I do for yeah, I'll show you how to do it. Yeah.

Conor

Well, think about it. Anyways, we gotta read this, we gotta read this, and I've realized it actually was not the issue was not opened by Roman. It was open by Sunbubble. Uh, and then Roman just posted a comment, which actually I didn't even see because it was posted seven hours ago. So very quickly, uh Sunbubble says, I'm pretty sure that the concept you're looking for is group. So we've got inverse functions and we've got group. Uh a group is just a monoid with an additional inverse operation for each element of the set. My understanding is that the inverse left scan is just a right scan with the inverse binary operation. Actually, wait, my understanding is that the inverse left scan is just a right scan with the inverse binary operation. Is that true? So uh uh uh a plus scan is the left scan, and an inverse of that they're saying is a right scan with the inverse, which would be minus. So that would be that would be correct. Technically Yeah, technically that is I think correct. It's correct for the plus scan, like a plus an inverse plus scan is equivalent to a minus right scan. But is it is it correct for all the other ones? Sunbubble, Sunbubble continues to say keep in mind that both monoids and groups may or may not be commutative related to the missing reduction episode topic. Also, as far as I know, monoid or maybe strictly a semi-group is the typical base property you need to be able to implement a parallel version of scans and folds. And then Sunbubble links a couple resources. And then Roman replies, I've just listened to episode 42 and found this repo to say groups, groups are everywhere, but Sunbubble beat me. Let me elaborate a bit more on this. A group is a pair of an operation and a set. This means that existence of inverse often depends not only on the operation you use, but also on the type of elements fed into this operation. That makes sense, yeah. Um, and then I'm not gonna read through this, but uh Ramon proceeds to say, let's show that, and then uh states a lemma and has uh a bit of a proof.

Bryce

At least in terms of C, when we're talking about an operation, um I think we are typically talking about a group because when we're talking about an operation, we're not talking about it. You know, the types that it operates on. Like when we sometimes we when we talk about you know we're talking about usually we're talking about it. And so then when we talk about like when we talk about the sub-dos, we're we're not just talking about sub-dos, but we're also talking about sub-dos and sequences that can be added to the sub-duce.

Conor

Yeah, looks like I gotta go after finishing this category theory book. I gotta go read a set theory book. I feel like set theory is actually gonna be more useful than category theory.

Bryce

If I find them, I can mail you some of my some of my math books.

Conor

Okay. And we didn't even so my my goal was to talk about the uh inverse functions group response and then also the other feedback that we did.

Bryce

And you know, I'm I'm terrible because I knew that we I knew that we had that inverse group uh uh I because I saw it on Twitter, I knew we had that, I knew we had it to talk about, but I had to do my ranchy spiel thing.

Conor

Well, no, so I was gonna I was gonna say that was gonna be the first episode, and then the second one was gonna be delving into the world of combinator birds because I've just been going on a combinator tear because I'm reading to to mock a mocking bird, and like it used to just be about the starlings and the phoenix and the bluebirds, but now we got bald eagles, golden eagles, we got them all, man. And uh I'm catching them all, and it's it's it's so awesome, and it's really it's gonna be the future. I don't understand how Haskell Curry spent, you know, three to four decades um studying and writing his texts on combinatory logic, and then it just seems like the world's forgotten about it. Like everybody knows about Lambda calculus, but what happened to the SKI combinator calculus? That's where it's at. That's where it's at, man. And uh Martin, or not Martin, uh Raymond Smollian, he wrote the book with the birds. It's even it's more fun. Who doesn't want to learn the bird names? Who doesn't want to learn the bird names, Bryce? I I put it to the listener. Don't you want to learn about the birds? We got warblers, we got cardinals, we got golden eagles now.

Bryce

I do love birds and waterfowl, so yeah.

Conor

Oh my goodness, that's correct. That's correct, Bryce. Oh, I wasn't even thinking about that. You're I took a sign about uh when I was in Regina uh visiting a friend uh in August because they had a waterfowl park, and I thought, Bryce, this is Bryce that's actually not Bryce's kind of city, because it's really no offense to the people of Regina. Um look, I I will Bryce is usually the one offending people of the world, but um I will take a turn. Uh Regina is uh not a lot going on. I think the I think the lake in the middle of the city, like they made that lake. Um maybe it was there, but I I feel like I feel like they made it. Um but they added a little waterfowl park next to it, and um uh you can't run by a sign that says waterfowl park uh when you've got a uh a podcast with Bryce and not think of him. Um and this recording has completely gone off the rails now.

Bryce

Uh I guess we're gonna have to do it, we're gonna have to do a waterfowl episode. A waterfowl instead.

Conor

Maybe that's what I'll call if I I I've decided at some point, uh, you know, spoiler for the listeners, that I will come out of retirement.

Bryce

Spoiler for who?

Conor

Spoiler for who?

Bryce

You said spoiler for the listeners, but there's not listeners that's listeners for the listener.

Conor

Thanks for listening, listener. We really need to get back in the swing of things. This is uh this is a rough ending. This is a rough landing.

Bryce

Yeah, I'll say. You can fix it in post.

Conor

All right.

Bryce

Well, well, yeah, we should probably call it. Well, we'll we'll uh wait, what was the spoiler for listener? For the listener.

Conor

Oh, yeah, that I'm coming out of, I will be at some point in the future, I will come out of my speaking retirement uh to give a talk on waterfowl.

Bryce

Okay, good.

Conor

And maybe that's what I'll call it. I'll call it um maybe I'll call it, yeah, Bryce's birds or something.

Bryce

Uh I don't mind that. I don't mind that at all.

Conor

Do you do you have, yeah, maybe uh that's an amazing idea. That's an amazing idea.

Bryce

Well, you were about to ask, do I have a favorite waterfowl? I was, but then I was thinking of actually I'm I'm not sure if this was like geese are like, you know, geese are pretty good, but they're also a little bit terrifying. Ducks are like, ducks are pretty, ducks are pretty okay.

Conor

I'm not sure if there's any of the bird names that correspond to ducks, but what would be amazing is if I didn't actually give the talk live and I I pre-recorded it as like a a mini documentary where where I'm explaining, getting all excited about the combinator birds, and then we cut to like a little a little tour, a little tour of a bird sanction sanctuary, and Bryce just like, oh look, look, it's a cardinal, and then cut cuts to the a cardinal is also known as Flip from Haskell and uh it's the C combinator. Uh cardinals are useful for we cut back to Bryce.

Bryce

Look, it's a war blur! Perfect, perfect.

Conor

It would be amazing. Although I'm not sure if we could find I wonder if there is a bird, a what do they call it? Like an aviary or a sanctuary that um has all of the cards. Yeah, does it have all the birds though? I live in New York.

Bryce

New York has everything. So yes, I'm sure it does.

Conor

Okay. Well wait, some of them aren't real though. Phoenix? That's not a real bird.

Bryce

No, that's not a real bird.

Conor

Wait, did I click stop? Oh no, I didn't. Okay, good. All right, I'm clicking stop now.

Bryce

Yes. Did you did you because this is all such such such gold, such gold. We'll really be able to use this.

Conor

Thanks for listening. We hope you enjoyed and have a great day.