Fork me on GitHub
#admin-announcements
<
2015-06-11
>
mikethompson01:06:27

@gjnoonan: you might want to tweet that the archive can be found at http://clojurians-log.mantike.pro/

klauswuestefeld01:06:18

(defn state-machine* [initial-state function events-in] "Returns a channel that accepts other channels as taps for this state machine in a way similar to clojure.core.async/tap. Reduces initial-state applying (function state event) to each event from the events-in channel and puts each resulting state onto the tap channels." (let [taps-in (chan) states-out (chan) mult (mult states-out)] (go-trace (loop [state initial-state] (alt! :priority true taps-in ([tap] (when (some? tap) (>! tap state) (async/tap mult tap) (recur state))) events-in ([event] (when (some? event) (let [state' (function state event)] (>! states-out state') (recur state')))))) (close! taps-in) (close! states-out)) taps-in))

arrdem01:06:16

klauswuestefeld: sure you wanted to paste that here?

klauswuestefeld01:06:55

A useful snippet. Any better channel?

arrdem01:06:32

no… but it’s hardly discoverable here. organizing good snippets is an open problem.

kitofr07:06:20

i must say its a whooping #C03S1KBA2 crowd here now simple_smile

wagjo07:06:47

So, Slack archives up to 10000 messages. We have Clojure IRC archive that goes back to 2008. Is it possible to start archiving clojure slack in a similar way?

ul07:06:58

btw, it is poorly indexed by google at the moment

ul07:06:25

i've added sitemap today and tried to force him from search console earlier, but i guess we should just wait

zoldar07:06:07

@ul kudos for the effort

gjnoonan08:06:14

@wagjo I can download all the messages ever sent, and should Slack then open up their restrictions a bit more they will be back and visible

wagjo09:06:12

@zoldar @ul @gjnoonan That's great, thank you!

sveri09:06:02

Hi, why are there so many private message channels that I did not open?

tsdh09:06:06

sveri: That just came to my mind right now, too. simple_smile

tsdh09:06:04

How does one add the #C03S1KBA2.de channel (German Clojure users channel) to the clojurians team?

ul09:06:45

#C0544SK9H already exists, or it has another purpose?

tsdh09:06:20

@ul: No, it probably has the same purpose.

tsdh09:06:05

@ul: I'm very new to slack so maybe I'm just confused. Isn't #C03S1KBA2 actually the same thing as the IRC channel #C03S1KBA2 on http://irc.freenode.org?

ul09:06:59

i prefer to think about slack as irc on steroids. i don't know actually if #C03S1KBA2 here could substitute IRC channel in terms of people presence

tsdh09:06:45

@ul: Ah, so they are separate? I've thought the channels here on slack were just gateways to the public IRC channels of the same names with some fancy added for registered users.

ul09:06:24

yes, in that sense they are separate

ul09:06:32

they do not share content

tsdh09:06:27

ul: Ok, that resolves my confusion. simple_smile

kamillelonek10:06:20

what is the most mature web framework for clojure?

escherize10:06:00

can you tell me what you mean by web framework?

kamillelonek10:06:35

ok, I mean a skeleton or a set of libraries for building web services that are run one some remote server and have access to configured database, expose RESTful endpoints with JSON for frontend applications, can handle incoming requests, are testable

escherize10:06:05

Thanks. I was going to say Ring+Compojure, but those are really the low level stuff. You would probably benefit from reading the docs for Luminus (http://luminusweb.net/docs).

escherize10:06:19

Luminus uses (usually) the most popular libraries

kamillelonek10:06:51

that is what I found, I just don't need a view part and I was wondering if there's something without it or should I just skip the view part

escherize10:06:02

as in making html on the server? simple_smile

kamillelonek10:06:15

nope, there's no HTML at all

escherize10:06:17

oh i misread your question

kamillelonek10:06:34

it's only JSON what is exposed

escherize10:06:01

I'd encourage you to check out the wrap-json middleware if you're always using json, too simple_smile

andrevdm10:06:18

@robert-stuttaford: Will the hangout tomorrow be suitable for people new to Datomic?

escherize10:06:22

If you're doing rest+json, I think compojure-api may be a good choice.

kamillelonek10:06:55

but I need a solid database layer implementation as well

kamillelonek10:06:27

just not to reinvent the wheel

escherize10:06:17

also compojure-api can be included in a luminus app like so:

kamillelonek10:06:21

actually I don't have any requirements

kamillelonek10:06:36

it can be a regular database without any fancy distributed systems

escherize10:06:52

lein new luminus yourapp +swagger

escherize10:06:05

here's a peek at what kind of things you can have "baked in" for you by luminus

escherize10:06:15

I think it's the luminus killer feature.

kamillelonek10:06:38

yep, I've found that as well simple_smile

kamillelonek10:06:41

soundls like Rails

escherize10:06:43

since you can choose what you want. Clojure devs aren't really into monolithic frameworks

kamillelonek10:06:19

+postgres - adds db.core namespace and add PostreSQL dependencies - this one seems interesting

escherize10:06:31

luminus is more of a "collection of libraries"

kamillelonek10:06:56

like a composable framework build of different components tight together?

escherize10:06:56

I'm not super fond that it includes html views/templating

escherize10:06:10

yeah. libraries > frameworks

kamillelonek10:06:17

can I throw away templating?

escherize10:06:38

You can take it out, but you'd have to do it by hand

robert-stuttaford11:06:46

@andrevdm: if you’re completely unfamiliar, then it might not be suitable. based on the feedback i’ve gotten, it’s going to focus on how to model with datomic. i’ll do a quick overview of the data model and how schema works, and then dive into some gotchas based on questions i’ve received

tcrayford11:06:21

@robert-stuttaford: is there much different there from normal relational modeling? Apart from multi-valued attributes killing join tables?

robert-stuttaford11:06:48

guess you’ll have to watch and see simple_smile

robert-stuttaford11:06:48

in seriousness, though, as i said, i’ve gotten great questions, and i have a couple gotchas to talk about

sveri11:06:05

@kamillelonek: I also built a template on top of luminus and chestnut with a few more features, but not so much choices than luminus: https://github.com/sveri/closp

kamillelonek11:06:59

I'll definitely check that out! thanks

tcrayford11:06:38

@robert-stuttaford: guess I'll watch the recording 😉

sveri11:06:37

@kamillelonek: thanks, I will fix that

sveri11:06:20

@kamillelonek: btw, it is fairly easy to switch templating in luminus and closp, like with most things, as, all you get are some source files to start with. Apart from that, there is no automatic upgrade path provided by both. But instead, you can update the deps you need yourselt

sveri11:06:58

@kamillelonek: And, you don't even need to switch but can use multiple engines at the same time

sveri11:06:12

for whatever that may be good for

kamillelonek11:06:13

actually I don't need any

kamillelonek11:06:35

templating on server is kinda old school these days

sveri11:06:05

well, twitter made a step back and generates templates for more things than they did last year

sveri11:06:14

on server side

kamillelonek11:06:28

yes, there are definitely cases when this is required

kamillelonek11:06:03

I cannot imagine, for example, banks having completely Single Page Apps

kamillelonek11:06:15

without any server side work

escherize11:06:36

cough http://hiccup.space has some hiccup examples

escherize11:06:48

I think it's the preferred clojure templating approach

sveri11:06:26

@kamillelonek: with closp I provide a very basic user administration, I made this server side generated because I find it more pluggable to SPA and SS solutions, of course, this is just an opinion, but it served me well so far

taij33n16:06:11

Hi all, thanks for the invite!

mj_langford18:06:56

Fantastic article about code and programming for non-programmers: http://www.bloomberg.com/graphics/2015-paul-ford-what-is-code/ even has a good clojure section!!

Tilak18:06:31

Hi, anyone here currently taking “Big Data with Apache Spark” on edx and trying examples and labs with Sparkling - http://gorillalabs.github.io/sparkling/ ?

jstokes18:06:35

im taking the course, and have played around a little with sparkling

barton20:06:35

@tilak I am taking the course, will now try the sparkling, thanks for linking to it!

nbenketaf20:06:19

Hi everybody!

Tilak22:06:30

@barton: It’s successor to clj-spark & flambo, refer to 1.0.0 release section - https://github.com/gorillalabs/sparkling. I tried the first lab exercise - https://github.com/tilakthapa/berkeley-spark/blob/master/src/berkeley_spark/spark_tut_stu.clj . And I’m planning to do all exercises and labs using Sparkling if I got time.