This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-01-09
Channels
- # announcements (28)
- # babashka (8)
- # bangalore-clj (1)
- # beginners (123)
- # boot (1)
- # bristol-clojurians (1)
- # calva (3)
- # cider (30)
- # clj-kondo (42)
- # cljs-dev (5)
- # clojure (260)
- # clojure-dev (11)
- # clojure-europe (7)
- # clojure-india (1)
- # clojure-italy (2)
- # clojure-losangeles (5)
- # clojure-nl (5)
- # clojure-portugal (15)
- # clojure-uk (51)
- # clojurescript (69)
- # cursive (6)
- # data-science (21)
- # datascript (17)
- # datomic (1)
- # emacs (29)
- # figwheel-main (11)
- # fulcro (89)
- # graphql (5)
- # hoplon (2)
- # hugsql (6)
- # jobs (11)
- # juxt (1)
- # leiningen (7)
- # luminus (1)
- # malli (3)
- # off-topic (64)
- # pathom (32)
- # project-updates (1)
- # re-frame (9)
- # reagent (10)
- # reitit (21)
- # ring (5)
- # ring-swagger (1)
- # shadow-cljs (8)
- # spacemacs (6)
- # xtdb (4)
💸 Clojurists Together is going to be funding four project $9,000 each over 3 months. 💸 See what kinds of projects our members want us to fund at https://www.clojuriststogether.org/news/q1-2020-survey-results/, and apply by January 15th at https://www.clojuriststogether.org/open-source/
spartan.spec: an implementation of clojure.spec.alpha that can be interpreted by and used with babashka: https://github.com/borkdude/spartan.spec
Heya, just wanted to let you know that datafire
is now available as 0.1.1
at https://github.com/filipesilva/datafire.
It lets you persist Datascript databases in Firebase's Firestore. Supports offline usage and multi-user synchronization. You can use Firestore Security Rules to limit access.
If you're persisting Datascript and this fits your usecase let me know, and also let me know if you've been looking for something like this but with more features. Very interested in how this setup can be pushed further.
Nice work! On startup does this have to transact in all the available data, or does it use from-datoms
?
it replays all previous transactions in order
so it keeps history
OK; That could get expensive as number of transactions build up. It's much more efficient if you can rehydrate from a collection of datoms. That may be challenging with firebase as a backend, but maybe there's a way to do it?
I haven't thought very hard about it, but maybe
that version mainly supports transaction level granularity
meaning it persists opaque transactions
I was thinking of supporting datom granularity, thus persisting datoms (opaque or not)
Yeah, semantically that is nice (storing transactions). Clear conceptual model.
but ran into a roadblock where firestore is actually really slow when offline is on and loads of small docs hit it
going to datom granularity might also enable views and entity based security rules
but I wanted to understand usecases better before trying to figure out the firestore slowness
I hadn't considered conn-from-datoms
very much before you asked though
but if there's datoms available, and there's a mapping from the firebase ordering to the local ordering, I think it would help
the mapping will always be necessary because only the server has the real order, and it's actually very hard to just get a monotonically increasing number on firestore
so the server uses nanosecond precision timestamps... which unfortunately lose precision when coming over
the offline model also doesn't cater very well to a transaction based CAS number either, so it's for the best
Have you completed the State of Clojure 2020 Survey yet? If not, take 8 minutes and complete it here: https://www.surveymonkey.com/r/clojure2020 - thanks!
If you've already taken it, can you post it in your local Clojure meetup or company slack room? That would really help to spread the word.
🎉 I’m happy to announce a new major version of Compound https://github.com/riverford/compound Compound is a library to help maintain indexed data in reagent/re-frame apps. It works with maps to make debugging and inspection easy. The new version (compound2) is not backward compatible, but improves on the original in a number of ways - it’s faster, has a simpler api, and is less impactful on your bundle size. Hope you find it useful!
@U051H1KL1 I've opened a PR to add it to clojure-toolbox ... if you can think of a better category than "Databases", please lmk.
Also, might be worth adding some github topic tags so it shows up in https://github.com/topics/re-frame
(https://github.com/weavejester/clojure-toolbox.com/pull/336 for the toolbox PR)
@U08BW7V1V ah thanks for that 🙂 good idea with the topic tags, I didn’t even know they were a thing