Disclaimer: these posts are synchronized from Planet Clojure

Senior Clojure Engineer at StatsBomb

Senior Clojure Engineer at StatsBombgbp60000 - gbp130000We're expanding the team that works on our core football data pipelines. This involves batch and stream processing of millions of events a day that we collect from video, merging that data with outputs from statistical and computer vision model...

How to automate everything

When I worked at Facebook, I worked on making cross-region failover for source control more effective and automated. Before my work, when we were doing a cross-region failover, we brought the whole team in a room for the day. We also brought food and coffee and ran through the commands as a group t...

Future Memory Leaks

Java 19 introduces “Virtual Threads”, which is a new kind of thread on the JVM. One big difference with regular Threads is that it’s unidiomatic to create thread pools: [Using synchronization constructs] is more effective and convenient than thread pools [of Virtual Threads], and is also more secu...

Деджаваскриптизиция

Как вы думаете, сколько запросов делает браузер, пока вы читаете заметку в моем блоге? Я тоже не знал. Десять, двадцать? Что гадать, если можно проверить!Открываем консоль разработчика, вкладка Network. Виден всякий ajax/js-хлам. Тык правой кнопкой → “Save all as HAR with content”:...

Unrolling every-pred and some-fn

some-fn and every-pred started life as single-line combinators proposed by Fogus, Christophe Grand and others:(defn every-pred [& preds] (fn [& args] (every? #(every? % args) preds))) (defn some-fn [& preds] (fn [& args] (some #(some % args) preds))) ...

Clojure Deref (Sep 9, 2022)

Welcome to the Clojure Deref! This is a weekly link/news roundup for the Clojure ecosystem. (@ClojureDeref RSS) Highlights So many cool things happening this week in the Clojure Deref! I would encourage you to dive into some of the links below in every section - there are really interesting ...

A Significant clojure.test Enhancement

I’d wager any Clojure programmer has come across CLJ-2525. You know, when your test fixture throws an error and doesn’t mention any of your testing strings? Just “Uncaught exception, not in assertion”, leaving you momentarily dumbfounded about which fixture or doseq branch caused it? That. I’m guess...

Instrumenting Clojure protocols

I recently added support for instrumenting defprotocol in Plumatic Schema. It has worked out quite nicely. It requires no usage changes in invocation or extensions, supports any kind of protocol extension (interface, extend, and metadata), and runs on Clojure and ClojureScript (however, babashka is ...

My Clojure book gradually gets into shape

I am happy to say that my Clojure book is gradually getting into shape. When ever I get time, I am adding few examples into it. Today I realized that I had added enough examples into Functions to make it almost complete.Functions are at the heart of Clojure, and if that section is almost example com...