ldnclj

Find us on #clojure-uk
pupeno 2015-09-08T06:40:57.000050Z

Good morning.

afhammad 2015-09-08T07:07:31.000051Z

Morning!

afhammad 2015-09-08T07:07:40.000052Z

how many of you work from home?

afhammad 2015-09-08T07:11:50.000053Z

@pupeno: sounds like you’ve been messing with nashorn and SSR. I’m going to be trying it with Om in the coming weeks so any tips/gotchas welcome

pupeno 2015-09-08T07:15:04.000055Z

@afhammad: I found creating the engine on each request too slow. Also, nashorn may or may not eat ram like it was candy. This lead me to put the script engines in a pool, so they can be reused. I did a lot of load testing to make sure it was behaving well. The code I wrote is here: https://github.com/ldnclj/proclodo-spa-server-rendering and I’m writing a blog post about it.

pupeno 2015-09-08T07:15:23.000057Z

@afhammad: the blog post will be at https://carouselapps.com

afhammad 2015-09-08T07:16:11.000059Z

@pupeno, awesome, will lookout for it! thanks

pupeno 2015-09-08T07:16:45.000060Z

afhammad: an approach I’m interested in taking is to make all the rendering code cljs and run in directly on the JVM. That should be much more performant.

pupeno 2015-09-08T07:17:20.000061Z

I’m not the first one: http://davidtanzer.net/server_side_rendering_with_re_frame but I really don’t want to use Hiccup as it’s XSS vulnerable.

afhammad 2015-09-08T07:17:44.000062Z

you mean cljc?

pupeno 2015-09-08T07:18:38.000063Z

Yeah.

afhammad 2015-09-08T07:24:23.000064Z

cool, looks like i’ll have to roll my sleeves up more than i was anticipating.

pupeno 2015-09-08T07:26:41.000065Z

It was not easy and I don’t think I have the ultimate solution yet, but I’m happy with how far I got. I don’t know, though, which challenges you’ll find with Om. Nashorn doesn’t implement a full browser so there’s a lot of ClojureScript that simply won’t run in it.

pupeno 2015-09-08T07:27:17.000066Z

@afhammad: oh, this is a server-side rendered Om app: https://github.com/DomKM/omelette

pupeno 2015-09-08T07:28:06.000068Z

I learned quite a bit from it. It is a proof of concept though, so, for example, it’s ignoring the fact that creating the scriptengine on each request will add .4s to your requests. 😡

afhammad 2015-09-08T07:29:52.000069Z

ouch

pupeno 2015-09-08T07:30:54.000070Z

I managed to achieve this though:

thomas 2015-09-08T07:50:42.000072Z

Morning

jamiei 2015-09-08T08:11:45.000073Z

Morning

mccraigmccraig 2015-09-08T08:54:06.000074Z

mo'

jonpither 2015-09-08T09:00:59.000075Z

Morning

jonpither 2015-09-08T10:26:54.000076Z

prepping for my talk tonight, intro to ClojureScript

xlevus 2015-09-08T10:39:01.000077Z

There's a talk on tonight?

xlevus 2015-09-08T10:39:10.000078Z

woop

jonpither 2015-09-08T10:43:06.000079Z

Yeah, I'm giving a somewhat gentle intro to ClojureScript / React / Om. @malcolmsparks is going to do a smallish follow-on about Reagent

👍 2
1
jonpither 2015-09-08T10:43:15.000080Z

& reframe

xlevus 2015-09-08T10:43:48.000081Z

nice

thomas 2015-09-08T11:26:11.000083Z

would love to hear it

benedek 2015-09-08T11:54:20.000084Z

i’ll be there :simple_smile:

jamiei 2015-09-08T11:59:32.000085Z

Me too

pupeno 2015-09-08T12:39:09.000086Z

@jonpither: how long will the intro take? that seems to be a lot of ground to cover in a short time in a gentle way.

jonpither 2015-09-08T12:39:32.000087Z

I'm thinking about an hour

jonpither 2015-09-08T12:40:06.000088Z

I would aim for exposure to the CLJS working env, Om, React. But you're right it'll be a tight fit

jonpither 2015-09-08T12:46:18.000091Z

gah, I am bot

jonpither 2015-09-08T12:48:02.000092Z

not now

jonpither 2015-09-08T12:49:14.000093Z

your clojurescript slack wrapper: https://github.com/juxt/fuzz

pupeno 2015-09-08T13:04:47.000095Z

Oh geez, my blog post for isomorphic clojurescript is already 1500 words long and I still haven’t reached the good bits.

jonpither 2015-09-08T13:31:50.000096Z

Have you got a link to it?

jonpither 2015-09-08T13:31:50.000097Z

Have you got a link to it?

benedek 2015-09-08T13:32:07.000098Z

jon does sound like a bot… 😉

jonpither 2015-09-08T13:32:20.000099Z

Some kinks to iron out

jonpither 2015-09-08T13:33:25.000100Z

Ah well, I'll stop hacking around on this chan, annoying you folk

jonpither 2015-09-08T13:33:25.000101Z

Ah well, I'll stop hacking around on this chan, annoying you folk

jonpither 2015-09-08T13:33:49.000102Z

no idea why it's doing it twice

xlevus 2015-09-08T15:46:58.000103Z

maybe it's a big, empty room?

xlevus 2015-09-08T16:18:31.000104Z

blrhghrgh. Guess I'm not going to tonights talk.

xlevus 2015-09-08T16:18:35.000105Z

yay jobs.

jonpither 2015-09-08T16:22:06.000106Z

dang

jonpither 2015-09-08T16:23:04.000107Z

Which is the skillzmatter pub of choice?

2015-09-08T16:31:10.000108Z

not sure now tbh

thomas 2015-09-08T16:43:21.000109Z

good luck tonight guys.

jonpither 2015-09-08T17:08:54.000110Z

thanks

malcolmsparks 2015-09-08T17:55:37.000111Z

i am

malcolmsparks 2015-09-08T17:55:42.000112Z

hello jon

malcolmsparks 2015-09-08T17:55:54.000113Z

great talk so far

benedek 2015-09-08T17:55:58.000114Z

jonbot still there?

practicalli-john 2015-09-08T17:56:12.000115Z

i love clojurescript

practicalli-john 2015-09-08T17:59:18.000116Z

@jonpither: is the git repo up to date? I have no menu of links under the title

agile_geek 2015-09-08T18:00:56.000117Z

@jonpither hi jon

agile_geek 2015-09-08T18:00:57.000118Z

@jonpither hi jon

jonpither 2015-09-08T18:08:03.000119Z

Hello from the talk

practicalli-john 2015-09-08T18:08:37.000121Z

Hello Clojurescript app

practicalli-john 2015-09-08T18:09:01.000122Z

This is a very cool project, thanks jon

practicalli-john 2015-09-08T18:14:24.000123Z

Om next on youtube -- https://www.youtube.com/watch?v=ByNs9TG30E8

practicalli-john 2015-09-08T18:20:26.000125Z

applause

jonpither 2015-09-08T18:23:06.000126Z

thanks!

2015-09-08T21:01:47.000127Z

so.... om.next? now? later? reagent?

mccraigmccraig 2015-09-08T21:25:20.000128Z

@otfrom: re-frame now

benedek 2015-09-08T21:35:53.000129Z

or https://github.com/levand/quiescent ?! 😉

benedek 2015-09-08T21:36:50.000131Z

see http://www.parens-of-the-dead.com/ for sample code

2015-09-08T23:02:35.000132Z

ok then... why?