Fork me on GitHub
#clojure-uk
<
2017-01-27
>
maleghast04:01:09

@mccraigmccraig - why not mount your .m2 as a volume in the container(s)?

maleghast04:01:34

(i.e. the local .m2 that would normally speed up builds wherever you are running them?)

maleghast04:01:42

@glenjamin - Yes AWS ECS is "not magic enough" - I would absolutely agree with that.

agile_geek08:01:07

@mccraigmccraig I was going to suggest what @maleghast said. Might be something you can 'steal' from this although it's not exactly what you want https://github.com/markmandel/wrapping-clojure-tooling-in-containers

dominicm08:01:50

I wonder how they solved file system mapping...

dominicm08:01:32

Doesn't seem that docker image does. It's seemingly targeted at emacs users.

thomas09:01:50

well that includes just about 99.99999% of all Clojure users šŸ˜‰ @dominicm

mccraigmccraig09:01:15

@maleghast the build is running remotely on a cloud service

mccraigmccraig09:01:55

@maleghast a git wekbhook triggers a checkout and build of a docker image, then runs a docker composition task which runs tests against a fresh db server and if those pass then the docker image gets pushed to dockerhub - so it's a completely isolated CI+CD solution. it's reasonably fast if the lein deps don't require installing every run, but if they do it slows right down

maleghast09:01:47

@mccraigmccraig - Ah... OK, sorry, I can see why that's both more annoying and not well-suited to my suggestion šŸ™‚

maleghast09:01:30

If i have a flash of inspiration I will let you know.

Rachel Westmacott09:01:07

would a base docker image with some of your common dependencies pre-installed speed it up at all?

yogidevbear09:01:00

Morning. @mccraigmccraig, Mark Mandel is on this slack group if you want to ping him a message regarding the repo above. He's based in the US now. Really nice guy.

agile_geek09:01:05

Yeah. To be fair he's really only looking at using Docker as an isolated dev environment tho. Of course he may have moved on a lot since 2015

mccraigmccraig09:01:37

i've got something to try for now @yogidevbear (`ADD`ing the project.cljs in a Dockerfile step before the rest of the project - should only trigger deps pulls when one of the project.cljs changes) - i'll see how that goes

dominicm10:01:19

@thomas 50/50 split here in the office, vim & emacs.

dominicm10:01:22

We don't tolerate cursive.

yogidevbear10:01:42

How about LightTable? šŸ˜‰

benedek10:01:22

> We don't tolerate cursive. how come? (real curiosity here, not looking for arguments for arguments sake)

thomas10:01:14

I use Atom at the moment... and liking it.

lsnape10:01:50

thomas, what made you switch (assuming you switched!) to Atom?

thomas10:01:21

I never really got into Emacs... and I used LightTable for a while and really liked that...

dominicm10:01:21

I should add this comment was mostly in jest. But the general consensus is that it takes you too far from the bare metal, also trying to get cursive's styling to be aligned with vim & emacs is near enough fucking impossible, I really tried.

thomas10:01:48

but LT is kinda dead IMHO... and then Atom came along... and the Proto-repl has some nice things in it as well

benedek10:01:38

yeah really liked the proto repl talk

lsnape10:01:59

was about to say Iā€™ve heard the talk was good

thomas10:01:39

the video that was done at the conj was impressive.

thomas10:01:49

( I think it was at the conj)

benedek10:01:56

although then found out that sayid is originally made for emacs

lsnape10:01:15

I adopted Spacemacs a couple of months ago. Itā€™s great but really sluggish after a while, still havenā€™t worked out why

thomas10:01:34

yup... haven't tried that yet. Sayid is very cool I think

benedek10:01:39

so that wonā€™t really lure me away from emacs either...

mccraigmccraig10:01:04

@lsnape i just switched from prelude to spacemacs - i'm not seeing any sluggishness though

benedek10:01:10

is it on melpa yet tho?

benedek10:01:40

just got my first pr merged yesterday to spacemacs šŸ˜‰ šŸ»

lsnape10:01:02

