ldnclj

Find us on #clojure-uk
agile_geek 2016-01-04T08:10:07.000887Z

Morning folks

thomas 2016-01-04T09:03:18.000888Z

Morning everyone...

pupeno 2016-01-04T09:11:44.000889Z

Good morning.

gjnoonan 2016-01-04T10:24:19.000890Z

Morning

mccraigmccraig 2016-01-04T14:44:09.000891Z

afternoonz y'all

mccraigmccraig 2016-01-04T14:46:24.000892Z

@malcolmsparks: i live in the hope that too much programming doesn't cause detached retinae :simple_smile:

agile_geek 2016-01-04T14:54:52.000893Z

@mccraigmccraig: don't think there's a causal relationship?!

malcolmsparks 2016-01-04T14:56:30.000894Z

@mccraigmccraig: I don't think it does!

mccraigmccraig 2016-01-04T14:58:31.000895Z

(no, there is no causal relationship - there is a causal relationship from being short-sighted though)

agile_geek 2016-01-04T15:06:14.000896Z

Hmmm, I started writing code at age 13 and became short-sighted at age 15. However first year of coding was on a teletype outputing on paper so maybe it only took a year of staring at a screen!

jamiei 2016-01-04T16:29:00.000897Z

Slightly off topic, but is anyone else struggling to get to grips with om next? I can't really seem to join the dots.

agile_geek 2016-01-04T16:35:30.000898Z

I struggled with Om, I haven't had the courage to tackle Om Next yet!

xlevus 2016-01-04T16:36:57.000899Z

ReFrame. ezpz :P

jamiei 2016-01-04T16:43:23.000900Z

Yeah, I've turned to looking at reagent and re-frame instead..

jamiei 2016-01-04T16:44:04.000901Z

On next is exceedingly clever, far too clever for the likes of me :simple_smile:

agile_geek 2016-01-04T17:24:42.000902Z

However, I strongly suspect this is a 'simple, not easy' thing. I.e. in the long run Om (Next) is simpler (less accidental complexity) but not easy? I have no empirical evidence for this however.

agile_geek 2016-01-04T17:25:40.000903Z

So (maybe?) anything beyond a trivial app would be worth the investment in Om (Next)?

agile_geek 2016-01-04T17:26:20.000904Z

Someone with real world experience of Om (Next) and Reagent/Reframe want to chip in?

mccraigmccraig 2016-01-04T17:44:33.000905Z

@agile_geek: i've got lots of re-frame experience now - re-frame is pretty darn simple - it's very easy to grok and to reason about it's behaviour and to inspect what's going on

mccraigmccraig 2016-01-04T17:45:37.000906Z

it doesn't help you out with higher-level 'component' like abstractions and code organisation, which can make growing an app from small to medium a bit awkward as you have to figure out your own conventions

jamiei 2016-01-04T17:47:56.000907Z

makes sense from what I've read from others

mccraigmccraig 2016-01-04T17:48:30.000908Z

there's no great magic required though, and it's by far the nicest ui dev experience i've ever had

jamiei 2016-01-04T17:50:33.000909Z

Thanks @mccraigmccraig , will start off with something pretty trivial and see how I get on from there

mccraigmccraig 2016-01-04T17:52:27.000910Z

@jamiei: that's the way to go - the examples around are fine to get started... after a while you will find you want to split your subs and handlers and views into separate namespaces, but you kinda need a feel for your app before you figure out how to do that, so no point worrying about it at the start

mccraigmccraig 2016-01-04T17:53:35.000911Z

@jamiei: do schema-check your app-db on every update (with a middleware) while developing though - it catches loads of slippery bugs

jamiei 2016-01-04T17:54:26.000912Z

@mccraigmccraig: Good advice on the splitting. Sometimes you need to make mistakes before you understand how to split the app properly anyway.

jamiei 2016-01-04T17:55:00.000913Z

Also on the schema check, are you using something Schema for that?

mccraigmccraig 2016-01-04T17:55:59.000914Z

yeah, i'm using prismatic schema... i've got all my schemas in .cljc files so they get shared between front and back-end

mccraigmccraig 2016-01-04T17:57:23.000915Z

and i'm also using schema-coercion with a JSON API, to check and coerce everything coming off the wire, so i get richer datatypes (i.e. #inst, #uuid etc) for almost zero effort

jamiei 2016-01-04T17:57:41.000916Z

neat

mccraigmccraig 2016-01-04T17:57:59.000917Z

(yada also does the reverse on the server-side - the api spec is used to coerce the JSON)

jamiei 2016-01-04T17:59:05.000918Z

Ah, very handy

jamiei 2016-01-04T17:59:22.000919Z

How have you found yada? I haven't had time to try that yet

mccraigmccraig 2016-01-04T18:02:18.000920Z

generally excellent - a few bugs, but @malcolmsparks is quick to assist, and the concept is well thought-out and overall it's been a much easier ride than i expected (to create a fully async server-side)

mccraigmccraig 2016-01-04T18:04:17.000921Z

i haven't tried the latest release yet, but i imagine that the ride is only going to get smoother from here on in

glenjamin 2016-01-04T19:07:16.000922Z

AIUI Om next is a good solution for the problem of a large app where components have broadly varied data sources

thomas 2016-01-04T21:08:59.000923Z

Om Next feels very clever indeed...

thomas 2016-01-04T21:09:26.000924Z

but it feels like it addresses problems I don't even know they exist.