Fork me on GitHub
#admin-announcements
<
2016-01-18
>
calmwinds09:01:44

What editor do you guys use for clojure? I'm using spacemacs with the clojure default but its hard to evaluate in the repl, and just does in the bottom buffer.

shanekilkelly09:01:26

@calmwinds: spacemacs here, have yet to find anything better.

meikemertsch09:01:33

partly lighttable, partly intellj with cursive. Depends on what I need to do

shanekilkelly09:01:24

cursive is a no-go for me because intellij has long-standing bugs with handling non-US/Qwerty keyboard layouts

cfleming09:01:46

@shanekilkelly: Really? Do you have a link to an issue? I know there are occasional problems on Linux, but generally non-US keyboards work fine. I used one for ages.

cfleming09:01:06

That was fast simple_smile

shanekilkelly09:01:13

I was just looking it up simple_smile

shanekilkelly09:01:39

It’s been open for five years with no sign of being fixed, affects dvorak/swedish/german/etc in various ways

shanekilkelly09:01:51

and there’s a bunch of related issues linked to it.

shanekilkelly09:01:15

until they sort that out, I (and a bunch of other people) can’t even evaluate it for use.

cfleming09:01:10

Isn’t it a matter of just rebinding the actions, though? I mean, it’s annoying but it doesn’t seem like a deal breaker. Or are there combinations that just don’t work?

shanekilkelly09:01:08

I think there are combos that don’t work anyway. I’ve tried rebinding with not much luck. they’re using the wrong API to listen for keystrokes, so I think some information can be lost

shanekilkelly09:01:38

plus, I can’t reasonably rebind the whole set of shortcuts, and test that they work, before even getting to evaluate the usefulness of the tool.

cfleming09:01:19

It looks like a JDK bug according to the comments. There might be some hope then since JetBrains are now producing their own JDK in order to fix a lot of these bugs that Oracle refuses to do anything about.

shanekilkelly09:01:25

anyway, not really a comment on cursive itself, just pointing out intellij as a platform has some issues simple_smile

cfleming09:01:48

Sure, I understand, just trying to understand the problems people are having.

shanekilkelly09:01:06

i think some of the fault is on intellij though, I mean, no other java-based app on OSX is affected by the same problem.

shanekilkelly09:01:13

Eclipse works fine

cfleming09:01:26

Right, but Eclipse doesn’t use AWT

cfleming09:01:48

Looking at that, any Swing app will suffer from the same problem.

shanekilkelly09:01:07

maybe it will get fixed this year, now that they’re shipping their own jdk.

cfleming09:01:41

Yeah, fingers crossed. I see in the comments, it’s not just a matter of rebinding, since IntelliJ will show incorrect shortcuts in the menus.

shanekilkelly09:01:12

oh well, we can only wait simple_smile until then I’ll stick with spacemacs

shanekilkelly09:01:37

for all its flaws, it generally does the right thing when I press a key 😛

cfleming09:01:08

Or at least does the wrong thing consistently simple_smile

shanekilkelly09:01:06

nah, in all seriousness, spacemacs is very, very good. especially for someone with vim skills who wants a not-vim editor.

calmwinds09:01:34

it definitely seems like it, the color theme thats out of the box is great too.

shanekilkelly09:01:56

I really like the tommorrow-night theme

shanekilkelly09:01:08

I think you need to enable themes-megapack to get it though

jaen09:01:06

Interesting, I have pl keymap in Linux and didn't really notice any problems with shortcuts in Cursive. I don't know many by heart though, so maybe there' that.

shanekilkelly09:01:19

I think the bug only affects OSX

slotkenov09:01:06

Looks interesting, haven’t heard of spacemacs before. I’m using vim now.

nxqd09:01:47

spacemacs is like oh-my-zsh for vim user who wants to switch to emacs

slotkenov09:01:43

I can’t seem to get the cljs-dev-tools to work. Keep getting Exception in thread "main" java.io.FileNotFoundException: Could not locate devtools/core__init.class or devtools/core.clj on classpath

slotkenov09:01:13

I’m using oh-my-zsh @nxqd simple_smile

jaen09:01:19

@slotkenov: how are you including it?

slotkenov09:01:40

[devtools.core :as devtools]

agile_geek09:01:44

Spacemacs has a decent starting set up for Emacs worshipers too but I found I spent all my time in Holy mode and missed my own key bindings so I stole stuff from spacemacs and put it in my emacs config.

nxqd09:01:55

@agile_geek: same here 😄

jaen09:01:03

Are you doing it in a clj file perchance?

slotkenov09:01:24

Shouldn’t I

nxqd09:01:26

@agile_geek: I'm still finding my way to be more effective with slurp and barf in emacs while editing lisp.

