Discussion about all editors used for Clojure/ClojureScript
pez 2018-08-08T06:19:48.000109Z

Cool. Sounds like a very smart move with this semi-vacation. I wish we could find the magic formula to get more people involved. More things could be done of course, but also people like you would carry a less draining burden.

bozhidar 2018-08-08T06:58:37.000129Z

Yeah, that has been my dream for quite a while.

bozhidar 2018-08-08T07:00:11.000337Z

It’d be really great of there was a bigger team around the core dev tooling and I’m still optimistic that will happen at some point.

dominicm 2018-08-08T07:00:33.000252Z

I think it's a really open question at this point about how we grow the community & contributions.

pez 2018-08-08T07:02:08.000179Z

It could be a function of how the core is developed. In projects where that is done more in the true spirit of open source I think I see how that transports out to dev tooling and similar initiatives.

bozhidar 2018-08-08T07:02:58.000103Z

Yeah, I agree with this perspective.

dominicm 2018-08-08T07:03:18.000189Z

I don't understand what you're saying there, sorry, can you rephrase?

bozhidar 2018-08-08T07:04:00.000272Z

The fact that Clojure is developed as a “Cathedral” spreads to other parts of the Clojure community (people feel they are discouraged to contribute).

bozhidar 2018-08-08T07:04:25.000045Z

That’s true for pretty much every core/contrib project.

pez 2018-08-08T07:04:46.000049Z

That said I also note that almost all I listen to who really participate in the community seem very interested in lowering the bar for newcomers and growing the community that way. It always gives me hope to hear that.

dominicm 2018-08-08T07:06:08.000260Z

That doesn't make sense to me, outside of the core projects anyway. Discouragement doesn't logically imply discouragement elsewhere. Perhaps I have an unusual perspective, I think some view language stewards as a hierarchy over their community, but I view it more as a bazaar of stalls and vendors doing their own thing.

bozhidar 2018-08-08T07:08:58.000158Z

Who knows. I’m just puzzled that even small Ruby projects often get more contributions that the biggest and most established Clojure projects. Perhaps most people are just very happy with the current state of affairs? 😄

dominicm 2018-08-08T07:12:15.000048Z

https://clojure.org/images/content/news/2018-03-19/industries.png I suspect some part of the puzzle lies here. Enterprise is a big market for Clojure. Enterprises make it very difficult to open source code.

pez 2018-08-08T07:13:19.000202Z

Yeah, that makes sense too.

dominicm 2018-08-08T07:13:25.000219Z

We have to use remote desktop and use a specified emacs config on a windows machine. The clipboard is monitored. Github and Stack Overflow are blocked. Someone mentioned sneaking code in/out via pdfs.

dominicm 2018-08-08T07:13:42.000162Z

Also enterprises are very draining. You're constantly playing politics.

pez 2018-08-08T07:14:43.000226Z

You could do like the EFF did with crypto algorithms. Trained an OCR machine and published the code as a book, so then protected by the first amendment. 😃

pez 2018-08-08T07:15:42.000105Z

I have a copy of the first of those books. Pure gold. I don't understand a thing about the content, but I love the disobedience.

dominicm 2018-08-08T07:16:18.000072Z

@bozhidar does ruby have a survey like the clojure one? google isn't showing anything with a lazy search 🙂

bozhidar 2018-08-08T07:20:24.000052Z

Don’t see anything like this in the popular surveys like https://www.jetbrains.com/research/devecosystem-2018/ruby/ and http://rails-hosting.com/2018/

bozhidar 2018-08-08T07:20:59.000082Z

But I do recall some surveys 5 years ago saying that half the startups in SV at some points used Ruby and Rails. Pretty far from the Enterprise mindset. 🙂

bozhidar 2018-08-08T07:21:30.000038Z

I worked with Ruby in 3 consecutive startups, so for me the language and the community have a very startup-ish vibe to them.

dominicm 2018-08-08T07:24:09.000160Z

http://rails-hosting.com/2018/ > 65% of respondents reported they work in a product shop I wonder what "Product Shop" means here? I think of companies building their own product rather than enterprises and consultancies.

dominicm 2018-08-08T07:24:38.000328Z

ah, but you're also in a product shop, agency or freelance, so it might not be a good question

pez 2018-08-08T07:26:29.000246Z

How about Java? (Thinking about if it is the JVM that causes much of this enterprise/government concentration.)

pez 2018-08-08T07:28:23.000288Z

I'm with a startup using an almost ”pure” Clojure stack, btw. But we are trying to start a new bank, so I guess it will eventually be that we need to sneak code in and out on QR codes printed on our t-shirts and stuff.

