A new chapter of Runnable Specifications has passed the “valuable enough to read” threshold. This time, it’s the Time Lens, which talks about build a notion of time into your model. As always, I appreciate questions and comments of all kinds. I’m...
TL;DR You’ll find the survey here. It’s been a while since the first and only “State of CIDER” survey.1 Right after it happened in the end of 2019, the world went to shit and I kind of forgot about my intent to do the survey annually. 5 years...
(ns monostate) (def ^:private session-state (atom {:user-id nil :permissions #{} :last-access nil})) (defn start-session "Starts a new user session with ID and permissions." [user-id permissions] (reset! session-state...
As programmers, we're always on the hunt for ways to sharpen our skills and create better, faster, and smarter applications. Different programming languages bring unique tools, techniques, and ideas to the table, each offering exciting ways to...
"All you need is list, set and dict" Write HTML with Python Python Hiccup is a library for representing HTML using plain Python data structures. It's a Python implementation of...
We develop a small framework for testing transaction interaction. This is the third in a series on implementing STM in Clojure. Previous posts: Part 1: STM in Clojure - Design. Part 2: STM in Clojure - Code Testing transactions How do we...
We explain the code for Ref and LockingTransaction. For background, refer to the previous post, STM in Clojure - Design. The Ref class I’m going to leave out some details of the implementation that are not relevant to STM directly – validators,...
Every time I heard people praise static types, I wondered why I didn’t share their enthusiasm. After careful reflection, I realized that static types don’t significantly influence how I approach or solve problems. I also didn’t experience fewer...
The other day I was doing some pair REPLing with my colleague Sophie. Basically, I asked her for some various functions that, at first, she didn’t quite understand the point of, but eventually, it became clear. On the way to work today, after...
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 Clojure Corner: Interview with Christian Johansen -...