jaen09:01:36

Hah, that's why. It's a Clojurescript library, so you can't use it in Clojure.

jaen09:01:51

It should be working in a cljs file no problem.

slotkenov09:01:52

Ah I shouldn’t simple_smile

agile_geek09:01:21

@nxqd: do you use smartparens or paredit?

nxqd10:01:45

I use smartparens

jaen10:01:46

@slotkenov: if you look at your exception it says (emphasis that it mentions Java class files and Clojure files mine): > Exception in thread "main" java.io.FileNotFoundException: Could not locate devtools/core__init.class or devtools/core.clj on classpath You should remember how that exception looks for the next time you mistakenly write Clojurescript in a clj file. That happens to me from time to time as well, so I think it's a useful error to remember.

nxqd10:01:44

most of my editing skills is based on motion based editing of vim. ( I use evil in emacs )

agile_geek10:01:46

@nxqd: paredit for me. I found most useful things were learning bindings for forward/backwards burf/slurp

nxqd10:01:20

@agile_geek: yeah, I find that one on tutorial of emacs rocks as well. It looks amazing, I think i will learn to use it tonight then 😄

slotkenov10:01:43

@jaen Thanks for pointing that out. Server runs again. I now get a compile error in my browser:

clojure.lang.ExceptionInfo : No such namespace: devtools.core, could not locate devtools/core.cljs, devtools/core.cljc, or Closure namespace “devtools.core”

jaen10:01:11

That looks like a Clojurescript error, all right.

jaen10:01:26

Maybe it's a stupid question, but are you sure you added [binaryage/devtools "0.5.0"] to your dependencies?

slotkenov10:01:41

nvm, needed to restart figwheel...

nicola11:01:11

Do we have JSON schema implementation in clojure, which passes JSON schema test suite?

mpenet11:01:13

the 2 most popular are cheshire and data.json

mpenet11:01:14

former is the most performant and feature full, but uses java interop, later is pure clojure.

mpenet11:01:58

I'd advise to use cheshire

jaen11:01:04

JSON schema? I'm not aware of any to be honest, most people use prismatic's schema, but it stands to reason someone would implement it, but I just don't know any lib.

mpenet11:01:41

oh I misread that...

jaen11:01:13

You might want to look at the source of https://github.com/metosin/ring-swagger

jaen11:01:31

They seem to be translating prismatic's schema to JSON schema and vice versa.

jaen11:01:44

You probably could write something similar using clojure.walk and/or schema walker from https://github.com/metosin/schema-tools

jaen11:01:59

@shanekilkelly: yup, was referring to that exactly.

ikitommi12:01:53

@nicola: not sure what you are looking for, but if you want to validate your JSON strings or Clojure data against a JSON Schema with Clojure, there is a tiny wrapper here: https://github.com/metosin/scjsv

nicola12:01:44

@ikitommi: thx, i've seen it, it's just a wrapper around java fge - not so easy to hack simple_smile

nicola12:01:45

@jaen i need JSON schema as a standard for REST platform, for internal needs we use prismatic one simple_smile

nicola12:01:22

we've also tried https://github.com/bigmlcom/closchema, but it does not implements refs and some other specs from v4.

jaen12:01:24

@nicola: yeah, I understood that, I just thought that maybe translating JSON schema to and from prismatic schema could solve your problem, since you could then validate the JSON schema with prismatic's library.

razvanavram13:01:47

Hi , is it possible to add cljs-react-test only to the "test" build and not to dev or min? (dependency only to a build)

shanekilkelly14:01:52

@razvanavram: you can have a :dependencies key under the test profile, example: https://github.com/ShaneKilkelly/jetcan-server/blob/master/project.clj#L68

razvanavram14:01:57

@shanekilkelly: thanks , will try it now

shanekilkelly14:01:45

In general, you can put any keys that would be valid at the top level into a profile, and it will take effect only for that profile.

meow15:01:17

Please help make Clojure/west 2016 an awesomee event: https://github.com/clojurewest/clojurewest2016/wiki/Suggested-Topics

jaredly18:01:02

woahhh ok maybe parinfer is magic

quadrochosis18:01:33

Parinfer is magic

dnolen20:01:32

@jaredly for Clojure/ClojureScript newcomers I definitely think recommending Atom + parinfer is the way to go

meow20:01:30

sounds like #C0GCNE3B3

rmuslimov21:01:14

@dnolen unless they’re already emacs users 😉

dnolen21:01:34

@rmuslimov: right, though implied that Emacs users can usually fend for themselves simple_smile

calmwinds22:01:35

for spacemacs if I use monger to print all my mongodb documents, my spacemacs slows up a lot, is there any way to improve performance? It's only 2000 documents ish