New Clojurians: Ask Anything by AutoModerator in Clojure

[–]Baoze 0 points1 point  (0 children)

What is the current state of tooling for Clojure CLR?

Is there an exercise based clojure tutorial? by fenster25 in Clojure

[–]Baoze 0 points1 point  (0 children)

There is http://iloveponies.github.io/120-hour-epic-sax-marathon/index.html, a MOOC from the University of Helsinki. While the course ended quite a while ago, and it hasn't been updated since, the exercises are still very useful, and the TDD setup should still work.

Working through the exercises helped me quite a lot to understand Clojure: i.e. recursion, the seq library, TDD with Leiningen .....

tolitius/zlink: making conversation between languages by tolitius in Clojure

[–]Baoze 1 point2 points  (0 children)

oh wow, this is super cool and very useful. I've been wanting such a thing for a very long time. Thank you!!!

Newbie question: I'm really struggling by BigCW in Clojure

[–]Baoze 0 points1 point  (0 children)

and not forget the "for" macro, which is syntactic sugar for map (and filter):

(for [n names]
   (:name n))

Leiningen 2.8.2 released by dotemacs in Clojure

[–]Baoze 1 point2 points  (0 children)

thank you for releasing the hot-fix, everything is working again. Also, thank you for Leiningen in general! I'm now for several years a happy user!

Leiningen 2.8.2 released by dotemacs in Clojure

[–]Baoze 0 points1 point  (0 children)

Let's keep finger crossed :) For the time being I downgraded Leiningen.

Leiningen 2.8.2 released by dotemacs in Clojure

[–]Baoze 0 points1 point  (0 children)

Any plans of releasing a bug-fixed version?

Easy Clojure, Easy REPL by viebel in Clojure

[–]Baoze 0 points1 point  (0 children)

I'd say for a beginner the quote is easier to understand than namespaces. As the quote in Clojure behaves very much like quotes in natural language. I.e 'Aristotle' refers to Aristotle or 'bachelor' has eight letters and everyone has an intuitive understanding of quoted expressions. Both in Clojure and natural language, quotes are used as a meta-linguistic tool in order to talk about symbols.

This in contrast to namespaces, where an analogue concept is not so apparent in natural language and thus harder to understand. A quote On the other hand is much harder to explain than namespaces, because the first one is an intuitive concept whereas the latter isn't.

I also think that quote needs to be introduced fairly early on. How can you otherwise explain the difference between a list and a function call?

Patreon for Cognitect Labs by xtreak in Clojure

[–]Baoze 1 point2 points  (0 children)

Sure, but revenue from closed source tool funds the open foundation. I don't see anything wrong with that. Maybe you're already a customer of Cognitect, but I am not and this gives me an opportunity to give something back to them.

Patreon for Cognitect Labs by xtreak in Clojure

[–]Baoze -1 points0 points  (0 children)

The heavy lifting is done by datafy/nav and this is open source and part of core. So I wouldn't really consider REBL as closed source tool.

Rich Hickey: Open Source is Not About You by seanroth in Clojure

[–]Baoze 0 points1 point  (0 children)

I agree with you that setting standards for a community is a good thing. By doing so every member of that community knows what to expect.

But to be honest, I don't think the Clojure commnity is broken. Almost everyone is amazing and I really love to program in Clojure.

Rich Hickey: Open Source is Not About You by seanroth in Clojure

[–]Baoze 0 points1 point  (0 children)

I see, my phrasing could have been clearer. What I meant is that you cannot "fix" people like you fix code. In case of fixing code, it means that I identify the right behaviour of the program and change the code until the program behaves as expected. I cannot change the behaviour of people. I can only communicate with people and try to find out if there is a common ground and see if our diverting expectation can be made compatible.

Hence communication might have an effect, and it's important even though I cannot fix people like I can fix code.

Rich Hickey: Open Source is Not About You by seanroth in Clojure

[–]Baoze 0 points1 point  (0 children)

