{
"type": "entry",
"published": "2024-09-09T18:50:59-07:00",
"url": "https://aaronparecki.com/2024/09/09/21/",
"category": [
"recipe"
],
"photo": [
"https://aperture-media.p3k.io/aaronparecki.com/10b22b9d020eaed680dd5f53aec0f25e2dd784f9d3d7f50bde1490b6fc3c2239.jpg"
],
"content": {
"text": "Hot sauce recipe live blog! \n\nStep 1: Sautee chopped onion and garlic with some oil and salt in the instant pot until the onions are translucent",
"html": "Hot sauce recipe live blog! <br /><br />Step 1: Sautee chopped onion and garlic with some oil and salt in the instant pot until the onions are translucent"
},
"author": {
"type": "card",
"name": "Aaron Parecki",
"url": "https://aaronparecki.com/",
"photo": "https://aperture-media.p3k.io/aaronparecki.com/41061f9de825966faa22e9c42830e1d4a614a321213b4575b9488aa93f89817a.jpg"
},
"post-type": "photo",
"_id": "42190628",
"_source": "16"
}
{
"type": "event",
"name": "\ud83d\uddd3\ufe0f The Level Up",
"published": "2024-09-08T21:00:00-0400",
"start": "2024-09-08T21:00:00-0400",
"url": "https://martymcgui.re/2024/09/08/the-level-up/",
"featured": "https://res.cloudinary.com/schmarty/image/fetch/w_960,c_fill/https://media.martymcgui.re/6d/c0/7e/5e/312a71110e29276f111559c4c1df853c524569fc963ca2846d259cc4.png",
"category": [
"improv",
"show"
],
"location": {
"type": "card",
"name": "Magnet Theater",
"url": "https://magnettheater.com/"
},
"content": {
"text": "The Level Up is a LOOSELY video game-themed indie improv showcase! Come and see some of the freshest talent in the New York indie improv scene!\n\nI\u2019ll be playing in with Philip and the rest of the Level Up!\nLooking forward to it! And to seeing you there!! (Yes, you. Come on out!!!)\nMagnet Theater\n\n254 West 29th St (btwn 7th and 8th Ave.)\n\nNew York City, NY 10001\n\nTickets $10: https://magnettheater.com/show/58804/",
"html": "<blockquote>\n<p>The Level Up is a LOOSELY video game-themed indie improv showcase! Come and see some of the freshest talent in the New York indie improv scene!</p>\n</blockquote>\n<p>I\u2019ll be playing in with Philip and the rest of the Level Up!</p>\n<p>Looking forward to it! And to seeing you there!! (Yes, you. Come on out!!!)</p>\n<p>Magnet Theater<br />\n254 West 29th St (btwn 7th and 8th Ave.)<br />\nNew York City, NY 10001<br />\nTickets $10: <a href=\"https://magnettheater.com/show/58804/\">https://magnettheater.com/show/58804/</a></p>"
},
"author": {
"type": "card",
"name": "Marty McGuire",
"url": "https://martymcgui.re/",
"photo": "https://martymcgui.re/images/logo.jpg"
},
"post-type": "event",
"_id": "42184408",
"_source": "175"
}
Came up with and tried a three phase pomodoro technique yesterday for working thru tasks and projects.
This three phase pomodoro cycle repeats and resyncs hourly. The three phases I came up with: * physical tidying/cleaning * physical processing * digital processing
This worked quite well and I got a lot of things done, tasks completed or significantly advanced in ~6 hours.
Many of these were “annoying” or “boring” but often not immediately “necessary” tasks that I had left undone (procrastinated) for many weeks, especially with all the travel I have had in the past two months nevermind first two-thirds of this year.
I took the basic idea of a pomodoro 20-minute timebox¹, figured three of those fit into an hour, and picked three things that were cognitively different enough that switching from one to the other would use different cognitive skills (perhaps different parts of my brain), thus allowing a form of cognitive rest (rather than fatigue, and giving one part of my brain a chance to rest, while using others).
This eliminated the need to take “pomodoro breaks”, whether 5 minutes or 20-30 minutes and it felt nearly effortless (actually fun at times) to cycle through the three phases, repeatedly, for hours on end. Before I knew it six hours had gone by and many tasks had been completed.
The three 20 minute phases have the advantage of quickly determining at any time which phase you should be in by checking your watch/phone for :00-:20, :20-:40, :40-:00. If you happened to be “out of phase”, e.g. “run over” because you were finishing something up, rather than stressing about it, switch to the in-progress phase and pick-up a new task accordingly.
A 20 minute timebox also has the advantage that tasks are less annoying or boring when you know that in less than 20 minutes you will be able to set them down and switch to something else.
There was an iterative sense of expectation of novelty. The expectation of even only a little novelty was enough to make things go more quickly in the present, and even provide a game-like encouragement of see how far I can get with this boring or annoying task in the little time remaining. Could I even complete this one task in less than 20 minutes?
I think repeating three phase pomodoro cycles worked particularly well on a Saturday afternoon when I had very few external interrupts. I think that was key. It gave a sense of momentum, if actual flow², that itself felt like it gave me a source of energy to keep going. I’m not sure it would work during normal work hours in any highly or even partially collaborative environment.
Interruptions for physical needs, moving around, drinking, eating etc. were something that I allowed at any time, and that removed any stress about those too.
I rarely set any count-down timers. A few times when I recognized I was starting or picking up a task that I might get absolutely lost in (such as many digital processing tasks like email), I set an explicit count-down timer for the end of the phase. These timer alarms certainly helped to give me permission to put down that task (for now) and switch, rather than feeling compelled to “complete” it which I know from experience can often take much longer, and leave me feeling more tired, perhaps even too tired to do anything else.
There was also a sense of relief in knowing that even if I didn’t finish a particular task by the end of a phase, I would have the opportunity to pick it right back up in 40 minutes. Or maybe by then I would have decided to work on a different task in that phase.
This three phase pomodoro technique worked well for tasks that are not very cognitively engaging (hence boring or annoying). Such tasks have low context, and thus low context-switching costs, but still benefit from taking mental breaks and resets.
In contrast, any deeply cognitively engaging, thinking, or creative tasks, like inventing, coding, writing, typically have a much higher context-switching costs, and in my experience work better when you can set aside a longer block of time to allow yourself build up all the context and then joyfully explore the depths of whatever it is you’re creating.
That being said, I think some creative tasks (depending on the person) could benefit from time-boxing. Like having a constraint to write a short blog post in the morning before a workout or breakfast. Worth trying such one-off timeboxes or even formal pomodoros and seeing if they help complete some creative tasks faster (or more often) over time.
{
"type": "entry",
"published": "2024-09-08 14:22-0700",
"url": "https://tantek.com/2024/252/t1/three-phase-pomodoro-cycle-repeats",
"category": [
"productivity",
"pomodoro",
"pomodoroTechnique",
"gtd",
"gettingThingsDone",
"Saturday"
],
"content": {
"text": "Came up with and tried a three phase pomodoro technique yesterday for working thru tasks and projects.\n\nThis three phase pomodoro cycle repeats and resyncs hourly. The three phases I came up with:\n* physical tidying/cleaning\n* physical processing\n* digital processing\n\nThis worked quite well and I got a lot of things done, tasks completed or significantly advanced in ~6 hours. \n\nMany of these were \u201cannoying\u201d or \u201cboring\u201d but often not immediately \u201cnecessary\u201d tasks that I had left undone (procrastinated) for many weeks, especially with all the travel I have had in the past two months nevermind first two-thirds of this year.\n\nI took the basic idea of a pomodoro 20-minute timebox\u00b9, figured three of those fit into an hour, and picked three things that were cognitively different enough that switching from one to the other would use different cognitive skills (perhaps different parts of my brain), thus allowing a form of cognitive rest (rather than fatigue, and giving one part of my brain a chance to rest, while using others).\n\nThis eliminated the need to take \u201cpomodoro breaks\u201d, whether 5 minutes or 20-30 minutes and it felt nearly effortless (actually fun at times) to cycle through the three phases, repeatedly, for hours on end. Before I knew it six hours had gone by and many tasks had been completed.\n\nThe three 20 minute phases have the advantage of quickly determining at any time which phase you should be in by checking your watch/phone for :00-:20, :20-:40, :40-:00. If you happened to be \u201cout of phase\u201d, e.g. \u201crun over\u201d because you were finishing something up, rather than stressing about it, switch to the in-progress phase and pick-up a new task accordingly.\n\nA 20 minute timebox also has the advantage that tasks are less annoying or boring when you know that in less than 20 minutes you will be able to set them down and switch to something else. \n\nThere was an iterative sense of expectation of novelty. The expectation of even only a little novelty was enough to make things go more quickly in the present, and even provide a game-like encouragement of see how far I can get with this boring or annoying task in the little time remaining. Could I even complete this one task in less than 20 minutes?\n\nI think repeating three phase pomodoro cycles worked particularly well on a Saturday afternoon when I had very few external interrupts. I think that was key. It gave a sense of momentum, if actual flow\u00b2, that itself felt like it gave me a source of energy to keep going. I\u2019m not sure it would work during normal work hours in any highly or even partially collaborative environment.\n\nInterruptions for physical needs, moving around, drinking, eating etc. were something that I allowed at any time, and that removed any stress about those too.\n\nI rarely set any count-down timers. A few times when I recognized I was starting or picking up a task that I might get absolutely lost in (such as many digital processing tasks like email), I set an explicit count-down timer for the end of the phase. These timer alarms certainly helped to give me permission to put down that task (for now) and switch, rather than feeling compelled to \u201ccomplete\u201d it which I know from experience can often take much longer, and leave me feeling more tired, perhaps even too tired to do anything else.\n\nThere was also a sense of relief in knowing that even if I didn\u2019t finish a particular task by the end of a phase, I would have the opportunity to pick it right back up in 40 minutes. Or maybe by then I would have decided to work on a different task in that phase.\n\nThis three phase pomodoro technique worked well for tasks that are not very cognitively engaging (hence boring or annoying). Such tasks have low context, and thus low context-switching costs, but still benefit from taking mental breaks and resets. \n\nIn contrast, any deeply cognitively engaging, thinking, or creative tasks, like inventing, coding, writing, typically have a much higher context-switching costs, and in my experience work better when you can set aside a longer block of time to allow yourself build up all the context and then joyfully explore the depths of whatever it is you\u2019re creating.\n\nThat being said, I think some creative tasks (depending on the person) could benefit from time-boxing. Like having a constraint to write a short blog post in the morning before a workout or breakfast. Worth trying such one-off timeboxes or even formal pomodoros and seeing if they help complete some creative tasks faster (or more often) over time.\n\n#productivity #pomodoro #pomodoroTechnique #gtd #gettingThingsDone #Saturday\n\nReferences:\n\n\u00b9 Apparently I misremembered 20 minutes instead of the typical pomodoro 25 minutes: https://en.wikipedia.org/wiki/Pomodoro_Technique\n\u00b2 https://en.wikipedia.org/wiki/Flow_(psychology)",
"html": "Came up with and tried a three phase pomodoro technique yesterday for working thru tasks and projects.<br /><br />This three phase pomodoro cycle repeats and resyncs hourly. The three phases I came up with:<br />* physical tidying/cleaning<br />* physical processing<br />* digital processing<br /><br />This worked quite well and I got a lot of things done, tasks completed or significantly advanced in ~6 hours. <br /><br />Many of these were \u201cannoying\u201d or \u201cboring\u201d but often not immediately \u201cnecessary\u201d tasks that I had left undone (procrastinated) for many weeks, especially with all the travel I have had in the past two months nevermind first two-thirds of this year.<br /><br />I took the basic idea of a pomodoro 20-minute timebox<a href=\"https://tantek.com/#t5Yu1_note-1\">\u00b9</a>, figured three of those fit into an hour, and picked three things that were cognitively different enough that switching from one to the other would use different cognitive skills (perhaps different parts of my brain), thus allowing a form of cognitive rest (rather than fatigue, and giving one part of my brain a chance to rest, while using others).<br /><br />This eliminated the need to take \u201cpomodoro breaks\u201d, whether 5 minutes or 20-30 minutes and it felt nearly effortless (actually fun at times) to cycle through the three phases, repeatedly, for hours on end. Before I knew it six hours had gone by and many tasks had been completed.<br /><br />The three 20 minute phases have the advantage of quickly determining at any time which phase you should be in by checking your watch/phone for :00-:20, :20-:40, :40-:00. If you happened to be \u201cout of phase\u201d, e.g. \u201crun over\u201d because you were finishing something up, rather than stressing about it, switch to the in-progress phase and pick-up a new task accordingly.<br /><br />A 20 minute timebox also has the advantage that tasks are less annoying or boring when you know that in less than 20 minutes you will be able to set them down and switch to something else. <br /><br />There was an iterative sense of expectation of novelty. The expectation of even only a little novelty was enough to make things go more quickly in the present, and even provide a game-like encouragement of see how far I can get with this boring or annoying task in the little time remaining. Could I even complete this one task in less than 20 minutes?<br /><br />I think repeating three phase pomodoro cycles worked particularly well on a Saturday afternoon when I had very few external interrupts. I think that was key. It gave a sense of momentum, if actual flow<a href=\"https://tantek.com/#t5Yu1_note-2\">\u00b2</a>, that itself felt like it gave me a source of energy to keep going. I\u2019m not sure it would work during normal work hours in any highly or even partially collaborative environment.<br /><br />Interruptions for physical needs, moving around, drinking, eating etc. were something that I allowed at any time, and that removed any stress about those too.<br /><br />I rarely set any count-down timers. A few times when I recognized I was starting or picking up a task that I might get absolutely lost in (such as many digital processing tasks like email), I set an explicit count-down timer for the end of the phase. These timer alarms certainly helped to give me permission to put down that task (for now) and switch, rather than feeling compelled to \u201ccomplete\u201d it which I know from experience can often take much longer, and leave me feeling more tired, perhaps even too tired to do anything else.<br /><br />There was also a sense of relief in knowing that even if I didn\u2019t finish a particular task by the end of a phase, I would have the opportunity to pick it right back up in 40 minutes. Or maybe by then I would have decided to work on a different task in that phase.<br /><br />This three phase pomodoro technique worked well for tasks that are not very cognitively engaging (hence boring or annoying). Such tasks have low context, and thus low context-switching costs, but still benefit from taking mental breaks and resets. <br /><br />In contrast, any deeply cognitively engaging, thinking, or creative tasks, like inventing, coding, writing, typically have a much higher context-switching costs, and in my experience work better when you can set aside a longer block of time to allow yourself build up all the context and then joyfully explore the depths of whatever it is you\u2019re creating.<br /><br />That being said, I think some creative tasks (depending on the person) could benefit from time-boxing. Like having a constraint to write a short blog post in the morning before a workout or breakfast. Worth trying such one-off timeboxes or even formal pomodoros and seeing if they help complete some creative tasks faster (or more often) over time.<br /><br />#<span class=\"p-category\">productivity</span> #<span class=\"p-category\">pomodoro</span> #<span class=\"p-category\">pomodoroTechnique</span> #<span class=\"p-category\">gtd</span> #<span class=\"p-category\">gettingThingsDone</span> #<span class=\"p-category\">Saturday</span><br /><br />References:<br /><br /><a href=\"https://tantek.com/#t5Yu1_ref-1\">\u00b9</a> Apparently I misremembered 20 minutes instead of the typical pomodoro 25 minutes: <a href=\"https://en.wikipedia.org/wiki/Pomodoro_Technique\">https://en.wikipedia.org/wiki/Pomodoro_Technique</a><br /><a href=\"https://tantek.com/#t5Yu1_ref-2\">\u00b2</a> <a href=\"https://en.wikipedia.org/wiki/Flow_(psychology)\">https://en.wikipedia.org/wiki/Flow_(psychology)</a>"
},
"author": {
"type": "card",
"name": "Tantek \u00c7elik",
"url": "https://tantek.com/",
"photo": "https://tantek.com/photo.jpg"
},
"post-type": "note",
"_id": "42179401",
"_source": "2460"
}
{
"type": "entry",
"published": "2024-09-08T13:35:23-0400",
"url": "https://martymcgui.re/2024/09/08/133523/",
"content": {
"text": "Recently finished this (good, heavy, tip-of-an-iceberg) book on influence operations:\nhttps://martymcgui.re/2024/09/05/222732/\nNow watching how it\u2019s playing out in today\u2019s (war and commercial) games industries. \ud83d\ude33\nhttps://youtu.be/lYaDXZ2MI-k",
"html": "<p>Recently finished this (good, heavy, tip-of-an-iceberg) book on influence operations:</p>\n<p><a href=\"https://martymcgui.re/2024/09/05/222732/\">https://martymcgui.re/2024/09/05/222732/</a></p>\n<p>Now watching how it\u2019s playing out in today\u2019s (war and commercial) games industries. \ud83d\ude33</p>\n<p><a href=\"https://youtu.be/lYaDXZ2MI-k\">https://youtu.be/lYaDXZ2MI-k</a></p>"
},
"author": {
"type": "card",
"name": "Marty McGuire",
"url": "https://martymcgui.re/",
"photo": "https://martymcgui.re/images/logo.jpg"
},
"post-type": "note",
"_id": "42176252",
"_source": "175"
}
{
"type": "entry",
"author": {
"name": "Jared White",
"url": "https://jaredwhite.com/",
"photo": null
},
"url": "https://jaredwhite.com/links/20240906/recumbant-bicycles",
"published": "2024-09-06T09:46:35-07:00",
"content": {
"html": "<blockquote>\n <h2><a href=\"https://momentummag.com/best-reasons-benefits-recumbent-bicycles/\"></a></h2>\n\n <p>While traditional bicycles have been the staple for decades, there\u2019s a fascinating alternative that\u2019s been gaining traction in recent years \u2013 the recumbent bicycle. Whether you\u2019re a seasoned cyclist or someone looking to embark on a new biking adventure, recumbent bicycles offer an exciting departure from the ordinary. But why switch?</p>\n\n</blockquote>\n\n<p>One of the aspects of the \u201cnew age\u201d of <a href=\"https://jaredwhite.com/tag/micromobility\">#micromobility</a> I\u2019m so excited about is the experimentation around <strong>form factors</strong>. Yes, of course we\u2019ve been seeing many fascinating variations on e-scooters & e-bikes come out in recent years, but even the tried-and-true category of 100% human-powered vehicles has witnessed a recent surge of design variety and innovation.</p>\n\n<p>Watching what people ride here in <a href=\"https://jaredwhite.com/tag/portland\">#Portland</a> has been nothing short of fascinating. And if you get the chance to head out to some of the bike-oriented get-togethers in town, you\u2019ll see some <em>pret-tay, pret-tay, pret-tay</em> intriguing vechicles. <strong>I just love it</strong>. \u263a\ufe0f</p>",
"text": "While traditional bicycles have been the staple for decades, there\u2019s a fascinating alternative that\u2019s been gaining traction in recent years \u2013 the recumbent bicycle. Whether you\u2019re a seasoned cyclist or someone looking to embark on a new biking adventure, recumbent bicycles offer an exciting departure from the ordinary. But why switch?\n\n\n\nOne of the aspects of the \u201cnew age\u201d of #micromobility I\u2019m so excited about is the experimentation around form factors. Yes, of course we\u2019ve been seeing many fascinating variations on e-scooters & e-bikes come out in recent years, but even the tried-and-true category of 100% human-powered vehicles has witnessed a recent surge of design variety and innovation.\n\nWatching what people ride here in #Portland has been nothing short of fascinating. And if you get the chance to head out to some of the bike-oriented get-togethers in town, you\u2019ll see some pret-tay, pret-tay, pret-tay intriguing vechicles. I just love it. \u263a\ufe0f"
},
"name": "Link: The Recumbent Bicycle: Reasons to Buy",
"post-type": "article",
"_id": "42159409",
"_source": "2783"
}
✏️ I want the Read Write Suggest-Edit Accept-Edit Update Web.
The consumer Infinite Scroll Web leaves us feeling empty.
Too few of us participate in the Read Write Web, whether with personal sites or Wikipedia.
A week ago when we wrapped up #IndieWebCamp Portland and I was reading Kevin Marks (@kevinmarks@indieweb.social) live-tooting of the demos¹, I noticed a few errors, typos or miscaptures, and pointed them out in-person.
Kevin was able to quickly edit his toots and update them for anyone reading, thanks to #Mastodon’s post editing feature and its support of #ActivityPub Updates. But this shouldn’t require being in the same room, whether IRL or chat.
We should be able to suggest edits to each other’s posts, as easily as we can reply and add a comment.
“The Read Write Web is no longer sufficient. I want the Read Fork Write Merge Web.”
Now I want the Read Write Suggest-Edit Accept-Edit Update Web.
The ↪ Reply button is fairly ubiquitous in modern post user interfaces (UIs).
Why not also a ✏️ Suggest Edit button, to craft a fix for a typo, grammar, or other minor error, and send the author for their review, and acceptance or rejection? Perhaps viewable only by the suggester and the author, to avoid "performative" suggested edits.
If the author’s posts provide revision histories, when a suggested edit is accepted, a post’s history could show the contributor of the edit.
Instead of asking Kevin in-person, what if I could have posted special "Suggested Edit" responses in reply to his toots, for which he would receive special notifications, and could choose to one-click accept and update (or further edit) his toots?
To enable such UIs and interactions across servers and implementations, we may need a new type of response³, perhaps with a special property (or more) to convey the edits being suggested.
There is documentation of this and similar use-cases, prior art / UIs, as well as some brainstorming on the #IndieWeb wiki: * https://indieweb.org/edit
Our interaction after IndieWebCamp has inspired me to take another look at how can we design and prototype solutions to this problem.
For now, if you host your blog and posts as static files on GitHub (or equivalent), you could add a button like this to your posts alongside Like, Reply, Repost buttons:
✏️ Suggest Edit
and link it to an edit URL for the static file for the post.
I don’t use GitHub static files myself for posts, but here’s an example of such an edit link for one of my projects:
This will start the process of creating a “pull request”, GitHub’s jargon⁴ for a “suggested edit”.
After completing GitHub’s ceremony of entering multiple text fields (summary & description), and multiple clicks to create said “pull request”, it’ll be sent to the author to review. Presuming the author likes the suggested edit, they can perform the other half of GitHub’s jargon-filled ceremonies to “Merge” or “Squash & Merge”, “Delete fork”, etc. to accept the edit.
It’s an awkward interaction⁵, however useful for at least prototyping a ✏️ Suggest Edit button on sites that store their posts as files in GitHub. Certainly worthy of experimenting with and gathering experience to design and build even better interactions.
We can start with the shortest path to getting something working, then learn, iterate, improve, repeat.
{
"type": "entry",
"published": "2024-09-01 14:51-0700",
"url": "https://tantek.com/2024/245/t1/read-write-suggest-edit-update-web",
"category": [
"IndieWebCamp",
"Mastodon",
"ActivityPub",
"IndieWeb",
"readWriteWeb",
"editableWeb",
"suggestEdit",
"acceptEdit",
"100PostsOfIndieWeb",
"100Posts"
],
"content": {
"text": "\u270f\ufe0f I want the Read Write Suggest-Edit Accept-Edit Update Web.\n\nThe consumer Infinite Scroll Web leaves us feeling empty.\n\nToo few of us participate in the Read Write Web, whether with personal sites or Wikipedia.\n\nA week ago when we wrapped up #IndieWebCamp Portland and I was reading Kevin Marks (@kevinmarks@indieweb.social) live-tooting of the demos\u00b9, I noticed a few errors, typos or miscaptures, and pointed them out in-person.\n\nKevin was able to quickly edit his toots and update them for anyone reading, thanks to #Mastodon\u2019s post editing feature and its support of #ActivityPub Updates. But this shouldn\u2019t require being in the same room, whether IRL or chat.\n\nWe should be able to suggest edits to each other\u2019s posts, as easily as we can reply and add a comment.\n\n13 years ago I wrote\u00b2:\n\n\u00a0\u201cThe Read Write Web is no longer sufficient. I want the Read Fork Write Merge Web.\u201d\n\nNow I want the Read Write Suggest-Edit Accept-Edit Update Web.\n\nThe \u21aa Reply button is fairly ubiquitous in modern post user interfaces (UIs).\n\nWhy not also a \u270f\ufe0f Suggest Edit button, to craft a fix for a typo, grammar, or other minor error, and send the author for their review, and acceptance or rejection? Perhaps viewable only by the suggester and the author, to avoid \"performative\" suggested edits.\n\nIf the author\u2019s posts provide revision histories, when a suggested edit is accepted, a post\u2019s history could show the contributor of the edit.\n\nInstead of asking Kevin in-person, what if I could have posted special \"Suggested Edit\" responses in reply to his toots, for which he would receive special notifications, and could choose to one-click accept and update (or further edit) his toots?\n\nTo enable such UIs and interactions across servers and implementations, we may need a new type of response\u00b3, perhaps with a special property (or more) to convey the edits being suggested.\n\nThere is documentation of this and similar use-cases, prior art / UIs, as well as some brainstorming on the #IndieWeb wiki:\n* https://indieweb.org/edit\n\nOur interaction after IndieWebCamp has inspired me to take another look at how can we design and prototype solutions to this problem.\n\nFor now, if you host your blog and posts as static files on GitHub (or equivalent), you could add a button like this to your posts alongside Like, Reply, Repost buttons:\n\n\u270f\ufe0f Suggest Edit\n\nand link it to an edit URL for the static file for the post.\n\nI don\u2019t use GitHub static files myself for posts, but here\u2019s an example of such an edit link for one of my projects:\n\nhttps://tantek.com/github/cassis/edit/main/README.md\n\nThis will start the process of creating a \u201cpull request\u201d, GitHub\u2019s jargon\u2074 for a \u201csuggested edit\u201d.\n\nAfter completing GitHub\u2019s ceremony of entering multiple text fields (summary & description), and multiple clicks to create said \u201cpull request\u201d, it\u2019ll be sent to the author to review. Presuming the author likes the suggested edit, they can perform the other half of GitHub\u2019s jargon-filled ceremonies to \u201cMerge\u201d or \u201cSquash & Merge\u201d, \u201cDelete fork\u201d, etc. to accept the edit.\n\nIt\u2019s an awkward interaction\u2075, however useful for at least prototyping a \u270f\ufe0f Suggest Edit button on sites that store their posts as files in GitHub. Certainly worthy of experimenting with and gathering experience to design and build even better interactions.\n\nWe can start with the shortest path to getting something working, then learn, iterate, improve, repeat.\n\n#readWriteWeb #editableWeb #suggestEdit #acceptEdit\n\nReferences:\n\n\u00b9 https://indieweb.social/@kevinmarks/113025295600067213\n\u00b2 https://tantek.com/2011/174/t1/read-fork-write-merge-web-osb11\n\u00b3 https://indieweb.org/responses\n\u2074 The phrase \u201cpull request\u201d was derived from the git command: \u201cgit request-pull\u201d according to https://www.reddit.com/r/git/comments/nvahcp/comment/h12hzj7/\n\u2075 \u201cedits\u201d in GitHub require taking far more steps, and navigating far more jargon, then say, Wikipedia pages, which come down to \u201cEdit\u201d and \u201cSave\u201d. We should aspire to Wikipedia\u2019s simplicity, not GitHub\u2019s ceremonies.\n\nThis is post 20 of #100PostsOfIndieWeb. #100Posts\n\n\u2190 https://tantek.com/2024/242/t1/indiewebcamp-portland\n\u2192 https://tantek.com/2024/246/t1/adventures-indieweb-activitypub-bridgy-fed",
"html": "\u270f\ufe0f I want the Read Write Suggest-Edit Accept-Edit Update Web.<br /><br />The consumer Infinite Scroll Web leaves us feeling empty.<br /><br />Too few of us participate in the Read Write Web, whether with personal sites or Wikipedia.<br /><br />A week ago when we wrapped up #<span class=\"p-category\">IndieWebCamp</span> Portland and I was reading Kevin Marks (<a href=\"https://indieweb.social/@kevinmarks\">@kevinmarks@indieweb.social</a>) live-tooting of the demos<a href=\"https://tantek.com/#t5Yn1_note-1\">\u00b9</a>, I noticed a few errors, typos or miscaptures, and pointed them out in-person.<br /><br />Kevin was able to quickly edit his toots and update them for anyone reading, thanks to #<span class=\"p-category\">Mastodon</span>\u2019s post editing feature and its support of #<span class=\"p-category\">ActivityPub</span> Updates. But this shouldn\u2019t require being in the same room, whether IRL or chat.<br /><br />We should be able to suggest edits to each other\u2019s posts, as easily as we can reply and add a comment.<br /><br />13 years ago I wrote<a href=\"https://tantek.com/#t5Yn1_note-2\">\u00b2</a>:<br /><br />\u00a0\u201cThe Read Write Web is no longer sufficient. I want the Read Fork Write Merge Web.\u201d<br /><br />Now I want the Read Write Suggest-Edit Accept-Edit Update Web.<br /><br />The \u21aa Reply button is fairly ubiquitous in modern post user interfaces (UIs).<br /><br />Why not also a \u270f\ufe0f Suggest Edit button, to craft a fix for a typo, grammar, or other minor error, and send the author for their review, and acceptance or rejection? Perhaps viewable only by the suggester and the author, to avoid \"performative\" suggested edits.<br /><br />If the author\u2019s posts provide revision histories, when a suggested edit is accepted, a post\u2019s history could show the contributor of the edit.<br /><br />Instead of asking Kevin in-person, what if I could have posted special \"Suggested Edit\" responses in reply to his toots, for which he would receive special notifications, and could choose to one-click accept and update (or further edit) his toots?<br /><br />To enable such UIs and interactions across servers and implementations, we may need a new type of response<a href=\"https://tantek.com/#t5Yn1_note-3\">\u00b3</a>, perhaps with a special property (or more) to convey the edits being suggested.<br /><br />There is documentation of this and similar use-cases, prior art / UIs, as well as some brainstorming on the #<span class=\"p-category\">IndieWeb</span> wiki:<br />* <a href=\"https://indieweb.org/edit\">https://indieweb.org/edit</a><br /><br />Our interaction after IndieWebCamp has inspired me to take another look at how can we design and prototype solutions to this problem.<br /><br />For now, if you host your blog and posts as static files on GitHub (or equivalent), you could add a button like this to your posts alongside Like, Reply, Repost buttons:<br /><br />\u270f\ufe0f Suggest Edit<br /><br />and link it to an edit URL for the static file for the post.<br /><br />I don\u2019t use GitHub static files myself for posts, but here\u2019s an example of such an edit link for one of my projects:<br /><br /><a href=\"https://tantek.com/github/cassis/edit/main/README.md\">https://tantek.com/github/cassis/edit/main/README.md</a><br /><br />This will start the process of creating a \u201cpull request\u201d, GitHub\u2019s jargon<a href=\"https://tantek.com/#t5Yn1_note-4\">\u2074</a> for a \u201csuggested edit\u201d.<br /><br />After completing GitHub\u2019s ceremony of entering multiple text fields (summary & description), and multiple clicks to create said \u201cpull request\u201d, it\u2019ll be sent to the author to review. Presuming the author likes the suggested edit, they can perform the other half of GitHub\u2019s jargon-filled ceremonies to \u201cMerge\u201d or \u201cSquash & Merge\u201d, \u201cDelete fork\u201d, etc. to accept the edit.<br /><br />It\u2019s an awkward interaction<a href=\"https://tantek.com/#t5Yn1_note-5\">\u2075</a>, however useful for at least prototyping a \u270f\ufe0f Suggest Edit button on sites that store their posts as files in GitHub. Certainly worthy of experimenting with and gathering experience to design and build even better interactions.<br /><br />We can start with the shortest path to getting something working, then learn, iterate, improve, repeat.<br /><br />#<span class=\"p-category\">readWriteWeb</span> #<span class=\"p-category\">editableWeb</span> #<span class=\"p-category\">suggestEdit</span> #<span class=\"p-category\">acceptEdit</span><br /><br />References:<br /><br /><a href=\"https://tantek.com/#t5Yn1_ref-1\">\u00b9</a> <a href=\"https://indieweb.social/@kevinmarks/113025295600067213\">https://indieweb.social/@kevinmarks/113025295600067213</a><br /><a href=\"https://tantek.com/#t5Yn1_ref-2\">\u00b2</a> <a href=\"https://tantek.com/2011/174/t1/read-fork-write-merge-web-osb11\">https://tantek.com/2011/174/t1/read-fork-write-merge-web-osb11</a><br /><a href=\"https://tantek.com/#t5Yn1_ref-3\">\u00b3</a> <a href=\"https://indieweb.org/responses\">https://indieweb.org/responses</a><br /><a href=\"https://tantek.com/#t5Yn1_ref-4\">\u2074</a> The phrase \u201cpull request\u201d was derived from the git command: \u201cgit request-pull\u201d according to <a href=\"https://www.reddit.com/r/git/comments/nvahcp/comment/h12hzj7/\">https://www.reddit.com/r/git/comments/nvahcp/comment/h12hzj7/</a><br /><a href=\"https://tantek.com/#t5Yn1_ref-5\">\u2075</a> \u201cedits\u201d in GitHub require taking far more steps, and navigating far more jargon, then say, Wikipedia pages, which come down to \u201cEdit\u201d and \u201cSave\u201d. We should aspire to Wikipedia\u2019s simplicity, not GitHub\u2019s ceremonies.<br /><br />This is post 20 of #<span class=\"p-category\">100PostsOfIndieWeb</span>. #<span class=\"p-category\">100Posts</span><br /><br />\u2190 <a href=\"https://tantek.com/2024/242/t1/indiewebcamp-portland\">https://tantek.com/2024/242/t1/indiewebcamp-portland</a><br />\u2192 <a href=\"https://tantek.com/2024/246/t1/adventures-indieweb-activitypub-bridgy-fed\">https://tantek.com/2024/246/t1/adventures-indieweb-activitypub-bridgy-fed</a>"
},
"author": {
"type": "card",
"name": "Tantek \u00c7elik",
"url": "https://tantek.com/",
"photo": "https://tantek.com/photo.jpg"
},
"post-type": "note",
"_id": "42140455",
"_source": "2460"
}
Being a one day #IndieWebCamp, we focused more on making, hacking, and creating, than on formal discussion sessions.
Nearly everyone gave a brief personal site intro with a summary of how they use their #IndieWeb site and what they would like to add, remove, or improve. * https://indieweb.org/2024/Portland/Intros
There were lots of informal discussions, some in the main room, on the walk to and from lunch, over lunch in the nearby outdoor patio, or at tables inside the lobby of the Hotel Grand Stark.
We wrapped up with our usual Create Day¹ Demos session, live streamed for remote attendees to see as well. Lots of great demos of things people built, designed, removed, cleaned-up, documented, and blogged! Everyone still at the camp showed something on their personal site! * https://indieweb.org/2024/Portland/Demos
Thanks to everyone who pitched in to help organize IndieWebCamp Portland 2024! Thanks especially to Marty McGuire (@martymcgui.re) for taking live notes during both the personal site intros and create day demos, to Kevin Marks (@kevinmarks@indieweb.social@kevinmarks@xoxo.zone@kevinmarks) for the IndieWebCamp live-tooting, and Ryan Barrett (@snarfed.org) for amazing breakfast pastries from Dos Hermanos.
The experience definitely raised our hopes and confidence for returning to Portland in 2025.²
{
"type": "entry",
"published": "2024-08-29 21:09-0700",
"url": "https://tantek.com/2024/242/t1/indiewebcamp-portland-10",
"category": [
"IndieWebCamp",
"IndieWeb",
"100PostsOfIndieWeb",
"100Posts",
"2024_238"
],
"content": {
"text": "Had a great time at IndieWebCamp Portland 2024 this past Sunday \u2014 our 10th IndieWebCamp in Portland!\n\nhttps://events.indieweb.org/2024/08/indiewebcamp-portland-2024-8bucXDlLqR0k\n\nBeing a one day #IndieWebCamp, we focused more on making, hacking, and creating, than on formal discussion sessions.\n\nNearly everyone gave a brief personal site intro with a summary of how they use their #IndieWeb site and what they would like to add, remove, or improve.\n* https://indieweb.org/2024/Portland/Intros\n\nThere were lots of informal discussions, some in the main room, on the walk to and from lunch, over lunch in the nearby outdoor patio, or at tables inside the lobby of the Hotel Grand Stark.\n\nWe wrapped up with our usual Create Day\u00b9 Demos session, live streamed for remote attendees to see as well. Lots of great demos of things people built, designed, removed, cleaned-up, documented, and blogged! Everyone still at the camp showed something on their personal site!\n* https://indieweb.org/2024/Portland/Demos\n\nGroup photo and lots more about IndieWebCamp Portland 2024 at the event\u2019s wiki page:\n* https://indieweb.org/2024/Portland\n\nThanks to everyone who pitched in to help organize IndieWebCamp Portland 2024! Thanks especially to Marty McGuire (@martymcgui.re) for taking live notes during both the personal site intros and create day demos, to Kevin Marks (@kevinmarks@indieweb.social @kevinmarks@xoxo.zone @kevinmarks) for the IndieWebCamp live-tooting, and Ryan Barrett (@snarfed.org) for amazing breakfast pastries from Dos Hermanos.\n\nThe experience definitely raised our hopes and confidence for returning to Portland in 2025.\u00b2\n\n\nReferences:\n\n\u00b9 https://indieweb.org/Create_Day\n\u00b2 https://indieweb.org/Planning#Portland\n\nThis is post 19 of #100PostsOfIndieWeb. #100Posts #2024_238\n\n\u2190 https://tantek.com/2024/238/t3/indiewebcamp-auto-linking\n\u2192 https://tantek.com/2024/245/t1/read-write-suggest-edit-web",
"html": "Had a great time at IndieWebCamp Portland 2024 this past Sunday \u2014 our 10th IndieWebCamp in Portland!<br /><br /><a href=\"https://events.indieweb.org/2024/08/indiewebcamp-portland-2024-8bucXDlLqR0k\">https://events.indieweb.org/2024/08/indiewebcamp-portland-2024-8bucXDlLqR0k</a><br /><br />Being a one day #<span class=\"p-category\">IndieWebCamp</span>, we focused more on making, hacking, and creating, than on formal discussion sessions.<br /><br />Nearly everyone gave a brief personal site intro with a summary of how they use their #<span class=\"p-category\">IndieWeb</span> site and what they would like to add, remove, or improve.<br />* <a href=\"https://indieweb.org/2024/Portland/Intros\">https://indieweb.org/2024/Portland/Intros</a><br /><br />There were lots of informal discussions, some in the main room, on the walk to and from lunch, over lunch in the nearby outdoor patio, or at tables inside the lobby of the Hotel Grand Stark.<br /><br />We wrapped up with our usual Create Day<a href=\"https://tantek.com/#t5Yj1_note-1\">\u00b9</a> Demos session, live streamed for remote attendees to see as well. Lots of great demos of things people built, designed, removed, cleaned-up, documented, and blogged! Everyone still at the camp showed something on their personal site!<br />* <a href=\"https://indieweb.org/2024/Portland/Demos\">https://indieweb.org/2024/Portland/Demos</a><br /><br />Group photo and lots more about IndieWebCamp Portland 2024 at the event\u2019s wiki page:<br />* <a href=\"https://indieweb.org/2024/Portland\">https://indieweb.org/2024/Portland</a><br /><br />Thanks to everyone who pitched in to help organize IndieWebCamp Portland 2024! Thanks especially to Marty McGuire (<a href=\"https://martymcgui.re\">@martymcgui.re</a>) for taking live notes during both the personal site intros and create day demos, to Kevin Marks (<a href=\"https://indieweb.social/@kevinmarks\">@kevinmarks@indieweb.social</a> <a href=\"https://xoxo.zone/@kevinmarks\">@kevinmarks@xoxo.zone</a> <a class=\"h-cassis-username\" href=\"https://twitter.com/kevinmarks\">@kevinmarks</a>) for the IndieWebCamp live-tooting, and Ryan Barrett (<a href=\"https://snarfed.org\">@snarfed.org</a>) for amazing breakfast pastries from Dos Hermanos.<br /><br />The experience definitely raised our hopes and confidence for returning to Portland in 2025.<a href=\"https://tantek.com/#t5Yj1_note-2\">\u00b2</a><br /><br /><br />References:<br /><br /><a href=\"https://tantek.com/#t5Yj1_ref-1\">\u00b9</a> <a href=\"https://indieweb.org/Create_Day\">https://indieweb.org/Create_Day</a><br /><a href=\"https://tantek.com/#t5Yj1_ref-2\">\u00b2</a> <a href=\"https://indieweb.org/Planning#Portland\">https://indieweb.org/Planning#Portland</a><br /><br />This is post 19 of #<span class=\"p-category\">100PostsOfIndieWeb</span>. #<span class=\"p-category\">100Posts</span> #<span class=\"p-category\">2024_238</span><br /><br />\u2190 <a href=\"https://tantek.com/2024/238/t3/indiewebcamp-auto-linking\">https://tantek.com/2024/238/t3/indiewebcamp-auto-linking</a><br />\u2192 <a href=\"https://tantek.com/2024/245/t1/read-write-suggest-edit-web\">https://tantek.com/2024/245/t1/read-write-suggest-edit-web</a>"
},
"author": {
"type": "card",
"name": "Tantek \u00c7elik",
"url": "https://tantek.com/",
"photo": "https://tantek.com/photo.jpg"
},
"post-type": "note",
"_id": "42140456",
"_source": "2460"
}
I’ve implemented an auto_link function² that handles quite a few use-cases of URLs (with or without http: or https:), @-name @-domain @-domain/path @-@-handles, hashtags(#), and footnotes(^).
Much of it is based on what I’ve seen work (or implemented) on sites and software, and some of it is based on logically extending how people are using text punctuation across various services.
It may be time for me to write-up an auto-link specification based on the algorithms I’ve come up with, implemented, and am using live on my site. All the algorithms work fully offline (none of them require querying a site for more info, whether well-known or otherwise), so they can be used in offline-first authoring/writing clients.
I have identified three logical chunks of auto-linking functionality, each of which has different constraints and potential needs for local to the linking context information (like hashtags need a default tagspace). Each would be a good section for a new specification. Each is used by this very post.
{
"type": "entry",
"published": "2024-08-25 16:00-0700",
"url": "https://tantek.com/2024/238/t3/indiewebcamp-auto-link",
"category": [
"IndieWebCamp",
"IndieWeb",
"autoLink",
"hashtag",
"hashtags",
"footnote",
"footnotes",
"100PostsOfIndieWeb",
"100Posts"
],
"content": {
"text": "Nice #IndieWebCamp discussion session with Kevin Marks (@kevinmarks@indieweb.social @kevinmarks@xoxo.zone @kevinmarks) on the topic of auto-linking\u00b9.\n\nI\u2019ve implemented an auto_link function\u00b2 that handles quite a few use-cases of URLs (with or without http: or https:), @-name @-domain @-domain/path @-@-handles, hashtags(#), and footnotes(^).\n\nMuch of it is based on what I\u2019ve seen work (or implemented) on sites and software, and some of it is based on logically extending how people are using text punctuation across various services.\n\nIt may be time for me to write-up an auto-link specification based on the algorithms I\u2019ve come up with, implemented, and am using live on my site. All the algorithms work fully offline (none of them require querying a site for more info, whether well-known or otherwise), so they can be used in offline-first authoring/writing clients.\n\nI have identified three logical chunks of auto-linking functionality, each of which has different constraints and potential needs for local to the linking context information (like hashtags need a default tagspace). Each would be a good section for a new specification. Each is used by this very post.\n\n* URLs, @-s, and @-@-s\n* # hashtags\n* ^ footnotes\n\n#IndieWeb #autoLink #hashtag #hashtags #footnote #footnotes\n\nPreviously, previously, previously:\n\n* https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases\n* https://tantek.com/2023/100/t1/auto-linked-hashtags-federated\n* https://tantek.com/2023/043/t1/footnotes-unicode-links\n* https://tantek.com/2023/019/t5/reply-domain-above-address-and-silo\n\n\nReferences:\n\n\u00b9 https://indieweb.org/autolink\n\u00b2 https://github.com/tantek/cassis/blob/main/cassis.js\n\n\nThis is post 18 of #100PostsOfIndieWeb. #100Posts\n\n\u2190 https://tantek.com/2024/238/t1/indiewebcamp-portland\n\u2192 https://tantek.com/2024/242/t1/indiewebcamp-portland",
"html": "Nice #<span class=\"p-category\">IndieWebCamp</span> discussion session with Kevin Marks (<a href=\"https://indieweb.social/@kevinmarks\">@kevinmarks@indieweb.social</a> <a href=\"https://xoxo.zone/@kevinmarks\">@kevinmarks@xoxo.zone</a> <a class=\"h-cassis-username\" href=\"https://twitter.com/kevinmarks\">@kevinmarks</a>) on the topic of auto-linking<a href=\"https://tantek.com/#t5Yf3_note-1\">\u00b9</a>.<br /><br />I\u2019ve implemented an auto_link function<a href=\"https://tantek.com/#t5Yf3_note-2\">\u00b2</a> that handles quite a few use-cases of URLs (with or without http: or https:), @-name @-domain @-domain/path @-@-handles, hashtags(#), and footnotes(^).<br /><br />Much of it is based on what I\u2019ve seen work (or implemented) on sites and software, and some of it is based on logically extending how people are using text punctuation across various services.<br /><br />It may be time for me to write-up an auto-link specification based on the algorithms I\u2019ve come up with, implemented, and am using live on my site. All the algorithms work fully offline (none of them require querying a site for more info, whether well-known or otherwise), so they can be used in offline-first authoring/writing clients.<br /><br />I have identified three logical chunks of auto-linking functionality, each of which has different constraints and potential needs for local to the linking context information (like hashtags need a default tagspace). Each would be a good section for a new specification. Each is used by this very post.<br /><br />* URLs, @-s, and @-@-s<br />* # hashtags<br />* ^ footnotes<br /><br />#<span class=\"p-category\">IndieWeb</span> #<span class=\"p-category\">autoLink</span> #<span class=\"p-category\">hashtag</span> #<span class=\"p-category\">hashtags</span> #<span class=\"p-category\">footnote</span> #<span class=\"p-category\">footnotes</span><br /><br />Previously, previously, previously:<br /><br />* <a href=\"https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases\">https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases</a><br />* <a href=\"https://tantek.com/2023/100/t1/auto-linked-hashtags-federated\">https://tantek.com/2023/100/t1/auto-linked-hashtags-federated</a><br />* <a href=\"https://tantek.com/2023/043/t1/footnotes-unicode-links\">https://tantek.com/2023/043/t1/footnotes-unicode-links</a><br />* <a href=\"https://tantek.com/2023/019/t5/reply-domain-above-address-and-silo\">https://tantek.com/2023/019/t5/reply-domain-above-address-and-silo</a><br /><br /><br />References:<br /><br /><a href=\"https://tantek.com/#t5Yf3_ref-1\">\u00b9</a> <a href=\"https://indieweb.org/autolink\">https://indieweb.org/autolink</a><br /><a href=\"https://tantek.com/#t5Yf3_ref-2\">\u00b2</a> <a href=\"https://github.com/tantek/cassis/blob/main/cassis.js\">https://github.com/tantek/cassis/blob/main/cassis.js</a><br /><br /><br />This is post 18 of #<span class=\"p-category\">100PostsOfIndieWeb</span>. #<span class=\"p-category\">100Posts</span><br /><br />\u2190 <a href=\"https://tantek.com/2024/238/t1/indiewebcamp-portland\">https://tantek.com/2024/238/t1/indiewebcamp-portland</a><br />\u2192 <a href=\"https://tantek.com/2024/242/t1/indiewebcamp-portland\">https://tantek.com/2024/242/t1/indiewebcamp-portland</a>"
},
"author": {
"type": "card",
"name": "Tantek \u00c7elik",
"url": "https://tantek.com/",
"photo": "https://tantek.com/photo.jpg"
},
"post-type": "note",
"_id": "42140457",
"_source": "2460"
}