Conor

Co-recursive or functional geekery.

Bryce

We we have we have definitely gotten at least one speeding ticket already in uh Slovenia.

Conor

He has a new podcast called Software Unscripted.

Bryce

That was the second uh Slovenian cat that Connor made friends with.

Conor

I'm not sure about Cobalt. I know that's smalltalk. I'm such a terrible friend. Erlang. Erlang and Smalltalk. And immediately was like repulsed. And my first thought was like, this is just dirt. But then I was like, Bryce, there's no way we're supposed to eat this. But he was kind of an evangelist for the Elm language, has done a lot of stuff with functional programming languages, but most recently is working on a programming language called ROC that is R O C. It's not vertically symmetric, but it is horizontally symmetric. And I just think there's something nice about that. But as soon as you add a semicolon to something, blah.

Bryce

on the intro. Hello, dear listener, and welcome to day three of the Bryson Connor Bulkan road trip.

Conor

First of all, give me the mic. First of all, folks, it's not called the Bryson Connor Bulkan Road Trip. It's called the Slovenia 2023 Road Trip. Or alternatively, the 2023 Slovenia Road Trip. Not the Bulkan Bryce and Connor. And here's here's folks, I'm a little upset right now. Why is that? We've been recording for 10 minutes. Bryce had Bryce had one job. Bryce had one job. And it was 10 minutes, man. We did the whole intro. Bryce messed it up. I came in, saved the day. We talked about a bunch of stuff. And now we gotta repeat this conversation. I'm driving and I'm managing to do this.

Bryce

And all you have to do is hit the record button, my guy. It is true, it is true. I uh I didn't see the levels. The gain was uh the gain was real low. But uh alright, so when we last left you, we were in uh northern, northwestern uh Slovenia, and uh we were headed to dinner. Is that correct? Yeah, I think so, yeah.

Conor

Yeah, man, this this this second recording is is nowhere near as good because you skipped over the whole part where where I said, Well I did I guess I didn't say it because I'm just upset. It's day three, folks. Last time you heard from us is day one. They don't they need to know the number of days, right? So it's day three. Last time you heard from us, we were in Slovenia, and uh previously we have been in Austria, so day one was Austria, Slovenia. Day two yesterday was completely Slovenia, now we're on the road, we're leaving Ljubljana. If you recall back to our second Christmas special, it was called Here We Come Ljubljana, and we came, we left, we're on our way to the coast Peron, I believe it's how it's pronounced, and now we're gonna redo our recap. Fantastic price. Yeah, sure, we were headed to dinner. Tell us about dinner, Bryce.

Bryce

So we spent our our the first day of our road trip driving about eight hours all the way from Vienna to rural northwestern Slovenia to this uh little restaurant and hotel called Gisa Franca, which I'm sure I'm butchering the pronunciation of. It is a two Michelin star restaurant where we had a 17-course uh tasting menu, which was absolutely lovely. Don't you agree, Connor?

Conor

It was good.

Bryce

Connor, I think, had more mixed feelings about the uh the dining experience uh than I did. There was there was a lot of cheese.

Conor

Yeah, so I mean it it was there was a couple dishes of the 17 dishes that were that was really, really good. Folks may or may not know this about me. I don't like cheese though, and when you're going to a 17 course fixed menu at a two Michelin star, two-star Michelin restaurant, you know, you don't want to be that guy that uh calls them up in advance and says, you know, I got some thoughts, I got some thoughts. Uh I know you guys, you know, you're missing the third star, so maybe I can help you out with that. Um so I went ahead and I think four of the 17 courses were had cheese in them. And you know, you g you gotta you gotta put yourself outside your comfort zone. And I think I I ate three of those four entirely, and the fourth course, this guy is going like literally 180. Yeah, the speed limit is 130, and he came up like a meter behind me and was hitting his hands on a steering wheel. Anyways, it was a fourth course was a beignet, uh, I believe is how it's pronounced, which is like a little mini donut with filling, and the filling was fish row, and I think it was like goat cream cheese.

Bryce

Yes, and Connor was so excited at first because Connor wanted to have a donut in every country as part of his European trip adventure, and so he he saw he saw the donut, he was very excited, had a big smile on his face, then he picked it up, he bit into it, and I believe I captured on camera the uh the the emotional uh uh uh change from Connor's excitement to just just utter disappointment that this thing was filled with cheese. And I believe you didn't even finish that, I think you gave it to me to finish.

Conor

No, no, no, no, I finished that. I I did accidentally spill some of the innings, and then that I think upset the Michelin star, two-star Michelin star.

Bryce

And they they they brought a napkin to an additional napkin to cover up the mess that Connor had made.

Conor

