Fork me on GitHub
#boot
<
2015-06-25
>
alandipert00:06:17

@podviaznikov: hm, does it not make sense to sync the fileset?

alandipert00:06:31

output files in the fileset that is

alandipert00:06:02

@jeluard: that's cool! to make it semi-permanent one could aim BOOT_HOME at a permanent ramdisk

podviaznikov01:06:05

@alandipert: I think it doesn’t make sense to sync fileset (at least it doesn’t sound important). Just wanted to check maybe there are other tasks that needed to do similar decision

alandipert01:06:49

@podviaznikov: it reminds me of pandeiro/boot-http a bit, which can serve files from either place or classpath

alandipert01:06:02

re: the namespaces-as-pods concept

podviaznikov02:06:36

@alandipert: do you know if I can force boot to sync write files to the target-path? I have following boot file https://github.com/hashobject/blog.hashobject.com/blob/master/build.boot. What is happening is that my task boot-s3 syncs target/public directory. But that directory is empty until all tasks would be executed

alandipert02:06:09

@podviaznikov: i notice that in the boot-s3 task you do the work before calling the next handler (as with-pre-wrap does)

alandipert02:06:29

have you tried running the next task and then doing the s3 work?

podviaznikov02:06:48

that makes sense. I didn’t. Going to try now

alandipert02:06:55

otherwise there are ways to force the sync using internal boot things, but i wouldn't advise it

alandipert02:06:38

why don't you like the idea of syncing the fileset itself?

alandipert02:06:58

by doing that it would be possible to e.g. sync the fileset at different points in the pipeline

alandipert02:06:08

the primary motivation for using the fileset is to avoid the kind of coordination needed to read target at the right time

podviaznikov03:06:46

I probably misunderstood your answer to my previous question:) I thought that you said that syncing target is a better way

podviaznikov03:06:00

but anyway, I fixed boot-s3 and it worked now

podviaznikov03:06:05

thank for the tip

podviaznikov03:06:35

also I didn’t think about idea of having s3-task sync fileset in different points in the chain

podviaznikov03:06:45

now that you said it it looks interesting

podviaznikov03:06:42

finally got auto-deployment working with boot/perun. Now I have my blog configured to be build on heroku and deployed to s3 automatically after I commit & push change to GitHub

alandipert03:06:30

sorry i was unclear, my point was that in general, the less tasks look at the real filesystem, the more flexible they are

danielsz13:06:21

alandipert: Great! You’re revealing the inspiration fors pods, right?! Fantom looks so cute and cross-platform and cool. Have you tried it?

danielsz13:06:34

jeluard: cool concept of the ramdisk.

danielsz13:06:57

jeluard: Please let us know how it goes if you try it. simple_smile

alandipert13:06:34

@danielsz: i haven't tried it, no, but it's not a lisp so i don't feel especially compelled to 😉

alandipert13:06:15

i was intrigued tho by the lengths they go to be compatible with both the jvm and clr

alandipert13:06:26

they even have their own intermediate bytecode that translates to either

danielsz13:06:58

alandipert: that isamazing.

danielsz13:06:17

alandipert: Don’t tell me it’s not funded?

danielsz13:06:53

Well, I guess this is the story: http://fantom.org/forum/topic/355

danielsz13:06:22

"Like many open source projects, what you see today is the result of work done in our spare time. So there hasn't been any explicit funding. Things will be shaking up in a couple weeks, and we'll start to work on Fan more or less full-time. I'll be blogging about that in Dec."

danielsz13:06:21

OSS never ceases to amaze me.

micha14:06:33

podviaznikov: i would recommend not using the :target-path in any way while boot is running

micha14:06:16

podviaznikov: the target dir is just a place for boot to dump the final state of the fileset before it exits, so you can do things with the artifacts you build

micha14:06:51

while boot is running the target dir is unmanaged shared state, and as such there can be no guarantees about its contents

micha14:06:30

i can't imagine anything you can do with the target dir that you can't do with (boot.core/output-files fileset)

micha14:06:08

so i would strongly recommend using the fileset instead of target dir for the s3 task

micha14:06:54

the key part there is making the temp dir (line 5), and then syncing the fileset to that (line 11)

micha14:06:10

then you can point the s3 machinery at the temp dir

podviaznikov17:06:30

@micha: thank for your opinion. I’ll add this to boot-s3

danielsz17:06:05

Bodil live coded uKanren at EuroClojure, and people are raving about Adam Tornhill’s talks. BCN is where all the fun is. Waiting for the videos.

akiva19:06:25

I hope it all gets up on YouTube like ClojureWest.

otijhuis20:06:16

I was told the talks are going to be online but they aren't able to get them online the same day. You should be able to watch them soon though.

wagjo21:06:55

Adam Tornhill is my new hero, you should really really watch his talk once it gets online

micha21:06:31

wagjo: have you ever heard of a lisp in which macros receive their arguments macroexpanded but not evaluated?

micha21:06:01

sort of like applicative order macroexpansion

micha21:06:32

i've been looking and haven't been able to find anything

wagjo21:06:23

no, haven't heard of it

micha21:06:36

it's strange, because i'd imagine it would be discussed somewhere, lisp is extremely well documented

wagjo21:06:38

but you can achieve that fairly straightfordably with clojure's macros i think

micha21:06:56

well the problem is like the ns macro for instance

micha21:06:05

macros that embed a non-lisp semantic in lisp

micha21:06:15

(ns foo (:gen-class) ...)

micha21:06:25

what kind of expression is (:gen-class)?

micha21:06:28

it's not lisp

micha21:06:59

also expanding macros from the outside in is sort of like a trampoline in a way

micha22:06:08

which means you don't have a useful call stack to work with

micha22:06:27

so a macro can't propagate exceptions up the stack if something fails during macroexpansion

micha22:06:49

it's basically a composition problem

alandipert22:06:44

this is why we must now (ns foo <?php= isClojure ? ":gen-class" : null ?>) or whatever the syntax is now 😉