Fork me on GitHub
#off-topic
<
2015-07-27
>
colin.yates14:07:03

To the apple fans - any idea how to configure icloud family sharing so we have different (family) accounts but can see all photos on any device without manually sharing each photo?

colin.yates15:07:32

to the apple fans - brew doesn’t support the El Capitan beta.

colin.yates15:07:06

also, you will need to re-install the command line xcode tools (xcode-select —install) before things like ‘git’ work. Other than that everything is working fine for the past hour or so.

ordnungswidrig15:07:21

@colin.yates: I did not run into too big problems with brew on El Capitan. Until now at least...

ordnungswidrig15:07:28

Running since about a wekk, I guess

colin.yates15:07:10

@ordnungswidrig: loving the split screen

ordnungswidrig15:07:39

Hmm, never tried it simple_smile I’m using phoenix as my window manager simple_smile

ordnungswidrig15:07:29

are there keyboard shortcuts for split screen resizing?

colin.yates15:07:37

for El Capitan? I can’t find any (sorry, I thought this was someone else asking about Pheonix!)

borkdude19:07:45

purely hypothetical question: would any of you ever take a Scala-only job?

andrewhr19:07:24

@borkdude: humm... a tricky question about moral principles, so? troll

andrewhr19:07:02

(jokes aside, I'm curious about the question per se)

borkdude19:07:49

I can ask it another way: how important is it for you guys (and girls of course!) to have a Clojure job instead of something else, like Scala, over other things that are important in a job.

colin.yates19:07:04

@borkdude - I am in the fortunate position of being able to chose whichever technologies I like and after evaluating Scala and Clojure I chose Clojure. Having said that, I haven’t ruled out Scala longer term.

colin.yates19:07:51

If I go back into consulting again I expect I would up my Scala skills so I could consult there. I suffer from ‘grass is always greener’ so probably not a good sample simple_smile

joelkuiper19:07:55

@borkdude: well I basically told my current employer that I’d use Clojure for R&D and flat-out refused C# (hard bargain ;-)) but on the upside we’re now hiring Clojure devs 😉

joelkuiper19:07:36

@borkdude: not sure about Scala, my current preferences would be something like Clojure, Common Lisp, Java or Python/R for data science jobs

joelkuiper19:07:05

well I’m usually in favour of polyglot approaches … most of the stuff I do has a hard data science/machine learning component … so the Java would probably just “glue” in this case

joelkuiper19:07:16

although Java also has very nice building blocks

joelkuiper19:07:30

I’ve been asked at somepoint to port existing Python code to Java, I’ve generally been able to avoid that or convince them that’s madness 😛 fortunately.

borkdude19:07:20

maybe Jython? 😛

joelkuiper19:07:28

could be, or JRuby 😛

joelkuiper19:07:36

Jython is actually not bad

borkdude19:07:02

I used JRuby, it works pretty great if you're switching from let's say a Rails project on MRI -> JRuby, most things just work

joelkuiper19:07:39

same with Jython, although things like numpy/scipy might be tricky (C/native code integration), not sure

borkdude19:07:21

the only problem we had was the image processing library, which was normally dependent on imagemagick

joelkuiper19:07:31

yeah, native code is tricky

joelkuiper19:07:55

I’m really excited about Onyx, next release should feature good polyglot integration … should be amazing simple_smile

andrewhr19:07:06

Since I do Ruby and Java all day long, I would not be so picky around tech stack. All things equal, I will greatly prefer Clojure because of all tech + culture around it - I'm keen on get more immersed into Clojure-y software design

andrewhr19:07:00

btw, I'm not saying I distaste Ruby, it's just an argument about "language matters but not so much"

colin.yates19:07:39

one thing I found hard coming from Java land a while ago was how hard Clojure was, not in terms of syntax but just in terms of Opinion. The Spring/Hibernate stack was a great template for a whole lot of stuff. Coming to Clojure and suddenly the world was my oyster…. which can be bewildering. Definitely worth it, but yeah, I remember feeling ‘lost’ for quite a lot of the first few weeks.

borkdude19:07:08

is the Scala world oriented towards ORM (like Hibernate) or more like Clojure, simple SQL etc?

colin.yates20:07:21

From the little I looked at it, there are some ORM-like libraries. One promised type-safe SQL but I can’t find it now.

borkdude20:07:22

ORM assumes mutable objects right?

colin.yates20:07:24

I think the flexibility of constructing objects and DSLs over Java meant there were more choices. Not quite as free a mindset that comes from ‘maps and protocols - woot!’ but closer than Java

colin.yates20:07:48

I wouldn’t say that exactly.

colin.yates20:07:24

I think ORM is typically dirty tracking and a DSL to query objects

colin.yates20:07:37

dirty tracking could use mutable objects but not necessarily

colin.yates20:07:21

http://squeryl.org is the one I was thinking off (been a while)

andrewhr20:07:24

borkdude: don't know if ORM imply mutability... Ecto (Elixir) is AFAIK a quasi-ORM on a immutable language

andrewhr20:07:37

it's more a build-sql-with-nice-dsl-and-get-lists-of-hashes-back, but I think it's as far as we can get of ORM in immutability oriented languages

colin.yates20:07:25

IIRC hibernate for example doesn’t track dirty fields, rather it serialises the object when it loads and then compares the new object to the serialised object - take that with a pinch of salt - been a long time since I used it simple_smile

borkdude20:07:40

I thought I'd look up what they use in the Play framework, it seems to be the simple sql approach, while I've also used some ORM thing in the Play java version of that framework: https://www.playframework.com/documentation/2.0/ScalaAnorm

colin.yates20:07:21

I seem to remember domain models would be constructed of case classes which are immutable so I would expect the ORMs would account for that.

colin.yates20:07:22

http://slick.typesafe.com is another (from the Scala guys themselves). I remember when I was deciding they were still umming and aahing over the set of ‘authorised’ libraries.

colin.yates20:07:01

did you ever look at Lift? That promised (and delivered I think) some nice things

borkdude20:07:17

I've never used Scala much

borkdude20:07:29

I do have a Coursera certificate 😃

colin.yates20:07:23

the Martin Odersky Functional Programming course? Yeah, that was a great course. I salivated over Eclipse’s …. oh, what’s it called - you know, the ‘notebook’ feature..ah cannot remember.

colin.yates20:07:33

The Scala equivalent of in-repl Lighttable

borkdude20:07:39

yeah, the quick thingie

colin.yates20:07:04

yeah. I loved the idea of saving those as project artifacts. A step towards (i)literate programming simple_smile

borkdude20:07:56

don't remember what it was called, but I do know what you mean.

colin.yates20:07:19

worksheet - that’s the thingy

andrewhr20:07:40

yep, did both Scala courses. They are pretty nice

andrewhr20:07:07

Apple's Swift has something pretty similar to worksheet

andrewhr20:07:14

playground I guess

colin.yates20:07:37

I keep meaning to get into Apple’s dev environment, I would hope it is pretty seamless?

andrewhr20:07:43

Because Apple is more playful and not Serious Business™

colin.yates20:07:31

I do. I did have a look at it but never used it in anger.

colin.yates20:07:56

I was discussing with my colleague how it was a perfect UI for analysts simple_smile

andrewhr20:07:59

Xcode is pretty... humm... not good IDE. But get the job done. Maybe I was too much exposed to IntelliJ

colin.yates20:07:32

@andrewhr: interesting, I would have expected polish over functionality from them

colin.yates20:07:28

I keep meaning to get emacs configured for in-line evaluation but just keep running out of time and going back to Cursive!

colin.yates20:07:58

<disclaimer>that is so much more about me than emacs or Cursive though, both of which are excellent tools</disclaimer>

colin.yates20:07:41

how much of Apples sdk is scriptable? Is it possible to use anything other than xcode to develop or is it too much pain?

magnars20:07:15

what do you mean by in-line evaluation?

andrewhr20:07:16

@colin.yates: officially just Objective-C and Swift

colin.yates20:07:38

there was a video a few months back of somebody who had configured emacs so whatever they typed was evaluated with the results inserted into the document as comments. Similar to LightTable and the Scala worksheet.

andrewhr20:07:59

there are "products" like RoboVM and RubyMotion which compile directly to LLVM

andrewhr20:07:06

and workarounds like React Native

magnars20:07:45

aha, yes. I tried that for a while, but couldn't say I liked it very much. Feels too intrusive for me. I eval when I want to easily enough. simple_smile

colin.yates20:07:35

the one use-case I loved LightTable for though was when I had a stack of fns (e.g. (-> a b c)), if I was tracking down a bug then I could see how tweaking the start of the stack flowed through the stack

colin.yates20:07:21

I also think there is a place for a ‘notepad’ where we can explain some rationale around the code. Not exactly documentation, not exactly tests, more like a persist segment of a REPL.

magnars20:07:08

have you seen the new CIDER debugger? It is quite amazing: https://www.youtube.com/watch?v=A3JAlWM8qRM

magnars20:07:17

whoa, Slack inlines all the stuff

colin.yates20:07:58

that is nice. I must admit though, I never really got into using debuggers, but I do go (arguably) overboard with unit tests and preconditions

magnars20:07:25

yeah, I'm in the unit test camp myself

colin.yates20:07:12

does that debugger work on cljs as well (not sure how nrepl and cljs fit together)?

magnars20:07:30

Artur is working on it, but I think it's gonna be a while.

borkdude20:07:42

yeah, the cider debugger rocks (although I never used it for real, just when I tried it)

colin.yates20:07:46

ok. I must admit I oscillate between emacs and Cursive but Cursive usually wins. I am trying to use emacs for other things (org-mode/markdown mainly) but Cursive is usually where I end up after fighting emacs 😉

borkdude20:07:23

@colin.yates: there's nothing wrong with that. If Cursive would have existed in 2009, I probably wouldn't have learned emacs then simple_smile

colin.yates20:07:01

I do love the undo tree, avy, snippets, window management etc. in emacs.

borkdude20:07:03

although I'm glad that I did

colin.yates20:07:38

yeah, exactly. I used emacs for about a year until Cursive came along. I used Cursive for Java and Ruby before that so it was like coming home.

colin.yates20:07:57

I do want to carve out a chunk of time (maybe another few years) in order to get more into emacs 😉

magnars20:07:38

since Emacs is the eminently hackable editor, and I know how to make it do my bidding, I could never move to another editor - especially not a closed-source one

colin.yates20:07:09

I think that’s the point of dischord for me; "and I know how to make it do my bidding”. I haven’t invested the time.

colin.yates20:07:53

Prelude with all the Clojure plugins has taken me a long long way, but I still can’t get feature parity with Cursive (find usages etc.)

magnars20:07:26

have you tried installing clj-refactor tho? It's got find-usages and more.

colin.yates20:07:57

I did, and it was great, but not everything worked across ClojureScript.

magnars20:07:19

that's right

colin.yates20:07:15

and I have a bizarre situation where I can ‘lein repl’ in a terminal, or in Cursive and then ‘start-system’ which starts my (Stuart Sierra’s) component system. Doing the same in emacs gives me an error stating one of the dependencies in my component graph isn’t provided. Very weird.

colin.yates20:07:42

I just haven’t had the time to track the issue (which has to be in my code somewhere) down

magnars20:07:32

whoa, that is pretty weird. What happens if you start lein repl in a terminal, and then connect Emacs to that process?

colin.yates20:07:18

that works fine

magnars20:07:22

so some clue in the mystery lies in the difference between cider-connect and cider-jack-in - sounds like an issue on https://github.com/clojure-emacs/cider is in order.

colin.yates20:07:22

yeah, I also get a bunch of loading errors as well when I try and evaluate claiming namespace X didn’t load. If I go to that namespace and load it works fine.

colin.yates20:07:56

I had assumed it was something flaky in my codebase which emacs is tripping up on but non-emacs was avoiding as opposed to something wrong in the tooling.

magnars20:07:57

my guess would be a combination of the two simple_smile

colin.yates20:07:36

I learnt a long time ago not to blame other things until I was absolutely certain it wasn’t my fault. I have had enough egg on my face to feed an army!

magnars20:07:56

hah, I can relate to that - but regardless of who is to blame, if it isn't strictly CIDERs fault, but cursive and lein repl does something smart to avoid tripping up your project, then my guess is that @bozhidar would be interested in that as well.

colin.yates20:07:00

actually, I just tried it (lein repl in console then C-c M-c) and it worked. Just tried it again and nope, it is claiming missing dependency.

colin.yates20:07:20

yeah, fair enough. I will spend some time and create a minimal case.

colin.yates21:07:27

https://github.com/clojure-emacs/cider/issues/1227 if I get some downtime I will look and see if I can make a reproducible minimal case.

cfleming22:07:28

I’m actually planning to add “Works out of the box, and then continues to work” at the top of the feature list on the Cursive website simple_smile

cfleming22:07:46

(semi-seriously, more people like that about Cursive than any one concrete feature)