41554 blogs · [ { "id": "01a08746-aa52-7005-8e93-09a6d005f2ad", "title": "Things I wish Datomic had: Map values", "url": "http://blog.danieljanus.pl/datomic-map-values/", "published_at": "2026-07-24T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecbcfed2d4", "title": "Now what?", "url": "http://blog.danieljanus.pl/now-what/", "published_at": "2026-06-09T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecbdcbbd49", "title": "How can I keep from singing?", "url": "http://blog.danieljanus.pl/singing/", "published_at": "2026-04-12T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecbe1c5079", "title": "Translating non-trivial codebases with Claude", "url": "http://blog.danieljanus.pl/claude-nlp/", "published_at": "2026-03-26T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecbe94f09e", "title": "On LLMs in programming", "url": "http://blog.danieljanus.pl/llms/", "published_at": "2025-12-27T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecbf59605a", "title": "No, really, you can’t branch Datomic from the past (and what you can do instead)", "url": "http://blog.danieljanus.pl/datomic-forking-the-past/", "published_at": "2025-04-22T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecc00d53cc", "title": "Cleaner codebase, happier mind", "url": "http://blog.danieljanus.pl/cleaner-codebase/", "published_at": "2025-03-02T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecc06eb3d8", "title": "Double, double toil and trouble or, Corner-Cases of Comparing Clojure Numbers", "url": "http://blog.danieljanus.pl/double-double-toil-and-trouble/", "published_at": "2025-02-21T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecc0be945c", "title": "Lossy CSS compression for fun and loss (or profit)", "url": "http://blog.danieljanus.pl/lossy-css-compression/", "published_at": "2024-01-26T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecc182b3a4", "title": "My mental model of transducers", "url": "http://blog.danieljanus.pl/transducers/", "published_at": "2023-09-09T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecc25b15c2", "title": "A visual tree iterator in Rust", "url": "http://blog.danieljanus.pl/iterating-trees/", "published_at": "2023-07-20T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecc26bc47a", "title": "Learning to learn Rust", "url": "http://blog.danieljanus.pl/learning-to-learn-rust/", "published_at": "2023-07-06T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecc31548f4", "title": "Dutch Clojure Days 2022", "url": "http://blog.danieljanus.pl/dcd-22/", "published_at": "2022-11-07T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecc32869c6", "title": "How to pay for books", "url": "http://blog.danieljanus.pl/paying-for-books/", "published_at": "2022-09-24T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecc3312a41", "title": "I love my GPD Micro PC", "url": "http://blog.danieljanus.pl/i-love-my-gpd-micro-pc/", "published_at": "2022-08-18T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecc3f9c111", "title": "Testing a compiler that can’t even print stuff out", "url": "http://blog.danieljanus.pl/testing-lithium/", "published_at": "2021-09-25T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecc4be7d07", "title": "Things I wish Git had: Commit groups", "url": "http://blog.danieljanus.pl/commit-groups/", "published_at": "2021-07-01T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecc57ad190", "title": "I made a website to guess tomorrow’s number of COVID-19 cases, and here’s what happened", "url": "http://blog.danieljanus.pl/coronalotto/", "published_at": "2020-11-08T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecc641651e", "title": "Making of “Clojure as a dependency”", "url": "http://blog.danieljanus.pl/making-of-clojure-dependency/", "published_at": "2020-05-08T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecc6ec5a53", "title": "Clojure as a dependency", "url": "http://blog.danieljanus.pl/clojure-dependency/", "published_at": "2020-05-02T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecc7b2cc12", "title": "Indenting cond forms", "url": "http://blog.danieljanus.pl/cond-indentation/", "published_at": "2020-02-10T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecc81b1d51", "title": "Careful with that middleware, Eugene", "url": "http://blog.danieljanus.pl/middleware/", "published_at": "2020-01-21T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecc8d22929", "title": "Word Champions", "url": "http://blog.danieljanus.pl/word-champions/", "published_at": "2020-01-03T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecc9ca7d2e", "title": "Web of Documents", "url": "http://blog.danieljanus.pl/web-of-documents/", "published_at": "2019-10-07T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecca189a83", "title": "Re-framing text-mode apps", "url": "http://blog.danieljanus.pl/clj-tvision/", "published_at": "2019-02-05T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3eccabd6640", "title": "Happy Programmers’ Day!", "url": "http://blog.danieljanus.pl/happy-programmers-day/", "published_at": "2014-09-13T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3eccbacfcf4", "title": "You already use Lisp syntax", "url": "http://blog.danieljanus.pl/you-already-use-lisp-syntax/", "published_at": "2014-05-20T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3eccca1c46d", "title": "DOS debugging quirk", "url": "http://blog.danieljanus.pl/dos-debugging-quirk/", "published_at": "2014-04-06T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3eccd9c85a1", "title": "2048: A close look at the source", "url": "http://blog.danieljanus.pl/2048/", "published_at": "2014-04-02T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecce3fca58", "title": "Lithium revisited: A 16-bit kernel (well, sort of) written in Clojure (well, sort of)", "url": "http://blog.danieljanus.pl/lithium-revisited/", "published_at": "2013-05-26T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecce8e8056", "title": "My top three iOS apps for mapping", "url": "http://blog.danieljanus.pl/my-top-three-ios-apps-for-mapping/", "published_at": "2012-09-13T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3eccf5862a6", "title": "Lithium: an x86 assembler for Clojure", "url": "http://blog.danieljanus.pl/lithium/", "published_at": "2012-05-14T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3eccf927d7b", "title": "How to call a private function in Clojure", "url": "http://blog.danieljanus.pl/how-to-call-a-private-function-in-clojure/", "published_at": "2012-04-25T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3eccfbe1119", "title": "Lifehacking: How to get cheap home equipment using Clojure", "url": "http://blog.danieljanus.pl/lifehacking-gumtree/", "published_at": "2012-04-12T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3eccfdd07c2", "title": "Ever wanted to programmatically file a lawsuit? In Poland, you can.", "url": "http://blog.danieljanus.pl/court-with-an-api/", "published_at": "2012-03-21T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecd0c17b37", "title": "Combining virtual sequencesor, Sequential Fun with Macrosor, How to Implement Clojure-Like Pseudo-Sequences with Poor Man’s Laziness in a Predominantly Imperative Language", "url": "http://blog.danieljanus.pl/combining-virtual-sequences/", "published_at": "2011-12-09T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecd12c314c", "title": "Color your own Europe with Clojure!", "url": "http://blog.danieljanus.pl/color-your-own-europe/", "published_at": "2011-07-11T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecd14d9d40", "title": "Meet my little friend createTree", "url": "http://blog.danieljanus.pl/meet-my-little-friend-createtree/", "published_at": "2011-07-08T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecd1bb3017", "title": "A quirk with JavaScript closures", "url": "http://blog.danieljanus.pl/a-quirk-with-javascript-closures/", "published_at": "2011-05-15T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecd1d06f37", "title": "The Dijkstran wheel of fortune: SPSS, Excel, VBA", "url": "http://blog.danieljanus.pl/the-dijkstran-wheel-of-fortune/", "published_at": "2011-03-28T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecd1f651e8", "title": "Hello world, again", "url": "http://blog.danieljanus.pl/hello-world-again/", "published_at": "2011-03-11T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecd2d210e6", "title": "Last post here", "url": "http://blog.danieljanus.pl/last-post-here/", "published_at": "2011-03-10T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecd32b5cb6", "title": "Keyword arguments", "url": "http://blog.danieljanus.pl/defnk/", "published_at": "2010-05-04T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecd4095c5b", "title": "Sunflower", "url": "http://blog.danieljanus.pl/sunflower/", "published_at": "2010-04-18T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecd4b681a7", "title": "A case for symbol capture", "url": "http://blog.danieljanus.pl/symbol-capture/", "published_at": "2010-04-05T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecd581ee0e", "title": "Hiking in the Apennines", "url": "http://blog.danieljanus.pl/apennines-hiking/", "published_at": "2010-04-04T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecd5c6221b", "title": "The pitfalls of lein swank", "url": "http://blog.danieljanus.pl/lein-swank/", "published_at": "2010-03-31T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecd5e4d7d3", "title": "Downcasing strings", "url": "http://blog.danieljanus.pl/downcasing/", "published_at": "2010-02-16T00:00:00+00:00" }, { "id": "01a08746-aa53-7159-97f4-a3ecd627c7b4", "title": "Clojure SET", "url": "http://blog.danieljanus.pl/clojure-set/", "published_at": "2010-02-10T00:00:00+00:00" }, { "id": "01a08746-aa54-72c2-9392-1b0ec7e03770", "title": "Reactivation (and some ramblings on my blogging infrastructure)", "url": "http://blog.danieljanus.pl/reactivation/", "published_at": "2010-01-18T00:00:00+00:00" }, { "id": "01a08746-aa54-72c2-9392-1b0ec8772243", "title": "Google Books", "url": "http://blog.danieljanus.pl/google-books/", "published_at": "2009-01-02T00:00:00+00:00" }, { "id": "01a08746-aa54-72c2-9392-1b0ec9488c64", "title": "anti-procrastination.el", "url": "http://blog.danieljanus.pl/fighting-procrastination/", "published_at": "2008-12-18T00:00:00+00:00" }, { "id": "01a08746-aa54-72c2-9392-1b0ec9707d11", "title": "The immensely powerful tool", "url": "http://blog.danieljanus.pl/immensely-powerful-tool/", "published_at": "2008-09-23T00:00:00+00:00" }, { "id": "01a08746-aa54-72c2-9392-1b0ec9fe6f6c", "title": "Who said Common Lisp programs cannot be small?", "url": "http://blog.danieljanus.pl/small-lisp/", "published_at": "2008-08-09T00:00:00+00:00" }, { "id": "01a08746-aa54-72c2-9392-1b0eca94fe0f", "title": "You win some, you lose some, you talk some", "url": "http://blog.danieljanus.pl/you-win-some/", "published_at": "2008-06-23T00:00:00+00:00" }, { "id": "01a08746-aa54-72c2-9392-1b0ecb542c29", "title": "cl-morfeusz: A ninety minutes’ hack", "url": "http://blog.danieljanus.pl/cl-morfeusz/", "published_at": "2008-06-23T00:00:00+00:00" }, { "id": "01a08746-aa54-72c2-9392-1b0ecc0a8533", "title": "Another metapost", "url": "http://blog.danieljanus.pl/another-metapost/", "published_at": "2008-06-19T00:00:00+00:00" }, { "id": "01a08746-aa54-72c2-9392-1b0ecc2a3caf", "title": "Today’s lesson: Mind the symlinks", "url": "http://blog.danieljanus.pl/mind-the-symlinks/", "published_at": "2008-06-11T00:00:00+00:00" }, { "id": "01a08746-aa54-72c2-9392-1b0ecc4836a2", "title": "Recently read #1: Akhmatova meets Bashō (Vasil Bykaŭ, “The Wall”)", "url": "http://blog.danieljanus.pl/recently-read-1/", "published_at": "2008-05-19T00:00:00+00:00" }, { "id": "01a08746-aa54-72c2-9392-1b0eccc529fb", "title": "Inward ripeness", "url": "http://blog.danieljanus.pl/inward-ripeness/", "published_at": "2008-05-05T00:00:00+00:00" }, { "id": "01a08746-aa54-72c2-9392-1b0ecd34ecc4", "title": "cl-netstrings", "url": "http://blog.danieljanus.pl/cl-netstrings/", "published_at": "2008-04-30T00:00:00+00:00" }, { "id": "01a08746-aa54-72c2-9392-1b0ecdf9d467", "title": "Best OS ever", "url": "http://blog.danieljanus.pl/best-os-ever/", "published_at": "2008-04-25T00:00:00+00:00" }, { "id": "01a08746-aa54-72c2-9392-1b0ece513543", "title": "Forgetting", "url": "http://blog.danieljanus.pl/forgetting/", "published_at": "2008-04-24T00:00:00+00:00" }, { "id": "01a08746-aa54-72c2-9392-1b0ecf3ef4c3", "title": "Hacking away with JSON-RPC", "url": "http://blog.danieljanus.pl/hacking-away-with-json-rpc/", "published_at": "2008-04-24T00:00:00+00:00" }, { "id": "01a08746-aa54-72c2-9392-1b0ecfab123a", "title": "ECLM 2008", "url": "http://blog.danieljanus.pl/eclm-2008/", "published_at": "2008-04-22T00:00:00+00:00" }, { "id": "01a08746-aa54-72c2-9392-1b0ed09d53d2", "title": "Poliqarp’s new protocol", "url": "http://blog.danieljanus.pl/poliqarp-new-protocol/", "published_at": "2008-04-16T00:00:00+00:00" }, { "id": "01a08746-aa54-72c2-9392-1b0ed0a44f03", "title": "I’m not playing this stupid game anymore", "url": "http://blog.danieljanus.pl/im-not-playing-this-stupid-game-anymore/", "published_at": "2008-04-14T00:00:00+00:00" }, { "id": "01a08746-aa54-72c2-9392-1b0ed0f71519", "title": "Recipe for a successful presentation", "url": "http://blog.danieljanus.pl/recipe-for-successful-presentation/", "published_at": "2008-04-10T00:00:00+00:00" }, { "id": "01a08746-aa54-72c2-9392-1b0ed12911e9", "title": "YAVP", "url": "http://blog.danieljanus.pl/yavp/", "published_at": "2008-04-07T00:00:00+00:00" }, { "id": "01a08746-aa54-72c2-9392-1b0ed1feec2a", "title": "Ubuntu post-installation tricks", "url": "http://blog.danieljanus.pl/ubuntu-postinstall/", "published_at": "2008-04-07T00:00:00+00:00" }, { "id": "01a08746-aa54-72c2-9392-1b0ed2bb2955", "title": "The TeX Hackery", "url": "http://blog.danieljanus.pl/tex-hackery/", "published_at": "2008-04-06T00:00:00+00:00" }, { "id": "01a08746-aa54-72c2-9392-1b0ed39e8412", "title": "Introduction", "url": "http://blog.danieljanus.pl/introduction/", "published_at": "2008-04-04T00:00:00+00:00" } ] posts Claim your blog
Back to nathell
Blog · corpus.blog/blogs/blog.danieljanus.pl/posts

nathell

blog.danieljanus.pl

2026

2025

2024

2023

2022

2021

2020

2019

2014

2013

2012

2011

2010

2009

2008