Fork me on GitHub
#clojure-uk
<
2018-07-18
>
yogidevbear06:07:45

✔️

dominicm06:07:40

oh yeah, morning, sorry, forgot you guys

😂 4
alexlynham06:07:26

So are people in here still using lein or using boot?

dominicm06:07:24

Most of our projects have moved onto the Clojure CLI

alexlynham07:07:34

@dominicm oh okay, that's interesting. How have you found that move?

alexlynham07:07:59

Are there any gotchas with how you configure the repl etc?

alexlynham07:07:15

(exposing my ignorance here :P)

dominicm07:07:24

@alex.lynham not too bad really. We've built a little tooling to fill gaps, but mostly it does the job.

alexlynham08:07:00

what were the gaps you found?

alexlynham08:07:04

and what does it do better?

dominicm08:07:12

@alex.lynham The gaps are that it isn't a build tool, so there needs to be some written. We wrote https://github.com/juxt/pack.alpha to create uberjars from deps.edn descriptions, I also wrote https://github.com/SevereOverfl0w/krei.alpha to start trying to consolidate some build tooling for sass,cljs, etc. but haven't taken it too far. It doesn't depend on deps.edn at all though, just relies on the classpath. Overall, it encourages a good shift, writing code which works for lein/boot/clj rather than just lein plugins.

dominicm08:07:33

What it does better is mostly about what it doesn't do. It doesn't do a lot of things, and gets out of your way.

alexlynham08:07:50

I think Rick might have mentioned that when I was at swirrl

alexlynham08:07:04

at the time he was working on https://github.com/RickMoynihan/lein-tools-deps I think (although quite a diff thing)

alexlynham08:07:42

because I'm hacking around with this serverless stuff and it needs some quite heavy custom config to bootstrap, I'm hitting the edges of where lein is v good and so I'm sort of open to new ideas

alexlynham08:07:58

(although I need to refocus a little and just ship something already 🙂 )

dominicm08:07:24

yeah, that's a good way to use tools.deps.alpha (what underlies the clojure cli) with lein.

dominicm08:07:46

@alex.lynham in order to encourage your bad behavior, what is the custom config you're needing?

alexlynham08:07:18

basically things like tricking figwheel into thinking there's a web stack when I'm basically just writing code in a buffer

alexlynham08:07:43

so you need a custom cljsbuild profile to bootstrap your watcher thing

dominicm08:07:15

that's a bit confusing, why do you need to do that?

alexlynham08:07:18

tbf there might be a simpler way - lemme find the bit of the docs

alexlynham08:07:30

(at work pre standup so will be in&out)

dominicm08:07:04

No, that documentation is pretty much what I expected infact 😛

alexlynham08:07:48

yeah, I mean, it works

alexlynham08:07:32

> Alternatively, you can set the autocommit attribute of the connection object to False. This ensures that psycopg will execute every statement and commit it immediately. and there's the bug from yesterday. Silly me for thinking autocommit True would enable autocommit 🙂

guy09:07:15

Morning!

guy09:07:49

Yesterday i started learning spacemacs 😅

guy09:07:17

Been quite fun so far 😄

spacemacs 12
metal 4
alexlynham10:07:59

how have you been finding it?

guy14:07:14

i’ve been enjoying learning new commands and seeing what it has to offer, i really like the git interface where its like a time machine and u can see previous and older commits as code in ur editor

alexlynham15:07:47

I think I've seen somebody using that

alexlynham15:07:58

is that git-tree? or something different?

guy15:07:34

magit maybe? im not entirely sure. when i find out ill ping u

alexlynham16:07:34

I will have a look

alexlynham11:07:52

> Been quite fun so far

agile_geek12:07:37

@guy you know what they say “Spacemacs is an entry drug to Emacs!“…..Well, OK, no one says that..except me.

guy14:07:17

haha yeah i’ve really enjoyed emacs before, but im learning spacemacs as my friend is learning it too. So i can learn at the same time. I was quite happy with click adventures that is intellij 😂

alexlynham12:07:30

tbf I initially tried spacemacs @agile_geek but ended up on emacs 🙂

agile_geek12:07:12

@alex.lynham insidious isn’t it!

alexlynham12:07:37

also partly because there were two other emacs users in the office, so easier to garden config

alexlynham12:07:49

gradually though most people there moved over to cursive

agile_geek12:07:07

I tried cursive but I found CIDER to be ahead of it in most features…and even with emacs keybindings Idea is still no emacs.

agile_geek12:07:50

Just loads of little things…like the kill ring buffer in Idea is only about 5 previous kills

agile_geek12:07:05

Unfortunately, I’m working on a large Java codebase atm and emacs is just not capable of refactoring, running integration tests with all the requisite plugins for extra sh*t in Java enterprise apps (Spring, Mockito, etc.), etc. Eclim is far too slow (constantly recompiles entire project on save which can take over a minute on a big project), JDEE buggy and has same recompilation problem as Eclim plus almost no support for Spring, Meghanada - good for small projects but can’t handle running tests that have specific dependencies on Spring and can’t handle long test method names, etc. If everyone used emacs maybe Java projects wouldn’t end up with long test method names, slow builds, etc. but I’m the only one!

jasonbell12:07:57

@agile_geek butWeLikeUsingIDEAForThatSortOfThing(boolean notArf)

agile_geek12:07:26

Yeah but IDEA’s actual text editing is pants! I’m living half in one camp and half in ’tother. Lucky I have 2 monitors, Emacs in one and Idea in the other.

dominicm12:07:10

Does anyone have favourite examples of good guides to Emacs for Clojure that I might take inspiration from in order to write a vim one?

alexlynham12:07:44

iirc there's not a bad getting started guide in brave clojure

guy14:07:12

this is so true, its how i got into emacs

alexlynham15:07:09

I think it's the root of my starter kit

👍 4
alexlynham15:07:21

oh actually I think I use the emacs starter kit

alexlynham15:07:33

but that's the one they suggest as well maybe?

guy15:07:14

could be i dnno haha

alexlynham12:07:53

I think I sent that to a colleague who was curious

Rachel Westmacott14:07:05

@agile_geek it sounds like the problem is more Spring than Eclipse/Emacs

agile_geek14:07:45

@peterwestmacott not sure what you mean. Spring is doing what it does. The problem is that Emacs Eclim doesn’t have all the hooks into the spring framework that Eclipse plugins or Idea plugins do. It’s the development lifecycle around refactoring, running tests, etc. that’s the problem. Runtime is fine using Spring. It’s mainly cos Emacs and it’s .el files can’t hook into Aspects which is how a lot of Spring stuff is implemented.

agile_geek14:07:39

But I’m never going to get away from frameworks like Spring, DropWizard etc. in Java.

Rachel Westmacott14:07:02

DropWizard I can live with.

Rachel Westmacott14:07:06

Java I can live with.

Rachel Westmacott14:07:58

DropWizard is actually quite Clojuresque in a way - more a collection of libraries than a framework.

Rachel Westmacott14:07:35

Aspects == COME FROM

agile_geek14:07:50

I’ve tried to write large complex apps without Spring….it’s a nightmare. It’s far from perfect but people forget what it’s like without it.

agile_geek14:07:15

Got to be careful not to throw baby out with bath water