This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2015-07-28
Channels
- # admin-announcements (28)
- # beginners (30)
- # boot (6)
- # cljs-dev (48)
- # clojure (72)
- # clojure-android (8)
- # clojure-australia (1)
- # clojure-italy (9)
- # clojure-japan (12)
- # clojure-russia (21)
- # clojure-sg (1)
- # clojurescript (109)
- # core-async (11)
- # core-logic (17)
- # cursive (33)
- # datascript (1)
- # datomic (30)
- # dunaj (4)
- # editors (38)
- # events (1)
- # ldnclj (17)
- # off-topic (156)
- # om (2)
- # overtone (1)
- # re-frame (2)
- # reagent (63)
Then I can start market CIDER is a tool for intrepid developers who like solving puzzles before they get down to the actual work
regarding the ticket - as nothing dep related happens in CIDER my guess is this is actually some weird nREPL issues or something
I looked some more at Scala code, but I don't think taking on a job with that language would make me very happy. It's just my irrational gut feeling
I have done a lot of scala in the past @borkdude It mostly a lot of waiting for compilation 😛
@mitchelkuijpers: haha... even when I used Play Java that was the case...
But to be honest that was 2 years ago
Yeah that is what I used
@mitchelkuijpers: Me 2. It's one of the few projects that made my Macbook Pro sweat 😉
The compile times on heroku were also a lot of fun, for the first compile you had to contact heroku so they would run the build longer then 15 minutes 😛 @borkdude
I’d probably use Kotlin these days for anything I’d be tempted to use Scala for, or just Java 8
one of the few things I would 'use' Scala for is getting a job in The Netherlands, Kotlin would be even harder I guess.
Yeah, for sure. Although to be honest, if I’m allowed to use Java 8 I’d probably rather use that.
I mean, it’s nothing like Scala (even Kotlin isn’t) but it has most of what I’d want from Scala with none of the craziness.
Java8 is not that bad, especially with a nice webframework like ratpack
I think of it like this: do I want to get a job just because I want to learn something new, or do I want a job where I care about the product and want the best chance of making it great?
If the first option, I might look for a Scala job, because I’d definitely learn new things.
@mitchelkuijpers: nice, I'll check that out
But if it’s the second option, I think Java 8 is a clear win. I doubt that there are many products where Scala would help make the product better, and I think that Java 8 removes a lot of potential headaches and risk.
The older I get, the more I’m interested in the second type of job rather than the first.
@cfleming: I was inspired by the post of Rich Hickey that switching stacks does not necessarily mean deeper understanding of things.
@cfleming: +1 - this age thing takes away all the fun. I expect Java 8’s compile times to be significantly better than Scala?
@borkdude: Right, and I think you have to decide whether you need to understand the language you’re using or the problem you’re solving
@colin.yates: Yeah, probably. And obviously IntelliJ is top notch for Java 8, and all the related build tooling etc.
take Ruby on Rails: in terms of deeper understanding it brought me nothing, all I learned were a few tricks. (I had to learn it for my current job for a project or two)
so I think it's good to think about it: if I will take on a new job in a new stack, do I have to re-learn everything I already could do, or do I learn conceptually new and deeper things
@borkdude: Or, do you find a job in an interesting field where what you’re learning isn’t directly related to programming, or requires some aspect of programming you don’t know much about (algorithms, or machine learning, or something)
Rather than learning another programming language, I think programmers would generally improve much more by understanding data structures and algorithms better, and by having a job where that sort of knowledge is an advantage.
I certainly don’t know everything there is to know about programming, but I wouldn’t become a much better programmer by learning Scala at this point.
The only language that I might learn a lot from is Haskell, I think, because it has some interesting concepts that other languages don’t.
I think that is the key though right? Learning different paradigms, and learning languages in those different paradigms is an efficient way of doing that.
Maybe, but once I’ve learned Java and Clojure and dabbled over the years in ML variants enough that I have a pretty good idea of the pros and cons, what’s left? Logic programming?
I might then spend my focus on how to ensure software correctness, contracts, tests, prototyping etc. Not so much about tooling but how they [are|should be] used I guess
I think that it's not always about general paradigm but other features exceptional for a given environment (not even a language) that may make it worth learning - take for example Erlang/Elixir/LFE and its' let-it-fail approach to writing systems
Sure, I mean I’m sure I’d learn a fair amount from that, but it seems like something I could pick up in a couple of weeks, right? It’s not like something that’s going to make me a radically better programmer.
On the other hand, I feel like understanding dynamic programming would have a ton of applications for problems where I pretty much just throw my hands up right now.
Haskell is pretty much the only other language I would like to learn for the paradigma's
I would love to have the time to dive deep into Haskell. It’s really hard to make generic and broad sweeping statements, but major transitions in my journey happened because of unit testing, understanding the principles behind Agile, realising software is only ever a means to an end (sorry ;-)), data everywhere systems, functional programming, events sourcing, recognising truely inherent complexity and Rich Hickey’s simple/easy video. Lots and lots of other minor transitions, but those were ‘wow’ moments for me.
bizarrely, one of the major jumps came from using emacs. Until then I had been able to jump around the project so seamlessly that whilst ‘of course I cared about coupling’ the presence of it didn’t really cause me too much pain. Suddenly in emacs I had a laser focus on a small area and many bad code smells suddenly hit me smack in the face .
I wish there was a plugin in Cursive/IntelliJ which allowed you to measure the coupling, integration with jdepend for example?
@colin.yates: IntelliJ does all sorts of things like that for Java, Cursive doesn’t for Clojure sadly
I tend to scan the imports manually but yeah, it isn’t scalable. I do find namespaces tend to much flattern in Clojure so it isn’t such a big concern maybe.
Yeah, I think few Clojure projects are big enough to need that at the namespace level
my 2cc about Scala, languages et al: Scala doesn't bring much to the table since it's very permissive about the way you conduct your problem solving. The best thing I think Scala could teach you - the type system - you could learn better at Haskell or Idris or whatever the cool kids are doing these days
and they can do better not by the fact that they are more capable at this "feature", but because they restrict your options: you don't really have a reasonable choice other than following their principles
it's like learning Clojure for Clojure's sake: not worthy if you already have some understanding about functional programming or immutable data structures.
that being said, I would love to do more Clojure in anger just to learn about being more data-driven, something not exclusive to the language but pursued as a desired property by the community
@andrewhr: +1 my thoughts exactly. That is why I chose Clojure over Scala; I could see myself writing Java code in Scala syntax. Clojure was hugely jarring, but in a good way. And the learning is never about syntax but about different thoughts.
for the Apple guys - I really like the new spaces management in El Capitan. If you maximise one (or two) app(s) then the name of the space is automatically the name of the application(s). I tend to use a bunch of spaces and this is quite nice.
For IRC to provide anything like Slack’s persistence, you need a bouncer, which means you need a server and the desire to read a fair amount of arcane documentation.
there's no mention of it on http://clojure.org, though
It should probably be there by now since it’s now very popular, what do you think @alexmiller?
Link to this community on http://clojure.org?
oh sure, good idea
Nice that was fast
have a nice day!
@alexmiller you 🚀 you.
@alexmiller: I have another great idea. Why not add this webinar https://github.com/cognitect/async-webinar to the list of presentations in the README.md of https://github.com/clojure/core.async
For me
@mitchelkuijpers: Did I speak to you on the beach in Barcelona about this?
Yes sir
We are running this on xodus: https://www.dropbox.com/s/bz2wnmqm3lnwbv7/Screenshot%202015-07-28%2016.46.12.png?dl=0
It is very thin wrapper but it is basically let's you save maps
and take them out
And do some simple queries over them
What’s the durability like? You mentioned you’d lost some data? Are there recovery tools?
I fixed the lost data by adding a queue for the writes, but the problem with our wallboard is that it's basically pushing data all the time
And I turned of the cache because Our data is changing so fast that it was more busy with flushing and filling the cache
There is none so you don't need to say sorry 😉
Do you want to use it for cursive btw?
Possibly as a backend for a license server, or for the backend to the payment website.
Aha cool
I get that
Our wallboard server is a database of 3 gigabytes now, and since we put the queue in front of it we have not experienced any dataloss
Cool. I’d like to think I’ll have massive write volume from Cursive sales, but realistically concurrency is unlikely to be much of a problem
I'll create a small gist
I'll create a github repo later on
@cfleming: I also have some tests hold on ill add them too
Have fun with it! It is a pretty capable database that could really use some documentation 😛
Yeah, I’ll say. I’ll write to JetBrains with my questions and let you know what they say.
@cfleming: Awesome thnx
Yeah i did but I needed the query capabilities that the entity layer gives, I save a lot of data in xodus and then query withing a particular range of time and the process as needed
And my model is very simple
{:timestamp 0 :updated-at 0 :key key :value value}
this gives you the possibility to query for all of these properties so you can simply get a entity by key or value or what I use the most get all entities between a range so for example: all in range from 0 to 100But if you only want to get something by key I would definately use that with nippy
I guess since writes are atomic you can index by just using another map as the index
You can also create indexes on particular properties if you like
But if you simply save a map with a key prop you can just query on that, and it will be freaking fast
Btw it is running in production for 4 months now and now 1 month for a customer. So it is production ready 😛
Yeah pretty cool stuff
And the code is very readable that's how I figured out most stuff
@mitchelkuijpers: are there a lot of people using Clojure at Avisi?
We have 3 now because they are part of my team (We are creating an atlassian connect addons with clojure, clojurescript and datomic!). But I used to be the only one writing Clojure back when I wrote http://dash.avisi.com/
Lol should fix that
Avisi is mostly a Java company
But they keep up they are all using java8
@borkdude: How do you know Avisi?
@mitchelkuijpers: I looked at your gist and saw the company name.
@mitchelkuijpers: I've heard of it because I taught a Clojure guest lecture at Hogeschool Arnhem
@mitchelkuijpers: and the guy who invited me, also works there part time
@borkdude: Was that Casper?
Aha sure
@borkdude: a colleague of mine who is now learning Clojure saw your guest lecture 😉
@mitchelkuijpers: if he needs something in Dutch, I have some material here: http://www.michielborkent.nl/clojurecursus/index.html
@mitchelkuijpers: Thanks for all that BTW, it’s much appreciated. I’ll let you know how I get on.
@cfleming happy to help, thnx
is there a twitter bot lein template?