clojure-europe

For people in Europe... or elsewhere... UGT https://indieweb.org/Universal_Greeting_Time
2020-11-30T07:00:50.163400Z

Morning

plexus 2020-11-30T07:24:56.163600Z

Morning!

thomas 2020-11-30T07:38:56.164Z

mogge

slipset 2020-11-30T08:28:37.164200Z

Morning!

dharrigan 2020-11-30T08:32:39.164400Z

Good Morning!

maleghast 2020-11-30T08:57:16.164600Z

Good Morning 😉

borkdude 2020-11-30T08:57:25.164800Z

Morning!

dominicm 2020-11-30T09:00:15.165Z

Morning

ordnungswidrig 2020-11-30T09:01:40.165300Z

Good morning!

simongray 2020-11-30T09:29:28.165500Z

morning

raymcdermott 2020-11-30T10:01:16.165700Z

morning

pez 2020-11-30T10:14:33.170400Z

Good morning! This weekend I decided to try relay some of the dev experience working with cljs to build mobile apps. The result was a touchup of my exemple project for it and also a screencast where I demo the stuff. I realize it is a big ask, but I would appreciate some feedback on the whole thing. Never done this before and it was surprisingly hard to not stutter my way through it all. Does that make it hard to consume, you think? What could I have left out? What did I miss? Such things. Thanks in advance for any help with this. ❤️ https://www.youtube.com/watch?v=QsUj7HO5xDg

👏 4
slipset 2020-11-30T12:05:02.172100Z

Since few of you probably follow #clj-commons, I’ll seek some advice here. This https://github.com/clj-commons/meta/issues/59 just arrived in “my” mail this morning. Thoughts?

2020-11-30T12:07:23.172600Z

@slipset do you think somewhere else would be a good home? I'm not sure what you are asking?

slipset 2020-11-30T12:08:50.173900Z

I guess what I’m asking is “Do you think it would be a good idea for clj-commons to take on these projects?” And then the question is good idea for whom?

slipset 2020-11-30T12:09:41.174900Z

So one way to answer that (and anchoring “the for whom”) is if the clojure community would be better or worse off if clj-commons adopted aleph.

slipset 2020-11-30T12:10:08.175300Z

And I would hope the answer to that would be “ever so slightly better off”

slipset 2020-11-30T12:11:21.176200Z

And to your question @otfrom, I guess the other possible home for aleph would be to stay where it lives now (which seems not to be the best solution, otherwise Zach wouldn’t have approached clj-commons).

2020-11-30T12:12:47.176800Z

clj-commons seems to be the place where useful abandonware has a second life (is that fair?)

2020-11-30T12:12:53.177100Z

so that would seem to be a good place for it

2020-11-30T12:13:11.177600Z

I know that some people have based large chunks of their business on things like manifold

slipset 2020-11-30T12:13:35.178400Z

Yeah, I guess that for me the scary bit is the distinction between useful and critical abandonware.

borkdude 2020-11-30T12:13:54.179200Z

I just commented here: https://github.com/clj-commons/meta/issues/59#issuecomment-735747697 One perceived issue with clj-commons for me is that libs are being brought in, but there isn't really a team of owners that feels responsible for specific libs.

slipset 2020-11-30T12:14:02.179700Z

But I guess that sort of comes with the territory

2020-11-30T12:14:19.180100Z

are you seeing the aleph things as more critical and thus higher risk for clj-commons as an org?

borkdude 2020-11-30T12:14:53.180200Z

I think that might also be a relevant comment for @lee

slipset 2020-11-30T12:19:01.184300Z

@otfrom: I’ll digress. https://github.com/clj-commons/meta/issues/18 came up as an issue some time ago. We use saml20-clj at work, and it would’ve been a reasonable project for clj-commons to adopt. But since metabase already had adopted it and was maintaining it, it was natural to let them keep on doing so. Some time later, a security vulnerability was discovered, which is now fixed in the newest versions of saml20-clj thanks to some very impressive work by the people at metabase. What kind’a scares me was if this lib had been adopted by clj-commons and I/we were responsible for fixing the security hole (in a good way).

borkdude 2020-11-30T12:20:11.186200Z

I think that ties into my comment about ownership. People are usually willing to invest time if they are really using the lib, and are stakeholders so to say. So letting companies adopt libraries seems a better strategy, if possible.

slipset 2020-11-30T12:20:31.186700Z

I see the same thing for friend which we also use at work. It’s quite a commitment to take on the maintenance of libs like that, and I guess what I’m really trying to do is to manage expectations.

slipset 2020-11-30T12:22:06.188Z

