Fork me on GitHub
#clojure-uk
<
2018-02-01
>
thomas08:02:32

moin moin morning

danm09:02:13

Overslept this morning :-S Alarm mistake

guy09:02:17

morning!

danm09:02:30

Still, at least I am working from home while some doors get ripped out and replaced

chrjs09:02:12

Morning

maleghast10:02:06

Morning All 🙂

yogidevbear10:02:46

@carr0t Oversleeping? Sounds glorious

danm10:02:02

It was... rushed

danm10:02:49

Only managed to make it work because my wife is into her office a bit later today, so I could ask her to walk the dog

yogidevbear10:02:21

Do you have any children other than the dog?

xlevus10:02:39

What's the hot-shit-shit-hot library for testing these days?

chrjs10:02:22

core.test?

danm10:02:09

Not yet. When/if we do it will be much more hectic 😉

danm10:02:14

Dog is ace though

xlevus10:02:32

have a child, can confirm, dogs are ace. They don't take 18 years to become self sufficient.

guy10:02:25

Are dogs ever self sufficient :thinking_face:

danm10:02:32

Yes, instead they spend 10-15 years not being self sufficient, and then die

danm10:02:08

They are a lot less work despite not being self sufficient though 😉

xlevus10:02:23

@guy well, you don't have to teach a dog to fart, sleep, walk, eat, burp, and shit.

danm10:02:55

Even babies are pretty good at that last one aren't they?

xlevus10:02:06

not when you want them to be, or where you want them to be. But I guess.

danm10:02:41

The dog was at least mostly house trained when we got him. Mostly.

guy10:02:45

The difference being trained to do it vs naturally doing it

guy10:02:05

So babies could arguably do those things naturally given time, just not to the way we want them to

mccraigmccraig11:02:01

any cassandra users out there interested in a small-to-medium scale non-blocking roughly-constant-memory client-side join implementation ?

maleghast11:02:55

@mccraigmccraig Yes, not that I can claim to be a Cassandra user (at the moment) but I am interested in seeing that anyway 🙂

mccraigmccraig12:02:56

here you go @maleghast https://github.com/employeerepublic/promisespromises/blob/master/src/prpr/stream/cross.clj#L384 - it combines manifold streams containing values sorted by a key and is capable of doing things like sort-merge, join and various similar set operations

mccraigmccraig12:02:18

since cassandra doesn't have any join implementation, but can sort records for you (particularly easy with MVs) this makes it straightforward to do a client-side join, as long as your cassandra client can give you a manifold stream of records for a query https://github.com/employeerepublic/er-cassandra/blob/master/src/er_cassandra/model/select.clj#L16

mccraigmccraig12:02:14

it's not really constant-memory because it buffers all records for each join key, so some very-many<->very-many joins could blow memory, but as long as you don't have any data like that it's good