But here's the thing I knew, I knew go because they have a menu, I knew it had cheese in it, but I have a complex relationship with cheese in that I know it's probably like the number one thing that people are like, you don't like cheese that like people are thinking it's weird about me. And so I really over time I've I've uh you know, I literally went to a a cheese farm last summer when I was on vacation, and I tried a couple cheeses, you know. I know that when it comes to fancy cheeses, a lot of them are not like the you know the mozzarella and the cheddar that you buy in store. And you know, if you get like a spreadable cheese or a fancy cheese, a lot of them don't even really taste much like cheese, they're more just like sauces. So I'm always open to trying different cheeses because I you know I don't want to be that guy. And so I've had a few cheeses actually that are more just like spreadable creams that are not very cheesy, and I'm also not a huge cream guy, but it's like you know, I don't hate this. Do I love it? No. Is it edible though? Absolutely. And so that's what I was hoping because I I saw what the donut looked like and I was and it was warm to t warm to the touch. Um so I was very excited, but uh I bit into it and it was it was cheesy. It was cheesy and it was rough, but we did it.

Bryce

So, what was your favorite course?

Conor

Ooh. It is a toss-up between I believe it was course two, which were these tiny one-bite sea salt tacos that had that were made from like seeds.

Bryce

Yeah, yeah.

Conor

Like sunflower seeds and some other stuff, and it had this some kind of ca compost mixed of like stuff, and it was it had like little flowers in it, so it looked very of the earth. And this whole restaurant was like a sustainability, yeah, you know, very, very uh sustainable, forward, first, you know, kind of restaurant. Anyways, that was delicious, and oh man, the most heartbreaking moment, and this will get me to the other dish that is uh toss-up for uh the best dish, was they had a surprise dish, which was a risotto, and at the time it came right before this barbecue brown butter-infused uh trout dish. Uh and I thought it was a surprise dish, as did you, Bryce, because they didn't have any trout, and so they were like replacing the trout dish.

Bryce

I was the messaging was a little unclear that they they seemed to have said something about this isn't on the menu and this is instead of the trout, but maybe they they meant this is before the trout. But anyways, we thought for a moment that there was gonna be no trout, and Connor was devastated.

Conor

I was I was heartbroken, and and the risotto was absolutely delicious, but I had been if with from everything on the menu, uh this like a rainbow trout is my favorite favorite fish, and I grew up on the west coast like with uh my I had relatives that lived on uh the west coast of British Columbia and would like freezer us and like greyhound us, which is a bus, like overnight, and so I like I lived off of like fresh salmon and ha halibut, so I absolutely just love seafood and fish in particular. Anyways, trout, my favorite fish of all, and then I thought it wasn't gonna come, and then the next dish came and they explained what it was, and I was just like, hallelujah, hallelujah, and it was delish. Um I probably if I had to choose one though, I'd probably say it was the sea salt. It was just this tiny tiny when you gotta think too when we're saying trout and we're saying stuff like this was like they were the tiniest portions. Uh like that you could have eaten probably all of them in one bite or two. Usually we eat them in more, but like it's a tiny piece. Like I remember we had what was it that uh uh that had the rabbits? Um was that the uh the pasta with the truffle on it? Yes, yes, yeah. And like there was probably like not even a teaspoon of diced rabbits in that tiny little pasta portion, like it fits all in a single spoon. So like all the don't think like holy smokes, he had a taco as a second course, and now he's eating like a a a sh a trout fillet. No, these were like very tiny portions.

Bryce

Yeah, even even for a tasting menu, and you know, I I've I've seen a number of tasting menus in my uh in my day. Even for a tasting menu, the portion sizes were uh were were modest. Um uh like I was usually after like a a a big tasting menu like that, like I feel pretty full even though I'm like huh, this is weird because I didn't like have any, doesn't feel like I had anything substantial. But this was very small, very small portion sizes. Uh my favorite course was probably the uh the roebuck, um, which uh they served like these two but it was basically it was really really good meat, but we got each of us like two little cubes, and the cue each cube was maybe a centimeter.

Conor

A centimeter maybe smaller than a six-sided die. Probably like probably like a quarter.

Bryce

A centimeter, I think.

Conor

Yeah, no, like a quarter if you were to dice it three different ways. Take like a a one-eighth of a six-sided die, and that was you get two two of those pieces. And there were some other things that came with that that dish, I don't remember what, but it came it came with uh kiwi uh with a circle in the mint, and then it had a muscle in it.

Bryce

Tiny, tiny muscle, single muscle.

Conor

A leaf that the roebuck was on top of.

Bryce

And the best part, the best part, and yeah, the beat was really good. And the best, oh no, no, no, I'm thinking of a different course. Um, but that one was really good. The uh the other course that I really liked was the dosa, um, which is uh uh this sort of uh Indian style bread, and it had a like a meat filling, but then um and it had this like really good yogurt sauce, but then as part of that dish they brought us um uh water from the local river, the Silka River, and uh it was it must have been chilled with liquid nitrogen because it was so that it would like uh uh m mist up to create the cloud. Yeah, to create the cloud, and then they would pour it into a little uh bowl next to us, and they told us the purpose for that is for you to, you know, that you're gonna eat this course with your hands, and then afterwards you can wash your hands in the river soca. Oh, and then at the beginning of the meal, they brought us both um just a bowl of moss um from the look the nearby mountain, and they they instructed us, they're like, This is moss, it is here to greet you, like you can touch it, you can smell it, like they're not supposed to eat it. And uh I had a great time touching and smelling the moss. I think you got some good pictures of that, right, buddy?