@borkdude I very much agree upon the ownership thing. I can do life support, but I cannot and will not do active development on critical libs. But I don’t think there is a contradiction between clj-commons and having people/companies owning libs.

borkdude 2020-11-30T12:23:11.189100Z

True. But when taking in libs into clj-commons, maybe it should be clear from the start who are going to be the responsible people for it. I believe CircleCI is tending after clj-yaml on clj-commons if I'm not mistaking. That's also a great option.

borkdude 2020-11-30T12:24:43.191300Z

If you feel responsible for everything that goes into clj-commons, maybe something should be fixed. Which is hard, because people who are willing to step up are maybe hard to find.

slipset 2020-11-30T12:24:55.191500Z

Yes, Circle is tending after clj-yaml, and that’s perfect. There are other libs which also have dedicated maintainers. And then there are a host of libs which are on life support.

slipset 2020-11-30T12:25:37.192700Z

I don’t feel responsible for everything going in there, but I do feel responsible for the expectations.

slipset 2020-11-30T12:26:56.194200Z

So if something goes in to clj-commons with no responsible maintainer, I become that maintainer, and the maintenance performed will be at the minimum level, which may or may not be better than current maintenance, but might not be what people expect 🙂

borkdude 2020-11-30T12:27:44.194700Z

Right.

slipset 2020-11-30T12:30:43.197800Z

Having said all this, the stuff you and I did with clj-yaml for babashka (don’t remember if you ended up using clj-yaml in bb or not) would probably not have been possible without clj-commons.

pez 2020-11-30T12:31:11.198200Z

Maybe it's a possible way for other companies, besides Circle, to sponsor the Clojure eco system. Alot developer time for this life support.

borkdude 2020-11-30T12:31:12.198300Z

yes, it is used in bb!

slipset 2020-11-30T12:31:51.198800Z

(well, it would have been possible, but would have taken longer time)

borkdude 2020-11-30T12:32:43.199800Z

@pez that could work, but you could wonder: a) why would a company throw developer time at lib X if they aren't using it and b) if they are using it, they probably already have their own fork if the lib was unmaintained?

borkdude 2020-11-30T12:33:09.200500Z

and c) is it a good idea to throw random dev time at library X, if the random developer has no idea what X is?

slipset 2020-11-30T12:33:18.200700Z

circle had a fork of clj-yaml, that’s the one that got into clj-commons

slipset 2020-11-30T12:34:07.201900Z

I guess c) is the main point here. You don’t just want a random dev to work on aleph, friend, manifold etc. And to a certain extent, I’m just a random dev 🙂

borkdude 2020-11-30T12:34:18.202300Z

and d) if this is 20% time, the random developer probably has nicer things to do than working on some unmaintained lib ;)

borkdude 2020-11-30T12:34:44.202800Z

e.g. creating future unmaintained libs

😝 2
slipset 2020-11-30T12:35:01.203200Z

As for d) I’d like to point out that people are different. Some people like greenfield, I like brownfield 🙂

slipset 2020-11-30T12:37:24.203700Z

Looking at https://github.com/aleph-io/aleph/issues/450 there should be enough smart people using aleph to help it out…

slipset 2020-11-30T12:37:49.204100Z

looking at you there @borkdude 😛

borkdude 2020-11-30T12:38:11.204400Z

😰

borkdude 2020-11-30T12:40:03.205100Z

We are still using yada / aleph. But I'm not sure if anyone in my team knows any implementation details of aleph, I certaintly don't

borkdude 2020-11-30T12:42:59.205700Z

This reminds me of a company I worked in which had on low level C++ developer who developed the main component the rest of our stack was using. Nobody dared to touch it, except him.

borkdude 2020-11-30T12:43:41.206400Z

And then he started freelancing. But the component was developed for so long, it was kind of done anyway. Seldomly he was hired to fix small things.

borkdude 2020-11-30T12:45:23.206800Z

And after a few years, everything was based on ElasticSearch anyway instead of his C++ component.

2020-11-30T13:10:50.207500Z

we use and maintain kixi.stats. I do wonder how/if we'll have to keep it going with the way things are in scicloj (I think most things will work)

2020-11-30T13:11:29.208Z

I suppose Apache/Linux Foundation/FSF try to solve this problem

2020-11-30T13:11:43.208400Z

there are going to be some issues around copyright assignment and licensing potentially

borkdude 2020-11-30T13:12:55.209100Z

I think the goal of clj-commons is similar to that of such foundations. The main issue seems to be: where do you find the people willing to be the maintainers.

2020-11-30T13:13:34.210100Z

I suppose go on a recruitment drive. Not sure how the other orgs go it

2020-11-30T13:13:44.210400Z

