Found this place via indieweb.org. Hello, world!
{
"type": "entry",
"author": {
"name": "Chris",
"url": "https://www.chrislockard.net",
"photo": "https://avatars.micro.blog/avatars/2022/133557.jpg"
},
"url": "https://microblog.chrislockard.net/2022/07/26/found-this-place.html",
"content": {
"html": "<p>Found this place via <a href=\"https://indieweb.org.\">indieweb.org.</a> Hello, world!</p>",
"text": "Found this place via indieweb.org. Hello, world!"
},
"published": "2022-07-27T02:21:48+00:00",
"post-type": "note",
"_id": "33379995",
"_source": "7224",
"_is_read": true
}
{
"type": "entry",
"published": "2022-06-12T03:19:26-04:00",
"syndication": [
"https://news.indieweb.org/en/david.shanske.com/2022/06/12/indiewebifying-a-wordpress-site-2022-edition/",
"https://twitter.com/dshanske/status/1535885717653622784",
"https://micro.blog/dshanske/13015162"
],
"name": "Indiewebifying a WordPress Site \u2013 2022 Edition - Sunday Sun June 12, 2022",
"author": {
"type": "card",
"name": "David Shanske",
"url": "https://david.shanske.com/",
"photo": "https://david.shanske.com/avatar/dshanske?s=96"
},
"post-type": "article",
"_id": "30326944",
"_source": "5",
"_is_read": true
}
{
"type": "entry",
"published": "2022-04-21T11:47:38-04:00",
"syndication": [
"https://news.indieweb.org/en/david.shanske.com/2022/04/21/indieauth-spec-updates-2022/",
"https://twitter.com/dshanske/status/1517168901976727553",
"https://micro.blog/dshanske/12729173"
],
"name": "IndieAuth Spec Updates 2022 - Thursday Thu April 21, 2022",
"author": {
"type": "card",
"name": "David Shanske",
"url": "https://david.shanske.com/",
"photo": "https://david.shanske.com/avatar/dshanske?s=96"
},
"post-type": "article",
"_id": "30326947",
"_source": "5",
"_is_read": true
}
So to me, this blog represents the original promise of the open web.
The one that’s here, and still is here, and always has been here, and is available to you.
Right now.
The one where you can speak the truths that you believe without the permission, or the editorial control, or the power dynamics, of anyone claiming to hold authority over you; or, perhaps, anyone keen to impose it.
Heather takes a break from her relentless crusading in favour of users against the idiocy of the UK government and reflects on the joy of doing it all from her own personal website.
And perhaps you should too, on your own blog, owned on your own hosting space, using your own words, and speaking your own truth. That sounds like a good little weekend project, don’t you think?
{
"type": "entry",
"published": "2022-07-17T09:41:05Z",
"url": "https://adactio.com/links/19279",
"category": [
"indieweb",
"personal",
"publishing",
"independent",
"openweb",
"writing",
"sharing",
"blogging",
"blogs"
],
"bookmark-of": [
"https://webdevlaw.uk/2022/07/15/the-week-the-open-web-won/#more-10817"
],
"content": {
"text": "The week the open web won \u2013 Hi, I\u2019m Heather Burns\n\n\n\n\n So to me, this blog represents the original promise of the open web.\n \n The one that\u2019s here, and still is here, and always has been here, and is available to you.\n \n Right now.\n \n The one where you can speak the truths that you believe without the permission, or the editorial control, or the power dynamics, of anyone claiming to hold authority over you; or, perhaps, anyone keen to impose it.\n\n\nHeather takes a break from her relentless crusading in favour of users against the idiocy of the UK government and reflects on the joy of doing it all from her own personal website.\n\n\n And perhaps you should too, on your own blog, owned on your own hosting space, using your own words, and speaking your own truth. That sounds like a good little weekend project, don\u2019t you think?",
"html": "<h3>\n<a class=\"p-name u-bookmark-of\" href=\"https://webdevlaw.uk/2022/07/15/the-week-the-open-web-won/#more-10817\">\nThe week the open web won \u2013 Hi, I\u2019m Heather Burns\n</a>\n</h3>\n\n<blockquote>\n <p>So to me, this blog represents the original promise of the open web.</p>\n \n <p>The one that\u2019s here, and still is here, and always has been here, and is available to you.</p>\n \n <p>Right now.</p>\n \n <p>The one where you can speak the truths that you believe without the permission, or the editorial control, or the power dynamics, of anyone claiming to hold authority over you; or, perhaps, anyone keen to impose it.</p>\n</blockquote>\n\n<p>Heather takes a break from her relentless crusading in favour of users against the idiocy of the UK government and reflects on the joy of doing it all from her own personal website.</p>\n\n<blockquote>\n <p>And perhaps you should too, on your own blog, owned on your own hosting space, using your own words, and speaking your own truth. That sounds like a good little weekend project, don\u2019t you think?</p>\n</blockquote>"
},
"author": {
"type": "card",
"name": "Jeremy Keith",
"url": "https://adactio.com/",
"photo": "https://adactio.com/images/photo-150.jpg"
},
"post-type": "bookmark",
"_id": "30324501",
"_source": "2",
"_is_read": true
}
{
"type": "entry",
"published": "2022-06-05T23:27:15-07:00",
"url": "https://snarfed.org/2022-06-05_bridgy-stats-update-7",
"photo": [
"https://snarfed.org/bridgy_stats/2022/accounts_stacked_thumb.png",
"https://snarfed.org/bridgy_stats/2022/webmentions_thumb.png",
"https://snarfed.org/bridgy_stats/2022/publishes_increase_thumb.png",
"https://snarfed.org/bridgy_stats/2022/publishes_thumb.png"
],
"syndication": [
"https://news.indieweb.org/en/snarfed.org/2022-06-05_bridgy-stats-update-7"
],
"name": "Bridgy stats update",
"content": {
"text": "It\u2019s that time of year again\u2026Bridgy stats update! Top line numbers: 6471 accounts, 28M silo responses, 4.7M links, 2.3M webmentions sent, 99k posts published, 102k blog posts processed, 16k blog webmentions received.\n\n \n \n\n\n \n \n\n\n \n \n\n \n \n Continue reading \u2192",
"html": "<p>\n <a href=\"https://brid.gy/\">\n </a></p>\n<p>It\u2019s that time of year again\u2026<a href=\"https://brid.gy/\">Bridgy</a> stats update! Top line numbers: 6471 accounts, 28M silo responses, 4.7M links, 2.3M webmentions sent, 99k posts published, 102k <a href=\"https://brid.gy/about#blogs\">blog posts processed</a>, 16k <a href=\"https://brid.gy/about#blogs\">blog webmentions</a> received.</p>\n<p>\n <a href=\"https://snarfed.org/bridgy_stats/2022/accounts_stacked.png\">\n </a></p>\n\n<p>\n <a href=\"https://snarfed.org/bridgy_stats/2022/webmentions.png\">\n </a></p>\n\n<p>\n <a href=\"https://snarfed.org/bridgy_stats/2022/publishes_increase.png\">\n </a></p>\n<p>\n <a href=\"https://snarfed.org/bridgy_stats/2022/publishes.png\">\n </a></p>\n<p> <a href=\"https://snarfed.org/2022-06-05_bridgy-stats-update-7#more-47005\">Continue reading <span>\u2192</span></a></p>"
},
"author": {
"type": "card",
"name": "Ryan Barrett",
"url": "https://snarfed.org/",
"photo": "https://secure.gravatar.com/avatar/947b5f3f323da0ef785b6f02d9c265d6?s=96&d=blank&r=g"
},
"post-type": "photo",
"_id": "30238458",
"_source": "3",
"_is_read": true
}
{
"type": "entry",
"published": "2022-07-12T18:51:05+00:00",
"url": "https://werd.io/2022/a-new-ceo-for-medium",
"name": "A new CEO for Medium",
"content": {
"text": "So, Medium has a new CEO, who happens to be someone I like very much.I worked at Medium in the publications group for a year. It was a pretty daunting experience: my first time working with the kind of budget Medium enjoyed, and with people who were veterans of all the products I knew and loved. I was used to being an outsider, and found myself on a world-class team trying to build something that promoted positive discourse. Honestly, although I had to level up in all kinds of ways, my biggest challenge there was managing the anxiety of working around so many people I looked up to. Happily, a lot of the people I worked with remain very good friends; if I hadn\u2019t been asked to join Matter as Director of Investments, an opportunity I couldn\u2019t say no to, I would have stayed for a lot longer.My first real interaction with Ev while I was there centered around the open web. Coming from an indieweb context, I was a bit guarded: I didn\u2019t think Medium probably had exactly my priorities, and I was a little worried that the indieweb community might think I\u2019d sold out. The jury\u2019s out on the indieweb community (I don\u2019t think mostly anyone cared), but I was pleasantly surprised to find that Ev cares deeply about the web, was interested in deep interoperability, and believes in the health of the ecosystem as well as the discourse on it.I\u2019ve known Tony Stubblebine for longer. He was working on Crowdvine while I was working on Elgg; different products, but playing in a similar-enough space that we often found ourselves at the same meetups and in the same discussions. He\u2019s a thoughtful, kind person who is also very analytical, and has always given me good advice. He built a really strong community with Coach.me, both inside and out, and he\u2019s been a really strong champion of Medium\u2019s own community.So I couldn\u2019t be more excited about two things: Tony taking over as CEO, and Ev going to investigate new ideas as part of a new holding company. I can\u2019t wait to see what they both do next.",
"html": "<p><img src=\"https://werd.io/file/62cdc346a9c9b0795b17ae92\" alt=\"\" width=\"1024\" height=\"651\" /></p><p>So, Medium has a new CEO, <a href=\"https://coachtony.medium.com/hello-medium-readers-authors-editors-and-publishers-65bb728de2d8\">who happens to be someone I like very much</a>.</p><p>I worked at Medium in the publications group for a year. It was a pretty daunting experience: my first time working with the kind of budget Medium enjoyed, and with people who were veterans of all the products I knew and loved. I was used to being an outsider, and found myself on a world-class team trying to build something that promoted positive discourse. Honestly, although I had to level up in all kinds of ways, my biggest challenge there was managing the anxiety of working around so many people I looked up to. Happily, a lot of the people I worked with remain very good friends; if I hadn\u2019t been asked to join Matter as Director of Investments, an opportunity I couldn\u2019t say no to, I would have stayed for a lot longer.</p><p>My first real interaction with Ev while I was there centered around the open web. Coming from an indieweb context, I was a bit guarded: I didn\u2019t think Medium probably had exactly my priorities, and I was a little worried that the indieweb community might think I\u2019d sold out. The jury\u2019s out on the indieweb community (I don\u2019t think mostly anyone cared), but I was pleasantly surprised to find that Ev cares deeply about the web, was interested in deep interoperability, and believes in the health of the ecosystem as well as the discourse on it.</p><p>I\u2019ve known Tony Stubblebine for longer. He was working on Crowdvine while I was working on Elgg; different products, but playing in a similar-enough space that we often found ourselves at the same meetups and in the same discussions. He\u2019s a thoughtful, kind person who is also very analytical, and has always given me good advice. He built a really strong community with <a href=\"https://www.coach.me/\">Coach.me</a>, both inside and out, and he\u2019s been a really strong champion of Medium\u2019s own community.</p><p>So I couldn\u2019t be more excited about two things: Tony taking over as CEO, and Ev going to investigate new ideas as <a href=\"https://ev.medium.com/new-decade-new-ideas-faee8e712589\">part of a new holding company</a>. I can\u2019t wait to see what they both do next.</p>"
},
"author": {
"type": "card",
"name": "Ben Werdm\u00fcller",
"url": "https://werd.io/profile/benwerd",
"photo": "https://werd.io/file/5d388c5fb16ea14aac640912/thumb.jpg"
},
"post-type": "article",
"_id": "30238107",
"_source": "191",
"_is_read": true
}
{
"type": "entry",
"published": "2022-07-11T02:19:49+00:00",
"url": "https://werd.io/2022/my-indieweb-real-estate-website-part-two",
"name": "My indieweb real estate website (part two)",
"content": {
"text": "A little earlier this year, I mentioned that I was building an indieweb real estate website.Preparing a home for sale is more difficult than I\u2019d accounted for. Digging our worldly possessions out of it, and then ensuring that the house was in the best shape it could be, took a lot of time. And in the meantime, a lot of life happened.Our family home in Santa Rosa is finally going on the market this week. And, although I\u2019ll likely keep working on it, I have my indieweb website ready to go.When I initially brought up the idea, I set myself two main restrictions. I said it needed to be online in two weeks, and I blew through that by months. But I also said:It needs to get an A for SEO, site performance, and security.It does. Here are its core web vitals via web.dev:And its security rating via Mozilla Observatory:It helped that I hand-rolled the site.You might note that performance remains at 97/100, while the other metrics are at 100. There is still a Cumulative Layout Shift at 0.14 seconds, which is almost certainly because there are a lot of images on the page which have dynamic heights and widths depending on the viewport. There\u2019s more I can do there to make those images a predictable size.There are a handful of non-obvious things I had to do. For example, both MLS and land parcels have a numeric identifier. If you view this on a phone, the mobile browser tries to intelligently turn those into phone numbers, creating unnecessary links. I didn\u2019t want to link out to a third-party site for MLS or land parcels, but it turns out you can suppress automatic phone number linking with the following meta tag:<meta name=\"format-detection\" content=\"telephone=no\">Each image is loaded from an image set; I hand-resized them for various reasonable viewport sizes. I also created independently-cropped images for Twitter and Facebook.To get the highest security rating possible, I made sure there was no inline code (no inline stylesheets or JS), and created a Content Security Policy that I apply via an .htaccess file.Finally, I said:It\u2019ll be a hand-rolled static site. No frameworks for the HTML, JS, or CSS, and no pre-set templates: just me, a text editor, and some design tools.And that\u2019s what I did. I wrote the HTML and CSS from scratch in VS Code, making liberal use of media queries and CSS grids. And I had a lot of fun doing it.My full code (which is really simple!) is available on GitHub, but the most existing way to take a look is to view the website itself at 5405spainave.com.And if you want a beautiful wine country home in Santa Rosa, California, you know who to talk to.*Some other ideas that came up:What about video or virtual reality? We didn\u2019t have a professionally-produced video of the home. We do have professionally-taken photographs, which I\u2019ve used liberally. I took some of the others (eg of wineries and Bodega Bay), and the rest came from Unsplash.What if we accepted crypto for the home? It\u2019s too difficult to do; agents, escrow, legal frameworks are not set up for this. Also, at least one member of our family makes a particular kind of face whenever crypto is mentioned. It had occurred to me that we could push the selling price for crypto sales a little higher: eg, sure, we\u2019ll take your ETH or BTC, but the dollar equivalent will be $2M. (If you would like to give us two million dollars for our home, please do get in touch.)What about a blog or regularly-updated content? Home sales in California are incredibly short. We could have written a blog about getting the home ready, but honestly, it was already a stressful enough process. We anticipate a very short sales window for the home itself, so we didn\u2019t do it. I\u2019ll likely add more narrative description in the our experience page.And analytics? The site doesn\u2019t set any cookies or collect any analytics on the front end. However, I do push it through Cloudflare\u2019s CDN, which gives me some simple stats to gauge success.It\u2019s a very simple website. Yes. And often, that\u2019s all you need.",
"html": "<p><img src=\"https://werd.io/file/62cb885418bd47220a337442/thumb.jpg\" alt=\"\" width=\"1024\" height=\"652\" /></p><p>A little earlier this year, <a href=\"https://werd.io/2022/my-indieweb-real-estate-website-part-one\">I mentioned that I was building an indieweb real estate website</a>.</p><p>Preparing a home for sale is more difficult than I\u2019d accounted for. Digging our worldly possessions out of it, and then ensuring that the house was in the best shape it could be, took a lot of time. And in the meantime, a lot of life happened.</p><p>Our family home in Santa Rosa is finally going on the market this week. And, although I\u2019ll likely keep working on it, <a href=\"https://5405spainave.com\">I have my indieweb website ready to go</a>.</p><p>When I initially brought up the idea, I set myself two main restrictions. I said it needed to be online in two weeks, and I blew through that by months. But I also said:</p><blockquote><p>It needs to get an A for SEO, site performance, and security.</p></blockquote><p>It does. Here are its core web vitals <a href=\"https://web.dev/measure/?url=https%3A%2F%2F5405spainave.com\">via web.dev</a>:</p><p><img src=\"https://werd.io/file/62cb887118bd47220a337444/thumb.png\" alt=\"\" width=\"516\" height=\"146\" /></p><p>And its security rating <a href=\"https://observatory.mozilla.org/analyze/5405spainave.com\">via Mozilla Observatory</a>:</p><p><img src=\"https://werd.io/file/62cb889a937e5658a94eb2c2/thumb.png\" alt=\"\" width=\"483\" height=\"308\" /></p><p>It helped that I hand-rolled the site.</p><p>You might note that performance remains at 97/100, while the other metrics are at 100. There is still a Cumulative Layout Shift at 0.14 seconds, which is almost certainly because there are a lot of images on the page which have dynamic heights and widths depending on the viewport. There\u2019s more I can do there to make those images a predictable size.</p><p>There are a handful of non-obvious things I had to do. For example, both MLS and land parcels have a numeric identifier. If you view this on a phone, the mobile browser tries to intelligently turn those into phone numbers, creating unnecessary links. I didn\u2019t want to link out to a third-party site for MLS or land parcels, but it turns out you can suppress automatic phone number linking with the following meta tag:</p><p><code><meta name=\"format-detection\" content=\"telephone=no\"></code></p><p>Each image is loaded from <a href=\"https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images\">an image set</a>; I hand-resized them for various reasonable viewport sizes. I also created independently-cropped images for Twitter and Facebook.</p><p>To get the highest security rating possible, I made sure there was no inline code (no inline stylesheets or JS), and created <a href=\"https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP\">a Content Security Policy</a> that I apply via <a href=\"https://httpd.apache.org/docs/2.4/howto/htaccess.html\">an .htaccess file</a>.</p><p>Finally, I said:</p><blockquote><p>It\u2019ll be a hand-rolled static site. No frameworks for the HTML, JS, or CSS, and no pre-set templates: just me, a text editor, and some design tools.</p></blockquote><p>And that\u2019s what I did. I wrote the HTML and CSS from scratch in <a href=\"https://code.visualstudio.com/\">VS Code</a>, making liberal use of <a href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries\">media queries</a> and <a href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout\">CSS grids</a>. And I had a lot of fun doing it.</p><p>My full code (which is really simple!) <a href=\"https://github.com/benwerd/5405spain\">is available on GitHub</a>, but the most existing way to take a look <a href=\"https://www.5405spainave.com/\">is to view the website itself at 5405spainave.com</a>.</p><p>And if you want <a href=\"https://www.5405spainave.com/\">a beautiful wine country home in Santa Rosa, California</a>, you know who to talk to.</p><p>*</p><p>Some other ideas that came up:</p><p><strong>What about video or virtual reality?</strong> We didn\u2019t have a professionally-produced video of the home. We <em>do</em> have professionally-taken photographs, which I\u2019ve used liberally. I took some of the others (eg of wineries and Bodega Bay), and the rest came from <a href=\"https://unsplash.com/\">Unsplash</a>.</p><p><strong>What if we accepted crypto for the home?</strong> It\u2019s too difficult to do; agents, escrow, legal frameworks are not set up for this. Also, at least one member of our family makes a particular kind of face whenever crypto is mentioned. It <em>had</em> occurred to me that we could push the selling price for crypto sales a little higher: eg, sure, we\u2019ll take your ETH or BTC, but the dollar equivalent will be $2M. (If you would like to give us two million dollars for our home, please do get in touch.)</p><p><strong>What about a blog or regularly-updated content?</strong> Home sales in California are incredibly short. We could have written a blog about getting the home ready, but honestly, it was already a stressful enough process. We anticipate a very short sales window for the home itself, so we didn\u2019t do it. I\u2019ll likely add more narrative description in the <a href=\"https://5405spainave.com/our-experiences.html\">our experience page</a>.</p><p><strong>And analytics?</strong> The site doesn\u2019t set any cookies or collect any analytics on the front end. However, I do push it through <a href=\"https://www.cloudflare.com/\">Cloudflare\u2019s CDN</a>, which gives me some simple stats to gauge success.</p><p><strong>It\u2019s a very simple website.</strong> Yes. <a href=\"https://5405spainave.com\">And often, that\u2019s all you need.</a></p>"
},
"author": {
"type": "card",
"name": "Ben Werdm\u00fcller",
"url": "https://werd.io/profile/benwerd",
"photo": "https://werd.io/file/5d388c5fb16ea14aac640912/thumb.jpg"
},
"post-type": "article",
"_id": "30203645",
"_source": "191",
"_is_read": true
}
It looks like Kittybox is close to its finish line and general protocol-compliance goal. The only unimplemented parts are:
- In-house IndieAuth (auth and tokens)
- Webmentions
- WebSub pings
Then it will reach full protocol-compliance status, and I could go on to develop other things like pretty UI for posting, the Microsub server (because I really want my own!) etc.
{
"type": "entry",
"published": "2022-07-10T15:03:18.287307354+03:00",
"url": "https://fireburn.ru/posts/kittybox-status-update-2022-07-10",
"category": [
"Kittybox"
],
"content": {
"text": "It looks like Kittybox is close to its finish line and general protocol-compliance goal. The only unimplemented parts are:\n\nIn-house IndieAuth (auth and tokens)\n\nWebmentions\n\nWebSub pings\nThen it will reach full protocol-compliance status, and I could go on to develop other things like pretty UI for posting, the Microsub server (because I really want my own!) etc.",
"html": "<p>It looks like Kittybox is close to its finish line and general protocol-compliance goal. The only unimplemented parts are:</p>\n\n<ul><li>In-house IndieAuth (auth and tokens)</li>\n\n<li>Webmentions</li>\n\n<li>WebSub pings</li>\n</ul><p>Then it will reach full protocol-compliance status, and I could go on to develop other things like pretty UI for posting, the Microsub server (because I really want my own!) etc.</p>"
},
"author": {
"type": "card",
"name": "Vika",
"url": "https://fireburn.ru/",
"photo": "https://avatars.githubusercontent.com/u/7953163?v=4"
},
"post-type": "note",
"_id": "30194028",
"_source": "1371",
"_is_read": true
}
Time to traumatize myself by implementing the entire IndieAuth spec by hand. The newest version that seems to be twice as complex as the one from three years ago.
I’m not sure if I should draft a will first, it seems overwhelming to me... (but I’m sure that in the event that I succeed, I will reap major rewards from it)
{
"type": "entry",
"published": "2022-07-10T15:00:33.009962176+03:00",
"url": "https://fireburn.ru/posts/indieauth-woes-part-0",
"category": [
"IndieAuth",
"kittybox"
],
"content": {
"text": "Time to traumatize myself by implementing the entire IndieAuth spec by hand. The newest version that seems to be twice as complex as the one from three years ago.\n\nI\u2019m not sure if I should draft a will first, it seems overwhelming to me... (but I\u2019m sure that in the event that I succeed, I will reap major rewards from it)",
"html": "<p>Time to traumatize myself by implementing <a href=\"https://indieauth.spec.indieweb.org/\">the entire IndieAuth spec</a> by hand. The newest version that seems to be twice as complex as the one from three years ago.</p>\n\n<p>I\u2019m not sure if I should draft a will first, it seems overwhelming to me... (but I\u2019m sure that in the event that I succeed, I will reap major rewards from it)</p>"
},
"author": {
"type": "card",
"name": "Vika",
"url": "https://fireburn.ru/",
"photo": "https://avatars.githubusercontent.com/u/7953163?v=4"
},
"post-type": "note",
"_id": "30194029",
"_source": "1371",
"_is_read": true
}
{
"type": "entry",
"author": {
"name": "fluffy",
"url": "http://beesbuzz.biz/",
"photo": null
},
"url": "http://beesbuzz.biz/blog/chatter/5125-Why-The-Indieweb",
"published": "2022-07-06T10:20:54-07:00",
"content": {
"html": "<a href=\"http://beesbuzz.biz/blog/chatter/?id=5125&tag=indieweb\">#indieweb</a><a href=\"http://beesbuzz.biz/blog/chatter/?id=5125&tag=humor\">#humor</a>",
"text": "#indieweb#humor"
},
"name": "Notes: Why The Indieweb?",
"post-type": "article",
"_id": "30121693",
"_source": "3782",
"_is_read": true
}
{
"type": "entry",
"author": {
"name": "Manton Reece",
"url": "https://www.manton.org/",
"photo": "https://micro.blog/manton/avatar.jpg"
},
"url": "https://www.manton.org/2022/07/05/importing-checkins-from.html",
"name": "Importing check-ins from Ohai",
"content": {
"html": "<p>I\u2019ve used a few apps over the years for location check-ins. Gowalla, Foursquare, and Ohai, which was built on the App.net API. The Gowalla data was lost after they were acquired by Facebook. I\u2019ve continued to use Foursquare and have imported many of those check-ins to my location site <a href=\"https://manton.coffee\">manton.coffee</a>.</p>\n<p>I have about a year of data from Ohai, from around 2013-2014. Before App.net shut down, I exported the data. I wanted to dust it off and import it into Micro.blog.</p>\n<p>The data is stored in the App.net \u201cmessages\u201d JSON. In some cases, there is annotation data that includes the location information such as place name for the check-in and latitude/longitude.</p>\n<p>Here\u2019s an example of one of the check-ins, cleaned up slightly to remove fields I don\u2019t care about:</p>\n<pre style=\"color:#f8f8f2;background-color:#272822;\"><code>{\n <span style=\"color:#f92672;\">\"annotations\"</span>: [\n {\n <span style=\"color:#f92672;\">\"type\"</span>: <span style=\"color:#e6db74;\">\"net.app.ohai.location\"</span>,\n <span style=\"color:#f92672;\">\"value\"</span>: {\n <span style=\"color:#f92672;\">\"address\"</span>: <span style=\"color:#e6db74;\">\"11521 N Fm 620\"</span>,\n <span style=\"color:#f92672;\">\"country_code\"</span>: <span style=\"color:#e6db74;\">\"us\"</span>,\n <span style=\"color:#f92672;\">\"latitude\"</span>: <span style=\"color:#ae81ff;\">30.45419</span>,\n <span style=\"color:#f92672;\">\"locality\"</span>: <span style=\"color:#e6db74;\">\"Austin\"</span>,\n <span style=\"color:#f92672;\">\"longitude\"</span>: <span style=\"color:#ae81ff;\">-97.8271</span>,\n <span style=\"color:#f92672;\">\"name\"</span>: <span style=\"color:#e6db74;\">\"Starbucks\"</span>,\n <span style=\"color:#f92672;\">\"postcode\"</span>: <span style=\"color:#e6db74;\">\"78726\"</span>,\n <span style=\"color:#f92672;\">\"region\"</span>: <span style=\"color:#e6db74;\">\"TX\"</span>\n }\n }\n ],\n <span style=\"color:#f92672;\">\"created_at\"</span>: <span style=\"color:#e6db74;\">\"2013-11-11T14:44:25Z\"</span>,\n <span style=\"color:#f92672;\">\"id\"</span>: <span style=\"color:#e6db74;\">\"1922259\"</span>,\n <span style=\"color:#f92672;\">\"source\"</span>: {\n <span style=\"color:#f92672;\">\"client_id\"</span>: <span style=\"color:#e6db74;\">\"nymmngm43jnYP2FQ4pCvXjBpT3YyfNDa\"</span>,\n <span style=\"color:#f92672;\">\"link\"</span>: <span style=\"color:#e6db74;\">\"http://ohaiapp.net/\"</span>,\n <span style=\"color:#f92672;\">\"name\"</span>: <span style=\"color:#e6db74;\">\"Ohai\"</span>\n },\n <span style=\"color:#f92672;\">\"text\"</span>: <span style=\"color:#e6db74;\">\"Working after tacos. Hoping to get some coding done with an early start to the week.\"</span>\n}\n</code></pre><p>I had originally used Ohai as a sort of private check-in journal, not intending it to be public in the way that Foursquare check-ins often are. But I\u2019ve found that after nearly 10 years, semi-private data like this can usually be public without the same kind of privacy considerations that I would have worried about at the time it was first written.</p>\n<p>So how do we get this data into Micro.blog? Micro.blog can import from a bunch of platforms, but it doesn\u2019t make sense to add support for this file format directly to Micro.blog. It\u2019s not something that most people would need. I wrote a custom script to handle this for my check-ins blog.</p>\n<p>In the script, we\u2019ll iterate over each message and look for the ones posted from Ohai, ignoring everything else. For some reason \u2014 maybe because I was offline or because of limitations in the App.net places database \u2014 not all of my messages included location information, but I still want to record the post and date because it included text I wrote about the check-in. If there is location information, we\u2019ll pass that to Micro.blog too.</p>\n<p><a href=\"https://gist.github.com/manton/50293c39b6f9c96e5e0ed19ebbff93bf\">Here\u2019s the script</a>. If you want to customize it for your own use, make sure to set the app token and blog URL.</p>\n<p>Micro.blog uses the Micropub API for creating posts. When there\u2019s location information, we\u2019ll pass a <code>checkin</code> field to store that with Micro.blog. We can then access that data from a Micro.blog theme, for example to show a map. See <a href=\"https://book.micro.blog/micropub/\">my book chapter on Micropub</a> for details on the JSON format.</p>\n<p>I had a lot of fun going through this old data and migrating it to Micro.blog so that it can be preserved. Eventually I want to have a Micro.blog-based client solution for new check-ins, starting with Sunlit for iOS, so that I don\u2019t need to keep depending on Foursquare.</p>",
"text": "I\u2019ve used a few apps over the years for location check-ins. Gowalla, Foursquare, and Ohai, which was built on the App.net API. The Gowalla data was lost after they were acquired by Facebook. I\u2019ve continued to use Foursquare and have imported many of those check-ins to my location site manton.coffee.\nI have about a year of data from Ohai, from around 2013-2014. Before App.net shut down, I exported the data. I wanted to dust it off and import it into Micro.blog.\nThe data is stored in the App.net \u201cmessages\u201d JSON. In some cases, there is annotation data that includes the location information such as place name for the check-in and latitude/longitude.\nHere\u2019s an example of one of the check-ins, cleaned up slightly to remove fields I don\u2019t care about:\n{\n \"annotations\": [\n {\n \"type\": \"net.app.ohai.location\",\n \"value\": {\n \"address\": \"11521 N Fm 620\",\n \"country_code\": \"us\",\n \"latitude\": 30.45419,\n \"locality\": \"Austin\",\n \"longitude\": -97.8271,\n \"name\": \"Starbucks\",\n \"postcode\": \"78726\",\n \"region\": \"TX\"\n }\n }\n ],\n \"created_at\": \"2013-11-11T14:44:25Z\",\n \"id\": \"1922259\",\n \"source\": {\n \"client_id\": \"nymmngm43jnYP2FQ4pCvXjBpT3YyfNDa\",\n \"link\": \"http://ohaiapp.net/\",\n \"name\": \"Ohai\"\n },\n \"text\": \"Working after tacos. Hoping to get some coding done with an early start to the week.\"\n}\nI had originally used Ohai as a sort of private check-in journal, not intending it to be public in the way that Foursquare check-ins often are. But I\u2019ve found that after nearly 10 years, semi-private data like this can usually be public without the same kind of privacy considerations that I would have worried about at the time it was first written.\nSo how do we get this data into Micro.blog? Micro.blog can import from a bunch of platforms, but it doesn\u2019t make sense to add support for this file format directly to Micro.blog. It\u2019s not something that most people would need. I wrote a custom script to handle this for my check-ins blog.\nIn the script, we\u2019ll iterate over each message and look for the ones posted from Ohai, ignoring everything else. For some reason \u2014 maybe because I was offline or because of limitations in the App.net places database \u2014 not all of my messages included location information, but I still want to record the post and date because it included text I wrote about the check-in. If there is location information, we\u2019ll pass that to Micro.blog too.\nHere\u2019s the script. If you want to customize it for your own use, make sure to set the app token and blog URL.\nMicro.blog uses the Micropub API for creating posts. When there\u2019s location information, we\u2019ll pass a checkin field to store that with Micro.blog. We can then access that data from a Micro.blog theme, for example to show a map. See my book chapter on Micropub for details on the JSON format.\nI had a lot of fun going through this old data and migrating it to Micro.blog so that it can be preserved. Eventually I want to have a Micro.blog-based client solution for new check-ins, starting with Sunlit for iOS, so that I don\u2019t need to keep depending on Foursquare."
},
"published": "2022-07-05T07:53:04-05:00",
"category": [
"Essays"
],
"post-type": "article",
"_id": "30096712",
"_source": "12",
"_is_read": true
}
{
"type": "entry",
"published": "2022-07-04 15:18-0700",
"url": "https://gregorlove.com/2022/07/indieauth-for-processwire-released/",
"category": [
"indieweb",
"processwire"
],
"syndication": [
"https://news.indieweb.org/en",
"https://processwire.com/talk/topic/26220-module-indieauth-for-processwire/",
"https://twitter.com/gRegorLove/status/1544096341986402304"
],
"name": "IndieAuth for ProcessWire Released",
"content": {
"text": "IndieAuth lets you sign in to applications using your domain name and grant access to read/write to your site. This module adds IndieAuth support to your ProcessWire site, enabling two main things:\n\nAuthentication: When you visit a site like indielogin.com and enter your domain name, you will be taken to your ProcessWire admin area to sign in and approve the request. If you approve the request, you will be returned to the site and logged in as your domain name.\n\tAuthorization: When you visit an application like Quill, it needs to also get your permission to post to your site. You will be taken to your ProcessWire admin area to sign in and approve the request/scopes that the app is requesting (create, update, delete, etc.). If you approve the request, you will be returned to the app, logged in as your domain name, and the app will have an access token for your site.\nFeatures\n\nBrowse the applications you have granted access tokens to. See when each one was granted, last used, and will expire.\n\tRevoke any application\u2019s access tokens\n\tSet the default expiration period for new access tokens. The initial default is 14 days.\n\tAutomatically remove expired tokens\n\tDuring authorization, confirm and change the scopes granted to the application. For example, an app may request \u201ccreate\u201d and \u201cdelete\u201d scopes, but you can grant only \u201ccreate.\u201d\n\tDuring authorization, you can also choose to grant an access token with no expiration\nInstallation from GitHub\n\nThis module is currently pending approval to appear in the Directory of ProcessWire plugin modules. Until it is approved, please follow the instructions on GitHub to install. I will remove this notice once the module is in the directory.\n\nInstallation from Modules Directory\n\nThe recommended method is to use the ProcessWire admin area\u2019s module interface.\n\nNavigate to Modules > New. In the Module Class Name field, enter ProcessIndieAuth\n\n\tCopy the template files from the module\u2019s directory /extras/templates into your site\u2019s /site/templates directory.\n\tVerify that the plugin installed pages:\n\tIndieAuth Metadata Endpoint\n\t\tAuthorization Endpoint\n\t\tToken Endpoint\n\t\tToken Revocation Endpoint\n\t\tIndieAuth page under the admin\u2019s Access menu\n\t\n\tLook up the user(s) that you want to allow to use IndieAuth and assign them the \u201cindieauth\u201d role\n\tUpdate your home page template to add the link elements inside the <head> element:\n<?=$modules->get('ProcessIndieAuth')->getLinkElements();?>\n\nThis should result in three <link> elements in the source HTML:\n\n\n<head>\n <link rel=\"indieauth-metadata\" href=\"/indieauth-metadata-endpoint/\">\n <link rel=\"authorization_endpoint\" href=\"/authorization-endpoint/\">\n <link rel=\"token_endpoint\" href=\"/token-endpoint/\">\n</head>\n\nSign In\n\nTo test signing in with IndieAuth, visit indielogin.com and enter your domain name. Follow the prompts to authenticate and you should end up back on indielogin.com with a success message.\n\nThe authentication prompt when signing in with IndieAuth\nSign In and Authorize\n\nTo authorize an application with IndieAuth, you site will first need a module that uses access tokens. I have a Micropub for ProcessWire module in development that does that. Micropub is a standard that lets you publish to your site using third-party clients. If you\u2019d like to try it out, follow the instructions on GitHub to install it.\n\nAfter installing, visit Quill and enter your domain name. Follow the prompts and note the additional fields for \u201cscope\u201d and \u201cexpiration,\u201d since you are authorizing an application to interact with your site. After successfully authorizing, try to post a short note from Quill. Quill should redirect you to the new post if it was successful.\n\nFor a list of other Micropub clients you can try, see https://indieweb.org/Micropub/Clients.\n\nThe authorization prompt\nAdmin and Options\n\nIn the admin, you can see which applications you have granted access tokens to. You can see when each token was issued, last accessed, and its expiration. You can also manually revoke a token at any time. Navigate to: Access > IndieAuth.\n\nThe admin page displaying access tokens you have granted\nThere are a couple options in the admin at: Modules > Configure > ProcessIndieAuth:\n\nDefault access token lifetime (in seconds): This defaults to 14 days and is what appears in the authorization screenshot above.\n\tAutomatically remove access tokens after expiration (enabled by default): When enabled, the site checks approximately every six hours and removes expired access tokens. Regardless of whether this option is enabled, the module will reject any application attempting to use an expired access token. Since access tokens cannot (currently) have their expiration extended, I recommend keeping this option enabled so the admin list stays tidy and current.\nFinally, this module writes some admin logs. Access those at: Setup > Logs > indieauth\n\nMore About IndieAuth\n\nIf you\u2019re interested in more details about IndieAuth, I recommend the article \u201cOAuth for the Open Web\u201d by Aaron Parecki (or the video presentation). If you are interested in implementing IndieAuth in your project, see the IndieAuth specification.",
"html": "<p>IndieAuth lets you sign in to applications using your domain name and grant access to read/write to your site. This module adds IndieAuth support to your <a href=\"https://processwire.com/\">ProcessWire</a> site, enabling two main things:</p>\n\n<ol><li>Authentication: When you visit a site like <a href=\"https://indielogin.com/\">indielogin.com</a> and enter your domain name, you will be taken to your ProcessWire admin area to sign in and approve the request. If you approve the request, you will be returned to the site and logged in as your domain name.</li>\n\t<li>Authorization: When you visit an application like <a href=\"https://quill.p3k.io/\">Quill</a>, it needs to also get your permission to post to your site. You will be taken to your ProcessWire admin area to sign in and approve the request/scopes that the app is requesting (create, update, delete, etc.). If you approve the request, you will be returned to the app, logged in as your domain name, and the app will have an access token for your site.</li>\n</ol><h2>Features</h2>\n\n<ul><li>Browse the applications you have granted access tokens to. See when each one was granted, last used, and will expire.</li>\n\t<li>Revoke any application\u2019s access tokens</li>\n\t<li>Set the default expiration period for new access tokens. The initial default is 14 days.</li>\n\t<li>Automatically remove expired tokens</li>\n\t<li>During authorization, confirm and change the scopes granted to the application. For example, an app may request \u201ccreate\u201d and \u201cdelete\u201d scopes, but you can grant only \u201ccreate.\u201d</li>\n\t<li>During authorization, you can also choose to grant an access token with no expiration</li>\n</ul><h2>Installation from GitHub</h2>\n\nThis module is currently pending approval to appear in the <a href=\"https://processwire.com/modules/\" style=\"color:#523e02;font-weight:700;\">Directory of ProcessWire plugin modules</a>. Until it is approved, please follow the instructions on <a href=\"https://github.com/gregorlove/Processwire-IndieAuth\" style=\"color:#523e02;font-weight:700;\">GitHub</a> to install. I will remove this notice once the module is in the directory.\n\n<h2>Installation from Modules Directory</h2>\n\n<p>The recommended method is to use the ProcessWire admin area\u2019s module interface.</p>\n\n<ol><li>Navigate to Modules > New. In the <i>Module Class Name</i> field, enter <code>ProcessIndieAuth</code>\n</li>\n\t<li>Copy the template files from the module\u2019s directory <code>/extras/templates</code> into your site\u2019s <code>/site/templates</code> directory.</li>\n\t<li>Verify that the plugin installed pages:\n\t<ul><li>IndieAuth Metadata Endpoint</li>\n\t\t<li>Authorization Endpoint</li>\n\t\t<li>Token Endpoint</li>\n\t\t<li>Token Revocation Endpoint</li>\n\t\t<li>IndieAuth page under the admin\u2019s Access menu</li>\n\t</ul></li>\n\t<li>Look up the user(s) that you want to allow to use IndieAuth and assign them the \u201cindieauth\u201d role</li>\n\t<li>Update your home page template to add the link elements inside the <head> element:<br /><code style=\"font-size:1.6rem;\"><?=$modules->get('ProcessIndieAuth')->getLinkElements();?></code>\n</li>\n</ol><p>This should result in three <link> elements in the source HTML:</p>\n\n<pre>\n<code style=\"font-size:1.6rem;\"><head>\n <link rel=\"indieauth-metadata\" href=\"/indieauth-metadata-endpoint/\">\n <link rel=\"authorization_endpoint\" href=\"/authorization-endpoint/\">\n <link rel=\"token_endpoint\" href=\"/token-endpoint/\">\n</head></code></pre>\n\n<h2>Sign In</h2>\n\n<p>To test signing in with IndieAuth, visit <a href=\"https://indielogin.com\">indielogin.com</a> and enter your domain name. Follow the prompts to authenticate and you should end up back on indielogin.com with a success message.</p>\n\n<img alt=\"screenshot\" src=\"https://gregorlove.com/site/assets/files/6031/indieauth-for-processwire-authentication.1000x0-is.png\" /><p>The authentication prompt when signing in with IndieAuth</p>\n<h2>Sign In and Authorize</h2>\n\n<p>To authorize an application with IndieAuth, you site will first need a module that uses access tokens. I have a <a href=\"https://github.com/gregorlove/ProcessWire-Micropub\">Micropub for ProcessWire</a> module in development that does that. Micropub is a standard that lets you publish to your site using third-party clients. If you\u2019d like to try it out, follow the instructions on GitHub to install it.</p>\n\n<p>After installing, visit <a href=\"https://quill.p3k.io/\">Quill</a> and enter your domain name. Follow the prompts and note the additional fields for \u201cscope\u201d and \u201cexpiration,\u201d since you are authorizing an application to interact with your site. After successfully authorizing, try to post a short note from Quill. Quill should redirect you to the new post if it was successful.</p>\n\n<p>For a list of other Micropub clients you can try, see <a href=\"https://indieweb.org/Micropub/Clients\">https://indieweb.org/Micropub/Clients</a>.</p>\n\n<img alt=\"screenshot\" src=\"https://gregorlove.com/site/assets/files/6031/indieauth-for-processwire-authorization.1000x0-is.png\" /><p>The authorization prompt</p>\n<h2>Admin and Options</h2>\n\n<p>In the admin, you can see which applications you have granted access tokens to. You can see when each token was issued, last accessed, and its expiration. You can also manually revoke a token at any time. Navigate to: Access > IndieAuth.</p>\n\n<img alt=\"screenshot\" src=\"https://gregorlove.com/site/assets/files/6031/indieauth-for-processwire-tokens.1000x0-is.png\" /><p>The admin page displaying access tokens you have granted</p>\n<p>There are a couple options in the admin at: Modules > Configure > ProcessIndieAuth:</p>\n\n<ol><li>Default access token lifetime (in seconds): This defaults to 14 days and is what appears in the authorization screenshot above.</li>\n\t<li>Automatically remove access tokens after expiration (enabled by default): When enabled, the site checks approximately every six hours and removes expired access tokens. Regardless of whether this option is enabled, the module will reject any application attempting to use an expired access token. Since access tokens cannot (currently) have their expiration extended, I recommend keeping this option enabled so the admin list stays tidy and current.</li>\n</ol><p>Finally, this module writes some admin logs. Access those at: Setup > Logs > indieauth</p>\n\n<h2>More About IndieAuth</h2>\n\n<p>If you\u2019re interested in more details about IndieAuth, I recommend the article \u201c<a href=\"https://aaronparecki.com/2018/07/07/7/oauth-for-the-open-web\">OAuth for the Open Web</a>\u201d by Aaron Parecki (or the <a href=\"https://youtu.be/EeCNlB7v08I\">video presentation</a>). If you are interested in implementing IndieAuth in your project, see the <a href=\"https://indieauth.spec.indieweb.org/\">IndieAuth specification</a>.</p>"
},
"author": {
"type": "card",
"name": "gRegor Morrill",
"url": "https://gregorlove.com/",
"photo": "https://gregorlove.com/site/assets/files/3473/profile-2016-med.jpg"
},
"post-type": "article",
"_id": "30086026",
"_source": "179",
"_is_read": true
}
{
"type": "entry",
"published": "2022-07-03T18:32:04+00:00",
"url": "https://werd.io/2022/my-text-editors",
"name": "My text editors",
"content": {
"text": "A text editor is just a text editor, right? Well, not really - and it turns out I use a variety of text editors for different purposes.iA Writer is how I draft and publish my blog posts and short stories. It\u2019s a beautiful, minimalist markdown editor that knows when to get out of my way. And it supports Micropub, which lets me publish pieces directly to my website.BBEdit is a professional text editor. I use it as my scratchpad; features like regular expression search and replace and smart syntax highlighting make it an easy place for me to inspect and adjust text files.Ulysses is a long-form writing app. I\u2019m writing a novel in it, and have a few abandoned starts to other long-form fiction. I haven\u2019t used its grammar checker or editing tools (in general, I hate and distrust grammar checkers), but I know they may come in handy later on.Obsidian is becoming my outboard brain. Some of those thoughts are public; you can find them at werd.cloud. I love that it\u2019s completely cross-platform.VSCode is my Integrated Development Environment of choice; if you\u2019re a programmer, it\u2019s a good chance it\u2019s yours, too. If you\u2019d told the me ten years ago that I\u2019d be regularly using a product with \u201cVisual Studio\u201d in the name, I would have laughed at you - but here we are. It\u2019s a testament to how much Microsoft has grown and changed.Nano is the editor I use inside my terminal window. I prefer it to vi and vim; I just do.Slab is how I write documentation to share with teams. It\u2019s dramatically better than Confluence, which I\u2019d used previously, for this purpose: lightning fast, with features that allow you to ensure documentation is current.Apple Notes (in concert with Reminders) has become my place to keep track of work notes. It\u2019s not perfect, but it\u2019s steadily improving, and it\u2019s always there, across my devices. The Quick Note feature is really neat, and I love that I can write in longhand with my Apple Pencil.Google Docs is how I collaborate on documentation with other people. It\u2019s easy, real-time, and cross-platform.Microsoft Word is how I talk to lawyers and format fiction manuscripts.What are your text editors of choice?",
"html": "<p>A text editor is just a text editor, right? Well, not really - and it turns out I use a variety of text editors for different purposes.</p><p><a href=\"https://ia.net/writer\">iA Writer</a> is how I draft and publish my blog posts and short stories. It\u2019s a beautiful, minimalist markdown editor that knows when to get out of my way. And it supports <a href=\"https://micropub.net/\">Micropub</a>, which lets me publish pieces directly to my website.</p><p><a href=\"https://www.barebones.com/products/bbedit/\">BBEdit</a> is a professional text editor. I use it as my scratchpad; features like regular expression search and replace and smart syntax highlighting make it an easy place for me to inspect and adjust text files.</p><p><a href=\"https://ulysses.app/\">Ulysses</a> is a long-form writing app. I\u2019m writing a novel in it, and have a few abandoned starts to other long-form fiction. I haven\u2019t used its grammar checker or editing tools (in general, I hate and distrust grammar checkers), but I know they may come in handy later on.</p><p><a href=\"https://obsidian.md/\">Obsidian</a> is becoming my outboard brain. Some of those thoughts are public; you can find them at <a href=\"https://werd.cloud\">werd.cloud</a>. I love that it\u2019s completely cross-platform.</p><p><a href=\"https://code.visualstudio.com/\">VSCode</a> is my Integrated Development Environment of choice; if you\u2019re a programmer, it\u2019s a good chance it\u2019s yours, too. If you\u2019d told the me ten years ago that I\u2019d be regularly using a product with \u201cVisual Studio\u201d in the name, I would have laughed at you - but here we are. It\u2019s a testament to how much Microsoft has grown and changed.</p><p><a href=\"https://www.nano-editor.org/\">Nano</a> is the editor I use inside my terminal window. I prefer it to vi and <a href=\"https://www.vim.org/\">vim</a>; I just do.</p><p><a href=\"https://slab.com\">Slab</a> is how I write documentation to share with teams. It\u2019s dramatically better than <a href=\"https://www.atlassian.com/software/confluence\">Confluence</a>, which I\u2019d used previously, for this purpose: lightning fast, with features that allow you to ensure documentation is current.</p><p><a href=\"https://9to5mac.com/2022/06/07/apple-notes-app-new-features/\">Apple Notes</a> (in concert with Reminders) has become my place to keep track of work notes. It\u2019s not perfect, but it\u2019s steadily improving, and it\u2019s always there, across my devices. The Quick Note feature is really neat, and I love that I can write in longhand with my Apple Pencil.</p><p><a href=\"https://docs.google.com\">Google Docs</a> is how I collaborate on documentation with other people. It\u2019s easy, real-time, and cross-platform.</p><p><a href=\"https://www.microsoft.com/en-us/microsoft-365/word\">Microsoft Word</a> is how I talk to lawyers and format fiction manuscripts.</p><p>What are your text editors of choice?</p>"
},
"author": {
"type": "card",
"name": "Ben Werdm\u00fcller",
"url": "https://werd.io/profile/benwerd",
"photo": "https://werd.io/file/5d388c5fb16ea14aac640912/thumb.jpg"
},
"post-type": "article",
"_id": "30065273",
"_source": "191",
"_is_read": true
}
Here's a list of sites within the Fediverse that report supporting Webmention:
https://the-federation.info/protocol/webmention
I'm not sure if Aaron Parecki has a public list of all the sites that are using webmention.io, but that would add a huge number as would all the native sites that are part of micro.blog. I'm not sure if either publishes a list of sites using their services for a variety of reasons.
{
"type": "entry",
"published": "2022-06-25T00:11:33+00:00",
"url": "http://stream.boffosocko.com/2022/heres-a-list-of-sites-within-the-fediverse-that-report",
"in-reply-to": [
"https://lordmatt.co.uk/technology/the-internet/all-the-active-indieweb-sites-i-have-found-so-far-june-2022/",
"https://aaronparecki.com/"
],
"content": {
"text": "Here's a list of sites within the Fediverse that report supporting Webmention:\nhttps://the-federation.info/protocol/webmention\n\n\nI'm not sure if Aaron Parecki has a public list of all the sites that are using webmention.io, but that would add a huge number as would all the native sites that are part of micro.blog. I'm not sure if either publishes a list of sites using their services for a variety of reasons.",
"html": "Here's a list of sites within the Fediverse that report supporting Webmention:<br /><a href=\"https://the-federation.info/protocol/webmention\">https://the-federation.info/protocol/webmention</a><br /><br />\nI'm not sure if Aaron Parecki has a public list of all the sites that are using webmention.io, but that would add a huge number as would all the native sites that are part of micro.blog. I'm not sure if either publishes a list of sites using their services for a variety of reasons."
},
"author": {
"type": "card",
"name": "Chris Aldrich",
"url": "http://stream.boffosocko.com/profile/chrisaldrich",
"photo": "http://stream.boffosocko.com/file/600427b81f7785e704eadfe511a9270f/thumb.jpg"
},
"post-type": "reply",
"_id": "29906889",
"_source": "192",
"_is_read": true
}
- Each voice is individual and matters
- Slow is ok
- Diversified and independent is good
- Not fitting a pattern is ok
- Not being easily commodified is ok
{
"type": "entry",
"published": "2022-06-20T16:17:31Z",
"url": "https://adactio.com/links/19203",
"category": [
"blogs",
"blogging",
"writing",
"sharing",
"personal",
"publishing",
"indieweb"
],
"bookmark-of": [
"https://blog.jim-nielsen.com/2022/the-message-and-medium-of-the-personal-blog/"
],
"content": {
"text": "The Message Behind the Medium of a Personal Blog - Jim Nielsen\u2019s Blog\n\n\n\n\n Each voice is individual and matters\n Slow is ok\n Diversified and independent is good\n Not fitting a pattern is ok\n Not being easily commodified is ok",
"html": "<h3>\n<a class=\"p-name u-bookmark-of\" href=\"https://blog.jim-nielsen.com/2022/the-message-and-medium-of-the-personal-blog/\">\nThe Message Behind the Medium of a Personal Blog - Jim Nielsen\u2019s Blog\n</a>\n</h3>\n\n<blockquote>\n <ul><li>Each voice is individual and matters</li>\n <li>Slow is ok</li>\n <li>Diversified and independent is good</li>\n <li>Not fitting a pattern is ok</li>\n <li>Not being easily commodified is ok</li>\n </ul></blockquote>"
},
"author": {
"type": "card",
"name": "Jeremy Keith",
"url": "https://adactio.com/",
"photo": "https://adactio.com/images/photo-150.jpg"
},
"post-type": "bookmark",
"_id": "29814445",
"_source": "2",
"_is_read": true
}
I’m honoured to mentioned in the same paragraph as Seth Godin and Chris Coyier (and I too have really been enjoying Chris’s writing).
{
"type": "entry",
"published": "2022-06-20T16:16:04Z",
"url": "https://adactio.com/links/19202",
"category": [
"blogging",
"writing",
"sharing",
"indieweb",
"blogs",
"personal",
"publishing"
],
"bookmark-of": [
"https://matthiasott.com/notes/just-put-stuff-out-there"
],
"content": {
"text": "Just Put Stuff Out There \u00b7 Matthias Ott \u2013 User Experience Designer\n\n\n\nI\u2019m honoured to mentioned in the same paragraph as Seth Godin and Chris Coyier (and I too have really been enjoying Chris\u2019s writing).",
"html": "<h3>\n<a class=\"p-name u-bookmark-of\" href=\"https://matthiasott.com/notes/just-put-stuff-out-there\">\nJust Put Stuff Out There \u00b7 Matthias Ott \u2013 User Experience Designer\n</a>\n</h3>\n\n<p>I\u2019m honoured to mentioned in the same paragraph as <a href=\"https://seths.blog/\">Seth Godin</a> and <a href=\"https://chriscoyier.net/\">Chris Coyier</a> (and I too have really been enjoying Chris\u2019s writing).</p>"
},
"author": {
"type": "card",
"name": "Jeremy Keith",
"url": "https://adactio.com/",
"photo": "https://adactio.com/images/photo-150.jpg"
},
"post-type": "bookmark",
"_id": "29814446",
"_source": "2",
"_is_read": true
}
This is very cool! Looks like I need to implement OpenID Connect for my #IndieAuth server so I can get in on this 👀
The @projectsigstore documentation has a new Gitsign section explaining everything you need to know to start signing your commits with an OpenID identity, such as your Gi...
{
"type": "entry",
"published": "2022-06-17T08:29:00+0100",
"url": "https://www.jvt.me/mf2/2022/06/8tbj9/",
"category": [
"oidc",
"indie-auth"
],
"quotation-of": "https://twitter.com/erikaheidi/status/1537432578298216458",
"content": {
"text": "This is very cool! Looks like I need to implement OpenID Connect for my #IndieAuth server so I can get in on this \ud83d\udc40",
"html": "<p>This is very cool! Looks like I need to implement OpenID Connect for my <a href=\"https://www.jvt.me/tags/indie-auth/\">#IndieAuth</a> server so I can get in on this \ud83d\udc40</p>"
},
"author": {
"type": "card",
"name": "Jamie Tanna",
"url": "https://www.jvt.me",
"photo": "https://www.jvt.me/img/profile.png"
},
"post-type": "note",
"refs": {
"https://twitter.com/erikaheidi/status/1537432578298216458": {
"type": "entry",
"url": "https://twitter.com/erikaheidi/status/1537432578298216458",
"content": {
"text": "The @projectsigstore documentation has a new Gitsign section explaining everything you need to know to start signing your commits with an OpenID identity, such as your GitHub or Google account. No need for dealing with GPG keys!\ndocs.sigstore.dev/gitsign/overvi\u2026",
"html": "The <a href=\"https://twitter.com/projectsigstore\">@projectsigstore</a> documentation has a new Gitsign section explaining everything you need to know to start signing your commits with an OpenID identity, such as your GitHub or Google account. No need for dealing with GPG keys!\n<a href=\"https://docs.sigstore.dev/gitsign/overview\">docs.sigstore.dev/gitsign/overvi\u2026</a>"
},
"post-type": "note"
}
},
"_id": "29755426",
"_source": "2169",
"_is_read": true
}
{
"type": "entry",
"published": "2022-06-14T19:49:02+00:00",
"url": "http://stream.boffosocko.com/2022/qwxleaa-ade_oshineye-houshuang-in-fact-heres-a-good-example-of",
"syndication": [
"https://twitter.com/ChrisAldrich/status/1536798127725891584"
],
"in-reply-to": [
"https://twitter.com/ChrisAldrich/status/1536795123874508800",
"http://stream.boffosocko.com/2022/qwxleaa-ade_oshineye-houshuang-some-have-been-experimenting-with-using-the"
],
"content": {
"text": "@QwxleaA @ade_oshineye @houshuang In fact, here's a good example of one of @andy_matuschak's notes interacting directly via webmention to create bi-directional links (albeit just a notification in this case) with my notes. https://boffosocko.com/2021/07/03/differentiating-online-variations-of-the-commonplace-book-digital-gardens-wikis-zettlekasten-waste-books-florilegia-and-second-brains/#comment-368792\nhttps://notes.andymatuschak.org/z2QvtE9w5zs49x7WUeG8Ut1vywHDLiG2Wkm9p",
"html": "@QwxleaA @ade_oshineye @houshuang In fact, here's a good example of one of @andy_matuschak's notes interacting directly via webmention to create bi-directional links (albeit just a notification in this case) with my notes. <a href=\"https://boffosocko.com/2021/07/03/differentiating-online-variations-of-the-commonplace-book-digital-gardens-wikis-zettlekasten-waste-books-florilegia-and-second-brains/#comment-368792\">https://boffosocko.com/2021/07/03/differentiating-online-variations-of-the-commonplace-book-digital-gardens-wikis-zettlekasten-waste-books-florilegia-and-second-brains/#comment-368792</a><br /><a href=\"https://notes.andymatuschak.org/z2QvtE9w5zs49x7WUeG8Ut1vywHDLiG2Wkm9p\">https://notes.andymatuschak.org/z2QvtE9w5zs49x7WUeG8Ut1vywHDLiG2Wkm9p</a>"
},
"author": {
"type": "card",
"name": "Chris Aldrich",
"url": "http://stream.boffosocko.com/profile/chrisaldrich",
"photo": "http://stream.boffosocko.com/file/600427b81f7785e704eadfe511a9270f/thumb.jpg"
},
"post-type": "reply",
"_id": "29704311",
"_source": "192",
"_is_read": true
}
@QwxleaA @ade_oshineye @houshuang Some have been experimenting with using the Webmention spec to allow one wiki, note, or digital garden space interact with another. It's become quite common in the blogosphere, why not for online notes or zettelkasten?
https://indieweb.org/Webmention
{
"type": "entry",
"published": "2022-06-14T19:37:35+00:00",
"url": "http://stream.boffosocko.com/2022/qwxleaa-ade_oshineye-houshuang-some-have-been-experimenting-with-using-the",
"syndication": [
"https://twitter.com/ChrisAldrich/status/1536795123874508800"
],
"in-reply-to": [
"https://twitter.com/QwxleaA/status/1533489580816666625"
],
"content": {
"text": "@QwxleaA @ade_oshineye @houshuang Some have been experimenting with using the Webmention spec to allow one wiki, note, or digital garden space interact with another. It's become quite common in the blogosphere, why not for online notes or zettelkasten?\nhttps://indieweb.org/Webmention",
"html": "<a href=\"https://twitter.com/QwxleaA\">@QwxleaA</a> <a href=\"https://twitter.com/ade_oshineye\">@ade_oshineye</a> <a href=\"https://twitter.com/houshuang\">@houshuang</a> Some have been experimenting with using the Webmention spec to allow one wiki, note, or digital garden space interact with another. It's become quite common in the blogosphere, why not for online notes or zettelkasten?<br /><a href=\"https://indieweb.org/Webmention\">https://indieweb.org/Webmention</a>"
},
"author": {
"type": "card",
"name": "Chris Aldrich",
"url": "http://stream.boffosocko.com/profile/chrisaldrich",
"photo": "http://stream.boffosocko.com/file/600427b81f7785e704eadfe511a9270f/thumb.jpg"
},
"post-type": "reply",
"_id": "29704312",
"_source": "192",
"_is_read": true
}
I'm sorry you've run into this issue. I can't help but wonder if most of the spam is really pingback spam? Much of what you've gotten likely isn't arriving via webmention as I see the following header in your page:
<link rel="pingback" href="https://webmention.io/www.miriamsuzanne.com/xmlrpc" />
My guess along with some minor sleuthing is that the entirety of the spam you're seeing is of the pingback variety as the mechanism by which webmention works is mean to actively decrease the amount of unwanted spam. Vanishingly little Webmention spam has been seen in the wild.
Removing the pingback link from the header of that particular page (or others that might get linked to with heavily trafficked sites like CSS-Tricks which are often pirated) should solve your immediate problem. Hopefully those who are working on additional anti-spam features will add to these measures to further mitigate this sort of issue for the broader publics' use and adoption. I've personally experienced this sort of "attack" at least once in the pingback space and another using the even older refbacks specification. On my small personal site, I leave them all on however, particularly for the small slice of academic blogging community that still uses pingbacks and the benefits generally outstrip the annoyance. Naturally your mileage may vary and you may consider turning them off.
Of course, you'll probably also realize that the reason the CSS-Tricks notification was caught in spam was because it also came in as a pingback and not by webmetion. (I'm pretty sure that they don't have webmention set up to send them, so their site would have only sent a pingback.)
Many of the older systems, including WordPress which are frequently used by these same sorts of pirates, will still send/trigger pingbacks. Within the IndieWeb space, most sites explicitly sending webmention notifications will include h-cards with author names and timestamps which is part of why Max Böck’s filtering solution works well.
On the positive side, I wonder if this sort of notification behavior might help sites like CSS-Tricks to track these sort of bad actors for help in potential take downs of this sort of piracy?
{
"type": "entry",
"published": "2022-06-14T04:50:05+00:00",
"url": "http://stream.boffosocko.com/2022/im-sorry-youve-run-into-this-issue-i-cant-help",
"in-reply-to": [
"https://www.miriamsuzanne.com/2022/06/09/the-spam/"
],
"content": {
"text": "I'm sorry you've run into this issue. I can't help but wonder if most of the spam is really pingback spam? Much of what you've gotten likely isn't arriving via webmention as I see the following header in your page: \n\n<link rel=\"pingback\" href=\"https://webmention.io/www.miriamsuzanne.com/xmlrpc\" />\n\n\nMy guess along with some minor sleuthing is that the entirety of the spam you're seeing is of the pingback variety as the mechanism by which webmention works is mean to actively decrease the amount of unwanted spam. Vanishingly little Webmention spam has been seen in the wild. \n\n\nRemoving the pingback link from the header of that particular page (or others that might get linked to with heavily trafficked sites like CSS-Tricks which are often pirated) should solve your immediate problem. Hopefully those who are working on additional anti-spam features will add to these measures to further mitigate this sort of issue for the broader publics' use and adoption. I've personally experienced this sort of \"attack\" at least once in the pingback space and another using the even older refbacks specification. On my small personal site, I leave them all on however, particularly for the small slice of academic blogging community that still uses pingbacks and the benefits generally outstrip the annoyance. Naturally your mileage may vary and you may consider turning them off.\n\n\nOf course, you'll probably also realize that the reason the CSS-Tricks notification was caught in spam was because it also came in as a pingback and not by webmetion. (I'm pretty sure that they don't have webmention set up to send them, so their site would have only sent a pingback.) \n\n\nMany of the older systems, including WordPress which are frequently used by these same sorts of pirates, will still send/trigger pingbacks. Within the IndieWeb space, most sites explicitly sending webmention notifications will include h-cards with author names and timestamps which is part of why Max B\u00f6ck\u2019s filtering solution works well.\n\n\nOn the positive side, I wonder if this sort of notification behavior might help sites like CSS-Tricks to track these sort of bad actors for help in potential take downs of this sort of piracy?",
"html": "I'm sorry you've run into this issue. I can't help but wonder if most of the spam is really pingback spam? Much of what you've gotten likely isn't arriving via webmention as I see the following header in your page: <br />\n<link rel=\"pingback\" href=\"https://webmention.io/www.miriamsuzanne.com/xmlrpc\" /><br /><br />\nMy guess along with some minor sleuthing is that the entirety of the spam you're seeing is of the pingback variety as the mechanism by which webmention works is mean to actively decrease the amount of unwanted spam. Vanishingly little Webmention spam has been seen in the wild. <br /><br />\nRemoving the pingback link from the header of that particular page (or others that might get linked to with heavily trafficked sites like CSS-Tricks which are often pirated) should solve your immediate problem. Hopefully those who are working on additional anti-spam features will add to these measures to further mitigate this sort of issue for the broader publics' use and adoption. I've personally experienced this sort of \"attack\" at least once in the pingback space and another using the even older refbacks specification. On my small personal site, I leave them all on however, particularly for the small slice of academic blogging community that still uses pingbacks and the benefits generally outstrip the annoyance. Naturally your mileage may vary and you may consider turning them off.<br /><br />\nOf course, you'll probably also realize that the reason the CSS-Tricks notification was caught in spam was because it also came in as a pingback and not by webmetion. (I'm pretty sure that they don't have webmention set up to send them, so their site would have only sent a pingback.) <br /><br />\nMany of the older systems, including WordPress which are frequently used by these same sorts of pirates, will still send/trigger pingbacks. Within the IndieWeb space, most sites explicitly sending webmention notifications will include h-cards with author names and timestamps which is part of why Max B\u00f6ck\u2019s filtering solution works well.<br /><br />\nOn the positive side, I wonder if this sort of notification behavior might help sites like CSS-Tricks to track these sort of bad actors for help in potential take downs of this sort of piracy?"
},
"author": {
"type": "card",
"name": "Chris Aldrich",
"url": "http://stream.boffosocko.com/profile/chrisaldrich",
"photo": "http://stream.boffosocko.com/file/600427b81f7785e704eadfe511a9270f/thumb.jpg"
},
"post-type": "reply",
"_id": "29690379",
"_source": "192",
"_is_read": true
}