ldnclj

Find us on #clojure-uk
agile_geek 2015-08-06T06:54:57.000329Z

Bore da

agile_geek 2015-08-06T06:55:58.000330Z

@pupeno: not looked at Reagent let alone Reframe - is Secretary used for routing?

pupeno 2015-08-06T08:38:15.000331Z

agile_geek: yes, secretary is for routing. I’ll replace it with silk, but the integration will be similar.

agile_geek 2015-08-06T08:41:17.000332Z

@pupeno: is that routing client side? Not at all familiar with paradigm?

pupeno 2015-08-06T08:41:31.000333Z

Yes, it’s routing client side.

pupeno 2015-08-06T08:41:58.000334Z

I was really sold on the importance of this by EmberJS: the URL is the work-horse of the web. You should be able to copy the URL from one browser to another and see the same page.

pupeno 2015-08-06T08:42:27.000335Z

So as you go from place to place in a single-page-app (which is a bit of a miss-normer here), you update the URL to reflect the content.

pupeno 2015-08-06T08:42:45.000336Z

Otherwise, your app has the same horrible behaviour we all hated in Flash: impossible to link.

agile_geek 2015-08-06T08:43:24.000337Z

Cool. So I see Om using core.async a lot to decouple domain from rendering. Is it similar in Reframe/Reagent?

pupeno 2015-08-06T08:43:57.000338Z

Never used Om, but it does achieve domain/rendering decoupling by using the reactive pattern.

agile_geek 2015-08-06T12:47:15.000339Z

So I have been stuck on the Om intermediate tutorial for literally days…unable to get it to work. I want to like Om, but I think I have to accept it’s just beyond my tiny brain to comprehend. Might shift focus to Reagent.

mccraigmccraig 2015-08-06T12:50:33.000340Z

@agile_geek: reagent is deffo simpler to get started with

agile_geek 2015-08-06T12:52:54.000341Z

@mccraigmccraig: I am just struggling to get tutorial to do anything let alone understand what a cursor is! I’m sure it’s very clever but I don’t know JS & I don’t have a PhD in CS so maybe this is why I’m fighting it.

mccraigmccraig 2015-08-06T12:55:28.000342Z

@agile_geek: behind the cursor type is a hierarchical map structure and a path to the current focus from the root of the hierarchy... when you get from it, it keeps the same root, but adds to the path

mccraigmccraig 2015-08-06T12:55:52.000343Z

there's a bunch of stuff for consistent views during transactions etc, but that's the core of the concept

agile_geek 2015-08-06T12:56:45.000344Z

@mccraigmccraig: I’m sure that makes sense to someone but not me I’m afraid

agile_geek 2015-08-06T12:57:42.000345Z

I’m a COBOL programmer who can just about write Java remember 😉

mccraigmccraig 2015-08-06T12:59:22.000346Z

:simple_smile: e.g. consider a cursor {:root {:foo {:bar 20}} :path []} ... this is the backing structure behind the map protocol impls

mccraigmccraig 2015-08-06T12:59:35.000347Z

(get-in X [:foo :bar]) => 20

mccraigmccraig 2015-08-06T13:00:13.000348Z

(get-in X [:foo]) => Cursor[{:root {:foo {:bar 20}} :path [:foo]}

agile_geek 2015-08-06T13:00:23.000349Z

I think this is one of the reasons @jonpither can relax about the ‘unwashed hordes’ of Java devs desending on Clojure and ‘ruining it’, they won’t understand it enough to get anything working!

mccraigmccraig 2015-08-06T13:01:30.000350Z

one of the things i really didn't like about om was that cursors behave like maps, except for when they don't, and the abstraction leaks quite often

agile_geek 2015-08-06T13:02:26.000351Z

@mccraigmccraig: I kind of think I almost get it. It behaves a little bit (conceptually) like a cursor on a database table?

mccraigmccraig 2015-08-06T13:03:52.000352Z

@agile_geek: perhaps more like an (unmaterialized) view on a db table... which looks like a table, but actually transforms a query to underlying tables

mccraigmccraig 2015-08-06T13:04:26.000353Z

the cursor looks like map, but plucks data from some point in the backing hierarchy of maps

mccraigmccraig 2015-08-06T13:06:04.000354Z

though thinking about it, the db cursor analogy is equally valid

mccraigmccraig 2015-08-06T13:07:55.000355Z

@agile_geek: btw does COBOL have closures ?

agile_geek 2015-08-06T13:10:29.000356Z

@mccraigmccraig: OK I think I’ve got it. Thanks. I still can’t get the code in the intermediate tutorial running but thanks anyway.

agile_geek 2015-08-06T13:12:32.000357Z

Haven’t written COBOL since 1996 & I’m it could render text to a green screen and had paragraphs and PERFORM statements for subroutines and that was it! They invented OO COBOL but I never used it - Frankenstein’s Monster!

mccraigmccraig 2015-08-06T13:16:13.000358Z

@agile_geek: wot no functional COBOL with monadic IO ?

agile_geek 2015-08-06T13:16:36.000359Z

😀

jamiei 2015-08-06T14:25:27.000360Z

@agile_geek: I've recently been getting started reasonably well with om, what kinds of problems are you having?

jamiei 2015-08-06T14:25:58.000361Z

Although I will say that I might be overusing async chans

jamiei 2015-08-06T14:26:03.000362Z

(who knows)

agile_geek 2015-08-06T14:26:21.000363Z

@jamiei: just basic inability to understand. I’m a bit thick

jamiei 2015-08-06T14:27:53.000364Z

I doubt it, I left out the intermediate tutorial because of the datomic use

jamiei 2015-08-06T14:28:45.000365Z

I preferred using my own backend and writing apps over the top of that

agile_geek 2015-08-06T14:29:15.000366Z

Actually although I couldn’t write Datomic syntax I could understand it.

jamiei 2015-08-06T14:29:30.000367Z

Yeah

jamiei 2015-08-06T14:30:24.000368Z

Are you new to datomic, edn and some of the server side bits used?

agile_geek 2015-08-06T15:16:11.000369Z

Haven’t spent time on Datomic but edn and server stuff is bread and butter

pupeno 2015-08-06T16:51:04.000370Z

I’d like to have an event like the Dojo but instead of having a set of problems everybody works on, people can bring their own problems and pair to solve them. More focussed on working on ongoing tasks, even work.

agile_geek 2015-08-06T17:48:10.000371Z

@pupeno: maybe we could do that in the Project Clojure Dojo between projects?

pupeno 2015-08-06T17:58:59.000372Z

Maybe… I’m generally open to that at any Clojure-related event, working on my stuff or other’s. I’m at a point where I could learn quite a bit by paring.

pupeno 2015-08-06T18:02:48.000373Z

And by maybe I mean, yes! I’m game!

agile_geek 2015-08-06T18:05:18.000374Z

@pupeno: for really selfish reasons (cos I have no chance of doing any Clojure in work) I wanted to build something substantial to learn but maybe we can pair on stuff for a few meetings between projects?

pupeno 2015-08-06T18:06:01.000375Z

I’ll be happy to.