debian is going to be another example

2020-11-30T13:13:57.210900Z

I will admit to not knowing entirely how it works here

borkdude 2020-11-30T13:14:01.211200Z

A bit off topic: asciidoc. Surprising result: I put some effort into making http://book.babashka.org seem "nicer" using a framework, but so far people like the simpler approach. https://twitter.com/borkdude/status/1333371433448329217

slipset 2020-11-30T13:14:27.212Z

I was actually thinking about kixi.stats in all this. That’s another lib that I’d be very scared of maintaining 🙂

borkdude 2020-11-30T13:14:31.212200Z

Maybe @rahul080327 has some ideas about this too, he seems to be active within Debian circles

slipset 2020-11-30T13:14:59.212600Z

or should I say “give life support to”

2020-11-30T13:15:05.212800Z

as it isn't too big I like the all in one page

borkdude 2020-11-30T13:15:21.213500Z

it might become bigger

slipset 2020-11-30T13:15:24.213800Z

If someone comes with a PR which claims to fix the normal distribution fn, I’d be lost.

2020-11-30T13:15:38.214200Z

@slipset I think as long as we keep going and keep selling witan.send and witan.cic that we'll keep supporting kixi.stats and paying people to do that

2020-11-30T13:15:48.214600Z

we being Mastodon C

slipset 2020-11-30T13:16:22.216Z

@otfrom I’d hope (and expect) that, it was more of a hypothetical example of things I’m not competent on handling.

borkdude 2020-11-30T13:16:28.216300Z

Is there any precedent of open source libs going out of fashion but unexpectedly being revived years later and becoming popular again?

2020-11-30T13:16:34.216400Z

kixi.stats is the heart of both of those models and those models are 90% of our business

slipset 2020-11-30T13:17:25.217500Z

For reasons I was playing with kixi.stats this weekend. and that got me thinking.

2020-11-30T13:17:39.217900Z

we've not really done too much work to try to create a community around kixi.stats similar to what is going on with scicloj. Partly I'm not sure how many people would be keen on it

slipset 2020-11-30T13:18:13.219Z

Ie, dist/cdf is a function I was using, but have no understanding of, neither the implementation nor the stats behind it.

2020-11-30T13:18:26.219400Z

but creating a community around it is a way of keeping things going (which is something I learned while "recruiting organisers" from those who complained at London Clojurian meetings)

borkdude 2020-11-30T13:18:38.219600Z

haha

2020-11-30T13:19:04.220100Z

(I am so so so happy that community has a better life after me than it ever did with me)

2020-11-30T13:19:35.220500Z

@slipset hmm.. I wonder if some kind of stats book around the things in kixi.stats would be the way to go

2020-11-30T13:19:51.221200Z

it would need some stuff on the implementation, but then a fair bit on the maths in the docs as well

borkdude 2020-11-30T13:20:38.222800Z

I think what's going on with rewrite-clj now is pretty great as well. First there was rewrite-clj, and rewrite-cljs. Both are now unmaintained. But @lee is stepping up to combine these into rewrite-cljc which will be hosted under clj-commons. This is a lib I'm a fan of and willing to maintain together with lread.

slipset 2020-11-30T13:21:19.223400Z

Yes, but the point was if someone called Bruce approached clj-commons and asked them to maintain kixi.stats, I’d be about as scared (much for the same reasons) as for maintaining aleph.

slipset 2020-11-30T13:22:14.224200Z

And if that happened, and I said yes, and then someone came along with a PR that would “fix” the dist/cdf fn, I’d be in way above my head.

2020-11-30T13:22:36.224800Z

yeah, scicloj would be a better org for that than clj-commons

2020-11-30T13:23:01.225300Z

I wouldn't trust anyone named Bruce if he came bearing source code he didn't want to maintain any more

2020-11-30T13:23:25.225800Z

not that I know any Bruces

borkdude 2020-11-30T13:23:30.226Z

Also, scicloj is now building something around using R libs from Clojure? that will make kixi stats obsolete probably :P

2020-11-30T13:23:36.226200Z

lol

2020-11-30T13:23:40.226400Z

clojisr?

borkdude 2020-11-30T13:23:47.226700Z

I think so?

2020-11-30T13:23:57.226900Z

that is the bridge to R

2020-11-30T13:24:15.227300Z

yeah. kixi.stats is hitting a slightly different sweet spot

2020-11-30T13:24:35.227800Z

If you are doing something in R and would like it to be a lot faster then I'd hope it was in kixi.stats

borkdude 2020-11-30T13:25:09.228Z

kixi is faster than R?

2020-11-30T13:25:26.228300Z

that is the overall idea (faster, more robust)

