Become a Creator today!Start creating today - Share your story with the world!
Start for free
00:00:00
00:00:01
#20 - Eric Normand image

#20 - Eric Normand

defn
Avatar
60 Plays8 years ago
Eric imparts his smooth, smooth tones and worldly wisdom to the Defn podcast crew. See the full show notes over at https://defn.audio
Transcript

Introduction and Welcome

00:00:17
Speaker
Yes, here we go. Show number fucking 20. I shall start that again, because maybe it's fucking shouldn't be exactly the first word we say. Okay. Welcome to show number 20. Hello, and we have Mr. Eric Normand over in the US of Air. Hello. Hello. Yes, in New Orleans. From Trump's vernier.
00:00:43
Speaker
We won't go there today. I guess I could pull a Brexit joke or something. Yeah. So Ray in Belgium. You're not in Holland, are you? No, I'm not in Holland. I'm in Germany. I'm in Munich for the rest of the week. I just landed today. So I'll be here for the rest of the week. So this is the first time this is a different half of it is on the road. Yeah. Very cool. That's awesome. Yeah. So I'm at a nice Airbnb with a lot of books. So it's going to be fun.
00:01:14
Speaker
All right.

Humorous Composting Story

00:01:15
Speaker
So last week we started off with the weather. And we could go there again because that's always a great subject. But I figured just to try a different tack, I thought I'd recount something that I did today that was just really interesting. But it turns out that I needed to move some compost from one composting from a compost box.
00:01:41
Speaker
near my house to a composting site where from my house.
00:01:51
Speaker
We started from weather or not. It was really an awesome job. We thought the weather discussion was shit. And this is not literal shit. I mean, this is like proper. This is literal shit. Yeah. Awesome. I don't think we can go below than this in terms of boring crap. Well, don't challenge yourselves too hard, because you're going to. I think we have plenty of stuff. We can talk about curling. We can talk about Scala. We can talk about a lot of things that can bore people out.
00:02:21
Speaker
But anyway... Java. Java classes and type hierarchy. Exactly. So you're trying to tell me that composting is not interesting. Just to be clear. Whatever works for you. I mean... Was it worm composting or some other kind of compost? Just natural, vegetable and the kind of papers and stuff like that. Organic compost. Organic. Do you throw your coffee grinds in there?
00:02:49
Speaker
Oh, yeah. Yeah, absolutely. That's the good stuff. So you're getting in there. Man, this is the best podcast ever. You know, in Belgium, the communes give regular training courses on how to do composting. Oh, nice. This is what a great country this is. Yeah. How to avoid the rats coming into your compost. Well, you never put meat in there or anything cooked. Yeah. Okay. Oh, nothing cooked because the rats like their food cooked. Yeah.
00:03:18
Speaker
I saw that on a film, actually. Was it a Belgian film? What, did they give you the videos and stuff? It was called Ratatouille. Oh. Oh, man. Boom. All right. Okay. Let's move on. Okay. Let's move to less voting stuff now. This wasn't as funny second time around. Okay. It doesn't matter.
00:03:41
Speaker
So open parenthesis, Eric, a warm welcome. Thank you. Thank you. Welcome to Define episode number 20.

Eric's Background and Hurricane Katrina Experience

00:03:48
Speaker
Eric, please introduce yourself and then tell us what exciting things you've been working on so far in the past, in the future, and present. So I'm Eric Normand. That's actually the most stuff to do with. Eric Normand, yeah.
00:04:00
Speaker
Yes, I live in New Orleans. I'm a functional programmer. My current language of choice right now is closure. Can I just rewind a second, Eric? Yeah. I know this is kind of like a soft topic, but what the hell? New Orleans. Yeah. That was Hurricane Katrina. That's correct. Yeah.
00:04:24
Speaker
So just before we go into the whole closure functional programming stuff, I remember watching a program of like a TV series about New Orleans after the Katrina from the guys that did the wire. I can't remember what it's called now. Treme. Treme, yeah. Awesome, awesome series. One of the best series I've watched. What was your experience like of that situation? Oh, of Katrina. Yeah. And the recovery and everything.
00:04:52
Speaker
Well, yeah, I'm actually kind of glad you brought it up because there's a lot of stuff that people don't know about. You know, people often are like, why are you even, why is there even a city there? It's underwater, you know, it's under the sea level. Well, it turns out that one of the main things that
00:05:12
Speaker
That was, you know, a cause, you know, there are a lot of causes for what happened, but one of the things was that a wall broke, a retaining wall, uh, in one of the canals and this canal was built, um,
00:05:31
Speaker
to service, you know, the river and the, and the lake and have some kind of way between them. Uh, but the wall, um, hadn't been repaired and there were some repairs that were supposed to go in, um, you know, before Katrina was supposed to happen. And in the budget, it was vetoed like a line item veto by W Bush, right? George W Bush. And he redirected the funds to, uh, the war.
00:06:01
Speaker
It was something like they repaired it with some concrete or something. That's what they were going to do is pour new concrete. It caused billions of dollars of damage because he didn't want to pay for some concrete.
00:06:18
Speaker
We're kind of pissed about that. It's something that doesn't get talked about outside of New Orleans. There's all these things that were just so avoidable.
00:06:34
Speaker
You know, that, that canal was there to help, uh, to help ship goods to the rest of the country. And so it was kind of a sacrifice we made for the economic benefit of the rest of the country. And then we weren't supported when, um, when, when it needed a little bit of maintenance.
00:06:55
Speaker
Okay. Yeah. And so shocking pictures coming from the aftermath where people were in this horrible, horrible situation. But how were you personally affected by it? So I was actually not in town, just by chance. I was in the Peace Corps and I was in West Africa when it happened. I didn't know it was going to happen. I would have been home.
00:07:22
Speaker
Of course. But yep, I just kind of missed it and no reason to go back afterwards. So I just stayed in West Africa.
00:07:33
Speaker
until my Peace Corps tour was over. So did you move to New Orleans afterwards then? No, I'm from here. I grew up here. So your family was affected then? That's right. My family had to leave, I think for a few months, then eventually they started opening up the neighborhoods one by one as they could bring power and water back to them.
00:07:57
Speaker
Luckily, their house was closer to the river, so it didn't flood. Because it's like a bowl. The closer you are to the river, the higher up you are. Yeah, of course. So they were closer to the river, their house did not flood. And so they could move back pretty quickly. And there's still abandoned houses around.
00:08:20
Speaker
Sure, sure.

Journey into Functional Programming

