Become a Creator today!Start creating today - Share your story with the world!
Start for free
00:00:00
00:00:01
#19 - Carin Meier image

#19 - Carin Meier

defn
Avatar
46 Plays9 years ago
Where we meet Carin and and, when we can get a break from laughing, discuss chickens and the weather. A little bit on Pascal, oh and Clojure too! Show notes at https://defn.audio
Transcript

Introductions & Weather Talk

00:00:17
Speaker
Hello, Deaf and episode number 19. This is Vijay from Holland. Red from Belgium. And... Red from Belgium. Do you want me to introduce myself too? Yes, your friend. And Karen from Cincinnati, Ohio. Welcome to the show, Karen. Welcome, Karen. This is well okay. I'm going to introduce you like, yeah.
00:00:44
Speaker
I thought I'm going to introduce you, but anyway, obviously you don't need an introduction, so that's the nice part. So this is episode number 19 and obviously I'm sitting in, not obviously, but for most of the people, but I'm sitting in Holland and we have a very nice spring day today, 17 degrees.
00:01:04
Speaker
pretty hot day for us. And how's the weather? It's the absolute kind of zenith of boredom. Exactly. That's why I want to start it with like bottom zero. That's why we are taking it off from zero. Go from absolutely boredom to a bit less boredom. Is that what you're saying? Exactly. That's why we have guests here because we both have nothing to talk about.
00:01:34
Speaker
Anyway, let's get started with the topic. That's actually a very good point. Sun is shining, the flowers are coming out. I just wanted to point out this is the first episode in the spring. That was my whole idea. And then you basically ruined it by telling everybody that we have nothing else to talk about. Anyway, good times.
00:01:56
Speaker
Yeah. So I'm sorry. Welcome to the show, Karen. So first, can you, can you please introduce yourself? Like, you know, how did you, what a pro. How did you start with programming? Oh my God.
00:02:13
Speaker
I thought we could get, come on, Karen. What's the weather like? This is awesome. This is, this is really fun actually. Um, so wait a minute, wait a minute. You do realize that this is why we don't do live shows. This is a live show. Okay. Right. Okay. So starting with the weather. Yes. Then we'll dive into how you started programming.
00:02:39
Speaker
So yeah, so the weather today in Cincinnati, Ohio is pretty nice, pretty cold, but there are some flowers out, so they'll probably die right now.
00:02:59
Speaker
Look, I mean, it's like sprint over to a new life, you know, death and morbidity in Ohio. To all the people who are listening to Dafan, we know that you listen to the show to hear about weather. So we just want to make sure that, you know, you're on top of this information. So sunny in Holland, sunny in Belgium, flowers are dying in Ohio. That's pretty much it. Moving on.

Exploring 'Closure'

00:03:24
Speaker
Let's talk about some closure now.
00:03:29
Speaker
I think we should talk about at least a minute of closure, then we can come back to it. Yeah, definitely. Definitely. So, I think the great things are happening. What are you going with that? What are you going with that? Seriously? No, sorry. Okay. Let's switch to serious interview mode.
00:03:51
Speaker
It's like the OP and Anthony show, isn't it? You know, have you ever heard that show? OP and Anthony. Which one? Total fucking chaos. You know, that's what this is descending into. Right, okay. You've got to get me started laughing and I'm not going to be able to talk
00:04:06
Speaker
There is no dissent. We were already there. We were trying to rise both of it, you know. Exactly. I mean, you're acting as if we have started without any chaos or something. There is no fucking way. This is a shit show from the beginning. Yeah, but you're trying to bring some order with the weather, which I appreciate, you know. That's true. Having a consistent topic we can all get around. No possible disagreements or controversy around that one. Okay.
00:04:37
Speaker
We can talk about climate change. Let's not go with Karen about computing now, because people cannot. What about this Cognicast stuff? I mean, you know, this is the professional, you know. We're just like in awe now, Karen, you know, because you're now, you know, in the big league, aren't you? And you're shining down upon us. I've recorded a couple episodes.
00:05:08
Speaker
I don't think I'm really an expert at it. All right. Look, they gave a wrong envelope at Oscar, so there's no fucking way we can go worse than that. Anyway, so, Cognicast. I hear it is pretty amazing. I don't listen to podcasts, so I'm one of the best guys to make podcasts.
00:05:34
Speaker
they don't normally go like this in all honesty you know most podcasts don't go like this so this is yeah it's fresh that's what keeps it fresh
00:05:48
Speaker
He knows nothing about podcasts or closure actually. He never had a language until... He wanted to know if the streets had just closure dudes, but looking for a kind of bit of warmth and... Look, somebody told me I should just sit and speak into this thing. I don't know what you're talking about. Anyway... Alright, okay. At least I can speak English. True, true. So, Cognica has two episodes.
00:06:15
Speaker
Is it like you took over Cognicast or something? Craig and Dara left the show. Well, he left the company and he's moved on. So now we have pre-hosts. So I'm one of them. And then Stuart Sierra is another one. He's great. I mean, he trained in like performing arts and theater. Right. Holy shit, okay. We're competing with pros now. But he's great.
00:06:44
Speaker
at one of our get togethers for cognitive tech. He gave like a session on like using your theater voice. And this is like, I totally can't do it, but if somebody that's been like trained in the theater, like all of a sudden one minute they could be speaking just normally. And then the next minute, you know, they're about this booming projecting voice that goes everywhere. So yeah, he's definitely got that. And then Timothy Baldrige is the other host.
00:07:13
Speaker
And we found out the other day we asked around kind of informally, what's the strangest job you've ever had in your past life? And he actually was a radio announcer at one point.
00:07:25
Speaker
Wow. I know. He's got like one of these voices. So I'm just happy to be there quite frankly. Okay. I hope you're not regretting being on this show. Now performing arts and radio. You say that though. I still think you're the best out of the three of them. So you're so sweet. They're terrible. I think I think they're really disgusting. They're great.
00:07:51
Speaker
I might not say that for this one, you're definitely the best. He listens to the podcast, so he's very qualified to give that opinion. Actually, I listened to the last one with Timothy, where they talked about, and this guy was talking about Alexia, and that was actually really good. It was really good. So, a great discussion that was. But what the hell? Talk about closure, people.
00:08:17
Speaker
What I liked about it was that they started off by saying, oh, this Alexia thing what you know Oh, yeah, but it's like closure because of protocols and you know, it's like closure cut to this like because of that Yeah, I wanted to do closure, but I like darling Anyway, yeah, so it's good. Yeah, it's good. I did listen to it. Yeah, so how long have you been doing this podcast now?
00:08:37
Speaker
Oh, this is 19th episode, so I think it will be almost one year if we meet again at Dutch Closure Day, then essentially we started somewhere in May, I think, first episode. So, we, yeah, we avoided seeing each other physically for almost, wow, that sounded pretty bad, anyway.
00:08:58
Speaker
Okay, I mean in person, meeting in person for almost until Euroclosure I think and then later I went to... So Ray basically lives in nowhere, in the middle of nowhere. Don't mention it, don't discuss this. My whereabouts are in a safe house in Belgium.
00:09:20
Speaker
I think he has written enough code in his life, so he doesn't want to be found anyway. You know, remember that that means that if you write bad code, don't let, you know, don't leave traces. So people are going to find out. But yeah, I think it's been almost almost a year. And I think so. We were very consistent initially, like every two weeks we started recording one show. And this year we have been slightly lazy because apparently it seems he's busy growing his beard and I'm busy baking