Conor

I did, yes. We'll we'll put them on the internet.

Bryce

But there is one more course we have to talk about, and then I I promise we're done talking about us eating food. And that course is uh uh you could you just be aware of the speed camera warning thingy that the Google Maps telling us about. Speed up warning. We we have we have definitely gotten at least one speeding ticket already in uh Slovenia. Hey, why is that, Bryce? Why is that? We'll get there, we'll get there, we'll get there, but I definitely saw a camera flash. Um but uh uh I I lied actually.

Conor

We're gonna talk more about food.

Bryce

Yeah, because we're gonna talk about the the breakfast the next day, which I actu actually was my favorite part. But there was one course that even I thought was a little questionable, and that was the potato. Let's talk about the potato. I know you have I know you have a lot of thoughts you want to share about the potato.

Conor

Well, Mr. Fancy Pants to my the right of me, Mr. Bryce Adelstein Lyleback himself, he was the original one that messed this thing up because basically it's a tiny little potato, like golden potato, and they put it in this like eggshell of what is hay, it's made of hay and sea salt. It's basically dirt. It's basically dirt. And Bryce, the way it's explained is like this is enclosed in a crust, and when you open up the crust, you will find a potato inside. It was unclear though, and I will defend Bryce in this, it was unclear that this crust was not for eating. I thought it was a little bit suspect that it was made of hay, but Bryce, as always with each dish, had started eating his before I had. And Bryce, how many bites did you get into it, Bryce? Two or three?

Bryce

Two or three, and I was like, boy, this is real salty, and uh and kind of tastes like tart.

Conor

And then by the time he's on his third bite, I I'm looking at this thing real like it was the fact that it was already made of hay uh was a red flag for me. So I just thought that was just like poor translation. No, no, because it it wasn't on the menu. It said hay, it is hay crust, it didn't mention the sea salt in the description. And so I took the tiniest little piece with my hands off of this, put it in my mouth, bit into it, and immediately was like repulsed. And my first thought was like, holy F, this is just dirt. But and I was like, Bryce, there's no way we're supposed to eat this.

Bryce

But but here's the thing they serve us this potato in this little sh like shell. And I I do have some questions about how they got the potato in the shell, but uh Connor and I worked out a theory about them later. It's not particularly relevant here, but um They here's what we were equipped with to eat this potato. This potato that arrived to us fairly hot to the touch. We were given a a fancy like butter spreader, not a knife, just a thing for the spread butter, and we were given this some sort of fancy butter, I think it was like a horseradish butter, and the potato, but that's it. So like you have the potato in this crust, you can't eat the crust, which we learned, and which I learned in China. Yes. Now you could take the potato out of the crust and just pick up the potato with your fingers, um, but the potato is hot, so that's not particularly pleasant. And and you have this like butter spreader, but it's not really suitable to cut this thing. And the other thing is the potato and the crust were presented in a bowl that was filled with like local branches and leaves and whatnot. So even if you wanted to use this butter spreader to try to cut off a piece of the potato, you didn't have like a firm surface to do it on. So it was a very challenging course to figure out how to eat. And it was just a potato. It was yeah, it listen, listen folks.

Conor

You've learned you're learning a lot about my my likes and desires when it comes to food. I don't like cheese. My number one favorite food in the world is in the category of potatoes, and that is the mashed potato. I haven't met a mashed potato. I like even the store-bought synthetic mixed stuff, even that, whenever I have it, I'm like, you know, I thought it was gonna be worse than this. I love mashed potatoes, love all types of potatoes, and this was just a potato, no salt, like they give you the the horseradish butter with it, which you're supposed to, you know. But that that was pretty hard to spread. But like that was it, and I'm thinking when I'm eating this thing, like, what the F? Like, this is just a terrible potato.

Bryce

A very, very expensive potato for the two of us.

Conor

Yeah, yeah.

Bryce

Anyway, so uh but but my my favorite part of that whole experience, and we did we did it like w we're giving a critique here, but we had a very lovely evening, like that was a great and magical time, agreed? Yeah, yeah.

Conor

It was an it was a very magical experience, even though you know I I said that the the meal was good. Um, there were certain, like I said, that that and the reason that I like that sea salt taco the best is because the the trout it was such a small little piece, it left me wanting more because I'm not used to eating fish in that small of quantities. But the sea salt taco was so novel and had like little purple flowers and yellow flowers, and it was a single bite thing. It it was like a little experience, you pop it in your mouth, you close your eyes, and you're like, Oh wow, this is wonderful. Um, but yeah, overall, magical experience. Also, my favorite part, you're gonna get to yours, the breakfast. My favorite part was the kitten. He's a franco, the hotel had a little kitten, and actually, I didn't get to say hi because I didn't want to leave my table in the middle of dinner service because like they're running an operation, which admitted to ask for permission to go to the bathroom.