00:08:22
Speaker
Yeah. Well, but the nice thing about Tremere that I always remember was the music, you know, it was really like the soul of the city was all about the music and the jazz and that kind of stuff. So do you enjoy a bit of that in the evening while you're in between functional programming? Yeah, yeah.
00:08:41
Speaker
What's really nice about New Orleans is you hear people like they're in a school band or something and they're practicing their trumpet on the way home from school and they're just walking back home and practicing. It's a very musical city. It's everywhere. There's neighborhood bands and stuff. It's good.
00:09:02
Speaker
All right, cool. Sorry, yeah. Let's go. So let's start with the programming stuff. So when did you start programming and how did you get into programming? Wow, programming. Well, that's, whoa, I got to go back in time. I was a kid. Don't go about that far back. Well, I was a kid and I think I saw something on Mr. Wizard, if you know that show.
00:09:31
Speaker
No idea. It was like a science show for kids on a kids TV channel. And he talked about programming on there. Okay. And then it was in logo. And somehow I knew that that's the kind of thing I wanted to do. Like come up with some symbolic description of a different world, you know? Yeah. So maybe let me scope it down. When did you start getting paid for writing code? Ah, okay. Okay.
00:10:01
Speaker
Yeah. When did it stop being fun? Exactly. I guess in college is when I, well, high school, end of high school, beginning of college. Yeah. Okay. Started getting paid. Okay. I was doing, uh, let's see some C web programming in C. Oh, wow. Oh my God. That was like 98 or 99. Yeah. And then I did some visual basic. That was still a thing. Windows 95, booter, you know, that was my job.
00:10:31
Speaker
The sad story isn't it? People don't know how good they have it now that, you know, there's remote jobs like out of San Francisco that they can just get out. Well, I think doing VB and all other things. It's like if you know Calvin and Hobbes, you know, the comic, it builds character. You know, every time Calvin doesn't like something, you know, his dad says it builds character. So of course, you know, working with VB builds character.
00:10:59
Speaker
Well, and you know what, VB was not that bad. I mean, in a lot of ways, it was way easier than the web stack. Yeah, that's true. All the languages you have to learn, you just draw a button. You literally would drag a rectangle out and it would turn into a button. You could just say, this is what happens when you click it. Exactly.
00:11:20
Speaker
So when did you get into functional

PHP's Evolution and Use at Facebook

00:11:22
Speaker
programming? There are still people. There are still people programming in shit like PHP, you know? Well, that's I think PHP is a regression from VB.
00:11:33
Speaker
That's what I mean. I mean, you know, it's a bit like I said to my kids, you know, that people think like poverty is over or illness is over, but actually there's a shitload of it in the world today. And it's just like, you know, we're living in the future with closure, but there's just a lot of people suffering with a PHP out there. So we have to feel sorry for them a little bit. PHP, there was a book I read recently called Refactoring to Collections.
00:11:58
Speaker
It is functional programming in PHP. Cool. Because apparently with PHP 7, there are enough... They've sped up the garbage collector and the function calls. Believe it or not, function calls have been pretty slow in PHP. So there's enough speed up in the function calls and the collections and the garbage collector that they can do
00:12:25
Speaker
I think of it more like it's kind of like underscore style functional programming where you can write your own map function and your own filter function and a for each instead of doing a for loop. It was actually a pretty good book in terms of like if you're a PHP programmer and you want to make your life easier, here's some stuff from the functional world that you can just take and make your own.
00:12:54
Speaker
I'm actually really happy to see that. I think that functional programming is going to have to have a big influence for us as a software industry to get to the next level. Didn't Facebook take PHP and make this hack language a bit more compiled and a bit more functional as well?
00:13:21
Speaker
Right. They did, uh, I'm not totally like a hundred percent sure of the timeline, but I believe they tried to compile PHP. Yeah. Um, and so they did as much statically as they could. That was their like strategy for making it faster. Uh, and then eventually they gave up on that and they decided to make just the VM faster. Um, and so it's still like dynamic and it's still.
00:13:48
Speaker
you know, interpreted, but it's the VM is way faster, better garbage collector, faster function calls, stuff like that.
00:13:59
Speaker
But isn't it the old joke then, you know, like, uh, people say, Oh yeah. PHP is piece of crap. Yeah. It doesn't scale. Uh, Facebook, uh, exactly. In the entire world ever. Exactly. Well, I mean, so, you know, it's like, Oh my God. You know, like, I mean, if you, if you really look at it, uh, as a, you know, uh, an engineering decision, like a business decision, maybe is better the way to put it. Um, it,
00:14:28
Speaker
is really solid. It does what it says on the box. It scales in an interesting way because it has this one request is one process model. You don't have to worry about concurrency. It's just one process.
00:14:46
Speaker
And so if you want to scale, you can just call your own HTTP endpoints back with, you know, hit the local loop back network or whatever. And so you're scaling out like that.
00:15:04
Speaker
It's basically like HTML with some code in it, so it's got that. You just hit refresh on your browser and you see the new thing when you change your code. All those things are really good. I like VB. It's got a very slippery entrance, hasn't it? It's very easy. The entry into the pool is quite straightforward. Exactly. Any HTML file is valid PHP.
00:15:34
Speaker
But, um, so PHP is good. That's a screw closure. I think, let's just talk about PHP from now. I think now we have crossed the boarding to the next level now talking about PHP on a closure podcast. But, um, so, so functional programming, when did you get into functional programming and how?
00:15:54
Speaker
It was in college. I wanted to write a game. The thing about programming games that I always found annoying was that everything was in C and C++. Just the power you have there is very low.

Creating a Lisp Interpreter in C