Podcast Growth & Personal Journeys

00:09:47
Speaker
bread. And but we're going to get into rhythm pretty soon. So yeah.
00:09:50
Speaker
Yeah, yeah, yeah. Baking bread. That sounds good. Yeah, it's a fun thing. But it's been a fascinating thing. There are lots of people who are lots as in plural, like at least two or three, I think. They tell us that it's a very nice shelf.
00:10:09
Speaker
Apparently, it's just one guy who's listening to it on repeat for a thousand times. That's how we get our numbers up, which works for me. And that's not us, by the way. I mean, that's not us. We don't listen to this thing again and again and again. And honestly, if there's someone doing that, it's true to us to them. It works for me.
00:10:26
Speaker
But you're right. I mean, it's a weird time to do this because by the way, we started it because what we thought was there was a Cockney cast was out there, but there was another need for another kind of way to talk about closure because we're both fans, obviously. So that's the general concept. It was meant to supplement the community and have a different style, as you can imagine. And it feels like, yeah, definitely.
00:10:53
Speaker
We're doing it differently. That's great. I think the more we talk about closure and talk about how fun it is and how much fun we have doing it.
00:11:03
Speaker
the bigger that we can grow the community and the better we are. All awful. All awful. How awful it will pay for us. Oh my god, no. No, we're going to be nice. We're going to be awfully awesome. Yeah, exactly. I think we just need to qualify it with something else, like terribly good and everything is fine again. So, Karen.
00:11:27
Speaker
So you started with which languages? I'm really curious about your coding journey so far. So my first ever professional language that I coded in was Pascal. Yeah, I was a professional. Yeah. I haven't really met anybody else that has coded in that, but it was for a retail company. And I just got just on the cusp end of, you know, when they were using Pascal and
00:11:57
Speaker
And we actually had modems that we would haul up in our phone lines as an easy time to tell my age to all the retail units in the stores. And we'd like to communicate with them their sales and get it back and forth. So that was kind of odd when you think about it now, but that's the way things were done back then. And then we got cutting edge in the company and moved to this language called Java.
00:12:26
Speaker
Wow. I know. From Pascal to Java. Exactly, exactly. And so from Java, I was Java for like many years. And, you know, it was fun. I mean, when I got into it, it was definitely cutting edge and I really enjoyed it. And
00:12:47
Speaker
you know, compared to Pascal. Yeah, yeah, yeah. Of course. It's a big, big step up at the time. You know, write, write once, run anywhere. Should really check out the industry. Yeah, yeah. And I think I always read it like, you know, write once and run somewhere, you know, don't show up again. It doesn't like write once and run anywhere, but write once and run and run somewhere, you know. So I took a break from the industry for a few years.
00:13:16
Speaker
to have kids. And when I left, I was still writing my Java code in some horrible text editor. I'm not Emacs, because I didn't know Emacs at the time. I was some sort of weird text editor that I can't even remember anymore. Was it visual age for Java or something? That kind of shit? It was even before IDs. They had no IDs.
00:13:45
Speaker
So then I come back to work and all of a sudden there's this thing like this massive eclipse thing. I'm like, what the heck is going on? So it kind of, it took a little bit of getting used to, but I got the hang of it and moved to IntelliJ and continued on my Java career. And then I kind of met up and I got hooked up with these user groups.
00:14:14
Speaker
that weren't really a thing. I mean, back in, with more meetup, I mean, it was really hard to get people organized. And then it seems like there's a point where community started to grow. And, you know, I kind of got hooked up with these Rubyists that seemed really, you know, they're really nice people, really cool community. And the thing that I really liked about it is they're really hooked into
00:14:44
Speaker
the joy of programming. That programming can be fun, it can be enjoyable, productive, it can be a truly joyful experience. So I was obviously drawn to that. And so then I kind of fell into Ruby. And still doing some Java too. And then I decided that I wanted to experiment with functional language. And there were kind of two choices at the time that I was going to look into.
00:15:14
Speaker
I was either going to look into Scala or Closure. And Scala at the time seemed a lot more, you know, you could get a job in Scala. If I wanted to be really just thinking pragmatically, maybe I could just look at Scala because I guess they have the norm. I think that's Vijay's perspective actually as well. That companies, companies, they could,
00:15:44
Speaker
The theory was you could easily train your people, right? Because you can make it object-oriented to function. Yeah. Yeah. Yeah. Because it's not that you couldn't. On-ramp from Java. Yeah. Right. Right. So that was one of the theories. But for me, learning, I thought of it as a foreign language. I mean, if I want to learn the language, I want to be immersed in it. I want to be in a functional style and not be able to do it another way, to actually learn how to think a different way.
00:16:12
Speaker
But still on JVM. Otherwise you could have picked Haskell. Yeah. Yeah. I did want to actually be particle. So you want to do something, not just heat up the computer. But I started looking at the closure and playing around with it and I just fell in love with it. And I don't know whether it's
00:16:35
Speaker
Um, because I really never been exposed to lists before that was my first list.

Programming & Craft Analogies

