clojure-uk

A place for people in the UK, near the UK, visiting the UK, planning to visit the UK or just vaguely interested to randomly chat about things (often vi and emacs, occasionally clojure). More general the #ldnclj
dharrigan 2021-04-08T05:40:13.157600Z

Good Morning!

1
djm 2021-04-08T05:47:12.157900Z

πŸ‘‹

dharrigan 2021-04-08T05:48:16.158500Z

Anyone know an android/ios developer looking for a small side gig?

thomas 2021-04-08T08:00:25.161500Z

I can do React Native if that is what you are looking for

djm 2021-04-08T06:20:02.159400Z

You know it's going to be a good day when you upgrade IntelliJ, and it refuses to let you work on your (non-android) project anymore, because you don't have an Android SDK installed 😁

seancorfield 2021-04-08T06:34:57.159900Z

@djm_uk Is that the April update that folks were asking β€œDoes it work with Cursive?β€œ?

djm 2021-04-08T06:47:20.160200Z

It was released yesterday.

djm 2021-04-08T06:47:27.160400Z

Does it work with Cursive?

djm 2021-04-08T06:48:54.161200Z

I was surprised to see how popular Cursive is, on the State of Clojure results

seancorfield 2021-04-08T16:12:23.164800Z

Yeah, I’m surprised too. I don’t like big, bulky, Java IDEs 😞 I used Emacs for years (technically β€œdecades” but it was off and on), then switched to Atom, then VS Code (the third most popular Clojure editor).

djm 2021-04-09T05:26:13.174100Z

I never got the hang of VS Code. I'm generally uncomfortable without vim's modal editing, but have been having some fun with emacs recently.

seancorfield 2021-04-09T05:29:22.174400Z

https://marketplace.visualstudio.com/items?itemName=vscodevim.vim ? πŸ™‚

djm 2021-04-09T05:32:54.174700Z

Sure, but then I could just use vim instead ;)

djm 2021-04-09T05:34:19.174900Z

I wonder how well it works though - when I used to have to use Eclipse, there was a vim plugin that worked pretty well (despite a few rough edges). Now that I have to use IntelliJ, I have found that the vim plugin conflicts with IJ's own keybindings way too much

thomas 2021-04-08T07:59:50.161400Z

moin moin

mccraigmccraig 2021-04-08T08:01:18.161800Z

mawning

alexlynham 2021-04-08T08:34:26.162Z

morning

jasonbell 2021-04-08T10:07:53.162200Z

Morning

2021-04-08T10:31:50.162600Z

Morn'

danm 2021-04-08T14:53:49.163200Z

Wee, inter-thread communication pain 🀦

mccraigmccraig 2021-04-08T16:25:10.165700Z

always fun @carr0t - use a queue/stream/chan ?

danm 2021-04-08T16:25:31.166Z

Naah, I was just being a moron

danm 2021-04-08T16:28:38.169200Z

I had a (try ... (a/go ...) (catch ...) (finally ...)) where I was assoc ing an object into an atom in the try and expecting another thread to be able to see it. But I had put a form to dissoc the object in the finally to clean up if there was an error, when it should have been in the catch and the async body in the go block. As it was the function was returning (because async), which was meaning the finally was executing and cleaning up the object before the other thread had chance to see it

thomas 2021-04-09T08:31:42.178100Z

@carr0t maybe a bit late... but I think the (preferred) way for observing changes to an atom is with agents and that would be async as well and on another thread.

danm 2021-04-09T08:52:20.179400Z

But if the agent is async, how can I be sure that the value has actually been set before doing more work which is dependent on the other thread having the newly set content visible?

danm 2021-04-08T16:29:39.170Z

Now I just have more ring/Jetty async fun, and it might well be that the answer is "stop using Jetty, it's making your life harder" ;)

mccraigmccraig 2021-04-08T16:45:39.170300Z

haha, i don't think i've used jetty for a very very long time

mccraigmccraig 2021-04-08T16:46:45.170700Z

being a moron is my biggest problem too πŸ™Š

danm 2021-04-08T16:51:46.170800Z

This is my problem:

mccraigmccraig 2021-04-08T18:24:54.172700Z

ah, yeah... finally can be something of a pain if you mix sync and async contexts... i generally force things to be async and then just use whatever async equivalent of finally you have

danm 2021-04-09T13:30:03.180400Z

Turned out I also needed to upgrade the version of Ring to fix some issues, but not upgrade it too far... https://github.com/ring-clojure/ring/issues/436 πŸ˜‰