Bryce

They told you at the start of the the meet the meal, like, hey, give us a notice, like a core like let us know when you want to go to the bathroom so that we can notify the the the kitchen. And kinda kind of is about to tell you that like I didn't follow the rules. I asked permission when I wanted to go to the bathroom. Right. The one time when when I when they said no, I went and sat back down.

Conor

Okay, listen, listen, folks. One thing we've learned about Bryce is I'm not sure if this is a general Canadian versus American thing, but uh Bryce is definitely not as polite or as much of a rule follower as I am. These were the precise ex instructions that they gave us. They said, if you would like to go to the washroom or bathroom, whatever term you want to use, depending on the country, all mean the same thing, uh please let us know one course in advance. Those were the instructions. Bryce, I I didn't go to the washroom once. Bryce went to the washroom three times, and every single time he either just stood up and said, Is this a good time? Or he would say, I'd like to go to the washroom, and then he would get up and I think all and then your defense says that your defense is your defense is is that two of the three times they said it's a good time, that's fine, which is still not following their rules, and then the third time they were literally bringing out the course as you were trying to leave.

Bryce

No, it uh the third the third time I told somebody that after this course I'd like to use the restroom, and then I got up after that course to use the the restroom after I'd been granted permission, and then another person, not the person that I'd told who had not yet been informed that I was going to the bathroom, requested that I stay seated, and I went back to my seat and then she came over and said, Ah, I'm sorry I misunderstood, and allowed me to go to the bathroom. Anyways, it was a very nice place. We had a wonderful time.

Conor

But the the I was in the middle, I was in the middle of telling uh before we got, yeah, the kitten stories. I, the kit the kitten was hanging outside the restaurant because we were indoors. And if it had been any other restaurant, you know, not as fancy, I would have gotten up mid-dinner. And if it was Bryce that wanted to pet the kitten, he probably would have. But yes, for those that didn't catch that, Bryce said yes, I would have. Instead, we didn't. We're not gonna disrespect the restaurant by petting the cat. However, in the morning service when we had breakfast, the cat, the kitten was once again outside, and I got up, went outside, it was waiting outside the door of the restaurant, and and then I crouched down and petted it, took a little video, maybe we'll put it on the interwebs. And what's funny is when I came back inside, uh, the two hostesses were confused and they were like, Did you just go outside just to pet the cat? Because I think I they thought I was leaving for to get something, but then I I saw the cat and then decided to pet it and forgot what I was going to do or something, and I said, No, no, I just went out to see the cat, and then they started laughing because I think they thought that was funny. Uh I'm not sure what how you Europeans or Slovenians what their uh fascination is with animals or cats, but uh very nice kitten, and I I lie, it's not my favorite part, but it was a lovely touch, and I very much uh enjoyed uh petting the cat.

Bryce

That was the second uh Slovenian cat that Connor made friends with. Where was the other cat? It was at one of the castles, right? Yeah, it was at the castle yesterday.

Conor

Oh yes, but that was after. That so that was the that was the first cat. And yes, we saw we found a cat at the Predyama, I believe was the name of the castle in Slovenia after we went to the Postonia caves. We're gonna get to all that in just a moment. Yeah, but we love we love the Slovenian cats. We don't like the Roman cats, they're straight and they don't like being pet. We love Slovenia cats.

Bryce

Alright, so the breakfast, I mean, and maybe it's just that I I've had so many disappointing hotel breakfasts in uh recent memory because the hotel breakfast experience is usually just not not amazing. I mean what what one one of my one of my recent greater disappointments with uh uh airline travel has been the uh the the quality of the uh breakfast options at the British Airways uh London Heathrow Terminal 5 lounge, which is not the not a lounge I usually get to go to, so I was excited for it. It was my first time there, second time there maybe, and I was just I was just disappointed. But this breakfast, um man, it was it was really good. They brought a bunch of local fruit and um and meat um and bread and these little uh cookies. Um there was somewhere between a cookie and a biscuit. Um, and what else was there? There was really good uh juice. The the drinks in general they they had a Juice pairing to go with the dinner, um, which I got and Connor got a uh wine pairing. Um and boy, the breakfast, it was just really good and filling. Um, and uh we also we ordered a little addition of a selection of local slamis, including a bear slami, which was uh quite good.

Conor

And uh bear, folks, these you heard that right. Bear as in like polar bear or black bear or a brown bear. We should have asked what type of bear.

Bryce

I suspect it was not a polar bear. I suspect it was a local bear.

Conor

I'm just saying, like it's a it was a bear. If you're gonna be able to get away, yeah, it was definitely a bear. Did they say something else tonight?

Bryce

No, it was bear.

Conor

Misunderstood it because I'm listening to 2x. No, it was a bear.

Bryce

