Reflections on Podcasting Milestone
00:00:13
Speaker
Defen episode number 27. You look like you're literally falling asleep at the moment. Seriously. That's true. Because it's 27 episodes. It's almost a one and a half year. Holy shit. Yeah. Yeah. I don't know why I'm doing this, but I'm doing this for the love of closure. So that's, you know, that's the thing that matters. Anyway, it's so important, isn't it to you?
The Value of Sincerity in Podcasting
00:00:39
Speaker
Sincerity is so important to you.
00:00:41
Speaker
Yes, indeed. So this is episode number 27. And last episode, we had David Nolan. And we thought we were going to bump it up a notch and then get even more awesome guests than David
Introducing Daniel Compton
00:00:54
Speaker
Nolan. Yeah, we've done it. I think we've done it.
00:00:57
Speaker
Yeah. Yeah. And I think so. So we basically thought, okay, you know what, what is going to be better thing than, than completely traveling across the globe and then going to like, I don't know, people who live upside down and then like get to them and then see what, what's happening down there. So, um, we have on the show today, Daniel Compton all the way from New Zealand. Well, all the way, I mean, he's technically there, but, um, still welcome to the show,
Building a Home Office for Peace
00:01:20
Speaker
Daniel. Thank you.
00:01:22
Speaker
This gravity work, just to talk about upside down people, are you still stuck to Earth? The background looks like you're floating in a heavenly orb of some type, like in a spaceship or something like that.
00:01:37
Speaker
Yeah, this is my new office. I built it. Well, I didn't build it. Builders built it and I did some of the painting and stuff a couple of months ago after we had our second baby. And it was, I knew that it was going to be a little bit too much, too much noise going on in the house. So I got the builders too. More noise? Yeah, they made some more noise for a while.
00:02:02
Speaker
What you're saying is going to be on the internet forever. So they're going to listen to this thing. Eventually.
00:02:15
Speaker
Yeah, but it looks like you're in one of those rooms of Johnny Ive in the Apple adverts where he's very deep about the edges of the chamfers. Did you do the chamfers, Daniel? Did you make sure the chamfers were all 100% milled with fine diamond cut edges?
00:02:41
Speaker
I did the plastering painting myself and I thought I did a good job until afterwards and then in certain angles, it's not so great. It's probably not Johnny I've approved. All right. But it looks pretty impressive. It's all white. You look very godly. You're floating in a video from some fancy place.
00:03:09
Speaker
Yeah, maybe that's what New Zealand is probably, fancy place. I've never been there. Okay, I think the first question that we would like to know is that whether the toilet flushes in the other direction or not.
The Toilet Flush Myth Debunked
00:03:21
Speaker
That's the biggest question, right? Is it true? I've never checked. Well, I guess you don't know though, because it just flushes in the way that you have always had it flushing. Yeah.
00:03:32
Speaker
This, this seems to be like spectacular way to open a closure podcast. I think so. Talking about water in the toilet. But Ray, what do you have in the background? Is it Little Schemer, the, the, the orange book? Uh, yeah, actually I do. Yeah. That was, uh, I don't know if you bought that for me or, uh, if that was, so I think a friend bought it for me actually. A friend bought it for me. It could be me because I lost that book a long time ago. So maybe it's like, uh,
00:03:59
Speaker
You stole it from me. Anyway, I've never been to your house. It's not possible. I think you've been to my house, but I haven't had an invite to yours actually. But then I guess I strategically placed it. Okay.
00:04:14
Speaker
in your home. Maybe we can get an invite from Daniel to his house. So I think because we were talking before about like what is New Zealand famous for now.
Billionaires in New Zealand: A Safe Haven?
00:04:24
Speaker
And if you know Peter Thielen is billionaire class who want to escape the apocalypse, the pending apocalypse that Donald is bringing.
00:04:32
Speaker
They're bringing, in fact, Peter too and his buddies. They're coming with the blood of young children to the hideouts in New Zealand. You're seeing a lot of that, Daniel? No, not seeing too much of that up in the North Island. I think the South Island is really where they collect them. I see the South Island. Creative naming. There's the North Island and the South Island.
00:04:54
Speaker
It's really not that creative if they are in the North and the South. It's better if they're West and East, then it's confusing everybody. What if you're born in the East of the North Island? What do you call yourself then? You're just a North Islander. You're just a North Islander. There's no sub-categories. No, it's not big enough.
00:05:19
Speaker
Yeah, that's what I was thinking. I was thinking this might be incredibly offensive, but New Zealand has north and south. I mean, that looks tiny on the map. It's like Holland. I mean, how can it have north and south? They sound too far. How big is this anyway? It's bad.
00:05:39
Speaker
to 2,000 kilometers, I think, from tip to bottom. What's the rivalry story then between the North and the South? Because I wasn't aware that there was, I mean, I know that there's a little split there, but it's joined, isn't it? Maybe. Not fully island, is it? Yeah, no, there are two islands. What's the join then between the two? Just a quick geography lesson at the beginning of this Closure Podcast. Sure. Brimmers up to speed with New Zealand's geography. Come on.
00:06:07
Speaker
Welcome to New Zealand Geography and Podcast.
Geography of New Zealand
00:06:10
Speaker
So the sort of indigenous creation myth is that Maui pulled the islands up out of the sea, North Island and South Island with his jawbone hook. And that's how we got here today.
00:06:26
Speaker
And so there's a channel between the North and South Island, like, you know, like a water channel, you have to take a ferry or a plane across to the other ones. And so there's not so much North versus South Island, but it's more of a everybody to the north of me is is worse than I am sort of mentality.
00:06:47
Speaker
So the, so Auckland is the sort of major city, metropolitan city. And, you know, I'm not sure how, you know, this is just a generalization, but you know, everyone south of Auckland says, oh, you know, those Aucklanders, they're soft, and they drink their lattes. And then as you kind of go,
00:07:06
Speaker
go further down, all of the people in the South Island say, oh, all of those North Islanders, they're soft, they're lattes, and then it kind of goes down and down and down as it gets colder and colder and more miserable. So most of the zombie avoiders are in the South Island. That's right. Yeah, there's lots of wide open spaces. And you can see for long distances. You can see the zombies coming. Yeah.
00:07:35
Speaker
Yeah. Okay. Cool. Yeah. So right. Well, we had a little, me and you had a little bit of fun on the internet recently, didn't we? I wouldn't say that.
00:07:46
Speaker
That's, it was not fun for him apparently, so. No, actually I was, you know something, we're going to talk about one of your big projects, the reframe stuff and all the day eight stuff as well. And actually, to be honest, I don't want to troll you about this shit because I was super proud that I made one tiny adjustment to your documentation and you accepted it. So thank you very much. It's my very small claim to fame.
00:08:13
Speaker
So I appreciate that. So I'm bowing down to you, Daniel. Thank you very much. You're welcome. All right. So Daniel, tell us a bit about yourself then.
Clojure Community in New Zealand
00:08:23
Speaker
New Zealand, is Closure Big there? What's the story?
00:08:28
Speaker
So closure is not that big in New Zealand, although we do have column Fleming Who's you know, they speak it is big big. Yeah big hitters, but not too many of them Maybe that's the way to put it. So there are there are a couple of There's one couple of closure companies up in Auckland one in Wellington. There's column Fleming and Nelson that's about all
00:08:52
Speaker
all that I know of. There might be a few others hiding around places. But yeah, certainly not that many compared to, say, San Francisco Bay Area, it's probably a much higher percentage of people using closure. That's like mental, isn't it? That's so many people.
00:09:13
Speaker
But you were a bit like a bit like most closure programmers by the sound of things you're living in the middle of nowhere. Yeah. Yeah. Yeah. So we I was living in Auckland for for a few years and then I've been contracting for a day out for a couple of years and we realized why are we living in the most expensive city.
00:09:34
Speaker
In New Zealand when I'm working remotely day, it's an Australian company and everyone works remotely So we thought well, why don't we move somewhere a little bit cheaper? So we moved back to our hometown in Mournesville in the Waikato and yeah, that's where I live. So nice. So what's the story then Daniel? How did you get to the to the lisps to the parentheses? I
00:09:59
Speaker
So I studied rock music at university. Obviously. Yeah, clearly. Straight to straight. As you do. For the people who are listening right now.
00:10:14
Speaker
No, we need to tell them, right? You know, for the people who are listening, you know, now, you know, Daniel is sitting in a place with, I don't know, big rock albums and 17 guitars in the background and, you know, huge speakers and everything. And with Metallica titles, I don't know, Metallica rock. I have no clue. It is. Yeah. Okay. Who cares? Okay. Something like that. And then huge posters of all that stuff. Rock bands. Help me out here. What are the rock bands? Say something.
00:10:43
Speaker
Yeah, so he's sitting in that kind of room actually
00:10:48
Speaker
So you saw Rich Hickey's hair and you just thought, I've got to do that. It was close to that. It actually wasn't too far from that. That was a lucky hit then. So yeah, I studied music and I did a little bit of maths and in my last year of university, I did a programming paper just kind of for interest. I'd always sort of been interested in programming and a little bit of Apple scripting stuff, but not kind of heavy duty programming, but
00:11:18
Speaker
I took that paper and really enjoyed it. And then after university, I'm not sure if you know this, but the job market for music graduates is not incredible. There's not a great shortage of rock musicians out there. So I was fortunate enough to get a job doing sort of data entry computer admin stuff out of university and then taught myself
From Rock Music to Programming: A Journey
00:11:43
Speaker
as I was at the job and then taught myself from the consultants that this company had in doing programming for them and then when we moved up to Auckland I went to work for those consultants and so that was an incredibly niche Microsoft warehousing financial package that you'd never
00:12:05
Speaker
You've never heard of or seen and you'll hopefully never have to see it yourself. They just got syntax highlighting a couple of years ago. I don't know. Okay, moving with the times. Awesome. Yeah. So that's kind of the world that that was in. And so I could see that long term this wasn't going to be something that I really wanted to be in.
00:12:29
Speaker
for a long period of time and I'd been watching Rich Hickey videos while I was at this kind of time in my life and I think that the Datomic ones were really what kind of got me into closure because I was working with a mutable database all day, everything was in the database, even the code was in the database which is about as bad as it sounds. Oracle basically.
00:12:54
Speaker
Yeah, pretty much. That's the Oracle architecture, isn't it? Stored procedures in the database. Boom. You're done. Yeah. So I watched this and thought, man, this would make my life so much easier if I had an immutable database that we could look back. What was the system state last week? And so the more I looked into it, I thought, well, this guy's also written a language. He must be
00:13:20
Speaker
If I like his database design so much, maybe I should check out his language and then sort of went from there, working on it more and more. And then I started consulting. And so I've been working with Closure for the last three, three and a half, four years, somewhere around that time. Cool. You're probably one of the few people who's backed into, yeah, sorry. Yeah, exactly. That's what I was about to say.
00:13:48
Speaker
Yeah, I mean, it's a compelling story. Are you actually going to tell me now that you don't use the atomic at all?
00:13:58
Speaker
Well, we just recently started. We just recently started a project at day eight, which has been using Datomics. That was a few few months ago. So, yeah, I kind of got into closure and thought, you know, and sort of there was more than enough to learn, learn enclosure. But yeah, I've been using Datomic a bit this year.
00:14:22
Speaker
So you're like, come for Datomic and stay for closure. Yeah, yeah. Very nice. And you finally got your thing. So that's really good. Yeah. Yeah. So tell us about the projects that you are working on. I mean, there is a lot of open source work that you put out there already. Obviously, Reframe and Kibit and lots of other libraries.
00:14:46
Speaker
Yeah. Can we start talking about Reframe because I've also had a little chat with Mike and hopefully we can get him to join us next year as well to give a bit more of a bigger story. But can you give us a little bit about what's got you going with Reframe, Daniel? Because I know you're one of the very active people there.
00:15:09
Speaker
Sure, yeah, so Mike Thompson, my boss, is kind of the creator and visionary of Reframe, if you like. He's the one who does all of the... He does the implementation too, but he also does the big thinking, conceptual, where do we want Reframe to be going in the future? And I do some maintenance and some more feature.
00:15:36
Speaker
feature level stuff and I got into reframe because I started working for day eight and this is what they they created about three three and a half years ago maybe four it's been a little bit around for quite a while now and
00:15:54
Speaker
Yeah, they created it because they were coming from a flash-based world and so they had kind of really rich flash apps that they were building, lots and lots of client-side interactions, not just sort of straight forms, but lots of tables and multidimensional visualizations.
Creation of Reframe for Applications
00:16:16
Speaker
all sorts of you know pretty pretty rich complex things and so they sort of took a look around and Mike had been looking at the elm architecture and you know stuff from all over the the you know the the front end landscape and sort of came came up with Rith Reframe as the design that made sense to him okay
00:16:42
Speaker
But does he come up with all this stuff in the readme by himself? Yes, yes. Does he have like a professional writer or something? He just writes this like a novel and he's the Dan Brown of readmes. Yeah, that's one of the things that Reframe is possibly most well known for is its extensive documentation and
00:17:03
Speaker
You know, very, very long documentation. At one point it was all in one big, very long read me. And yeah, the, the, there's kind of no, no secret there. It's just, you know, hours and hours of work. I would say Mike's probably put in 10 times, maybe 20, 30, 40 times amount of time writing the documentation as he has in programming, um, reframe. Yeah. So that's, yeah. Yeah. And I think that really shows. Fascinating.
00:17:31
Speaker
Okay. So, um, so if I understand correctly, so Mike is doing the, the, the big picture stuff and then you're, you're maintaining these things, basically dealing with people like Ray opening and telling them to stop bothering me now. Yeah. I mean, Mike does the maintenance too. I just, I just don't want to kind of claim credit for that. He's just the annoying one of the larger things.
00:18:00
Speaker
Yeah, Mike's really cool about Daniel, never mind. But where is reframe going? I mean, so is this used, is this extracted from production code or is it something that you first worked on and then used in projects? It's definitely in production and we've got pretty five or more pretty large applications using reframe. So tens of
00:18:29
Speaker
tens of thousands of lines of code. We've probably got well over 100,000 lines of code by now using reframe. Lots of other people do too. I guess we don't have any major breaking changes that we're planning on making to it. It's now pretty settled. There's
00:18:56
Speaker
different features improvements, probably the one that people are most interested in is possibly one of the features people are interested in is making reframe more taking out the global state from reframe.
00:19:11
Speaker
For those people who don't know, Reframe has one global atom and all of your handlers, subscriptions and event handlers are registered into the global context. That's really nice for getting up and running. There's lots of benefits that come from that.
00:19:32
Speaker
It can make it a little bit challenging if you want to have more than one reframe application in the browser context at the same time. There's different ways we've looked at that. I guess what we're really wanting to avoid is throwing the baby out with the path water that if we
00:19:54
Speaker
it makes something that's more removing this global state or making it, packaging it up. What does the developer experience look like? Because that's the most important thing is how do people use it. But isn't the global state one of the key points of this architecture, having one place where the entire UI state, everything being stored?
00:20:22
Speaker
Yeah, so there's kind of two parts to global state. So there's one app DB, which is global. And, but that doesn't necessarily need to be, you know, defed into the reframe.db namespace. That could be, you know, that atom could be passed around throughout the whole app. So it's still one atom, or ratum actually, a reagent atom.
00:20:47
Speaker
Yeah, but it's not kind of the state doesn't interfere with other other reframe apps on the same page. Okay, so that's perfect. Also, there isn't the the fact that you've got global state. There's this one, that's one part of it. But if you wanted to have you can put events and
00:21:14
Speaker
In theory, you could have multiple places to store your data. I mean, you don't do it yet, but in theory, all it's like the FX style handlers. Yes, yes, yes. In theory, you could take another database or supply another database. That's right, yes, you could. Yeah, and some people... Maybe it's not getting into the weeds here, but maybe we should lift it up a little bit.
00:21:41
Speaker
Yeah, so that's reframe and it's getting more and more popular. We see a couple of job postings every month or so that mention reframe in the description. I think it's sort of been just a slow build over time as people
00:22:02
Speaker
discover it and use it and like it and get running with it. That's really satisfying. When you get pull requests from people like Ray, I'm being genuine here. It really does make it better and it's a really good feeling when you get pull requests from people contributing.
00:22:26
Speaker
A quick question for you then actually is the, because we're talking about, we'll come on to your, your depth thing in a minute. But one of the things that I noticed with reframe is that, and the thing, it's the thing I like about reframe is that this, they have a bunch of components, um, you know, day eight have this recon components and you have this flow and X X and we won't get into each of those components. But what I'm, what I'm interested in is like the management of those components, um,
00:22:53
Speaker
Any thoughts around that? At the moment, it's like fairly free for all, I think. I mean, DA have some, but you can find some on GitHub. But what's the thinking around that a bit longer term?
00:23:02
Speaker
Yeah, I think there's probably, we have sort of a list of, you know, these are components that, or libraries for reframe that you might want to use. I think, you know, we're probably not going to set up a registry where you have to publish to it. But, you know, I could certainly see, you know, there being a little bit more structure around that or, you know, just making it a bit easier for people to discover, you know, what's out there.
00:23:31
Speaker
But if nothing, nothing at the moment. Fair enough. Okay. Yeah, good. Moving on then to depth. Well, we come on to depth. Why not, you know?
Why Clojars Exists for Clojure
00:23:44
Speaker
Actually maybe we might actually start at Clojars because that's kind of the, the start of Clojars. Yeah. So Clojars is probably everybody, just about everybody listening to this podcast knows is the Closure Community Jar Hosting Service. And so I've been an admin and maintainer there for I think coming up two years.
00:24:09
Speaker
now and so yeah we've moved Clojars away from Linode onto RecSpace thanks to the RecSpace sponsors Clojars. We've also moved Clojars onto a CDN thanks to Fastly who sponsor
00:24:28
Speaker
all of the bandwidth for that. And so those two things have really kind of upped Clojos reliability quite a lot because we're no longer depending on the service, our Clojos service staying up, we can depend on Rackspace's object storage and Fastly's CDN to stay up.
00:24:51
Speaker
Could you give a little bit of a, I mean, just for people who are maybe not so familiar with it, what's the reasoning behind why Clojars exists rather than just using Maven? Because obviously many things are in Maven. It's been there for a long time. We can access Maven. So what's the point?
00:25:08
Speaker
Yeah, I think, so it was, you know, Clojars has been around, you know, long before I came to Closure. So I'm not kind of aware of all of the, all of the thorny backstory, but Clojars is, I think one of the goals of Clojars has been, it's to be easy to publish to for the Closure community. And so Maven Central, you know, there's various requirements of what you need to do to get a jar into
00:25:33
Speaker
maven central and you know clothes clothes eyes for better or worse has a lot a lot less stringent requirements really if you can publish it that's kind of about as much as you need to get on there as long as no one's taken that name so
00:25:51
Speaker
Yeah, so Clojars is designed primarily for the Closure community and it's an open source project. There is at least one project I'm aware of that has forked Clojars and uses the base of that for the cascading community. So they publish their jars to a forked version of Clojars that they use. And so, yeah, Clojars is kind of the
00:26:21
Speaker
No, it's just a big data Java library. Sorry. I thought it was like you meant it was some sort of competitor. No, no, no. Yeah. So yeah, that's Clojas. It's for the Closure community to read and write from. So it makes it easy to publish. You don't have to do always POM.XMLs and all this other crap.
00:26:49
Speaker
Yeah, and you don't need approval and there's no promotions and there's less restrictions on signing and the names that you choose. I'm not sure what the long-term effects of it is, but in Maven Central, you need to be able to own the group ID by owning the domain name or have some sort of
00:27:14
Speaker
There's restrictions you can't just publish to whatever you like, whereas in Clojars you can just pick whatever name you like. It doesn't have to be a reverse domain name and you can publish to it. That's certainly easy. I kind of wonder, in the long term, is it going to end up polluting the namespace?
00:27:36
Speaker
What happens with that long term, I'm not sure, but certainly that's the way it is and it's not likely to change. So left pad might be unpublished at some future point. Is that right?
00:27:51
Speaker
It's just a quick question on that. I mean, it's a bit of a sort of left field question, but you know, what the hell? You know, this is, everything is uncharted here. So, you know, remember that there was a big, you know, Rich Hickey talking about him earlier on making these big talks. And the one before last was all about versioning and packaging and dependencies and basically a semantic versioning is fucked. I think he was more polite than that, but that was the bottom line.
00:28:22
Speaker
So, clearly things like Chlojars, users, not necessarily semantic versioning, but package versioning and stuff like that. There's two questions. Number one is, what did you think about that talk? Did it resonate with you in terms of how Chlojars runs?
00:28:39
Speaker
Yeah, absolutely. So one of the things he talks about in that is how Maven Central is immutable. And that's something that Clojars has always been largely immutable. And there's been cases where people have wanted things deleted and
00:28:57
Speaker
I think, in part, because of that talk, we've kind of been a little bit more serious about not letting people delete things. It was never like, I want to delete left pad, and we just say, OK, sure. But I accidentally published this thing or this thing that I published two months ago, and it's actually not. No one's using it. I didn't mean to. We would leave that there.
00:29:23
Speaker
Now, so the immutability of the repository is crucial to Clojas. And I think the semantic versioning not being a great way to communicate change makes a lot of sense.
00:29:39
Speaker
I think probably the one thing that I haven't really seen people push back on or talk about is the costs of this approach because it's certainly valuable to people to not have their software break, but there's different kinds of software development or different audiences that you're developing for.
00:30:00
Speaker
a solo developer developing your own internal libraries for your own projects, then breakage in that is maybe not great, but you're the one who broke it. You can also fix it. It's probably not a big deal. Similarly, even in a moderately sized company, the person who's making these breaking changes has the ability to fix them. Oftentimes, I would argue that's probably a lower effort than
00:30:28
Speaker
maybe lower effort than doing the backwards compatible non-breaking changes. Once you start getting out into libraries that are consumed by the world, then I think this approach really starts to make a lot of sense and the benefits are much, much larger there.
00:30:50
Speaker
So my follow up question, and again, this is very, uh, just off the top of my head is there was all this stuff in closure 1.9. Um, and at Stuart Holloway has talked about as well with spec is that in theory you could publish.
00:31:07
Speaker
tests and all these other things. There's a potential way of communicating the validity of the components and their tests. Is this something, I mean, I know that it's early days, so you might, you won't have anything yet, but have you, have you thought about that as a, as a sort of something that could be interesting for chlorogenres? Can you explain that a little bit further? Publishing the tests.
00:31:33
Speaker
Yeah, so I think his idea, just again, I don't know how much he's thought about it, but I think it is that if you can have like a say that, okay, I've tested these things and I can publish some sort of hash some or check some to say that these tests and this spec
00:31:53
Speaker
have been, you know, made, ran against this code base, then that's to some extent will save you when you're running the code to say, ah, right, okay, well, just like the git checksums, you know, I only need to do the tests against the code which is different or not affecting the code that these tests cover.
00:32:17
Speaker
Yeah, that's definitely an interesting idea. I don't think it's not something I've gone past the thinking about stage. The other thing with spec and closure that I'm interested in and again haven't gone past thinking about is
00:32:38
Speaker
sort of automatically enforcing, you know, semantic versioning or some form of communicating breaking changes where you can sort of, from version to version, you can say, here's the spec, here's what the spec was for this function last time.
00:32:56
Speaker
here's what the speakers this time. Does the spec grow or does it break? And if the spec breaks, then that's a new major version. If it's just growing, then it can be a minor version. I think that idea is really interesting. And I think Elm and other languages with more sort of type level information are able to enforce that. And I think that could be really interesting for closure.
00:33:26
Speaker
All right. Cool. Yeah. We'll see how it develops in the next release. Obviously, hopefully Santa Closure will bring us 1.9 for Christmas and we can all have a Happy New Year. Yeah. Okay.
00:33:39
Speaker
Before we move into the other topic, I was just wondering, can you give us some idea about the Closure stack? I mean, what kind of stack that you use to build Closure and run it? Sure. So Closure is a pretty standard Closure web app. It's built on ring, composure. We've got a SQLite database. SQLite.
00:34:04
Speaker
Yeah, SQLite. SQLite can go quite a long way. And yeah, it's not so great for concurrent writing, but it's only for reads. Exactly, yeah. But for reading, it's fine. And we don't have a ton of concurrent writes to close yours. So it works really well. It means that we don't have to maintain a Postgres database somewhere. So yeah, it served us pretty well.
00:34:33
Speaker
We've kind of thought through databases just for the metadata, I guess. Yeah, metadata, user profiles, all of that stuff. We don't serve any files or anything out of the database. So the repository path is kind of completely separate.
00:34:51
Speaker
Okay, so I think the next logical one to talk about is DEPS, right? Yeah, yeah. So DEPS is a private maven repository service that I've been building and it's now in beta access so people can sign up and start.
The Birth of DEPS
00:35:10
Speaker
start using it. And so I started DEPS because I had used the S3 Private Wagon and actually maintain it now as well. And I found there was some limitations with it. You couldn't sort of
00:35:26
Speaker
see a lot about when stuff was happening or restrict redeploys. There's not a lot of management. It's really just treating S3 as a Maven repository, but there's not a lot of smarts behind it. We also looked at things like Artifactory and Nexus. Those are really powerful and capable tools, but they're also fairly complex and expensive to set up.
00:35:52
Speaker
And so I thought, you know, I think there's probably a middle ground here for something that, you know, for smaller teams, people who don't need, you know, the, the, you know, super enterprise features of Artifactory or Nexus, but also need something a little bit more, a little bit stronger than the S3 wagon. That's kind of where DEPS is aimed at.
00:36:15
Speaker
Yeah. And do you use the same kind of architecture or do you, do you use, I noticed that you have a, a rethink DB client. So do you, do you go a bit more exotic with the, uh, with the depth stuff? Uh, no. So, uh, so dips is, uh, using Yara, um, the Yara alif, um, manifold kind of, um,
00:36:38
Speaker
that sort of stack. And that was, you know, I really like that. I think, do you, do you guys know Yara? Have you used it? Yeah. Yeah. I use it myself actually. Malcolm has been on this show. Come on. We know him. Yeah. Nice and awesome. Yeah. Yeah. Shout out to Malcolm. Yeah.
00:36:58
Speaker
Yeah. So I really like Yara. And again, I think the docs for Yara are really good. They were kind of part of what sold me, sold me on it. And I really liked the philosophy of Yara. So yeah, and then Postgres on the back end. So nothing too exotic. So this is right now in private beta. Yeah. Yeah.
00:37:24
Speaker
And this is something like a software service, right? People get an account and then they can use it as a repository, private repository. That's right. Yes. So the other thing that we didn't want to do and other people also don't want to do is run their own servers. And so with Artifactory and Nexus, you usually have to run it on your own server or
00:37:45
Speaker
There is a SaaS version from Artifactory, but it's still just a server that they provision for you. This is a multi-tenant service.
00:37:57
Speaker
Yeah, so how do you, because I think usually for these kind of things, security is the most critical thing, right? Because in the organization that I worked with, the whole reason of running a private repository is to not to let the code, you know, being seen by other people or whatever, because those are internal libraries that they want to use and they don't want to expose it to the outside.
00:38:18
Speaker
Also, the other reason is that they also have the federated repositories. If you use Nexus, for example, you also federate the public things as well. You're asking people to put their private code in there. One of our listeners or me can convince our boss that, hey, Daniel from New Zealand is running this, so he's a good guy, so I'm going to use this thing.
00:38:41
Speaker
Yeah, so as you said, security is really, really important. And so that's kind of whenever I'm developing stuff, security is tough in mind. And companies are more and more becoming more comfortable with putting their code somewhere on the Internet.
00:39:05
Speaker
And there's certainly companies that just aren't comfortable with that risk. They just say, as long as it's got to be in my firewall under my control, that's fine. There's lots of great options for them there.
00:39:21
Speaker
I'm going to take security as seriously as I can and audit the code as I'm writing it.
00:39:35
Speaker
And this is basically, I can use it exactly like every other Maven repository. So I can publish to it, I get keys, and then just use the same kind of tooling that I have. Yeah, exactly. So there's no plugins required. There's nothing weird that goes on there. It's just exactly the same as any other Maven repository. And when do you expect this thing to get out of beta? Early next year, I expect. OK.
00:40:05
Speaker
Okay. One more quick question about that. One of the things that, um, cause I used to be a enterprise architect for a large corporation as well. Um, and I introduced Nexus actually to that, to that company. And, uh, I, I liked, I liked the fact that you could, um, like he said, you're like, we just said you can proxy stuff and all those kinds of things. But one of the things that people, uh, got, you know, annoyed about to some extent was that we could, uh,
00:40:35
Speaker
We could have things coming from the from the internet that weren't vetted. Is that something or there's two there's two parts that actually one part and it's something Nexus does and something I think our two factories as well is
00:40:50
Speaker
One is they say, okay, well, if you depend on software like, you know, FooLib, whatever, and that FooLib is, has got a, I don't know, some sort of weird license or some kind of like viral license. Itex is a good example, actually, which is a PDF.
00:41:13
Speaker
formatter for Java and recently in version three or version two, some version of it, it moved to GPLv3, which suddenly meant that if you included the library in your code, bam, everything had to be open source. So long story there, but the main point is that you could identify that in Nexus, let's say, and you can say, okay, we don't want to include that in our code anymore.
00:41:37
Speaker
Are those the kind of features that depth is going to have? Sadly, I haven't looked at it myself and after this I will, but what kind of added value do you have over a simple horsing model? Yeah, so those are those kind of federated repositories and license checking, that sort of stuff. It's definitely something I want to add to depth. I don't have anything there.
00:41:59
Speaker
at the moment, but certainly people need it. And certainly large enterprises, it's really important to them. What I still need to learn is how important that is to the small, medium size developer shops at the time. But yeah, it's definitely on my radar.
00:42:20
Speaker
Sweet. Okay, so the big thing that we want to talk about, the new project that you started, I don't know if we want to call it as a project, but give us all the details. We're an hour in now and we've suddenly get to the point where...
00:42:38
Speaker
I'm sorry, we went out of time. Okay, stop now. We have so many things to talk about, Daniel. Sorry about that. We've waffled on for a hell of a long time. So yeah, let's get to the meat of it now.
00:42:52
Speaker
Yeah, so the new project organization that just came out last week is Closureists Together.
Funding Open Source: Clojureists Together
00:43:02
Speaker
And so it's an organization that's designed to help fund and keep closure open source projects sustainable.
00:43:09
Speaker
And so the general model is that developers and companies commit to giving us some money each month and then they tell us what things they think are important for the closure community. Then we have open source developers submit their projects to us and explain why they think it would be a good fit. And then we look at the applications from people and what companies
00:43:37
Speaker
developers are telling us and say all right what's going to give the most impact to the most people in the next three months and so then we then pay those developers to work on those projects for the next three months and then we repeat the cycle.
00:43:53
Speaker
Again, awesome. So what is the structure? So how can somebody become a member? Because there are two sides to this thing, right? I mean, people who are getting benefit from contributing open source projects or putting their project under the umbrella or, I don't know, sponsorship of closures together. And also the companies or the developers members getting into this one. So can you elaborate on that thing a bit? Sure.
00:44:17
Speaker
Yeah, so on our website, closureisttogether.org, there's different pages that, depending on who you are, where you're coming from. So for companies, they can sign up and look at the different support levels that are available to them and hopefully pick the highest one.
00:44:39
Speaker
support us there's also an option for individual developers so if you're someone who you can't convince your company to use closure or maybe your company doesn't use closure but you like it and you just want to support this.
00:44:53
Speaker
this community, then you can sign up for an individual developer membership. And then if you're an open source project maintainer, you can also apply, you can see what sort of, we don't really place requirements on you, but there's just a little bit of structure around how the project runs and you need to tell us what you've done each month and stuff. So it's not
00:45:23
Speaker
a little bit of communication required as part of it. Can I ask you a boring question? Like, I notice you've got different levels of your company memberships that you've got cute names for. They have like a source member, cons member. Did you think about the branding here? Because cons member, it sounds bad. Finally, you've got reduce member is the highest level.
00:45:54
Speaker
That's very good. Yeah. Let's let's reduce one more. Yeah. Yeah. Very good. Yeah. I like it. Thanks. Is there is there. Did any projects apply for funding already. I know it's it's a very early stage for the for the movement so to speak.
00:46:13
Speaker
Yeah, we've had maybe just about 10 projects supply. I'm not going to talk about them just yet, but definitely some really cool projects in there, ones that are...
00:46:28
Speaker
well used among the community. And so really the challenge we have is getting enough money to fund them all. And so I guess that's kind of where the listeners come in. Hopefully they can talk to their bosses about signing up for a company membership because we've already had a really good uptake from individual developers who are signing up. I haven't had so much interest from companies. We've had a couple of companies though that have and really
00:46:58
Speaker
very grateful to them. I think we need a mix of both for it to really work well. We need something community to support it and back it and be behind it, but also it's the companies that have the resources to really sponsor this to a high level.
00:47:21
Speaker
So as I understand the if a company joins they can they can have tax deductions as well. So it's not it's not a kind of Because it's a charitable donation. It's treated as a charitable nation. You can get some tax benefits from it as well. So it's not kind of a completely What should we say it's not completely without some benefit to the companies also
00:47:46
Speaker
Yeah, so there's the direct financial benefit of tax deductibility, I think. As far as I'm aware, that only really works if your company has a US base of operations.
00:48:01
Speaker
The other part of this for companies to think about is what's the cost of your own developers working around bugs in projects and maintaining private forks of things because the person who you're depending on this project but they don't have the time or
00:48:17
Speaker
Energy to you know maintain it to or you know accept your pull requests or whatever so there's you know companies every day You know already paying these costs in in one way or the other And so this is you know a way to to benefit the community, but also benefit those companies
00:48:36
Speaker
What's the education around that? I definitely see a lot of this stuff going around where I've been in large companies myself where people are very happy to spend ridiculous amounts of money with Microsoft and Oracle and these other guys for shit technology and for shit support.
00:48:54
Speaker
Let's just be honest about that, you know, and, you know, why they're doing it. You know, you always say, why, you know, why you spend this money? Well, you know, two reasons. Number one is we can sue them. Yeah.
00:49:08
Speaker
that is ridiculous argument but it's out there you know oh yeah if it all goes wrong we consume by the way you can't you know if your business sinks and Oracle's got a bug good luck suing them you know because that's that's not gonna help you you know
00:49:24
Speaker
But it seems to be like there's mostly it's about the other reason and the reason why a lot of these people like nervous about open source even is this indemnity problem, you know, where in theory if they use this software in their software, then if that turns out to be foul of some patent or trolling patent troll or some shit,
00:49:46
Speaker
Then these guys in theory can be can be sued as well. So they've got some liability. Whereas with certain Linux Foundation projects or not J boss and stuff like that where they go Red Hat people, they're identified against it. Is this something which you're also thinking about because a lot of these, you know, why do people spend money?
00:50:06
Speaker
And it's very rarely for pure reasons of goodness. It's often to stave off some horrible legal bullshit that they've got to deal with.
00:50:20
Speaker
Yeah, so I think that there's definitely, as you said, there's large amounts of money going to commercial software. And I think one of the things that this is kind of part of Closure Together and the project that we're based around or modelled off as Ruby Together is that there is a growing recognition in the open source community and companies that use open source projects that
00:50:44
Speaker
this is not necessarily sustainable for in the long term that people work on these projects for a few years and then they just move on or they get burnt out or there's just too much other stuff going on and these projects sometimes get left to just not rot, but they're just not moving forward. They're left to organize themselves, let's call it that.
00:51:07
Speaker
Yeah, they're not moving forward anymore. And so people are, you know, there was, I think more and more people are realizing that, you know, the software has value and that there's a, someone needs to be maintaining it. And so what, what Closure together is, sorry, Closure together is trying to do is create sort of a brand, brand name and something that large companies can hang their head on and say,
00:51:33
Speaker
All right, we use closure and this is what we support to make sure that our stack stays current. And that's not to say we don't want to suck up funding if people, projects are funding different open source projects directly. That's great and definitely don't want that to stop at all. But that can be hard for people to sometimes even give money to projects. They don't have a
00:52:01
Speaker
an easy way to give them money or there's too much overhead for them and this is just another option for these larger companies to support it.
00:52:14
Speaker
Okay, but isn't this maybe that's what you're pointing out as well like if there is a company that is dependent on a particular stack and If I want to support as that company if I want to support those projects But they're not necessarily part of closures together, then I'm kind of in a
00:52:33
Speaker
in a flux, right? Because should I support Closest together? But because you're selecting the projects for me, not actually me offering the money directly to the project. So how do you think this is going to play out? Yeah, so people tell us, firstly, they tell us what's important to them. So we get that signal pretty clearly. And certainly, if people want to and are able to fund the projects together, they should definitely do that.
00:53:01
Speaker
But there's lots of reasons why. That's always been a possibility for the last 20 years and I think we've seen for the most part that companies don't sponsor the projects that they use.
00:53:18
Speaker
So this will help them and help the general health of the closure community and their projects. And as we get larger and larger, we'll be able to sponsor more and more of the core kinds of projects that everybody benefits from and depends on.
00:53:40
Speaker
Okay. So the idea is to give out like a hourly rate for the people who work on the OSS projects, right? Based on the funding. Yep. That's right. Yep. So we'll say upfront, okay, we can sponsor you for 10 hours a month or 20 hours a month or whatever makes sense and that we can afford. And yeah. Terrific.
00:54:05
Speaker
Okay. Well, I think, you know, as many people should first know that this exists, you know, that is, I think, one of the biggest challenges, because most of the times, you know, you hear things like, oh, okay, I never heard of this thing, you know. I think getting the word out there is much more important. And of course, there is the challenge of balancing both sides, like you have enough projects looking for funding, as well as you have enough members, you know,
00:54:31
Speaker
supporting the organization so you can support the projects themselves. So I really hope more and more people will get into this thing. And this is a fantastic initiative, by the way. Congratulations on booting it up. I can see lots of known names, and hopefully we'll get them onto the show as well eventually. We are following up with some of those people. That's right. Yeah, it's not just me that's working on this as well.
00:55:01
Speaker
Yeah, the other people on that, I'll just get their names to make sure they get there. Their credit too, Toby Crawley, Bridget Hillier, Maria Gala, Devon Walters, Daniel Salano Gomez, and Larry Stadden Jr. So some familiar names. Maria is in New Zealand, isn't she? She was in New Zealand, but she's moved to Germany. To Berlin? Yeah, to Berlin.
00:55:30
Speaker
I'm not stalking her or anything. I just happened to have mentioned it in one of her talks, just to put it out there. That's probably about the Closure Script talk. We discussed it on the podcast. We'll try to have her as a guest soon as well. Toby Crawley used to work with JBoss, or at least Immutant.
00:55:51
Speaker
Yes, he worked at Red Hat. So again, fantastic thing. We really hope that more and more people start supporting it first so you have enough members to fund the projects. It's a very laudable idea, that's for sure.
00:56:10
Speaker
Yeah, yeah. Okay. As you know, we started our Patreon, so as soon as we get a ridiculous amount of money, we'll become member as well. Yeah, we'll use, let's say 10% of the surplus. Yes. That's a creative way of saying that in the last 20 cents. Okay. Anyway, so any other things that you want to highlight, Daniel?
00:56:38
Speaker
The other thing that people might be familiar with is the REPL, which is a weekly newsletter. It writes about Clojure. That's at therepl.net. And so I try and sort of pick through what's happening in Clojure every week and pick out what I think is interesting and what I think other people will find interesting too.
00:56:58
Speaker
Yeah, it's a fantastic thing. It has that closureness to it. It's minimal. It has packed with enough information just for the week. Pretty awesome. And thanks for mentioning our podcast a long time ago. And I'm sorry, I missed on the Christmas card thing. Is there a way I can get into that thing?
00:57:17
Speaker
Yeah, yeah, I'll get you details afterwards. There should be some benefit for running a podcast, right? Of course, of course. Thank you. We'll have to do that. Yeah. Huh? I think we'll have to do that. Make 82. You've got 82. We'll have to. But it's really cool. I mean, it's, I know, you know, you've been putting out very interesting links out there. So for the people who don't know, it's, what is the link?
00:57:46
Speaker
theripple.net. Yeah, theripple.net. So you can subscribe to it. It's a weekly newsletter that comes up with fantastic links and everything about Closure, Closure Script, including sometimes links to a different podcast. So it's a classy mailing list. I'm pretty sure it's classy. The thing I like about it is you've got some very small subsets of information which are
00:58:13
Speaker
which are always kind of like, there's always something interesting and you have this headline saying people are worried about types. And it's funny for a closure news that I don't have that, but yet there's always something in that section. There's always one or two pieces. So what's your thinking about that? I mean, you've put it there. So tell me a little bit about why do you think people are worried about types in the closure world? I know some of the answers, but fuck it. Your turn.
00:58:42
Speaker
Yeah, so the title of that sort of subheading is sort of a reference to, there's a financial journalist, Matt Levine, who writes a daily column about sort of Wall Street and finance. And he's really, really funny. And he has a recurring section. People are worried about bond market liquidity. I really miss that reference. Sorry about that. That's all right. I have no clue.
00:59:11
Speaker
I think three people on the list might have got it, you know. Yeah. So, you know, people are worried about it. It's sort of joking, you know, that, you know, people are not necessarily really worried about it all the time. But, you know, there is definitely, you know, especially in the last couple of months, some, you know, some fairly heated, heated discussions about types and typing. And I think, you know, I think there's there's value to both is probably as diplomatic.
00:59:41
Speaker
I could put it. I think spec is really interesting and it's going to have some bridges that gap to some degree.
01:00:00
Speaker
It's not the same as types, but you get some of the benefits, some of the time for them. I wouldn't begrudge anyone using a typed language, that's for sure.
01:00:15
Speaker
you're not going to go around their houses and like, no, no, no, abuse them, poop in the doorway or something, you know, that kind of thing. Good. Actually, free enough, we had this off topic to some extent, but we had a functional programming meetup for the first time near where I live last week. And we were talking about, and Sky, one of my friends was making a presentation about Elm and some live coding and it was all, everyone was very happy with it. It was very good.
01:00:42
Speaker
And we sort of started talking afterwards and of course literally an hour about why should we use types? Why shouldn't we use types? When can Elm infer types? When can't it infer types? Why mostly infer types by saying they're a map. So why bother? Because you've got like half of the rumor, closure people and half of the rumor like Scala or Elm or Haskell people. Then it's kind of like, it's just,
01:01:09
Speaker
You know, hatred is the common ground, you know? I was one of the organizers of this thing. I opened up by saying there's more that unites us than divides us. And I'm pretty sure that, you know, types is one of those things which does unite us in the end, because all has to bottom down. But we are worried about it. So it's a great headline, I think.
01:01:34
Speaker
I think eventually, eventually we'll get either Martin Odersky or, I don't know, Simon, Pete and Jones on DefN and then things are going to be completely different. So it'll be fun. I think we will get there. So Daniel, I think that the most important question for, for today, you know, do you use Emacs? I thought you'd forgotten this question. Yeah. There is no way. There is no way.
01:02:03
Speaker
It's got a screen server, it's a black and white screen you've got, and it's blurred into it at the bottom, you know. There's a screen burn-in with my mini buffer and mode line, so yeah. Yeah, so I'm a cursive user, I think using cursive for... Is it just because peer pressure? Because it's from New Zealand and you're like, secretly you're actually using Emacs, but you know, in public you just want to support Kotlin a bit and then...
01:02:30
Speaker
No, no, it's the opposite. I think there's a really... Are you really fucking hurting, Max VJ? No, no, no. There's a really strong... What would be good to anyone using it? There's a really strong mythos story, sort of origin hacker myth of the Emacs user.
01:02:53
Speaker
And I think that's a really powerful story that people tell themselves when they're learning Closure and they're learning LISPs and they sort of think, yeah, I'm going to follow the path of the parentheses and part of that is EMACs. And of course, that's what I did too. And so I was working for a company up in Auckland doing Closure work and everyone else was using cursive because they were all sort of ex-Java users. So they were very comfortable with
01:03:20
Speaker
IntelliJ and I was using Emacs and I found they said, you should use it, you should use it. It's really good. And I held off and held off. And then eventually I realized I was spending some amount of time every day just keeping my ripple running and wouldn't know from one day to the next. Can I jack in with CIDR?
01:03:45
Speaker
today. What's going to break today? And I think things have gotten a lot better with CIDR in the time since. But contrasting that with cursive, I never worry about cursive. It just is always there, never crashes. I spend no time thinking about it and I've got work to do. I can't
01:04:12
Speaker
you know, justify billing, billing time, filling with my Emacs set up to, to my clients. So, so this is the, this is the moment that I usually say to our guests. This is so good. Keep talking, Daniel, keep talking. The power of Stahlman compels you. The power of Stahlman compels you. The power of Stahlman compels you. The power of Stahlman compels you.
01:04:37
Speaker
course. Let's see, this is something that we discussed a lot. I mean, I don't want everybody to use Emacs. We basically lose the competitive edge. It's really cool that, you know, someone from Toronto even, I mean, I just checked, I was just checking our DeafN podcast emails. Oh my God. We got tech support for Emacs on our email.
01:05:03
Speaker
OK, I really apologize. Perry Hallenby from Toronto, I mean, he sent me he sent a message at yesterday at four o'clock. Unfortunately, I didn't check my email. And but but he figured it out in within one hour. So it's pretty awesome. He's using a max. So I'm very happy. Are you running email in your email as well? Obviously, of course, there is a new for E. And then, yeah, we have new for E. And then I have offline a map. I'm thinking about switching to inbox at some point. That's a no then. Yeah. Yeah.
01:05:33
Speaker
No, I mean, I am using it. I'm talking about the email fetching program. That's offline emap, imap or embox. Anyway, I tweet from emacs occasionally. That's awesome. Not to say that I really respect emacs. I like it. I think it's extremely powerful. But for me, I just don't have the time or energy to learn it and maintain it and keep up with it. And Cursive does all that for me.
01:06:03
Speaker
Very diplomatic. I think we know where you are. It's okay. I'm going to take it as peer pressure from Colin. Colin is basically like going around New Zealand and telling people, if you don't use car saving, you're not a kiwi anymore or something. That's certainly possible. He's just riding on the patriotism card there. Anyway, nationalistic behavior.
01:06:28
Speaker
Okay, so I think we are almost at the end of our show. I think it's almost a one hour. Yeah, about one hour. Is there anything like famous last words before we close the show?
01:06:42
Speaker
Uh, no, I think that, you know, I've covered everything. Yeah. The last thing actually, let's just quickly do this is the Kibbit thing.
Kibit: Enhancing Clojure Code
01:06:51
Speaker
Um, yeah, because I think that that would be, I mean, you know, we've got a little bit more time if we can just do like five minutes on Kibbit, because, um, I think that to me, that's like, uh, you know, especially someone, I mean, tell me a bit, sorry about the Kibbit, because if that's,
01:07:07
Speaker
If you're just starting with Kibbit from scratch, I think that's pretty phenomenal, to be honest. Yeah, so Kibbit is a project created by Jonas Enlund, and it's been around for quite a few years now. And the goal of Kibbit is to help you rewrite your code, your closure code into more idiomatic closure code.
01:07:30
Speaker
It looks at the patterns in the code that you write and says, it looks like you're trying to do this thing, which is perhaps a little bit convoluted. Why don't you try this pattern, which is more idiomatic. It's a plug-in and it's library, so you can use it from line again or from in the REPL and someone's created a boot task for it. We don't have anything official.
01:07:57
Speaker
for boot yet, but certainly, if anyone wanted to contribute something, we'd be happy to take it. And so, yeah, the God of Kibbit is to help people learn more and more, what's the idiomatic way of doing.
01:08:13
Speaker
doing things in closure. Part of Kibbit that is not really fully fleshed out yet, but something we'd like to do is help people write their own rules and be able to choose which rules they like because Kibbit expresses its opinions on what things should be and sometimes you might disagree. I even disagree with some of the things that Kibbit gives me.
01:08:41
Speaker
Give us an example of what you disagree with. Come on, just a point there. I think threading is probably a pretty good example. So sometimes if you're threading, I think it's if you thread two things through using the threading macro, Kibbit will say, actually, you could just put one function inside the other.
01:09:01
Speaker
And that's correct, but sometimes it makes more sense and is easier to read and easier to understand as a threading macro than one function inside of the other. Sometimes it's correct or sometimes it reads better, but oftentimes I find it doesn't actually, you know, that's not a useful suggestion. So yeah, that's something. So you're going to do a plugin for sauna to rate your code.
01:09:31
Speaker
Yeah, I think I remember seeing something, some sort of closure, closure sonar thing a long time ago. I'm not sure. I'm just joking about that. No, I think it's a good idea though. I think it would be good. There is Code Climate, which is a SAS service, has Kibbit support. And I think there's a couple of other places that also use Kibbit and online services.
01:09:58
Speaker
Yeah. So Arthur, do you have like, because one of the things I think, what's the cider guy called again, actually? Positar? Yeah, Positar. I always butcher his name, actually. So yeah, thank you for rescuing me there. He was complaining that a lot of the standard closure code isn't even idiomatic, and it's all over the place. And certainly in terms of macros.
01:10:25
Speaker
But what do you use as a sort of canonical example of idiomatic closure code to base your judgments on? So we've used Bozidar's style guide, closure style guide. He used to play. So not all of those rules can be expressed in Kibbit. Some of them are line length and different things.
01:10:53
Speaker
Probably the person whose code I admire the most and think is the most beautiful is James Reeves. I always look at his code and I always just think, this is really clean and nice and I follow quite a few of his repositories and I always learn something when people make pull requests and he says,
01:11:12
Speaker
structure it this way and even his specs, his closure specs look really nice, sometimes they can, you know, they're useful but sometimes they can end up looking a little bit messy but his specs, you know, everything he does is really clean so I'd say he's a pretty big influence on
01:11:33
Speaker
I really like that. Friend of the show, of course, you know. He loved this guy. Kudos to James. I agree. He's got a very nice style.
01:11:46
Speaker
Right, cool. Well, I think that's really good stuff. Thank you very much, Daniel. I think, you know, you're doing some great stuff there and good actual code with the reframe stuff and great community efforts with the closures and the DEPS and the closures together. So, you know, overall top man from New Zealand. Thank you very much for your work. Thanks.
01:12:09
Speaker
Yes, thank you. So people who are listening, subscribe to REPL, get on to the beta for DEPS. Pay for closure is together, become a member. So this is something I think could be one of the probably biggest things that closure can benefit from.
01:12:30
Speaker
as a community, as sustaining all the open source projects that are out there. I think that is really, really important because one of the biggest questions every time when you pull in some other library from random place, or well, random place being the internet, your first question is, how maintainable is this shit? I mean, what happens if somebody just drops it off? And of course, we always have people who are extremely hardworking like Daniel. I see so many projects that he's maintaining.
01:12:57
Speaker
but we want to make sure that it is healthy and sustainable. So, and thanks for starting it, Daniel. And we really hope that it is gonna pick up and then, you know, some people will see the value in it and then fund the projects. So that'll be awesome. And so to conclude, we just want to mention a quick thing. We announced that we are going to accept, not accept, you know, we asked for, we begged.
01:13:29
Speaker
We beg for money to make sure that we feed our cats and dogs. I don't have any, but if I have them, I would probably feed them. We can't afford any, can we, at the moment? Exactly. Right now, we can't. But eventually, I think at this rate, we will afford a cat. Half a cat, I think. Half a cat, yeah. Or a Schrodinger's cat within 20 years or so.
01:13:55
Speaker
Nevertheless, I mean, the people who jumped on to Patreon immediately and then started supporting us, I'd like to thank them. This is fantastic and thanks a lot for chipping in. It's not just about the money, it's about the support that you guys and folks are giving us. I'm going to read their names out. I'm not sure if, you know, obviously they're all patrons, so I don't want to insult them in any way.
01:14:23
Speaker
rest of the world, you know, as you can see, we keep insulting ourselves. So that's okay.
01:14:28
Speaker
It's Claudio Apatray and Emma Sagerbach, Sebastian Wagner, Wagner, Wagner, and we have Arturas Quasilis. So we have four patrons already and actually we are thinking of some fancy stuff to perks to them. We will announce it once we decide what we want, what we're going to do for that one.
01:14:54
Speaker
So if you're listening to this podcast, obviously after you spend all your money on closures together and debts, if you have spare change left, you can go to Patreon and then support us as well. So that'll be awesome. Or at least just show that, I don't know, your support then. We would love to hear from you what you want to hear.
01:15:16
Speaker
who you want to be on the show, then we can use this as a hook for getting more and more people to get into closure. So that's pretty much it, I think. Is there anything else, Ray?
01:15:26
Speaker
I don't think so. Like I said, thank you again, Daniel. It was a pleasure. Probably just end up by saying thanks to Pizzeri, who does the music, and to Wautu, who does the sound engineering, both contributing fantastic efforts to the podcast as well.
01:15:47
Speaker
And thanks everyone for listening. It's a pleasure to keep on doing this and we keep on getting good feedback. So yeah, thank you very much. Thank you. And we'll probably publish a new episode soon with a better rhythm.
01:16:07
Speaker
what yeah cut this bit okay cut this shit i don't get it yeah okay that sounds that sounds reasonable yeah okay good night good morning thank you bye godspeed
01:16:57
Speaker
Should we do a clap to finish as well?