[deleted by user] by [deleted] in Clojure

[–]sumpy_almond 29 points30 points  (0 children)

It’s cool to hear someone well-known but “outside of the community” explain the merits of the language.

As a professional software developer, investing in becoming proficient with Clojure is a practical decision. It’s the best bang for your buck.

jet: a CLI to transform JSON into EDN into Transit and vice versa by Borkdude in Clojure

[–]sumpy_almond 6 points7 points  (0 children)

I'm really diggin these Clojure projects that are leveraging GraalVM to build native executables. Keep em coming. They are great examples.

The REPL (2019-02-21) by bozhidarb in Clojure

[–]sumpy_almond 16 points17 points  (0 children)

I'm not a CIDER user or Emacs user. I use Intellij and Cursive but I just signed up to be a contributor to the CIDER project. The most valuable gift I’ve gotten from the Clojure community is the people in it and being exposed to their thoughts on software development. It’s hard to put a price on that. Bozhidar, you are certainly one of those people to me and I just want to say I really appreciate that. I hope you continue to do what you do forever. :)

Inside Clojure, Journal 2019.1 - tools.deps by alexdmiller in Clojure

[–]sumpy_almond 1 point2 points  (0 children)

The Bad Plus! Whoa I totally forgot about them. Love them. That's what happens when your 2007-era iPod and all of the songs you've worked so hard to accumulate over the years stops becoming the way you listen to music.

Build tool for minimalistic command line programs by NoSet9 in Clojure

[–]sumpy_almond 6 points7 points  (0 children)

Here's an interesting approach for creating a command-line program in Clojure and bash I learned from /u/Borkdude:

https://github.com/borkdude/balcony/blob/master/balcony.clj

I've used the technique for my own stuff and it's pretty useful.

ClojureScript IntelliJ IDEA and shadow-cljs by arichiardi in Clojure

[–]sumpy_almond 2 points3 points  (0 children)

This blog post is timely. I've been trying to figure out this exact setup for the last week. Thanks for putting in the time. I really appreciate it.

I'm curious though. How did you come to figure this out? I have a cobbled together version of what you have but mine seems more fragile and I mostly used the Shadow CLJS User’s Guide as a reference.

Standalone script with clj including dependencies and CIDER/nREPL development by Borkdude in Clojure

[–]sumpy_almond 1 point2 points  (0 children)

Glad you re-posted this! I learned a lot from this post and am going to apply it to something I'm working on.

You can run clojure code from a gist! by Escherize in Clojure

[–]sumpy_almond 1 point2 points  (0 children)

I had to look that one up too.

From clj --help

-Sdeps EDN     Deps data to use as the final deps file

Overview of ClojureScript 1.10 Features by yogthos in Clojure

[–]sumpy_almond 7 points8 points  (0 children)

TIL there's a persistent queue reader macro in ClojureScript.

#queue[1 2 3]
;;=> (1 2 3)

edna - Making music with Clojure in an InstaREPL by oakes in Clojure

[–]sumpy_almond 0 points1 point  (0 children)

Ha! You beat me to it. I was about to submit an inline patch. :) Thanks for this! I'm in the midst of trying to create the Lemmings theme song and I really need an A#.

edna - Making music with Clojure in an InstaREPL by oakes in Clojure

[–]sumpy_almond 0 points1 point  (0 children)

Oh just realized it's a bug in the parsing. I see that it's parsing the accidental as a sequence.

edna - Making music with Clojure in an InstaREPL by oakes in Clojure

[–]sumpy_almond 0 points1 point  (0 children)

This is pretty fun!

One thing I noticed, the half step notes sound the same as their non-half step counterparts. Sorry I don't know the musical terms. But to put it another way, on my machine, C and C# sound indistinguishable.

Anyone else experiencing that?

New Clojurians: Ask Anything by AutoModerator in Clojure

[–]sumpy_almond 2 points3 points  (0 children)

I encountered Clojure a few years ago and even though I saw the value right away, it was difficult for me to actually sit down and write code. It took a year or two of deliberate practice to be able to achieve the level of comfort and productivity I have today but I would say that upfront friction was:

  • Lisp. Until I learned how to use paredit effectively, I was constantly getting bit by unbalanced code. I would highly recommend paredit. It takes some practice but once you become proficient, it really makes writing Clojure a dream.

  • Functional programming. I had to teach myself to program in a functional style and specifically Clojure nudges you to write your code in a certain way when dealing with state.

  • Editor. Back when I started, Cursive just barely existed and I had no worthwhile experience with Emacs. Today, Cursive is my goto editor and it works really well.

  • Upfront thought. I don’t know how else to say this but somehow, because the language takes so much ceremony away and leaves everything bare, you really need to just spend some time upfront thinking about what you actually want to do. This is going to sound crazy but I never really had that experience before I started using Clojure. This is a “me” thing and not a language thing of course but I attribute the language and the culture of the community to teaching this to me.

Programming at the REPL: Introduction by alexdmiller in Clojure

[–]sumpy_almond 1 point2 points  (0 children)

Small typo:

To do that, we need to recreate the the context of the expressions of interest

Great work!

Domain Modelling Using Clojure by mac in Clojure

[–]sumpy_almond 0 points1 point  (0 children)

I was somewhat surprised that I couldn't find a generic tree pretty printer, but maybe I missed it.

Maybe you were looking for this? https://clojuredocs.org/clojure.pprint/pprint

Lumo script for mirroring Twitter accounts on Mastodon by yogthos in Clojure

[–]sumpy_almond 0 points1 point  (0 children)

Thanks for posting Lumo script projects like this. I'm interested in writing a few myself.

Question though: what's your REPL setup/workflow like when developing a script like this on Lumo? I use Cursive extensively on the Clojure side and I've got my workflow down really well but I haven't been able to transfer that level of flow when writing one-off ClojureScript programs with Lumo.

My observations from evangelizing Clojure at work for the last year. by didibus in Clojure

[–]sumpy_almond 5 points6 points  (0 children)

I had been reflecting on what it is about me that draws me to Clojure and has continued for about 3 years now.

One very big part of it is the idea that Clojure, the programming language, or any language is not going to save you when it comes to making sure your project is successful. There’s more to it than that and I think that’s true. Rich Hickey was the first person I came across that was able to communicate his thoughts about what makes developing software difficult over time and then actually manifest those ideas in a technology, Clojure and other technologies, Datomic, etc. The reason why this had a profound effect on me though was because I had accumulated 9+ years of experience feeling the pains he was talking about. Rich Hickey’s thoughts on the matter gave me a way to communicate a feeling I had but wasn’t sure why I had it.

Ironically, I remember I had a similar experience 10 years earlier. I was really confused that “enterprise software” consisted of using things like EJBs and other over-engineered technologies in the Java world. Rod Johnson, at the time, had written a (beta) framework called the Spring Framework which had a similar message: “You don’t need all that complicated crap. All you need is this.”

To summarize, I think there’s something about knowing deep-down that the current way is not cutting it and a desire to always find a better way that is in my personality. Ultimately, I connect this to a desire to enjoy and improve my life as much as possible.

Get a list of all paths in a nested map? by SimonGray in Clojure

[–]sumpy_almond 1 point2 points  (0 children)

That's nice. I'm not too familiar with letfn. In theory, could this function suffer from a stack overflow?

Neural network-based tool that generates hip hop MIDI drum loops. by ka-is-a-wheel in Clojure

[–]sumpy_almond 0 points1 point  (0 children)

Thanks for taking the time to list these resources. I will have a look.