It was pretty good. And um, I was so impressed with the breakfast that uh I allowed us to slip a little bit behind schedule. Uh, and uh only really realized when Connor pointed it, pointed it out when it was like 9.10, and we were supposed to have left by 8.30, and we needed to be a certain place by by 10. And uh Connor drove uh uh it was very impressive driving. When we left the the Google Maps ETA said 1015, and he got it down as low as uh you know 10.05. Um but then there was some some as we got right near the final destination, there was some uncontrollable uh traffic-related things because one of the roads was close they were closed one one lane, so there were they had them those little traffic lights to only allow people to go in one direction for like five minutes, and then they would let people go in the other direction, and so that slowed us down a little bit. But long story short, we made it to the next thing on time, which was uh the Idria uh Mercury mines, which uh Connor, what did you think of that?

Conor

Zero to five stars. No notes.

Bryce

Connor was very uh unimpressed. Uh I think there had been a misunderstanding between Connor and I about what um what a tour of a mine would constitute. Connor thought it was one of those open mines, like basically just a hole in the ground, um, and uh did not realize that it was gonna be underground, and uh was was not thrilled about the whole being underground part. Um and did not find it, I think, as exciting as I did. Although I think I do think of a part of my amusement was Connor's extreme dislike for the experience. I'm such a terrible friend.

Conor

Yeah, I just uh I'm from Canada. Canada has a lot of oil in the province of Alberta, and a lot of those uh mines, if you will, or oil sand pits, etc., are just open. And uh I did not put it together that we would be entering a small tunnel in the ground that is basically enough room for one person for an hour and 15 minutes while we learned about the history of mining since 1508. And I love history, but more programming language history, and that only started like you know a couple a couple decades ago, back in like the 40s, 30s, if you will, maybe 1920s if you want to include Sean Finkels on the building bat building blocks of mathematical logic.

Bryce

Are there any uh is there any programming language history that is associated with Slovenia or Austria or Croatia since we're gonna go there too?

Conor

I don't know. Um not yet, not off the top of my head, but I'm sure there is. I'm sure there's some uh you know famous uh Slovenian computer scientists that made some contribution, but off the top of my head I do not know.

Bryce

If you do know, let us let us know. Um it is it is too late for us to go back and learn or uh visit anything related to it, but we'd still be interested in knowing.

Conor

If you find yourself if you find yourself in Idria though, uh definitely skip the uh mercury mines, you know.

Bryce

Um I I thought it was pretty fun, but I I do think that there were uh perhaps more exciting uh things to do.

Conor

Or or just bring your headphones and listen to a couple technical pods, because that's also what I did. We went next to the Postonia caves, beautiful, biggest, so they say, biggest European caves, and they were very impressive, very well kept, very well funded, and you take a little train ride underground, very chilly. Bryce was not, Jesus, we're about to get pinned between two cars here, but we're still alive and we love it. Um, we're still here, folks, and you take the little train underground, and it was great. It was great, a little bit chilly. Um, but uh I had my pods with me, and yeah, it was great. I listened to a couple pods, just finished listening to the most recent episode of uh two's compliment, and I actually gotta lie. Ooh, I know Matt Gobalt listens to this. I find it very hard to follow the uh what do they call it? Yak shaving part one, part two. They're trying to basically host a website. I might have skipped through most or all of the episodes.

Bryce

Two's compliment is the one that who's so it's Matt Gobolt and Ben Rady.

Conor

Clearly, Bryce does not listen. This is one of the um, I mean, it's technically not a C podcast. Similar to it's actually more, it's it's it's definitely less C than ours is because uh Ben Rrady, the co-host, is not a C dev. But Matt Gobolt is the individual behind Compilerexplorer.com, aka Gobolt.com, or dot org or whatever it is. Um, and so I consider it a C podcast, even though they talk about a lot of non-C specific stuff. But for their last two episodes, they released once a month, and they've they yak shaved like standing up this uh website, uh which have not been my favorite episodes. But hopefully other listeners have enjoyed them. Overall, I love the pod you should go listen. But anyways, just finished listening to that and Pastonia Caves, what do you think, Bryce?

Bryce

I love they were amazing, yeah. I thought it was really, really beautiful. I mean, I've I've uh the only thing comparable that I've been to is uh Hal Caverns in uh upstate New York, which I went to uh a number of times when I was a kid, but this was like a lot more impressive, I gotta say. The one cool thing in Hal Caverns is that both Hal Caverns and this cave had an underground river, but in Hal Caverns they actually take you on a boat through the underground river, which is pretty cool. This this place, we did not uh get that experience, but it was great, it was super impressive. Um, I thought it was it was very fun. Um we went to this castle afterwards, which was also pretty cool. With the cat, with the cat, with the cat.

Conor

Lovely cat. Yeah, that I I'd say so far uh Blood Lake uh was the highlight for me. It's gorgeous.

Bryce