00:16:40
Speaker
Uh, just something about the beauty of the way, um, the language was chained together. Um, it almost reminded me of, I don't know if any of you.
00:16:50
Speaker
do any knitting or crocheting or know anything about doing that? Not yet. Maybe after this episode, I'm not convinced now that I have to start knitting and crocheting. If you're knitting stuff or crocheting, you're making this whole sweater or blanket or whatever out of just one thread just by chaining it together and making these things. But that was sort of how the language could be for me. I mean, with an S expression of a program, you can just pull it, right? And it'll just all
00:17:20
Speaker
Throw it together, yeah. Unroll. Right, yeah. Which was just beautiful. Okay. This is a completely different analogy. So far, I only get card analogies every time when people talk about programming. So this is a completely new one. So, hmm, I need to think about it a bit. I am horrible at any... Actually, it's a special ability that I have to
00:17:45
Speaker
completely make a mess of any sports analogy. I try to use it sometimes. What was my latest disaster? I was talking about a startup and I said, Oh yeah, that's got hockey puck growth.
00:18:10
Speaker
Yeah, but that's very fast, isn't it, you know? Yeah. And actually, there is a thing about hockey, isn't it? Apparently, you've got to move to where the puck is going, not to where it's been. So, you know, you're 90%. Yeah, exactly. So, it's not about where the analogy is coming from, but it is where it is going. So, makes sense. Yeah, I think whoever was listening was obviously wrong. I want hockey put growth. I want it now.
00:18:39
Speaker
I think closure could take hockey puck growth. It would take it. Hashtag hockey puck growth. Let's go for that for closure. Hockey puck growth. We need t-shirts with that stuff. Yeah.
00:19:01
Speaker
That'd be cool. Yeah. Anyway, so you've got the got the next questions on this kind of stuff. Did you how did you like what did you do? Did you just learn it off of YouTube or off the books or what? How did you like pick it up? Because I remember just just to preface that question a little bit. I watched this MIT thing about scheme. And then I sort of saw the Blackboard guys talking about that and the S I C P stuff and
00:19:30
Speaker
Then then I kind of got into it. But what was your was your kind of like, how did you pick it up practically? Right. So I just kind of messed around with it for quite a bit. And I learned. Enough basics of the language that I was able to give a presentation on it at our local Java users group.
00:19:54
Speaker
And this is quite a number of years ago. You just dive right in there. I like that, because I mean, I fussed around quite a lot and deleted and dallied and looked about from a bit. But you just got stuck in. That's really, it's a much better approach, I think, actually. Well, I gave a talk at the Cincinnati Java users group. And at the beginning, I said, we're going to talk about this language called closure. Is there anyone here that has played with it before or knows anything? And this one fellow raised his hand.
00:20:25
Speaker
And I said, I want to talk to you afterwards. Right, right. So afterwards, we got together with another couple of people, too. And we decided to create our own user group on functional languages. Actually, it was kind of funny. His name is Creighton. But him and I, we actually wanted it to be a closure user group. But the other two people were like, I don't think you're going to get enough people.
00:20:57
Speaker
We just made it functional but we've always had heavy core contingent and it's been going strong now our user group in Cincinnati for about five years. I had the same problem in Rotterdam when I started Closure User Group and it was just me and another guy showing up and pretty much
00:21:16
Speaker
And then we thought we should trick people so i just switched to functional Rotterdam and then now i have like 300 members in the in the group at least and then every now and then we just talk about closure so that's that's the way to get into this one but i was i was kind of hoping that when when Ray asked you how did you get into closure and you and you should have said i learned it from living closure book that'd be that'd be totally recursive super recursive yeah
00:21:40
Speaker
Exactly. I was like, I went into the future and I got this book and I came back and then I started reading from that book. That's a good book, by the way, to learn closure. You could have said, yeah, I really wish I'd had a book like Living Closure. No, I have to get shout outs. Part of Living Closure is dedicated to doing some real foreclosure problems. And for listeners who don't know what that is, foreclosure is a website with the number four.
00:22:09
Speaker
and then closure, not really about homes or real estate at all. But that is called out because when I was first learning closure, I wanted to have like a real project to work on. So like a newbie, right? I posted to the Google group. So I was like, hi, I'm new. Is there anything I can work on? And the fellows that were coming up with the foreclosure group were nice enough to say,
00:22:39
Speaker
Yeah. Yeah. We do need some help. Do you have some front end stuff? And, you know, I was, I helped out in the project and it was a great experience and way for me to deepen my knowledge of closure and, and help out a project. So to people who are out there, you know, and looking for a way to get involved and learn, I would encourage them to help out with an open source project. Yep.
00:23:07
Speaker
So what kind of projects did you work on using Closure so far? Oh gosh. Well, I've done consulting most of the time. I have worked for a start, well doing the Closure stuff, but I like consulting because really you get a broad experience. So I've used it on startups. I've used it on like huge Fortune 500 companies.
00:23:36
Speaker
It's really successful everywhere. My most recent couple projects have been startups and another one was for a game company. That's a fun one too. I really enjoy it. As far as development experience and joy of programming, since I've been the closure, I haven't really looked back.
00:24:06
Speaker
But you're working for Cognitec remotely, right? So how does it work? I mean, do you travel a lot when you're on your consulting? It depends on the client. Generally, of course, when you're kicking off a project, having high bandwidth conversations in person are useful. So that's when we would travel and get together. But most of the time, I work very productively
00:24:34
Speaker
from home, I have like a great, you know, monitor set up a better office. And I don't have any commute time. That's true. And so so because you talked a lot of a lot of companies which are using closure for, of course, in production and everything. So
00:24:55
Speaker
Do you have any insight on what kind of challenges that they face picking closure? Because most of the time when you hear people picking closure, it's always like, oh, we can't pick it because it's not popular. We don't get developers. And there are lots of reasons that people come up with. Right. So that's the biggest thing that, I mean, I'm sure that you've heard too, right? Yeah, that's what you say though, isn't it? Right.
00:25:25
Speaker
I would say the easiest way to approach that is to enable your company to have remote people. Especially since my last two engagements, I've been working with startups. If you're a startup, I've just seen it work so well to have it just start out as distributed. I mean, you can hire whoever you want
00:25:55
Speaker
And it doesn't matter where they are. And you don't have all the costs associated with having a fixed location that you don't know whether you need that yet. I've seen so many startups excel using a distributed setup. And in that, Closure just works great. I mean, there's plenty of Closure developers that
00:26:19
Speaker
you know, can just work remote from anywhere. What do these guys, sorry, I was just gonna say, what do these guys,
00:26:28
Speaker
Well, assuming that they can find people, so what motivates them actually to say, I do want to use Closure? How do they find it? How do they say, this is the thing? Closure is the thing which will move the needle for me in terms of programming languages. Because I guess they have to have that motivation, because it is an unusual choice still today, let's be honest. It's not a totally mainstream choice. So what is the kind of thing that moves the needle for these guys?
00:26:59
Speaker
I think once they hear how productive they can be in it and also, you know, with the Detomic stack, really, I think as we as Clojurists, we really don't
00:27:14
Speaker
We're humble people sometimes. We don't get out there and we talk about the incredible advantages that Closure gives you. I'm talking about the node people. They're going all in on about single language, client server, etc. But we have that with Closure. We have that with Closure Script. You can share code across both of them. We have a compelling story adding the atomic in the spec.
00:27:44
Speaker
If people are open to listen to the advantages that Closure gives you, especially to move fast and build sound software, Closure wins, hands down. And usually I see these companies, they've talked to
00:28:07
Speaker
you know, somebody that's kind of left them in on the secret, right? It's like a secret. It's like, if you want to succeed, you should use closure. Right. Yeah. Okay. And is that the immutability thing you think in the end? Do you think that's the key thing? Because that's what always strikes me as the ultimate weapon. Yeah. Yeah. I mean, definitely like, you know, get the Paul Graham lisp is the secret weapon and then combine that with immutability and
00:28:36
Speaker
the JBM and it really, to my mind, it's the killer stack and I wouldn't trade it for anything. So speaking of a stack, so what kind of libraries and things that you see in the wild when you go to these consulting gigs? Yeah, well, I mean, it depends. I can tell I'm a consultant because I was like, it depends. So you're not forced to use pedestal then?
00:29:07
Speaker
Well, I mean, I like Pedestal. I've definitely used Pedestal successfully. I'm using it on my current project. So it's very powerful. But there's a lot of good tools and libraries out there in Closureland.
00:29:25
Speaker
So are they mostly web related things or the project that you work on or did you work on any like desktop or I don't know. So the game editor that I worked on was a actually Java FX based, which was kind of interesting. Interesting. Yeah. Yeah. So for the majority of the things are usually, you know, if you're, if you're just working on server side stuff, you know, plane closure,
00:29:54
Speaker
Or if you're working on web stack stuff, then you're going to have closure on the front end with some sort of usually like React framework and then like Pestil Ring. How deep is the penetration of Datamic everywhere? Because every time Datamic comes in, I mean, we keep saying, okay, this is really awesome because it has a different way of looking at the data with the time component added in. And the mutual ability. Again, that's the music.
00:30:21
Speaker
Yeah, exactly. Keep appending to it. But the thing is, what is the level of penetration? Because there has been some changes in the license as well, like the licensing model, et cetera. So do you get any questions about when are you going to open source it or that kind of crap? Yeah, well, just stepping back to tell you kind of how Cognitect is organized, there's kind of the vision in the middle. There's like the product side.
00:30:47
Speaker
With Rich and everyone, they're working on the Atomic side and there's kind of the consulting side of the house that I am on. So I don't get, I mean, I kind of see what's going on in the product side, but I'm not immersed in that in day-to-day operations. But definitely, Atomic's a great product, especially, I mean, it makes total sense for
00:31:13
Speaker
like people that are in financial industries and like health care. I mean, the sort of capabilities of the immutability and the persistence of the record. I mean, that's just a natural fit for them.
00:31:28
Speaker
Yeah, I think the latest changes to the licensing model are way better than the previous one at least. So I think that's a very nice thing to see. Okay, so EMACs are intelligent. Oh, shut up. That is the biggest question, right? I thought we weren't going to talk about politics here.
00:31:52
Speaker
No, no, no. Emacs forever. Exactly. But there is no way. I was going to ask you whether, you know, one of the things about Java in the good old days was all these design patterns and stuff like that. And then the other one, I think if you look at Ruby, Ruby was a little bit like that as well. I mean, Ruby to me, I like to talk about the joy. I mean, I never really was a Rubyist, but I read the books and sort of nearly came to drink the Kool-Aid.
00:32:21
Speaker
But like I said, it was a joy. People really took it to the next level, and they really made things, what should we say, rich. All their data structures and their programming things, they always went that extra mile.
00:32:36
Speaker
And that strikes me a little bit like closures a bit like that when people get really into it. But what do you think about the patterns or whatever that emerge from closure and closure script? Do you see it like because it's lisp that the patterns are kind of in the language and they just fall out or? I'll shut up now.
00:33:00
Speaker
Longest question in the world. I guess you have to think what's the difference between, and this could be, you know, like a really deep conversation or not. But what's the difference between... Like what's the difference between patterns and idiomatic code?
00:33:19
Speaker
Is that the same thing? I don't know. Well, no, I think I think patterns are, you know, you can write a book about them and say, you know, you can have the visitor pattern, you can have the factory pattern and stuff. I don't think that's idiomatic code is it in any language? No, I think that's kind of like, there's definitely some kind of notion that you have to do something different to achieve some laudable goal, you know, like reuse or whatever the patent guys are talking about, you know, safety or
00:33:49
Speaker
You know, which is kind of like this immutability thing with lift and sorry with enclosure gives us this a lot of these patterns kind of like for free, let's say, you know, you've got all the good kind of behavior that you want in the language rather than having to absorb some extra thinking on top of the language. Yeah, that's okay. Can you give me like an example of a pattern that you see? Well, I was asking you that.
00:34:26
Speaker
I guess I'm saying that I'm not, so I want to clarify what you mean by pattern because I don't really... Well, let's say for instance...
00:34:38
Speaker
Like, okay, interesting question. And it's something that I've been fiddling with for a little while. It doesn't really matter. When do you go to a macro and when do you stick with functions? I think that there's a sort of, there's a pattern. I've been rereading the Joy of Closure recently, and he's got like three or four different use cases where macros are useful.
00:35:03
Speaker
And I don't know if that, I've never really used macros. I've started to do some recently for fun, but that seems like there's a kind of pattern there where macros would fit into it where functions wouldn't because functions would fit 99% or 97% or whatever. Yeah, I don't know whether, I guess it's a pattern. Yeah, I have to think about that.
00:35:32
Speaker
Yeah, generally I'm the same with you with macros that I try to avoid them wherever possible, unless I really need them. Places that, you know, of course you might need them as if you're doing the same thing over and over again and you need to generate something like a deaf and like thing that you can't do anyway else.
00:35:57
Speaker
Well, let's go back to a simpler question, which is like, I guess the pattern that Stuart isn't here, Stuart Sierra isn't here, but he's got this component pattern, which is this dependency injection thing and this whole reloaded stuff, which seems to be a countermeasure to the slowness of the JVM. But then built on top of that, there's all this other goodness that is about, I don't know, ordering the dependencies and stuff like this.
00:36:25
Speaker
Maybe it's probably more of a concrete instance of a pattern. We see quite a lot of different libraries coming around with that pattern now, mount and system and stuff like this. Yeah. I think that's one of the strengths and maybe weaknesses, too, of the Closure community that there are so many different ways to go about doing things that
00:36:53
Speaker
And it seems like we're not real opinionated, right? So we're not like, yes, you must do component. This is the way to do things. Well, I think at the core level, we are opinionated. At the core language level, it's very opinionated. And then the rest of the surface area where community is trying different things, I think that makes sense in my opinion.
00:37:18
Speaker
Yeah, I mean, it's great. I think that's one of the culture things that I like about closure that we're kind of open and we're like, yeah, whatever, you know, whatever works for you. We like to try and explain things with them. On the other hand,
00:37:30
Speaker
And this has been a criticism that I've heard from other communities or people trying to get in. They come in and they're like, I don't understand. How do you do things? Why don't I just have, why don't you just tell me what to do? Because we're elite motherfuckers, that's what it is.
00:37:52
Speaker
We're like, no, you've got to find your own way. The tower of closure will come to you, my son. OK, maybe another example of a pattern, actually. OK, I'm getting to the feel of it now. Spec is another pattern where you want to test the values of a map or whatever, of a data structure. But you don't want this heavy typing.
00:38:17
Speaker
but you want something, you know, some lightness. That's an interesting one, I think. And then there's been a bit of a, I don't know if you've thought of the closure user group, the Google group, the email thing. But there's been a thing. Yeah. Well, that's what it is, isn't it? Well, I get it in the email anyway. It's Google groups. I get the digest. You've heard of email, BJ?
00:38:44
Speaker
I don't keep up
00:38:49
Speaker
I don't keep up with the technologies. That's way too advanced. Anyway, there was a bit of a drama this week or the last week or two with Spectre. Yeah, whether it should be in the core or not. Whether it should be in the core. Or the ideas at least. Should the ideas be in the core. And actually what was interesting was I learned a lot of stuff on that discussion actually about lenses because I didn't really realize what a lens was. And it turns out that's what it is.
00:39:18
Speaker
You know, it's this kind of view into a deep nested data structure. And then there have been all these people talking about different lens libraries. And I think Nathan Mars says the specter is more than that, so fair enough. I don't know. I'm totally rambling now.
00:39:37
Speaker
What's the question again? What are patterns? So the question really is like, does this lens thing fit into that pattern as well? And you know, are these the things that you're seeing in the wild? I don't really know a whole lot about lenses. I hear them used in conjunction with Haskell a lot, but I've never really kind of dived in and looked at it myself.
00:40:00
Speaker
So I really don't know. I know that I've heard people talk about Spectre and how they've enjoyed using it on their projects, and that's great. You know, I think Clojure and the community always has room for great libraries. I haven't personally used it myself, but I haven't been using deeply nested data structures, and if I come to a point where I'm needing that to solve a problem, I'm going to take a look at it.
00:40:26
Speaker
But I think that the argument on the mailing list was pretty interesting for me as well. Of course, you need Spectre to inspect the data that is really deeply structured, but then that is also obviously showing you that the design that you made is deeply structured. Then if you take a step back and then think about
00:40:46
Speaker
having a deeply structured data, is it really a good thing? Of course, you need a new tool now, but can you simplify it a bit? So it is always kind of a, I was reading through it and I thought, initially I thought, hey, Nathan Marge, you know, it's a pretty awesome guy and he must have thought of, because he's one of the guys who made a lot of the cascading or something. I think his argument is that there's data out there
00:41:13
Speaker
in in kind of like legacy databases or legacy systems and and that's what all these big data systems like storm he made didn't he as well so he was like all this big data stuff is this unstructured data some bits heavily nested so if you want to deal with data like that then you have to have something which will have you know i think the argument behind uh spectre is that and the argument against closure is that the the the standard library is idiomatic way in closure as you might say kind of is that
00:41:43
Speaker
When you give a data structure in, you want the same data structure back or you want to be able to get a map out or a vector out or an array out. Whereas if you use idiomatic closure, then getting that same data structure out or any kind of data structure out is quite tricky. So you have to do intus and map cats and flattens and all this other stuff that is annoying, let's be honest. If you're doing it repetitively, it's annoying.
00:42:13
Speaker
So that's the motivation, I think, for Spectre, is that, well, if you want to manage these deep-inested data structures and have some handle on the output in a simple idiomatic way, then this is the library to use.
00:42:28
Speaker
Yeah, but the question, as far as I understood it, it wasn't about whether Spectre is a good idea or not, but it was whether to include it into Closure Core. Yeah, Nathan actually said... Yeah, that was the major... He was asked... Apparently, it was a bit of a passive-aggressive question, I think, because, like, ooh, people keep on asking me why, you know, should it be in the Closure Core? People keep on telling me that. It's really fucking awesome. And what do you guys think? Are all these people that were saying this great stuff about my library, are they right?
00:42:56
Speaker
And Alex said, nah. I guess I'm sorry that I missed the Google team. I totally missed all this. Now you're up to date on that one. This is the bullshit you talk about on this podcast. Exactly. You've come to the right spot to get this information. This is the big news of closure.
00:43:23
Speaker
We're like Fox News of closure. We decided that already. Let's let's let's let's say with spec a bit and so you you gave a talk at your closure as well by using spec for a self healing self healing code.
00:43:42
Speaker
Yeah, can you give us some insight about that whole idea of self-healing and then using spec for it? Actually, before you go there, before you go to the self-healing bit, are you starting to see spec out in your consulting bits and pieces as well?

