D
Daniel Janus
blog.danieljanus.pl · Personal blog · on HN since 2010
Daniel Janus, a programmer, writes about Clojure, databases like Datomic, LLMs in programming, the web, and his GPD Micro PC.
What HN saysHN links it for his post on Datomic not supporting branching from the past, his Web of Documents essay, and his GPD Micro PC review.
20HN people shared it
6linked it in comments
53stories submitted
1.7Kstory points
3 months agolast shared
2010people per year2026
Most-shared posts
- 1Web of Documents (2019)4 people · 176 points · first shared 2019 · 91 comments on HN
- 2On LLMs in Programming4 people · 4 points · first shared 2025 · discussion on HN
- 3Word Champions3 people · 4 points · first shared 2020 · discussion on HN
- 4I love my GPD Micro PC2 people · 439 points · first shared 2022 · 257 comments on HN
- 5Cleaner Codebase, Happier Mind2 people · 5 points · first shared 2025 · discussion on HN
- 6How to Pay for Books2 people · 5 points · first shared 2022 · discussion on HN
- 7Translating non-trivial codebases with Claude2 people · 5 points · first shared 2026 · discussion on HN
- 8You can't branch Datomic from the past2 people · 5 points · first shared 2025 · discussion on HN
- 92048: A close look at the source code2 people · 4 points · first shared 2014 · discussion on HN
- 10A visual tree iterator in Rust2 people · 3 points · first shared 2023 · discussion on HN
- 11My mental model of Clojure transducers2 people · 2 points · first shared 2023 · discussion on HN
- 12DOS Debugging Quirk (2014)2 people · 2 points · first shared 2022 · discussion on HN
- 13Things I wish Git had: Commit groups1 people · 289 points · first shared 2021 · 193 comments on HN
- 14Lossy CSS compression for fun and loss (or profit)1 people · 254 points · first shared 2024 · 43 comments on HN
- 15Clojure as a dependency1 people · 138 points · first shared 2020 · 42 comments on HN
What HN people wrote when they linked it
nathell · 2026-06-01
Similar vibes as my GPD Micro PC: https://blog.danieljanus.pl/i-love-my-gpd-micro-pc/
mananaysiempre · 2025-08-28
GPDs used to be much cheaper[1], and IMO made much more sense that way. Unfortunately, GPD indeed seems to have caught the expensive bug.
[1] https://blog.danieljanus.pl/2022/08/18/i-love-my-gpd-micro-pc/
Kortaggio · 2015-05-07
I like the structure of the game 2048 https://github.com/gabrielecirulli/2048 and I think it will be highly instructive for you since it implements the MVC pattern without using a framework, and you want to be framework agnostic. 2048 is simple enough that it's an accessible introduction to software design.
Daniel Janus wrote a great analysis of the source code and architecture; I highly recommend reading it: http://blog.danieljanus.pl/blog/2014/04/02/2048/
eitland · 2020-05-21
Daniel Janus had written about it here: http://blog.danieljanus.pl/2019/10/07/web-of-documents/
I am fairly certain I have written about it as well, here or on my blog somewhere.
My ideas are a bit more pragmatic maybe: I hope Mozilla or someone else will make a html version of asm.js - an extremely performant renderer for a subset of html and css.
This could solve the bootstrapping dilemma since it would work in every other browser as well - only hopefully even faster in browsers that supports it - and make real headway in as little as a few years while working from day 1.
My suggestions:
- a meta field in the header indicating html document
- a free validation service
- if a document signals it is a modern document, send it down the fast path
- if the document doesn't follow the rules, restart with ordinary rules
- js is forbidden except for a number of vetted common libraries for things like autocomplete
xeubie · 2026-04-20
Surprisingly, neither Datomic nor XTDB support branching. See: https://blog.danieljanus.pl/datomic-forking-the-past/
I actually built my own immutable database which does support branching (see profile), so it seems like a huge miss that these ones don't. It's pretty much the main reason I would want an immutable database.
radarroark · 2025-12-23
Surprisingly, no it does not. Datomic has a more limited feature that lets you make an in-memory clone of the latest copy of the db for speculative writes, which might be useful for tests, but you can't take an arbitrary version of the db with as-of and use it as the basis for a new version on disk. See: https://blog.danieljanus.pl/2025/04/22/datomic-forking-the-past/
There's nothing technically that should prevent this if they are using HAMTs underneath, so I'm guessing they just didn't care about the feature. With HAMT, cloning any part of the data structure, no matter how nested, is just a pointer copy. This is more useful than you'd think but hardly any database makes it possible.