Fork me on GitHub
#clojure-uk
<
2017-01-06
>
maleghast02:01:59

In case anyone was wondering… I would not judge anyone, friend or stranger, for taking a job at The Daily Mail, nor do I think that FW should have been hounded out of helping them find engineers; these things are personal choices. I’ve never judged @jonpither for his time there, and I still don’t - if anything he did some great / cool stuff there and the fact that I can’t bring myself to work for them, or big pharma, or the banking sector does not mean that the people who do are “not as good” as me or some other ropey crap like that. I would work for the “adult” industry (admittedly provided I was working for an organisation that I could be certain were treating their talent ethically, and they do exist), so clearly we all have lines that others may question or indeed not be willing to cross. What I do think is pretty unassailable, is that the Daily Mail has been pursuing a political agenda and an approach to the manipulation of its readership that are worthy of criticism and opposition. As such I am very much on board with the campaign to encourage advertisers to spend their money elsewhere, as a lever to be applied to the editorial direction of the paper and the website. That is using your wallet - by saying to, let’s say Waitrose, don’t advertise in that paper and I will carry on shopping at your store - to effect change. That’s within the boundaries of the market. If Software Engineers in general and FP-ers and Clojurians in particular start turning on one another over the isolated ethics of who they work for we are in for some pretty bleak days, and we all have one or two skeletons in that closet; I know that I do. So anyway, back to Clojure… I have asked this before, but in all honesty while I was glad of the answers / ideas they did not pan out to much, so in the hope that things have moved on: Can anyone point me at an easy-to-get-into post / tutorial on Boot. I have tried with the Boot website, I don’t know why but it leaves me cold and I am no closer to understanding why I should be using it instead of Leiningen, so if anyone has any tips on “The hobbyist Clojurian’s, bluffer’s guide to Boot” or similar, is there any chance that you could let me know..?

seancorfield02:01:25

@maleghast Did you read my series of blog posts about why we switched from Leiningen to Boot at World Singles?

maleghast02:01:00

@seancorfield - Nope, but that sounds as though it might be something I would want to read 🙂

seancorfield02:01:11

A series of five posts, starting about a year ago: http://seancorfield.github.io

maleghast02:01:35

I will take a look - thanks very much indeed 🙂

seancorfield02:01:36

Happy to answer any follow-up questions you may have too...

maleghast02:01:50

Thanks, that’s very cool 🙂

seancorfield02:01:54

(feel free to DM — although I’ll be afk for a lot of the weekend)

maleghast02:01:55

Thanks Sean, I will read / digest over the weekend - lots of Python to do at work today - and if I have any follow-ups I’ll ping you in the week 🙂

maleghast02:01:45

(Although I am sneakily reading the first post now, ‘cos I couldn’t wait 😉 )

mccraigmccraig08:01:54

@maleghast boot is great when lein runs out of steam - e.g. i run model unit tests against an in-memory cassandra, and starting the in-memory cassandra (in a pod so it's dependencies don't conflict with my project), running migrations and then running the unit tests (also in a pod, and with lein-modules) was easy with boot and way outside of lein's purview

maleghast08:01:18

@mccraigmccraig - Thanks, that makes a lot of sense.

mccraigmccraig08:01:45

@maleghast it turns out to be easy to take baby-steps with boot, without rejecting lein - parsing project.clj and running lein tasks from boot are both trivial

maleghast08:01:55

I am going to (hopefully) have an experiment with Boot over the weekend.

maleghast08:01:43

@mccraigmccraig - That is also encouraging as “baby steps” are pretty much all I have time and energy for when not at my day job!

maleghast08:01:00

I had a quick look at @seancorfield’s boot-new earlier as well and was very pleased to discover that with it I would be able to replace

lein new
with relative ease

practicalli-john10:01:37

It would be really great to get a talk about boot at the London Clojurians some time... especially on first steps of using boot and where you used boot over, or in conjunction with, Leiningen http://bit.ly/ldnclj-speak

maleghast10:01:24

@jr0cket - I will with pleasure, if I am ever in / near London before someone else does it 🙂

maleghast10:01:36

(currently in Manila)

jonpither11:01:22

he's a boot fan

yogidevbear11:01:00

I'm sure I've asked this before, but are the London Clojurians talks recorded and uploaded anywhere?

benedek11:01:05

I think all clojurian public rooms are

Rachel Westmacott11:01:32

just catching up a bit - putting the milk in first does affect the taste (due to the way the milk is heated more gently than by dropping it into boiling water), however flavour is subjective (also adding milk to tea and coffee roughly doubles the carbon footprint!)

jonpither11:01:34

@peterwestmacott Soya is a carbon-lite alternative

jonpither11:01:23

but Soya + normal tea isn't the nicest thing in the world. I've found Calomile tea to be a good alternative.

Rachel Westmacott11:01:00

I guess one would have to try all the different vegan milks in combo with all the different teas to be sure...

Rachel Westmacott11:01:53

(plus all the combinations of milk first/last, with/without teapot, and everything else that people worry about when making tea)

yogidevbear11:01:57

I read somewhere that soy isn't actually very environmentally friendly

Rachel Westmacott11:01:16

I suspect that if you keep a pet, or travel by plane from time to time, then what goes in your tea is a drop in the ocean.

mccraigmccraig11:01:32

i've tried all the vegan milk alternatives i have seen. none of the vegan milks are any good with tea or coffee. i prefer to drink coffee or tea black that to pollute it with soy, oat, almond, coconut etc