bozhidar 2018-08-08T07:30:06.000064Z


bozhidar 2018-08-08T07:31:38.000245Z

Well, Java is likely what lead the to chart that @dominicm showed. Before switching to Ruby, I was a Java dev and all my gigs were as “Enterprise” as it went… I loved Java and I still do, but the I certainly wasn’t very fond of most of my clients and their attitude.

pez 2018-08-08T07:35:55.000309Z

There is certainly no lack of OSS initiative in Java. But, then, Java itself is not open source, is it? Very different stewardship from Clojure, anyway. Maybe they even talk to dev tool builders when they design support for dev tooling? Just guessing here, I have no clue whatsoever.

dominicm 2018-08-08T07:39:50.000302Z

I think Java is anomalous somewhat due to sheer scale of community.

bozhidar 2018-08-08T07:40:14.000202Z

Btw, technically Java is somewhat open-source. 🙂

dominicm 2018-08-08T07:40:29.000260Z

or rather, I think they have pushed past the problem. How they did that is very curious though!

bozhidar 2018-08-08T07:40:34.000092Z

Not sure how easy it is to contribute there - I assume it’s extremely hard, but for some pretty objective reasons.

bozhidar 2018-08-08T07:42:47.000193Z

For some reason as a Java dev I never even thought about contributing to OSS, even though we were using plenty of OSS libs in our projects. Emacs and Ruby got me fired up about open-source contributions. 🙂 Even before I was very inspired by OSS hackers and was a happy BSD/Linux user and followed some project, but for some reason I felt I was probably not good enough to contribute anything meaningful to them.

bozhidar 2018-08-08T07:43:30.000175Z

As time grew I saw that all projects have so many rough edges and good ideas on the backburner, that there’s always the opportunity to help out.

bozhidar 2018-08-08T07:44:10.000060Z

I think my proudest OSS moment was when I was granted commit access to Emacs’s repo. This was truly special. 🙂

bozhidar 2018-08-08T07:44:43.000161Z

For some reason work accomplishments never managed to energize me that much…

dominicm 2018-08-08T07:45:40.000068Z

Clojure has fired up my OSS drive, in a way that python,js,etc. never really did. First time I've felt like I can contribute.

orestis 2018-08-08T08:52:52.000028Z

Perhaps the age/experience of the community is also a factor? I know that 10 years ago I was eager to show my brilliance to the world and didn’t think twice before announcing my Python type-inferencey thing that I had no idea about. Now after some experience, I’m always in the “I’m not sure, it depends, everything sucks” blah blah mode.

orestis 2018-08-08T08:54:10.000095Z

BTW @pez I’d love to contribute a little bit to Calva. I’ve convinced my coworkers to switch to VSCode for JS development because it’s brilliant for that — and now I want them to have a good Clojure experience if we ever add it to our stack 🙂

pez 2018-08-08T09:06:53.000182Z

A dash of modesty does not hurt. 😃

pez 2018-08-08T09:08:39.000254Z

I'd be delighted to get help with Calva. There are so many fronts to battle and often end up threshing (if that is the word, not sure why I am using it).

pez 2018-08-08T09:16:47.000169Z

When I dream Calva dreams (which I do often) they most often involve a much better REPL experience. Those integrated Terminals that the vscode team seems so content with really do not cut it. With your help, @orestis, maybe we can create something that is much better on that front?

orestis 2018-08-08T09:18:30.000220Z

Hm, I never cared for having a Terminal — based on my experience with CIDER, I want to do everything from my editor (i.e. evaluate forms and see inline results). Proto-REPL has some good ideas also -> some graphical result inspector would be super cool.

orestis 2018-08-08T09:18:59.000140Z

There’s a few low-hanging fruit, like picking up the .nrepl-port file so connections happen automagically 🙂

pez 2018-08-08T09:19:50.000284Z

Calva does that picking up already.

pez 2018-08-08T09:21:10.000266Z

I am thinking about some combination of REPL prompt and file. A bit like CIDER's REPL, but even more file-ish. 😃

pez 2018-08-08T09:22:16.000121Z

V E R Y unfinished thoughts. The idea might suck bad.

pez 2018-08-08T09:25:55.000207Z

If we can find a way to display inline results that one can interact with the need for a REPL prompt will decrease, so I would be happy to put the first bursts of effort that way as well.

orestis 2018-08-08T09:37:22.000286Z

Well, I’m not making any promises — but some few “good first issue” things on Calva’s github may help 🙂