borkdude 2020-11-30T13:25:31.228500Z

cool

borkdude 2020-11-30T13:26:15.229800Z

since it's "just" math, I could see maintaining this would be easier than say Aleph, of which there are no off the shelves theory books for

2020-11-30T13:26:17.229900Z

it isn't going to cover all of CRAN, but then I'm not sure anything really will

2020-11-30T13:26:45.230300Z

well, surely all the stuff in Aleph should have TLA+ proofs. 😉

2020-11-30T13:27:39.230900Z

(the R stuff should be a lot faster with clojisr and/or using Arrow to move data back and forth)

slipset 2020-11-30T13:35:11.231200Z

I’ll ping Hillel Wayne then…

2020-11-30T13:36:26.231800Z

glad to see my supposedly obscure jokes landing 🙂

🙂 1
slipset 2020-11-30T13:39:43.232800Z

I saw it!!!

borkdude 2020-11-30T13:41:26.233400Z

I reserve the right to delete my really bad jokes. This is why I'm not safe to be on IRC ;)

simongray 2020-11-30T13:49:43.239900Z

It’s too bad when prolific authors of open source libraries suddenly abandon their stuff. How do you replace the singular vision of a super talented individual? I just saw Karsten Schmidt’s umbrella project appear on the frontpage of Hacker News and it reminded me how he stopped development of https://github.com/thi-ng/geom after it reached 1.0 and has focused all of his efforts on TypeScript since then. Not sure if Clojure suffers more from this than other programming language communities, but it’s sad to see in any case. Even if it’s perfectly fine software, knowing that it’s abandonware is a red flag.

2020-11-30T13:50:31.240300Z

I do wonder about adopting thi-ng/geom

2020-11-30T13:50:44.240700Z

partly b/c I'd like a pure clojure svg charting library

2020-11-30T13:50:52.241Z

but that means I only really want a part of it

2020-11-30T13:51:07.241400Z

I had the same problem with Incanter (far to big for me to take on)

slipset 2020-11-30T13:54:51.243100Z

@simongray sad, but expected, I guess. People move on. Problem is that we rely on that work, but we fail to put in place an infrastructure to support that work when people move on.

orestis 2020-11-30T15:35:45.245600Z

I don’t think clj-commons should take on the really heavyweights of the Clojure library ecosystem. Perhaps only just as temporary stewards and guardians of the clojars password until some qualified maintainer stepped up and was willing to continue development.

borkdude 2020-11-30T15:37:00.246200Z

Temporary can take a long time

orestis 2020-11-30T15:39:13.248500Z

Well yes but now the “ownership” of the library is within a trusted group that can pass the baton, and can put out an announcement that says “this project is on ice until someone steps up”. Of course Zach could also say that but perhaps it’s a bigger signal to do it in a “commons” group?

borkdude 2020-11-30T15:39:31.248700Z

yeah, that makes sense

orestis 2020-11-30T15:42:26.249600Z

The nightmare scenario is if someone shows up and makes a malicious fork of aleph somehow claiming to be the continuer, and tricks Zach or clj-commons to give them the clojars password…

2020-11-30T15:44:17.251400Z

I suppose then the problem is that clj-commons becomes the certifier of the new maintainers, which has its own risks but is probably better than the scenario you've laid out

raymcdermott 2020-11-30T16:29:31.251900Z

this is the nightmare scenario

mpenet 2020-11-30T16:32:16.254100Z

if the project is in life support personally I would just archive it, people are free to fork it and continue to maintain it under another group-id, it's quite effortless. Then one fork might emerge as the successor if there's enough momentum

slipset 2020-11-30T16:43:13.256400Z

@mpenet in theory, yes, but then it becomes a hassle when you want to use a lib. Who’s fork is the least malicious one. Or the best maintained. And why spread the maintenance burden on each user of the lib?

dominicm 2020-11-30T17:17:08.257200Z

Seems to me that the commons role is to act as a handover point.

borkdude 2020-11-30T17:25:45.258100Z

yeah, but what could also happen is that the aleph-io allows interim devs from clj-together to manage the repos for a while (life support), waiting for other people / companies to come along

borkdude 2020-11-30T17:26:36.258600Z

if there's already an org, I don't see the need of transferring repos

2020-11-30T17:56:27.260Z

I use docjure for my excel bashing needs, does anyone have a good library for talking to google drive or google sheets?

dominicm 2020-11-30T17:56:28.260200Z

Commons acts as a long term solution. You know that if the current company loses interest, then commons will pass it on.

2020-11-30T23:40:10.260600Z

Good night https://photos.app.goo.gl/wyLatxLZWiacdRPv6

😍 1