Closure in Startups & Challenges

00:43:58
Speaker
Oh, OK. So I have to tell you this. So the last startup I was working with, they were using it in an extremely clever way. And I've seen it now at some other startups.
00:44:12
Speaker
And I think it's a great way of doing things. So what they do is they use, cause this is a lot of people don't really get the generation power. Right. Right. I mean, sure it's a validation, but it's got, it can like generate test example data for it. And you can hook that up with like custom generators. So you can have your data look really realistic.
00:44:37
Speaker
And when you combine all those spec, you can compose all those spec things into data structure. So then when you call generate on this data structure, basically you have like a client front end fake database. Cool. So what I've seen people doing is especially in startups where they're like building MVPs and they're trying to be lean
00:45:05
Speaker
and trying to build the least thing that you can get feedback on, right? The smallest thing that you can get feedback on. They take the single page app, spec out the data with closure spec, use it to generate fake data. So that way you have something that's kind of client only and the features that you want that the product people can then take and get feedback on.
00:45:32
Speaker
prove out that whole schema. Do you really need that piece of data? Is that data like not important like you thought it was? And then when they get the feedback, then you can start building out the back API part. And in the meantime, not do the after first and, and you can share that spec because it's ClosureScript, Closure, you can write it in CLJAC files. So you can share the spec across the front end and the back end. And then,
00:46:00
Speaker
you can use it to validate the data going across the wire. So you've got like, okay, it's at the boundary points. Is it leaving? Is it in good? Is it how we expected? Is it right at the front end? Is it how you expected? So you're, it's an incredibly smart way to build things. You're back in the desk, by the way. Oh, sorry. We can literally say that you're excited about specs.
00:46:26
Speaker
It's so awesome. Why are people not doing this all the time? That is really cool. Yeah, that is really awesome. It's almost like you're going to tell the people to spec the shit out of it right now. You should. It's not only for startups or anything, but really, I'm a believer of if you're building on a feature, you should definitely make sure to know whether that feature is actually doing
00:46:54
Speaker
What are you supposed to do? And if it's not, you should rip it out. To your point, Karen, it's actually an interesting way of discussing this because I remember when...
00:47:05
Speaker
I think, I can't remember who it was. I think it was Stuart Holloway or Alex. Alex came to like, I did a webinar for our Belgian closure user group at Christmas, which was really awesome for us. But he was kind of talking about this like generative testing. And it's like, yeah, you get some of these tests for free and maybe it's not that great. Let's be honest, you have to do some code.
00:47:27
Speaker
But I think your way of selling it is much better, which is to say, actually, yes, you're not going to get 100% of these tests for free. But that's not a problem because we've got an awesome tool for you to give you much more than just a bit of generative testing. Actually, we've got some infrastructure which will give you the ability to spec it out, to generate it, and also to try it out, to do MVPs.
00:47:50
Speaker
all this kind of modeling stuff that you've got all of a sudden the capabilities for in the core. That's actually quite a much stronger way of positioning it, I think. And that's possibly why people aren't getting it is because it's kind of like undersold a little bit at the moment. You know, it's kind of like, yeah, yeah, yeah, it's kind of does some things, but it's not. But actually, I much prefer the way you're talking about it, because it's, it's got a purpose, then it's got a it's got a value.
00:48:18
Speaker
Yeah, I think it's just a new technology. We're still trying to figure out the best way to use it. And I think it makes sense that innovative startups, they're figuring out how to use it. They're figuring out how to get the value that they need out of it, right? So the next round of conference talks will be about this. Where we start to see it in the wild. See it in the wild and see the benefits and see how we really should use it. Yeah. Right.
00:48:46
Speaker
Awesome, yeah. And then specs and the self-healing stuff. So what is the self-healing thing about it? And you, as I was pointing out, you know, you were there at the year closure and then you're talking about self-healing code. So what was the idea behind it? Yeah. So it's just kind of another example of me trying to learn things and then like I was interested in genetic algorithms and like how they all work. So I started
00:49:15
Speaker
trying to mess around and trying to make them with closure. And this is around the time spec came out. And I started thinking, hey, you could use spec. You could spec the shit. Combine this with this. And it's just an experiment. But it was fun, maybe useful for somebody. I kind of like to float ideas out there and see if somebody
00:49:44
Speaker
might be useful to somebody. But yeah, I think still we have a ways to go in figuring out ways to apply spec. There's this really cool deep learning library that is now
00:50:03
Speaker
it's almost to release one out called Cortex. Yeah. Yeah. I saw a blog poster that was my next point. That was, I was about to ask you, like you, you were doing that, was it a Kaggle competition or was it cat dog thing? Yeah. So you, you're using Cortex to do the deep learning and then identify the things, right? Yeah. So this is the other point that you'll probably hear me, um,
00:50:31
Speaker
talk about or a rage, depending on my mood. But the whole Python has got a lot on the whole AI, deep learning space. And that makes me mad.
00:50:52
Speaker
It really does because I have a deep belief that, you know, closure would just be so much more effective. And I just got done doing this, it's called like fast AI, but it was called practical deep learning. It was a great course. Wonderful. I told you, you know, it's a kind of focus about Kegel competitions, Kegel for those who don't know what they are.
00:51:20
Speaker
data science based competitions where you do things like they give you a big data set of cat pictures and dog pictures and your job is to train up a model on their test set and then you submit your results and they score you and there's like a leaderboard and it's really a great community and they've got a lot of, they pushed the bleeding edge
00:51:49
Speaker
with those competitions. It's getting people working on the same data set and pushing the results. It's not just cats and dogs. I mean, it was like hotel reviews. And just to clarify to the people who are listening. Oh, yeah. They had like a, what was one competition? There was like state farm destructive driver competition. So it was classifying the drivers whether they were talking, texting, paying attention to the road. There was one that was just for the nature
00:52:18
Speaker
Conservancy, I think. But it was all the boats have footage of what fish come on. So it's the job of the machine learning algorithm to identify the fish. And this is an effort to automate making sure that there's no overfishing in areas and that they're fishing the wrong fish, that sort of thing. And they have various health
00:52:48
Speaker
related ones, too. There is one looking at CAT scans as well. So it's a really interesting community. So they have dog scans as well. Yes. That's right. OK. I'm pretty sure there are dog scans as well. Serious point. Yes, back to CAT scans. Sorry. But I mean, the whole thing is Python, right? And I could do the code in Python. It's not that different from Ruby.
00:53:19
Speaker
the difference of moving from immutable, functional, beautiful language like Clojure. Moving back, it's just like, oh, this would be so much better if we could do it in Clojure. So I am totally supportive of the Cortex team for trying to develop a Clojure-first library so that we can do stuff like that. And I think, and this is where spec comes in too, and maybe the potential of it,
00:53:48
Speaker
They're talking about incorporating some spec into their network descriptions and layers descriptions. But once you spec the asset of things... It's okay. We take care of all the crap, so no problem. But then, what stops you then from using the generation aspect of it?
00:54:09
Speaker
of, oh, well, you can just generate these different network structures. And then if you generate different network structures, assuming that you have enough computer power, you could do these things like having the generated deep learning infrastructures. And maybe we can find a better infrastructure to do. OK.
00:54:35
Speaker
I mean, I work in big data stuff, machine learning things for fraud detection. So we use Spark and other things right now.
00:54:51
Speaker
The thing that bothers me with closure is that it's not just when you enter the big data space, when you enter the machine learning space, it's not just the language anymore. It's just the libraries, it's the tooling around it, and it's the security, it's compatibility with HDFS, all sorts of like you need to buy into the ecosystem. And I tried looking into like, because initially it was basically statistical stuff that we're gonna do, all the standard stuff like classification and clustering and these kinds of things.
00:55:20
Speaker
very, very, very primitive machine learning things. But even for those things, we don't have good libraries and closures. So that is one of the biggest, you know, challenging part of bringing in closure as part of this thing. So maybe, you know, from like, from data, from ETL job, for ETL, we already have very nice story with ONIX, right? I mean, that's already done. And then the next part is the distributed computing. I mean, there is no coherent story with closure. I mean, everybody that goes to Spark or Flink or something like that.
00:55:50
Speaker
And then on top of it, algorithms. Okay, Spark has Spark ML. And if you want to use other things like H2O or something, you can use them as well. And then the user side of it, you need a notebook. And the notebook, Python guys are like way, way ahead with Jupyter. So they're all like, of course, I think, they're all open source. I think there are some things like proto-repl and stuff like that, which could- Yeah, exactly. But these things need to be pro-repl.
00:56:18
Speaker
Yeah but these things need to be put together so I really like that you're putting your way behind it and I like that you saw your blog post with Kotex and Kotex and Kaggle things I was like okay I should play with this thing too a bit because so far I've just been using Python or Spark essentially.
00:56:37
Speaker
And also the data scientists, the people that I'm working with, they're very familiar with Python. So it's difficult for them to switch to something else. So either they need R or they need Python. But it would be pretty awesome if there is a significant weight behind this effort. Then I completely agree with you that Clojure is one of the best languages to do these kind of things. So I don't know, fingers crossed. Yeah, I feel like I'm back in that.
00:57:07
Speaker
Java users group where I'm like raising my hand. I'm like, who has done deep learning with closure? Okay, raise your hand. I want to talk to you afterwards.
00:57:21
Speaker
We should get together and do something. Yeah, that's really nice. OK, so we're almost one hour into the talk. I mean, the time is flying by. Yeah, it's pretty cool. So I was going I was looking at your website and I see something called Code Shifter. What is it about? Is it like a super fantasy young adult novel or something or Twilight shit or I don't know. This is aimed at about.
00:57:49
Speaker
nine, 10-year-old girls. Oh, okay. This is going to be toilet saga closure. But it came about that my daughter at the time was like super into reading like, you know, Hunger Games, The Virgin, the kind of things that are going on there.