00:16:15
Speaker
I want to be thinking about the monsters I'm creating. Instead, I'm like, how do I make sure I can free this memory when it's done? And so I was reading up and one idea I had was, why don't I make my own language? And that would let me just say, I want a monster and then it'll run around and shoot people.
00:16:38
Speaker
And so I started looking at that and I came across an interview with Richard Stallman who said something like, lisp is so easy, you can get it done and you can make one in a weekend. And so I took him up on that challenge because I thought if I make a lisp in C, I could just call out to any C functions I want.
00:17:01
Speaker
Um, and so I, I made one, I made a little lisp and it actually was more fun than actually getting the game thing working. Uh, so I, um, I just kept working on it. I made a GC. I made a, um, a hash map, uh, implementation. And so I had a little lisp interpreter and yeah, it was, I mean, it was a great education. I had never written a language before and that was really cool.
00:17:30
Speaker
And also building Wisp is fairly less amount of work compared to building other languages because they don't need a parser. It's just so simple. It's so simple. So Wisp is your entry to the functional programming language. That's right. What is your commercial experience? I mean getting paid for this stuff.
00:17:56
Speaker
Getting paid for functional programming. My first actual job in functional programming was in Haskell. I was actually on your side of the pond over in Europe. I was tired of software.
00:18:15
Speaker
This was back in 2009. There just wasn't a lot here in New Orleans and I was just tired of it and so I was considering another option and I also wanted to clear my head so I was like, I'm going around the world. Sell all my stuff.
00:18:34
Speaker
My girlfriend came with me. We were in Europe working at a hostel and someone had a startup and it turns out that the CTO had chosen Haskell.
00:18:50
Speaker
I was like, okay, I'm interested, but I have to be able to travel. He's like, oh yeah, no problem. I installed Haskell on my laptop and started hacking on their code. Haskell's quite a lot to learn, but I'm glad I did. I was already into closure at that point, but I was not getting paid to do it.

Early Adoption of Clojure and Rich Hickey's Influence

00:19:19
Speaker
And so from Closure's side, what is your experience so far with Closure? I mean, you started with Closure when Closure started almost? Yeah, it was in 2008 when I got into Closure. So it was very early. Yeah, yeah. Very much like the first version of it.
00:19:39
Speaker
Yeah, I remember when 1.0 came out. I keep up with the IRC. Yeah, and see, I'm not a big chatter. I'm not a very like super connected person, you know, wired, like I'm not like, I don't know, texting people all the time, like I see some people.
00:19:57
Speaker
So like I'll try to do IRC for like a week and then I'm like oh I forgot and it'll be like two months and I'm like oh I forgot to turn on IRC today or in the last two months. When was the last time I went? And of course people are trying to get in touch with me and stuff. Like oh sorry I didn't know.
00:20:18
Speaker
So anyway, that was 2008. I went to a conference on Lisp because it was the 50th anniversary of Lisp in 2008. If you count from the first paper that was published in 1958.
00:20:34
Speaker
And, uh, so I went to this conference that was like celebrating the birthday of lisp. And to be honest, that it was quite boring. Like, like it was, it was a lot of old people that were like celebrating their accomplishments that happened 30 years before. Right. And, uh, except there was Rich Hickey and he gave it to him.
00:21:02
Speaker
And there was a panel on the future of Lisp. So he presented closure at this thing, at this conference. And then the future of Lisp panel, he basically said something like, we need to start over. You can't go from common Lisp and bring it into the future. We just need to like.
00:21:21
Speaker
make notes of all the lessons that we need to bring over, throw the code away and start over. And I was skeptical, but someone in the audience said, are you into closure? I was like, no, I haven't done it. He's like, you should try it. So I went home and I tried it. Okay. And I haven't looked back. There you go.
00:21:43
Speaker
Yeah. So, so what did you think about all these other guys doing? Cause there was like, definitely common, common, common Lisp was a, uh, a thing still is, but there was also scheme and all those kinds of things taking on that eventually became racket. Yeah. So do you, do you, do you follow those kinds of, uh, offshoots from this world as well? I know that that common Lisp at the time was the biggest hope.
00:22:09
Speaker
because it really had, it was a standard that had a lot of commercial support, at least in the 80s and 90s when it was, and scheme is great, but it came out of an educational environment, so it's really stayed simple so that it's easy to teach, and it's been one of its strong points is that it's great for teaching functional programming.
00:22:38
Speaker
But Common Lisp, I mean, just using it, you've really felt like this is a professional environment. It has its warts, but it is a well-engineered thing.
00:22:53
Speaker
Yeah. So that was one of the reasons why I was skeptical, especially like, Oh, JVM, like you're just taking on all this baggage, but you take on some baggage for a huge benefit. Like one person in the audience, this is back in 2008. I don't know what the state of the common list world is, but he was like, I've been trying to start a startup with common Lisp. And every time I I'm this close to making a sale to a big company for my software, they're like, Oh, can you do soap?
00:23:19
Speaker
And then, ah, no, you can't do soap. And just being on the JVM, yeah, we can do soap. We can do it. And there you go. Yeah, I think the ecosystem that makes Closure way more valuable compared to the other ones.
00:23:36
Speaker
Right, just being able to hook into money basically. Yeah. Like businesses that are using this stuff, like whether it's a good technology or not, the fact that a company is using it and is willing to pay money and maybe more if it's a bad technology. Yeah, yeah. That's a big thing. It's huge. Yeah. So did you do any closure commercial projects back then or how did your professional closure evolve?
00:24:04
Speaker
After working at this Haskell startup, I was looking for something more local because they were based in Sweden. There was just a big time difference and there was a pay difference too. I was getting paid how Swedes get paid and it's just different. Someone approached me with a startup here in New Orleans and he wanted to do an enclosure.
00:24:30
Speaker
And I said, yes. And then eventually it happened. So I left my old job and went to that one. Okay. And you're also producing a lot of screencasts and courses, right? Yeah. So listcast and then of course the functional TV. So can you tell a bit about listcast and these things? What are you trying to do there and how is it going so far?
00:24:56
Speaker
What am I trying to do? The big thing is like the big vision is I want something like 100,000 people to do functional programming. The language itself I'm not that interested in because I believe that functional programming will outlive any particular language.
00:25:18
Speaker
Um, but of course in the, in the moment you have to choose a language has to be practical. Um, and so I'm all in right now on closure. I'm teaching closure as a transition language. So you can go from a career in software engineering to a career in functional software engineering.
00:25:40
Speaker
And that's my main focus right now is to help people who want to make the leap, but they've got a family and a lot of obligations. They don't have time to just dig in and learn it. They've got to keep their current job going and they want to transition to functional programming. So that's where I'm focused right now.
00:26:03
Speaker
But didn't you hear the other day that closure programmers are the best paid programmers in the world? Yes, I did see that. They should be knocking your doors down. I did see that. So this was a stack overflow. I really don't think it's the truth, but you know. So it's a stack overflow survey, right? So it seemed to be the source. They asked programmers all over the world what their salaries were and what technology they were using primarily.
00:26:30
Speaker
And yeah, closure came up to the top and worldwide. I don't know what it was in the US because most of their people are in the US. I think it should be in the US because most of the closure jobs are driven by the US market anyway. I think that's what it is. Less and less if you go to the east. Right, right. So like the US is dominating that segment. Yeah, it's pretty much skewed.
00:26:54
Speaker
So what are you working on these days?

