datomic

Ask questions on the official Q&A site at https://ask.datomic.com!
2020-09-23T09:01:57.001900Z

@val_waeselynck Hi Valentin, I just finished reading your very interresting post "Using Datomic in your app: a practical guide" https://vvvvalvalval.github.io/posts/2016-07-24-datomic-web-app-a-practical-guide.html I would like to know, 4 years later, what would be the points that have changed the most?

Yuriy Zaytsev 2020-09-23T09:19:10.002100Z

@rob703 consider putting your python code to separate environment and interact via lambdas

xceno 2020-09-23T12:35:48.002600Z

I did consider this yesterday evening, it just looses the charm of being able to work with the code through clojure. Setting up a completely separate python environment and accessing it via remote calls just isn't the same as simply using it directly. But yes, if all things fail that will be our workaround. It won't be too bad, but I still hope someone comes up with another solution

kennytilton 2020-09-23T14:55:47.004600Z

Is it just me, or does everyone think of John McCarthy’s http://www-formal.stanford.edu/jmc/elephant/elephant.html when they contemplate Datomic?

val_waeselynck 2020-09-23T14:59:51.004800Z

@admin055 nothing much has changed really. Datofu has been added to automate some common tasks such as schema declaration and migrations: https://github.com/vvvvalvalval/datofu Some frameworks now make Datomic a bit more battery-included, such as Fulcro or Hodur. I've used neither.

1👍
seancorfield 2020-09-23T17:07:53.006200Z

It may be just you @hiskennyness -- I'd never heard of Elephant 2000 until you mentioned it. Looking at the syntax, Elephant reminds me more of Prolog than Datalog but I guess that's where the connection comes in?

kennytilton 2020-09-23T17:12:40.009300Z

“It may be just you”. It happens, @seancorfield.The connection I see is “An elephant never forgets!“, ie the possibility of painlessly referring to the past. Fun note: I actually remembered E2K as a DB proposal!

seancorfield 2020-09-23T17:14:57.009500Z

Ah, yes, gotcha!

kennytilton 2020-09-23T17:51:39.009600Z

A more substantial http://www-formal.stanford.edu/jmc/elephant/node3.html#SECTION00030000000000000000.

jaret 2020-09-23T18:07:30.010300Z

New Datomic Cloud Release ^

2020-09-23T20:31:39.010500Z

@val_waeselynck Perfect, thanks. This is clearly one of the strength of Clojure. (y) Another thanks for the Datofu link, I was just telling myself that the schema declaration had perhaps evolved.

twashing 2020-09-23T22:51:41.012Z

From my AWS EBS application, I’m failing to make a simple datomic.client.api/client call to a Datomic Cloud Solo topology. Details here. Am I missing something? https://stackoverflow.com/questions/64037250/datomic-client-api-client-failing-to-reach-a-datomic-cloud-solo-topology

cjsauer 2020-09-23T23:04:59.014700Z

Ah clever, that’s a great use of queries as data. I can see how you could have a toolbox of interceptors for common things like [?e :user/id ?user-id-from-cookie]

twashing 2020-09-23T23:28:34.016700Z

Ok, got past this. Now getting the error.

{:cognitect.anomalies/category :cognitect.anomalies/forbidden, :cognitect.anomalies/message "Forbidden to read keyfile at s3://<path>/db/<my-app>/read/.keys. Make sure that your endpoint is correct, and that your ambient AWS credentials allow you to GetObject on the keyfile."}
https://docs.datomic.com/cloud/troubleshooting.html#aws-creds But where to find my ambient AWS credentials_”?_

cjsauer 2020-09-23T23:29:58.017200Z

Thinking more, you could even build :accessible/to into the schema, and assert it onto entities to authorize access by the referenced entity (ie a user). That might be generalized into an interceptor more gracefully.