Clojure programming language discussion

Scaling Data Operations: When Spreadsheets and Legacy Systems No Longer Cut It [https://redefine.io/blog/when-spreadsheets-no-longer-cut-it/](https://redefine.io/blog/when-spreadsheets-no-longer-cut-it/) Struggling to scale your data operations with spreadsheets and legacy systems? Learn how modern data platforms provide the scalability, real-time insights, and security businesses need to grow efficiently. Explore the limitations of outdated tools... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

2
0

Clojure Deref (Oct 3, 2024) [https://clojure.org/news/2024/10/03/deref](https://clojure.org/news/2024/10/03/deref) Welcome to the Clojure Deref! This is a weekly link/news roundup for the Clojure ecosystem (feed: RSS). Thanks to Anton Fonarev for link aggregation. Podcasts, videos, and media Maintainable Clojure code: Visualizing structure and quality... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure@lemmy.ml](https://lemmy.ml/c/clojure)

1
0

Breakout Game in ClojureDart [https://buttondown.com/tensegritics-curiosities/archive/game-tutorial-in-clojuredart/](https://buttondown.com/tensegritics-curiosities/archive/game-tutorial-in-clojuredart/) This issue is about following the Flame’s Brick Breaker tutorial in ClojureDart. This was prompted by Ian Chow (who just released a CLJD app onto the stores) mentioning, en passant, he struggled to port this tutorial. We couldn’t let this slip, so... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

1
0
github.com

I've created a small library that allows to create mock functions. You can record the calls to the function and check arguments with it. It happened to me multiple times that somebody has changed the function that was mocked and it didn't comply with the values returned by mock or the function was called differenty in the code. I recently added a support for instrumentation of mock functions with Malli schemas. If you declare a mock for a function that has Malli function schema, it will instrument the mock. This allows to discover mocks returning invalid values or accepting invalid arguments or the number of arguments. Here's an example: ```clojure (require '[malli.core :as m]) (m/=> my-inc [:=> [:cat :int] :int]) (defn my-inc [x] (inc x)) ;; You have to provide a symbol of function ;; or with or without namespace (aliases are supported). (def my-inc-mock (mock-fn 'my-inc 1)) (my-inc-mock 0) ;=> 1 (my-inc-mock "foo") ;=> An exception ::invalid-input (def my-inc-mock2 (mock-fn 'my-inc nil)) (my-inc-mock2 1) ;=> An exception ::invalid-output ``` This instrumentation works also with a macro for defining mocks. ```clojure (with-mocks [my-inc 2] (my-inc "foo")) ;=> An exception ::invalid-input (with-mocks [my-inc nil] (my-inc 1)) ;=> An exception ::invalid-output ```

2
0

Holy Dev Newsletter September 2024 [https://blog.jakubholy.net/2024/09-newsletter/](https://blog.jakubholy.net/2024/09-newsletter/) Welcome to the Holy Dev newsletter, which brings you gems I found on the web, updates from my blog, and a few scattered thoughts. You can get the next one into your mailbox if you subscribe.What is happeningI have been to Heart of Clojure in... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

1
0

Functional Programming Languages [https://ericnormand.me/functional-programming-languages](https://ericnormand.me/functional-programming-languages) A list of the functional programming languages you can build a career on and use at work. [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

1
2

Backwards Game of Life [http://pepijndevos.nl/2024/10/01/backwards-game-of-life.html](http://pepijndevos.nl/2024/10/01/backwards-game-of-life.html) I got a litlte bit nerd sniped by the following video and decided to implement game of life in clojure.core.logic, because any logic program can be evaluated forwards and backwards. Without further ado here is my implementation: (ns... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

1
0

Migrating terabytes of data instantly (can your ALTER TABLE do this?) [https://blog.redplanetlabs.com/2024/09/30/migrating-terabytes-of-data-instantly-can-your-alter-table-do-this/](https://blog.redplanetlabs.com/2024/09/30/migrating-terabytes-of-data-instantly-can-your-alter-table-do-this/) Every seasoned developer has been there: whether it’s an urgent requirement change from your business leader or a faulty assumption revealing itself after a production deployment, your data needs to change, and fast. Maybe a newly-passed tariff... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

3
0

Messages from our Sponsors (including jobs 🏢👨‍💻👩🏽‍💼💻) [https://gaiwan.co/blog/messages-from-our-sponsors-including-job-openings-2/](https://gaiwan.co/blog/messages-from-our-sponsors-including-job-openings-2/) Hope everyone had a wonderful time at Heart of Clojure last week! After the pandemic shutdowns, it&aposs been so hard to find communities meeting in person, so I&aposm proud that we made Heart of Clojure happen for 250+ Clojure and functional... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

2
0

The Challenge of Data Compliance [https://xtdb.com/blog/2024-09-30-challenge-of-data-compliance](https://xtdb.com/blog/2024-09-30-challenge-of-data-compliance) [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

1
0

Generating multiplication tables with Clojure [https://clojure-diary.gitlab.io/2024/09/29/generating-multiplication-tables-with-clojure.html](https://clojure-diary.gitlab.io/2024/09/29/generating-multiplication-tables-with-clojure.html) Code (defn single-line [number multiplicant] (str number " X " multiplicant " = " (\* number multiplicant))) ;; (def num 5) ;; (println ;; (clojure.string/join "\\n" ;; (map single-line (repeat 10 5) (range 1... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

0
0

Clojure Deref (Sept 26, 2024) [https://clojure.org/news/2024/09/26/deref](https://clojure.org/news/2024/09/26/deref) Welcome to the Clojure Deref! This is a weekly link/news roundup for the Clojure ecosystem (feed: RSS). Thanks to Anton Fonarev for link aggregation. Podcasts, videos, and media Apropos 2024-09-24 - Apropos Clojure Did you know CoPilot... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure@lemmy.ml](https://lemmy.ml/c/clojure)

1
0

Heart of Clojure - An Indeterminate Consequential Conference [https://gaiwan.co/blog/heart-of-clojure-an-indeterminate-consequential-conference/](https://gaiwan.co/blog/heart-of-clojure-an-indeterminate-consequential-conference/) After coming back to Taiwan, a LinkedIn post written by a Clojurian who attended Heart of Clojure soon caught my eye.Perhaps it&aposs time for some small, new, and incredibly neat and performant Clojure-based consultancy to be born, hmm?It sounds... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

1
0

Weeknote 6: Heart of Clojure [https://quanttype.net/posts/2024-09-25-weeknote-6-heart-of-clojure.html](https://quanttype.net/posts/2024-09-25-weeknote-6-heart-of-clojure.html) In which I attend a Clojure conference [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

2
0

Behavioral Programming in Clojure [https://thomascothran.tech/2024/09/in-clojure/](https://thomascothran.tech/2024/09/in-clojure/) Behavioral Programming is a relatively new programming paradigm that excels at isolating and composing behaviors in event driven system. It is unrelated to behavior driven development. Behavioral programming was invented by David Harel, who also... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

3
0

Visualizing TVTropes - Part 2: Neo4j optimizations [http://numergent.com/2015-04/Visualizing-TVTropes-Part-2-Neo4j-optimizations.html](http://numergent.com/2015-04/Visualizing-TVTropes-Part-2-Neo4j-optimizations.html) Welcome. You may want to first catch up on Part 1 of this little experiment.All done? OK then.The whittlingSo we have 220k nodes and 16MM relationships. Querying through them is less than speedy, even after we’ve ensured we’re using Neo4j’s... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

1
0

Visualizing TVTropes - Part 3: Proper batching [http://numergent.com/2015-04/Visualizing-TVTropes-Part-3-Proper-batching.html](http://numergent.com/2015-04/Visualizing-TVTropes-Part-3-Proper-batching.html) The story so farYesterday we were discussing our (admittedly) somewhat ghetto, not-quite-batched Neo4j implementation.The long and short of it is that I was initially attacking the import process as one would on a JDBC client for a relational... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

1
0

Contract Programmer Seeks Job in Cambridge (£500 reward) [http://www.learningclojure.com/2024/09/contract-programmer-seeks-job-in.html](http://www.learningclojure.com/2024/09/contract-programmer-seeks-job-in.html) Anyone in Cambridge need a programmer? I'll give you £500 if you can find me a job that I take.CV at http://www.aspden.comI make my usual promise, which I have paid out on several times:If, within the next six months, I take a job which lasts... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

1
0

Datomic and Content Addressable Techniques: An Ultimate Data Wonderland [https://www.latacora.com/blog/2024/09/13/datomic-and-content-addressable-techniques/](https://www.latacora.com/blog/2024/09/13/datomic-and-content-addressable-techniques/) Latacora collects and analyzes data about services our clients use. You may have read about our approach to building security tooling, but the tl;dr is we make requests to all the (configuration metadata) read-only APIs available to us and store... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

5
0

ClojureScript and Chrome extensions [http://numergent.com/2015-09/ClojureScript-and-Chrome-extensions.html](http://numergent.com/2015-09/ClojureScript-and-Chrome-extensions.html) There’s not as much documentation on building a Chrome extension with ClojureScript, so I thought I’d document my findings on the current state of libraries.Yes, you can of course build Chrome extensions with ClojureScript, as other articles have... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

1
1

Clojure Deref (Sept 19, 2024) [https://clojure.org/news/2024/09/19/deref](https://clojure.org/news/2024/09/19/deref) Welcome to the Clojure Deref! This is a weekly link/news roundup for the Clojure ecosystem (feed: RSS). Thanks to Anton Fonarev for link aggregation. From the core Hey, it’s that time again - PLEASE fill out the 2024 State of Clojure survey.... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure@lemmy.ml](https://lemmy.ml/c/clojure)

1
0

JUXT Cast: Static vs Dynamic Typing - A Balanced Discussion on Modern Programming Practices [https://juxt.pro/blog/dynamic-vs-static-with-jake-howard](https://juxt.pro/blog/dynamic-vs-static-with-jake-howard) In this podcast episode, JUXT's leadership team and guest Jake Howard explore the benefits of dynamic typing and its role in today’s development landscape - Video. [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

1
0

Building a podcast with Clojure [https://jmglov.net/blog/2024-09-18-podcast-soundcljoud.html](https://jmglov.net/blog/2024-09-18-podcast-soundcljoud.html) In addition to spending far too much of my time doing silly things with Clojure and then even farther too much of my time writing about doing silly things with Clojure, I spend some of my time thinking about, talking about, and participating in... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

1
0

State of Clojure 2024 Survey [https://clojure.org/news/2024/09/17/clojure-survey-2024](https://clojure.org/news/2024/09/17/clojure-survey-2024) It’s time for the annual State of Clojure Community Survey! If you are a user of Clojure or ClojureScript, we are greatly interested in your responses to the following survey: State of Clojure 2024 The survey contains five pages: Your... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure@lemmy.ml](https://lemmy.ml/c/clojure)

7
0

Clojure Deref (Sept 13, 2024) [https://clojure.org/news/2024/09/13/deref](https://clojure.org/news/2024/09/13/deref) Welcome to the Clojure Deref! This is a weekly link/news roundup for the Clojure ecosystem (feed: RSS). Thanks to Anton Fonarev for link aggregation. Podcasts, videos, and media Clojurists Together Q3 2024 project: Scicloj - initial work... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

2
0

Clojure Deref (Sept 13, 2024) [https://clojure.org/news/2024/09/13/deref](https://clojure.org/news/2024/09/13/deref) Welcome to the Clojure Deref! This is a weekly link/news roundup for the Clojure ecosystem (feed: RSS). Thanks to Anton Fonarev for link aggregation. Podcasts, videos, and media Clojurists Together Q3 2024 project: Scicloj - initial work... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure@lemmy.ml](https://lemmy.ml/c/clojure)

2
0

Always Animating [https://buttondown.com/tensegritics-curiosities/archive/always-animating/](https://buttondown.com/tensegritics-curiosities/archive/always-animating/) A Word From Our Sponsor: Ourselves! 🤣 We just released Paktol our first paid app (free 2-month trial) to the stores: 🍎 App Store, 🤖 Google Play. Paktol is a mindful spending app that helps change your spendings habits without having to plan... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

2
0

54: JRuby with Charles Oliver Nutter [https://www.therepl.net/episodes/54/](https://www.therepl.net/episodes/54/) Charles Oliver Nutter talks about JRuby, the JVM, JRuby 10, improving JRuby startup time, and going independent. JRuby Headius Enterprises Valhalla - Where Are We? at the JVM Language Summit [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

1
0

Building an International Software Company [https://tonitalksdev.com/building-an-international-software-company](https://tonitalksdev.com/building-an-international-software-company) Join us in this insightful video podcast as we sit down with Sandun, the co-founder and CEO of Quality For Us (Q4US). Discover his journey from Sri Lanka to Finland, his extensive work history, and the founding of Q4US. We delve into marketing,... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

3
0

A Jacket, Microcontrollers, and Clojure [http://blog.nundrum.net/posts-output/2024-09-15-a-jacket-microcontrollers-and-clojure/](http://blog.nundrum.net/posts-output/2024-09-15-a-jacket-microcontrollers-and-clojure/) The start of my cyberpunk jacket project. [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

3
0

July & August 2024 Project Updates [https://www.clojuriststogether.org/news/july-august-2024-project-updates/](https://www.clojuriststogether.org/news/july-august-2024-project-updates/) This month we have reports from both our 2024 long-term developers as well as from two shorter-term projects. Thanks everyone for the great work! Short-Term Projects Janet A. Carr: Enjure Thomas Clark: Wolframite 2024 Long Term Projects Bozhidar... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

1
0

Amazing Day of Datomic [https://blog.datomic.com/2024/09/Amazing-Day-of-Datomic.html](https://blog.datomic.com/2024/09/Amazing-Day-of-Datomic.html) The Amazing Day of Datomic! Join us for The Amazing Day of Datomic on Wed Oct 23, 1-5 pm at Clojure Conj 2024. Amazing Day of Datomic is a comprehensive training program inspired by Stuart Halloway’s original “Day of Datomic.” This updated... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

1
0

art-diary [https://faster-than-light-memes.xyz/art-diary.html](https://faster-than-light-memes.xyz/art-diary.html) art-diary ftlm :faster-than-light /memes Joyful ideas are better ideas [λ] This is your fathers rock. I mean this is the searchbar. Explore! Get a random piece of... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

1
0

Heart of Clojure 2024 is Around the Corner [https://gaiwan.co/blog/heart-of-clojure-2024-is-around-the-corner/](https://gaiwan.co/blog/heart-of-clojure-2024-is-around-the-corner/) A few more days and hundreds of Clojure and functional programming enthusiasts will descend upon Leuven, Belgium, or tune in online, for the second edition of the Heart of Clojure conference. IT&aposS HAPPENING! It is becoming legitimately hard to... [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

2
0

Development Diary #13 - Beta Release [https://xtdb.com/blog/2024-09-13-dev-diary-sep-24](https://xtdb.com/blog/2024-09-13-dev-diary-sep-24) [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

2
0

"Safari" Engineering Session: Rust for Clj Devs - Video [https://juxt.pro/blog/rust-for-clj-devs](https://juxt.pro/blog/rust-for-clj-devs) Watch this talk to understand what sets Rust apart from Clojure, their similarities and key differences [\#clojure](https://clj.social/tags/clojure) [#clj](https://clj.social/tags/clj) [#cljs](https://clj.social/tags/cljs) !clojure@lemmy.ml [@clojure](https://lemmy.ml/c/clojure)

1
0