No, really, you can’t branch Datomic from the past (and what you can do instead)
Explains why you can't branch a Datomic database from a past state and presents a potential workaround using custom filters.
Blog.DanielJanus.pl is the personal blog of Daniel Janus, a veteran programmer from Poland who writes about Clojure, Rust, functional programming, developer culture, and personal productivity. Daniel combines deep technical insights with reflections on how code, words, and emotions interact in a developer’s life. His posts range from “Corner-cases of Comparing Clojure Numbers” to explorations of CSS compression and personal essays about ADHD and workspace clutter. The blog is bilingual (Polish and English) and features both short essays and detailed code-driven articles. With an emphasis on thinking clearly, rethinking assumptions, and learning continuously, Daniel’s writing appeals to engineers seeking both intellectual depth and human perspective.
52 articles from this blog
Explains why you can't branch a Datomic database from a past state and presents a potential workaround using custom filters.
A developer draws parallels between physical clutter and technical debt, advocating for regular 'code cleaning' sessions to improve team happiness and productivity.
Explores edge cases in Clojure number comparisons, focusing on ArithmeticExceptions when comparing ratios and BigDecimals, and unexpected equality behavior.
Introducing cssfact, a novel tool for lossy CSS compression using binary matrix factorization to reduce style rules while preserving design.
A developer shares their visual mental model for understanding Clojure transducers, explaining them as composable transformations on data streams.
A developer shares their experience creating a recursive tree iterator in Rust, detailing the algorithm and implementation challenges.
A developer shares a workflow tip for learning Rust by automatically creating Git snapshots of each build to track compiler errors.
A personal recap of the Dutch Clojure Days 2022 conference, covering talks on Humble UI, clojure.math, and the overall community experience.
A developer's personal review of the ultra-portable GPD Micro PC, comparing it to a MacBook Pro and detailing its use for programming on the go.
A developer adds a testing infrastructure to their minimalistic x86 Lisp compiler, Lithium, which targets raw machine code without runtime dependencies.
A developer proposes a new 'commit groups' feature for Git to improve handling of merge strategies and project history clarity.
A technical report on creating a reproducible research project to analyze Clojure dependency versions using the GitHub API and Skyscraper.
Exploring best practices for declaring Clojure as a dependency in libraries, including Leiningen and CLI tools approaches.
Analyzing different indentation styles for Clojure's `cond` forms and their impact on code readability.
A developer details a tricky middleware bug in a Clojure web scraping framework that caused character encoding issues due to header casing.
A developer creates a word puzzle training app using Clojure and re-frame to help a friend prepare for a TV talent show competition.
Explores the evolution of the World Wide Web from a simple 'Web of Documents' to the complex 'Web of Applications' we use today.
Exploring using the re-frame framework for Clojure to build text-mode applications, moving beyond its typical web-based use with ClojureScript.
Author celebrates Programmers' Day by sharing an old Haskell Z-machine emulator project and suggests sharing old code on GitHub.
Explains how Unix shell commands use Lisp-like syntax with program-name-first structure and expression composition.