google-cloud

Google Cloud Platform: Clojure + {GAE, GCE, anything else on Google Platform}
qqq 2017-02-05T00:44:21.000952Z

what? mem-cache is free?

qqq 2017-02-05T00:44:54.000953Z

https://cloud.google.com/appengine/pricing

qqq 2017-02-05T00:45:06.000954Z

appears to be charging gigabytes / hour -- but maybe that is traffic out to internet

qqq 2017-02-05T00:53:55.000955Z

@mobileink : it looks like mem-cache is just "slightly more persistent memory" for appengine, and you're charged GB-HRs

qqq 2017-02-05T19:32:27.000956Z

what jar provides: com.google.appengine.api.users.UserServiceFactory ?

qqq 2017-02-05T21:38:04.000957Z

@mobileink: oh, actually I have a backend working in hy, with hy2py

qqq 2017-02-05T21:38:24.000958Z

so I can use a sorta-lisp language, and there's even no "hy interpreter" cost, since "hy -> transpiled into py -> gae runss py code"

qqq 2017-02-05T21:38:47.000959Z

so my choices are either (1) minimal clojure or (2) hy

2017-02-05T21:40:02.000960Z

given that, i'm not sure why you need clojure at all. except that it's kinda cool.

qqq 2017-02-05T21:40:59.000961Z

the main reason I prefer Clojure over Hy is that using the same langauge on client/server side will allow me to (1) share some spec-checked data models and (2) may eliminate whole classes of json errors

2017-02-05T21:42:27.000962Z

are you thinking of rewriting your backend in clj instead of hy?

qqq 2017-02-05T21:42:43.000963Z

I don't have a backend yet.

qqq 2017-02-05T21:42:55.000964Z

I was deciding Clj vs Hy, but currently am in favor of Clj.

2017-02-05T21:43:19.000965Z

i must have misgrokked, i thought your already had sth in hy.

qqq 2017-02-05T21:43:20.000966Z

I'm using datascript + re-frame on the client side, and I think if I use Clj on the server side, I can do some really neat stuff with datascript.

qqq 2017-02-05T21:43:40.000967Z

I have a very very minimal example in Hy, about an afternoon's work, to see if I could get Hy to run on the Py backend.

qqq 2017-02-05T21:43:51.000968Z

I also have a shit ton of Hy machine learning code, but not much Hy GAE code.

2017-02-05T21:44:08.000969Z

ah, ok, you're deciding which way to go?

qqq 2017-02-05T21:44:29.000970Z

I think we had an earlier conversation, where I mentioned all my Machine Learning / GCE code was using Hy, which was making me consdier if I wanted to do GAE in Hy too.

2017-02-05T21:45:15.000971Z

ok, yes i remember now.

2017-02-05T21:46:31.000972Z

but you're looking at minimal processing on gae, right? to be handed off to your hy stuff running elsewhere?

qqq 2017-02-05T21:47:22.000973Z

Most of the ML stuff are either (1) offline training or (2) trained models running on client's browser.

qqq 2017-02-05T21:47:31.000974Z

GAE will not be taking to GCE all that much.

2017-02-05T21:48:55.000975Z

i understand you want the gae stuff running as fast as possible, and it does not do complex, expensive processing?

qqq 2017-02-05T21:49:19.000976Z

GAE stuff does NOT do expensive computation. It's literally a thin layer over datastore and just checks for permissions.

2017-02-05T21:52:27.000977Z

so it sounds like the question is which language is the best fit. assume java will be faster than clojure, then: is it faster than python, or some other gae language option? my guess is you get the best performance out of java. that could possibly mean aot-compiled clojure, but then you need the clojure jar.

2017-02-05T21:54:44.000979Z

if it were me, based on your description, i'd just go with java. it sounds like the code would be relatively simple and stable.

2017-02-05T21:57:16.000980Z

sounds like a classic case where all the groovy benefits of Clojure do not apply. sounds like good material for a case study.

2017-02-05T22:06:13.000982Z

re: your msg on boot about 3 libs, clojure, servlet and appengine api: i'm away from my machine so can't test, but you should not need the servlet and appengine jars, no? only for :scope test. gae is a servlet container, you should not need to upload either of those jars, no?

2017-02-05T22:10:37.000983Z

make that :scope provided, i think.

2017-02-05T22:25:12.000984Z

and can i just vent a little bit about how profoundly stupid maven scopes are? they assume a single execution env. what if foo.jar is "provided" by the prod env but not the dev env?

👍 1
2017-02-05T22:26:24.000985Z

then you have to have two configs, one for dev/test, one for prod.

2017-02-05T22:27:07.000986Z

maybe i am misunderstanding sth, it's happened before.