mccraigmccraig every so often I type space-{A-Z}, and if I delay then it hangs for a few seconds. I think itā€™s something to do with searching for key command suggestions. Are you on OSX?

otfrom10:01:41

I'm still old school emacs. I do like my org-mode based config though.

otfrom10:01:46

and use-package is great

otfrom10:01:01

when I was on that legacy OS I used this: https://emacsformacosx.com/

otfrom10:01:15

but then I never really got on w/homebrew

lsnape10:01:20

Hmm canā€™t remember where I got my emacs version from

benedek10:01:24

i use the emacsmacport too. mainly to have proper ligatures support

benedek10:01:51

smooth scrolling is nice too

otfrom10:01:56

I used emacs even when I was doing a lot of java, so I've never really been tempted to any of the IDEs

mccraigmccraig10:01:06

@otfrom the railwaycat port supports firacode which was why i moved from emacsformacosx

lsnape10:01:21

otfrom Spacemacs has opened my eyes to all sorts of packages. Iā€™ve found some real gems by serendipitously mashing the keys

mccraigmccraig10:01:35

i hate slack's @ mention search behaviour

mccraigmccraig10:01:10

yeah, spacemacs is great for exploring clj-refactor and things

agile_geek10:01:38

@dominicm interested in your comment about Cursive styling. Here we have mostly Cursive, 2 or 3 Emacs and 1 on VIM but we've just introduced cljfmt on all builds which seems to follow the default styling rules for Emacs clojure mode pretty closely so not sure how much pain that causes Cursive users but I find that if I reformat in Emacs it doesn't change the existing code structure much so Cursive users must have figured out a sane compromise.

lsnape10:01:44

really nice projectile key mappings, and helm swoop is awesome

otfrom10:01:45

mccraigmccraig I was able to change my fonts with the other emacs

mccraigmccraig10:01:01

also spacemacs handles window-sizing and message buffers really well

glenjamin10:01:17

Is it just me who thinks disabling automagic-formatting is far easier than trying to get editors to agree?

otfrom10:01:02

I tried helm for a lot of things and then went back

mccraigmccraig10:01:45

@glenjamin not just you - i insist on 2-space indents and no tabs, but after that i don't care too much

dominicm10:01:15

@agile_geek there are things that cljfmt doesn't "undo", zprint might be better

thomas10:01:53

yes I think it is.

agile_geek11:01:11

@jasonbell morning. How's things

jasonbell11:01:28

Youā€™ve got alarmingly polite in the last 48 hrs @agile_geek

jasonbell11:01:37

Iā€™m fine thank you, and your good self?

agile_geek11:01:06

I'm fine and don't get used to it! šŸ˜€

otfrom11:01:33

you two play nice now

otfrom11:01:47

agile_geek don't make me come over there and :hugging_face: you

Rachel Westmacott11:01:29

"thinks funny how mentioning cursive triggered a chat on all other editorsā€ <- this is because cursive just works out of the box without discussion and configuration and plugins and elisp troll

otfrom12:01:53

glad to hear it is working better now than when I last tried it šŸ˜‰

benedek12:01:08

troll breeds troll haha

otfrom12:01:04

I've always been keen on everyone using the editor/IDE they like. I've been on the losing argument of that too many times in my career

benedek12:01:24

agree otform. i suppose this should be the part of developerā€™s freedoms

mccraigmccraig12:01:23

"you can use any editor or IDE you like, as long as it is emacs"

benedek12:01:28

@peterwestmacott i think the situation is nice on the clojure editor landscape. you can go vi/emacs if you want to control your own tools more and you can go cursive if you want an IDE experience. and both of these options are pretty advanced. plus you have lighttable, atom as well if you want that too for some reason

Rachel Westmacott12:01:48

@benedek I agree that it is nice - itā€™s great to have such broad support

otfrom13:01:27

mccraigmccraig that still gives a very wide range of freedom šŸ˜‰

otfrom13:01:03

in MC I do say "use whatever you like, but I only really know how to support emacs", which probably has forced some people

jasonbell13:01:10

Errr yeah it did.....

