This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-02-03
Channels
- # announcements (1)
- # babashka (31)
- # babashka-sci-dev (53)
- # beginners (33)
- # calva (54)
- # cider (15)
- # clj-kondo (9)
- # clojure (115)
- # clojure-dev (19)
- # clojure-europe (21)
- # clojure-nl (1)
- # clojure-norway (78)
- # clojurescript (10)
- # clr (9)
- # community-development (9)
- # core-async (24)
- # cursive (18)
- # datomic (59)
- # emacs (43)
- # figwheel-main (2)
- # fulcro (4)
- # graphql (4)
- # malli (7)
- # meander (12)
- # nbb (14)
- # off-topic (22)
- # polylith (8)
- # re-frame (5)
- # reitit (3)
- # releases (1)
- # shadow-cljs (36)
- # sql (1)
- # tools-build (23)
- # xtdb (13)
would anyone like to voice chat about the javascript ecoystem for a bit? ill donate 5 dollars to a charity of your choosing if you listen to my questions.
I dont have enouch knowlege to be of use. But your prompt reminded me of this; https://www.youtube.com/watch?v=ohDB5gbtaEQ&ab_channel=unmusedtails
I love that skit. However I wasn't looking to have an argument. I was just tired of typing and talking to people is so much more efficient in terms of learning something.
I am, I'll hop over there and see if they're available later today. Thanks @U043RSZ25HQ.
Would anyone like to share their experiences using http://temporal.io (ideally looking for a variety of settings/workloads/team-sizes)? It's just come onto my radar, and it seems interesting
it feels like every clojure project ends up with an ad-hoc underscores-to-dashes/dashes-to-underscores function and a retry-on-errors function

user=> (Compiler/munge "a-b-c")
"a_b_c"
user=> (Compiler/demunge *1)
"a-b-c"
oh snap
it has two versions of that 😂
if it's not in clojure.core
, does it really exist?
user=> (source clojure.core/munge)
(defn munge [s]
((if (symbol? s) symbol str) (clojure.lang.Compiler/munge (str s))))
nil
user=>
For “retry on errors,” I recall seeing a clojure wrapper over Resilience4J or something like that. I don’t know of any equivalent for clojurescript unfortunately
But the Resilience4J wrapper is very nice because it lets you define your own retry strategy as data and it comes with other fancy things like rate limiting
And I would quibble with the "clojure" in the wry observation "every clojure project ends up with an ad-hoc ... retry-on-errors function". If that seems new with Clojure, we need to remember the pre-Clojure days when robustness was such an advanced-level achievement that people didn't really expect it
Bit late to the party, but I (not-so-) humbly suggest my https://github.com/KingMob/TrueGrit library, if anyone needs a retry-on-errors fn. It's a wrapper around Resilience4j, but R4j requires coordinating dozens of silly Java classes to get anything done, so the wrapper is worth it in this case, I think.
there are a bunch of libraries but when your needs are limited it's so easy to toss in a loop/recur, and most clojure apps I've worked on have done that at some point
Yeah, True Grit/Resilience4j are more appropriate for large, distributed systems. It's less useful at small scales.