I I think the drive the drive through those mountains and uh and blood lake were was yeah, was definitely one of the best parts of the trip. I it's it's a shame that the that we were not able to spend more time doing that part of the trip, but it's just that the we wanted to go to Kizafranco and uh it's closed on Monday and Tuesday, so we either had to do it Sunday or we had to do it Wednesday. Uh and if we did it Wednesday, it it wasn't gonna be practical because uh I have a flight out on Thursday morning at 8 a.m. in Venice, and so we've which is like two or three hours away from there. Uh so that would have been that would not have worked out, but uh uh you know I think it was great. I think it was great. And then we got to Lubliana last night um after the the the the castle, the Pradama castle, uh and kind of went for a run and uh then we went out and got some food and just sort of had a chill evening. And then this morning we went to uh Codilla Meat Market. We got a meat meat! Meat meat!

Conor

That's what it's called.

Bryce

Meat meat M-E-E-T, then meet M-E-A-T. Oh wait, was it?

Conor

I thought it was just meat meat, as in the two things that you eat.

Bryce

Uh I don't think so.

Conor

That was how it was spelled.

Bryce

Whoa! There's the coast, folks! We have just hit the the the coast. We can see the Mediterranean.

Conor

Wow, we're only 23 minutes away.

Bryce

Hello, Mediterranean. And this is, I think we are I think we're south of Trest Day. I think we're south of Tresta. Um it mm let me double check whether this is Slovenia or Treste or where we are. Um let's see. Um thrilling podcast content here. Um the so yeah, so what we're seeing right there is still Slovenia, but uh to the north of us, this way, Connor, is uh is Italy, where we'll be driving through later. But this is uh the the Slovenian coast, and we are headed to the town of Piran. Uh this morning we got up, we you know we had a after two days of a very fixed and intense schedule, we had a uh a lazier morning today to give us a chance to rest and recover. We just went and got a nice breakfast and we went up to uh the Ljubljana castle and uh got a great view of the city. And then we departed. We are heading to our next destination, the uh coastal city of Perong, which is at the tip of the peninsula. And then we're gonna go uh gonna go for a hike in this uh in this bay, this moon bay.

Conor

Ooh, there it hasn't all been rainbows and uh bunnies and uh butterflies though. Uh there was one pretty disappointing thing that's happened. I'm not sure Bryce if he recalls what it was. Do you recall what it was? I do not. You know, folks, 199 days straight is my Duolingo streak, and I went straight from bronze to Diamond League. However many, I think that's 14 weeks or 12 weeks in a row or something, straight to the top. And ever since I got to Diamond League, I've been in the Diamond League, the top league, 14 weeks in a row. Just under four months. And guess what, folks? It's Tuesday, two days ago, at 10 p.m. on Sunday night when the weekly league resets. I finished 27th out of 30 on the weekly leaderboard, and everybody that plays Duolingo knows bottom five in Diamond League get demoted. So I'm back in Obsidian League, and even worse, I've lost my 14-week stretch. I thought it just kind of, you know, or actually, maybe it will keep the counter. It doesn't need to be contiguous once I get back to Diamond League. But pretty upset that Bryce is the one responsible for.

Bryce

This is somehow, somehow, this is my fault. Somehow this is my fault. I you you was entirely within your control to do this.

Conor

I mean, we were having too much fun though when I forgot, so.

Bryce

Yeah, this is again entirely not my responsibility. Entirely not my fault.

Conor

I mean, I I do hold you responsible though, so. Well, I'm glad you cleared that up for the podcast listener. Seeing as we just explained, we went to a very romantic uh he's a franco, you know. We've been rooming together. I did I did ask Bryce when we sat down at the restaurant, because every other table, there was only about eight in total, were couples and with one exception. Uh yeah, with one exception. And I I did wonder, I did wonder uh in in a quiet voice uh to Bryce uh how many of the folks thought that we were potentially in a relationship together.

Bryce

Yes.

Conor

As I probably uh I probably would have thought that we were as well.

Bryce

Um I think so. I mean we do with the dynamic duo, we do have that chemistry buddy. Uh yeah. Um we should talk about so okay, so so when we left Ljubljana, um we were listening to a podcast a little bit.

Conor

Yeah, let me let me tell them. So, folks, you should go subscribe to Two's Compliment with Matt Gobalt and Ben Rady, but you should also go subscribe to Software Unscripted, a I rather I discovered this rather recently, but I think it's been going on for over a year now. Hosted by the one, the only Richard Feldman, who we you will know from uh very popular talks such as uh Why Aren't Functional Programming Languages the Norm. Link in the description if you haven't seen that one. If you're a programming language nerd or enthusiast like myself, you'll love that talk. He uh works for, I believe, or at one point worked for No Red Inc. and was kind of an evangelist for the Elm language, has done a lot of stuff with functional programming languages, but most recently is working on a programming language called ROC, that is ROC, and it is designed to be basically a Elm for the server, sort of sort of like a systems level, pure typed functional programming language. So basically, Elm is a front-end language, he's trying to design an Elm for the systems level. Anyways, he has a new podcast called Software Unscripted. If you like this podcast or you like podcasts like co-recursive or functional geekery, add this one to your list. It's a must. And we were listening, and by we, I mean mostly me, because Bryce was doing stuff on his phone, starting out hotel stuff. We're listening to the most recent episode that just got released today, although today is gonna be months, potentially years in the future for you. And it is uh comparing Haskell to R with Will. Insert his last name because I can't remember, I think it was Will Kurt, K-U-R-T. Doesn't really matter. It was a comparison between Haskell and R. Back to you, Bryce.