Innovative Projects & Personal Interests

00:58:11
Speaker
And I noticed that there were never, never any girls like, you know, doing programming or
00:58:18
Speaker
If they were, you know, they were the hoodie variety. I just had this idea that I would like to do a story that my daughter would be interested in that would have real code and programming concepts in it.
00:58:42
Speaker
but not being like a front and center annoying, now we're gonna learn how to code. You know, sort of thing. It would just be thrown in there, right? You know, and my hope would be is that the story would be fun enough and engaging that the code would be kind of just interesting and part of it that it would just have like positive associations. And then when she would see it later again, she'd be like, oh yeah, let's, you know,
00:59:11
Speaker
totally. I was like in my book when I was totally not, I'm totally not afraid of that. I mean, that's, that's a function. So it's an experiment. You know, no one
00:59:29
Speaker
writes a fiction book for money or anything like that. Exactly. That's what I was saying. I was about to say like, you never know. So it's been a fun experiment with my daughter and actually my son
00:59:51
Speaker
got into it too. So he sends pictures and concept art for it. So it's a fun adventure for our family. And I'm just going to go ahead and self-publish it. My sister just did the cover. It's awesome. Oh, so it's almost done now. It's almost done. Right. Excellent. Cool. So if people are interested in
01:00:12
Speaker
You can definitely purchase it. I'll probably have like a good chunk of it just for sample because it is something kind of weird. You can decide if it's your cup of tea first. So this is a code shifter saga or something and then that starts from there and then she made me
01:00:32
Speaker
have it open to serious potential that way. There's a cliffhanger at the end. Go to that point. There's a cliffhanger at the end though. I'm guessing that the book starts with the open parenthesis and there's one balanced parenthesis. Oh no. And everybody is going to be so pissed or like, God damn it, when is this going to be balanced?
01:00:54
Speaker
But in my wildest dreams, in my wildest dreams, it would get popular. And then at the closure conges, there would be like the sea of like nine and 10 year old girls and being like, closure, we love you. That's a good dream. That is a good dream. Yeah. There'd be like people standing in the queue and then wearing, I don't know, the symbol of code shifters.
01:01:23
Speaker
and then a keyboard with just parenthesis keys and nothing else. That's going to be awesome. Anyway, when I was reading the description, I thought it was just an idea or something. I didn't know how far you were this far. Congratulations on writing that. Do you have any release date or something for this one?
01:01:47
Speaker
No, it's just a matter of getting all my parts together and getting my free time on the weekend. Fair enough. So, soon. Yeah, of course. That's very, very nice to hear. It's like speaking to a renaissance woman, really. I mean, author, technologist, scientist, there's so many things, you know? Drone programmer.
01:02:16
Speaker
Yeah, on genetic stuff. And then you're so fluent about weather. It's like a whole... Did I tell you I'm getting new chickens in a couple of weeks? You can tell us that. I didn't mention that. So this is very exciting. What's wrong with the old chickens? Well, they get eaten. Oh, gosh. That's death. Sorry. We don't understand the concept because this is a vegetarian podcast. No, we don't either. The wildlife does.
01:02:46
Speaker
Yeah, so we started off with a flock of about like 15 and now we're down to four because, you know, hawks get them, raccoons get them, you know, wildlife. So you're in a bit of nowhere also, basically. Well, we have enough space to have chickens, but basically the exciting part of the chickens.
01:03:09
Speaker
So the exciting part is I'm splurging and getting fancy chickens from this meal order place. Okay. Two of them are extremely fancy. They are lavender, purple chickens. Wow. So do they give you purple eggs? Is that the idea? They get pink eggs.
01:03:29
Speaker
Holy shit, let one learn, okay. Is that a male order? I mean, it seems a bit weird. I mean, literally, UPS dropped them off. They do. Yeah. Oh, right, okay. We got geese that way too. Oh, right, okay. Fascinating. And then you're going to fly to your house. On Amazon drone dropping down. At the bottom of the drone, yeah. Yeah, exactly. They're just flapping their legs and then just drop them and give them a parachute.
01:03:59
Speaker
The stork story actually comes reality. You have the drops on and I'm like, wow. Actually, that's an interesting question because funny enough, we have a bit of garden as well and we're thinking about getting some chickens this year.
01:04:16
Speaker
So you can see if they have them. They're called lavender Orpingtons. Lavender Orpingtons. So they're pretty pricey. So this is a big thing. Like normally I have never paid that much for a chicken, just to give you a price point. So chicks are usually like, I don't know, like two or three dollars to get, make sure you get, you know, a healthy, but this lavender chicken is $20. Wow. I know. I know. Like I,
01:04:44
Speaker
The only reason I'm getting a couple of them, well, I was only gonna get one. But then I thought it would be kind of cruel to the one purple chicken if they just thought, oh, I'm just a weird purple chicken, you know, I'm strange. So if I get two purple chickens, they know that they can be purple together. Exactly. But do you think that the local wildlife would be thinking, oh, what the fuck? Why is this a real lavender thing? I cannot eat this thing.
01:05:13
Speaker
See, this is a thing. So if they get eaten right away, I'm going to be really sad. OK. So we will send our good thoughts to you, our lavender chickens. They're going to be safe and secure, and there won't be enough. They're not going to get into stupid racism shit, I guess. Well, the other chickens, one of the other breeds of chickens that we're getting are interesting ones. See, if you go on about chickens, you're going to have to cut the side of the show. Ah, no, it's good.
01:05:42
Speaker
But there's this other breed called bakais and this is interesting because it's a breed that originated in Ohio and one of the only breeds that was started by a woman. And the bakai chickens also have a reputation of being
01:06:01
Speaker
If chickens would wear motorcycle jackets. These would be the chickens. The Hells Angels of the chicken world. Yeah, the Hells Angels of chickens. They're known as being excellent mousers. Mousers? I didn't know there was like hunting chickens. They're basically like little velociraptors. Oh, Jesus. Holy shit. Okay.
01:06:27
Speaker
Chickens are essentially dinosaurs, right? They could have already eaten the purple ones, let's be honest. No, they said, hey, check, they said they're not aggressive, but they don't take any guff. All right, okay. That's her bleeper of life. That's the marketing pitch. But do you have only chickens or do you have some other animals as well? Or is it just the chickens?
01:06:52
Speaker
Well, not farm animals. We have a dog and pigs, but we had geese at one point, but I will not do geese again. So chickens, they go into their cupid night, which is nice to see closed doors. Geese do not. I used to have to chase the geese back into their enclosures every night, which is not fun. If there was videos of me, I'm sure it would.
01:07:20
Speaker
Okay, so two takeaways from this podcast. You spec and get purple chickens. Yeah. Exactly. Pretty good summary. Yeah. All right, so cool. Anything else you want to talk about? Of course, we talked about chickens, we can talk about specs, and we talked about a lot about your experience.
01:07:44
Speaker
By the way, we are going to have a Dutch closure day next, I think in a couple of weeks, March 25th or something. So we're almost done with the whole preparation and everything. And there are excellent speakers lined up and the Deaf and crew will be there, which is basically me and Ray and our awesome audio dude, Walter from Belgium.
01:08:10
Speaker
Yeah, I mean, I've been working, not just me, but along with other guys, we've been working really hard to set up a nice program. And I think we would, we all did a pretty decent job and we'll see on 25th how it is going to be. And we have James Reeves, we've just, Dave Chester, ring component, sorry, not component, but ring and other famous libraries written by him. He'll be keynoting this one. So that's what is happening from Holland, I think.
01:08:46
Speaker
Apart from you growing beard and... I'm actually going to talk, I'm going to do a deaf joke. Yes. Which is actually... I've actually done the coding now as well. That's why I've been playing with macros. Yes. Exactly. So there's going to be like real... At the euro closure I would like... I did a joke about, yeah, this is a macro to do functional programming jokes. But now I've actually written a macro to do functional programming jokes. So I'm going to do a live coding of functional programming jokes. Jokes.
01:09:06
Speaker
Anything else that you want to talk about?
01:09:18
Speaker
It'll be based around the 45th president of the United States. Yeah. It writes itself, you know. You find politics out. Yes. I think he's going to write down the executive order banning all Belgiums with the UK passport or whatever. Anyway, so Karen, anything else you want to tell to our audience? I think we are almost 15 of them.
01:09:49
Speaker
OK, so thanks a lot for joining us. It's been a wonderful evening. And we have just one final question, actually. Just one final question. Gigasquid. Where does that come from? Where do you get Gigasquid from? Because everyone should follow you on Twitter at Gigasquid. It's an awesome Twitter name. Yes. You know, super awesome Twitter name. But yeah, mind blown by Gigasquid. Where's it coming from? So do you remember AOL instant messenger?
01:10:18
Speaker
Yeah, yeah. So we would have LAN parties during lunch where I worked and play Half-Life, if you remember. And my screen name there was Squid. So I tried to get in some messenger with Squid and it was taken.
01:10:45
Speaker
and Megasquared. All right, you went up to the next house. I'm going to try and find Terrasquared after this.
01:10:59
Speaker
If it's not taken, I'm parking it. All right. Fantastic. Yeah. So I think that's all from us today. Again, once again, a big thank you to Karen for graciously accepting our invitation to join us and talk to us.
01:11:23
Speaker
And this is our 19th show and I think there are a couple of credits that you want to give out. First of all, Wouter Dollar has been doing an excellent job of fixing our stupid recording setup the way that we're recording. And the music so far you've been listening is from Pizzeri.
01:11:43
Speaker
Links will be on the show notes and he's making music for us and we're essentially stealing his music and not paying him but he's living with Ray so I think it's essentially covered from there and his music is on suncloud so go check them out
01:12:04
Speaker
I hope most of you people who are listening to this one will be there at Dutch closure days. We'd love to have a chat with you guys or their guys and girls, of course. And that's it from me now. That's very professional. Very nice way to end it. Okay. Right. Thank you very much. Thanks, Karen. Thanks. Thanks, everyone. Thank you. Cheers.
01:12:51
Speaker
you