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-02-01T07:06:22.106400Z

Morning!

djm 2021-02-01T07:07:06.106600Z

👋

alexlynham 2021-02-01T08:47:17.106700Z

morning

thomas 2021-02-01T08:47:27.106900Z

mogge

djm 2021-02-01T09:03:56.107500Z

Do any CircleCI employees hang out here?

danm 2021-02-01T09:34:46.107700Z

Morning morning

2021-02-01T09:34:53.107900Z

Morn'

jonpither 2021-02-01T14:57:50.108300Z

Hi, has anyone here used Mongo pipelines?

2021-02-01T15:47:07.108600Z

Curious if anyone's seen this yet? http://teavm.org/

jkxyz 2021-02-01T16:07:36.108800Z

We use Mongo at work and we’ve got some pipelines here and there. Using Monger as the client library

jonpither 2021-02-01T17:30:03.109100Z

Hi @josh604, quite a favour, but would you be up for a chat at some point about them? Doing something similar for our DB Crux and want to get a feel of the pipelines, from someone who has used them.

2021-02-01T17:44:54.111700Z

Yeah saw it pop up again on hn this morning; seems to have come a long way. Could in theory take aot compiled clojure and run it in the browser or on node. But could presumably you could run the clojurescript compiler itself on it.

2021-02-01T18:07:06.113300Z

Yep, pretty exciting 😃... Be curious to see how that would differ from clojurescript dev and what the trade-offs will end up being...

jkxyz 2021-02-01T18:07:56.113400Z

I’m not an experienced Mongo user (nor much of a fan of it), so I don’t think I can contribute much, sorry. We’re only using it for now because we’re migrating from a legacy Node app, and I haven’t used Mongo outside of this migration. In many places we found pipelines to be very slow, and we’re moving to using Postgres as an additional layer for complex queries. I’ve written a couple of pipelines, and I found that the imperative style of the API is nice and more intuitive than SQL. It’s also easier to compose than SQL, because you’re just dealing with mutable objects, and operations can add or remove keys instead of selecting extra rows. For instance doing a subquery to get the authors of a post, which creates an _author key, and then filtering by _author.email. So I could concat some operations into the pipeline and they don’t need to care about aliases or joins. It was also nice being able to have a query that can then be used to perform a mutation. It reminds me of Datomic’s transaction fns, and Clojure’s transducers. I would love to use a more efficient implementation of Mongo’s pipelines, if only it weren’t Mongo, so I’m excited to see what Crux will do 🙂 Hope that helps some.

jonpither 2021-02-01T18:12:09.113600Z

it does - thanks 👍

jkxyz 2021-02-01T18:15:04.113800Z

No problem