Bryce

And and you well, I I mentioned that I don't really know that much about R. Um, although based on what we heard in the podcast, it sounds like R would be a little bit more interesting than meaning the Haskell because uh the one of the two uh uh hosts uh was positing that with with R, it's a lot easier to make something that's uh uh real and useful than with Haskell, but then I I I asked you what your thoughts were on R, and you did not seem to have a positive opinion.

Conor

Well, see now that we're on the pod, I don't like to say negative things about programming languages. My motto is I love all programming languages, and there are very positive things to say about R. That being said, seeing as you're bringing off something I said off pod, uh I had a very negative experience with R when I was first introduced it back to university. Note that I was not a software developer back then, so I was more evaluating the language from just like a user experience, not necessarily from you know how good is this as a programming language, but from a user experience, the things that I remember the most, control S did not save, control O did not open, and they did not have an equal sign for assignment, they had a less than hyphen, which was an arrow, which Well hang on, let's take a step back.

Bryce

What do you mean by control like is R uh somehow uh like associated with a particular editing environment?

Conor

Yes. When you download R, it comes with uh I'm not sure if it's called R Studio or that was something else, but it it's basically if you've ever used the programming language Racket or Smalltalk, it comes with like a little IDE. Do you have to use that? Uh I'm not sure if you have to use it anymore. I'm probably sure you can just use VS Code. That being said, back in the day when I was in university, which was like 2009-10 when I was discovering this, uh VS Code was not out, and I was not a software developer, so I didn't know about things, probably like Atom or Sublime or whatever the uh you know editor of the day was back then. So you just download R, and when you launch the executable, it launches this little sort of where it's got uh uh you know interface thing where you type and then little th windows that will pop up for plots and stuff. Anyway, so like that that piece of software when you hit control S and O, one of those was like to execute. And so I'd just be trying to save things and I'd be accidentally executing things, which just was so irritating. And I just thought to myself, like, who overrides? That's like overriding control C and control V. Like who does that? You if you're gonna override some stuff, don't override like some of like the most popular shortcuts that is consistent across. It's like making the choice to call a mapping function transform in your language. Why would you why would you choose to do that? I understand we had already used that, but like don't make that mistake. Take a look at other programming languages, see what they're doing before, you know.

Bryce

I I I always like to say I would rather I'd rather be consistently wrong than inconsistent. And uh yeah, I think I think that there's something to set to be said for being uh unsurprising whenever possible. Even if it's um in in your worldview a little bit less ergonomic to do that. But uh but but are your issues with with R, were they solely with the IDE environment, or were there did you have objections to some aspects or were there aspects of the language itself that you think could be improved upon?

Conor

Um I mean I was only doing tiny little scripting things to basically like plot distributions. So I wasn't building like full-scale programs or like, you know, things that were of substance in terms of the number of lines of code I was writing. It's kind of just like I would use it as a REPL and like a scripting engine to generate plots because that's what you were using it for in your statistics and actuarial courses back then. Uh so mostly it was the experience with that little editor and the syntax I really disliked. Um but then even later on, when because I have done a little bit more R programming since I would say that I become quote unquote a software developer, there's lots of things that um I really I'm not a huge fan of, and they've been trying to make um syntactic changes to make it more like functional uh a functional feel.

Bryce

I know that they have an example.

Conor

