google-cloud

Google Cloud Platform: Clojure + {GAE, GCE, anything else on Google Platform}
qqq 2017-02-02T21:55:23.000792Z

is there any sample code of using om.next with google-app-engine ?

qqq 2017-02-02T21:56:47.000793Z

@nickbauman @mobileink : ^

2017-02-02T21:59:48.000794Z

not from me, alas. but i do have a major project in the works that clojurizes https://www.polymer-project.org/1.0/, if that helps. ;)

qqq 2017-02-02T22:04:10.000795Z

based on 30 seconds of skimming, I don't find any relation between polymer and om.next

2017-02-02T22:05:33.000796Z

i assume you're talking about https://github.com/omcljs/om?

nickbauman 2017-02-02T22:06:32.000798Z

Om is really overcomplicated. I stay away from it and use reagent

nickbauman 2017-02-02T22:06:33.000799Z

https://reagent-project.github.io/

nickbauman 2017-02-02T22:06:57.000800Z

I recently did a project with reagent on AWS Lambda.

nickbauman 2017-02-02T22:07:03.000801Z

Worked really well.

2017-02-02T22:07:26.000802Z

@agreed.

nickbauman 2017-02-02T22:07:42.000803Z

Not thrilled with Lambda (nothing wrong with Lambda, it’s just no where near as cohesive as app engine)

2017-02-02T22:09:59.000804Z

agree there too, lambda got nuthin on gae, once you get all the administria out of the way.

qqq 2017-02-02T22:12:00.000805Z

om.next is more than just om

qqq 2017-02-02T22:12:19.000806Z

it's also a dsl for fetching dta from remote sources

qqq 2017-02-02T22:12:22.000807Z

like netflix/falcor

2017-02-02T22:12:25.000808Z

@qqq: om, reagent, etc. all really great but in the end they're hacks. good hacks, but hacks. polymer, well i suppose it's a hack too, in a way, but it's based on the stds.

qqq 2017-02-02T22:12:49.000809Z

iirc, reagent/re-frame is an alternative to om, but they have nothing for om.next

✅ 1
jsselman 2017-02-02T22:13:40.000810Z

@mobileink curious why reagent/om are considered hacks?

qqq 2017-02-02T22:29:19.000811Z

yeah! defend your statements! 🙂

nickbauman 2017-02-02T22:32:24.000812Z

It all boils down to a virtual DOM. In reality it’s not that hard to write your own virtual DOM in Clojure because the language is really good at that sort of thing. The reason why React is so important in JS-land is because it’s actually not easy to write that yourself in that language.

nickbauman 2017-02-02T22:32:41.000813Z

(and have it be correct)

qqq 2017-02-02T22:32:56.000814Z

there's also making things compatible across multiple browsers, handgling bubbling semantics,

qqq 2017-02-02T22:33:07.000815Z

the core algorithm is not difficult, but the engineerkng effort is non-trivial

nickbauman 2017-02-02T22:33:34.000816Z

:badminton_racquet_and_shuttlecock: still kinda fetishizing complexity.

nickbauman 2017-02-02T22:34:00.000818Z

Clojurescript is already cross-browser so that’s a non issue.

jsselman 2017-02-02T22:35:01.000819Z

i guess i don’t see why its a hack then; just because it’s not written in clojure itself?

nickbauman 2017-02-02T22:35:16.000820Z

Well I didn’t say it was a hack

jsselman 2017-02-02T22:35:38.000821Z

also I personally would shy away from writing a virtual dom, i suspect there’s a lot more incidental complexity than at first glance

jsselman 2017-02-02T22:35:59.000822Z

but out of curiosity, anyone know of any clojurescript implementations of a virtual dom?

nickbauman 2017-02-02T22:36:23.000823Z

https://github.com/peterschwarz/virtual-dom

nickbauman 2017-02-02T22:36:55.000825Z

Peter wrote this one to prove that it wasn’t that hard when you have a language like Lisp.

nickbauman 2017-02-02T22:37:39.000826Z

Now Peter is a fucking genius. Don’t get me wrong. But he also just sat down and wrote this thing for fun to see how hard it was.

nickbauman 2017-02-02T22:37:50.000827Z

And it wasn’t.

jsselman 2017-02-02T22:38:51.000828Z

was this in a talk? would be interested in seeing it

nickbauman 2017-02-02T22:39:02.000829Z

A couple of months ago

nickbauman 2017-02-02T22:39:23.000830Z

I missed it so I bought him dinner and he did the presentation for me at a restaurant.

nickbauman 2017-02-02T22:39:32.000831Z

I also bought him drinks.

nickbauman 2017-02-02T22:39:56.000833Z

He needs to charge more for that.

nickbauman 2017-02-02T22:42:13.000834Z

Peter did a lot of the work on cljgae-template too.

nickbauman 2017-02-02T22:42:35.000835Z

So even though all the commits were mine he laid a lot of the groundwork.

2017-02-02T22:42:59.000837Z

@jsselman , @qqq: sorry my phone died. they’re hacks because they add caps that are not there in the first place. they’re great hacks, but they’re hacks. with the new webcomponents stuff much of what they offer is already there. or sth like that.

peterschwarz 2017-02-02T22:43:18.000838Z

@nickbauman pays for talks in the best ways 🙂

nickbauman 2017-02-02T22:43:27.000839Z

lol

nickbauman 2017-02-02T22:43:42.000840Z

☝️ PETER SIGHTING

jsselman 2017-02-02T22:44:33.000841Z

@mobileink with that context your comment makes more sense

nickbauman 2017-02-02T22:45:29.000842Z

@jsselman what city are you in?

jsselman 2017-02-02T22:45:38.000843Z

I’m in Seattle

nickbauman 2017-02-02T22:45:55.000844Z

Oh. We’re in Minneapolis.

nickbauman 2017-02-02T22:46:21.000845Z

You probably need a visa to come this far into the interior these days anyway...

nickbauman 2017-02-02T22:46:56.000846Z

Or a blue card or something

jsselman 2017-02-02T22:46:58.000847Z

Hah - I should engage more with the community; I’m pretty much just using clojure as a hobby language though. Haven’t had any opportunity to use it professionally

2017-02-02T22:49:33.000848Z

@jsselman, @qqq: what’s the core problem? keep data structures in sync. reactive, om, etc. offer great solutions, but they’re application-level solutions. this stuff is moving into the browser, or dom, or whatever you want to call it.

jsselman 2017-02-02T22:51:52.000851Z

Most stuff I write is pretty much about keeping data structures in sync 🙂

jsselman 2017-02-02T22:53:50.000852Z

I guess my first-experience with reagent/react was that it was a very straightforward way to develop very dynamic UIs at a reasonable layer (e.g. not too abstracted so you can still use html, but the virtual dom protects you from having to worry too much about specific browser differences)

jsselman 2017-02-02T22:54:09.000853Z

but I’m still new to frontend development; most of my experience is backend jvm stuff so this could all be wrong

peterschwarz 2017-02-02T23:06:53.000854Z

reagent coupled with re-frame is a pretty cool experience. Every thing is just a function. the atom part of things is nicely abstracted away.

jsselman 2017-02-02T23:10:26.000855Z

yeah i’m using re-frame at home, added by own coeffect hander for the websocket protocol i was using. took me a long time to get things hooked up properly though