{"version":"https://jsonfeed.org/version/1","title":"Micro.blog - Martin Fowler","home_page_url":"https://micro.blog","feed_url":"https://micro.blog/posts/mfowler@toot.thoughtworks.com","_microblog":{"about":"https://micro.blog/about/api","id":"176598","username":"mfowler@toot.thoughtworks.com","bio":"Author and loudmouth on software development. Works at Thoughtworks.  Also hikes, watches theater, and plays modern board games.","pronouns":"","is_following":false,"is_you":false,"following_count":0,"discover_count":0},"author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://micro.blog/photos/200/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg"},"items":[{"id":"89720892","content_html":"<p><span class=\"h-card\"><a href=\"https://micro.blog/holgerfrohloff\" class=\"u-url mention\">@<span>holger</span></a></span> sorry - forgot to include that link. Thanks for pointing it out. I've added it to the post - <a href=\"https://willemvandenende.com/blog/engineering/my-local-agentic-dev-setup-today\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">willemvandenende.com/blog/engi</span><span class=\"invisible\">neering/my-local-agentic-dev-setup-today</span></a></p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/116528378789329529","date_published":"2026-05-06T15:39:11+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-05-06 15:39","date_timestamp":1778081951,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"89684615","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.online/@royalrex\" class=\"u-url mention\">@<span>royalrex</span></a></span> And thank you for letting me know. Not sure how that space got in there....</p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/116525397986736923","date_published":"2026-05-06T03:01:08+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-05-06 03:01","date_timestamp":1778036468,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"89650104","content_html":"<p>Fragments: open-source framework for prompting patterns, musician sues google for defamation, apple is thinking differently about AI spending, running LLMs locally, will The Genie be caught in the tar pit?</p><p><a href=\"https://martinfowler.com/fragments/2026-05-05.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/fragments/202</span><span class=\"invisible\">6-05-05.html</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116522900715220447","date_published":"2026-05-05T16:26:02+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-05-05 16:26","date_timestamp":1777998362,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"89241544","content_html":"<p>Fragments: updated guide on AI coding, video on harness engineering, how long should a function be, the problems of Software Brain and why AI is unpopular</p><p><a href=\"https://martinfowler.com/fragments/2026-04-29.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/fragments/202</span><span class=\"invisible\">6-04-29.html</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116488217026795471","date_published":"2026-04-29T13:25:31+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-04-29 13:25","date_timestamp":1777469131,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"89167970","content_html":"<p>NEW POST</p><p>Thoughtworks internal IT use a workflow for agentic programming called Structured-Prompt-Driven Development (SPDD). Wei Zhang and Jessie Jie Xia describe how this works with a simple example with details in a github project. </p><p><a href=\"https://martinfowler.com/articles/structured-prompt-driven/\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/articles/stru</span><span class=\"invisible\">ctured-prompt-driven/</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116482482798280858","date_published":"2026-04-28T13:07:14+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-04-28 13:07","date_timestamp":1777381634,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"88709503","content_html":"<p>Fragments: 34th Thoughtworks Technology Radar, what happens when developers don't read the LLM's code, DirectFile and tech in large organizations</p><p><a href=\"https://martinfowler.com/fragments/2026-04-21.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/fragments/202</span><span class=\"invisible\">6-04-21.html</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116443208268490443","date_published":"2026-04-21T14:39:12+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-04-21 14:39","date_timestamp":1776782352,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"88255442","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodonapp.uk/@sf105\" class=\"u-url mention\">@<span>sf105</span></a></span> Not before I found the clips/film on youtube. What stuck in my memory was the necessity of a philosophical conversation.</p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/116404924225742469","date_published":"2026-04-14T20:23:04+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-04-14 20:23","date_timestamp":1776198184,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"88230886","content_html":"<p>Fragments: pragmatic summit video with Kent and Gergely, virtue of laziness, TDD and prompts, inspiration from Dark Star</p><p><a href=\"https://martinfowler.com/fragments/2026-04-14.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/fragments/202</span><span class=\"invisible\">6-04-14.html</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116403268047338176","date_published":"2026-04-14T13:21:53+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-04-14 13:21","date_timestamp":1776172913,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"88133071","content_html":"<p><span class=\"h-card\"><a href=\"https://mstdn.social/@marick\" class=\"u-url mention\">@<span>marick</span></a></span> his boss is also pretty remarkable. If I was a politician anywhere outside the US the priority #1 is how to get my opponent endorsed by Trump.</p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/116394755587486305","date_published":"2026-04-13T01:17:03+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-04-13 01:17","date_timestamp":1776043023,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"88046294","content_html":"<p>Last night I saw Central Square Theater’s excellent production of Breaking the Code. It’s about Alan Turing, who made a monumental contribution to both my profession and the fate of free democracies. Well worth seeing if you’re in the Boston area this month.</p><p><a href=\"https://www.centralsquaretheater.org/shows/breaking-the-code-2026/\"><span class=\"invisible\">https://www.</span><span class=\"ellipsis\">centralsquaretheater.org/shows</span><span class=\"invisible\">/breaking-the-code-2026/</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116386222672895145","date_published":"2026-04-11T13:07:01+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-04-11 13:07","date_timestamp":1775912821,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"87908216","content_html":"<p>Fragments: two podcasts, a worryingly well-done supply-chain attack, framework for tech documentation, and a particularly thoughtful AI coding experience</p><p><a href=\"https://martinfowler.com/fragments/2026-04-09.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/fragments/202</span><span class=\"invisible\">6-04-09.html</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116374971113810860","date_published":"2026-04-09T13:25:36+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-04-09 13:25","date_timestamp":1775741136,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"87838375","content_html":"<p>NEW POST</p><p>Rahul Garg finishes his series on reducing the friction in AI-Assisted Development. He proposes a structured  practice that takes learnings from AI sessions and feeds them back into the team's shared artifacts, turning individual experience into collective improvement.</p><p><a href=\"https://martinfowler.com/articles/reduce-friction-ai/feedback-flywheel.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/articles/redu</span><span class=\"invisible\">ce-friction-ai/feedback-flywheel.html</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116369356949461889","date_published":"2026-04-08T13:37:51+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-04-08 13:37","date_timestamp":1775655471,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"87765182","content_html":"<p>NEW POST</p><p>Modern hardware is remarkably fast, but software often fails to leverage it. Caer Sanders guides his work with mechanical sympathy - software that is sympathetic to its underlying hardware. He distills this practice into everyday principles: predictable memory access, awareness of cache lines, single-writer, and natural batching.</p><p><a href=\"https://martinfowler.com/articles/mechanical-sympathy-principles.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/articles/mech</span><span class=\"invisible\">anical-sympathy-principles.html</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116363710520615765","date_published":"2026-04-07T13:41:53+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-04-07 13:41","date_timestamp":1775569313,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"87482816","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@panmanphil\" class=\"u-url mention\">@<span>panmanphil</span></a></span> In the legacy context, the LLM can point you to the relevant areas of the code, so you can verify what's happening. Basically following the notion of never trust the genie's answers but do use it to help you find the answers.</p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/116336534743741217","date_published":"2026-04-02T18:30:43+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-04-02 18:30","date_timestamp":1775154643,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"87476892","content_html":"<p>Fragments: three layers of system health, AI as cognitive system 3, what's expensive if agents make coding free, and the future of source code</p><p><a href=\"https://martinfowler.com/fragments/2026-04-02.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/fragments/202</span><span class=\"invisible\">6-04-02.html</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116336113192965252","date_published":"2026-04-02T16:43:31+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-04-02 16:43","date_timestamp":1775148211,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"87464963","content_html":"<p>NEW POST</p><p><span class=\"h-card\"><a href=\"https://toot.thoughtworks.com/@bboeckel\" class=\"u-url mention\">@<span>bboeckel</span></a></span> wrote some initial thoughts about Harness Engineering last month. She's been researching and thinking more about this in the weeks since and has now written a thoughtful mental model for understanding harness engineering that we think will help people to drive coding agents more effectively.</p><p><a href=\"https://martinfowler.com/articles/harness-engineering.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/articles/harn</span><span class=\"invisible\">ess-engineering.html</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116335331149199736","date_published":"2026-04-02T13:24:38+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-04-02 13:24","date_timestamp":1775136278,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"87327043","content_html":"<p>NEW POST</p><p>The quality of what AI coding assistants produce depends on how well the prompter articulates team standards. Rahul Garg proposes treating such instructions as infrastructure: versioned, reviewed, and shared artifacts.</p><p><a href=\"https://martinfowler.com/articles/reduce-friction-ai/encoding-team-standards.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/articles/redu</span><span class=\"invisible\">ce-friction-ai/encoding-team-standards.html</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116324479387204562","date_published":"2026-03-31T15:24:53+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-03-31 15:24","date_timestamp":1774970693,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"87016267","content_html":"<p>Fragments: 80,000 people's opinion on AI, fixing the common gap in spec-driven development, weakening defenses against covert attacks on the U.S.</p><p><a href=\"https://martinfowler.com/fragments/2026-03-26.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/fragments/202</span><span class=\"invisible\">6-03-26.html</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116296606992323111","date_published":"2026-03-26T17:16:34+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-03-26 17:16","date_timestamp":1774545394,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"86863719","content_html":"<p>NEW POST</p><p>ADRs are short documents that capture a decision, structured into logs that reveal a history of architectural thinking for a product</p><p><a href=\"https://martinfowler.com/bliki/ArchitectureDecisionRecord.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/bliki/Archite</span><span class=\"invisible\">ctureDecisionRecord.html</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116284886338044351","date_published":"2026-03-24T15:35:51+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-03-24 15:35","date_timestamp":1774366551,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"86540251","content_html":"<p>Fragments: code review isn't just catching bugs, what role for observability in agentic programming, what we lose with GPS over maps</p><p><a href=\"https://martinfowler.com/fragments/2026-03-19.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/fragments/202</span><span class=\"invisible\">6-03-19.html</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116256667511473067","date_published":"2026-03-19T15:59:26+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-03-19 15:59","date_timestamp":1773935966,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"86385148","content_html":"<p>NEW POST</p><p>Conversations with AI are ephemeral, decisions made early lose attention as the conversation continues, and disappear entirely with a new session. Rahul Garg explains how Context Anchoring externalizes the decision context into a living document.</p><p><a href=\"https://martinfowler.com/articles/reduce-friction-ai/context-anchoring.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/articles/redu</span><span class=\"invisible\">ce-friction-ai/context-anchoring.html</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116244895102114898","date_published":"2026-03-17T14:05:33+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-03-17 14:05","date_timestamp":1773756333,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"86313593","content_html":"<p>Fragments: supervisory engineering, 2 sets of 8 levels, generating code to an architecture, perils of detecting AI-aided writing, should humans review code?</p><p><a href=\"https://martinfowler.com/fragments/2026-03-16.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/fragments/202</span><span class=\"invisible\">6-03-16.html</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116239293466428030","date_published":"2026-03-16T14:20:59+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-03-16 14:20","date_timestamp":1773670859,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"85966904","content_html":"<p><span class=\"h-card\"><a href=\"https://hachyderm.io/@clark\" class=\"u-url mention\">@<span>clark</span></a></span> I too enjoy that amusement.</p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/116210357591987540","date_published":"2026-03-11T11:42:13+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-03-11 11:42","date_timestamp":1773229333,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"85914920","content_html":"<p>Fragments: reporting fines, engaging with gen AI, experience engineering, watching the ralph loop, migrating COBOL</p><p><a href=\"https://martinfowler.com/fragments/2026-03-10.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/fragments/202</span><span class=\"invisible\">6-03-10.html</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116206159960661395","date_published":"2026-03-10T17:54:42+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-03-10 17:54","date_timestamp":1773165282,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"85735904","content_html":"<p><span class=\"h-card\"><a href=\"https://mstdn.social/@marick\" class=\"u-url mention\">@<span>marick</span></a></span> My favorite Irish is Redbreast.</p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/116190508138857036","date_published":"2026-03-07T23:34:14+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-03-07 23:34","date_timestamp":1772926454,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"85561157","content_html":"<p>NEW POST</p><p>Naresh Jain has long had a discomfort with software patents. But a direct experience of patent aggression, together with the practical constraints faced by startups, led him to resort to defensive patenting as as a shield in this asymmetric legal environment.</p><p><a href=\"https://martinfowler.com/articles/patents-reluctant-pragmatism.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/articles/pate</span><span class=\"invisible\">nts-reluctant-pragmatism.html</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116176938543301191","date_published":"2026-03-05T14:03:19+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-03-05 14:03","date_timestamp":1772719399,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"85490276","content_html":"<p>NEW POST</p><p>There's been much talk about how AI agents affect the workflow loops of software development. Kief Morris focuses on the goal of turning ideas into outcomes by building and managing the working loop.</p><p><a href=\"https://martinfowler.com/articles/exploring-gen-ai/humans-and-agents.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/articles/expl</span><span class=\"invisible\">oring-gen-ai/humans-and-agents.html</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116171544303198383","date_published":"2026-03-04T15:11:29+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-03-04 15:11","date_timestamp":1772637089,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"85411110","content_html":"<p>NEW POST</p><p>Rahul Garg describes a structured conversation with an AI agent that mirrors whiteboarding with a human pair: progressive levels of design alignment before any code, reducing cognitive load, and catching misunderstandings at the cheapest possible moment.</p><p><a href=\"https://martinfowler.com/articles/reduce-friction-ai/design-first-collaboration.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/articles/redu</span><span class=\"invisible\">ce-friction-ai/design-first-collaboration.html</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116165616920802486","date_published":"2026-03-03T14:04:04+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-03-03 14:04","date_timestamp":1772546644,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"85002090","content_html":"<p>Fragments: how organizations are using AI, reflections from the Utah retreat, agentic engineering patterns, inserting friction for security, training biological neural networks</p><p><a href=\"https://martinfowler.com/fragments/2026-02-25.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/fragments/202</span><span class=\"invisible\">6-02-25.html</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116131870823171919","date_published":"2026-02-25T15:02:00+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-02-25 15:02","date_timestamp":1772031720,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"84927211","content_html":"<p>NEW POST</p><p>Rahul Garg sees a frustration loop when working with AI and identified five patterns to help. Here's  the first: priming the LLM with knowledge about the codebase and preferred coding patterns.</p><p><a href=\"https://martinfowler.com/articles/reduce-friction-ai/knowledge-priming.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/articles/redu</span><span class=\"invisible\">ce-friction-ai/knowledge-priming.html</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116126171527579107","date_published":"2026-02-24T14:52:35+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-02-24 14:52","date_timestamp":1771944755,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"84847173","content_html":"<p>Fragments: security with OpenClaw, impressions from Pragmatic Summit, era of highly bespoke software, life-size pocket map</p><p><a href=\"https://martinfowler.com/fragments/2026-02-23.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/fragments/202</span><span class=\"invisible\">6-02-23.html</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116119989172341827","date_published":"2026-02-23T12:40:20+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-02-23 12:40","date_timestamp":1771850420,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"84590688","content_html":"<p>Fragments: LLMs make our days harder, an LLM reacts badly to a rejected pull request, the Promptware Kill Chain, horror and elation trying Claude Code for two weeks, Free Speech Poseurs' silence to real threats</p><p><a href=\"https://martinfowler.com/fragments/2026-02-19.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/fragments/202</span><span class=\"invisible\">6-02-19.html</span></a></p>","summary":"","url":"https://toot.thoughtworks.com/@mfowler/116097826009462254","date_published":"2026-02-19T14:43:57+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-02-19 14:43","date_timestamp":1771512237,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"84510593","content_html":"<p><span class=\"h-card\"><a href=\"https://hachyderm.io/@bocytko\" class=\"u-url mention\">@<span>bocytko</span></a></span> Thanks for that, I've added a link to the Peltomäki article</p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/116091780746858581","date_published":"2026-02-18T13:06:34+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-02-18 13:06","date_timestamp":1771419994,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"84273132","content_html":"<p><span class=\"h-card\"><a href=\"https://hachyderm.io/@mikebroberts\" class=\"u-url mention\">@<span>mikebroberts</span></a></span> I ought to export that data too - what approach did you use for the export?</p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/116070420840930835","date_published":"2026-02-14T18:34:28+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2026-02-14 18:34","date_timestamp":1771094068,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"74610091","content_html":"<p><span class=\"h-card\"><a href=\"https://mstdn.social/@marick\" class=\"u-url mention\">@<span>marick</span></a></span> I would pay good money for a cat that preys on squirrels.</p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/115288047453887096","date_published":"2025-09-29T14:26:37+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2025-09-29 14:26","date_timestamp":1759155997,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"71654369","content_html":"<p><span class=\"h-card\"><a href=\"https://hachyderm.io/@mikebroberts\" class=\"u-url mention\">@<span>mikebroberts</span></a></span> You didn't have the right color shirt?</p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/115061054228107261","date_published":"2025-08-20T12:19:15+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2025-08-20 12:19","date_timestamp":1755692355,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"71303460","content_html":"<p><span class=\"h-card\"><a href=\"https://mstdn.social/@marick\" class=\"u-url mention\">@<span>marick</span></a></span> I don't know that I get any response. I've not bothered to check traffic to those pages.</p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/115032877672400370","date_published":"2025-08-15T12:53:35+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2025-08-15 12:53","date_timestamp":1755262415,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"71267619","content_html":"<p><span class=\"h-card\"><a href=\"https://mstdn.social/@marick\" class=\"u-url mention\">@<span>marick</span></a></span> I do much the same when I post to pages on my own website - particularly the noun-form bliki posts. So we're two cracks in the pot.</p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/115029634556486748","date_published":"2025-08-14T23:08:49+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2025-08-14 23:08","date_timestamp":1755212929,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"71113207","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@cpurdy\" class=\"u-url mention\">@<span>cpurdy</span></a></span> I think it's reasonable that, when folks see a phenomenon that they want to refer to more easily, and/or encourage others to use, they try to give it an evocative name. Most of these terms will get lost in the void, but some will catch on. At least we do better than doctors and lawyers and avoid using Latin or Greek.</p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/115018260804755637","date_published":"2025-08-12T22:56:19+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2025-08-12 22:56","date_timestamp":1755039379,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"71084840","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@cpurdy\" class=\"u-url mention\">@<span>cpurdy</span></a></span> Maybe, as the inadvertent creator of \"Strangler App\" I can hardly throw stones. It seems a decent phrase to encapsulate what he's trying to describe.</p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/115016615205049403","date_published":"2025-08-12T15:57:50+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2025-08-12 15:57","date_timestamp":1755014270,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"70717895","content_html":"<p><span class=\"h-card\"><a href=\"https://mstdn.social/@marick\" class=\"u-url mention\">@<span>marick</span></a></span> I find I like to combine dot plots with box plots (at least for smaller data sets). The dots provide are easy to intuitively understand while the box's median and quartiles are useful benchmarks (eg in <a href=\"https://martinfowler.com/articles/2025-social-traffic.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">martinfowler.com/articles/2025</span><span class=\"invisible\">-social-traffic.html</span></a>)</p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/114988315643273585","date_published":"2025-08-07T16:00:53+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2025-08-07 16:00","date_timestamp":1754582453,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"68649778","content_html":"<p><span class=\"h-card\"><a href=\"https://jasette.facil.services/@louisrcouture\" class=\"u-url mention\">@<span>louisrcouture</span></a></span> Yes - but that' an exception</p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/114829601010160140","date_published":"2025-07-10T15:17:39+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2025-07-10 15:17","date_timestamp":1752160659,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"68405172","content_html":"<p><span class=\"h-card\"><a href=\"https://mas.to/@tastapod\" class=\"u-url mention\">@<span>tastapod</span></a></span> I wanted such a thing a few years ago - with the need to sync between my laptop, iphone, and ipad. I found tapforms, and it has worked well: <a href=\"https://www.tapforms.com\"><span class=\"invisible\">https://www.</span><span class=\"\">tapforms.com</span><span class=\"invisible\"></span></a></p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/114812725701828041","date_published":"2025-07-07T15:46:03+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2025-07-07 15:46","date_timestamp":1751903163,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"68047879","content_html":"<p><span class=\"h-card\"><a href=\"https://hachyderm.io/@mikebroberts\" class=\"u-url mention\">@<span>mikebroberts</span></a></span> ❤️</p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/114783938210384819","date_published":"2025-07-02T13:45:00+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2025-07-02 13:45","date_timestamp":1751463900,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"67138288","content_html":"<p><span class=\"h-card\"><a href=\"https://discuss.systems/@rebeccawb\" class=\"u-url mention\">@<span>rebeccawb</span></a></span> Thanks for reminding me of that. I really need to give that article a proper read.</p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/114710238117768862","date_published":"2025-06-19T13:22:06+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2025-06-19 13:22","date_timestamp":1750339326,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"67138188","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@mathling\" class=\"u-url mention\">@<span>mathling</span></a></span> That's a fun metaphor!</p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/114710236105755667","date_published":"2025-06-19T13:21:36+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2025-06-19 13:21","date_timestamp":1750339296,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"66160660","content_html":"<p><span class=\"h-card\"><a href=\"https://mstdn.social/@marick\" class=\"u-url mention\">@<span>marick</span></a></span> I like the idea of making new videos of old songs. Its great when the director and actors have grown up listening to the music they are visualizing.</p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/114638615568475286","date_published":"2025-06-06T21:47:33+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2025-06-06 21:47","date_timestamp":1749246453,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"65965199","content_html":"<p><span class=\"h-card\"><a href=\"https://mas.to/@tastapod\" class=\"u-url mention\">@<span>tastapod</span></a></span> The pricing for fathom is more than I fancy paying for the traffic I get. The more I think about this, the more I'm thinking of something I host myself, which also avoids issues with ad-blockers etc, and I get to control the data I capture and keep. The only question is how much hassle I want to inflict on myself to get it working.</p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/114625720053783793","date_published":"2025-06-04T15:08:03+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2025-06-04 15:08","date_timestamp":1749049683,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"65879998","content_html":"<p><span class=\"h-card\"><a href=\"https://hachyderm.io/@mikebroberts\" class=\"u-url mention\">@<span>mikebroberts</span></a></span> Yes, it's the relative numbers that are interesting. It was useful to know how much traffic was to older articles (and which ones, since just a few drove most of it).</p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/114619755282837326","date_published":"2025-06-03T13:51:08+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2025-06-03 13:51","date_timestamp":1748958668,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"64952170","content_html":"<p><span class=\"h-card\"><a href=\"https://cosocial.ca/@timbray\" class=\"u-url mention\">@<span>timbray</span></a></span> I found it interesting that the first few words \"It sounds like you’re at an important crossroads with\" immediately made me think it was an LLM</p>","url":"https://toot.thoughtworks.com/users/mfowler/statuses/114548248860819497","date_published":"2025-05-21T22:46:06+00:00","author":{"name":"Martin Fowler","url":"https://toot.thoughtworks.com/@mfowler","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Ftoot.thoughtworks.com%2Fsystem%2Faccounts%2Favatars%2F108%2F194%2F288%2F181%2F115%2F508%2Foriginal%2F2ee0914ca6879f0e.jpg","_microblog":{"username":"mfowler@toot.thoughtworks.com"}},"_microblog":{"date_relative":"2025-05-21 22:46","date_timestamp":1747867566,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}}]}