This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-04-13
Channels
- # aleph (1)
- # beginners (105)
- # boot (6)
- # cider (9)
- # cljs-dev (61)
- # cljsrn (59)
- # clojure (132)
- # clojure-germany (1)
- # clojure-italy (6)
- # clojure-russia (18)
- # clojure-spec (1)
- # clojure-uk (58)
- # clojurescript (56)
- # core-async (1)
- # cursive (17)
- # datomic (20)
- # docs (1)
- # duct (5)
- # editors (1)
- # emacs (7)
- # events (2)
- # figwheel (7)
- # fulcro (30)
- # graphql (8)
- # jobs (3)
- # leiningen (23)
- # luminus (14)
- # mount (6)
- # off-topic (41)
- # onyx (14)
- # protorepl (2)
- # re-frame (7)
- # reagent (32)
- # shadow-cljs (236)
- # tools-deps (92)
- # unrepl (8)
- # vim (60)
- # yada (1)
Morning
mΛnmΛn
best error message in our whole system: error crossing the streams
Sounds like an episode of Billy Goat Gruff and the troll under the bridge
i was thinking ghostbusters, but i guess trolls are cool too
lol, ghostbusters is a much better observation
ghostbusters is the original source, but what I think of these days is that Magicka π
lol - so we use cassandra as our db, and it has no multi-table transactions... which means that it's always possible to have dangling entries from index-tables to primary tables (because of e.g. updates getting interrupted)
we've never implemented anything to deal with the dangling entries, because global solutions seem pretty heavyweight (full table scan of index tables, joining to primary tables etc)...
but it's just occurred to me that we can use our indexed retrieval op to lazily deal with inconsistencies - when a record is retrieved by an index entry, if the primary record no longer satisfies the index entry then don't return it and silently delete the index entry
simples, but i was just thinking about it wrongly
That is a cool solution π Would you tie it up with re-creating the index correctly as well..?
you mean recreate all index entries for the primary record @maleghast ? that would probably make sense
anyone know of any clojure libs which can turn an exception into something EDN serializable ? i would like to preserve most of the structure - type, message and stack trace, but not get barfage on reading the #error tag
not really this then: https://github.com/cognitect-labs/anomalies
no, not really that... we have something which encodes/decodes [tag value-map]
variants to/from exception ex-data which works very nicely as a way of transmitting well-known error info around, but in the case of random exceptions it's sticking the exception itself in the value-map
which is causing borkage when that value-map
gets deserialized from EDN... i want to be able to turn an exception into something with equivalent diagnostic power which is deserializable
i guess i can do it easily enough myself, but i'd rather avoid the work π¬
doh - (with-out-str (print e))
is easy and satisfies my goal
anyone here using timbre for logging ?
@mccraigmccraig yep, we love timbre
yep, me too - but i have a minor annoyance - every time i attach CIDER to a terminal repl, all the timbre logging gets redirected to the emacs repl buffer
have you ever managed to stop this happening ?
emacs buffers don't do so well when they get 10ks of log lines suddenly appended π¬
no, it's more subtle than that, since i no longer get the timbre logging on the terminal
yes, but the annoying sort of fascinating
iirc it didn't used to happen, but somewhere between various upgrades it started happening and i've now ignored it once too often
hmm. i think it's probably related to https://github.com/clojure-emacs/cider-nrepl/issues/266
when you say all the timbre logging gets redirected to the emacs repl buffer
does that mean it stops being sent to terminal repl?
exactly
anyway, if you haven't seen it, don't bother about it... i was hoping someone had a "just do this" solution
turns out this is the solution - https://github.com/clojure-emacs/cider-nrepl/pull/474 - but it's not ready to merge yet, because it needs to be configurable