{
    "items": [
        {
            "type": [
                "h-feed"
            ],
            "properties": {
                "name": [
                    "Interdependent Thoughts"
                ],
                "summary": [
                    "by Ton Z\u0133lstra"
                ],
                "url": [
                    "https://www.zylstra.org/blog/",
                    "https://www.zylstra.org/blog/2026/05/a-short-walk/",
                    "https://ruk.ca/",
                    "https://mastodon.social/@ricmac"
                ],
                "content": [
                    {
                        "html": "by Ton Z\u0133lstra",
                        "value": "by Ton Z\u0133lstra",
                        "lang": "en-us"
                    }
                ]
            },
            "lang": "en-us",
            "children": [
                {
                    "type": [
                        "h-entry"
                    ],
                    "properties": {
                        "name": [
                            "Three AI Helper Experiments in Information Habits"
                        ],
                        "author": [
                            "Ton Zijlstra",
                            "Ton Zijlstra"
                        ],
                        "category": [
                            "AI",
                            "claudecode",
                            "infostrats"
                        ],
                        "url": [
                            "https://www.zylstra.org/blog/2026/04/three-ai-experiments-information-habits/",
                            "https://www.zylstra.org/blog/2026/04/three-ai-experiments-information-habits/"
                        ],
                        "updated": [
                            "2026-04-24T09:35:15+02:00"
                        ],
                        "published": [
                            "2026-04-24T09:35:15+02:00"
                        ],
                        "content": [
                            {
                                "html": "<div class=\"e-content\">\n<p>In the past week I\u2019ve started three personal experiments that use AI (in this case Claude Code). For each, the experiment lies in automating steps in my cognitive work that are useful or necessary but not the actual cognitive work itself. They\u2019re <em>helper</em> activities, supporting the main task. For two of the three that is the clear focus, the third is slightly different.</p>\n<p>The three experiments are:</p>\n<ul>\n<li>Filtering on interests in my feed reader, let\u2019s call it \u2018Weak-tAIs\u2019.</li>\n<li>\u2018Slopsidian\u2019, lifting concepts and argumentation from papers into Obsidian notes, and linking them iteratively.</li>\n<li>Explore questions with pre-existing \u2018recipes\u2019 that take a specific philosophical perspective. Perhaps I should dub this type of language game \u2018WittgenstAIn III\u2019. </li>\n</ul>\n<p>It started from an automation task, which I mentioned here: <a href=\"https://www.zylstra.org/blog/2026/04/manipulating-my-e-books/\">manipulating non-fiction e-books</a>. I have a script that I can point to an e-book in my Calibre collection, and then will populate a note with elements from the book: foreword, index and literature list, content overview, all if present, and for each chapter of the book the first and last few paragraphs. This is what I look at and skim whenever I want to gain a first impression and understanding what a book is about, and what questions it addresses or what it proposes. All very <a href=\"https://archive.org/details/howtoreadabook1972edition/page/n1/mode/2up\">Mortimer Adler</a>. From it I can then decide which parts of a book to read more closely, which parts likely contain things I am already familiar with or fall outside my current interest in the book. From those skims I jot down things in my note for the book. This quickly turned out to be useful to me, because it removed the wall between the e-book and my notes by bringing parts of the e-book into my notes temporarily where I could more quickly go through them in preparation for \u2018proper\u2019 reading (although in fact it is part of reading).</p>\n<p>It got me thinking what other helper activities in reading and filtering I could identify.<br>\nHelper activities are tasks that support a main task by making it easier or providing guard rails. Checklists are an example, they ensure that you don\u2019t skip important steps. In most cases nothing will immediately go wrong if you don\u2019t do the helper activity but if you do them the main task gets a little easier to do well. A lot of helper tasks can be regularly automated, like the e-book excerpt script above. Others less so because they contain elements of processing actual texts, like the three experiments I describe here. There perhaps using a model like Claude Code can be of value (and hopefully soon, through local model deployment).</p>\n<p>A brief description of the three experiments:</p>\n<p><strong>Weak tAIs</strong><br>\n<a href=\"https://www.zylstra.org/blog/2019/06/feed-reading-by-social-distance/\">I order my RSS feeds by social distance for reading</a>. Part of the reasoning is that I want to be well informed about what close ties write, but I am aware that interesting information likely comes from a wider social distance. This <a href=\"https://www.zylstra.org/blog/2008/03/some_thoughts_o/\">practice</a> has been in place for some two decades and enormously valuable all that time. The most interesting stuff usually comes from the third layer, a folder named \u2018c150\u2019, in my feedreader: close enough to know who the author is, and engage in interaction if I want, disconnected enough for them to encounter things I am less likely to have already seen myself.  That is the <a href=\"https://www.jstor.org/stable/2776392\">The Strength of Weak Ties (1973)</a> as Granovetter called it.</p>\n<p>I also keep a list of current interests, a bit like Feynman\u2019s dozen or so currently favourite problems.  For each interest I have formulated a few aspects: </p>\n<ul>\n<li>what is conceptually interesting to me in a topic (e.g. my interest in EU digital and data policy conceptually is that it forms a geopolitical proposition externally, while being a quality improvement instrument internally that takes rights and societal values as yardstick), </li>\n<li>am I theoretically interested or more practically, </li>\n<li>do I have a knowledge fundament for the topic or am I a newbie, </li>\n<li>is there a link with any long term goals,</li>\n<li>can it be put into a specific context or tied to a specific issue/question,</li>\n<li>can I shape or create an enduring practice around it, </li>\n<li>can I build a bridge to outputs, like blogposts, presentations, or client proposals</li>\n</ul>\n<p>My feedreader tracks just under five hundred people writing on the open web. That can easily amount to two thousand postings in a week. I can have several intentions to start reading, one of them is to find and read material relevant to my list of current interests. A reading intention does not do away with items, it\u2019s not a filter to remove material. It\u2019s essentially just a <em>view</em> on the entire set of incoming items in the feed reader that I usually construct in my mind. What if I can construct those views on my screen too?<br>\nThe \u2018c150\u2019 social layer, the weak ties, what do they write about that connects to the fields of interest from my list? Such filtering does not lend itself to text based search based on fixed terms. I usually skim titles for first impressions, and click opportunistically through the postings. What if I can have a model weigh the postings and compare them to my list of current interests, to mark them for my attention? In aid of that one specific reading intention.</p>\n<p>That\u2019s what the first experiment does: label postings that seem to fit my interests, and express why. So that I can skim the folder of weak ties by interest, and read those items first if my intention is to explore those interests. I limited it to the c150 folder as feeding all rss feeds into the model is consuming a lot of time and tokens, so I started with the part most likely to bring useful results.<br>\nThe labeling works now as part of my feedreader. I am not yet convinced of the quality of it though. The motivation for the labels usually is along the lines of \"it fits interest X but not in the way you\u2019re looking for\", which to me means it actually doesn\u2019t really fit.</p>\n<p><strong>Slopsidian</strong><br>\nThis week I read an article about AI documenting its own actions and output in a wiki, and saw one or two similar efforts described. I applied that to a different helper task, which is the preparation of reading a paper and helping me to decide to dig deeper. This is similar to skimming a non-fiction book, but more involved. Can AI reliably pull from a paper the concepts used and introduced, and the line of argumentation? Saving them both in a single note for the resource, and in separate notes for each of the concepts? Additionally can it logically link concepts from different resources? This is what an \u2018ingestion skill\u2019 now does for me. I let it store the output it generates in a folder that I can also open as an Obsidian vault, hence the name Slopsidian. The papers come from my Zotero collection, meaning I previously saved them. That original step of curation also means I have a line or two about why I thought them interesting at the time. Feeding that curating decision and the paper into the ingestion skill allows a second order look at a paper. What are the concepts discussed, and, reading the output, do I think some of those are of interest to me? If so, I can look at the paper more closely and do my own note making and paraphrasing and placement in my actual Obsidian collection. Lifting out concepts works rather well, the linking is less useful in the first experiences (too obvious, not sparse enough) and can seem forced when you look at why some concepts get linked.</p>\n<p><strong>WittgenstAIn III</strong><br>\nThe third experiment is a bit more on the edge I think. Here the probabilistic language games that LLMs are have more of a free rein. Part of the university courses on philosophy of science I did 25 years ago was using different philosophical schools of thought as lenses to approach a question. Not to answer the question, that is hardly ever the point after all, but to <em>holding</em> it, and holding it <em>differently</em>. Plato\u2019s essentialism, Kant\u2019s transcendence, dialectics (Hegel), phenomenology (Husserl), Wittgenstein II\u2019s analytical method, hermeneutics (Heidegger), deconstruction (Derrida), and Rorty\u2019s pragmatism. For each of these, for over 2 decades, I\u2019ve had a recipe in my notes to apply to a question.<br>\nI put together a \u2018language game\u2019 in which I pose a question, which a \u2018router\u2019 prompt tries to match to one or more of the 8 recipes, or to a combination of recipes chained together (e.g. first look at a question from an analytical perspective and then feed the results in to a deconstruction exercise.)<br>\nMy existing multi-step recipes are followed, and output is generated for each of those steps, into a resulting note.<br>\nI read those resulting notes, lift out what catches my eye or what resonates and I use it to flesh it out more, for me to hold the question still longer. Models are language games of a sort, so hence the name WittgenstAIn III, a third iteration, extending the second Wittgenstein\u2019s language games to and with AI.<br>\nThe output here makes me more uncomfortable than the other two. Reasoning is being mimicked, with the usual overconfident wrongness we\u2019ve come to expect from generative AI, and that works out in odd ways sometimes. Still there is utility that can be lifted from the output. It is a good kickstart for exploring questions to quickly see if a recipe might yield something or not, judging by my first attempts in this experiment. It does certainly lower the threshold, as helper task, to engage with the recipes. I\u2019ve used it more in the past days than in the past months. Part of that is the novelty of the experiment, and that may wear off quickly, but perhaps it carries the kernel of more habitual use. </p>\n</div>",
                                "value": "In the past week I\u2019ve started three personal experiments that use AI (in this case Claude Code). For each, the experiment lies in automating steps in my cognitive work that are useful or necessary but not the actual cognitive work itself. They\u2019re helper activities, supporting the main task. For two of the three that is the clear focus, the third is slightly different.\nThe three experiments are: Filtering on interests in my feed reader, let\u2019s call it \u2018Weak-tAIs\u2019. \u2018Slopsidian\u2019, lifting concepts and argumentation from papers into Obsidian notes, and linking them iteratively. Explore questions with pre-existing \u2018recipes\u2019 that take a specific philosophical perspective. Perhaps I should dub this type of language game \u2018WittgenstAIn III\u2019.\nIt started from an automation task, which I mentioned here: manipulating non-fiction e-books. I have a script that I can point to an e-book in my Calibre collection, and then will populate a note with elements from the book: foreword, index and literature list, content overview, all if present, and for each chapter of the book the first and last few paragraphs. This is what I look at and skim whenever I want to gain a first impression and understanding what a book is about, and what questions it addresses or what it proposes. All very Mortimer Adler. From it I can then decide which parts of a book to read more closely, which parts likely contain things I am already familiar with or fall outside my current interest in the book. From those skims I jot down things in my note for the book. This quickly turned out to be useful to me, because it removed the wall between the e-book and my notes by bringing parts of the e-book into my notes temporarily where I could more quickly go through them in preparation for \u2018proper\u2019 reading (although in fact it is part of reading).\nIt got me thinking what other helper activities in reading and filtering I could identify.\nHelper activities are tasks that support a main task by making it easier or providing guard rails. Checklists are an example, they ensure that you don\u2019t skip important steps. In most cases nothing will immediately go wrong if you don\u2019t do the helper activity but if you do them the main task gets a little easier to do well. A lot of helper tasks can be regularly automated, like the e-book excerpt script above. Others less so because they contain elements of processing actual texts, like the three experiments I describe here. There perhaps using a model like Claude Code can be of value (and hopefully soon, through local model deployment).\nA brief description of the three experiments:\nWeak tAIs\nI order my RSS feeds by social distance for reading. Part of the reasoning is that I want to be well informed about what close ties write, but I am aware that interesting information likely comes from a wider social distance. This practice has been in place for some two decades and enormously valuable all that time. The most interesting stuff usually comes from the third layer, a folder named \u2018c150\u2019, in my feedreader: close enough to know who the author is, and engage in interaction if I want, disconnected enough for them to encounter things I am less likely to have already seen myself. That is the The Strength of Weak Ties (1973) as Granovetter called it.\nI also keep a list of current interests, a bit like Feynman\u2019s dozen or so currently favourite problems. For each interest I have formulated a few aspects: what is conceptually interesting to me in a topic (e.g. my interest in EU digital and data policy conceptually is that it forms a geopolitical proposition externally, while being a quality improvement instrument internally that takes rights and societal values as yardstick), am I theoretically interested or more practically, do I have a knowledge fundament for the topic or am I a newbie, is there a link with any long term goals, can it be put into a specific context or tied to a specific issue/question, can I shape or create an enduring practice around it, can I build a bridge to outputs, like blogposts, presentations, or client proposals\nMy feedreader tracks just under five hundred people writing on the open web. That can easily amount to two thousand postings in a week. I can have several intentions to start reading, one of them is to find and read material relevant to my list of current interests. A reading intention does not do away with items, it\u2019s not a filter to remove material. It\u2019s essentially just a view on the entire set of incoming items in the feed reader that I usually construct in my mind. What if I can construct those views on my screen too?\nThe \u2018c150\u2019 social layer, the weak ties, what do they write about that connects to the fields of interest from my list? Such filtering does not lend itself to text based search based on fixed terms. I usually skim titles for first impressions, and click opportunistically through the postings. What if I can have a model weigh the postings and compare them to my list of current interests, to mark them for my attention? In aid of that one specific reading intention.\nThat\u2019s what the first experiment does: label postings that seem to fit my interests, and express why. So that I can skim the folder of weak ties by interest, and read those items first if my intention is to explore those interests. I limited it to the c150 folder as feeding all rss feeds into the model is consuming a lot of time and tokens, so I started with the part most likely to bring useful results.\nThe labeling works now as part of my feedreader. I am not yet convinced of the quality of it though. The motivation for the labels usually is along the lines of \"it fits interest X but not in the way you\u2019re looking for\", which to me means it actually doesn\u2019t really fit.\nSlopsidian\nThis week I read an article about AI documenting its own actions and output in a wiki, and saw one or two similar efforts described. I applied that to a different helper task, which is the preparation of reading a paper and helping me to decide to dig deeper. This is similar to skimming a non-fiction book, but more involved. Can AI reliably pull from a paper the concepts used and introduced, and the line of argumentation? Saving them both in a single note for the resource, and in separate notes for each of the concepts? Additionally can it logically link concepts from different resources? This is what an \u2018ingestion skill\u2019 now does for me. I let it store the output it generates in a folder that I can also open as an Obsidian vault, hence the name Slopsidian. The papers come from my Zotero collection, meaning I previously saved them. That original step of curation also means I have a line or two about why I thought them interesting at the time. Feeding that curating decision and the paper into the ingestion skill allows a second order look at a paper. What are the concepts discussed, and, reading the output, do I think some of those are of interest to me? If so, I can look at the paper more closely and do my own note making and paraphrasing and placement in my actual Obsidian collection. Lifting out concepts works rather well, the linking is less useful in the first experiences (too obvious, not sparse enough) and can seem forced when you look at why some concepts get linked.\nWittgenstAIn III\nThe third experiment is a bit more on the edge I think. Here the probabilistic language games that LLMs are have more of a free rein. Part of the university courses on philosophy of science I did 25 years ago was using different philosophical schools of thought as lenses to approach a question. Not to answer the question, that is hardly ever the point after all, but to holding it, and holding it differently. Plato\u2019s essentialism, Kant\u2019s transcendence, dialectics (Hegel), phenomenology (Husserl), Wittgenstein II\u2019s analytical method, hermeneutics (Heidegger), deconstruction (Derrida), and Rorty\u2019s pragmatism. For each of these, for over 2 decades, I\u2019ve had a recipe in my notes to apply to a question.\nI put together a \u2018language game\u2019 in which I pose a question, which a \u2018router\u2019 prompt tries to match to one or more of the 8 recipes, or to a combination of recipes chained together (e.g. first look at a question from an analytical perspective and then feed the results in to a deconstruction exercise.)\nMy existing multi-step recipes are followed, and output is generated for each of those steps, into a resulting note.\nI read those resulting notes, lift out what catches my eye or what resonates and I use it to flesh it out more, for me to hold the question still longer. Models are language games of a sort, so hence the name WittgenstAIn III, a third iteration, extending the second Wittgenstein\u2019s language games to and with AI.\nThe output here makes me more uncomfortable than the other two. Reasoning is being mimicked, with the usual overconfident wrongness we\u2019ve come to expect from generative AI, and that works out in odd ways sometimes. Still there is utility that can be lifted from the output. It is a good kickstart for exploring questions to quickly see if a recipe might yield something or not, judging by my first attempts in this experiment. It does certainly lower the threshold, as helper task, to engage with the recipes. I\u2019ve used it more in the past days than in the past months. Part of that is the novelty of the experiment, and that may wear off quickly, but perhaps it carries the kernel of more habitual use.",
                                "lang": "en-us"
                            },
                            {
                                "html": "<p>In the past week I\u2019ve started three personal experiments that use AI (in this case Claude Code). For each, the experiment lies in automating steps in my cognitive work that are useful or necessary but not the actual cognitive work itself. They\u2019re <em>helper</em> activities, supporting the main task. For two of the three that is the clear focus, the third is slightly different.</p>\n<p>The three experiments are:</p>\n<ul>\n<li>Filtering on interests in my feed reader, let\u2019s call it \u2018Weak-tAIs\u2019.</li>\n<li>\u2018Slopsidian\u2019, lifting concepts and argumentation from papers into Obsidian notes, and linking them iteratively.</li>\n<li>Explore questions with pre-existing \u2018recipes\u2019 that take a specific philosophical perspective. Perhaps I should dub this type of language game \u2018WittgenstAIn III\u2019. </li>\n</ul>\n<p>It started from an automation task, which I mentioned here: <a href=\"https://www.zylstra.org/blog/2026/04/manipulating-my-e-books/\">manipulating non-fiction e-books</a>. I have a script that I can point to an e-book in my Calibre collection, and then will populate a note with elements from the book: foreword, index and literature list, content overview, all if present, and for each chapter of the book the first and last few paragraphs. This is what I look at and skim whenever I want to gain a first impression and understanding what a book is about, and what questions it addresses or what it proposes. All very <a href=\"https://archive.org/details/howtoreadabook1972edition/page/n1/mode/2up\">Mortimer Adler</a>. From it I can then decide which parts of a book to read more closely, which parts likely contain things I am already familiar with or fall outside my current interest in the book. From those skims I jot down things in my note for the book. This quickly turned out to be useful to me, because it removed the wall between the e-book and my notes by bringing parts of the e-book into my notes temporarily where I could more quickly go through them in preparation for \u2018proper\u2019 reading (although in fact it is part of reading).</p>\n<p>It got me thinking what other helper activities in reading and filtering I could identify.<br>\nHelper activities are tasks that support a main task by making it easier or providing guard rails. Checklists are an example, they ensure that you don\u2019t skip important steps. In most cases nothing will immediately go wrong if you don\u2019t do the helper activity but if you do them the main task gets a little easier to do well. A lot of helper tasks can be regularly automated, like the e-book excerpt script above. Others less so because they contain elements of processing actual texts, like the three experiments I describe here. There perhaps using a model like Claude Code can be of value (and hopefully soon, through local model deployment).</p>\n<p>A brief description of the three experiments:</p>\n<p><strong>Weak tAIs</strong><br>\n<a href=\"https://www.zylstra.org/blog/2019/06/feed-reading-by-social-distance/\">I order my RSS feeds by social distance for reading</a>. Part of the reasoning is that I want to be well informed about what close ties write, but I am aware that interesting information likely comes from a wider social distance. This <a href=\"https://www.zylstra.org/blog/2008/03/some_thoughts_o/\">practice</a> has been in place for some two decades and enormously valuable all that time. The most interesting stuff usually comes from the third layer, a folder named \u2018c150\u2019, in my feedreader: close enough to know who the author is, and engage in interaction if I want, disconnected enough for them to encounter things I am less likely to have already seen myself.  That is the <a href=\"https://www.jstor.org/stable/2776392\">The Strength of Weak Ties (1973)</a> as Granovetter called it.</p>\n<p>I also keep a list of current interests, a bit like Feynman\u2019s dozen or so currently favourite problems.  For each interest I have formulated a few aspects: </p>\n<ul>\n<li>what is conceptually interesting to me in a topic (e.g. my interest in EU digital and data policy conceptually is that it forms a geopolitical proposition externally, while being a quality improvement instrument internally that takes rights and societal values as yardstick), </li>\n<li>am I theoretically interested or more practically, </li>\n<li>do I have a knowledge fundament for the topic or am I a newbie, </li>\n<li>is there a link with any long term goals,</li>\n<li>can it be put into a specific context or tied to a specific issue/question,</li>\n<li>can I shape or create an enduring practice around it, </li>\n<li>can I build a bridge to outputs, like blogposts, presentations, or client proposals</li>\n</ul>\n<p>My feedreader tracks just under five hundred people writing on the open web. That can easily amount to two thousand postings in a week. I can have several intentions to start reading, one of them is to find and read material relevant to my list of current interests. A reading intention does not do away with items, it\u2019s not a filter to remove material. It\u2019s essentially just a <em>view</em> on the entire set of incoming items in the feed reader that I usually construct in my mind. What if I can construct those views on my screen too?<br>\nThe \u2018c150\u2019 social layer, the weak ties, what do they write about that connects to the fields of interest from my list? Such filtering does not lend itself to text based search based on fixed terms. I usually skim titles for first impressions, and click opportunistically through the postings. What if I can have a model weigh the postings and compare them to my list of current interests, to mark them for my attention? In aid of that one specific reading intention.</p>\n<p>That\u2019s what the first experiment does: label postings that seem to fit my interests, and express why. So that I can skim the folder of weak ties by interest, and read those items first if my intention is to explore those interests. I limited it to the c150 folder as feeding all rss feeds into the model is consuming a lot of time and tokens, so I started with the part most likely to bring useful results.<br>\nThe labeling works now as part of my feedreader. I am not yet convinced of the quality of it though. The motivation for the labels usually is along the lines of \"it fits interest X but not in the way you\u2019re looking for\", which to me means it actually doesn\u2019t really fit.</p>\n<p><strong>Slopsidian</strong><br>\nThis week I read an article about AI documenting its own actions and output in a wiki, and saw one or two similar efforts described. I applied that to a different helper task, which is the preparation of reading a paper and helping me to decide to dig deeper. This is similar to skimming a non-fiction book, but more involved. Can AI reliably pull from a paper the concepts used and introduced, and the line of argumentation? Saving them both in a single note for the resource, and in separate notes for each of the concepts? Additionally can it logically link concepts from different resources? This is what an \u2018ingestion skill\u2019 now does for me. I let it store the output it generates in a folder that I can also open as an Obsidian vault, hence the name Slopsidian. The papers come from my Zotero collection, meaning I previously saved them. That original step of curation also means I have a line or two about why I thought them interesting at the time. Feeding that curating decision and the paper into the ingestion skill allows a second order look at a paper. What are the concepts discussed, and, reading the output, do I think some of those are of interest to me? If so, I can look at the paper more closely and do my own note making and paraphrasing and placement in my actual Obsidian collection. Lifting out concepts works rather well, the linking is less useful in the first experiences (too obvious, not sparse enough) and can seem forced when you look at why some concepts get linked.</p>\n<p><strong>WittgenstAIn III</strong><br>\nThe third experiment is a bit more on the edge I think. Here the probabilistic language games that LLMs are have more of a free rein. Part of the university courses on philosophy of science I did 25 years ago was using different philosophical schools of thought as lenses to approach a question. Not to answer the question, that is hardly ever the point after all, but to <em>holding</em> it, and holding it <em>differently</em>. Plato\u2019s essentialism, Kant\u2019s transcendence, dialectics (Hegel), phenomenology (Husserl), Wittgenstein II\u2019s analytical method, hermeneutics (Heidegger), deconstruction (Derrida), and Rorty\u2019s pragmatism. For each of these, for over 2 decades, I\u2019ve had a recipe in my notes to apply to a question.<br>\nI put together a \u2018language game\u2019 in which I pose a question, which a \u2018router\u2019 prompt tries to match to one or more of the 8 recipes, or to a combination of recipes chained together (e.g. first look at a question from an analytical perspective and then feed the results in to a deconstruction exercise.)<br>\nMy existing multi-step recipes are followed, and output is generated for each of those steps, into a resulting note.<br>\nI read those resulting notes, lift out what catches my eye or what resonates and I use it to flesh it out more, for me to hold the question still longer. Models are language games of a sort, so hence the name WittgenstAIn III, a third iteration, extending the second Wittgenstein\u2019s language games to and with AI.<br>\nThe output here makes me more uncomfortable than the other two. Reasoning is being mimicked, with the usual overconfident wrongness we\u2019ve come to expect from generative AI, and that works out in odd ways sometimes. Still there is utility that can be lifted from the output. It is a good kickstart for exploring questions to quickly see if a recipe might yield something or not, judging by my first attempts in this experiment. It does certainly lower the threshold, as helper task, to engage with the recipes. I\u2019ve used it more in the past days than in the past months. Part of that is the novelty of the experiment, and that may wear off quickly, but perhaps it carries the kernel of more habitual use. </p>",
                                "value": "In the past week I\u2019ve started three personal experiments that use AI (in this case Claude Code). For each, the experiment lies in automating steps in my cognitive work that are useful or necessary but not the actual cognitive work itself. They\u2019re helper activities, supporting the main task. For two of the three that is the clear focus, the third is slightly different.\nThe three experiments are: Filtering on interests in my feed reader, let\u2019s call it \u2018Weak-tAIs\u2019. \u2018Slopsidian\u2019, lifting concepts and argumentation from papers into Obsidian notes, and linking them iteratively. Explore questions with pre-existing \u2018recipes\u2019 that take a specific philosophical perspective. Perhaps I should dub this type of language game \u2018WittgenstAIn III\u2019.\nIt started from an automation task, which I mentioned here: manipulating non-fiction e-books. I have a script that I can point to an e-book in my Calibre collection, and then will populate a note with elements from the book: foreword, index and literature list, content overview, all if present, and for each chapter of the book the first and last few paragraphs. This is what I look at and skim whenever I want to gain a first impression and understanding what a book is about, and what questions it addresses or what it proposes. All very Mortimer Adler. From it I can then decide which parts of a book to read more closely, which parts likely contain things I am already familiar with or fall outside my current interest in the book. From those skims I jot down things in my note for the book. This quickly turned out to be useful to me, because it removed the wall between the e-book and my notes by bringing parts of the e-book into my notes temporarily where I could more quickly go through them in preparation for \u2018proper\u2019 reading (although in fact it is part of reading).\nIt got me thinking what other helper activities in reading and filtering I could identify.\nHelper activities are tasks that support a main task by making it easier or providing guard rails. Checklists are an example, they ensure that you don\u2019t skip important steps. In most cases nothing will immediately go wrong if you don\u2019t do the helper activity but if you do them the main task gets a little easier to do well. A lot of helper tasks can be regularly automated, like the e-book excerpt script above. Others less so because they contain elements of processing actual texts, like the three experiments I describe here. There perhaps using a model like Claude Code can be of value (and hopefully soon, through local model deployment).\nA brief description of the three experiments:\nWeak tAIs\nI order my RSS feeds by social distance for reading. Part of the reasoning is that I want to be well informed about what close ties write, but I am aware that interesting information likely comes from a wider social distance. This practice has been in place for some two decades and enormously valuable all that time. The most interesting stuff usually comes from the third layer, a folder named \u2018c150\u2019, in my feedreader: close enough to know who the author is, and engage in interaction if I want, disconnected enough for them to encounter things I am less likely to have already seen myself. That is the The Strength of Weak Ties (1973) as Granovetter called it.\nI also keep a list of current interests, a bit like Feynman\u2019s dozen or so currently favourite problems. For each interest I have formulated a few aspects: what is conceptually interesting to me in a topic (e.g. my interest in EU digital and data policy conceptually is that it forms a geopolitical proposition externally, while being a quality improvement instrument internally that takes rights and societal values as yardstick), am I theoretically interested or more practically, do I have a knowledge fundament for the topic or am I a newbie, is there a link with any long term goals, can it be put into a specific context or tied to a specific issue/question, can I shape or create an enduring practice around it, can I build a bridge to outputs, like blogposts, presentations, or client proposals\nMy feedreader tracks just under five hundred people writing on the open web. That can easily amount to two thousand postings in a week. I can have several intentions to start reading, one of them is to find and read material relevant to my list of current interests. A reading intention does not do away with items, it\u2019s not a filter to remove material. It\u2019s essentially just a view on the entire set of incoming items in the feed reader that I usually construct in my mind. What if I can construct those views on my screen too?\nThe \u2018c150\u2019 social layer, the weak ties, what do they write about that connects to the fields of interest from my list? Such filtering does not lend itself to text based search based on fixed terms. I usually skim titles for first impressions, and click opportunistically through the postings. What if I can have a model weigh the postings and compare them to my list of current interests, to mark them for my attention? In aid of that one specific reading intention.\nThat\u2019s what the first experiment does: label postings that seem to fit my interests, and express why. So that I can skim the folder of weak ties by interest, and read those items first if my intention is to explore those interests. I limited it to the c150 folder as feeding all rss feeds into the model is consuming a lot of time and tokens, so I started with the part most likely to bring useful results.\nThe labeling works now as part of my feedreader. I am not yet convinced of the quality of it though. The motivation for the labels usually is along the lines of \"it fits interest X but not in the way you\u2019re looking for\", which to me means it actually doesn\u2019t really fit.\nSlopsidian\nThis week I read an article about AI documenting its own actions and output in a wiki, and saw one or two similar efforts described. I applied that to a different helper task, which is the preparation of reading a paper and helping me to decide to dig deeper. This is similar to skimming a non-fiction book, but more involved. Can AI reliably pull from a paper the concepts used and introduced, and the line of argumentation? Saving them both in a single note for the resource, and in separate notes for each of the concepts? Additionally can it logically link concepts from different resources? This is what an \u2018ingestion skill\u2019 now does for me. I let it store the output it generates in a folder that I can also open as an Obsidian vault, hence the name Slopsidian. The papers come from my Zotero collection, meaning I previously saved them. That original step of curation also means I have a line or two about why I thought them interesting at the time. Feeding that curating decision and the paper into the ingestion skill allows a second order look at a paper. What are the concepts discussed, and, reading the output, do I think some of those are of interest to me? If so, I can look at the paper more closely and do my own note making and paraphrasing and placement in my actual Obsidian collection. Lifting out concepts works rather well, the linking is less useful in the first experiences (too obvious, not sparse enough) and can seem forced when you look at why some concepts get linked.\nWittgenstAIn III\nThe third experiment is a bit more on the edge I think. Here the probabilistic language games that LLMs are have more of a free rein. Part of the university courses on philosophy of science I did 25 years ago was using different philosophical schools of thought as lenses to approach a question. Not to answer the question, that is hardly ever the point after all, but to holding it, and holding it differently. Plato\u2019s essentialism, Kant\u2019s transcendence, dialectics (Hegel), phenomenology (Husserl), Wittgenstein II\u2019s analytical method, hermeneutics (Heidegger), deconstruction (Derrida), and Rorty\u2019s pragmatism. For each of these, for over 2 decades, I\u2019ve had a recipe in my notes to apply to a question.\nI put together a \u2018language game\u2019 in which I pose a question, which a \u2018router\u2019 prompt tries to match to one or more of the 8 recipes, or to a combination of recipes chained together (e.g. first look at a question from an analytical perspective and then feed the results in to a deconstruction exercise.)\nMy existing multi-step recipes are followed, and output is generated for each of those steps, into a resulting note.\nI read those resulting notes, lift out what catches my eye or what resonates and I use it to flesh it out more, for me to hold the question still longer. Models are language games of a sort, so hence the name WittgenstAIn III, a third iteration, extending the second Wittgenstein\u2019s language games to and with AI.\nThe output here makes me more uncomfortable than the other two. Reasoning is being mimicked, with the usual overconfident wrongness we\u2019ve come to expect from generative AI, and that works out in odd ways sometimes. Still there is utility that can be lifted from the output. It is a good kickstart for exploring questions to quickly see if a recipe might yield something or not, judging by my first attempts in this experiment. It does certainly lower the threshold, as helper task, to engage with the recipes. I\u2019ve used it more in the past days than in the past months. Part of that is the novelty of the experiment, and that may wear off quickly, but perhaps it carries the kernel of more habitual use.",
                                "lang": "en-us"
                            }
                        ]
                    },
                    "id": "post-26385",
                    "lang": "en-us"
                },
                {
                    "type": [
                        "h-entry"
                    ],
                    "properties": {
                        "name": [
                            "When My Grandfather Took a Train Trip With a Bull"
                        ],
                        "author": [
                            "Ton Zijlstra",
                            "Ton Zijlstra"
                        ],
                        "category": [
                            "family"
                        ],
                        "url": [
                            "https://www.zylstra.org/blog/2026/04/when-my-grandfather-took-a-train-trip-with-a-bull/",
                            "https://www.zylstra.org/blog/2026/04/when-my-grandfather-took-a-train-trip-with-a-bull/"
                        ],
                        "updated": [
                            "2026-04-18T13:22:48+02:00"
                        ],
                        "published": [
                            "2026-04-18T13:22:48+02:00"
                        ],
                        "content": [
                            {
                                "html": "<p>My grandfather Klaas Zijlstra (1905-1993) was a farmer and cattle raiser. He grew up in Frysl\u00e2n and always wanted to be a farmhand it seems (his father was a housepainter). There was ambition too, from leaving school at 12 and moving out on his 16th, he sought out farmers to work for that had a reputation in cattle raising. In his early twenties he had a choice of job offers to run a cattle farm in Argentina and to run a cattle farm in Twente, in the eastern part of the Netherlands. His mother wanted to be able to visit him by train, so the Argentina offer was refused. He worked on the farm Stepelerveld near Haaksbergen, Twente, since its founding in 1928, which was meant as a model farm. It already had mechanised milking from the start for instance. The farm\u2019s owner, Ebs van Heek, son of <a href=\"https://nl.wikipedia.org/wiki/Van_Heek\">textile barons</a>, and my grandfather had a strong interest in cattle raising, trying to increase milk production per cow. Before the farm was constructed in 1928 (now a <a href=\"https://monumentenregister.cultureelerfgoed.nl/complexen/507741\">national monument</a>) work had already been underway to bring together and raise cattle for it on a nearby farm. I don\u2019t know when my grandfather was hired exactly, he may already have had some role before the farm\u2019s construction. Cattle was my grandfathers passion. After the farm was sold in 1963 and my grandparents retired to the nearby village Boekelo, there were photos of us grandchildren on the living room dresser right next to similarly framed photos of price winning cows. Central on the mantel piece was a photo of a bull. It remained there for over 30 years.</p>\n<p>It may have been the same bull he took a train trip with.</p>\n<p>The farm had a locally famous bull, named Adolf (this was the 1920s, so no stigma attached to that name yet). There was a cattle fair in The Hague, on the other side of the country. My grandfather walked the bull to the station, and joined it inside a cattle car, hired for the purpose, for the train ride to The Hague. When he arrived he sent a postcard to the farm, saying \u2018gakz\u2019, meaning \u2018<em>goed aangekomen, Klaas Zijlstra</em>\u2018, arrived well. Postage was based on the number of words. This kept it to half a cent. Then he spent three days at the cattle fair on the <a href=\"https://en.wikipedia.org/wiki/Malieveld\">Malieveld</a> (the largest field in The Hague, used for fairs and demonstrations for some 400 years), where he shared straw with the bull to sleep on in the open air. The bull won first prize. He walked back to the station boarded a cattle car again with the bull for the trip home, and showed up on foot with the bull and a victory cup at the farm. </p>\n<p>In the story, the station was sometimes Haaksbergen (the nearest, about an hour\u2019s walk from the farm) sometimes Hengelo station (a 3 hour walk). Although Haaksbergen connected to Hengelo, it was a different station from the one on the line towards The Hague, so it may have been easier to go to Hengelo as they\u2019d otherwise had needed two cattle cars, one for each line. Still, as the railroad company for the Haaksbergen-Hengelo connection was founded and owned by the same textile barons, to connect the factories, it may well have been Haaksbergen, or the also nearby Boekelo on the same line. </p>\n<p>As a child I heard the story repeatedly but never really knew when that happened. Thanks to digitised archives I now have more details.</p>\n<p>Earlier this week I came across a version of this story online, written by the farm owner\u2019s daughter, and she placed it in 1929. Having a year I then searched the digitised news paper archives for cattle fairs in The Hague, and found it was actually 1928.<br>\nIn 1928 the Netherlands hosted the Olympics in Amsterdam, from 28 July to 12 August. It was the first edition to be called \u2018the summer olympics\u2019. The national cattle fair and exhibition took place just before, from 23 to 25 July, and was dubbed the \u2018Olympic cattle fair\u2019 in the press. It was a big event (I found 230 paper articles across the country about it for that week). Opened by two government ministers giving speeches, visited by members of the royal family on each day, the queen mother and the prince consort, though not the queen herself. Prizes were awarded for many different categories of cows, horses, pigs and goats. A special mention in the press talks about a new \u2018contraption to measure the pulling strength of a horse\u2019 being demonstrated. Amidst all that was my grandfather, two months before his 23rd birthday, with bull Adolf on a leash. And won first prize.</p>\n<p>Which fact ended up in the papers with a photo:<br>\n<img fetchpriority=\"high\" decoding=\"async\" src=\"https://www.zylstra.org/wp/wp-content/uploads/2026/04/pakeMalieveldstierAdolf1928.png\" alt=\"\" width=\"564\" height=\"407\" class=\"aligncenter size-full wp-image-26362\" srcset=\"\" sizes=\"(max-width: 564px) 100vw, 564px\"> <br><em>Klaas Zijlstra and the bull, Malieveld 25 July 1928, published in the <a href=\"https://www.delpher.nl/nl/kranten/view?query=Veetentoonstelling&amp;facets%5Bspatial%5D%5B%5D=Regionaal%7Clokaal&amp;page=2&amp;cql%5B%5D=(date+_gte_+%2201-07-1928%22)&amp;cql%5B%5D=(date+_lte_+%2229-07-1928%22)&amp;coll=ddd&amp;redirect=true&amp;identifier=MMUTRA04:253225148:mpeg21:a00136&amp;resultsidentifier=MMUTRA04:253225148:mpeg21:a00136&amp;rowid=7\">Utrecht Daily on 27 July 1928</a>, photographer and copyright unknown.</em></p>\n<p>Look at that enormous and muscled beast, coming to shoulder height of my grandfather. And then imagine traveling and sleeping next to it for 5 days!</p>",
                                "value": "My grandfather Klaas Zijlstra (1905-1993) was a farmer and cattle raiser. He grew up in Frysl\u00e2n and always wanted to be a farmhand it seems (his father was a housepainter). There was ambition too, from leaving school at 12 and moving out on his 16th, he sought out farmers to work for that had a reputation in cattle raising. In his early twenties he had a choice of job offers to run a cattle farm in Argentina and to run a cattle farm in Twente, in the eastern part of the Netherlands. His mother wanted to be able to visit him by train, so the Argentina offer was refused. He worked on the farm Stepelerveld near Haaksbergen, Twente, since its founding in 1928, which was meant as a model farm. It already had mechanised milking from the start for instance. The farm\u2019s owner, Ebs van Heek, son of textile barons, and my grandfather had a strong interest in cattle raising, trying to increase milk production per cow. Before the farm was constructed in 1928 (now a national monument) work had already been underway to bring together and raise cattle for it on a nearby farm. I don\u2019t know when my grandfather was hired exactly, he may already have had some role before the farm\u2019s construction. Cattle was my grandfathers passion. After the farm was sold in 1963 and my grandparents retired to the nearby village Boekelo, there were photos of us grandchildren on the living room dresser right next to similarly framed photos of price winning cows. Central on the mantel piece was a photo of a bull. It remained there for over 30 years.\nIt may have been the same bull he took a train trip with.\nThe farm had a locally famous bull, named Adolf (this was the 1920s, so no stigma attached to that name yet). There was a cattle fair in The Hague, on the other side of the country. My grandfather walked the bull to the station, and joined it inside a cattle car, hired for the purpose, for the train ride to The Hague. When he arrived he sent a postcard to the farm, saying \u2018gakz\u2019, meaning \u2018goed aangekomen, Klaas Zijlstra\u2018, arrived well. Postage was based on the number of words. This kept it to half a cent. Then he spent three days at the cattle fair on the Malieveld (the largest field in The Hague, used for fairs and demonstrations for some 400 years), where he shared straw with the bull to sleep on in the open air. The bull won first prize. He walked back to the station boarded a cattle car again with the bull for the trip home, and showed up on foot with the bull and a victory cup at the farm.\nIn the story, the station was sometimes Haaksbergen (the nearest, about an hour\u2019s walk from the farm) sometimes Hengelo station (a 3 hour walk). Although Haaksbergen connected to Hengelo, it was a different station from the one on the line towards The Hague, so it may have been easier to go to Hengelo as they\u2019d otherwise had needed two cattle cars, one for each line. Still, as the railroad company for the Haaksbergen-Hengelo connection was founded and owned by the same textile barons, to connect the factories, it may well have been Haaksbergen, or the also nearby Boekelo on the same line.\nAs a child I heard the story repeatedly but never really knew when that happened. Thanks to digitised archives I now have more details.\nEarlier this week I came across a version of this story online, written by the farm owner\u2019s daughter, and she placed it in 1929. Having a year I then searched the digitised news paper archives for cattle fairs in The Hague, and found it was actually 1928.\nIn 1928 the Netherlands hosted the Olympics in Amsterdam, from 28 July to 12 August. It was the first edition to be called \u2018the summer olympics\u2019. The national cattle fair and exhibition took place just before, from 23 to 25 July, and was dubbed the \u2018Olympic cattle fair\u2019 in the press. It was a big event (I found 230 paper articles across the country about it for that week). Opened by two government ministers giving speeches, visited by members of the royal family on each day, the queen mother and the prince consort, though not the queen herself. Prizes were awarded for many different categories of cows, horses, pigs and goats. A special mention in the press talks about a new \u2018contraption to measure the pulling strength of a horse\u2019 being demonstrated. Amidst all that was my grandfather, two months before his 23rd birthday, with bull Adolf on a leash. And won first prize.\nWhich fact ended up in the papers with a photo:\n\nKlaas Zijlstra and the bull, Malieveld 25 July 1928, published in the Utrecht Daily on 27 July 1928, photographer and copyright unknown.\nLook at that enormous and muscled beast, coming to shoulder height of my grandfather. And then imagine traveling and sleeping next to it for 5 days!",
                                "lang": "en-us"
                            }
                        ]
                    },
                    "id": "post-26359",
                    "lang": "en-us"
                },
                {
                    "type": [
                        "h-entry"
                    ],
                    "properties": {
                        "name": [
                            "human.json",
                            "AI Policy and Human.json",
                            "Adding human.json to WordPress"
                        ],
                        "author": [
                            "Ton Zijlstra",
                            "Ton Zijlstra"
                        ],
                        "category": [
                            "AI",
                            "foaf",
                            "reverseturing"
                        ],
                        "url": [
                            "https://www.zylstra.org/blog/2026/04/human-json/",
                            "https://www.zylstra.org/blog/2026/04/human-json/"
                        ],
                        "favorite-of": [
                            "https://www.claudinec.net/posts/2026-03-29-ai-policy/",
                            "https://shkspr.mobi/blog/2026/03/adding-human-json-to-wordpress/"
                        ],
                        "updated": [
                            "2026-04-05T16:58:16+02:00"
                        ],
                        "published": [
                            "2026-04-05T16:58:16+02:00"
                        ],
                        "content": [
                            {
                                "html": "<div class=\"e-content\">\n<svg viewBox=\"0 0 576 512\" width=\"15\" height=\"12\"><path d=\"M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z\"></path></svg> <em>Favorited <a class=\"u-favorite-of p-name\" href=\"https://www.claudinec.net/posts/2026-03-29-ai-policy/\">AI Policy and Human.json</a> by Claudine Chionh</em><br>\n<svg viewBox=\"0 0 576 512\" width=\"15\" height=\"12\"><path d=\"M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z\"></path></svg> <em>Favorited <a class=\"u-favorite-of p-name\" href=\"https://shkspr.mobi/blog/2026/03/adding-human-json-to-wordpress/\">Adding human.json to WordPress</a> by Terence Eden</em> \n<p>Claudine Chionh and Terence Eden both mention <a href=\"https://codeberg.org/robida/human.json\">human.json</a>, a data file that lists people and sites you know are written by humans, as opposed to generated by AI. A rekindling of <a href=\"https://en.wikipedia.org/wiki/FOAF\">FOAF</a>?</p>\n<p>In these days of needing to assume anything you encounter is machine generated unless proven to be human made, we continuously have to apply a <a href=\"https://www.zylstra.org/blog/reverse-turing/\">Reverse Turing</a> test: do I have enough indications to assume something was created by a human.</p>\n<p>When I first wrote a <a href=\"https://www.zylstra.org/blog/reverse-turing/\">Reverse Turing page</a> I mentioned much the same things as Terence Eden does about vouching for other people to be human authors.</p>\n<p>Not sure if having a <em>machine readable</em> file makes the right point here though, ironic as it is. Blogrolls, webrings come to mind too, because <a href=\"https://www.zylstra.org/blog/2023/10/the-resurrection-of-the-author-the-author-was-dead-long-live-the-author/\">Long Live the Author</a>.</p>\n<p>One element I think we\u2019d need to contemplate is to not just list, but also provide URI\u2019s to some supporting evidence. Expose the depth of a connection. Only met at a vouching party countersigning your credentials, or two decades of in person and online encounters and proof thereof are different in depth and quality, and may well impact how the Reverse Turing test turns out for others perusing your human.json file.</p>\n</div>",
                                "value": "Favorited AI Policy and Human.json by Claudine Chionh\nFavorited Adding human.json to WordPress by Terence Eden\nClaudine Chionh and Terence Eden both mention human.json, a data file that lists people and sites you know are written by humans, as opposed to generated by AI. A rekindling of FOAF?\nIn these days of needing to assume anything you encounter is machine generated unless proven to be human made, we continuously have to apply a Reverse Turing test: do I have enough indications to assume something was created by a human.\nWhen I first wrote a Reverse Turing page I mentioned much the same things as Terence Eden does about vouching for other people to be human authors.\nNot sure if having a machine readable file makes the right point here though, ironic as it is. Blogrolls, webrings come to mind too, because Long Live the Author.\nOne element I think we\u2019d need to contemplate is to not just list, but also provide URI\u2019s to some supporting evidence. Expose the depth of a connection. Only met at a vouching party countersigning your credentials, or two decades of in person and online encounters and proof thereof are different in depth and quality, and may well impact how the Reverse Turing test turns out for others perusing your human.json file.",
                                "lang": "en-us"
                            },
                            {
                                "html": "<svg viewBox=\"0 0 576 512\" width=\"15\" height=\"12\"><path d=\"M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z\"></path></svg> <em>Favorited <a class=\"u-favorite-of p-name\" href=\"https://www.claudinec.net/posts/2026-03-29-ai-policy/\">AI Policy and Human.json</a> by Claudine Chionh</em><br>\n<svg viewBox=\"0 0 576 512\" width=\"15\" height=\"12\"><path d=\"M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z\"></path></svg> <em>Favorited <a class=\"u-favorite-of p-name\" href=\"https://shkspr.mobi/blog/2026/03/adding-human-json-to-wordpress/\">Adding human.json to WordPress</a> by Terence Eden</em> \n<p>Claudine Chionh and Terence Eden both mention <a href=\"https://codeberg.org/robida/human.json\">human.json</a>, a data file that lists people and sites you know are written by humans, as opposed to generated by AI. A rekindling of <a href=\"https://en.wikipedia.org/wiki/FOAF\">FOAF</a>?</p>\n<p>In these days of needing to assume anything you encounter is machine generated unless proven to be human made, we continuously have to apply a <a href=\"https://www.zylstra.org/blog/reverse-turing/\">Reverse Turing</a> test: do I have enough indications to assume something was created by a human.</p>\n<p>When I first wrote a <a href=\"https://www.zylstra.org/blog/reverse-turing/\">Reverse Turing page</a> I mentioned much the same things as Terence Eden does about vouching for other people to be human authors.</p>\n<p>Not sure if having a <em>machine readable</em> file makes the right point here though, ironic as it is. Blogrolls, webrings come to mind too, because <a href=\"https://www.zylstra.org/blog/2023/10/the-resurrection-of-the-author-the-author-was-dead-long-live-the-author/\">Long Live the Author</a>.</p>\n<p>One element I think we\u2019d need to contemplate is to not just list, but also provide URI\u2019s to some supporting evidence. Expose the depth of a connection. Only met at a vouching party countersigning your credentials, or two decades of in person and online encounters and proof thereof are different in depth and quality, and may well impact how the Reverse Turing test turns out for others perusing your human.json file.</p>",
                                "value": "Favorited AI Policy and Human.json by Claudine Chionh\nFavorited Adding human.json to WordPress by Terence Eden\nClaudine Chionh and Terence Eden both mention human.json, a data file that lists people and sites you know are written by humans, as opposed to generated by AI. A rekindling of FOAF?\nIn these days of needing to assume anything you encounter is machine generated unless proven to be human made, we continuously have to apply a Reverse Turing test: do I have enough indications to assume something was created by a human.\nWhen I first wrote a Reverse Turing page I mentioned much the same things as Terence Eden does about vouching for other people to be human authors.\nNot sure if having a machine readable file makes the right point here though, ironic as it is. Blogrolls, webrings come to mind too, because Long Live the Author.\nOne element I think we\u2019d need to contemplate is to not just list, but also provide URI\u2019s to some supporting evidence. Expose the depth of a connection. Only met at a vouching party countersigning your credentials, or two decades of in person and online encounters and proof thereof are different in depth and quality, and may well impact how the Reverse Turing test turns out for others perusing your human.json file.",
                                "lang": "en-us"
                            }
                        ]
                    },
                    "id": "post-26317",
                    "lang": "en-us"
                },
                {
                    "type": [
                        "h-entry"
                    ],
                    "properties": {
                        "name": [
                            "The Phenomenology of Using AI For Coding",
                            "I used AI. It worked. I hated it."
                        ],
                        "author": [
                            "Ton Zijlstra",
                            "Ton Zijlstra"
                        ],
                        "category": [
                            "AI",
                            "phenomenology",
                            "vibecoding"
                        ],
                        "url": [
                            "https://www.zylstra.org/blog/2026/04/the-phenomenology-of-using-ai-for-coding/",
                            "https://www.zylstra.org/blog/2026/04/the-phenomenology-of-using-ai-for-coding/"
                        ],
                        "favorite-of": [
                            "https://taggart-tech.com/reckoning/"
                        ],
                        "updated": [
                            "2026-04-05T16:30:44+02:00"
                        ],
                        "published": [
                            "2026-04-05T16:30:44+02:00"
                        ],
                        "content": [
                            {
                                "html": "<div class=\"e-content\">\n<svg viewBox=\"0 0 576 512\" width=\"15\" height=\"12\"><path d=\"M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z\"></path></svg> <em>Favorited <a class=\"u-favorite-of p-name\" href=\"https://taggart-tech.com/reckoning/\">I used AI. It worked. I hated it.</a> by Michael Taggart</em> \n<p>An excellent post by Michael Taggart on how it felt to him to make a much needed bit of code with the help of Claude Code. The results worked, but he hated how it made him feel. He explores those opposing outcomes without trying to resolve the tension. Much in here that I recognise from my own experiences, as well as what I see others do and how they talk about it. Towards the end he talks about \u2018the real monster\u2019 here, and I think that is the right frame: we have created a technology monster once more, and <a href=\"https://www.zylstra.org/blog/2003/08/monsters_again/\">Smits\u2019 monster theory (2003)</a> is a tool to bring to bear again. Where will we adapt the monster to our tastes? Where will we shift our cultural understanding of ourselves and the world to make room for the monster? Once we\u2019re done embracing it until the bubble bursts, or rejecting it outright no matter what.</p>\n<blockquote><p>I hated writing software this way. Forget the output for a moment; the process was excruciating. Most of my time was spent reading proposed code changes and pressing the 1 key to accept the changes, which I almost always did. I was basically <a href=\"https://simpsons.fandom.com/wiki/Drinking_bird\">Homer\u2019s drinking bird</a>.</p>\n<p>Michael Taggart</p></blockquote>\n</div>",
                                "value": "Favorited I used AI. It worked. I hated it. by Michael Taggart\nAn excellent post by Michael Taggart on how it felt to him to make a much needed bit of code with the help of Claude Code. The results worked, but he hated how it made him feel. He explores those opposing outcomes without trying to resolve the tension. Much in here that I recognise from my own experiences, as well as what I see others do and how they talk about it. Towards the end he talks about \u2018the real monster\u2019 here, and I think that is the right frame: we have created a technology monster once more, and Smits\u2019 monster theory (2003) is a tool to bring to bear again. Where will we adapt the monster to our tastes? Where will we shift our cultural understanding of ourselves and the world to make room for the monster? Once we\u2019re done embracing it until the bubble bursts, or rejecting it outright no matter what.\nI hated writing software this way. Forget the output for a moment; the process was excruciating. Most of my time was spent reading proposed code changes and pressing the 1 key to accept the changes, which I almost always did. I was basically Homer\u2019s drinking bird.\nMichael Taggart",
                                "lang": "en-us"
                            },
                            {
                                "html": "<svg viewBox=\"0 0 576 512\" width=\"15\" height=\"12\"><path d=\"M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z\"></path></svg> <em>Favorited <a class=\"u-favorite-of p-name\" href=\"https://taggart-tech.com/reckoning/\">I used AI. It worked. I hated it.</a> by Michael Taggart</em> \n<p>An excellent post by Michael Taggart on how it felt to him to make a much needed bit of code with the help of Claude Code. The results worked, but he hated how it made him feel. He explores those opposing outcomes without trying to resolve the tension. Much in here that I recognise from my own experiences, as well as what I see others do and how they talk about it. Towards the end he talks about \u2018the real monster\u2019 here, and I think that is the right frame: we have created a technology monster once more, and <a href=\"https://www.zylstra.org/blog/2003/08/monsters_again/\">Smits\u2019 monster theory (2003)</a> is a tool to bring to bear again. Where will we adapt the monster to our tastes? Where will we shift our cultural understanding of ourselves and the world to make room for the monster? Once we\u2019re done embracing it until the bubble bursts, or rejecting it outright no matter what.</p>\n<blockquote><p>I hated writing software this way. Forget the output for a moment; the process was excruciating. Most of my time was spent reading proposed code changes and pressing the 1 key to accept the changes, which I almost always did. I was basically <a href=\"https://simpsons.fandom.com/wiki/Drinking_bird\">Homer\u2019s drinking bird</a>.</p>\n<p>Michael Taggart</p></blockquote>",
                                "value": "Favorited I used AI. It worked. I hated it. by Michael Taggart\nAn excellent post by Michael Taggart on how it felt to him to make a much needed bit of code with the help of Claude Code. The results worked, but he hated how it made him feel. He explores those opposing outcomes without trying to resolve the tension. Much in here that I recognise from my own experiences, as well as what I see others do and how they talk about it. Towards the end he talks about \u2018the real monster\u2019 here, and I think that is the right frame: we have created a technology monster once more, and Smits\u2019 monster theory (2003) is a tool to bring to bear again. Where will we adapt the monster to our tastes? Where will we shift our cultural understanding of ourselves and the world to make room for the monster? Once we\u2019re done embracing it until the bubble bursts, or rejecting it outright no matter what.\nI hated writing software this way. Forget the output for a moment; the process was excruciating. Most of my time was spent reading proposed code changes and pressing the 1 key to accept the changes, which I almost always did. I was basically Homer\u2019s drinking bird.\nMichael Taggart",
                                "lang": "en-us"
                            }
                        ]
                    },
                    "id": "post-26310",
                    "lang": "en-us"
                },
                {
                    "type": [
                        "h-entry"
                    ],
                    "properties": {
                        "name": [
                            "On Harvesting for the Royal Library Or How A Blog Breaks The Archive"
                        ],
                        "author": [
                            "Ton Zijlstra",
                            "Ton Zijlstra"
                        ],
                        "category": [
                            "internetarchive",
                            "kb"
                        ],
                        "url": [
                            "https://www.zylstra.org/blog/2026/03/on-harvesting-for-the-royal-library-or-how-a-blog-breaks-the-archive/",
                            "https://www.zylstra.org/blog/2026/03/on-harvesting-for-the-royal-library-or-how-a-blog-breaks-the-archive/"
                        ],
                        "updated": [
                            "2026-03-27T15:09:50+01:00"
                        ],
                        "published": [
                            "2026-03-27T15:09:50+01:00"
                        ],
                        "content": [
                            {
                                "html": "<div class=\"e-content\">\n<p>My website is now part of <a href=\"https://www.kb.nl/over-ons/expertises/webarchivering\">the web archive in the Dutch Royal Library</a>. It took some experimenting to get it in there. Blogs will be blogs and the amount of links in mine choked the harvester it seems.</p>\n<p>Since 2007 the Royal Library has been archiving websites, and now stores some 25.000 websites. My blog, even though it is one of the oldest still maintained in the Netherlands, never was part of that effort. Mostly because it\u2019s not very visible as a Dutch blog, as it is mostly written in English and resides on a .org domain (when I registered zylstra.org, private persons could not yet register .nl domains, only companies could). At an Internet Archive event organised by the Royal Library last year September I asked about archiving and they told me <a href=\"https://registerwebarchieven.nl/suggesties\">how to suggest</a> my website for archiving. </p>\n<p>Late last January I received a <a href=\"https://www.zylstra.org/blog/2026/01/digital-longevity-through-the-dutch-royal-library/\">message that my website would be included</a> in their archives from now on. </p>\n<p>What followed were several test-runs with their harvester Heritrix, which is also used by the Internet Archive. I <a href=\"https://www.zylstra.org/blog/2026/02/on-heritrix-crawler-and-internet-archiving/\">wondered</a> about how some of my website\u2019s peculiarities would be dealt with by the harvester. Not every posting is listed on my site for instance, although each does have a direct URL. The years\u2019 worth of weekly notes for instance are not listed in this site. Also many postings are never shown on the front page, and if you page through postings on the front page you will never encounter them. This is true for categories of posts like books, photos, and day to day topics. I discussed this with the web-archivist, who ran some tests. My week notes seemed to be included, but the pagination of the category of day to day stalled out at 180 pages, although there were more still.</p>\n<p>To my surprise they also ran into volume limits. Apparently because of \u2018bycatch\u2019, things they archive from other sites because I reference them or embed them. In the past few years I have stopped embedding things, like photos, except for my slides, which are hosted on a separate domain I have registered. While it was normal that a site\u2019s additional catch is larger than the site itself, for my site it was very different from what they were used to.<br>\nFirst they limited bycatch to 20GB in a test, and they ran out of space, then they set it at 40GB in a test, and still ran out of space. Raising the limits further did not help. In the end they decided to harvest just what is on my zylstra.org domain and not include any bycatch at all. Which is completely fine by me, precisely because I\u2019ve made the effort to bring all kinds of external content \u2018home\u2019 to this domain.</p>\n<p>Nevertheless it did surprise me that bycatch turned out to be a problem, as they are using a tool the Internet Archive itself uses too. I asked for some examples of the bycatch. They told me it wasn\u2019t even possible to dump a URL list from the bycatch into a spreadsheet as it hit the maximum number of rows (around 65k iirc). I did get some of the URLs that contributed bigger volumes of bycatch. To my surprise I did not even recognise the links, except one.</p>\n<p>One was obvious, 2800 attempts to harvest a page on live.staticflickr.com, as I link a lot to my Flickr hosted images, although I no longer embed them but have local versions on this domain.<br>\nOthers were not obvious to me at all, theguardian.tv, vp.nyt.com and various content delivery networks. I link to none of them in this site. I do link to The Guardian, about 100 times, and to the NYT about 40 times, and I suppose if the harvester follows those links it will find additional material there that explains the bycatch more fully, if it harvests all the targets I link to too.</p>\n<p>If that is the case, that it harvests everything I\u2019ve linked to, then it is the long history of this blog that is the issue and makes the harvester hit its limits.</p>\n<p>There are some 20.000 external links in this blog\u2019s articles, as far as I can quickly estimate based on a full content export I made this week.<br>\nIt basically means that if the harvester attempts to harvest all those links and what resources they include, it adds a number of pages to the archive, roughly equivalent to the current archive itself.</p>\n<p>A weblog embraces what the world wide web <em>is</em>, a bunch of links to other websites. The name weblog says it. A web-log is a curation hub for web readers, pointing out other interesting stuff, and not trying to keep you here too long. Over 23 years of blogging yielded some 20.000 links to other websites. In terms of linking a blog becomes <em>the web</em> itself as much as it becomes its <a href=\"https://www.zylstra.org/blog/2020/08/your-blog-is-your-avatar/\">author\u2019s avatar</a> in terms of its content given enough time.</p>\n<p>From now on my site will be updated in the Royal Library\u2019s archives every year on March 5th.</p>\n<p><a href=\"https://flickr.com/photos/ferdislife/8647651442/\"><img loading=\"lazy\" decoding=\"async\" src=\"https://www.zylstra.org/wp/wp-content/uploads/2026/03/KBgevelFerdiDeGierccbysa-640x411.jpg\" alt=\"\" width=\"640\" height=\"411\" class=\"aligncenter size-large wp-image-26296\" srcset=\"\" sizes=\"auto, (max-width: 640px) 100vw, 640px\"></a><br><em>The facade of the Royal Library in The Hague, photo by Ferdi de Gier, license CC-BY-SA</em>\n</p></div>",
                                "value": "My website is now part of the web archive in the Dutch Royal Library. It took some experimenting to get it in there. Blogs will be blogs and the amount of links in mine choked the harvester it seems.\nSince 2007 the Royal Library has been archiving websites, and now stores some 25.000 websites. My blog, even though it is one of the oldest still maintained in the Netherlands, never was part of that effort. Mostly because it\u2019s not very visible as a Dutch blog, as it is mostly written in English and resides on a .org domain (when I registered zylstra.org, private persons could not yet register .nl domains, only companies could). At an Internet Archive event organised by the Royal Library last year September I asked about archiving and they told me how to suggest my website for archiving.\nLate last January I received a message that my website would be included in their archives from now on.\nWhat followed were several test-runs with their harvester Heritrix, which is also used by the Internet Archive. I wondered about how some of my website\u2019s peculiarities would be dealt with by the harvester. Not every posting is listed on my site for instance, although each does have a direct URL. The years\u2019 worth of weekly notes for instance are not listed in this site. Also many postings are never shown on the front page, and if you page through postings on the front page you will never encounter them. This is true for categories of posts like books, photos, and day to day topics. I discussed this with the web-archivist, who ran some tests. My week notes seemed to be included, but the pagination of the category of day to day stalled out at 180 pages, although there were more still.\nTo my surprise they also ran into volume limits. Apparently because of \u2018bycatch\u2019, things they archive from other sites because I reference them or embed them. In the past few years I have stopped embedding things, like photos, except for my slides, which are hosted on a separate domain I have registered. While it was normal that a site\u2019s additional catch is larger than the site itself, for my site it was very different from what they were used to.\nFirst they limited bycatch to 20GB in a test, and they ran out of space, then they set it at 40GB in a test, and still ran out of space. Raising the limits further did not help. In the end they decided to harvest just what is on my zylstra.org domain and not include any bycatch at all. Which is completely fine by me, precisely because I\u2019ve made the effort to bring all kinds of external content \u2018home\u2019 to this domain.\nNevertheless it did surprise me that bycatch turned out to be a problem, as they are using a tool the Internet Archive itself uses too. I asked for some examples of the bycatch. They told me it wasn\u2019t even possible to dump a URL list from the bycatch into a spreadsheet as it hit the maximum number of rows (around 65k iirc). I did get some of the URLs that contributed bigger volumes of bycatch. To my surprise I did not even recognise the links, except one.\nOne was obvious, 2800 attempts to harvest a page on live.staticflickr.com, as I link a lot to my Flickr hosted images, although I no longer embed them but have local versions on this domain.\nOthers were not obvious to me at all, theguardian.tv, vp.nyt.com and various content delivery networks. I link to none of them in this site. I do link to The Guardian, about 100 times, and to the NYT about 40 times, and I suppose if the harvester follows those links it will find additional material there that explains the bycatch more fully, if it harvests all the targets I link to too.\nIf that is the case, that it harvests everything I\u2019ve linked to, then it is the long history of this blog that is the issue and makes the harvester hit its limits.\nThere are some 20.000 external links in this blog\u2019s articles, as far as I can quickly estimate based on a full content export I made this week.\nIt basically means that if the harvester attempts to harvest all those links and what resources they include, it adds a number of pages to the archive, roughly equivalent to the current archive itself.\nA weblog embraces what the world wide web is, a bunch of links to other websites. The name weblog says it. A web-log is a curation hub for web readers, pointing out other interesting stuff, and not trying to keep you here too long. Over 23 years of blogging yielded some 20.000 links to other websites. In terms of linking a blog becomes the web itself as much as it becomes its author\u2019s avatar in terms of its content given enough time.\nFrom now on my site will be updated in the Royal Library\u2019s archives every year on March 5th.\n\nThe facade of the Royal Library in The Hague, photo by Ferdi de Gier, license CC-BY-SA",
                                "lang": "en-us"
                            },
                            {
                                "html": "<p>My website is now part of <a href=\"https://www.kb.nl/over-ons/expertises/webarchivering\">the web archive in the Dutch Royal Library</a>. It took some experimenting to get it in there. Blogs will be blogs and the amount of links in mine choked the harvester it seems.</p>\n<p>Since 2007 the Royal Library has been archiving websites, and now stores some 25.000 websites. My blog, even though it is one of the oldest still maintained in the Netherlands, never was part of that effort. Mostly because it\u2019s not very visible as a Dutch blog, as it is mostly written in English and resides on a .org domain (when I registered zylstra.org, private persons could not yet register .nl domains, only companies could). At an Internet Archive event organised by the Royal Library last year September I asked about archiving and they told me <a href=\"https://registerwebarchieven.nl/suggesties\">how to suggest</a> my website for archiving. </p>\n<p>Late last January I received a <a href=\"https://www.zylstra.org/blog/2026/01/digital-longevity-through-the-dutch-royal-library/\">message that my website would be included</a> in their archives from now on. </p>\n<p>What followed were several test-runs with their harvester Heritrix, which is also used by the Internet Archive. I <a href=\"https://www.zylstra.org/blog/2026/02/on-heritrix-crawler-and-internet-archiving/\">wondered</a> about how some of my website\u2019s peculiarities would be dealt with by the harvester. Not every posting is listed on my site for instance, although each does have a direct URL. The years\u2019 worth of weekly notes for instance are not listed in this site. Also many postings are never shown on the front page, and if you page through postings on the front page you will never encounter them. This is true for categories of posts like books, photos, and day to day topics. I discussed this with the web-archivist, who ran some tests. My week notes seemed to be included, but the pagination of the category of day to day stalled out at 180 pages, although there were more still.</p>\n<p>To my surprise they also ran into volume limits. Apparently because of \u2018bycatch\u2019, things they archive from other sites because I reference them or embed them. In the past few years I have stopped embedding things, like photos, except for my slides, which are hosted on a separate domain I have registered. While it was normal that a site\u2019s additional catch is larger than the site itself, for my site it was very different from what they were used to.<br>\nFirst they limited bycatch to 20GB in a test, and they ran out of space, then they set it at 40GB in a test, and still ran out of space. Raising the limits further did not help. In the end they decided to harvest just what is on my zylstra.org domain and not include any bycatch at all. Which is completely fine by me, precisely because I\u2019ve made the effort to bring all kinds of external content \u2018home\u2019 to this domain.</p>\n<p>Nevertheless it did surprise me that bycatch turned out to be a problem, as they are using a tool the Internet Archive itself uses too. I asked for some examples of the bycatch. They told me it wasn\u2019t even possible to dump a URL list from the bycatch into a spreadsheet as it hit the maximum number of rows (around 65k iirc). I did get some of the URLs that contributed bigger volumes of bycatch. To my surprise I did not even recognise the links, except one.</p>\n<p>One was obvious, 2800 attempts to harvest a page on live.staticflickr.com, as I link a lot to my Flickr hosted images, although I no longer embed them but have local versions on this domain.<br>\nOthers were not obvious to me at all, theguardian.tv, vp.nyt.com and various content delivery networks. I link to none of them in this site. I do link to The Guardian, about 100 times, and to the NYT about 40 times, and I suppose if the harvester follows those links it will find additional material there that explains the bycatch more fully, if it harvests all the targets I link to too.</p>\n<p>If that is the case, that it harvests everything I\u2019ve linked to, then it is the long history of this blog that is the issue and makes the harvester hit its limits.</p>\n<p>There are some 20.000 external links in this blog\u2019s articles, as far as I can quickly estimate based on a full content export I made this week.<br>\nIt basically means that if the harvester attempts to harvest all those links and what resources they include, it adds a number of pages to the archive, roughly equivalent to the current archive itself.</p>\n<p>A weblog embraces what the world wide web <em>is</em>, a bunch of links to other websites. The name weblog says it. A web-log is a curation hub for web readers, pointing out other interesting stuff, and not trying to keep you here too long. Over 23 years of blogging yielded some 20.000 links to other websites. In terms of linking a blog becomes <em>the web</em> itself as much as it becomes its <a href=\"https://www.zylstra.org/blog/2020/08/your-blog-is-your-avatar/\">author\u2019s avatar</a> in terms of its content given enough time.</p>\n<p>From now on my site will be updated in the Royal Library\u2019s archives every year on March 5th.</p>\n<p><a href=\"https://flickr.com/photos/ferdislife/8647651442/\"><img loading=\"lazy\" decoding=\"async\" src=\"https://www.zylstra.org/wp/wp-content/uploads/2026/03/KBgevelFerdiDeGierccbysa-640x411.jpg\" alt=\"\" width=\"640\" height=\"411\" class=\"aligncenter size-large wp-image-26296\" srcset=\"\" sizes=\"auto, (max-width: 640px) 100vw, 640px\"></a><br><em>The facade of the Royal Library in The Hague, photo by Ferdi de Gier, license CC-BY-SA</em>\n</p>",
                                "value": "My website is now part of the web archive in the Dutch Royal Library. It took some experimenting to get it in there. Blogs will be blogs and the amount of links in mine choked the harvester it seems.\nSince 2007 the Royal Library has been archiving websites, and now stores some 25.000 websites. My blog, even though it is one of the oldest still maintained in the Netherlands, never was part of that effort. Mostly because it\u2019s not very visible as a Dutch blog, as it is mostly written in English and resides on a .org domain (when I registered zylstra.org, private persons could not yet register .nl domains, only companies could). At an Internet Archive event organised by the Royal Library last year September I asked about archiving and they told me how to suggest my website for archiving.\nLate last January I received a message that my website would be included in their archives from now on.\nWhat followed were several test-runs with their harvester Heritrix, which is also used by the Internet Archive. I wondered about how some of my website\u2019s peculiarities would be dealt with by the harvester. Not every posting is listed on my site for instance, although each does have a direct URL. The years\u2019 worth of weekly notes for instance are not listed in this site. Also many postings are never shown on the front page, and if you page through postings on the front page you will never encounter them. This is true for categories of posts like books, photos, and day to day topics. I discussed this with the web-archivist, who ran some tests. My week notes seemed to be included, but the pagination of the category of day to day stalled out at 180 pages, although there were more still.\nTo my surprise they also ran into volume limits. Apparently because of \u2018bycatch\u2019, things they archive from other sites because I reference them or embed them. In the past few years I have stopped embedding things, like photos, except for my slides, which are hosted on a separate domain I have registered. While it was normal that a site\u2019s additional catch is larger than the site itself, for my site it was very different from what they were used to.\nFirst they limited bycatch to 20GB in a test, and they ran out of space, then they set it at 40GB in a test, and still ran out of space. Raising the limits further did not help. In the end they decided to harvest just what is on my zylstra.org domain and not include any bycatch at all. Which is completely fine by me, precisely because I\u2019ve made the effort to bring all kinds of external content \u2018home\u2019 to this domain.\nNevertheless it did surprise me that bycatch turned out to be a problem, as they are using a tool the Internet Archive itself uses too. I asked for some examples of the bycatch. They told me it wasn\u2019t even possible to dump a URL list from the bycatch into a spreadsheet as it hit the maximum number of rows (around 65k iirc). I did get some of the URLs that contributed bigger volumes of bycatch. To my surprise I did not even recognise the links, except one.\nOne was obvious, 2800 attempts to harvest a page on live.staticflickr.com, as I link a lot to my Flickr hosted images, although I no longer embed them but have local versions on this domain.\nOthers were not obvious to me at all, theguardian.tv, vp.nyt.com and various content delivery networks. I link to none of them in this site. I do link to The Guardian, about 100 times, and to the NYT about 40 times, and I suppose if the harvester follows those links it will find additional material there that explains the bycatch more fully, if it harvests all the targets I link to too.\nIf that is the case, that it harvests everything I\u2019ve linked to, then it is the long history of this blog that is the issue and makes the harvester hit its limits.\nThere are some 20.000 external links in this blog\u2019s articles, as far as I can quickly estimate based on a full content export I made this week.\nIt basically means that if the harvester attempts to harvest all those links and what resources they include, it adds a number of pages to the archive, roughly equivalent to the current archive itself.\nA weblog embraces what the world wide web is, a bunch of links to other websites. The name weblog says it. A web-log is a curation hub for web readers, pointing out other interesting stuff, and not trying to keep you here too long. Over 23 years of blogging yielded some 20.000 links to other websites. In terms of linking a blog becomes the web itself as much as it becomes its author\u2019s avatar in terms of its content given enough time.\nFrom now on my site will be updated in the Royal Library\u2019s archives every year on March 5th.\n\nThe facade of the Royal Library in The Hague, photo by Ferdi de Gier, license CC-BY-SA",
                                "lang": "en-us"
                            }
                        ]
                    },
                    "id": "post-26295",
                    "lang": "en-us"
                },
                {
                    "type": [
                        "h-entry"
                    ],
                    "properties": {
                        "name": [
                            "A Rising New Era of Personal Tools"
                        ],
                        "author": [
                            "Ton Zijlstra",
                            "Ton Zijlstra"
                        ],
                        "category": [
                            "pkm",
                            "pkmsummit"
                        ],
                        "url": [
                            "https://www.zylstra.org/blog/2026/03/a-rising-new-era-of-personal-tools/",
                            "https://www.zylstra.org/blog/2026/03/a-rising-new-era-of-personal-tools/"
                        ],
                        "updated": [
                            "2026-03-23T12:45:34+01:00"
                        ],
                        "published": [
                            "2026-03-23T12:45:34+01:00"
                        ],
                        "content": [
                            {
                                "html": "<div class=\"e-content\">\n<p>At <a href=\"https://pkmsummit.com\">PKM Summit</a> this weekend one thing that stood out was that many have started creating their own tools, and were using vibecoding to create them.</p>\n<p>While the term agency turned out to be unknown to almost all participants, that is of course what such tools create. The ability to do things, <a href=\"https://www.zylstra.org/blog/networked-agency/\">individually or as a group</a>, in this case by creating your own tools to get there.<br>\nThe power of finding new agency was felt and expressed by quite a few, and played a role in a good number of sessions too. </p>\n<p>When I first encountered computers, in the early 1980s, creating your own stuff was the norm. It was almost the only option. Making the machine work for myself. Like software to keep my <a href=\"https://www.zylstra.org/blog/2019/06/7336/\">ham radio logs and print QSL cards</a>.<br>\nThese days I run a good many smaller and larger personal pieces of tooling on my laptop. Things like making it easy to search by date in my photos on Flickr, or posting to my website from my internal notes, or from within my feedreader.<br>\nThings that reduce friction, speed things up, reduce dependency on external systems.</p>\n<p>Vibecoding, and especially the Claude Code style of vibe coding, is bringing people to create their own tools, who weren\u2019t able to do so before. A pool of latent needs they can now tap into on their own.</p>\n<p>Some I know are really now learning how a computer works under the hood through their vibe coding. Testing the limits of their machines, finding out how fast local stuff can be. Discovering the power of APIs, the utility of cron jobs, and learning how to run their own VPS or local servers.<br>\nOthers are creating little tools that work the way they want. An app to present books from their collection in that one specific way just so. A mobile app for public transport built on your own existing commute patterns and nothing else. Apps pulling in data from several sources and presenting them in one interface that likely only makes sense to themselves. </p>\n<p>Tools built by people realising they are pretty predictable <em>to themselves</em>, and that such highly localised and specifically contextualised predictability now lends itself to automation by the intended user themself.<br>\nTools, in short, where, access to and control over data lies fully with the user, where applications are views on that data (and multiple apps use the same data), and interfaces queries on the data. Along the lines of Ruben Verborgh\u2019s 2017 article \u201c<a href=\"https://ruben.verborgh.org/blog/2017/12/20/paradigm-shifts-for-the-decentralized-web/\">Paradigm Shifts for the Decentralised Web</a>\u201c but then way more personal. The decoupling that is possible between data, applications and interfaces is even more powerful when you can do them all three for yourself. And then mash them up in any which way you want. </p>\n<p>Vibecoding is allowing people to jump the barriers to entry to that. And judging by the stories they share, it feels like pole vaulting over them, not just clearing the barriers. That energy then propels them on to do more.</p>\n<p>Over the past months I\u2019ve also heard regularly how people are cancelling paid subscriptions to various online services, and switching to their personal tools that fit their use case much more precisely. </p>\n<p>There are many ethical, political, and societal issues with much of the gen AI world, and how models come about, and how corporate vendors exploit and leverage their power.<br>\nYet, where these things are not just consumed but used locally as a leg-up to a different level of self-reliance, it looks quite different. Something is brewing it feels like.<br>\nA shift, and I\u2019d love to see more people explore and extend their own agency with such tools. </p>\n</div>",
                                "value": "At PKM Summit this weekend one thing that stood out was that many have started creating their own tools, and were using vibecoding to create them.\nWhile the term agency turned out to be unknown to almost all participants, that is of course what such tools create. The ability to do things, individually or as a group, in this case by creating your own tools to get there.\nThe power of finding new agency was felt and expressed by quite a few, and played a role in a good number of sessions too.\nWhen I first encountered computers, in the early 1980s, creating your own stuff was the norm. It was almost the only option. Making the machine work for myself. Like software to keep my ham radio logs and print QSL cards.\nThese days I run a good many smaller and larger personal pieces of tooling on my laptop. Things like making it easy to search by date in my photos on Flickr, or posting to my website from my internal notes, or from within my feedreader.\nThings that reduce friction, speed things up, reduce dependency on external systems.\nVibecoding, and especially the Claude Code style of vibe coding, is bringing people to create their own tools, who weren\u2019t able to do so before. A pool of latent needs they can now tap into on their own.\nSome I know are really now learning how a computer works under the hood through their vibe coding. Testing the limits of their machines, finding out how fast local stuff can be. Discovering the power of APIs, the utility of cron jobs, and learning how to run their own VPS or local servers.\nOthers are creating little tools that work the way they want. An app to present books from their collection in that one specific way just so. A mobile app for public transport built on your own existing commute patterns and nothing else. Apps pulling in data from several sources and presenting them in one interface that likely only makes sense to themselves.\nTools built by people realising they are pretty predictable to themselves, and that such highly localised and specifically contextualised predictability now lends itself to automation by the intended user themself.\nTools, in short, where, access to and control over data lies fully with the user, where applications are views on that data (and multiple apps use the same data), and interfaces queries on the data. Along the lines of Ruben Verborgh\u2019s 2017 article \u201cParadigm Shifts for the Decentralised Web\u201c but then way more personal. The decoupling that is possible between data, applications and interfaces is even more powerful when you can do them all three for yourself. And then mash them up in any which way you want.\nVibecoding is allowing people to jump the barriers to entry to that. And judging by the stories they share, it feels like pole vaulting over them, not just clearing the barriers. That energy then propels them on to do more.\nOver the past months I\u2019ve also heard regularly how people are cancelling paid subscriptions to various online services, and switching to their personal tools that fit their use case much more precisely.\nThere are many ethical, political, and societal issues with much of the gen AI world, and how models come about, and how corporate vendors exploit and leverage their power.\nYet, where these things are not just consumed but used locally as a leg-up to a different level of self-reliance, it looks quite different. Something is brewing it feels like.\nA shift, and I\u2019d love to see more people explore and extend their own agency with such tools.",
                                "lang": "en-us"
                            },
                            {
                                "html": "<p>At <a href=\"https://pkmsummit.com\">PKM Summit</a> this weekend one thing that stood out was that many have started creating their own tools, and were using vibecoding to create them.</p>\n<p>While the term agency turned out to be unknown to almost all participants, that is of course what such tools create. The ability to do things, <a href=\"https://www.zylstra.org/blog/networked-agency/\">individually or as a group</a>, in this case by creating your own tools to get there.<br>\nThe power of finding new agency was felt and expressed by quite a few, and played a role in a good number of sessions too. </p>\n<p>When I first encountered computers, in the early 1980s, creating your own stuff was the norm. It was almost the only option. Making the machine work for myself. Like software to keep my <a href=\"https://www.zylstra.org/blog/2019/06/7336/\">ham radio logs and print QSL cards</a>.<br>\nThese days I run a good many smaller and larger personal pieces of tooling on my laptop. Things like making it easy to search by date in my photos on Flickr, or posting to my website from my internal notes, or from within my feedreader.<br>\nThings that reduce friction, speed things up, reduce dependency on external systems.</p>\n<p>Vibecoding, and especially the Claude Code style of vibe coding, is bringing people to create their own tools, who weren\u2019t able to do so before. A pool of latent needs they can now tap into on their own.</p>\n<p>Some I know are really now learning how a computer works under the hood through their vibe coding. Testing the limits of their machines, finding out how fast local stuff can be. Discovering the power of APIs, the utility of cron jobs, and learning how to run their own VPS or local servers.<br>\nOthers are creating little tools that work the way they want. An app to present books from their collection in that one specific way just so. A mobile app for public transport built on your own existing commute patterns and nothing else. Apps pulling in data from several sources and presenting them in one interface that likely only makes sense to themselves. </p>\n<p>Tools built by people realising they are pretty predictable <em>to themselves</em>, and that such highly localised and specifically contextualised predictability now lends itself to automation by the intended user themself.<br>\nTools, in short, where, access to and control over data lies fully with the user, where applications are views on that data (and multiple apps use the same data), and interfaces queries on the data. Along the lines of Ruben Verborgh\u2019s 2017 article \u201c<a href=\"https://ruben.verborgh.org/blog/2017/12/20/paradigm-shifts-for-the-decentralized-web/\">Paradigm Shifts for the Decentralised Web</a>\u201c but then way more personal. The decoupling that is possible between data, applications and interfaces is even more powerful when you can do them all three for yourself. And then mash them up in any which way you want. </p>\n<p>Vibecoding is allowing people to jump the barriers to entry to that. And judging by the stories they share, it feels like pole vaulting over them, not just clearing the barriers. That energy then propels them on to do more.</p>\n<p>Over the past months I\u2019ve also heard regularly how people are cancelling paid subscriptions to various online services, and switching to their personal tools that fit their use case much more precisely. </p>\n<p>There are many ethical, political, and societal issues with much of the gen AI world, and how models come about, and how corporate vendors exploit and leverage their power.<br>\nYet, where these things are not just consumed but used locally as a leg-up to a different level of self-reliance, it looks quite different. Something is brewing it feels like.<br>\nA shift, and I\u2019d love to see more people explore and extend their own agency with such tools. </p>",
                                "value": "At PKM Summit this weekend one thing that stood out was that many have started creating their own tools, and were using vibecoding to create them.\nWhile the term agency turned out to be unknown to almost all participants, that is of course what such tools create. The ability to do things, individually or as a group, in this case by creating your own tools to get there.\nThe power of finding new agency was felt and expressed by quite a few, and played a role in a good number of sessions too.\nWhen I first encountered computers, in the early 1980s, creating your own stuff was the norm. It was almost the only option. Making the machine work for myself. Like software to keep my ham radio logs and print QSL cards.\nThese days I run a good many smaller and larger personal pieces of tooling on my laptop. Things like making it easy to search by date in my photos on Flickr, or posting to my website from my internal notes, or from within my feedreader.\nThings that reduce friction, speed things up, reduce dependency on external systems.\nVibecoding, and especially the Claude Code style of vibe coding, is bringing people to create their own tools, who weren\u2019t able to do so before. A pool of latent needs they can now tap into on their own.\nSome I know are really now learning how a computer works under the hood through their vibe coding. Testing the limits of their machines, finding out how fast local stuff can be. Discovering the power of APIs, the utility of cron jobs, and learning how to run their own VPS or local servers.\nOthers are creating little tools that work the way they want. An app to present books from their collection in that one specific way just so. A mobile app for public transport built on your own existing commute patterns and nothing else. Apps pulling in data from several sources and presenting them in one interface that likely only makes sense to themselves.\nTools built by people realising they are pretty predictable to themselves, and that such highly localised and specifically contextualised predictability now lends itself to automation by the intended user themself.\nTools, in short, where, access to and control over data lies fully with the user, where applications are views on that data (and multiple apps use the same data), and interfaces queries on the data. Along the lines of Ruben Verborgh\u2019s 2017 article \u201cParadigm Shifts for the Decentralised Web\u201c but then way more personal. The decoupling that is possible between data, applications and interfaces is even more powerful when you can do them all three for yourself. And then mash them up in any which way you want.\nVibecoding is allowing people to jump the barriers to entry to that. And judging by the stories they share, it feels like pole vaulting over them, not just clearing the barriers. That energy then propels them on to do more.\nOver the past months I\u2019ve also heard regularly how people are cancelling paid subscriptions to various online services, and switching to their personal tools that fit their use case much more precisely.\nThere are many ethical, political, and societal issues with much of the gen AI world, and how models come about, and how corporate vendors exploit and leverage their power.\nYet, where these things are not just consumed but used locally as a leg-up to a different level of self-reliance, it looks quite different. Something is brewing it feels like.\nA shift, and I\u2019d love to see more people explore and extend their own agency with such tools.",
                                "lang": "en-us"
                            }
                        ]
                    },
                    "id": "post-26288",
                    "lang": "en-us"
                },
                {
                    "type": [
                        "h-card"
                    ],
                    "properties": {
                        "name": [
                            "Ton Zijlstra"
                        ],
                        "note": [
                            "European citizen in a networked world. Based in the Netherlands, living in Europe, working globally. There are no Others. There is just me and many of you.\n\nI write about how our digital and networked world changes how we work, learn, decide and organize. I explore the tools and strategies that help us navigate the networked world. I am passionate about increasing people's ability to act (knowledge), and their ability to change (learning). Key-words: open data, open government, fablabs, making, complexity, networked agency, networked learning, ethics by design."
                        ],
                        "country-name": [
                            "Netherlands"
                        ],
                        "url": [
                            "https://www.zylstra.org/blog"
                        ],
                        "uid": [
                            "https://www.zylstra.org/blog"
                        ],
                        "email": [
                            "mailto:blog@zylstra.org",
                            "mailto:tonz@protonmail.ch"
                        ]
                    },
                    "lang": "en-us"
                }
            ]
        }
    ],
    "rels": {
        "profile": [
            "http://microformats.org/profile/specs",
            "http://microformats.org/profile/hatom"
        ],
        "microsub": [
            "https://aperture.p3k.io/microsub/144"
        ],
        "alternate": [
            "https://www.zylstra.org/blog/feed/",
            "https://www.zylstra.org/blog/comments/feed/",
            "https://www.zylstra.org/blog/"
        ],
        "stylesheet": [
            "https://www.zylstra.org/wp/wp-content/plugins/category-to-pages-wud/css/category-to-pages-wud.css",
            "https://www.zylstra.org/wp/wp-content/plugins/category-to-pages-wud/css/jquery.ctp_wud.css",
            "https://www.zylstra.org/wp/wp-content/plugins/indieweb/static/css/indieweb.css?ver=5.1.1",
            "https://www.zylstra.org/wp/wp-content/plugins/etranslation-multilingual/assets/css/etm-floater-language-switcher.css?ver=2.0.6",
            "https://www.zylstra.org/wp/wp-content/plugins/etranslation-multilingual/assets/css/etm-language-switcher.css?ver=2.0.6",
            "https://www.zylstra.org/wp/wp-content/themes/sempress/style.css?ver=6.9.4",
            "https://www.zylstra.org/wp/wp-content/themes/tonsempress/style.css?ver=6.9.4"
        ],
        "https://api.w.org/": [
            "https://www.zylstra.org/blog/wp-json/"
        ],
        "EditURI": [
            "https://www.zylstra.org/wp/xmlrpc.php?rsd"
        ],
        "me": [
            "https://github.com/tonzyl",
            "https://twitter.com/tonzylstra",
            "https://micro.blog/ton",
            "https://www.flickr.com/people/tonz",
            "https://m.tzyl.eu/@ton",
            "https://www.zylstra.org/blog",
            "https://m.tgl.eu/@ton",
            "https://keybase.io/ton",
            "https://proto.tzyl.nl/wp/",
            "https://meso.tzyl.nl"
        ],
        "indieauth-metadata": [
            "https://www.zylstra.org/blog/wp-json/indieauth/1.0/metadata"
        ],
        "authorization_endpoint": [
            "https://www.zylstra.org/blog/wp-json/indieauth/1.0/auth"
        ],
        "token_endpoint": [
            "https://www.zylstra.org/blog/wp-json/indieauth/1.0/token"
        ],
        "micropub": [
            "https://www.zylstra.org/blog/wp-json/micropub/1.0/endpoint"
        ],
        "micropub_media": [
            "https://www.zylstra.org/blog/wp-json/micropub/1.0/media"
        ],
        "home": [
            "https://www.zylstra.org/blog/"
        ],
        "privacy-policy": [
            "https://www.zylstra.org/blog/personal-data-protection-policy/"
        ],
        "prev": [
            "https://www.zylstra.org/blog/page/2/"
        ],
        "bookmark": [
            "https://www.zylstra.org/blog/2026/04/three-ai-experiments-information-habits/",
            "https://www.zylstra.org/blog/2026/04/when-my-grandfather-took-a-train-trip-with-a-bull/",
            "https://www.zylstra.org/blog/2026/04/human-json/",
            "https://www.zylstra.org/blog/2026/04/the-phenomenology-of-using-ai-for-coding/",
            "https://www.zylstra.org/blog/2026/03/on-harvesting-for-the-royal-library-or-how-a-blog-breaks-the-archive/",
            "https://www.zylstra.org/blog/2026/03/a-rising-new-era-of-personal-tools/"
        ],
        "author": [
            "https://www.zylstra.org/blog/about-me/"
        ],
        "category": [
            "https://www.zylstra.org/blog/category/personaltools/",
            "https://www.zylstra.org/blog/category/misc/",
            "https://www.zylstra.org/blog/category/people/",
            "https://www.zylstra.org/blog/category/travel/",
            "https://www.zylstra.org/blog/category/linklog/",
            "https://www.zylstra.org/blog/category/metablogging/",
            "https://www.zylstra.org/blog/category/technology/",
            "https://www.zylstra.org/blog/category/agency/"
        ],
        "tag": [
            "https://www.zylstra.org/blog/category/personaltools/",
            "https://www.zylstra.org/blog/tag/ai/",
            "https://www.zylstra.org/blog/tag/claudecode/",
            "https://www.zylstra.org/blog/tag/infostrats/",
            "https://www.zylstra.org/blog/category/misc/",
            "https://www.zylstra.org/blog/category/people/",
            "https://www.zylstra.org/blog/category/travel/",
            "https://www.zylstra.org/blog/tag/family/",
            "https://www.zylstra.org/blog/category/linklog/",
            "https://www.zylstra.org/blog/category/metablogging/",
            "https://www.zylstra.org/blog/tag/foaf/",
            "https://www.zylstra.org/blog/tag/reverseturing/",
            "https://www.zylstra.org/blog/category/technology/",
            "https://www.zylstra.org/blog/tag/phenomenology/",
            "https://www.zylstra.org/blog/tag/vibecoding/",
            "https://www.zylstra.org/blog/tag/internetarchive/",
            "https://www.zylstra.org/blog/tag/kb/",
            "https://www.zylstra.org/blog/category/agency/",
            "https://www.zylstra.org/blog/tag/pkm/",
            "https://www.zylstra.org/blog/tag/pkmsummit/"
        ],
        "license": [
            "http://creativecommons.org/licenses/by-sa/4.0/"
        ],
        "ugc": [
            "https://www.zylstra.org/blog/2026/05/a-short-walk/",
            "https://ruk.ca/",
            "https://mastodon.social/@ricmac"
        ],
        "external": [
            "https://ruk.ca/",
            "https://mastodon.social/@ricmac"
        ],
        "nofollow": [
            "https://ruk.ca/",
            "https://mastodon.social/@ricmac"
        ],
        "generator": [
            "http://wordpress.org/"
        ]
    },
    "rel-urls": {
        "http://microformats.org/profile/specs": {
            "rels": [
                "profile"
            ]
        },
        "http://microformats.org/profile/hatom": {
            "rels": [
                "profile"
            ]
        },
        "https://aperture.p3k.io/microsub/144": {
            "rels": [
                "microsub"
            ]
        },
        "https://www.zylstra.org/blog/feed/": {
            "title": "Interdependent Thoughts \u00bb Feed",
            "type": "application/rss+xml",
            "rels": [
                "alternate"
            ]
        },
        "https://www.zylstra.org/blog/comments/feed/": {
            "title": "Interdependent Thoughts \u00bb Comments Feed",
            "type": "application/rss+xml",
            "rels": [
                "alternate"
            ]
        },
        "https://www.zylstra.org/wp/wp-content/plugins/category-to-pages-wud/css/category-to-pages-wud.css": {
            "media": "all",
            "type": "text/css",
            "rels": [
                "stylesheet"
            ]
        },
        "https://www.zylstra.org/wp/wp-content/plugins/category-to-pages-wud/css/jquery.ctp_wud.css": {
            "media": "all",
            "type": "text/css",
            "rels": [
                "stylesheet"
            ]
        },
        "https://www.zylstra.org/wp/wp-content/plugins/indieweb/static/css/indieweb.css?ver=5.1.1": {
            "media": "all",
            "type": "text/css",
            "rels": [
                "stylesheet"
            ]
        },
        "https://www.zylstra.org/wp/wp-content/plugins/etranslation-multilingual/assets/css/etm-floater-language-switcher.css?ver=2.0.6": {
            "media": "all",
            "type": "text/css",
            "rels": [
                "stylesheet"
            ]
        },
        "https://www.zylstra.org/wp/wp-content/plugins/etranslation-multilingual/assets/css/etm-language-switcher.css?ver=2.0.6": {
            "media": "all",
            "type": "text/css",
            "rels": [
                "stylesheet"
            ]
        },
        "https://www.zylstra.org/wp/wp-content/themes/sempress/style.css?ver=6.9.4": {
            "media": "all",
            "type": "text/css",
            "rels": [
                "stylesheet"
            ]
        },
        "https://www.zylstra.org/wp/wp-content/themes/tonsempress/style.css?ver=6.9.4": {
            "media": "all",
            "type": "text/css",
            "rels": [
                "stylesheet"
            ]
        },
        "https://www.zylstra.org/blog/wp-json/": {
            "rels": [
                "https://api.w.org/"
            ]
        },
        "https://www.zylstra.org/wp/xmlrpc.php?rsd": {
            "title": "RSD",
            "type": "application/rsd+xml",
            "rels": [
                "EditURI"
            ]
        },
        "https://www.zylstra.org/blog/": {
            "title": "Interdependent Thoughts",
            "text": "Interdependent Thoughts",
            "hreflang": "en-GB",
            "rels": [
                "alternate",
                "home"
            ]
        },
        "https://github.com/tonzyl": {
            "rels": [
                "me"
            ]
        },
        "https://twitter.com/tonzylstra": {
            "rels": [
                "me"
            ]
        },
        "https://micro.blog/ton": {
            "rels": [
                "me"
            ]
        },
        "https://www.flickr.com/people/tonz": {
            "rels": [
                "me"
            ]
        },
        "https://m.tzyl.eu/@ton": {
            "text": "@ton@m.tzyl.eu",
            "rels": [
                "me"
            ]
        },
        "https://www.zylstra.org/blog/wp-json/indieauth/1.0/metadata": {
            "rels": [
                "indieauth-metadata"
            ]
        },
        "https://www.zylstra.org/blog/wp-json/indieauth/1.0/auth": {
            "rels": [
                "authorization_endpoint"
            ]
        },
        "https://www.zylstra.org/blog/wp-json/indieauth/1.0/token": {
            "rels": [
                "token_endpoint"
            ]
        },
        "https://www.zylstra.org/blog/wp-json/micropub/1.0/endpoint": {
            "rels": [
                "micropub"
            ]
        },
        "https://www.zylstra.org/blog/wp-json/micropub/1.0/media": {
            "rels": [
                "micropub_media"
            ]
        },
        "https://www.zylstra.org/blog/personal-data-protection-policy/": {
            "text": "Privacy Policy",
            "rels": [
                "privacy-policy"
            ]
        },
        "https://www.zylstra.org/blog/page/2/": {
            "text": "\u2190 Older posts",
            "rels": [
                "prev"
            ]
        },
        "https://www.zylstra.org/blog/2026/04/three-ai-experiments-information-habits/": {
            "title": "Permalink to Three AI Helper Experiments in Information Habits",
            "text": "Three AI Helper Experiments in Information Habits",
            "rels": [
                "bookmark"
            ]
        },
        "https://www.zylstra.org/blog/about-me/": {
            "title": "Ton Zijlstra",
            "text": "Ton Zijlstra",
            "rels": [
                "author"
            ]
        },
        "https://www.zylstra.org/blog/category/personaltools/": {
            "text": "Personal tools",
            "rels": [
                "category",
                "tag"
            ]
        },
        "https://www.zylstra.org/blog/tag/ai/": {
            "text": "AI",
            "rels": [
                "tag"
            ]
        },
        "https://www.zylstra.org/blog/tag/claudecode/": {
            "text": "claudecode",
            "rels": [
                "tag"
            ]
        },
        "https://www.zylstra.org/blog/tag/infostrats/": {
            "text": "infostrats",
            "rels": [
                "tag"
            ]
        },
        "https://www.zylstra.org/blog/2026/04/when-my-grandfather-took-a-train-trip-with-a-bull/": {
            "title": "Permalink to When My Grandfather Took a Train Trip With a Bull",
            "text": "When My Grandfather Took a Train Trip With a Bull",
            "rels": [
                "bookmark"
            ]
        },
        "https://www.zylstra.org/blog/category/misc/": {
            "text": "misc",
            "rels": [
                "category",
                "tag"
            ]
        },
        "https://www.zylstra.org/blog/category/people/": {
            "text": "people",
            "rels": [
                "category",
                "tag"
            ]
        },
        "https://www.zylstra.org/blog/category/travel/": {
            "text": "travel",
            "rels": [
                "category",
                "tag"
            ]
        },
        "https://www.zylstra.org/blog/tag/family/": {
            "text": "family",
            "rels": [
                "tag"
            ]
        },
        "https://www.zylstra.org/blog/2026/04/human-json/": {
            "title": "Permalink to human.json",
            "text": "human.json",
            "rels": [
                "bookmark"
            ]
        },
        "https://www.zylstra.org/blog/category/linklog/": {
            "text": "Linklog",
            "rels": [
                "category",
                "tag"
            ]
        },
        "https://www.zylstra.org/blog/category/metablogging/": {
            "text": "metablogging",
            "rels": [
                "category",
                "tag"
            ]
        },
        "https://www.zylstra.org/blog/tag/foaf/": {
            "text": "foaf",
            "rels": [
                "tag"
            ]
        },
        "https://www.zylstra.org/blog/tag/reverseturing/": {
            "text": "reverseturing",
            "rels": [
                "tag"
            ]
        },
        "https://www.zylstra.org/blog/2026/04/the-phenomenology-of-using-ai-for-coding/": {
            "title": "Permalink to The Phenomenology of Using AI For Coding",
            "text": "The Phenomenology of Using AI For Coding",
            "rels": [
                "bookmark"
            ]
        },
        "https://www.zylstra.org/blog/category/technology/": {
            "text": "technology",
            "rels": [
                "category",
                "tag"
            ]
        },
        "https://www.zylstra.org/blog/tag/phenomenology/": {
            "text": "phenomenology",
            "rels": [
                "tag"
            ]
        },
        "https://www.zylstra.org/blog/tag/vibecoding/": {
            "text": "vibecoding",
            "rels": [
                "tag"
            ]
        },
        "https://www.zylstra.org/blog/2026/03/on-harvesting-for-the-royal-library-or-how-a-blog-breaks-the-archive/": {
            "title": "Permalink to On Harvesting for the Royal Library Or How A Blog Breaks The Archive",
            "text": "On Harvesting for the Royal Library Or How A Blog Breaks The Archive",
            "rels": [
                "bookmark"
            ]
        },
        "https://www.zylstra.org/blog/tag/internetarchive/": {
            "text": "internetarchive",
            "rels": [
                "tag"
            ]
        },
        "https://www.zylstra.org/blog/tag/kb/": {
            "text": "kb",
            "rels": [
                "tag"
            ]
        },
        "https://www.zylstra.org/blog/2026/03/a-rising-new-era-of-personal-tools/": {
            "title": "Permalink to A Rising New Era of Personal Tools",
            "text": "A Rising New Era of Personal Tools",
            "rels": [
                "bookmark"
            ]
        },
        "https://www.zylstra.org/blog/category/agency/": {
            "text": "networked agency",
            "rels": [
                "category",
                "tag"
            ]
        },
        "https://www.zylstra.org/blog/tag/pkm/": {
            "text": "pkm",
            "rels": [
                "tag"
            ]
        },
        "https://www.zylstra.org/blog/tag/pkmsummit/": {
            "text": "pkmsummit",
            "rels": [
                "tag"
            ]
        },
        "http://creativecommons.org/licenses/by-sa/4.0/": {
            "text": "Creative Commons Attribution-Share Alike 4.0 International-license",
            "rels": [
                "license"
            ]
        },
        "https://www.zylstra.org/blog": {
            "text": "Interdependent Thoughts",
            "rels": [
                "me"
            ]
        },
        "https://m.tgl.eu/@ton": {
            "text": "@ton@m.tgl.eu",
            "rels": [
                "me"
            ]
        },
        "https://keybase.io/ton": {
            "text": "keybase.io/ton",
            "rels": [
                "me"
            ]
        },
        "https://proto.tzyl.nl/wp/": {
            "text": "Proto",
            "rels": [
                "me"
            ]
        },
        "https://meso.tzyl.nl": {
            "text": "Meso WP",
            "rels": [
                "me"
            ]
        },
        "https://www.zylstra.org/blog/2026/05/a-short-walk/": {
            "text": "Ton Zijlstra",
            "rels": [
                "ugc"
            ]
        },
        "https://ruk.ca/": {
            "text": "Peter",
            "rels": [
                "external",
                "nofollow",
                "ugc"
            ]
        },
        "https://mastodon.social/@ricmac": {
            "text": "Richard MacManus",
            "rels": [
                "external",
                "nofollow",
                "ugc"
            ]
        },
        "http://wordpress.org/": {
            "text": "WordPress",
            "rels": [
                "generator"
            ]
        }
    },
    "debug": {
        "package": "https://packagist.org/packages/mf2/mf2",
        "source": "https://github.com/indieweb/php-mf2",
        "version": "v0.5.0",
        "note": [
            "This output was generated from the php-mf2 library available at https://github.com/indieweb/php-mf2",
            "Please file any issues with the parser at https://github.com/indieweb/php-mf2/issues",
            "Using the Masterminds HTML5 parser"
        ]
    }
}