41554 blogs · [ { "id": "01a0877c-4c90-738e-9dc1-98db906205e4", "title": "AI Safety via Static Analysis", "url": "https://gelisam.blogspot.com/2026/03/ai-safety-via-static-analysis.html", "published_at": "2026-03-13T01:21:00+00:00" }, { "id": "01a0877c-4c90-738e-9dc1-98db90953505", "title": "Making plans for the apocalypse", "url": "https://gelisam.blogspot.com/2026/02/making-plans-for-apocalypse.html", "published_at": "2026-02-02T13:22:00+00:00" }, { "id": "01a0877c-4c90-738e-9dc1-98db918456c9", "title": "The Brainfax Lawsuit", "url": "https://gelisam.blogspot.com/2026/01/the-brainfax-lawsuit.html", "published_at": "2026-01-25T02:29:00+00:00" }, { "id": "01a0877c-4c90-738e-9dc1-98db92019224", "title": "Auto-completely yours", "url": "https://gelisam.blogspot.com/2025/10/auto-completely-yours.html", "published_at": "2025-10-06T23:33:00+00:00" }, { "id": "01a0877c-4c90-738e-9dc1-98db92a3461c", "title": "Metafictional grief", "url": "https://gelisam.blogspot.com/2025/03/metafictional-grief.html", "published_at": "2025-03-28T13:39:00+00:00" }, { "id": "01a0877c-4c90-738e-9dc1-98db9338ef46", "title": "You are CheckGPT", "url": "https://gelisam.blogspot.com/2023/11/you-are-checkgpt.html", "published_at": "2023-11-02T00:21:00+00:00" }, { "id": "01a0877c-4c90-738e-9dc1-98db936958fd", "title": "Capturing the magic of Prelude.interact", "url": "https://gelisam.blogspot.com/2020/12/capturing-magic-of-preludeinteract.html", "published_at": "2020-12-06T14:51:00+00:00" }, { "id": "01a0877c-4c90-738e-9dc1-98db93971e51", "title": "Yes, I approve of your license.", "url": "https://gelisam.blogspot.com/2020/05/yes-i-approve-of-your-license.html", "published_at": "2020-05-28T13:55:00+00:00" }, { "id": "01a0877c-4c90-738e-9dc1-98db94184285", "title": "N-ary Functors", "url": "https://gelisam.blogspot.com/2017/12/n-ary-functors.html", "published_at": "2018-01-01T00:47:00+00:00" }, { "id": "01a0877c-4c90-738e-9dc1-98db94a168cb", "title": "Computing with Impossible Types", "url": "https://gelisam.blogspot.com/2017/11/computing-with-impossible-types.html", "published_at": "2017-11-04T03:26:00+00:00" }, { "id": "01a0877c-4c90-738e-9dc1-98db955825d5", "title": "Composing Declarations in Template Haskell", "url": "https://gelisam.blogspot.com/2017/10/composing-declarations-in-template.html", "published_at": "2017-10-14T19:33:00+00:00" }, { "id": "01a0877c-4c90-738e-9dc1-98db959f2b72", "title": "A whirlwind tour of Haskell, day 8", "url": "https://gelisam.blogspot.com/2015/12/a-whirlwind-tour-of-haskell-day-8.html", "published_at": "2015-12-26T21:32:00+00:00" }, { "id": "01a0877c-4c90-738e-9dc1-98db964b8d5c", "title": "A whirlwind tour of Haskell, day 7", "url": "https://gelisam.blogspot.com/2015/12/a-whirlwind-tour-of-haskell-day-7.html", "published_at": "2015-12-25T21:03:00+00:00" }, { "id": "01a0877c-4c90-738e-9dc1-98db9685e06f", "title": "A whirlwind tour of Haskell, day 6", "url": "https://gelisam.blogspot.com/2015/12/a-whirlwind-tour-of-haskell-day-6.html", "published_at": "2015-12-20T15:42:00+00:00" }, { "id": "01a0877c-4c90-738e-9dc1-98db96f97eae", "title": "A whirlwind tour of Haskell, day 5", "url": "https://gelisam.blogspot.com/2015/12/a-whirlwind-tour-of-haskell-day-5.html", "published_at": "2015-12-19T22:15:00+00:00" }, { "id": "01a0877c-4c90-738e-9dc1-98db97e1a58e", "title": "A whirlwind tour of Haskell, day 4", "url": "https://gelisam.blogspot.com/2015/12/a-whirlwind-tour-of-haskell-day-4.html", "published_at": "2015-12-19T20:42:00+00:00" }, { "id": "01a0877c-4c90-738e-9dc1-98db983f80b3", "title": "A whirlwind tour of Haskell, day 3", "url": "https://gelisam.blogspot.com/2015/12/a-whirlwind-tour-of-haskell-day-3.html", "published_at": "2015-12-19T18:10:00+00:00" }, { "id": "01a0877c-4c90-738e-9dc1-98db98b83ddf", "title": "A whirlwind tour of Haskell, day 2", "url": "https://gelisam.blogspot.com/2015/12/a-whirlwind-tour-of-haskell-day-2.html", "published_at": "2015-12-19T18:10:00+00:00" }, { "id": "01a0877c-4c90-738e-9dc1-98db98e2243a", "title": "A whirlwind tour of Haskell, day 1", "url": "https://gelisam.blogspot.com/2015/12/a-whirlwind-tour-of-haskell-day-1.html", "published_at": "2015-12-19T18:10:00+00:00" }, { "id": "01a0877c-4c91-72c5-8576-59b4f898cb7f", "title": "A whirlwind tour of Haskell, via Advent of code solutions", "url": "https://gelisam.blogspot.com/2015/12/a-whirlwind-tour-of-haskell-via-advent.html", "published_at": "2015-12-08T00:28:00+00:00" }, { "id": "01a0877c-4c91-72c5-8576-59b4f8fb3443", "title": "Two kinds of backtracking", "url": "https://gelisam.blogspot.com/2015/09/two-kinds-of-backtracking.html", "published_at": "2015-09-07T04:46:00+00:00" }, { "id": "01a0877c-4c91-72c5-8576-59b4f926531f", "title": "Will it memoize?", "url": "https://gelisam.blogspot.com/2015/06/will-it-memoize.html", "published_at": "2015-06-19T02:54:00+00:00" }, { "id": "01a0877c-4c91-72c5-8576-59b4f9d1139c", "title": "Querying type specializations", "url": "https://gelisam.blogspot.com/2015/06/querying-type-specializations.html", "published_at": "2015-06-14T15:57:00+00:00" }, { "id": "01a0877c-4c91-72c5-8576-59b4fa444508", "title": "Strongly-typed ghci commands", "url": "https://gelisam.blogspot.com/2015/05/strongly-typed-ghci-commands.html", "published_at": "2015-05-02T19:53:00+00:00" }, { "id": "01a0877c-4c91-72c5-8576-59b4fb084ba7", "title": "Haxl anti-tutorial", "url": "https://gelisam.blogspot.com/2015/01/haxl-anti-tutorial.html", "published_at": "2015-01-28T19:38:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d08779c1b92", "title": "The \"99 Bottles of Beers\" of Type Systems", "url": "https://gelisam.blogspot.com/2014/12/the-99-bottles-of-beers-of-type-systems_21.html", "published_at": "2014-12-21T18:14:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d0877a7e0a2", "title": "How to package up binaries for distribution", "url": "https://gelisam.blogspot.com/2014/12/how-to-package-up-binaries-for.html", "published_at": "2014-12-09T04:38:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d087860b363", "title": "Understanding \"Strongly-typed Bound\", part 1", "url": "https://gelisam.blogspot.com/2014/10/understanding-strongly-typed-bound-part.html", "published_at": "2014-10-29T03:15:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d0878f60e75", "title": "Prisms lead to typeclasses for subtractive types", "url": "https://gelisam.blogspot.com/2014/09/prisms-lead-to-typeclasses-for.html", "published_at": "2014-09-07T03:59:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d087986252a", "title": "Edward Kmett likes my library :)", "url": "https://gelisam.blogspot.com/2014/08/edward-kmett-likes-my-library.html", "published_at": "2014-08-29T23:30:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d087a1e8950", "title": "Issues with subtractive types", "url": "https://gelisam.blogspot.com/2014/08/issues-with-subtractive-types.html", "published_at": "2014-08-18T04:33:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d087acb53f4", "title": "Homemade FRP: mystery leak", "url": "https://gelisam.blogspot.com/2014/08/homemade-frp-mystery-leak.html", "published_at": "2014-08-16T16:23:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d087b1152f4", "title": "Homemade FRP: a study in following the types", "url": "https://gelisam.blogspot.com/2014/07/homemade-frp-study-in-following-types.html", "published_at": "2014-07-29T03:50:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d087b225310", "title": "reactive-banana mystery leak", "url": "https://gelisam.blogspot.com/2014/07/reactive-banana-mystery-leak.html", "published_at": "2014-07-18T02:56:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d087b9e6b42", "title": "reactive-banana anti-tutorial", "url": "https://gelisam.blogspot.com/2014/07/reactive-banana-anti-tutorial.html", "published_at": "2014-07-16T06:14:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d087bb80ebe", "title": "Functors are computations", "url": "https://gelisam.blogspot.com/2014/01/functors-are-computations.html", "published_at": "2014-01-15T02:49:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d087be753e8", "title": "The first two years", "url": "https://gelisam.blogspot.com/2013/09/the-first-two-years.html", "published_at": "2013-09-19T12:37:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d087be79672", "title": "Push and Fork: giving myself a pat on the back", "url": "https://gelisam.blogspot.com/2013/08/push-and-fork-giving-myself-pat-on-back.html", "published_at": "2013-08-11T03:21:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d087c49aab3", "title": "The Commutativity monad", "url": "https://gelisam.blogspot.com/2013/07/the-commutative-monad.html", "published_at": "2013-07-31T04:38:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d087c6ad3db", "title": "Comonads are neighbourhoods, not objects", "url": "https://gelisam.blogspot.com/2013/07/comonads-are-neighbourhoods-not-objects.html", "published_at": "2013-07-01T15:26:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d087ce3ca03", "title": "From game developer to game reviewer", "url": "https://gelisam.blogspot.com/2013/01/from-game-developer-to-game-reviewer.html", "published_at": "2013-02-17T14:48:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d087cfc0aef", "title": "Every single game from GitHub Game Off 2012", "url": "https://gelisam.blogspot.com/2012/12/every-single-game-from-github-game-off.html", "published_at": "2012-12-14T05:01:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d087d8ef2fb", "title": "A little bit of Waterfall", "url": "https://gelisam.blogspot.com/2012/08/a-little-bit-of-waterfall.html", "published_at": "2012-08-13T13:04:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d087db6513c", "title": "Agile vs Scrum", "url": "https://gelisam.blogspot.com/2012/07/agile-vs-scrum.html", "published_at": "2012-07-23T23:55:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d087e24a3bd", "title": "Specification aphorism", "url": "https://gelisam.blogspot.com/2012/06/specification-aphorism.html", "published_at": "2012-06-07T01:12:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d087e56532d", "title": "Thank you, KeyRemap4MacBook!", "url": "https://gelisam.blogspot.com/2012/05/thank-you-keyremap4macbook.html", "published_at": "2012-05-21T03:42:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d087f1080e6", "title": "Building qtHaskell on OS X", "url": "https://gelisam.blogspot.com/2012/04/building-qthaskell-on-os-x.html", "published_at": "2012-04-30T03:44:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d08800ecc69", "title": "As the story dragged on", "url": "https://gelisam.blogspot.com/2012/03/as-story-dragged-on.html", "published_at": "2012-03-31T20:45:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d088103b395", "title": "Who cares about the user?", "url": "https://gelisam.blogspot.com/2012/03/who-cares-about-user.html", "published_at": "2012-03-18T03:00:00+00:00" }, { "id": "01a0c51d-5cdb-7041-965f-0d0881b7b0a1", "title": "Unifying the Agile and Spiral models", "url": "https://gelisam.blogspot.com/2012/03/unifying-agile-and-spiral-models.html", "published_at": "2012-03-16T03:52:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b336429ae", "title": "Still not ready for private consumption", "url": "https://gelisam.blogspot.com/2012/02/still-not-ready-for-private-consumption.html", "published_at": "2012-02-29T04:46:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b33df0235", "title": "What one hat said to the other", "url": "https://gelisam.blogspot.com/2012/02/what-one-hat-said-to-other.html", "published_at": "2012-02-18T19:07:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b34830c0f", "title": "Success!", "url": "https://gelisam.blogspot.com/2012/02/success.html", "published_at": "2012-02-10T04:44:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b357fe8c6", "title": "May the day I actually complete something finally come", "url": "https://gelisam.blogspot.com/2012/02/may-day-i-actually-complete-something.html", "published_at": "2012-02-04T17:24:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b3582aa64", "title": "An unusual \"terms and conditions\" page", "url": "https://gelisam.blogspot.com/2011/12/unusual-terms-and-conditions-page.html", "published_at": "2011-12-30T20:51:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b35e25561", "title": "Our Life in 3D", "url": "https://gelisam.blogspot.com/2011/12/our-life-in-3d.html", "published_at": "2011-12-06T01:47:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b362d087e", "title": "Time != Money", "url": "https://gelisam.blogspot.com/2011/09/time-money.html", "published_at": "2011-09-14T05:26:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b36845645", "title": "Equality is a (useless) transmutation machine", "url": "https://gelisam.blogspot.com/2010/10/equality-is-useless-transmutation.html", "published_at": "2010-10-09T13:22:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b377dcf8f", "title": "How to cope with changing requirements", "url": "https://gelisam.blogspot.com/2010/09/how-to-cope-with-changing-requirements.html", "published_at": "2010-09-18T01:20:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b37a558a7", "title": "intra-line diff", "url": "https://gelisam.blogspot.com/2009/12/intra-line-diff.html", "published_at": "2009-12-09T17:01:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b3887105d", "title": "Samuel's Really Straightforward Proof of the Parametricity Result, extended (trivially) to dependent types.", "url": "https://gelisam.blogspot.com/2009/09/samuels-really-straightforward-proof-of.html", "published_at": "2009-09-06T20:37:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b38f4378d", "title": "An even more careful fox", "url": "https://gelisam.blogspot.com/2009/02/even-more-careful-fox.html", "published_at": "2009-02-05T21:29:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b38fae565", "title": "Rant against charitable organizations (and solution)", "url": "https://gelisam.blogspot.com/2009/01/rant-against-charitable-organizations.html", "published_at": "2009-01-24T21:02:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b3997d0eb", "title": "well-foundedness, part 2 of 2: code is data. or is it codata?", "url": "https://gelisam.blogspot.com/2009/01/well-foundedness-part-2-of-2-code-is.html", "published_at": "2009-01-09T20:35:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b3a6edc23", "title": "well-foundedness, part 1 of 2: who cares?", "url": "https://gelisam.blogspot.com/2009/01/well-foundedness-part-1-of-2-who-cares.html", "published_at": "2009-01-09T14:42:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b3a7c83c8", "title": "God exists (with probability one)", "url": "https://gelisam.blogspot.com/2008/12/god-exists-with-probability-one.html", "published_at": "2008-12-25T07:12:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b3adbd645", "title": "Non-standard inhabitants", "url": "https://gelisam.blogspot.com/2008/11/non-standard-inhabitants.html", "published_at": "2008-12-01T03:28:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b3ae9525e", "title": "Axes of the lambda cube", "url": "https://gelisam.blogspot.com/2008/11/axes-of-lambda-cube.html", "published_at": "2008-11-28T16:30:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b3ba6fe7c", "title": "Testing Chrome Overlays", "url": "https://gelisam.blogspot.com/2008/11/testing-chrome-overlays.html", "published_at": "2008-11-27T05:02:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b3c7d4c8c", "title": "I want to be a knowledge engineer!", "url": "https://gelisam.blogspot.com/2008/11/i-want-to-be-knowledge-engineer.html", "published_at": "2008-11-02T19:32:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b3d166555", "title": "Rant against beamer's shaky animation support (and solution)", "url": "https://gelisam.blogspot.com/2008/10/rant-against-beamers-shaky-animation.html", "published_at": "2008-10-29T23:40:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b3dac579a", "title": "Designing a mergeable filesystem structure", "url": "https://gelisam.blogspot.com/2008/10/designing-mergeable-filesystem.html", "published_at": "2008-10-21T19:36:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b3e81f954", "title": "Rant against merge conflicts (and a solution strategy)", "url": "https://gelisam.blogspot.com/2008/10/rant-against-merge-conflicts-and.html", "published_at": "2008-10-19T20:15:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b3f77b848", "title": "Rant against choices (and solution)", "url": "https://gelisam.blogspot.com/2008/10/rant-against-choices-and-solution.html", "published_at": "2008-10-18T23:52:00+00:00" }, { "id": "01a0c528-6606-710b-a905-b49b3ff327b2", "title": "Google's badware hoop (and solution)", "url": "https://gelisam.blogspot.com/2008/08/googles-badware-hoop-and-solution.html", "published_at": "2008-08-27T14:42:00+00:00" }, { "id": "01a0c533-7658-72b8-b9b3-2116a267216c", "title": "filenamed", "url": "https://gelisam.blogspot.com/2008/08/filenamed.html", "published_at": "2008-08-06T20:39:00+00:00" }, { "id": "01a0c533-7658-72b8-b9b3-2116a318257d", "title": "Rant against .gitkeep (and solution)", "url": "https://gelisam.blogspot.com/2008/06/rant-against-gitkeep-and-solution.html", "published_at": "2008-06-05T03:54:00+00:00" }, { "id": "01a0c533-7658-72b8-b9b3-2116a396948f", "title": "Rant against Firefox version checks (and solution)", "url": "https://gelisam.blogspot.com/2008/05/rant-against-firefox-version-checks-and.html", "published_at": "2008-05-31T19:56:00+00:00" }, { "id": "01a0c533-7658-72b8-b9b3-2116a3d5a90f", "title": "Gmail's fullscreen mode (and solution)", "url": "https://gelisam.blogspot.com/2008/05/gmails-fullscreen-mode-and-solution.html", "published_at": "2008-05-30T01:40:00+00:00" }, { "id": "01a0c533-7658-72b8-b9b3-2116a42c2377", "title": "Rant against sidebars (and solution)", "url": "https://gelisam.blogspot.com/2008/05/rant-against-sidebars-and-solution.html", "published_at": "2008-05-12T15:38:00+00:00" }, { "id": "01a0c533-7658-72b8-b9b3-2116a4633416", "title": "Gmail signature bookmarklet", "url": "https://gelisam.blogspot.com/2008/02/gmail-signature-bookmarklet.html", "published_at": "2008-02-29T05:09:00+00:00" }, { "id": "01a0c533-7658-72b8-b9b3-2116a4a9462d", "title": "Of comonads and nightclubs", "url": "https://gelisam.blogspot.com/2007/04/of-comonads-and-nightclubs.html", "published_at": "2007-04-29T15:05:00+00:00" }, { "id": "01a0c533-7658-72b8-b9b3-2116a5a32728", "title": "I understand comonads", "url": "https://gelisam.blogspot.com/2007/04/i-understand-comonads.html", "published_at": "2007-04-28T16:18:00+00:00" }, { "id": "01a0c533-7658-72b8-b9b3-2116a61290b1", "title": "Cumulative DSLs", "url": "https://gelisam.blogspot.com/2006/11/cumulative-dsls.html", "published_at": "2006-11-10T15:08:00+00:00" }, { "id": "01a0c533-7658-72b8-b9b3-2116a62788b3", "title": "Monads as Universe Helpers", "url": "https://gelisam.blogspot.com/2006/10/monads-as-universe-helpers.html", "published_at": "2006-10-29T00:05:00+00:00" }, { "id": "01a0c533-7658-72b8-b9b3-2116a65d4747", "title": "Lisp is Low-Level", "url": "https://gelisam.blogspot.com/2006/08/lisp-is-low-level.html", "published_at": "2006-08-20T12:10:00+00:00" } ] posts Claim your blog
Back to gelisam.blogspot.com
Blog · corpus.blog/blogs/gelisam.blogspot.com/posts

gelisam.blogspot.com

gelisam.blogspot.com

2026

2025

2023

2020

2018

2017

2015

2014

2013

2012

2011

2010

2009

2008

2007

2006