So like they one of the things they've been trying to add is like a uh similar to what's trying to be introduced to C, which may or may not get there, is like a pipeline operator that enables you to chain these operations together because uh R, I think historically it has more of like an object orientation model where you're calling like methods on objects, but it was never designed super consistently. So uh you're you're almost always loading custom modules for a very specific uh thing that you're doing in some statistical uh you know application. So like for actuaries, you're always loading the uh distrib, I can't remember what the module is called, but something like distrib, and it's it stood for distributions, so you could get probability distribution functions and cumulative distribution functions, and like they'd have every single one under the sun. So like super odd ones that don't typically come up like uh what's an example? Pareto comes up often, Bernoulli comes up often, Gaussian, uh, but uh like Weible, W-E-I-B-U-L-L. That one I had never heard before I started taking actuarial courses. They would have distributions like that where like programming the PDFs and CDFs for those kinds of distributions is like a not it's it's easy it's an easy thing to do. They're not honking at me, they were honking at someone else, just to be clear. Um it's an easy thing to do, but it's just irritating because like it's not, it's it takes time because the complic the formulas are really complicated, and a lot of t a lot of times you have like a continuous um like using integrals and stuff, statement of the formula, but then you have to program like a discrete version of it. Anyways, it's just very irritating, and but like R is the only language at the time. You could just upload a module and then someone will have already done all the work for it. Uh but it leads to this like kind of lispy racket-like experience where like depending on the modules that you're depending on, you have to get used to like a different sort of programming style or programming thing. Uh and so, anyways, they've been trying to add things like this pipeline operator, but like the pipeline operator that they're proposing for R, I think is like three characters. So it's not like a pipe, it's not like a pipe and a less than. I think it's like semicolon colon less than or something like that. And it just looks absolutely awful. Like it's not symmetric across any axis, which I think a pipeline operator should be at least vertically or horizontally symmetric, um, which is really nice about the pipe operator by itself, is that it's both of those. Whereas the pipeline operator that's getting proposed for both JavaScript and C, it's not vertically symmetric, but it is horizontally symmetric. And I just think there's something nice about that. But as soon as you add a semicolon to something, blah, uh man, semicolons suck. Except if they're at the end of lines, because you're not looking for symmetry there, you're just looking for like an end statement kind of thing. Uh which is uh what a semicolon is kind of good for. It's like separating a separator, right?

Bryce

What what that that brings me to the question. What uh what programming languages use a period as their end of line thing? I think there are a couple. I think COBOL may be one of them.

Conor

I'm not sure about COBOL. I know that Smalltalk uses period for end of statement. They also use, I believe, semicolon for a word that I can't remember it's called, like forwarding or something like that. Um message forwarding to the object that you were initially message passing to, but in order to like end a statement, you use a period. That one off the top of my head, I think actually Erla Erlang, Erlang and Smalltalk both use periods. I believe. I could be wrong about that.

Bryce

Alright, well, is there so so but but uh can you give me an example of like something else about all the R syntax that that you dislike? Like you you you or that could be improved. I know you don't like to talk negatively about programming languages, but you s you said that there were a bunch of things about the syntax you didn't like.

Conor

Uh I mean the thing is I've I've it's been so long since I've used R in anger. I just remember that I was I was trying to find like uh what the so the last point I made about like the the weird sort of uh styles is that I was just trying to find an outer product. And in order to find that I had to load some like custom module for something that I thought was like, oh I made a wrong turn, folks. Except I was in a roundabout. You were in a roundabout, you could have you could have fixed that. It's alright though. I'm sure this will only add a couple minutes.

Bryce

Um We we do probably have to Okay, yeah, we'll take the coast. Yeah. Um let's do that. Uh we just gotta figure out uh how exactly to get to the to that. Um we're taking a little bit of a detour. Oh wow, this is gonna lovely. I think we should probably sign off for here now because there is no parking in the actual city of Peron. Uh we have to park in a lot that's like because they don't allow cars in the city except for for residents. So we have to park somewhere away from the city and then take a bus in. And I have not researched how exactly to do that, so we're gonna have to figure that out.

Conor

The last thing about R is that uh they've got like a lot of the times the way that you know things should be done like higher order functions, they just do as parameters to functions that you have to like add for every single function. So for instance, when you're doing like some row-wise or column-wise reduction or something like that, I think they have a reduce and they've got two different arguments like buy rows and by calls or something, and you have to go like true false. And then also to get a scan in R, that's also a call to reduce, and then you also switch switch some like Boolean flag to accumulate. So they've got like they've got like two or three different arguments to this function called reduce. One is for like by rows, one is for buy calls, and one is for like uh uh accumulate, which is also what we call reduce in C, and that's to let you know whether you want to uh, you know, output the intermediate results. Anyways, it's just like a lot of their APIs.

Bryce

And by things that should be a higher order function, what you mean is that like if you wanted to reduce by rows, like you should have some function that gives you a view by rows or something like that.

Conor

Uh yeah, or just like have some like you know, uh uh like in in Julia or in libraries like NumPy, they've just got like a variable called rank. Um I do think we should go right here and take the scenic route. Yeah, we're taking the scenic route. Anyways, I'm kind of like uh trying to drive and so on. That might have not been super coherent, but just like uh the reduce function sucks in R.

Bryce

Because because this podcast is typically so super coherent.

Conor

I mean, I think uh generally, especially if I'm not talking about a language that I haven't written that much about.

Bryce

So I think we're gonna sign off for here. One, because my arm is getting tired, two, because this is uh a fairly beautiful area, and I want to be want us to be able to focus on that, and three because we have to figure out where we're gonna park. Alright, so uh you'll hear from us later. Hi folks.

Conor

Be sure to check the show notes either in your podcast app or at adsphepodcast.com for links to any of the things we mentioned in today's episode, as well as a link to a GitHub discussion where you can leave comments, thoughts, and questions. Thanks for listening. We hope you enjoyed and have a great day.

Bryce

That is the tagline of our podcast.

Conor

That's not the tagline. Our tagline is chaos with sprinkles of information.