41554 blogs · [ { "id": "01a08767-c164-7289-865c-84ddfdc0c752", "title": "LLM Performance and Following Requirements", "url": "https://492ab3fb.danpalmer-me.pages.dev/2026-08-09-llms-and-requirements/", "published_at": "2026-08-08T23:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c555cd6edc", "title": "LLM Performance and Following Requirements", "url": "https://danpalmer.me/2026-08-09-llms-and-requirements/", "published_at": "2026-08-08T23:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84ddfe02b35f", "title": "What is Simplicity?", "url": "https://492ab3fb.danpalmer-me.pages.dev/2025-06-25-what-is-simplicity/", "published_at": "2025-06-24T23:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c55639ceca", "title": "What is Simplicity?", "url": "https://danpalmer.me/2025-06-25-what-is-simplicity/", "published_at": "2025-06-24T23:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84ddfea9c6ce", "title": "The Rabbit R1 Pricing Myth", "url": "https://492ab3fb.danpalmer-me.pages.dev/2024-05-05-rabbit-r1-pricing/", "published_at": "2024-05-04T23:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c5571a741c", "title": "The Rabbit R1 Pricing Myth", "url": "https://danpalmer.me/2024-05-05-rabbit-r1-pricing/", "published_at": "2024-05-04T23:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84ddff1810e1", "title": "Trust in SaaS", "url": "https://492ab3fb.danpalmer-me.pages.dev/2024-03-23-trust-in-saas/", "published_at": "2024-03-23T00:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c558038b67", "title": "Trust in SaaS", "url": "https://danpalmer.me/2024-03-23-trust-in-saas/", "published_at": "2024-03-23T00:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84ddffddf020", "title": "Joins Don't Scale", "url": "https://492ab3fb.danpalmer-me.pages.dev/2023-04-02-joins-dont-scale/", "published_at": "2023-04-01T23:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c558472541", "title": "Joins Don't Scale", "url": "https://danpalmer.me/2023-04-02-joins-dont-scale/", "published_at": "2023-04-01T23:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de000477e8", "title": "Engineering with Code Ownership", "url": "https://492ab3fb.danpalmer-me.pages.dev/2023-03-31-engineering-with-code-ownership/", "published_at": "2023-03-30T23:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c5587d862b", "title": "Engineering with Code Ownership", "url": "https://danpalmer.me/2023-03-31-engineering-with-code-ownership/", "published_at": "2023-03-30T23:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de004a0521", "title": "A Journey in E-commerce Search", "url": "https://492ab3fb.danpalmer-me.pages.dev/2023-01-15-ecommerce-search-journey/", "published_at": "2023-01-15T00:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c55923e5e0", "title": "A Journey in E-commerce Search", "url": "https://danpalmer.me/2023-01-15-ecommerce-search-journey/", "published_at": "2023-01-15T00:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de0129e03b", "title": "Activity Pub vs Web Frameworks", "url": "https://492ab3fb.danpalmer-me.pages.dev/2023-01-08-activitypub-vs-web-frameworks/", "published_at": "2023-01-08T00:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c559c95c38", "title": "Activity Pub vs Web Frameworks", "url": "https://danpalmer.me/2023-01-08-activitypub-vs-web-frameworks/", "published_at": "2023-01-08T00:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de01d28b54", "title": "Developing Raycast Extensions", "url": "https://492ab3fb.danpalmer-me.pages.dev/2022-09-13-raycast-extension-dev/", "published_at": "2022-09-12T23:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c55a1d1385", "title": "Developing Raycast Extensions", "url": "https://danpalmer.me/2022-09-13-raycast-extension-dev/", "published_at": "2022-09-12T23:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de0230384f", "title": "Write Your Own Task Queue", "url": "https://492ab3fb.danpalmer-me.pages.dev/2022-09-10-write-your-own-task-queue/", "published_at": "2022-09-09T23:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c55a1d8d7d", "title": "Write Your Own Task Queue", "url": "https://danpalmer.me/2022-09-10-write-your-own-task-queue/", "published_at": "2022-09-09T23:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de0278e866", "title": "Implicit Hiring Criteria", "url": "https://492ab3fb.danpalmer-me.pages.dev/2021-09-11-implicit-hiring-criteria/", "published_at": "2021-09-10T23:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c55a9d9cd5", "title": "Implicit Hiring Criteria", "url": "https://danpalmer.me/2021-09-11-implicit-hiring-criteria/", "published_at": "2021-09-10T23:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de03377215", "title": "Cross-Cutting Concerns in Library Design", "url": "https://492ab3fb.danpalmer-me.pages.dev/2021-05-03-cross-cutting-concerns-library-design/", "published_at": "2021-05-02T23:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c55aa51463", "title": "Cross-Cutting Concerns in Library Design", "url": "https://danpalmer.me/2021-05-03-cross-cutting-concerns-library-design/", "published_at": "2021-05-02T23:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de0351c907", "title": "Kubernetes is Not a Hosting Platform", "url": "https://492ab3fb.danpalmer-me.pages.dev/2021-03-20-kubernetes-is-not-a-hosting-platform/", "published_at": "2021-03-20T00:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c55b634d68", "title": "Kubernetes is Not a Hosting Platform", "url": "https://danpalmer.me/2021-03-20-kubernetes-is-not-a-hosting-platform/", "published_at": "2021-03-20T00:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de0393557d", "title": "CVE-2020-13254", "url": "https://492ab3fb.danpalmer-me.pages.dev/2020-06-07-django-memcache-vulnerability/", "published_at": "2020-06-06T23:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c55c4a065f", "title": "CVE-2020-13254", "url": "https://danpalmer.me/2020-06-07-django-memcache-vulnerability/", "published_at": "2020-06-06T23:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de03e1abe8", "title": "Learning from Board Game Design", "url": "https://492ab3fb.danpalmer-me.pages.dev/2020-05-18-board-game-design/", "published_at": "2020-05-17T23:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c55cea2500", "title": "Learning from Board Game Design", "url": "https://danpalmer.me/2020-05-18-board-game-design/", "published_at": "2020-05-17T23:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de0409d07d", "title": "Is this what modern web development is?", "url": "https://492ab3fb.danpalmer-me.pages.dev/2020-05-08-dhh-on-express/", "published_at": "2020-05-07T23:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c55dc3708b", "title": "Is this what modern web development is?", "url": "https://danpalmer.me/2020-05-08-dhh-on-express/", "published_at": "2020-05-07T23:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de046af372", "title": "Requirements change for the better", "url": "https://492ab3fb.danpalmer-me.pages.dev/2020-02-17-back-to-the-future/", "published_at": "2020-02-17T00:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c55e05a048", "title": "Requirements change for the better", "url": "https://danpalmer.me/2020-02-17-back-to-the-future/", "published_at": "2020-02-17T00:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de051ffcad", "title": "Enron: The Smartest Guys in the Room", "url": "https://492ab3fb.danpalmer-me.pages.dev/2020-01-14-enron/", "published_at": "2020-01-14T00:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c55e2cf7b5", "title": "Enron: The Smartest Guys in the Room", "url": "https://danpalmer.me/2020-01-14-enron/", "published_at": "2020-01-14T00:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de06131cce", "title": "The Checklist Manifesto – Atul Gawande", "url": "https://492ab3fb.danpalmer-me.pages.dev/2019-09-22-checklist-manifesto/", "published_at": "2019-09-21T23:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c55ee2d41b", "title": "The Checklist Manifesto – Atul Gawande", "url": "https://danpalmer.me/2019-09-22-checklist-manifesto/", "published_at": "2019-09-21T23:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de0632848c", "title": "Design Issues of Sign in with Apple", "url": "https://492ab3fb.danpalmer-me.pages.dev/2019-07-02-on-signing-in-with-apple/", "published_at": "2019-07-04T23:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c55f8ba623", "title": "Design Issues of Sign in with Apple", "url": "https://danpalmer.me/2019-07-02-on-signing-in-with-apple/", "published_at": "2019-07-04T23:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de06dc7448", "title": "GraphQL Interfaces vs Unions", "url": "https://492ab3fb.danpalmer-me.pages.dev/2018-10-28-graphql-interfaces-vs-unions/", "published_at": "2018-10-27T23:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c5608549be", "title": "GraphQL Interfaces vs Unions", "url": "https://danpalmer.me/2018-10-28-graphql-interfaces-vs-unions/", "published_at": "2018-10-27T23:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de07598bc7", "title": "Scaling Django Codebases at PyCon UK 2017", "url": "https://492ab3fb.danpalmer-me.pages.dev/2018-03-02-scaling-django-codebases/", "published_at": "2018-03-02T00:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c560dc2697", "title": "Scaling Django Codebases at PyCon UK 2017", "url": "https://danpalmer.me/2018-03-02-scaling-django-codebases/", "published_at": "2018-03-02T00:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de0798af5a", "title": "How and why we teach non-engineers to use GitHub at Thread", "url": "https://492ab3fb.danpalmer-me.pages.dev/2018-01-04-teaching-non-engineers-how-to-contribute-code/", "published_at": "2018-01-04T00:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c561b98604", "title": "How and why we teach non-engineers to use GitHub at Thread", "url": "https://danpalmer.me/2018-01-04-teaching-non-engineers-how-to-contribute-code/", "published_at": "2018-01-04T00:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de086ae24c", "title": "Starting a Snap site with Stack and Persistent", "url": "https://492ab3fb.danpalmer-me.pages.dev/2016-06-19-starting-snap/", "published_at": "2016-06-18T23:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c562570491", "title": "Starting a Snap site with Stack and Persistent", "url": "https://danpalmer.me/2016-06-19-starting-snap/", "published_at": "2016-06-18T23:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de09526dbf", "title": "Haskell Web Frameworks", "url": "https://492ab3fb.danpalmer-me.pages.dev/2016-06-04-haskell-web-frameworks/", "published_at": "2016-06-03T23:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c562663f15", "title": "Haskell Web Frameworks", "url": "https://danpalmer.me/2016-06-04-haskell-web-frameworks/", "published_at": "2016-06-03T23:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de0a2778ac", "title": "Achieving Full Marks on Qualys SSL Labs", "url": "https://492ab3fb.danpalmer-me.pages.dev/2015-03-23-ssl-labs-grade-a/", "published_at": "2015-03-23T00:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c562efacb7", "title": "Achieving Full Marks on Qualys SSL Labs", "url": "https://danpalmer.me/2015-03-23-ssl-labs-grade-a/", "published_at": "2015-03-23T00:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de0a697432", "title": "Your API is not RESTful", "url": "https://492ab3fb.danpalmer-me.pages.dev/2015-01-03-your-api-is-not-restful/", "published_at": "2015-01-03T00:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c56370a83c", "title": "Your API is not RESTful", "url": "https://danpalmer.me/2015-01-03-your-api-is-not-restful/", "published_at": "2015-01-03T00:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de0b643e7e", "title": "MongoDB Misinformation", "url": "https://492ab3fb.danpalmer-me.pages.dev/2014-05-13-mongodbs-new-whitepaper/", "published_at": "2014-05-12T23:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c563cce67e", "title": "MongoDB Misinformation", "url": "https://danpalmer.me/2014-05-13-mongodbs-new-whitepaper/", "published_at": "2014-05-12T23:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de0c46a441", "title": "Stripe CTF 3.0", "url": "https://492ab3fb.danpalmer-me.pages.dev/2014-01-30-stripe-ctf/", "published_at": "2014-01-30T00:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c56422541e", "title": "Stripe CTF 3.0", "url": "https://danpalmer.me/2014-01-30-stripe-ctf/", "published_at": "2014-01-30T00:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de0d0b9ab0", "title": "Objective-C", "url": "https://492ab3fb.danpalmer-me.pages.dev/2013-10-12-objective-c/", "published_at": "2013-10-11T23:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c56484f63c", "title": "Objective-C", "url": "https://danpalmer.me/2013-10-12-objective-c/", "published_at": "2013-10-11T23:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de0d3658e6", "title": "Unlocking Hillsborough", "url": "https://492ab3fb.danpalmer-me.pages.dev/2013-04-06-unlocking-hillsborough/", "published_at": "2013-04-05T23:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c564d51048", "title": "Unlocking Hillsborough", "url": "https://danpalmer.me/2013-04-06-unlocking-hillsborough/", "published_at": "2013-04-05T23:00:00+00:00" }, { "id": "01a08767-c164-7289-865c-84de0d8e0eb0", "title": "GitHub's Security Vulnerabilities", "url": "https://492ab3fb.danpalmer-me.pages.dev/2012-04-19-githubs-security-vulnerabilities/", "published_at": "2012-04-18T23:00:00+00:00" }, { "id": "01a0c505-d62a-73ff-a3f0-d1c565d24113", "title": "GitHub's Security Vulnerabilities", "url": "https://danpalmer.me/2012-04-19-githubs-security-vulnerabilities/", "published_at": "2012-04-18T23:00:00+00:00" } ] posts Claim your blog
Back to danpalmer
Blog · corpus.blog/blogs/danpalmer.me/posts

danpalmer

danpalmer.me

2026

2025

2024

2023

2022

2021

2020

2019

2018

2016

2015

2014

2013

2012