Focus on Clojure Education and Community Building

00:26:56
Speaker
So is this the list cast and everything your full time stuff? Yep, I'm working on it full time making videos and courses. It's it's it's growing. Yeah, that's you know, that's as good as I can hope for right now. Yeah, it is not quite where I want it to be. But you know, plan B is just I get a job enclosure. There are plenty of jobs. Of course. So
00:27:20
Speaker
Yeah, I'm going. I'm seeing how far I can take it. Okay. So what are your plans for this one then for Lipskast and these ones? Do you want to keep touching upon different topics or? Yeah, my plan is to have a complete suite of closure courses like that a beginner could just jump in and go and then have enough for them. Once they get a job, they still want to learn more so they're still subscribed.
00:27:49
Speaker
Yeah, yeah. I should say that. It's a subscription offering. You can buy the courses individually. At least some of them, I'm trying to get them all on there. Yeah. Because apparently some companies don't like subscriptions, so they'd rather pay for a one-off thing. Yeah, yeah.
00:28:10
Speaker
Yeah, okay. So I guess the question, I think it's an interesting business, but what are the kind of things that you're trying to suggest to the world that functional programming is? Why is it a superior approach?
00:28:29
Speaker
to, let's say, either procedural programming or object-oriented programming, you know, where you see, where's the battle, let's say, you know, where is the hearts and minds that, where they currently are and how do you, this is a very long question, rambling, so I'll ask you one question first, what do you think the major selling points or the major kind of pain points are that people,
00:28:54
Speaker
should be hearing and feeling that motivates them to move to a functional programming model. That is a really hard question. It's a good question. And maybe we could hash this out because I have trouble. Screw it. We've got time. We've got time. We're only half an hour in. We've got plenty of time. If we can't nail this, where else are we going to find out the answers to these things? Let's do it. I'm up for it. I'm up for it.
00:29:23
Speaker
The place where I start now, because I've tried... Because I will start about this, by the way. I mean, I guess we're... This is all new, isn't it? Yeah, let's make it up. Yeah. Right. I don't want to sell something that doesn't make sense. I went through the object-oriented hype cycle back in the 90s. I also went through the XML hype cycle in the early 2000s. Yeah. And so I don't want to sell anything like that.
00:29:51
Speaker
I do think that there's something to the new multi-core world that we're living in where we have to think about concurrency upfront and stuff like how hard it is in Java to do concurrency, even though it's easier than it was compared to Clojure.
00:30:12
Speaker
Closure is like a read me, whereas in Java, it is this thick book with all these things to keep in mind, basically like, you already did it wrong, what are you gonna do now? There's no path. Just before you go there though, I mean, people, I've heard that argument about the parallel programming, but if I talk to executives at company,
00:30:40
Speaker
I'm finding it hard to discover where the give a fuck button is because it's not there. I'm pushing every trying to button, but it's just there. Who cares? You have the same problem in every language, every paradigm like Wikipedia, Flickr, Facebook, they're all written in PHP and they're huge. Why is this scaling problem really an issue?
00:31:08
Speaker
Another thing that I try to sell is that it's more power, meaning in each person's hands, you can have a small team do Flickr, for instance, as opposed to the however many thousands of people working in the PHP coal mines there are.
00:31:33
Speaker
It's more like, what's his name? So every problem is kind of tractable, let's say. Every problem is eventually tractable. It's just a question of how much power your tools will give you to kind of work through that problem at a good speed. Exactly. I just came back from Closure West. Great conference, by the way. We can talk about it a little bit. But I was talking to the people who work at Walmart who do Closure. There's a nine-person team.
00:32:00
Speaker
And they have several products now. I didn't know that, but one of their main products is something that processes all the receipts from every Walmart store around the world. So that's a big, complicated, important system that is nine people. And so it's that kind of leverage that you would just never imagine doing that in Java.
00:32:29
Speaker
In Java, this is like hundreds of people. It's teams of teams. You have the battalion and then you have the unit and the brigade. I don't even know how you divide things up in the army. To be able to say a small team can build and manage it and add features and fix bugs and stuff on their own, that's a huge win for business.
00:32:57
Speaker
Do you think, though, that in the end, you have to sell it to programmers first and businesses second? Or do you think you could really... Because like I say, I think businesses find it hard to really understand what the difference is between language A and language

Advantages of Functional Programming