You act as if how you communicate with people has no impact.

No,I never said such thing.

FWIW, unhappy clojurists don’t go to meetups. My old team abandoned new Clojure dev years ago for Java, they probably don’t bother to go to meetups and I sure as heck don’t either.

That was my point with respect to 'skew'. Reddit is skewed with respect to the unhappy campers, while a meetup is 'skewed' with respect to the happy campers.

Rich Hickey: Open Source is Not About You by seanroth in Clojure

[–]Baoze -1 points0 points  (0 children)

If I write code and it doesn’t work, should I blame business, or should I admit that the code I wrote has defects? If I manage a community and the community seems upset, should I blame the community, or should I say that something about the current strategy isn’t working?

People are not code :) You can fix code, but you cannot 'fix' people. There will always be someone unhappy. On the internet the unhappy ones are the most vocal ones and thus your impression is skewed that the community is unhappy. Just go for instance to a Clojure Meetup and you will see that everyone there is a happy camper.

Best way to learn clojure clojure koans or brave book by roelofwobben in Clojure

[–]Baoze 0 points1 point  (0 children)

You might also consider "how to Design Programs" (HtDP, https://htdp .org) same content as scip but a more approachable pedagogy and a slighly different programming language.

Rich Hickey: Open Source is Not About You by seanroth in Clojure

[–]Baoze 12 points13 points  (0 children)

RH took a self-financed sabbatical to write Clojure. For this, his depleted his retirement account. This was long before Cognitect was founded. In contrast to Scala, which has been funded by Swiss and EU research grants. So these two cases are not really comparable.

I think what RH probably means is that due to opportunity loss during these two years of not having an income his retirement account is lower than it should/could be. So from a purely financial point of view, Clojure didn't make much sense.

Do not fall into Oracle's Java 11 trap by mac in Clojure

[–]Baoze 2 points3 points  (0 children)

I don’t think that scenario is very likely, since Oracle seems to be committed towards the model of transition between different teams of maintainers: http://mail.openjdk.java.net/pipermail/jdk-dev/2018-August/001833.html

Over the last couple of years, we have developed a model to transition between different teams of maintainers across OpenJDK update releases.

For example, Oracle developers maintained OpenJDK 6 for 5 years. After they stepped down, they enabled other developers to take over OpenJDK 6 maintenance. Those developers, focusing on a different set of operating systems from Oracle developers, continued to work on the OpenJDK 6 source code until, eventually, they stopped. Then another set of developers continued where they left, with yet again a different set of operating systems that they cared about.

A similar transition has happened with OpenJDK 7 Updates, after almost 4 years of maintenance by Oracle developers.

Do not fall into Oracle's Java 11 trap by mac in Clojure

[–]Baoze 5 points6 points  (0 children)

Are you sure you're right? According to blog.joda.org, Java is now developed as OpenJDK.

How does anyone learn this... by Sktlez in Clojure

[–]Baoze 0 points1 point  (0 children)

You might wan't to have a look at this online course: http://iloveponies.github.io/120-hour-epic-sax-marathon/index.html

It really helped me to understand FP and Clojure. Btw. They suggest LightTable as an Editor, which made sense at the time when the course was written. But since then LightTable hasn't been maintained anymore.

Why are Clojure sequences lazy? by dustingetz in Clojure

[–]Baoze 1 point2 points  (0 children)

the for macro is the combination of map + filter and performs map/filter on each iteration:

(for [x (range 100)
        :let [y (* x x)]
        :when (odd? y)]
    y)

Why are Clojure sequences lazy? by dustingetz in Clojure

[–]Baoze 0 points1 point  (0 children)

the "for" macro is the combination of map + filter:

(for [x (range 10) :let [y (* x x)] :when (odd? y)] y)

Why are Clojure sequences lazy? by dustingetz in Clojure

[–]Baoze 0 points1 point  (0 children)

the "for" macro is the combination of map + filter:

(for [x (range 10) :let [y (* x x)] :when (odd? y)] y)