Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Sep 12 2021 12:30
    fahtative commented #26
  • Sep 12 2021 12:17
    fahtative commented #26
  • Sep 12 2021 12:17
    fahtative commented #26
  • Sep 12 2021 12:13
    fahtative commented #26
  • Sep 12 2021 12:01
    fahtative commented #26
  • Sep 12 2021 12:01
    fahtative commented #26
  • Sep 12 2021 11:59
    fahtative commented #26
  • Sep 12 2021 11:59
    fahtative commented #26
  • Nov 30 2020 19:39
    metasoarous closed #34
  • Nov 30 2020 19:39
    metasoarous commented #34
  • Nov 16 2020 05:16
    metasoarous commented #34
  • Nov 14 2020 12:15
    jpmonettas commented #34
  • Nov 14 2020 12:14
    jpmonettas synchronize #34
  • Nov 14 2020 00:59
    metasoarous commented #34
  • Nov 14 2020 00:58
    metasoarous commented #34
  • Nov 14 2020 00:57
    metasoarous commented #34
  • Jul 22 2020 12:14
    jpmonettas commented #34
  • Jul 21 2020 21:34
    metasoarous commented #34
  • Jul 11 2020 13:34
    jpmonettas synchronize #34
  • Jul 07 2020 12:12
    xlfe commented #35
Christopher Small
@metasoarous
@mruzekw There's some discussion above about that with @UrKr . I don't know enough about rum to know the best way forward there, but hopefully reading Jan 24-Jan25 here should be instructive. If you want to team up with @UrKr on that, we could add a plugin for it!
Urban
@UrKr
@metasoarous @mruzekw Yeah, I plan to get back to that shortly. Haven't had much time the last couple of days. Though I don't know rum that well either. I suppose it could be implemented to mirror reagent via the reactive mixin, but perhaps rum fits better with something different.
Will Mruzek
@mruzekw
Thanks @metasoarous I'll give the archives a read. @UrKr, I would interested in teaming up if you need the help. Eager to support Rum, especially with the pending remote sync features
Urban
@UrKr
@mruzekw Yeah, I'd welcome the help. I new to clojure and to contributing to github projects so...
the atom you get with (p/get-posh-atom conn) basically hold all the data kept by posh
Urban
@UrKr
under the :graph key, there's a map of the queries and their results
Tim Gilbert
@timgilbert

:point_up: January 25, 2017 3:14 PM

Just curious @seantempesta, how have you found performance to be with the db-filtering you were talking about? I've been considering something similar but got warned away from it by the datomic people...

Christopher Small
@metasoarous
@timgilbert Direclty using Datomic filters could be bad if you tried to reexecute them on every transaction. However, you don't necessarily have to. If a filter function is pure, it takes a datom and decides whether or not to keep it. That's it. So when you listen for transactions you should be able to just take the new datoms and apply the filter function to them. Simple. The problem is when the filter function needs to change over time. Which it should in any case where permissions for a datom can change over time (say, you grant someone access to datoms you created). For this, I've been thinking about how we can build more expressive filter views based on datalog queries, where changes to the queries trigger recomputations on the filters.
That having been said, I would love to hear how @seantempesta has been using filters, and how it's worked out.
Tim Gilbert
@timgilbert
Yeah, I was more thinking about the query side (specifically to isolate user data from users in different organizations). If the filter has to scan every datom to work, it wouldn't seem really feasible to use.
Urban
@UrKr
So unfortunately it's too hectic at work, and my time-management isn't good enough, so I can't really work on rum integration at the moment.
a question though
my database is a bunch of entities which represent instructions for an engine on the backend to do some calculation based on the instructions
so for a given class of instructions I get all the eids with an attribute which all those instructions have
with posh/q
then I do a bunch of posh/pulls on the eids in the parent component and pass the entities into some component which renders the instructions in some way
so this turns out to be a bit slow because there's a pull for each eid
Urban
@UrKr
I could pass the eids down and posh/pull within the child components so that when some entity was edited, only that component would rerender
the problem is, that the initial posh/q which gets all the eids will rerun whenever I edit any of the entities
when in reality it would only need to rerun when an entity is added or retracted
so in essence
I have a posh/q which gets all the eids I want
I then get the data for those eids with a bunch of posh/pulls
Urban
@UrKr
when that data gets edited however the expensive posh/q reruns
even though it's going to get the same list of eids because no entity was added or retracted
Christopher Small
@metasoarous
@UrKr There was some talk about bringing back manual pattern matching, which would let you specify that the q should only be rerun if a transaction looked like it was going to create a new entity that you'd want to match on. I don't know if that ever happened, but it would be worth looking into.
Urban
@UrKr
@metasoarous I think that would definitely be a good opt-in optimization. Wouldn't even be much of a pain to use.
javier abanses
@nrfm
Hi, is making posh self-host compatible in the roadmap?
Christopher Small
@metasoarous
@nrfm Actually, @bamarco is working on this right now. You mean being able to persist data client side right? (in local storage or whatever)
javier abanses
@nrfm
@metasoarous I mean, to be able to be used in a bootstrapped cljs environment like lumo or in my use case a browser based generative UI exploration tool using klipse/replumb + reagent + posh + datascript + spec . Day8/re-frame#325 is a pull request that achieves that for re-frame. Live coding UI in the browser is the ultimate addiction :)
I actually forked posh and started looking into this yesterday... It seems like the clj macros in base_plugin....What is the setup for development of the reagent parts? Reagent is not in the dependecy list... sorry ..maybe i am doing something wrong ...
Christopher Small
@metasoarous
Oh; of course. Sorry. I would love for that to be on the roadmap. I haven't worked much with bootstrapped cljs yet, aside from firing up a planck repl here and there. But I like the bootstrapped work, and see a lot of potential for embedded systems.
Live coding UI in the browser is the ultimate addition
True dat :-)
Reagent is not in the dependency list so that in theory it could be used with another front end framwork
It's been abstracted that way
So you have to require reagent separately if you want to use the reagent namespace
javier abanses
@nrfm
thanks! makes sense. Gonna play around with it and see what i come up with.
Christopher Small
@metasoarous
@nrfm Wonderful! Let us know if you have any questions!
javier abanses
@nrfm
@metasoarous My slow brain will certainly need some guidance. I haven't traveled much in macro land!
What branch should i work off ? I am getting a bunch of errors when compiling from the master branch? this one is the first that pops up, it seems aget is missing an argument.
Christopher Small
@metasoarous
It is worth checking with @alexandergunnarson about branch and stuff, since he was most recently working on things
javier abanses
@nrfm
@metasoarous thanks!
Hi @alexandergunnarson, I am getting a few errors when compiling from master first one is this one , could you give me some orientation on which branch is best to work off? thanks!
Christopher Small
@metasoarous
@nrfm Can you also tell us what macro you're looking at?
javier abanses
@nrfm
posh.lib.ratom/ aget* is the first one that cursive complains about in the master branch. It is being called with 1 argument in the cljs version as per the link above
javier abanses
@nrfm
@metasoarous cljs.core/aget inside aget is being called with 1 argument, not aget itself. the java .get method is getting both arguments passed to aget*
Christopher Small
@metasoarous
Ah; OK. Gotcha. Thanks.
I can't look at that right now, but that will help once I or someone else does have the time to
Keep us posted!
javier abanses
@nrfm
no worries, gonna see where i get with it. fixed a few things already. will report back
Christopher Small
@metasoarous
Good stuff! Cheers!
javier abanses
@nrfm
@metasoarous @alexandergunnarson got it compiling now.