00:33:13
Speaker
B. You can tell them to be a blue in the face, but unless they already kind of come from a pretty technical background, businesses just don't understand.
00:33:22
Speaker
I think it's really hard. That's why I was trying to avoid the hype cycle. Back in the 90s, I remember the big thing about object-oriented programming was it was supposed to have so much reuse that maybe you pay some upfront costs, but then after a while, you're just reusing stuff that already exists. That just hasn't turned out to be the case with most languages. The reuse happens now in libraries, but those are
00:33:50
Speaker
I mean relatively expensive to develop and they take a lot of time, you know, just like calendar time. Yeah. Yeah. But don't you think there's also an issue with an issue with libraries as well?
00:34:05
Speaker
There's a lot of magic sometimes because often they're not libraries, they're frameworks. A lot of the object-oriented ones especially, like even the big data ones that you're getting these days, they're still infested with this state and this kind of magic box that you have to comply with.
00:34:24
Speaker
And you get a lot of benefit but not what they said. You still have to read a book on dota time, for instance. To do time for real, you have to become an expert at the calendar. All the crazy stuff in there. Some days don't have a midnight or some days have two midnights.
00:34:48
Speaker
Yeah, it's true. So don't check if it's midnight, check if it's equal to the first second of the day and, you know, crazy stuff like that. Yeah, go ahead. So you also have this newsletter, right? That you sent out about closure of functional programming.
00:35:05
Speaker
I do. I started that back in 2011, I think. No, 2012 must have been, 2012. Almost five years. Five years, yeah. Yeah, it used to be called the Closure Gazette. Yeah. And it's evolved over time, but right now it's 10 links to stuff I've been reading that week. Cool.
00:35:28
Speaker
And I curated and I try to tie it into bigger trends, you know, I don't like I've never said it's news. Yeah, right. I call it a newsletter. But yeah, it's it's it's not like this is the 10 top most important things that happen this week. It's more I Like the long-term view like this is important in a long trajectory of stuff. Yeah, I
00:35:55
Speaker
I can see where it falls in and it's made to inspire Closure Programmers so it's not all closure. I like to put a little commentary in there about how it fits in.
00:36:06
Speaker
Okay, cool. Of course, I mean, I subscribed to your newsletter, obviously. And I remember I also saw plenty of your videos because I participated in the Closure Cup. Oh, cool, right. So you won. Yeah, I was second or something and I got access to all of your videos. So I downloaded everything and I watched them. So that was pretty cool actually.
00:36:33
Speaker
Sorry, I didn't pay for it, but I won, so... No, no, no, that's great. Okay, cool. Yeah, I sponsored it. All the winners got like a year subscription or something. Yeah, that was pretty cool. I learned a lot from those videos. So before we transition into the other thing, you are a Closure West, so we'll talk about Closure West. So the biggest question that probably everybody using Closure is asking, Emacs or some other shit?
00:37:01
Speaker
Uh, I think the answer is very clear. Um, E max. Yes, obviously. Okay. That's settled. Let's move on to close the rest now. Enough said, right? Exactly.
00:37:17
Speaker
See this is this is this is one of the reasons why you're you know like the functional programming shit is struggling to get. You got to use this old crappy text. Nobody's saying use this. Black and white screen you know you got it because that's the that's the really way you have to make it work. At Closure West someone had a really good point which was that it works for them too.
00:37:44
Speaker
But he can work remotely on anybody's machine because all he has to do is SSH into some server and he can load up Emacs. And then you can also Tmux and do all sorts of cool stuff. I don't do that. I use Emacs, the GUI. But if I'm ever in a terminal and I need to pull up an editor, I'm glad I have Emacs and I know all the key bindings.
00:38:14
Speaker
But Emacs is not on most machines, is it? It's not on most servers for a final. But neither is Vim. Most servers have VI, the like original. Yeah, but why do you even need to get a shell into the server? I mean, because you just use Tramp and then just connect to the remote. Tramp is not very good on Mac. Oh, okay. And it's slow enough where it's... Loading the remote files and yeah.
00:38:39
Speaker
Yeah, you hit save and then we just need to wait for it. I've heard it's much better on other systems. Yeah, on Linux it's pretty good, I think. Anyway, so let's get back to now that the serious question is answered. I know that wasn't so great, but I'm really glad that there are a lot of good editors now. Adam, I've heard a lot of good things.
00:39:01
Speaker
The funny thing is I was at a company doing some closure last week and there was eight people there doing closure and I was using cursive, one guy was using Emacs, another guy was using VI or Vim and two of the guys were using Sublime Text.
00:39:19
Speaker
So it's just like, you know, no one gives a shit. Yeah, of course. You can use any text editor. That's really nice. And people will, you know, develop their own tests. And that is really awesome, actually. I think the nicest part is the REPL integration, right? As long as your editor has some decent REPL integration, you're done. That's pretty much what your toolchain needs. That's right.
00:39:40
Speaker
No, I really sympathize with people who are trying to learn Emacs. I have the same issue with cursive. I open it up and I'm just like, I don't know what to do. I don't know what to click. People are like, oh, just open the browser. And I click on something and they're like, no, that's the navigator. Never open the navigator. That's not the browser. And I'm like, oh, sorry, I'm sorry.
00:40:05
Speaker
And, you know, it takes 20 minutes to get back to where I want to sit. I did try using some other editors. I mean, every now and then, obviously. And I use even weirder shit. Like, I use Space Max with the VI key bindings, but in Emacs. Okay. When I'm editing, it's Emacs key bindings. When I'm going through the stuff, it's when I'm moving around, it's VI evil mode. And I was like, okay, everybody's saying Sublime Text is the shit. So I should be using it. So I started using it for, well, not using it, but trying it out for a couple of weeks.
00:40:35
Speaker
You have these things burnt into your fingers forever, and then that's very difficult to get rid of. So I'm going to give it a try again and then see what to learn and what am I missing. But anyway, so edit also. But I think you're right, Eric. I mean, I think the main thing is that you shouldn't be worried about the tool.
00:40:55
Speaker
As long as the tooling is good, like you say, if you journey to REPL, you've got a good REPL integration and you can do your editing in your own style, then let's discuss the actual problems and the languages that you're using, not these other tools. Exactly. And also you're interested in building software, not interested in always thinking about the editor. Once that phase is gone, you're focused on your code and then you're just trying to build stuff, not really worried about the editor.
00:41:21
Speaker
Maybe, maybe Zarek has lived the dream now because you've written your own programming language, so then the obvious thing is to write your own editor. Right, I could write- The Storm and where? The Storm and where? In my own list, right. Yeah, yeah. Did you do that? No, I did not get that far. But there was, there was, there is still an effort, right, to do the Emacs enclosure. I don't know how far it is now. Maybe it was there.
00:41:47
Speaker
Anyway, let's not digress that much.

Networking at Clojure West

