off-topic

https://github.com/clojurians/community-development/blob/master/Code-of-Conduct.md Clojurians Slack Community Code of Conduct. Searchable message archives are at https://clojurians-log.clojureverse.org/
jumar 2020-10-22T04:47:03.432700Z

If you do remote pair/mob programming what format and tools/platform(s) do you use? We want to improve knowledge sharing in our team and decided to try regular "mob programming" sessions - e.g. UI-focused devs introducing our ui library and concepts behind it and then trying to implement a small, but real, feature together. Our devs use a variety of tools - Emacs, IntelliJ, VSCode, ... I did some pair programming in the past but never remotely and I'm afraid it's gonna be very challenging to make it a good experience.

jumar 2020-10-23T08:21:42.468600Z

Nice, thanks a lot for all the details! Btw intellij recently released a special “plugin” for that I think

Stefan 2020-10-23T08:28:51.468800Z

That would be interesting, thanks!

Stefan 2020-10-23T14:04:44.470500Z

I found the Jetbrains thing you mentioned, @jumar: https://blog.jetbrains.com/blog/2020/09/28/code-with-me-eap/. Trying that now. Still quite limited and rough around the edges I guess.

jumar 2020-10-23T14:05:22.470900Z

Yes, that's it - haven't tried it yet but want to do so because we have a first session next friday

jumar 2020-10-23T14:05:53.471100Z

In the meantime I'm also looking at https://screen.so/ as suggested here: https://clojurians.slack.com/archives/C03RZGPG3/p1603369403439400

jumar 2020-10-23T14:38:12.471700Z

One question regarding this VSCode/Intellij-style interactions. What about the running app itself? Like sharing a running REPL session? Is that possible?

pez 2020-10-23T16:25:20.471900Z

Not sure if I understand the question, but I think the answer is yes. @stefan.van.den.oord wrote these docs, when he fixed Live Share support in Calva: https://calva.io/live-share/

Stefan 2020-10-23T16:26:00.472200Z

@pez We should make that screencast soon 🙂

pez 2020-10-23T16:28:04.472400Z

Indeed!

pez 2020-10-23T16:29:07.472600Z

There is a Youtube channel that needs some content. 😃 https://www.youtube.com/channel/UCakZ_CPx4T2QXGEgyFEFGqQ

jumar 2020-10-24T06:43:00.488500Z

Yes, I think that's what I'm after - sharing the REPL between participants.

2020-10-22T05:03:53.433600Z

tmate works if you can accept the security implications and all parties are comfortable with the tmux UI https://tmate.io/

2020-10-22T05:04:20.434100Z

it doesn't work for a non tty frontend though

dpsutton 2020-10-22T05:45:25.435300Z

at my last job we would use zoom screen sharing and git mob to sign multiple authors onto commits. its not great for mid work handoffs but is good for pairing if its more driver/passenger style

pez 2020-10-22T07:27:29.437500Z

I know @stefan.van.den.oord is using a combination of video sharing and VS Code Live Share. Where I work I’m the only one using VS Code so it’s Zoom only for when pair programming. Which works pretty nicely, but, as @dpsutton says, a bit more of spectator sport. Switch drivers often somewhat compensates.

bherrmann 2020-10-22T12:23:23.439400Z

@jumar I've been using http://screen.so for pairing - and it is mostly great. Both users get a cursor and can type and/or mark up a shared screen.

jumar 2020-10-23T13:37:07.470Z

Thanks, that looks interesting! I'll check it in more details but it looks similar to what @stefan.van.den.oord described in https://clojurians.slack.com/archives/C03RZGPG3/p1603435297465000?thread_ts=1603342023.432700&cid=C03RZGPG3 > I have used Teams screen sharing in the past, which also offers both participants their own mouse cursor and both can type at the same time. VSCode Live Share is a lot nicer though; using that each has their own setup of vscode (including colors, key bindings, layout, plugins, etc) but you’re still working on the same code base. @bherrmann do you basically only work on a single machine where the app is running and all the changes stay there? Or do you switch turns in which case you have to push changes and pull them and potentially rebuild/restart the app(s) on the other end ?

bherrmann 2020-10-24T13:01:57.017400Z

@jumar Yes, single machine.

ballpark 2020-10-22T17:58:44.441700Z

My company is moving away from Clojure and I'm very sad. I was discussing with another developer, and he mentioned Clojure wasn't on the 2020 stackoverflow survey, but it did pretty well in the 2019. Does anyone have any insight into that?

2😥
alexmiller 2020-10-22T17:59:42.442300Z

they removed it, not sure why

alexmiller 2020-10-22T18:00:27.443100Z

for various reasons (like this Slack), Clojure is not particularly active on SO, so presumably that's a reason

ballpark 2020-10-22T18:01:11.443700Z

I see, thanks Alex!

dhd 2020-10-22T23:21:54.455Z

really off topic here but looking for ideas. Problem: I am writing a client which will run specific tests on the users computer (they clone the code and run it in docker). Once the user runs the test, the client needs to publish the results to the server (this happens in the background without the user being concerned about it. but the user know this is happening). The user needs to be authenticated to publish anything to the server. Also, the users I am dealing with do not want to be prompted to enter their credentials, they are just concerned with running their tests. I am told storing their own credentials in a file on their computer is also a no go. A solution: 1. Ask the users to authenticate once with the server and get back an access token. 2. Store the access token on the file system (at some specific location) 3. (Steps 1 and 2 will happen only the first time or if the user looses the token) 4. The token will be stored in a DB so even if the app restarts, it will be saved without the hassle of re-creating it. 5. The user will run the tests and once the tests are finished, the client will use the token to authenticate with the server and publish their results. This solution seems a bit fragile. I have searched the web and I see things like API keys and auth tokens (i think what I am doing here is using auth token as an API key). Do you guys have an idea how I should approach this. A pointer in the right direction will be very helpful. Thanks.

phronmophobic 2020-10-22T23:38:07.455100Z

your solution seems reasonable. seems very similar to how google handles auth with their apis: https://developers.google.com/gmail/api/quickstart/python

phronmophobic 2020-10-22T23:40:20.455400Z

when the local credentials don't exist or aren't valid/expired, it goes through an oauth flow with something like: • print a link to open in a browser • the user logs in using their browser • an oauth token is presented to the user • the user copy and pastes the oauth token into the command line