The #indieweb is more than #independence. Itâs also a web, of both personal sites and âthird placeâ sites like aggregators, bridges, proxies, directories, indexes, and other community sites.Broadly speaking, such âthird placeâ sites include places we collectively contribute to, and which license ... tantek.com
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://tantek.com/2025/002/t1/indieweb-third-place-community",
"content": {
"html": "The #indieweb is more than #independence. It\u00e2s also a web, of both personal sites and \u00e2third place\u00e2 sites like aggregators, bridges, proxies, directories, indexes, and other community sites.Broadly speaking, such \u00e2third place\u00e2 sites include places we collectively contribute to, and which license ... <a href=\"https://tantek.com/2025/002/t1/indieweb-third-place-community\">tantek.com</a>",
"text": "The #indieweb is more than #independence. It\u00e2s also a web, of both personal sites and \u00e2third place\u00e2 sites like aggregators, bridges, proxies, directories, indexes, and other community sites.Broadly speaking, such \u00e2third place\u00e2 sites include places we collectively contribute to, and which license ... tantek.com"
},
"published": "2025-01-03T07:54:00+00:00",
"post-type": "note",
"_id": "43419636",
"_source": "8007",
"_is_read": false
}
The #indieweb is more than #independence. It’s also a web, of both personal sites and “third place” sites like aggregators, bridges, proxies, directories, indexes, and other community sites.
Broadly speaking, such “third place” sites include places we collectively contribute to, and which license our contributions for free use by others. While open source projects come to mind, perhaps a more obvious example is Wikipedia.
Similarly, the most obvious “third place” in the #IndieWeb community is our community site and wiki https://indieweb.org/ as well as the heterogeneous chat https://chat.indieweb.org/.
We also have many services run by individuals (or small teams) in the community, for the benefit of the community, like:
* @snarfed.org’s https://brid.gy/ and https://fed.brid.gy/
* @aaronparecki.com’s https://webmention.io/ and many others
* @martymcgui.re’s https://xn--sr8hvo.ws/ (IndieWeb Webring)
* @gregorlove.com’s https://indiebookclub.biz/
* @mat.tl’s https://libre.fm/
and I’m sure many more I’m forgetting.
All these services respect your data and your ownership of it. #ownYourData
All these services are swappable. Many (most?) are open source and self-hostable in case you want to run your own personal instance or another shared instance.
The web part of the indieweb complements, connects, and strengthens the indie part.
This is post 4 of #100PostsOfIndieWeb. #100Posts
← https://tantek.com/2025/001/t3/strava-year-in-sport-how-to-get-info-save
→ 🔮
{
"type": "entry",
"published": "2025-01-02 23:54-0800",
"url": "http://tantek.com/2025/002/t1/indieweb-third-place-community",
"category": [
"indieweb",
"independence",
"IndieWeb",
"ownYourData",
"100PostsOfIndieWeb",
"100Posts"
],
"content": {
"text": "The #indieweb is more than #independence. It\u2019s also a web, of both personal sites and \u201cthird place\u201d sites like aggregators, bridges, proxies, directories, indexes, and other community sites.\n\nBroadly speaking, such \u201cthird place\u201d sites include places we collectively contribute to, and which license our contributions for free use by others. While open source projects come to mind, perhaps a more obvious example is Wikipedia.\n\nSimilarly, the most obvious \u201cthird place\u201d in the #IndieWeb community is our community site and wiki https://indieweb.org/ as well as the heterogeneous chat https://chat.indieweb.org/.\n\nWe also have many services run by individuals (or small teams) in the community, for the benefit of the community, like:\n* @snarfed.org\u2019s https://brid.gy/ and https://fed.brid.gy/\n* @aaronparecki.com\u2019s https://webmention.io/ and many others\n* @martymcgui.re\u2019s https://xn--sr8hvo.ws/ (IndieWeb Webring)\n* @gregorlove.com\u2019s https://indiebookclub.biz/\n* @mat.tl\u2019s https://libre.fm/\nand I\u2019m sure many more I\u2019m forgetting.\n\nAll these services respect your data and your ownership of it. #ownYourData\n\nAll these services are swappable. Many (most?) are open source and self-hostable in case you want to run your own personal instance or another shared instance.\n\nThe web part of the indieweb complements, connects, and strengthens the indie part.\n\nThis is post 4 of #100PostsOfIndieWeb. #100Posts\n\n\u2190 https://tantek.com/2025/001/t3/strava-year-in-sport-how-to-get-info-save\n\u2192 \ud83d\udd2e",
"html": "The #<span class=\"p-category\">indieweb</span> is more than #<span class=\"p-category\">independence</span>. It\u2019s also a web, of both personal sites and \u201cthird place\u201d sites like aggregators, bridges, proxies, directories, indexes, and other community sites.<br /><br />Broadly speaking, such \u201cthird place\u201d sites include places we collectively contribute to, and which license our contributions for free use by others. While open source projects come to mind, perhaps a more obvious example is Wikipedia.<br /><br />Similarly, the most obvious \u201cthird place\u201d in the #<span class=\"p-category\">IndieWeb</span> community is our community site and wiki <a href=\"https://indieweb.org/\">https://indieweb.org/</a> as well as the heterogeneous chat <a href=\"https://chat.indieweb.org/\">https://chat.indieweb.org/</a>.<br /><br />We also have many services run by individuals (or small teams) in the community, for the benefit of the community, like:<br />* <a href=\"https://snarfed.org\">@snarfed.org</a>\u2019s <a href=\"https://brid.gy/\">https://brid.gy/</a> and <a href=\"https://fed.brid.gy/\">https://fed.brid.gy/</a><br />* <a href=\"https://aaronparecki.com\">@aaronparecki.com</a>\u2019s <a href=\"https://webmention.io/\">https://webmention.io/</a> and many others<br />* <a href=\"https://martymcgui.re\">@martymcgui.re</a>\u2019s <a href=\"https://xn--sr8hvo.ws/\">https://xn--sr8hvo.ws/</a> (IndieWeb Webring)<br />* <a href=\"https://gregorlove.com\">@gregorlove.com</a>\u2019s <a href=\"https://indiebookclub.biz/\">https://indiebookclub.biz/</a><br />* <a href=\"https://mat.tl\">@mat.tl</a>\u2019s <a href=\"https://libre.fm/\">https://libre.fm/</a><br />and I\u2019m sure many more I\u2019m forgetting.<br /><br />All these services respect your data and your ownership of it. #<span class=\"p-category\">ownYourData</span><br /><br />All these services are swappable. Many (most?) are open source and self-hostable in case you want to run your own personal instance or another shared instance.<br /><br />The web part of the indieweb complements, connects, and strengthens the indie part.<br /><br />This is post 4 of #<span class=\"p-category\">100PostsOfIndieWeb</span>. #<span class=\"p-category\">100Posts</span><br /><br />\u2190 <a href=\"https://tantek.com/2025/001/t3/strava-year-in-sport-how-to-get-info-save\">https://tantek.com/2025/001/t3/strava-year-in-sport-how-to-get-info-save</a><br />\u2192 \ud83d\udd2e"
},
"author": {
"type": "card",
"name": "Tantek \u00c7elik",
"url": "https://tantek.com/",
"photo": "https://tantek.com/photo.jpg"
},
"post-type": "note",
"_id": "43419504",
"_source": "1",
"_is_read": false
}
In Gracefully Retiring a Website, I wrote about the maintenance of side projects, archiving websites, and making ideas more resilient.
https://didoesdigital.com/blog/gracefully-retiring-a-website/
I thought this post was going to be a quick description of a project and I ended up questioning my whole (Internet) life philosophy.
#indieweb #webdev #javascript
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://bne.social/@didoesdigital/113763206436422581",
"content": {
"html": "<p>In Gracefully Retiring a Website, I wrote about the maintenance of side projects, archiving websites, and making ideas more resilient.</p><p><a href=\"https://didoesdigital.com/blog/gracefully-retiring-a-website/\"><span>https://</span><span>didoesdigital.com/blog/gracefu</span><span>lly-retiring-a-website/</span></a></p><p>I thought this post was going to be a quick description of a project and I ended up questioning my whole (Internet) life philosophy.</p><p><a href=\"https://bne.social/tags/indieweb\">#<span>indieweb</span></a> <a href=\"https://bne.social/tags/webdev\">#<span>webdev</span></a> <a href=\"https://bne.social/tags/javascript\">#<span>javascript</span></a></p>",
"text": "In Gracefully Retiring a Website, I wrote about the maintenance of side projects, archiving websites, and making ideas more resilient.\n\nhttps://didoesdigital.com/blog/gracefully-retiring-a-website/\n\nI thought this post was going to be a quick description of a project and I ended up questioning my whole (Internet) life philosophy.\n\n#indieweb #webdev #javascript"
},
"published": "2025-01-03T07:19:30+00:00",
"post-type": "note",
"_id": "43418747",
"_source": "8007",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://caneandable.social/@WeirdWriter/113762980350092370",
"content": {
"html": "<p>Anti-tech and alternative media. <a href=\"https://robertkingett.com/posts/6682/\"><span>https://</span><span>robertkingett.com/posts/6682/</span><span></span></a> <a href=\"https://caneandable.social/tags/Blog\">#<span>Blog</span></a> <a href=\"https://caneandable.social/tags/Blogs\">#<span>Blogs</span></a> <a href=\"https://caneandable.social/tags/Blogging\">#<span>Blogging</span></a> <a href=\"https://caneandable.social/tags/IndieWeb\">#<span>IndieWeb</span></a> <a href=\"https://caneandable.social/tags/NoPaywall\">#<span>NoPaywall</span></a></p>",
"text": "Anti-tech and alternative media. https://robertkingett.com/posts/6682/ #Blog #Blogs #Blogging #IndieWeb #NoPaywall"
},
"published": "2025-01-03T06:22:00+00:00",
"post-type": "note",
"_id": "43418478",
"_source": "8007",
"_is_read": false
}
Great conversation at today's #FrontEnd Study Hall event. We took collective notes in etherpad today. It can't encompass everything, but it was a terrific first #IndieWeb event of the year. https://indieweb.org/events/2025-01-02-front-end-study-hall
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://xoxo.zone/@artlung/113762659619197281",
"content": {
"html": "<p>Great conversation at today's <a href=\"https://xoxo.zone/tags/FrontEnd\">#<span>FrontEnd</span></a> Study Hall event. We took collective notes in etherpad today. It can't encompass everything, but it was a terrific first <a href=\"https://xoxo.zone/tags/IndieWeb\">#<span>IndieWeb</span></a> event of the year. <a href=\"https://indieweb.org/events/2025-01-02-front-end-study-hall\"><span>https://</span><span>indieweb.org/events/2025-01-02</span><span>-front-end-study-hall</span></a></p>",
"text": "Great conversation at today's #FrontEnd Study Hall event. We took collective notes in etherpad today. It can't encompass everything, but it was a terrific first #IndieWeb event of the year. https://indieweb.org/events/2025-01-02-front-end-study-hall"
},
"published": "2025-01-03T05:00:26+00:00",
"post-type": "note",
"_id": "43418200",
"_source": "8007",
"_is_read": false
}
New year, new personal website? (Or update your existing site?) Join us for a virtual IndieWeb meetup, Homebrew Website Club, January 8th at 6PM Pacific!
{
"type": "entry",
"published": "2025-01-02 17:30-0800",
"url": "https://gregorlove.com/2025/01/new-year-new-personal/",
"category": [
"indieweb",
"newwwyear"
],
"syndication": [
"https://bsky.app/profile/gregorlove.com/post/3lesh6uyw6i2i"
],
"content": {
"text": "New year, new personal website? (Or update your existing site?) Join us for a virtual IndieWeb meetup, Homebrew Website Club, January 8th at 6PM Pacific!",
"html": "<p>New year, new personal website? (Or update your existing site?) Join us for a virtual IndieWeb meetup, <a href=\"https://events.indieweb.org/2025/01/homebrew-website-club-pacific-V49lZfOizy1E\">Homebrew Website Club</a>, January 8th at 6PM Pacific!</p>"
},
"author": {
"type": "card",
"name": "gRegor Morrill",
"url": "https://gregorlove.com/",
"photo": "https://gregorlove.com/site/assets/files/6268/profile-2021-square.300x0.jpg"
},
"post-type": "note",
"_id": "43417892",
"_source": "95",
"_is_read": false
}
New year, new personal website? (Or update your existing site?) Join us for a virtual IndieWeb meetup, Homebrew Website Club, January 8th at 6PM Pacific!
{
"type": "entry",
"published": "2025-01-02 17:30-0800",
"url": "https://gregorlove.com/2025/01/new-year-new-personal/",
"category": [
"indieweb",
"newwwyear"
],
"syndication": [
"https://bsky.app/profile/gregorlove.com/post/3lesh6uyw6i2i"
],
"content": {
"text": "New year, new personal website? (Or update your existing site?) Join us for a virtual IndieWeb meetup, Homebrew Website Club, January 8th at 6PM Pacific!",
"html": "<p>New year, new personal website? (Or update your existing site?) Join us for a virtual IndieWeb meetup, <a href=\"https://events.indieweb.org/2025/01/homebrew-website-club-pacific-V49lZfOizy1E\">Homebrew Website Club</a>, January 8th at 6PM Pacific!</p>"
},
"author": {
"type": "card",
"name": "gRegor Morrill",
"url": "https://gregorlove.com/",
"photo": "https://gregorlove.com/site/assets/files/6268/profile-2021-square.300x0.jpg"
},
"post-type": "note",
"_id": "43417893",
"_source": "179",
"_is_read": false
}
New year, new personal website? (Or update your existing site?) Join us for a virtual IndieWeb meetup, Homebrew Website Club, January 8th at 6PM Pacific!
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://fed.brid.gy/r/https://gregorlove.com/2025/01/new-year-new-personal/",
"content": {
"html": "<p>New year, new personal website? (Or update your existing site?) Join us for a virtual IndieWeb meetup, <a href=\"https://events.indieweb.org/2025/01/homebrew-website-club-pacific-V49lZfOizy1E\">Homebrew Website Club</a>, January 8th at 6PM Pacific!</p>",
"text": "New year, new personal website? (Or update your existing site?) Join us for a virtual IndieWeb meetup, Homebrew Website Club, January 8th at 6PM Pacific!"
},
"published": "2025-01-03T01:30:00+00:00",
"post-type": "note",
"_id": "43417046",
"_source": "8007",
"_is_read": false
}
@FRYTG
There's a whole world of #SmallWeb and #indieweb stuff!
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://mastodon.social/@jelloeater/113760889841679523",
"content": {
"html": "<p><span class=\"h-card\"><a class=\"u-url\" href=\"https://beoriginal.social/@FRYTG\">@<span>FRYTG</span></a></span> <br />There's a whole world of <a href=\"https://mastodon.social/tags/SmallWeb\">#<span>SmallWeb</span></a> and <a href=\"https://mastodon.social/tags/indieweb\">#<span>indieweb</span></a> stuff!</p>\n<a class=\"u-mention\" href=\"https://beoriginal.social/@FRYTG\"></a>",
"text": "@FRYTG \nThere's a whole world of #SmallWeb and #indieweb stuff!"
},
"published": "2025-01-02T21:30:21+00:00",
"post-type": "note",
"_id": "43415379",
"_source": "8007",
"_is_read": false
}
currently implementing webmentions into my site!
#indieweb
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://indieweb.social/@confusedalex/113760827959181115",
"content": {
"html": "<p>currently implementing webmentions into my site!<br /><a href=\"https://indieweb.social/tags/indieweb\">#<span>indieweb</span></a></p>",
"text": "currently implementing webmentions into my site!\n#indieweb"
},
"published": "2025-01-02T21:14:37+00:00",
"post-type": "note",
"_id": "43415380",
"_source": "8007",
"_is_read": false
}
I suppose an #introduction is in order!
I'm erin, a front-end web developer (to steal from based out of Portland, OR. I'm not actually new to fedi, but I wanted a professional account separate from my personal one. So this will be the place where I talk about the web! Web standards, CSS, JavaScript, microformats, indieweb stuff, software engineering in general... the list goes on.
Most of my time has been spent in the React and Vue world on the front-end and the Ruby and PHP world on the back-end. I learned HTML in the late 1900s and have been making little web pages ever since.
Some hashtags to make this searchable:
#html #css #javascript #FrontEnd #WebDev #IndieWeb #React #VueJS #microformats #ruby #php #linux #vim #neovim
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://hachyderm.io/@erincochran/113760642774610225",
"content": {
"html": "<p>I suppose an <a href=\"https://hachyderm.io/tags/introduction\">#<span>introduction</span></a> is in order!</p><p>I'm erin, a front-end web developer (to steal from based out of Portland, OR. I'm not actually new to fedi, but I wanted a professional account separate from my personal one. So this will be the place where I talk about the web! Web standards, CSS, JavaScript, microformats, indieweb stuff, software engineering in general... the list goes on.</p><p>Most of my time has been spent in the React and Vue world on the front-end and the Ruby and PHP world on the back-end. I learned HTML in the late 1900s and have been making little web pages ever since.</p><p>Some hashtags to make this searchable:</p><p><a href=\"https://hachyderm.io/tags/html\">#<span>html</span></a> <a href=\"https://hachyderm.io/tags/css\">#<span>css</span></a> <a href=\"https://hachyderm.io/tags/javascript\">#<span>javascript</span></a> <a href=\"https://hachyderm.io/tags/FrontEnd\">#<span>FrontEnd</span></a> <a href=\"https://hachyderm.io/tags/WebDev\">#<span>WebDev</span></a> <a href=\"https://hachyderm.io/tags/IndieWeb\">#<span>IndieWeb</span></a> <a href=\"https://hachyderm.io/tags/React\">#<span>React</span></a> <a href=\"https://hachyderm.io/tags/VueJS\">#<span>VueJS</span></a> <a href=\"https://hachyderm.io/tags/microformats\">#<span>microformats</span></a> <a href=\"https://hachyderm.io/tags/ruby\">#<span>ruby</span></a> <a href=\"https://hachyderm.io/tags/php\">#<span>php</span></a> <a href=\"https://hachyderm.io/tags/linux\">#<span>linux</span></a> <a href=\"https://hachyderm.io/tags/vim\">#<span>vim</span></a> <a href=\"https://hachyderm.io/tags/neovim\">#<span>neovim</span></a></p>",
"text": "I suppose an #introduction is in order!\n\nI'm erin, a front-end web developer (to steal from based out of Portland, OR. I'm not actually new to fedi, but I wanted a professional account separate from my personal one. So this will be the place where I talk about the web! Web standards, CSS, JavaScript, microformats, indieweb stuff, software engineering in general... the list goes on.\n\nMost of my time has been spent in the React and Vue world on the front-end and the Ruby and PHP world on the back-end. I learned HTML in the late 1900s and have been making little web pages ever since.\n\nSome hashtags to make this searchable:\n\n#html #css #javascript #FrontEnd #WebDev #IndieWeb #React #VueJS #microformats #ruby #php #linux #vim #neovim"
},
"published": "2025-01-02T20:27:31+00:00",
"post-type": "note",
"_id": "43414951",
"_source": "8007",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://dmv.community/@jcrabapple/113760591661491384",
"content": {
"html": "<p>Album Openers</p><p><a href=\"https://blog.shrediverse.net/posts/album-openers\"><span>https://</span><span>blog.shrediverse.net/posts/alb</span><span>um-openers</span></a></p><p><a href=\"https://dmv.community/tags/music\">#<span>music</span></a> <a href=\"https://dmv.community/tags/indieweb\">#<span>indieweb</span></a> <a href=\"https://dmv.community/tags/smallweb\">#<span>smallweb</span></a></p>",
"text": "Album Openers\n\nhttps://blog.shrediverse.net/posts/album-openers\n\n#music #indieweb #smallweb"
},
"published": "2025-01-02T20:14:31+00:00",
"post-type": "note",
"_id": "43414952",
"_source": "8007",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://mstdn.social/@the_cheis/113760214972286705",
"content": {
"html": "<p>Nuevo post:</p><p>Windhand (2012), de Windhand</p><p><a href=\"https://mstdn.social/tags/musica\">#<span>musica</span></a> <a href=\"https://mstdn.social/tags/doom\">#<span>doom</span></a> <a href=\"https://mstdn.social/tags/stoner\">#<span>stoner</span></a> <a href=\"https://mstdn.social/tags/metal\">#<span>metal</span></a> <a href=\"https://mstdn.social/tags/rock\">#<span>rock</span></a> <a href=\"https://mstdn.social/tags/indieweb\">#<span>indieweb</span></a> <a href=\"https://mstdn.social/tags/blog\">#<span>blog</span></a> <a href=\"https://mstdn.social/tags/enmiblog\">#<span>enmiblog</span></a></p><p><a href=\"https://thecheis.com/2025/01/02/windhand-2012-de-windhand/\"><span>https://</span><span>thecheis.com/2025/01/02/windha</span><span>nd-2012-de-windhand/</span></a></p>",
"text": "Nuevo post:\n\nWindhand (2012), de Windhand\n\n#musica #doom #stoner #metal #rock #indieweb #blog #enmiblog\n\nhttps://thecheis.com/2025/01/02/windhand-2012-de-windhand/"
},
"published": "2025-01-02T18:38:43+00:00",
"post-type": "note",
"_id": "43413960",
"_source": "8007",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://xoxo.zone/@artlung/113759779859007390",
"content": {
"html": "<p><span class=\"h-card\"><a class=\"u-url\" href=\"https://aaronparecki.com/aaronpk\">@<span>aaronpk</span></a></span> <span class=\"h-card\"><a class=\"u-url\" href=\"https://social.mkj.earth/@mkj\">@<span>mkj</span></a></span> <a href=\"https://xoxo.zone/tags/IndieWeb\">#<span>IndieWeb</span></a> </p><p><a href=\"https://indieweb.social/@vhbelvadi/113750022447319462\"><span>https://</span><span>indieweb.social/@vhbelvadi/113</span><span>750022447319462</span></a></p>\n<a class=\"u-mention\" href=\"https://aaronparecki.com/aaronpk\"></a>\n<a class=\"u-mention\" href=\"https://social.mkj.earth/@mkj\"></a>",
"text": "@aaronpk @mkj #IndieWeb \n\nhttps://indieweb.social/@vhbelvadi/113750022447319462"
},
"published": "2025-01-02T16:48:04+00:00",
"post-type": "note",
"_id": "43412883",
"_source": "8007",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://dmv.community/@jcrabapple/113759744944169185",
"content": {
"html": "<p>A couple great <a href=\"https://dmv.community/tags/indieweb\">#<span>indieweb</span></a> blogs I found today!</p><p><a href=\"https://sylvia.bearblog.dev/\"><span>https://</span><span>sylvia.bearblog.dev/</span><span></span></a></p><p><a href=\"https://blog.avas.space/\"><span>https://</span><span>blog.avas.space/</span><span></span></a></p>",
"text": "A couple great #indieweb blogs I found today!\n\nhttps://sylvia.bearblog.dev/\n\nhttps://blog.avas.space/"
},
"published": "2025-01-02T16:39:11+00:00",
"post-type": "note",
"_id": "43412884",
"_source": "8007",
"_is_read": false
}
Had a fight with the Content-Security-Policy
header today. Turns out, I won, but not without sacrifices.
Apparently I can't just insert <style> tags into my posts anymore, because otherwise I'd have to somehow either put nonces on them, or hash their content (which would be more preferrable, because that way it remains static).
I could probably do the latter by rewriting HTML at publish-time, but I'd need to hook into my Markdown parser and process HTML for that, and, well, that's really complicated, isn't it? (It probably is no harder than searching for Webmention links, and I'm overthinking it.)
{
"type": "entry",
"published": "2025-01-02T14:29:59.011918398+03:00",
"url": "https://fireburn.ru/posts/cCGXeiX",
"category": [
"Kittybox",
"security",
"webdev"
],
"content": {
"text": "Had a fight with the Content-Security-Policy header today. Turns out, I won, but not without sacrifices.\nApparently I can't just insert <style> tags into my posts anymore, because otherwise I'd have to somehow either put nonces on them, or hash their content (which would be more preferrable, because that way it remains static).\nI could probably do the latter by rewriting HTML at publish-time, but I'd need to hook into my Markdown parser and process HTML for that, and, well, that's really complicated, isn't it? (It probably is no harder than searching for Webmention links, and I'm overthinking it.)",
"html": "<p>Had a fight with the <code>Content-Security-Policy</code> header today. Turns out, I won, but not without sacrifices.</p>\n<p>Apparently I can't just insert <style> tags into my posts anymore, because otherwise I'd have to somehow either put nonces on them, or hash their content (which would be more preferrable, because that way it remains static).</p>\n<p>I could probably do the latter by rewriting HTML at publish-time, but I'd need to hook into my Markdown parser and process HTML for that, and, well, that's really complicated, isn't it? (It probably is no harder than searching for Webmention links, and I'm overthinking it.)</p>"
},
"author": {
"type": "card",
"name": "Vika",
"url": "https://fireburn.ru/",
"photo": "https://fireburn.ru/.kittybox/media/uploads/fe/ad/f8/76/e94e284444605135ad468b1563070dac3d2ad642c366b1e180f6eb65"
},
"post-type": "note",
"_id": "43412390",
"_source": "1371",
"_is_read": false
}
{
"type": "entry",
"published": "2025-01-02T15:51:00+01:00",
"url": "https://www.jeremycherfas.net/blog/listen-to-what",
"in-reply-to": [
"https://tracydurnell.com/2024/12/31/listening-without-a-streaming-subscription/"
],
"name": "Listen to What",
"content": {
"text": "This is a bit embarassing. For I think the first time, I gave this post the same title as a previous post, which I realised only because that post had received webmentions that displayed on this place. The only solution is to retitle this post and reshare it. And ensure I test first ...\n\nI very much enjoyed Tracy Durnell's long post about listening without a streaming subscription, part of a series on wanting, or perhaps needing, less. It mirrors, at least partially, my own experiences of music in the past few years; having first reduced friction I now find that, in order to be more intentional, I need to reduce friction all over again\n\n\t\t\t There\u2019s more \u27a2",
"html": "<p>This is a bit embarassing. For I think the first time, I gave this post the same title as <a href=\"https://www.jeremycherfas.net/blog/listen-to-this\">a previous post</a>, which I realised only because that post had received webmentions that displayed on this place. The only solution is to retitle this post and reshare it. And ensure I test first ...</p>\n\n<p>I very much enjoyed Tracy Durnell's long post about <a class=\"u-in-reply-to\" href=\"https://tracydurnell.com/2024/12/31/listening-without-a-streaming-subscription/\">listening without a streaming subscription</a>, part of a series on wanting, or perhaps needing, less. It mirrors, at least partially, my own experiences of music in the past few years; having first reduced friction I now find that, in order to be more intentional, I need to reduce friction all over again</p>\n\n\t\t\t <span style=\"float:right;font-size:smaller;\"><a href=\"https://www.jeremycherfas.net/blog/listen-to-what\">There\u2019s more \u27a2</a></span>"
},
"author": {
"type": "card",
"name": "Jeremy Cherfas",
"url": "https://jeremycherfas.net",
"photo": "https://www.jeremycherfas.net/user/themes/tailwind/images/zoot.jpg"
},
"post-type": "reply",
"_id": "43411820",
"_source": "202",
"_is_read": false
}
Is it just me, or is there a certain irony to the fact that this month's indieweb carnival subject is "the importance of friction" and the link to that from the wiki page returns a 404 not found error?
#IndieWeb #IndieWebCarnival
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://social.mkj.earth/@mkj/113759265465875771",
"content": {
"html": "<p>Is it just me, or is there a certain irony to the fact that this month's indieweb carnival subject is \"the importance of friction\" and the link to that from the wiki page returns a 404 not found error?</p><p><a href=\"https://social.mkj.earth/tags/IndieWeb\">#<span>IndieWeb</span></a> <a href=\"https://social.mkj.earth/tags/IndieWebCarnival\">#<span>IndieWebCarnival</span></a></p>",
"text": "Is it just me, or is there a certain irony to the fact that this month's indieweb carnival subject is \"the importance of friction\" and the link to that from the wiki page returns a 404 not found error?\n\n#IndieWeb #IndieWebCarnival"
},
"published": "2025-01-02T14:37:15+00:00",
"post-type": "note",
"_id": "43411708",
"_source": "8007",
"_is_read": false
}
I used #CloudflareWorkers to add missing features to an existing website without touching the CMS. In this case, CMS doesn't generate an RSS feed and doesn't have any way how to add a link to RSS into the head for auto-discovery. #indieweb https://www.rarous.net/weblog/2025/01/02/rozsirovani-funkcionality-existujicich-webu-pomoci-cloudflare-workers
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://indieweb.social/@alesroubicek/113759139772100764",
"content": {
"html": "<p>I used <a href=\"https://indieweb.social/tags/CloudflareWorkers\">#<span>CloudflareWorkers</span></a> to add missing features to an existing website without touching the CMS. In this case, CMS doesn't generate an RSS feed and doesn't have any way how to add a link to RSS into the head for auto-discovery. <a href=\"https://indieweb.social/tags/indieweb\">#<span>indieweb</span></a> <a href=\"https://www.rarous.net/weblog/2025/01/02/rozsirovani-funkcionality-existujicich-webu-pomoci-cloudflare-workers\"><span>https://www.</span><span>rarous.net/weblog/2025/01/02/r</span><span>ozsirovani-funkcionality-existujicich-webu-pomoci-cloudflare-workers</span></a></p>",
"text": "I used #CloudflareWorkers to add missing features to an existing website without touching the CMS. In this case, CMS doesn't generate an RSS feed and doesn't have any way how to add a link to RSS into the head for auto-discovery. #indieweb https://www.rarous.net/weblog/2025/01/02/rozsirovani-funkcionality-existujicich-webu-pomoci-cloudflare-workers"
},
"published": "2025-01-02T14:05:17+00:00",
"post-type": "note",
"_id": "43411709",
"_source": "8007",
"_is_read": false
}
When we say #ownYourData we mean whatever data is important to you, like the data services aggregate about you and present back to you. Owning that data means extracting it into a form you can hang onto regardless of what the service does in the future (or disappears), and publishing whatever aspects of it you wish to, on your personal #indieweb site.
Speaking of year in reviews¹ and #Strava Year in Sport in particular, here are my brief notes for how to get the info from it (before it disappears after the 6th!²) and save it locally so you can write and publish your own year in sport.
How to find your Strava: Year in Sport 2024
For 2024, the Strava Year in Sport 2024 is only available on the native mobile app (iOS and presumably Android) and not accessible via the website. Prior years which were available on the website e.g. 2018(.)strava(.)com and 2017(.)strava(.)com are long gone.
From the mobile app home screen, tap the "📋 You" button in the lower right corner.
At the top you should see:
"Play back your 2024" heading with an orange button:
[ See your Year in Sport ]
Tap that button.
Saving Seven Summary Segments
You should immediately see an animation start playing, with seven "segments" (like Instagram stories) at the top, gradually filling-in as progress indicators one at a time.
For each "segment" if you press the screenshot combination of buttons on your mobile (e.g. volume-up + power on iPhone 14), in addition to taking a screenshot it will put you in a "share" screen with one or more videos or still images to share in a carousel format.
For each item in the carousel (if there is more than one)
* tap the item in the carousel
* tap the "[↑] More" button at the bottom.
* scroll down the list of options up a bit
* tap "Save Video [↓]" or "Save Image [↓]" option to store it locally on your mobile.
The seventh "segment" is your overall summary, and shows all your sports combined.
Save it (as an image as noted above), then
* tap the "✏️ Customize" button
* choose an individual sport (e.g. "👟 Run")
* tap "Save changes"
* save that image (as above)
* tap customize again
* choose the next sport (e.g. "🚲 Ride")
* save changes again
* save image again
Strava seemingly only reports summaries of (up to?) two or your sports it appears. Those were Run (presumably all running, street and trail) and Ride for me.
Cleanup Your Screenshots
After having saved all the videos/images for each "segment", you can:
* go back to your mobile’s top level Photos app/stream
* delete the screenshots
You should see all the videos/images you've saved. If anything is missing, go back to the previous steps and save them again, then remove any duplicates as necessary.
Post Your Year In Sport
Go through your saved videos/images, and either post on your own site as-is, or use your mobile’s built-in image OCR to copy the text bits into a plain personal year in sport note summary post on your own site. Or some combination of both if you prefer.
Add other summaries of your activities and sports as you see fit, like:
* info on other sports (beyond running and biking), e.g. yoga, weight-lifting, bouldering etc.
* total days active (of 366)
* total distance (if applicable)
* total elevation (if applicable)
* total time
* number of races you ran, biked etc. (and finished, if not the same)
* number of miles (or km) you raced (per sport and/or total overall)
* number of (or full set of) awards or trophies you earned at races
* any other stats that you think of that seem interesting to you
For each of these annual numbers, you could also compute (optionally display) the percentage change from 2023, if you happen to have those numbers around.
This is also a good reason to at least total up these numbers for 2024, whether you publish them or not, for figuring out the percentage change in 2025 next year.
When you publish your own year in sport post, might as well re-use the existing #YearInSport hashtag too.
I have already saved all the videos/images from my own Strava Year In Sport, and as I assemble the pieces into my own post, I’ll take more notes, and add to the IndieWeb year in review page³ accordingly.
This post could also be improved with a few screenshots for a few of the steps above. I figured I’d publish my notes first to hopefully help some people sooner (since the Strava Year In Sport will disappear after January 6th as mentioned!). I might upload a few screenshots to the IndieWeb wiki later as well.
#yearInReview #ownYourYearInReview
This is post 3 of #100PostsOfIndieWeb. #100Posts
← https://tantek.com/2025/001/t2/first-new-year-review-prior
→ 🔮
Glossary:
hashtag
https://indieweb.org/hashtag
own your data
https://indieweb.org/own_your_data
¹ https://tantek.com/2025/001/t2/first-new-year-review-prior
² https://support.strava.com/hc/en-us/articles/22067973274509-Your-Year-in-Sport#h_01HH5VW132BPDTEZJZDHBGJ6KM
³ https://indieweb.org/year_in_review
{
"type": "entry",
"published": "2025-01-01 17:04-0800",
"url": "http://tantek.com/2025/001/t3/strava-year-in-sport-how-to-get-info-save",
"category": [
"ownYourData",
"indieweb",
"Strava",
"YearInSport",
"yearInReview",
"ownYourYearInReview",
"100PostsOfIndieWeb",
"100Posts"
],
"content": {
"text": "When we say #ownYourData we mean whatever data is important to you, like the data services aggregate about you and present back to you. Owning that data means extracting it into a form you can hang onto regardless of what the service does in the future (or disappears), and publishing whatever aspects of it you wish to, on your personal #indieweb site.\n\nSpeaking of year in reviews\u00b9 and #Strava Year in Sport in particular, here are my brief notes for how to get the info from it (before it disappears after the 6th!\u00b2) and save it locally so you can write and publish your own year in sport.\n\n\nHow to find your Strava: Year in Sport 2024 \n\nFor 2024, the Strava Year in Sport 2024 is only available on the native mobile app (iOS and presumably Android) and not accessible via the website. Prior years which were available on the website e.g. 2018(.)strava(.)com and 2017(.)strava(.)com are long gone.\n\nFrom the mobile app home screen, tap the \"\ud83d\udccb You\" button in the lower right corner.\n\nAt the top you should see:\n\n\"Play back your 2024\" heading with an orange button:\n\n[ See your Year in Sport ]\n\nTap that button.\n\n\nSaving Seven Summary Segments\n\nYou should immediately see an animation start playing, with seven \"segments\" (like Instagram stories) at the top, gradually filling-in as progress indicators one at a time. \n\nFor each \"segment\" if you press the screenshot combination of buttons on your mobile (e.g. volume-up + power on iPhone 14), in addition to taking a screenshot it will put you in a \"share\" screen with one or more videos or still images to share in a carousel format. \n\nFor each item in the carousel (if there is more than one)\n* tap the item in the carousel\n* tap the \"[\u2191] More\" button at the bottom.\n* scroll down the list of options up a bit\n* tap \"Save Video [\u2193]\" or \"Save Image [\u2193]\" option to store it locally on your mobile.\n\nThe seventh \"segment\" is your overall summary, and shows all your sports combined.\n\nSave it (as an image as noted above), then\n* tap the \"\u270f\ufe0f \u00a0Customize\" button\n* choose an individual sport (e.g. \"\ud83d\udc5f Run\")\n* tap \"Save changes\"\n* save that image (as above)\n* tap customize again\n* choose the next sport (e.g. \"\ud83d\udeb2 \u00a0Ride\")\n* save changes again\n* save image again\n\nStrava seemingly only reports summaries of (up to?) two or your sports it appears. Those were Run (presumably all running, street and trail) and Ride for me.\n\n\nCleanup Your Screenshots\n\nAfter having saved all the videos/images for each \"segment\", you can:\n* go back to your mobile\u2019s top level Photos app/stream\n* delete the screenshots\n\nYou should see all the videos/images you've saved. If anything is missing, go back to the previous steps and save them again, then remove any duplicates as necessary.\n\n\nPost Your Year In Sport\n\nGo through your saved videos/images, and either post on your own site as-is, or use your mobile\u2019s built-in image OCR to copy the text bits into a plain personal year in sport note summary post on your own site. Or some combination of both if you prefer.\n\nAdd other summaries of your activities and sports as you see fit, like:\n* info on other sports (beyond running and biking), e.g. yoga, weight-lifting, bouldering etc.\n\u00a0 * total days active (of 366)\n\u00a0 * total distance (if applicable)\n\u00a0 * total elevation (if applicable)\n\u00a0 * total time\n* number of races you ran, biked etc. (and finished, if not the same)\n* number of miles (or km) you raced (per sport and/or total overall)\n* number of (or full set of) awards or trophies you earned at races\n* any other stats that you think of that seem interesting to you\n\nFor each of these annual numbers, you could also compute (optionally display) the percentage change from 2023, if you happen to have those numbers around.\n\nThis is also a good reason to at least total up these numbers for 2024, whether you publish them or not, for figuring out the percentage change in 2025 next year.\n\nWhen you publish your own year in sport post, might as well re-use the existing #YearInSport hashtag too.\n\nI have already saved all the videos/images from my own Strava Year In Sport, and as I assemble the pieces into my own post, I\u2019ll take more notes, and add to the IndieWeb year in review page\u00b3 accordingly.\n\nThis post could also be improved with a few screenshots for a few of the steps above. I figured I\u2019d publish my notes first to hopefully help some people sooner (since the Strava Year In Sport will disappear after January 6th as mentioned!). I might upload a few screenshots to the IndieWeb wiki later as well.\n\n#yearInReview #ownYourYearInReview\n\nThis is post 3 of #100PostsOfIndieWeb. #100Posts\n\n\u2190 https://tantek.com/2025/001/t2/first-new-year-review-prior\n\u2192 \ud83d\udd2e\n\n\nGlossary: \n\nhashtag\n\u00a0 https://indieweb.org/hashtag\nown your data\n\u00a0 https://indieweb.org/own_your_data\n\n\n\u00b9 https://tantek.com/2025/001/t2/first-new-year-review-prior\n\u00b2 https://support.strava.com/hc/en-us/articles/22067973274509-Your-Year-in-Sport#h_01HH5VW132BPDTEZJZDHBGJ6KM\n\u00b3 https://indieweb.org/year_in_review",
"html": "When we say #<span class=\"p-category\">ownYourData</span> we mean whatever data is important to you, like the data services aggregate about you and present back to you. Owning that data means extracting it into a form you can hang onto regardless of what the service does in the future (or disappears), and publishing whatever aspects of it you wish to, on your personal #<span class=\"p-category\">indieweb</span> site.<br /><br />Speaking of year in reviews<a href=\"http://tantek.com/#t5_p3_note-1\">\u00b9</a> and #<span class=\"p-category\">Strava</span> Year in Sport in particular, here are my brief notes for how to get the info from it (before it disappears after the 6th!<a href=\"http://tantek.com/#t5_p3_note-2\">\u00b2</a>) and save it locally so you can write and publish your own year in sport.<br /><br /><br />How to find your Strava: Year in Sport 2024 <br /><br />For 2024, the Strava Year in Sport 2024 is only available on the native mobile app (iOS and presumably Android) and not accessible via the website. Prior years which were available on the website e.g. 2018(.)strava(.)com and 2017(.)strava(.)com are long gone.<br /><br />From the mobile app home screen, tap the \"\ud83d\udccb You\" button in the lower right corner.<br /><br />At the top you should see:<br /><br />\"Play back your 2024\" heading with an orange button:<br /><br />[ See your Year in Sport ]<br /><br />Tap that button.<br /><br /><br />Saving Seven Summary Segments<br /><br />You should immediately see an animation start playing, with seven \"segments\" (like Instagram stories) at the top, gradually filling-in as progress indicators one at a time. <br /><br />For each \"segment\" if you press the screenshot combination of buttons on your mobile (e.g. volume-up + power on iPhone 14), in addition to taking a screenshot it will put you in a \"share\" screen with one or more videos or still images to share in a carousel format. <br /><br />For each item in the carousel (if there is more than one)<br />* tap the item in the carousel<br />* tap the \"[\u2191] More\" button at the bottom.<br />* scroll down the list of options up a bit<br />* tap \"Save Video [\u2193]\" or \"Save Image [\u2193]\" option to store it locally on your mobile.<br /><br />The seventh \"segment\" is your overall summary, and shows all your sports combined.<br /><br />Save it (as an image as noted above), then<br />* tap the \"\u270f\ufe0f \u00a0Customize\" button<br />* choose an individual sport (e.g. \"\ud83d\udc5f Run\")<br />* tap \"Save changes\"<br />* save that image (as above)<br />* tap customize again<br />* choose the next sport (e.g. \"\ud83d\udeb2 \u00a0Ride\")<br />* save changes again<br />* save image again<br /><br />Strava seemingly only reports summaries of (up to?) two or your sports it appears. Those were Run (presumably all running, street and trail) and Ride for me.<br /><br /><br />Cleanup Your Screenshots<br /><br />After having saved all the videos/images for each \"segment\", you can:<br />* go back to your mobile\u2019s top level Photos app/stream<br />* delete the screenshots<br /><br />You should see all the videos/images you've saved. If anything is missing, go back to the previous steps and save them again, then remove any duplicates as necessary.<br /><br /><br />Post Your Year In Sport<br /><br />Go through your saved videos/images, and either post on your own site as-is, or use your mobile\u2019s built-in image OCR to copy the text bits into a plain personal year in sport note summary post on your own site. Or some combination of both if you prefer.<br /><br />Add other summaries of your activities and sports as you see fit, like:<br />* info on other sports (beyond running and biking), e.g. yoga, weight-lifting, bouldering etc.<br />\u00a0 * total days active (of 366)<br />\u00a0 * total distance (if applicable)<br />\u00a0 * total elevation (if applicable)<br />\u00a0 * total time<br />* number of races you ran, biked etc. (and finished, if not the same)<br />* number of miles (or km) you raced (per sport and/or total overall)<br />* number of (or full set of) awards or trophies you earned at races<br />* any other stats that you think of that seem interesting to you<br /><br />For each of these annual numbers, you could also compute (optionally display) the percentage change from 2023, if you happen to have those numbers around.<br /><br />This is also a good reason to at least total up these numbers for 2024, whether you publish them or not, for figuring out the percentage change in 2025 next year.<br /><br />When you publish your own year in sport post, might as well re-use the existing #<span class=\"p-category\">YearInSport</span> hashtag too.<br /><br />I have already saved all the videos/images from my own Strava Year In Sport, and as I assemble the pieces into my own post, I\u2019ll take more notes, and add to the IndieWeb year in review page<a href=\"http://tantek.com/#t5_p3_note-3\">\u00b3</a> accordingly.<br /><br />This post could also be improved with a few screenshots for a few of the steps above. I figured I\u2019d publish my notes first to hopefully help some people sooner (since the Strava Year In Sport will disappear after January 6th as mentioned!). I might upload a few screenshots to the IndieWeb wiki later as well.<br /><br />#<span class=\"p-category\">yearInReview</span> #<span class=\"p-category\">ownYourYearInReview</span><br /><br />This is post 3 of #<span class=\"p-category\">100PostsOfIndieWeb</span>. #<span class=\"p-category\">100Posts</span><br /><br />\u2190 <a href=\"https://tantek.com/2025/001/t2/first-new-year-review-prior\">https://tantek.com/2025/001/t2/first-new-year-review-prior</a><br />\u2192 \ud83d\udd2e<br /><br /><br />Glossary: <br /><br />hashtag<br />\u00a0 <a href=\"https://indieweb.org/hashtag\">https://indieweb.org/hashtag</a><br />own your data<br />\u00a0 <a href=\"https://indieweb.org/own_your_data\">https://indieweb.org/own_your_data</a><br /><br /><br /><a href=\"http://tantek.com/#t5_p3_ref-1\">\u00b9</a> <a href=\"https://tantek.com/2025/001/t2/first-new-year-review-prior\">https://tantek.com/2025/001/t2/first-new-year-review-prior</a><br /><a href=\"http://tantek.com/#t5_p3_ref-2\">\u00b2</a> <a href=\"https://support.strava.com/hc/en-us/articles/22067973274509-Your-Year-in-Sport#h_01HH5VW132BPDTEZJZDHBGJ6KM\">https://support.strava.com/hc/en-us/articles/22067973274509-Your-Year-in-Sport#h_01HH5VW132BPDTEZJZDHBGJ6KM</a><br /><a href=\"http://tantek.com/#t5_p3_ref-3\">\u00b3</a> <a href=\"https://indieweb.org/year_in_review\">https://indieweb.org/year_in_review</a>"
},
"author": {
"type": "card",
"name": "Tantek \u00c7elik",
"url": "https://tantek.com/",
"photo": "https://tantek.com/photo.jpg"
},
"post-type": "note",
"_id": "43407402",
"_source": "1",
"_is_read": false
}