00:41:49
Speaker
So close your West. So how was it? Give us some, some impression firsthand. It was great. Um, I just got back yesterday, uh, and I think I saw one and a half talks. I gave a talk. So I, I was there too. Um, but I I'm, I'm more of a hallway track guy. Like the talks come out so fast.
00:42:12
Speaker
I actually also enjoy the talks more when I watch them on YouTube. I can watch them like, I don't know, it's kind of like TiVo versus watching live TV, you know? It's like I watch it on my own time. Yeah. So yeah, but talking to people, I mean, closure is growing.
00:42:35
Speaker
There are so many sponsors, like companies that basically are hiring. They had a table there at the conference. They're all looking to grow, looking to just meet everybody in the closure community. It's great. I think I really am going to see some good growth in the next few years. I think we're looking forward to hockey put growth, aren't we? Yes.
00:43:04
Speaker
hockey puck growth, all the way back around, like circular growth. What is it? Well, we're going to where the puck is moving to. Wait, is it hockey puck or hockey stick? I thought it was hockey stick. That was the joke from Karen last week. Yeah, yeah, yeah. Come on. Hockey puck growth.
00:43:25
Speaker
It's round. It's fast. It's fast and it's going really fast. You hit that hockey puck and that guy goes. Exactly.
00:43:38
Speaker
Okay. I like that better than hockey. It's on a frictionless surface. It just doesn't. Exactly. Once it gets momentum, there's no stopping this shit. I love it. So I'm preferring hockey. By the way, speaking of conferences, I mean, I don't know. I was talking about this on previous episode as well that we ran Dutch closure day here on March 25th. Yeah.
00:44:04
Speaker
It was phenomenal. It was really nice. We really enjoyed it. Awesome. It was awesome. We had a lot of fun. And talks were really nice, venue was great, and there were plenty of people, full house, a lot of discussions. Were the talks recorded? Yeah, they were recorded. So we'll be putting them online pretty soon, as soon as we finish. Big names as well. Big names. James Reeves. Oh, cool.
00:44:29
Speaker
Yeah, we got, I think, mostly the European speakers. And of course, we got one speaker all the way from the US as well, Will, from MojoTech, I think. And it was a very, very nice atmosphere. I'm jealous because there are more closure conferences in Europe than in the US. Oh, yeah. Yeah, the US just has two. London, Berlin. Yeah, yeah. Yeah. Y'all have a lot. So in the US, you have Conch and West. That's right. OK.
00:44:59
Speaker
And they're both Cognitekt. Yeah, yeah, yeah. And there is an open invitation by the top of Cognitekt, you know, guys at the top, who they say, please do more conferences. Okay. Maybe we should take... I don't want a monopoly on them. Maybe we should take Closure Days to US. That'll be fine. Yeah. But the thing with Closure Days is that we were insisting on making it free.
00:45:26
Speaker
keeping it free and completely community driven. So it was a challenge last year. I think we were like negative 60 euros or 10 euros or something. Who had to sell that out? One of us. And this year it was slightly better. It was, well, not slightly better, pretty green. And we are also thinking of writing out how we organized it and publishing everything, including the finances and everything. What did we do with what and how it went?
00:45:55
Speaker
So if other people want to organize this kind of conferences, that'd be a bit more helpful for the other guys as well, other folks. So that is one of the things that we are thinking of.
00:46:04
Speaker
Well, you said Vijay that the sponsorship, or was it Carlo, said that the sponsorship was much easier this time around. Yeah, this time people basically came to us. Yeah, people came to us selling, they sent us email saying, hey, Vijay, or whatever, we want to sponsor closure days. Last year, we were there as attendees. We really like it. We want to sponsor it. And there were other companies as well. And the couple of companies we had this year, I mean,
00:46:27
Speaker
Before the left, they told me, next time we want a sponsor, so keep us in your mind. That was really, really nice. So it's really like a community thing. We want to help other people to come here and learn about Closure.
00:46:39
Speaker
But anyway, we'll publish a blog post about those details and other things. Speaking of conferences, first I want to ask you, how did your talk go?

Presentation on Test Check and Testing Systems

00:46:50
Speaker
And you were talking about test check, right? At the conference? That's right. Test check. It went well. Okay. You know, I, of course, felt like I missed so many important points. Yeah, it's always there.
00:47:04
Speaker
Yeah, one of the things. Did you not write it down beforehand, Derek? Was that not one of the things? Well, you know, I'm not reading it. I do try to. But no, the thing I wanted to like complain a little about is my own problem is I
00:47:25
Speaker
Every time I rehearsed it, I was a little over. So I basically stopped making slides and just revised the slides I had at that point. I was like, and then I prepared a little apology for not getting more. And then I, so I did the apology in the talk live. It was like at the end. And then I looked down at the clock and there were like six minutes left.
00:47:47
Speaker
I'm like, oh no, how did that happen? So I think I have to, this is my second real talk, so I have to get better at that.
00:47:58
Speaker
to get better. It's okay. So how does test, the test check thing, because that's interesting these days with spec, isn't it? Yeah. Because obviously that whole thing is becoming very front and center of the selling story, let's say, about Clojure. And I guess, you know, test check is Lang Haskell and all these other functional programming languages as well. So it's a general kind of meme, let's say, in the functional programming world.
00:48:27
Speaker
What do you think the reception is for that kind of testing in the outside world? Because I still feel like people are very much driven into unit testing and that they're still in that mode. Do you think there's a reception there for this kind of stuff? There's a reception. The biggest thing and one of the reasons I did this talk was people don't know where to start. There's just a lot of
00:48:52
Speaker
There's a lot of false starts, let's put it that way. People try it and they're like, I don't know what properties to do. And that was kind of what I was trying to get at in my talk that the properties that you want to do are, they can be the same properties as you do with your
00:49:13
Speaker
unit tests with your example based tests, but you can generate random data, but then you can start taking it further and further and testing the whole system and getting like a cohesive view of your whole system and testing it that way.
00:49:31
Speaker
And you also talked about concurrent system testing, right? It's not just about testing using a test check. So what is the, of course, I mean, I will watch the talk online, but I'm curious about what is the fundamental difference or what are the challenges testing the concurrent systems?
00:49:50
Speaker
So you can test something sequentially by reifying the operations. So you generate operations and run them on your system that you're testing.
00:50:06
Speaker
But then you can also you also run it on a model that. That has the properties that you're interested in and then you compare them at the end so to make it concurrent you can just run those operations in different threads so you make two threads worth of operations.
00:50:25
Speaker
and run those in different threads. So the challenges are things like making sure all the threads start at the same time and waiting for them all to finish. Now, if you're trying to suss out race conditions because that's a concurrent problem, right?
00:50:46
Speaker
Yeah. So what you want to do is run it multiple times, run the same test multiple times to try to find that race condition in there. Okay. And make it more repeatable. Those are the main things. Okay. Those are the main things. Because I remember watching a talk from one of the test check, sorry, the quick check creators.
00:51:09
Speaker
about especially the difficulties in testing the concurrent systems with this kind of methodology. Was it with timing and stuff? Yeah, with timing and of course and it's very difficult to predict so. Right, timing does get into it. So I think you're talking about John Hughes. Yeah, John Hughes talk, yeah.
00:51:30
Speaker
He invented generative testing and he calls it property-based testing. He gives a lot of talks about how to actually do it and one of the things that he tested was a chat server and it was in Erlang. So you have this thing where you have someone logs out and the message that they have logged out takes time to get to the server that records that he's actually logged out.
00:51:59
Speaker
And so there's a time between when the user logged out and when it's actually registered that he's logged out that he's actually not logged out in any real sense. And so if you were writing a test, it's like, okay, log the user out and then check, did he get this and send him a message and check if he got it.
00:52:19
Speaker
It could happen faster than that message that he was logged in. You have to actually model that in your model. All of that knowledge that things take time has to go into your model.
00:52:34
Speaker
And the way he did it was he made up different predicates than just logged in or logged out, right? He made up stuff like could be logged out. Meaning we sent the logged out message, but we don't know if it's gotten there yet. And that period is like kind of empirically determined to be a hundred milliseconds. There is a time after you send the message where he might not actually be logged out yet.
00:53:06
Speaker
So it's actually doable pretty simply, you know. Okay, cool stuff. I think of course I'll take a look at the, I will watch the talk and I'll learn a couple of things. I wish I could get into more of that stuff. That was the stuff I had to apologize for that I couldn't get into. But are you planning to make an episode about it on your course or something?
00:53:31
Speaker
I do want to make a course, especially now that it has spec integration. I've held off on making a spec course because I've been burned in the past with alpha software and you spend all this time on the course and then it changes. Yeah, that's true. It's alpha 14 then. 19, I think.
00:53:55
Speaker
Yeah, 14, I think. I mean, but it's but it's it's very high number of alphas. So definitely the things are evolving. Yeah, right. And there's the API is still considered alpha. It's not like they're just fixing bugs in that alpha. They're actually changing stuff. Yeah.
00:54:11
Speaker
We spoke to Alex, what, September or something last year? And I think they said that it would be out like this year, but I mean, now we're in March, April now, in fact. Still this year. December 31. Exactly. This is taking a long time to settle down, isn't it? Yeah, for sure.
00:54:35
Speaker
I guess they, I mean, I think they're of the opinion that they won't get a second chance to do it. So better take a bit more time to cook it properly. Right. It's yeah, it's true. And they want it to be part of closure itself. You know, it might. Yeah, that's, that's enough talking about that.
00:54:53
Speaker
Yeah, so staying on the closure thing. So apart from writing closure code and being involved in closure for a long time, you saw how the language is evolving and everything.