jasonbell13:01:02

And since then Iā€™ve deleted all my IDEā€™s.

agile_geek13:01:31

I still struggle to understand how you can use emacs for java though. Intellij and Eclipse just generate all the boilerplate cr*p for you.

jasonbell13:01:46

@agile_geek I archived all my java projects in my private bitbucket repos, "Clojure or nothingā€ was how I put it to myself.

agile_geek13:01:43

@jasonbell not an option if I want to pay the mortgage

jasonbell13:01:38

Well Iā€™m kinda lucky that the company I work for..... etc etc etc šŸ™‚ (and I donā€™t have mortgage)

agile_geek13:01:49

The company I work would be quite happy to go all Clojure (I know the CEO/CTO really well!) but they'd promptly go bust

agile_geek13:01:57

oh well ĀÆ\(惄)/ĀÆ

acron13:01:15

a small sacrifice for programmatic purity, I say

mccraigmccraig13:01:02

@acron true, but you can't switch to clojure to achieve programmatic purity. clojure is far too accepting of side-effects to be compatible with such a lofty goal

acron13:01:09

I meant purity in the pious sense, I suppose šŸ™‚

practicalli-johnny13:01:02

Since discovering golden-ratio in Spacemacs I cant live without it šŸ™‚

mccraigmccraig13:01:51

i tried golden-ratio @jr0cket , but i don't like it... i keep all my source files to <80 chars and golden-ratio makes the primary window too wide

lsnape13:01:41

@mccraigmccraig I just switched to emacs-macport from emacs-plus. No more annoying pauses between commands! šŸŽ‰

practicalli-johnny14:01:42

@mccraigmccraig there is always golden-ratio-adjust... I also experimented with the widescreen version, which is nice

glenjamin14:01:04

@krisajenkins Do you have a variant of your RemoteData ADT that you use for update requests, or do you use the same shape?

practicalli-johnny14:01:30

@agile_geek you can get IDE features for Java or Scala with Emacs using http://ensime.org/

practicalli-johnny14:01:23

@agile_geek Cider also supports cursive formatting too... but I would have hoped that all tools follow the Clojure style guide

otfrom14:01:46

agile_geek I used to have a lot of code for generating the boilerplate for c++ and java. Usually from some sort of spec file. Wasn't too bad

otfrom14:01:55

and it could generate multiple files

jasonbell15:01:51

Actually while weā€™re on the subject of Emacs, when I type a url /thisusedtobemyplayground then Emacs just locks up and I have to kill it, Iā€™m assuming thereā€™s some mad evaluation thatā€™s getting stuck in a loop or something.

benedek15:01:21

haha sorry, ignore previous pls

krisajenkins16:01:09

@jasonbell I think Emacs just hates Madonna. Fair enough, I say.

jasonbell16:01:05

At least someone got the Madonna reference. All is calm in the Bell household.

jasonbell16:01:32

first album was the best šŸ™‚

glenjamin17:01:41

wow, thatā€™s a lot of discussion for a type

glenjamin17:01:03

Personally Iā€™d go with ReloadableRemoteData as an additional type

glenjamin17:01:40

wasnā€™t quite what i meant though @krisajenkins - i was thinking more about modelling the state of a ā€œPOSTā€ request, ie. submitting a form

krisajenkins17:01:18

Yeah, it is right? šŸ˜„

krisajenkins17:01:34

Yeah, Iā€™m leaning towards that answer too. šŸ™‚

glenjamin17:01:59

shame you canā€™t extend an existing type definition šŸ˜„

krisajenkins17:01:16

Yeah. Open ADTs are an open question. šŸ™‚

krisajenkins17:01:27

Yeah, I use the same type for a POST. Usually holding whatever the response payload is at its type.

krisajenkins17:01:43

Wait, are we allow to say these things on a Clojure channel? šŸ˜Ø

krisajenkins17:01:02

Types, types, types, type-itty types. troll

glenjamin17:01:49

composition is nice and all, but it does make pattern matching / destructuring a bit more fiddly

krisajenkins17:01:19

Yeah, good point.