minimal11:01:13

@benedek I think he was talking about videos of talks

benedek11:01:36

ha sorry. sure he was. my bad

minimal11:01:55

If they were in skills matter then they should be online there

benedek11:01:13

they are btw. i think you need to log in to see the vids

yogidevbear11:01:09

Just realised that initial link is the slack stuff

practicalli-john12:01:36

I think its just the ClojureX talks you need to login for, but could be wrong

Rachel Westmacott12:01:27

tangentially, why does one need to log in to see skills matter videos?

benedek12:01:30

probably i should just shut up then. sorry again 😉

rickmoynihan12:01:24

@seancorfield: Regarding boot - what do you think of it as a whole? I’ve only played with it a little, but it seems like underneath it has a lot of the right ideas but on top superficially at least it's expressed in a very un-clojure ugly kinda way. Sorta like git, i.e. beautiful underpinnings but arguably horrible CLI. I appreciate also there are basically two styles of build systems, declarative ones that are brilliant and largely consistent so long as you don’t stray too far out of their design expectations, at which point they become confusing… and imperative/make/ant style ones which make it a lot easier to shape how you want - but they always devolve into their own unique snowflakes. I don’t know of any other options, but boot seems to fall into the later camp. Is that a fair assessment?

jonpither12:01:53

That's my feeling

rickmoynihan12:01:14

Like I said - I have literally no experience with boot… so my feelings might be unfounded in practice.

jonpither12:01:30

Boot reminds me a bit of Riemann, awesome DSL, but then I forget it and the data shapes / contracts, and it gets hard to figure it all out

jonpither12:01:00

but I've a feeling if you simply need the most power and precision, boot is going to win out on that score

rickmoynihan12:01:08

yeah - I agree… Though part of me wonders if I could just use ant for those bits and perhaps call out to lein for the clojure specific bits.

rickmoynihan12:01:25

I appreciate that people might think that’s the worst of all options though! 🙂

mccraigmccraig12:01:46

@rickmoynihan i disagree. true, i found boot confusing at first, but the more exposure i have had to it the more i have appreciated the power of its model - and rather than devolving into unique snowflakes it seems to be rather good at permitting task composition

mccraigmccraig12:01:28

and boot pods are magnificent

rickmoynihan12:01:46

yeah pods are really what I was referring to about having beautiful underpinnings.

rickmoynihan12:01:00

mccraigmccraig: I think my biggest problem with boot is that it looks like many operations appear to be side-effecting and tightly coupled to the way namespaces are loaded… i.e. the kind of things we normally try and avoid as a clojure programmer appear to be part of boots style.

rickmoynihan12:01:28

but I’m going to have to take a deeper look

martinklepsch12:01:27

> many operations appear to be side-effecting and tightly coupled to the way namespaces are loaded not true. If task authors write stuff that way sure but that’s not common as IME

mccraigmccraig12:01:00

the env is a global within a pod, but i think that's about it - i don't know of anything else which is unnecessarily side-effecting in my build (i.e. stuff like starting an in-memory db instance is necessarily side-effecting)

rickmoynihan12:01:47

wasn’t referring to external side-effects… more setting up internal state/vars and putting things like that at the top-level like bootlaces!. These effects occuring outside of tasks seems weird… I have no idea what bootlaces! or other things are doing though, so maybe it’s not that bad, just my first impression.

mccraigmccraig12:01:47

that i can compose tasks like this in boot - https://www.refheap.com/ca324c42cd6d50095de2f882c - is aweseome - most of those are very general purpose tasks which are easily re-used in different situations

rickmoynihan12:01:57

mccraigmccraig: yes thats a bit of boot I like.

glenjamin13:01:05

Can anyone suggest/volunteer someone who would be up for doing a CLJS talk for a JavaScript track at QCon? A friend of mine is tasked with organising it and is looking for experience-report type stuff from people who’ve used these things for real

jonpither13:01:07

Could be game. Never been to QCon :-)

tcoupland14:01:53

@acron could me your man 🙂

acron14:01:57

@glenjamin happy to discuss, DM me, I've done way more CLJS than JS though so am naturally biased 🙃

rickmoynihan17:01:01

I have it open in one of a dozen tabs already 🙂

seancorfield17:01:07

We no longer use Ant, just Boot. Blog http://seancorfield.github.io

rickmoynihan17:01:48

the other side of the coin is improving our build pipeline… Jenkins 2, Jenkinsfile’s seem quite nice; but would probably like to push most of the build logic into something else, and just trigger it from jenkinsfiles - just so it’s more testable locally

korny20:01:22

I keep meaning to try out lambdacd: http://www.lambda.cd/ - partly as it’s written by a colleague 🙂 but also it’s clojure, and CD!

agile_geek20:01:56

I've played with http://lambda.cd but not used it in work

agile_geek20:01:31

I like the idea but not sure what happens if you need really complex pipelines

agile_geek21:01:05

Oh dear, my New Years resolution to try Cursive has already come to nought as I started watching @magnars "emacs rocks"videos and I'm hooked again!

glenjamin21:01:57

if you need really complex pipelines, fix your process 😛

yogidevbear21:01:16

Yeah, stop complecting things @agile_geek troll

yogidevbear21:01:31

(just joking 😄)

agile_geek21:01:04

@glenjamin I agree but with some of my clients that's never going to happen!