Favorite Clojure Features

00:55:03
Speaker
And you're very familiar with all the features of closure because not only you're working on it, but you're also teaching. That means you have a higher level of understanding. So what are your favorite, maybe one or two favorite features of closure? Because you already did Common Lisp a lot and our Lisp world.
00:55:22
Speaker
So what would be the interesting thing? Is this the new, the new favorite features section? Favorite features? Yes. There is a new section in this podcast now. Favorite features of closure section.
00:55:37
Speaker
Favorite features. Well, I really like the literal data structures and I like that they're immutable. I guess that's one feature. Common Lisp just had one literal data structure, which was the list and you had to quote it if you wanted to use it.
00:55:58
Speaker
which meant unquoting stuff inside. It's not the best experience. But because you have vectors that everything inside gets evaluated, you can actually do that much more easily.
00:56:14
Speaker
And the fact that they're immutable just makes you divide up your problem better. Makes you think about how, or in case you don't even have to think about how it's going to be used in other threads in worrying about who should be able to see this. Do I have to make a copy and things like that? Yeah. Okay, cool. So just before the show, we were talking and then you said there is some interesting things that you're working on.

Announcement of New Clojure Conference

00:56:44
Speaker
He said, you're going to announce it now, or at least, you know, pre-announce it or. Right. Okay. I'll pre-announce it. So I'm at Closure West. I, um, used a lot of the talking to people, the conversations to figure out whether there was enough interest in a conference, a closure conference in New Orleans. Sweet. Like when it should be and you know, what it should be about and how it should be structured.
00:57:09
Speaker
So it's going to be called Closer Jazz or something. I don't know. Yeah, I think I would do something. Something else. Yeah. That would be cool. Yeah. I haven't come up with a name yet. But I like the hallway track and a lot of people I talk to say that it's their favorite part.
00:57:35
Speaker
That's why they go. I just want to cut out the pretense of having the talks at all and just do hallway track. This is actually this conversational format might be the best way to explain this.
00:57:52
Speaker
There's a system of conference organization called Open Space Technologies. Basically, you set a theme for the conference. At the beginning of the conference, the first thing you do is you all sit in a circle facing in and someone opens the space, meaning they say,
00:58:16
Speaker
who has an issue they wanna talk about. You write it on a piece of paper, you stand up, you say it to the group, and then you go like put it on a board so it doesn't get lost. And then after everyone's aired all of their issues, then you divide up or you group up and start addressing those issues. And I feel like it solves a lot of the problems with the hallway track. I mean, I could see a lot of people who are just shy.
00:58:45
Speaker
who are just like, I wish I were talking to someone. I really like it, but I'm too afraid to introduce myself or I'm maybe tired or, you know, I just don't have that in me anymore. And I bet there's people who are sitting in the talks who really wish they weren't distracted by the talk and wanted to go talk to people.
00:59:08
Speaker
I also saw, I mean, this is sad, but some of the sponsors who paid thousands of dollars to sponsor, they were just sitting behind the table waiting for someone to come up to them. And why aren't they talking to people? There are people in the room, just go walk up to them.
00:59:27
Speaker
And so I kind of want to remove all that, just say, look, there's stuff to talk about. You know, you heard what that person said they want to talk about. You know where they are. They're in that corner talking about it. You don't have to say anything. Just go sit in that group and participate.
00:59:43
Speaker
I don't know if it is still running, because I remember I think in 2000s or something, somewhere when I was still in India, there was this bar camps going on. Bar camps work pretty much like that. You go there, there is a board, and then you just propose what you're going to talk about or the issue, and it's sticky. And then just put it there, and then people will vote on it. And then whoever gets at least three or four votes, they get a room, and then they talk about it.
01:00:08
Speaker
So bar camp was one of those things. I was part of at least two or three back in Bangalore in India a long time ago. So it sounds like a similar idea. It's very similar. Yeah, it's pretty cool. The difference, I've been to a couple of bar camps and I'm sure they're all different because of their nature.
01:00:28
Speaker
But the ones I've been to, people prepare slides and stuff beforehand and they arrive early so that they can get on the board at the spot that they want. That is like not what I want. I don't want it to be like talks that no one curated. Like that's like the opposite of what I want. I want something where
01:00:47
Speaker
The theme of the conference is going to be closure at work. The idea is to bring in the employers, the employees, and people who want to work in closure and have them actually talk about the issues they're having. It might be tooling, it might be hiring, it might be finding a job, it might be training, and have them say, we've tried to hire someone and we don't know where to look. We've hired someone before and they were a bad fit.
01:01:17
Speaker
They didn't actually know closure. Just bring up these issues and have the employers talk to each other. Have them come up with something more than just talking. Halfway through the first hour, they're like, we need to make a guide or we need to have an association. They just start working on it. That's my main thing.
01:01:45
Speaker
It's not chit chat. It's not like, oh, how did you like the weather today? How was the party last night? Nice breakfast they have at this conference. I want it to be much more productive.
01:02:04
Speaker
The big challenge that I've heard that I will face, and I believe it, I think that this is a big thing, is that a lot of people get their work to pay to go to the conference because they can point to a speaker and say, look, they're talking about Datomic and we're doing Datomic, so send me here and I'll learn what I need to learn. Yeah, that's true. So I need to come up with some other way of saying you will learn something that you can sell to your boss.
01:02:34
Speaker
Yeah, maybe it could be a combination. But anyway, it sounds really nice. So I hope it solidifies and then you get the right way to go about it. I got a lot of good feedback. A lot of people like, oh, you're doing one? I'm going. Tell me when it is. Perfect. So you already have a good sign. That's really good.
01:02:57
Speaker
I think sometimes you start these things off relatively small, you know, if you can get like 50 people and then sometimes these things do scale. Sometimes they don't scale. Sometimes it's actually, maybe it's a better format to just have, like you say, like 20, 30, 40, 50 people maximum. And then people can work in those groups. You just up the price of the ticket. If you've got like a thousand people. And I make like a TED talk style, like it costs $10,000 to be in this room.
01:03:24
Speaker
Yeah, that's the way to sell it to the bosses. You can't get this anywhere else. Awesome. Price people in. Okay. I think I don't have any more questions or comments to make.
01:03:45
Speaker
Thanks a lot for joining, all the way from the US, taking the time. And it was fun. And obviously, as I said, I would love to check out your more videos. But these days, I'm a bit swamped with all the stuff. But the people who are listening too, I'm pretty sure they're familiar with your name already.
01:04:02
Speaker
Because you're also one of the first courses that talked about closure and talk closure to the people. You'd be surprised. You'd be surprised. That's just a little story. Before closure conge, I went there too back in November.
01:04:18
Speaker
Before then, I was really gung-ho about expanding outside of closure because I felt like there's no room to grow. And when I got there, I met a ton of people who had never heard of me. And I was like, a lot of people had, of course, but a lot of people were like, no, I've never heard of that. And I worked for a 40 person closure company.
01:04:44
Speaker
You know, and I'm like, uh, okay, there's a lot of stuff going on that I don't know about. And, um, you know, here's my car. Yeah, that's, that's, that's one of the things, right? I mean, there is not enough, um, you know, exposure, but hopefully I think people who are listening to this podcast, we, we, we get like thousand plays, uh, whether we are, it's, it's actually not thousand people or maybe, I don't know. So, uh, this is, this is a one way to reach out to the people, I think.
01:05:13
Speaker
I think a lot of people are like downloading this off BitTorrent so we don't see them. So there's probably, probably like really in the, there's like, you know, like you have like, you know, you can measure, I think there's piracy, a lot of piracy, yeah. It's like dark energy in the universe, you know, there's a lot of it out there that we just can't see. We know it's there, mathematically we know it's there, but we just can't work it out. So that's how I'm measuring it anyway. Yeah.
01:05:50
Speaker
They do the transcripts. They feed it through Siri and they have Siri read it back to them. Yeah, that's what's happening. Because they hate our voices, obviously. They can get it fast. But it's been fun. I think we are reaching out to people and I was actually surprised by a couple of people sending emails saying,
01:06:10
Speaker
There's people who are doing text-to-speech on the trends. Yeah.
01:06:14
Speaker
Oh, you're the guy who's doing this podcast. I'm like, yes, I'm sorry. So I always start with, I'm really sorry. And they're like, no, no, no, it's really good. I'm like, okay, thank you. Apologize for your ears. Exactly. Apologize for wasting one hour every now and then. They're like, no, no, no, it's okay. No, it's really good. Okay. Thank you. Moving on. Well, no, it is really good. And you're the only Closure podcast really, as far as I know.
01:06:38
Speaker
Oh, that's, that's, no, it's, it's maybe the reason why you're serving, uh, you're serving a good, specific, specific demographics. Yes. Well, cognizant, cognizant is doing, um, cognizant. So I think that is, that is not purely closure as far as I can, I can tell, uh, it's, it's all about all of the things, but they, they even have the elixir guy on the show. I mean, we, we, we are not going to do that.
01:07:05
Speaker
If we have him, we'll make him talk about closure. That's pretty much it. As far as I'm concerned, we've given enough time to PHP on this podcast for us to qualify as polyglot programs. Exactly. So I don't think we can get any complaints. We're polyglot friendly. But we're in a committed relationship with closure.
01:07:27
Speaker
Yeah, exactly. But anyway, I think that's it from me today from Munich. So I have a busy week ahead. Anything else from you, Ray? Or the end credits? We should roll on the credits now.
01:07:45
Speaker
Yeah, probably. I could start talking about composting. Okay, please don't. I think we can make another podcast about composting. So for the people... Well, I just want to say, just before we go, I just want to say thank you, because I think, you know, it's just very kind of you to say that we're doing something good, but I think you've been doing it for a lot longer and I think you're very consistent and
01:08:10
Speaker
You know, I think closure owes a lot to people like you and you in particular to help grow the world. And I think you're right. I think closure is catching a bit of a fire. I think maybe this year, next year, I think we'll see more progress in this because people are getting to the penniest dropping, I think, out there. Yeah.
01:08:32
Speaker
It's never going to be as popular as PHP or Java. And I think one of the curses is- It doesn't matter. No, exactly. It doesn't matter. And another thing that I really love about Clojure is that it's having such an influence on the rest of the industry. Yes. Even if we're just there holding down the philosophy or whatever you want to call it that is radiating out to other languages and
01:08:59
Speaker
I mean, it's what, spec came out and people were writing it in JavaScript. They were rewriting because they wanted it and they couldn't use it. It's cool. Of course. As Ray was saying, I second every word he said. I mean, you've been doing it for forever and I'm also subscriber of your newsletter and I keep looking up using all these videos and everything.
01:09:23
Speaker
that you made. So it is very helpful for people who want to get into closure. And I hope more and more people, you know, at least subscribe and then see what you're doing, the good work of Spreading Closure. So the end credits, of course, the music that you're hearing for the show is by Pizzeri. And all the technical magic is done by Mr. Wouter Dollart. Did I pronounce it correctly?
01:09:51
Speaker
Okay. He'll patch it up. In post? Exactly, in post-production. It's going to be like the post-production is done by... Something like that. And yeah, that's it from us today and hope you have a nice week ahead. Awesome.
01:10:52
Speaker
You're halfway there, VJ. It'll be perfect by episode 40.