This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
- # admin-announcements (17)
- # announcements (4)
- # beginners (47)
- # boot (347)
- # braid-chat (55)
- # bristol-clojurians (5)
- # cider (5)
- # cljs-dev (1)
- # clojure (111)
- # clojure-chicago (1)
- # clojure-russia (73)
- # clojure-ukraine (2)
- # clojurescript (162)
- # code-reviews (1)
- # community-development (199)
- # core-matrix (2)
- # cursive (29)
- # datomic (40)
- # devcards (13)
- # dirac (37)
- # docs (12)
- # editors-rus (2)
- # emacs (11)
- # events (26)
- # hoplon (2)
- # jobs (8)
- # ldnclj (31)
- # lein-figwheel (2)
- # off-topic (7)
- # om (59)
- # other-lisps (1)
- # portland-or (1)
- # proton (50)
- # re-frame (5)
- # reagent (13)
- # ring-swagger (5)
- # spacemacs (3)
- # yada (3)
@meow: instead of spreading my argument across multiple documents I chose to try putting it into a single one. While I can deal with your tone please consider how this might have an impression on other potential contributors. Also feel free to copy sections of that document wherever you feel they're most appropriate. I jotted down that pad before I headed out today mostly as a result of some thoughts I had before falling asleep. It was mostly intended to stir up some more serious discussion for investigating matrix, which it did.
Fwiw I originally titled that doc "the case against making our own" but then shifted towards promoting a particular approach.
@jaen: So I’m in that one, but I can’t see any more action since I was there on Sunday
It looks to me like discoverability might be an issue with matrix, much like gitter.
@cfleming: since the UI would be custom we could make pretty nice tools for room discovery I think
@cfleming: there was some talk in the Clojure room on matrix today which you should see I think
I’m worried that the federation makes things like this a lot more complex than they might be with a single server.
Ok, that worked. But now I have two rooms called Clojure, and the original one doesn’t show up in the search.
@jaredly: It’s the link I sent to @martinklepsch earlier: https://vector.im/beta/#/room/!KUFCIbujaRIuIJDIan:matrix.org
a response from the matrix guys: > I think the room directory you're looking at is only on the http://matrix.org server -- and the directory is something not fully finished yet > basically #C03S1KBA2:http://matrix.org is an alias to a specific room id, the other one you can see has the raw ID in the path, no alias > Rooms with aliases appear in the directory, rooms without aliases do not > If you have sufficient "power" in a room you can change the alias, but Vector only allows you to set it at room creation (other clients or a CURL post can change it)
I'm available for the next 5 hours. Then I am moving to a new location and will be out of touch for about 10 hours, maybe more.
Is it sad that while I'm reading spreadsheets I'm coding Clojure problem's in my head?
Sorry I didn't reply last night, nightmare .. car broke down in the middle of nowhere 😞
more from matrix room: > alias editing will land very shortly (today perhaps) > be9: vector is still beta, but progressing fast > be9: we'd love for clojurians to use Matrix - please let us know how it goes and we will fix any problems asap
Yeah self-signed at the moment until I buy an SSL cert, but since we are testing for now it doesn't matter
It is the client that came with the docker image mentioned above, can sort other solutions as we test
@martinklepsch: yep that's the plan, just didn't have time to sort due to the car last night lol
Just wanted to post these links here about the struggle the reactiflux people had when searching for a new alternative: - https://github.com/reactiflux/volunteers/issues/25 - https://github.com/reactiflux/volunteers/issues/17 - http://www.jordanhawker.com/posts/131477030371 and of course the blogpost from facebook https://facebook.github.io/react/blog/2015/10/19/reactiflux-is-moving-to-discord.html although I'm sure most people here know that story already
interesting that the list of cons for RocketChat is relatively short and low-severity, but they didn’t go with it. Have we evaluated RocketChat?
particularly given that discords problems around channel management seem to be much more severe than the problems listed against RocketChat
Honestly? Of all compile-to-JS options that's the worst one. It's basically just some syntax sugar on top of JS someone made because JS didn't look enough like Ruby. And it'll soon be outdated with ES6 implementing most of that sugar.
But probably the biggest turn-off for me are the insane scoping rules they think are a feature.
@jaen: fwiw, I do coffeescript at my day job (all day, every day) and have literally never run into any of the proposed scoping problems. If (hypothetically) RocketChat met all our needs then we wouldn’t need to dive into the CS code?
Well, if you follow the link to "The Problem with Implicit Scoping in CoffeeScript" then the author describes the problem he had in real code. But yeah, I don't have enough RL experience with coffeescript to know how often that pops up in practice and it's mostly my bias against the language - why would I want to use some syntax sugar over proper language if ES5 + something like underscore or ES6 give me most of that sans the Ruby-ish syntax or I can use language that gives me a different useful semantics like Clojurescript or Purescript or Typescript.
But yeah, it certainly a non-issue if there was no need to extend the server, but I'm not sure if that's a good assumption to make; there might be things we're not aware of at the start.
eh, yeah, I don’t feel to strongly about it. I’m not a super-fan of CS or anything I just think every language has it’s problems. If we wrote off a language because of one or two problems then no-one would use clojure for example
I take the point though, it’s a less-than-ideal implementation language for one of these projects
Writing a whole client+server thing would be probably too much, but implementing own client on top of something sounds reasonable.
what I like about matrix is that they have modular approach. a distinct server with a clear spec and separate clients
yeah, it’s the closest we’ve seen to a drop-in slack replacement, barring a few minor problems that could easily be fixed
yeah, it’s a mixed bag, on the one hand it’s a very faithful recreation of slack, on the other you have the coffeescript/meteor/mongo stack, which is not everyone’s cup of tea
upside, if we needed to move off slack tomorrow, then RocketChat would work just fine.
yes, but there's no way to improve it from our side, unless some brave guy wants to get lost in meteor and mongo
and it has its glitches. e.g. it pretends there are unread messages in clojure channel, however there aren't
> Rocket.Chat Native Android Application > Warning: This app is not production ready!! It is under heavy development and any contributions are welcome.
they say their goal is
to become the number one cross-platform open source chat solution
I think the goal for us could be "have a chat solution we could easily support, which would be convenient for both experienced users and newcomers and probably one we could be proud of as a community" (the last part is about our own cljs client)
how often do you see a good discussion like this one: https://news.ycombinator.com/item?id=9624737
Would we agree that there are now at least two parallel conversations going on in this channel, and it’s getting a bit confusing? 1) building a clojure chat app from scratch (or writing/modifying a client for an existing protocol) 2) evaluating alternatives to Slack
rocketchat is cool, but meteor has the hard requirement of every client having a persistent connection open, which seems like it would run into real problems trying to support large numbers of people (this page http://joshowens.me/how-to-scale-a-meteor-js-app/ says it starts to fall over at 700 concurrent users). Now, I’d be really interested to know how many slack users are actually connected at any given time… maybe it’s not more than 700? but it just seems like an architecture that’s more prone to problems.
unless they are actively transmitting or receiving though, those sockets are just sitting there in a TCP
select, waiting for an event