41554 blogs · [ { "id": "01a0dd94-ba6a-7054-9d18-b6a4d8b94956", "title": "Lost in Technopolis", "url": "http://newartisans.com/about-me/", "published_at": "2026-09-25T00:00:00+00:00" }, { "id": "01a087ae-6fbb-732e-8010-06fdda3fe726", "title": "My Claude Code Toolkit", "url": "http://newartisans.com/2026/02/my-claude-code-toolkit/", "published_at": "2026-02-13T00:00:00+00:00" }, { "id": "01a087ae-6fbb-732e-8010-06fddaeb4304", "title": "ecard: vCard Library for Emacs", "url": "http://newartisans.com/2025/11/ecard-vcard-library-for-emacs/", "published_at": "2025-11-18T00:00:00+00:00" }, { "id": "01a087ae-6fbb-732e-8010-06fddb483a21", "title": "Fun with GPTel: gptel-prompts", "url": "http://newartisans.com/2025/06/fun-with-gptel-gptel-prompts/", "published_at": "2025-06-21T00:00:00+00:00" }, { "id": "01a087ae-6fbb-732e-8010-06fddc2a4eb0", "title": "Fun with GPTel: ob-gptel integration with Org-babel", "url": "http://newartisans.com/2025/06/fun-with-gptel-ob-gptel/", "published_at": "2025-06-21T00:00:00+00:00" }, { "id": "01a087ae-6fbb-732e-8010-06fddcb7d8f7", "title": "Fun with GPTel: gptel-litellm for tracking sessions with LiteLLM", "url": "http://newartisans.com/2025/06/fun-with-gptel-gptel-litellm/", "published_at": "2025-06-21T00:00:00+00:00" }, { "id": "01a087ae-6fbb-732e-8010-06fddd53b197", "title": "Implementing Löb’s theorem in Emacs Lisp", "url": "http://newartisans.com/2025/05/implementing-loeb-emacs-lisp/", "published_at": "2025-05-27T00:00:00+00:00" }, { "id": "01a087ae-6fbb-732e-8010-06fdde03589b", "title": "Program Reduction: A Win for Recursion Schemes", "url": "http://newartisans.com/2018/04/win-for-recursion-schemes/", "published_at": "2018-04-19T00:00:00+00:00" }, { "id": "01a087ae-6fbb-732e-8010-06fdde8e8c8c", "title": "Monads are monoid objects", "url": "http://newartisans.com/2017/05/monads-are-monoids/", "published_at": "2017-05-04T00:00:00+00:00" }, { "id": "01a087ae-6fbb-732e-8010-06fddf8077d9", "title": "Putting lenses to work", "url": "http://newartisans.com/2017/04/putting-lenses-to-work/", "published_at": "2017-04-22T00:00:00+00:00" }, { "id": "01a087ae-6fbb-732e-8010-06fde048ee79", "title": "Submitting Haskell functions to Z3", "url": "http://newartisans.com/2017/04/haskell-and-z3/", "published_at": "2017-04-18T00:00:00+00:00" }, { "id": "01a0dd94-ba69-712c-a6ff-845194f0bf3b", "title": null, "url": "http://newartisans.com/2017/02/a-case-of-reflection/", "published_at": "2017-02-23T00:00:00+00:00" }, { "id": "01a0dd94-ba69-712c-a6ff-845195d065c2", "title": null, "url": "http://newartisans.com/2016/10/using-fmap-in-coq/", "published_at": "2016-10-27T00:00:00+00:00" }, { "id": "01a0dd94-ba69-712c-a6ff-845196340b3d", "title": null, "url": "http://newartisans.com/2016/01/pattern-matching-with-pcase/", "published_at": "2016-01-21T00:00:00+00:00" }, { "id": "01a0dd94-ba69-712c-a6ff-84519703ea25", "title": null, "url": "http://newartisans.com/2014/06/simpler-conduit-library/", "published_at": "2014-06-06T00:00:00+00:00" }, { "id": "01a0dd94-ba69-712c-a6ff-845197687060", "title": null, "url": "http://newartisans.com/2013/09/notes-on-free-monads/", "published_at": "2013-09-23T00:00:00+00:00" }, { "id": "01a0dd94-ba69-712c-a6ff-8451984ef325", "title": null, "url": "http://newartisans.com/2013/09/using-monad-control-with-monad-transformers/", "published_at": "2013-09-21T00:00:00+00:00" }, { "id": "01a0dd94-ba69-712c-a6ff-84519899075a", "title": null, "url": "http://newartisans.com/2013/07/a-whirlwind-tour-of-conduits/", "published_at": "2013-07-16T00:00:00+00:00" }, { "id": "01a0dd94-ba69-712c-a6ff-8451999275c1", "title": null, "url": "http://newartisans.com/2013/06/update-of-gitlib-libraries-on-hackage-plus-git-monitor/", "published_at": "2013-06-30T00:00:00+00:00" }, { "id": "01a0dd94-ba69-712c-a6ff-845199dce937", "title": null, "url": "http://newartisans.com/2013/06/nightly-builds-of-ghc-head-for-ubuntu-12-04-2-lts/", "published_at": "2013-06-19T00:00:00+00:00" }, { "id": "01a0dd94-ba69-712c-a6ff-84519ac347fc", "title": null, "url": "http://newartisans.com/2013/06/temporary-mirror-of-comonad-com/", "published_at": "2013-06-19T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4b2cd276a", "title": null, "url": "http://newartisans.com/2013/06/nightly-builds-of-ghc-head-for-os-x-10-8/", "published_at": "2013-06-12T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4b2fda85a", "title": null, "url": "http://newartisans.com/2013/05/an-experiment-shorter-posts/", "published_at": "2013-05-13T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4b30e8572", "title": null, "url": "http://newartisans.com/2013/05/three-examples-of-problems-with-lazy-io/", "published_at": "2013-05-13T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4b311202c", "title": null, "url": "http://newartisans.com/2013/05/understanding-continuations/", "published_at": "2013-05-13T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4b3589b7f", "title": null, "url": "http://newartisans.com/2012/11/getting-started-with-lenses/", "published_at": "2012-11-21T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4b45625a9", "title": null, "url": "http://newartisans.com/2012/10/arrows-are-simpler-than-they-appear/", "published_at": "2012-10-20T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4b46c901b", "title": null, "url": "http://newartisans.com/2012/09/just-discovered-pxz/", "published_at": "2012-09-06T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4b52c5aca", "title": null, "url": "http://newartisans.com/2012/09/running-a-fully-local-hoogle/", "published_at": "2012-09-05T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4b57b5a69", "title": null, "url": "http://newartisans.com/2012/09/the-fix-combinator-and-recursive-lambdas/", "published_at": "2012-09-03T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4b59d589c", "title": null, "url": "http://newartisans.com/2012/08/parsing-with-haskell-and-attoparsec/", "published_at": "2012-08-30T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4b640a560", "title": null, "url": "http://newartisans.com/2012/08/meta-programming-with-the-free-monad/", "published_at": "2012-08-27T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4b67e90ca", "title": null, "url": "http://newartisans.com/2012/08/japanese-translation-of-monads-in-pictures/", "published_at": "2012-08-21T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4b72b8f08", "title": null, "url": "http://newartisans.com/2012/08/monads-in-pictures/", "published_at": "2012-08-20T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4b7479619", "title": null, "url": "http://newartisans.com/2011/05/git-from-bottom-up-ja/", "published_at": "2011-05-19T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4b77d7176", "title": null, "url": "http://newartisans.com/2011/04/letter-to-the-fsf/", "published_at": "2011-04-26T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4b7ed7edd", "title": null, "url": "http://newartisans.com/2010/07/a-word-on-haskell-monads-and-c/", "published_at": "2010-07-15T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4b8140dc9", "title": null, "url": "http://newartisans.com/2009/10/a-c-gotcha-on-snow-leopard/", "published_at": "2009-10-30T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4b8498334", "title": null, "url": "http://newartisans.com/2009/10/branch-policies-with-git/", "published_at": "2009-10-29T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4b87406ed", "title": null, "url": "http://newartisans.com/2009/05/response-to-pgs-how-to-do-philosophy/", "published_at": "2009-05-13T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4b8b116f6", "title": null, "url": "http://newartisans.com/2009/03/journey-into-haskell-part-6/", "published_at": "2009-03-26T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4b8b6deda", "title": null, "url": "http://newartisans.com/2009/03/journey-into-haskell-part-5/", "published_at": "2009-03-24T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4b92d33ad", "title": null, "url": "http://newartisans.com/2009/03/functional-yet-lazy/", "published_at": "2009-03-22T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4b9b6dfca", "title": null, "url": "http://newartisans.com/2009/03/journey-into-haskell-part-4/", "published_at": "2009-03-21T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4baa8b35f", "title": null, "url": "http://newartisans.com/2009/03/updated-site-to-use-blueprint-css-again/", "published_at": "2009-03-20T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4bb948a40", "title": null, "url": "http://newartisans.com/2009/03/journey-into-haskell-part-3/", "published_at": "2009-03-19T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4bc7af770", "title": null, "url": "http://newartisans.com/2009/03/journey-into-haskell-part-2/", "published_at": "2009-03-18T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4bd5f8342", "title": null, "url": "http://newartisans.com/2009/03/journey-into-haskell-part-1/", "published_at": "2009-03-16T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4bd780a47", "title": null, "url": "http://newartisans.com/2009/03/run-times-for-hello-world-in-2009/", "published_at": "2009-03-15T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4be323949", "title": null, "url": "http://newartisans.com/2009/03/the-jvm-and-costs-vs-benefits/", "published_at": "2009-03-15T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4be9a6629", "title": null, "url": "http://newartisans.com/2009/03/hello-haskell-goodbye-lisp/", "published_at": "2009-03-14T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4bf41cd72", "title": null, "url": "http://newartisans.com/2009/02/the-saga-of-rebase-versus-merge/", "published_at": "2009-02-26T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4c011a832", "title": null, "url": "http://newartisans.com/2009/02/building-a-better-pre-commit-hook-for-git/", "published_at": "2009-02-13T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4c0eaf325", "title": null, "url": "http://newartisans.com/2009/02/simple-class-for-walking-char-arrays-as-istreams/", "published_at": "2009-02-04T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4c1a24528", "title": null, "url": "http://newartisans.com/2009/01/ready-lisp-version-20090125-now-available/", "published_at": "2009-01-25T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4c1d8fba0", "title": null, "url": "http://newartisans.com/2009/01/unicode-support-on-the-cheap/", "published_at": "2009-01-23T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4c2cf8445", "title": null, "url": "http://newartisans.com/2009/01/the-feature-i-avoided-for-half-a-year/", "published_at": "2009-01-21T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4c3cd5f57", "title": null, "url": "http://newartisans.com/2009/01/moving-to-movable-type/", "published_at": "2009-01-20T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4c3eec191", "title": null, "url": "http://newartisans.com/2009/01/a-day-for-nostalgia/", "published_at": "2009-01-19T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4c41e1636", "title": null, "url": "http://newartisans.com/2009/01/linux-dhcp-and-windows-dns/", "published_at": "2009-01-16T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4c49b7db1", "title": null, "url": "http://newartisans.com/2008/09/ledger-261-released/", "published_at": "2008-09-17T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4c4fa4b14", "title": null, "url": "http://newartisans.com/2008/09/too-much-good-stuff/", "published_at": "2008-09-05T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4c5553230", "title": null, "url": "http://newartisans.com/2008/08/omitting-git-ignored-files-in-emacs-dired/", "published_at": "2008-08-12T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4c58b0094", "title": null, "url": "http://newartisans.com/2008/07/a-new-ledger-mailing-list/", "published_at": "2008-07-16T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4c63a4dbf", "title": null, "url": "http://newartisans.com/2008/05/using-git-as-a-versioned-data-store-in-python/", "published_at": "2008-05-15T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4c6ec14a0", "title": null, "url": "http://newartisans.com/2008/05/emacs-chess-now-hosted-at-github/", "published_at": "2008-05-08T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4c7dd876c", "title": null, "url": "http://newartisans.com/2008/05/ready-lisp-version-20080428-now-available/", "published_at": "2008-05-05T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4c8b0980e", "title": null, "url": "http://newartisans.com/2008/04/git-from-the-bottom-up/", "published_at": "2008-04-27T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4c8c22523", "title": null, "url": "http://newartisans.com/2008/04/diving-into-git/", "published_at": "2008-04-14T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4c93bc7a9", "title": null, "url": "http://newartisans.com/2008/04/run-the-spotlight-indexer-at-a-lower-priority/", "published_at": "2008-04-09T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4c96941cf", "title": null, "url": "http://newartisans.com/2008/03/script-of-the-week-linkdups/", "published_at": "2008-03-28T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4c98f4ea9", "title": null, "url": "http://newartisans.com/2008/03/defragmentation-and-disk-images/", "published_at": "2008-03-20T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4c9d3f27d", "title": null, "url": "http://newartisans.com/2008/01/a-ledger-success-story/", "published_at": "2008-01-08T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4ca9f4786", "title": null, "url": "http://newartisans.com/2008/01/script-of-the-week-verify/", "published_at": "2008-01-07T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4cb38a93c", "title": null, "url": "http://newartisans.com/2007/12/fp-techniques-in-lisp-data-sharing/", "published_at": "2007-12-13T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4cbd2b9b4", "title": null, "url": "http://newartisans.com/2007/12/fixed-a-few-bugs-in-ready-lisp/", "published_at": "2007-12-08T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4cc2a5622", "title": null, "url": "http://newartisans.com/2007/12/new-version-of-ready-lisp-for-mac-os-x/", "published_at": "2007-12-06T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4ccffd9b8", "title": null, "url": "http://newartisans.com/2007/12/common-lisp-web-servers/", "published_at": "2007-12-01T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4cde10590", "title": null, "url": "http://newartisans.com/2007/11/cl-hyperspec-info-pages-in-emacs/", "published_at": "2007-11-16T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4cde3eec5", "title": null, "url": "http://newartisans.com/2007/11/script-of-the-week-redirect/", "published_at": "2007-11-12T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4cdfdb961", "title": null, "url": "http://newartisans.com/2007/11/hunchentoot-persisting-across-reboots/", "published_at": "2007-11-09T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4ce45b692", "title": null, "url": "http://newartisans.com/2007/11/ready-lisp-for-os-x-leopard/", "published_at": "2007-11-09T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4cee05fe3", "title": null, "url": "http://newartisans.com/2007/11/a-quick-hunchentoot-primer/", "published_at": "2007-11-06T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4cf57c0ba", "title": null, "url": "http://newartisans.com/2007/11/running-common-lisp-behind-apache/", "published_at": "2007-11-05T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4d0488a8e", "title": null, "url": "http://newartisans.com/2007/11/script-of-the-week-bzdmg/", "published_at": "2007-11-05T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4d0838fc5", "title": null, "url": "http://newartisans.com/2007/10/a-regular-expression-ide-for-emacs/", "published_at": "2007-10-29T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4d1719952", "title": null, "url": "http://newartisans.com/2007/10/script-of-the-week-sizes/", "published_at": "2007-10-27T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4d1e00468", "title": null, "url": "http://newartisans.com/2007/10/the-groovy-thing-about-groovy/", "published_at": "2007-10-26T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4d2aa6292", "title": null, "url": "http://newartisans.com/2007/10/life-and-times-of-a-tcp-packet/", "published_at": "2007-10-25T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4d3298dd7", "title": null, "url": "http://newartisans.com/2007/10/get-lisp-running-on-os-x-easy-version/", "published_at": "2007-10-24T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4d383d6df", "title": null, "url": "http://newartisans.com/2007/10/common-lisp-docs-for-devonthink/", "published_at": "2007-10-23T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4d44f71e8", "title": null, "url": "http://newartisans.com/2007/10/common-lisp-on-mac-os-x/", "published_at": "2007-10-20T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4d4c3e7da", "title": null, "url": "http://newartisans.com/2007/10/serving-up-mercurial-using-mod-python/", "published_at": "2007-10-19T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4d5a11c1b", "title": null, "url": "http://newartisans.com/2007/10/install-bootcamp-with-multiple-partitions/", "published_at": "2007-10-15T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4d5b0b23c", "title": null, "url": "http://newartisans.com/2007/10/using-archiveopteryx-on-the-mac/", "published_at": "2007-10-11T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4d5b19fcb", "title": null, "url": "http://newartisans.com/2007/10/applescript-and-utf-8-arguments/", "published_at": "2007-10-01T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4d5b47a7b", "title": null, "url": "http://newartisans.com/2007/09/a-few-remarkable-mac-apps/", "published_at": "2007-09-30T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4d5d9bf98", "title": null, "url": "http://newartisans.com/2007/09/openssh-connection-mastering/", "published_at": "2007-09-25T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4d605e909", "title": null, "url": "http://newartisans.com/2007/09/stateful-directory-scanning-in-python/", "published_at": "2007-09-24T00:00:00+00:00" }, { "id": "01a0dd94-ba6a-7054-9d18-b6a4d63c125f", "title": null, "url": "http://newartisans.com/2007/09/how-to-administer-openvpn/", "published_at": "2007-09-23T00:00:00+00:00" } ] posts Claim your blog
Back to newartisans.com
Blog · corpus.blog/blogs/newartisans.com/posts

newartisans.com

newartisans.com

2026

2025

2018

2017

2016

2014

2013

2012

2011

2010

2009

2008

2007