dominicm 2018-08-08T09:40:00.000195Z

Not that I'm confident people would use it, but I wonder if something indexing by priority (dictated by some arbitrary person) and other filters, collecting ideas and goals from across clojure projects would be useful?

bozhidar 2018-08-08T09:40:54.000130Z

I find decidated REPL buffers useful for experiments, otherwise you I’ve often have to insert/delete some code in code buffers, but I guess that’s a matter of how everyone approaches the process.

bozhidar 2018-08-08T09:41:50.000329Z

I guess we’ll get there at some point. 🙂 If more projects share the same foundation likely their evolution will be driven by similar goals.

bozhidar 2018-08-08T09:42:26.000228Z

@pez Btw, what’s the meaning behind the name Calva? I’m always curious how people decide how to name their projects. 🙂

dominicm 2018-08-08T09:45:55.000094Z

I quite like the idea of something like https://openbounty.status.im/app#/ but without money

dominicm 2018-08-08T09:57:12.000291Z

http://open-source.braveclojure.com/ it exists already of course 🙂 Kinda anyway, I guess it's not: A) Opt-in B) Curated But if this hasn't made difference to open source in clojure, then a version pushed by someone less prolific probably won't either.

pez 2018-08-08T10:42:50.000181Z

Will see what I can populate the issues list with, @orestis 😃

pez 2018-08-08T10:44:44.000278Z

@bozhidar Calva is short for Calvados, a liquid gifted humanity from God. It is made from cider.

bozhidar 2018-08-08T11:34:27.000169Z

😄 😄 😄

bozhidar 2018-08-08T11:34:47.000174Z

I’m laughing out loud!!!

bozhidar 2018-08-08T11:35:26.000039Z

I’m actually quite fond of Calvados, but I thought it was made straight from apples. Now I’m enlightened. 🙂

pez 2018-08-08T13:09:35.000270Z

Haha, well, Calvados is not made from just any cider, it must be cider made from special apples, so in a way I guess cider is just a step in the process and you can say it is made straight from apples anyway. 😃 But I am not an expert in Calvados, I just enjoy drinking it.

Marc O'Morain 2018-08-08T14:21:57.000104Z

😄 lol

Marc O'Morain 2018-08-08T14:26:22.000262Z

Going back to the previous conversation about how Ruby has more open-source contributors than Clojure, I got some interesting experience a few years back at a Node conference about how the Node community (mostly backend web developers at the time) were using open-source, and NPM in particular: The people I was talking to were using open-source modules on NPM as their mechanism for building libraries. They described it to me like this: 1. I need to write a finance website, so I start writing it in node. 2. I'm blocked, since I need to do, say, convert dollars to euros. 3. I write a module to convert dollars to euros, and publish it to NPM. 4. Back in my project, I import my new module, and continue building my website.

Marc O'Morain 2018-08-08T14:27:35.000542Z

The folks I was talking to were mostly consulting shops building apps and websites, so they were happy to open-source any code they were writing, since it would allow them to use in other projects of theirs more easily.

bozhidar 2018-08-08T14:30:10.000166Z

Sounds like a pretty similar attitude to what I’ve seen in the Ruby world. Especially in the early days, when Ruby was a novel thing.

dominicm 2018-08-08T14:38:25.000081Z

I see the opposite in Clojure. 1. I need to do something 2. I know there's a library for that 3. I don't want another dependency (dependency fear?) - I'll just write it myself

bozhidar 2018-08-08T14:57:17.000306Z

Yeah, exactly. 😄

richiardiandrea 2018-08-08T16:54:47.000359Z

this is awesome, thanks you made my day 😄

pez 2018-08-08T17:09:52.000341Z

You’re welcome! I am happy with the name of the project. 😃

orestis 2018-08-08T20:27:07.000403Z

I have been guilty even for toy projects to just copy paste the relevant bits into my own repo.

orestis 2018-08-08T20:27:49.000278Z

But this is because I feel now confident (and scared) enough to go and actually code review my dependencies.

orestis 2018-08-08T20:29:06.000237Z

Perhaps it’s a bike shed problem - I wouldn’t copy paste the relevant bits of pedestal or aleph. But something that’s 100-200 lines of code? Easy.

pez 2018-08-08T21:34:39.000388Z

I just made a little update to Calva Paredit where I add a corresponding Copy and a Cut command for each navigation command. When testing the change I find it helps a lot to quickly copy or cut forms using familiar commands. (Outside Emacs it makes sense to not just use Kill commands for all these, me thinks. 😃 )