I need to add a blog roll to my blog, I think. Part of the whole vibe of returning to self managing web presence, both to show what/who my thoughts are in conversation with and as a resource for myself.
Anyone have a nice format they’ve seen lately? I’m using #11ty to generate a static site, so I have a lot of flexibility. I’m looking for aesthetic/design suggestions. I can sort out the code.
#eleventy #IndieWeb #blogging
{
"type": "entry",
"author": {
"name": "@dys_morphia",
"url": "https://sfba.social/@dys_morphia",
"photo": null
},
"url": "https://sfba.social/@dys_morphia/111070341026275790",
"content": {
"html": "<p>I need to add a blog roll to my blog, I think. Part of the whole vibe of returning to self managing web presence, both to show what/who my thoughts are in conversation with and as a resource for myself. </p><p>Anyone have a nice format they\u2019ve seen lately? I\u2019m using <a href=\"https://sfba.social/tags/11ty\">#<span>11ty</span></a> to generate a static site, so I have a lot of flexibility. I\u2019m looking for aesthetic/design suggestions. I can sort out the code. </p><p><a href=\"https://sfba.social/tags/eleventy\">#<span>eleventy</span></a> <a href=\"https://sfba.social/tags/IndieWeb\">#<span>IndieWeb</span></a> <a href=\"https://sfba.social/tags/blogging\">#<span>blogging</span></a></p>",
"text": "I need to add a blog roll to my blog, I think. Part of the whole vibe of returning to self managing web presence, both to show what/who my thoughts are in conversation with and as a resource for myself. Anyone have a nice format they\u2019ve seen lately? I\u2019m using #11ty to generate a static site, so I have a lot of flexibility. I\u2019m looking for aesthetic/design suggestions. I can sort out the code. #eleventy #IndieWeb #blogging"
},
"published": "2023-09-15T17:28:24+00:00",
"post-type": "note",
"_id": "38923463",
"_source": "7235",
"_is_read": false
}
{
"type": "entry",
"published": "2023-09-15T14:43:17+00:00",
"url": "https://werd.io/2023/wordpress-blogs-can-now-be-followed-in-the-fediverse-including",
"category": [
"Technology"
],
"bookmark-of": [
"https://techcrunch.com/2023/09/14/wordpress-blogs-can-now-be-followed-in-the-fediverse-including-mastodon/"
],
"name": "WordPress blogs can now be followed in the fediverse, including Mastodon",
"content": {
"text": "I'd prefer if this was default WordPress functionality - but the big lede is buried here. Hosted WordPress sites are getting fediverse compatibility. That's a huge deal. #Technology",
"html": "<p>I'd prefer if this was default WordPress functionality - but the big lede is buried here. Hosted WordPress sites are getting fediverse compatibility. That's a huge deal. <a href=\"https://werd.io/tag/Technology\" class=\"p-category\">#Technology</a></p>"
},
"author": {
"type": "card",
"name": "Ben Werdmuller",
"url": "https://werd.io/profile/benwerd",
"photo": "https://werd.io/file/5d388c5fb16ea14aac640912/thumb.jpg"
},
"post-type": "bookmark",
"_id": "38922213",
"_source": "191",
"_is_read": false
}
Hmm this could be a potentially useful guide for brid.gy. Whatever it is, maybe I need to flex my #TechnicalWriting skills by writing a dumb-as-a-rock guide for wordpress.com users, because that's what they need. I find tonnes of guides for static websites and WP.org, but not many for wp.com. The users for the latter are really not coders, so a guide would be very important.
#Indieweb #Blogging #Websites
https://boffosocko.com/2018/07/02/threaded-conversations-between-wordpress-and-twitter/
{
"type": "entry",
"author": {
"name": "@liztai",
"url": "https://hachyderm.io/@liztai",
"photo": null
},
"url": "https://hachyderm.io/@liztai/111069321044358458",
"content": {
"html": "<p>Hmm this could be a potentially useful guide for brid.gy. Whatever it is, maybe I need to flex my <a href=\"https://hachyderm.io/tags/TechnicalWriting\">#<span>TechnicalWriting</span></a> skills by writing a dumb-as-a-rock guide for wordpress.com users, because that's what they need. I find tonnes of guides for static websites and WP.org, but not many for wp.com. The users for the latter are really not coders, so a guide would be very important.</p><p><a href=\"https://hachyderm.io/tags/Indieweb\">#<span>Indieweb</span></a> <a href=\"https://hachyderm.io/tags/Blogging\">#<span>Blogging</span></a> <a href=\"https://hachyderm.io/tags/Websites\">#<span>Websites</span></a></p><p><a href=\"https://boffosocko.com/2018/07/02/threaded-conversations-between-wordpress-and-twitter/\"><span>https://</span><span>boffosocko.com/2018/07/02/thre</span><span>aded-conversations-between-wordpress-and-twitter/</span></a></p>",
"text": "Hmm this could be a potentially useful guide for brid.gy. Whatever it is, maybe I need to flex my #TechnicalWriting skills by writing a dumb-as-a-rock guide for wordpress.com users, because that's what they need. I find tonnes of guides for static websites and WP.org, but not many for wp.com. The users for the latter are really not coders, so a guide would be very important.#Indieweb #Blogging #Websiteshttps://boffosocko.com/2018/07/02/threaded-conversations-between-wordpress-and-twitter/"
},
"published": "2023-09-15T13:09:01+00:00",
"post-type": "note",
"_id": "38921184",
"_source": "7235",
"_is_read": false
}
Seriously, #Indieweb, is there a simple how-to page for brid.gy? It shouldn't be so hard to find 😅
#TechnicalWriting
{
"type": "entry",
"author": {
"name": "@liztai",
"url": "https://hachyderm.io/@liztai",
"photo": null
},
"url": "https://hachyderm.io/@liztai/111069095258649975",
"content": {
"html": "<p>Seriously, <a href=\"https://hachyderm.io/tags/Indieweb\">#<span>Indieweb</span></a>, is there a simple how-to page for brid.gy? It shouldn't be so hard to find \ud83d\ude05</p><p><a href=\"https://hachyderm.io/tags/TechnicalWriting\">#<span>TechnicalWriting</span></a></p>",
"text": "Seriously, #Indieweb, is there a simple how-to page for brid.gy? It shouldn't be so hard to find \ud83d\ude05#TechnicalWriting"
},
"published": "2023-09-15T12:11:35+00:00",
"post-type": "note",
"_id": "38920692",
"_source": "7235",
"_is_read": false
}
#ActivityPub est maintenant activé sur mon site https://laculturedelecran.com, vous pouvez le suivre sur posts@laculturedelecran.com ! (Bon on a rien posté depuis des lustres, mais on va relancer tout ça prochainement)
#indieWeb #fediverse
{
"type": "entry",
"author": {
"name": "@gustavI0",
"url": "https://mastodon.zaclys.com/@gustavI0",
"photo": null
},
"url": "https://mastodon.zaclys.com/@gustavI0/111068749090917773",
"content": {
"html": "<p><a href=\"https://mastodon.zaclys.com/tags/ActivityPub\">#<span>ActivityPub</span></a> est maintenant activ\u00e9 sur mon site <a href=\"https://laculturedelecran.com\"><span>https://</span><span>laculturedelecran.com</span><span></span></a>, vous pouvez le suivre sur posts@laculturedelecran.com ! (Bon on a rien post\u00e9 depuis des lustres, mais on va relancer tout \u00e7a prochainement)<br /><a href=\"https://mastodon.zaclys.com/tags/indieWeb\">#<span>indieWeb</span></a> <a href=\"https://mastodon.zaclys.com/tags/fediverse\">#<span>fediverse</span></a></p>",
"text": "#ActivityPub est maintenant activ\u00e9 sur mon site https://laculturedelecran.com, vous pouvez le suivre sur posts@laculturedelecran.com ! (Bon on a rien post\u00e9 depuis des lustres, mais on va relancer tout \u00e7a prochainement)\n#indieWeb #fediverse"
},
"published": "2023-09-15T10:43:33+00:00",
"post-type": "note",
"_id": "38920062",
"_source": "7235",
"_is_read": false
}
Well, the very lovely dev of https://boredreading.com/ emailed asking for people to promote it. It's fun, it looks great, and works well, so consider this a promotion - if you want to read some interesting stuff, give it a go
#reading #indieweb #blog #blogs
{
"type": "entry",
"author": {
"name": "@dmje",
"url": "https://mastodon.variousbits.net/@dmje",
"photo": null
},
"url": "https://mastodon.variousbits.net/@dmje/111068434014532654",
"content": {
"html": "<p>Well, the very lovely dev of <a href=\"https://boredreading.com/\"><span>https://</span><span>boredreading.com/</span><span></span></a> emailed asking for people to promote it. It's fun, it looks great, and works well, so consider this a promotion - if you want to read some interesting stuff, give it a go</p><p><a href=\"https://mastodon.variousbits.net/tags/reading\">#<span>reading</span></a> <a href=\"https://mastodon.variousbits.net/tags/indieweb\">#<span>indieweb</span></a> <a href=\"https://mastodon.variousbits.net/tags/blog\">#<span>blog</span></a> <a href=\"https://mastodon.variousbits.net/tags/blogs\">#<span>blogs</span></a></p>",
"text": "Well, the very lovely dev of https://boredreading.com/ emailed asking for people to promote it. It's fun, it looks great, and works well, so consider this a promotion - if you want to read some interesting stuff, give it a go#reading #indieweb #blog #blogs"
},
"published": "2023-09-15T09:23:26+00:00",
"post-type": "note",
"_id": "38919632",
"_source": "7235",
"_is_read": false
}
This starts an experiment publishing my own code snips. Migrating off GitHub is daunting, but this is an easy step.
#GitHub #Indieweb
{
"type": "entry",
"author": {
"name": "@ross",
"url": "https://social.rossabaker.com/@ross",
"photo": null
},
"url": "https://social.rossabaker.com/@ross/111067039176207713",
"content": {
"html": "<p>This starts an experiment publishing my own code snips. Migrating off GitHub is daunting, but this is an easy step.</p><p><a href=\"https://social.rossabaker.com/tags/GitHub\">#<span>GitHub</span></a> <a href=\"https://social.rossabaker.com/tags/Indieweb\">#<span>Indieweb</span></a></p>",
"text": "This starts an experiment publishing my own code snips. Migrating off GitHub is daunting, but this is an easy step.#GitHub #Indieweb"
},
"published": "2023-09-15T03:28:42+00:00",
"post-type": "note",
"_id": "38917078",
"_source": "7235",
"_is_read": false
}
I got the itch to fiddle around with another #jekyll theme for my personal website. There goes the next three days of productivity.
#indieweb
{
"type": "entry",
"author": {
"name": "@keelan",
"url": "https://mastodon.social/@keelan",
"photo": null
},
"url": "https://mastodon.social/@keelan/111066258571385253",
"content": {
"html": "<p>I got the itch to fiddle around with another <a href=\"https://mastodon.social/tags/jekyll\">#<span>jekyll</span></a> theme for my personal website. There goes the next three days of productivity.</p><p><a href=\"https://mastodon.social/tags/indieweb\">#<span>indieweb</span></a></p>",
"text": "I got the itch to fiddle around with another #jekyll theme for my personal website. There goes the next three days of productivity.#indieweb"
},
"published": "2023-09-15T00:10:11+00:00",
"post-type": "note",
"_id": "38916324",
"_source": "7235",
"_is_read": false
}
This Saturday on my independent #IndieWeb streaming channel: Watch Manos: The Hands of Fate and One Step Beyond on Movie Night #47 starting at 5:30pm Pacific. https://retrostrange.com/2023/watch-manos-the-hands-of-fate-and-one-step-beyond-on-movie-night-47/
{
"type": "entry",
"author": {
"name": "@phil",
"url": "https://wrestling.social/@phil",
"photo": null
},
"url": "https://wrestling.social/@phil/111065237490619253",
"content": {
"html": "<p>This Saturday on my independent <a href=\"https://wrestling.social/tags/IndieWeb\">#<span>IndieWeb</span></a> streaming channel: Watch Manos: The Hands of Fate and One Step Beyond on Movie Night #47 starting at 5:30pm Pacific. <a href=\"https://retrostrange.com/2023/watch-manos-the-hands-of-fate-and-one-step-beyond-on-movie-night-47/\"><span>https://</span><span>retrostrange.com/2023/watch-ma</span><span>nos-the-hands-of-fate-and-one-step-beyond-on-movie-night-47/</span></a></p>",
"text": "This Saturday on my independent #IndieWeb streaming channel: Watch Manos: The Hands of Fate and One Step Beyond on Movie Night #47 starting at 5:30pm Pacific. https://retrostrange.com/2023/watch-manos-the-hands-of-fate-and-one-step-beyond-on-movie-night-47/"
},
"published": "2023-09-14T19:50:31+00:00",
"post-type": "note",
"_id": "38914896",
"_source": "7235",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": "fluffy",
"url": "http://beesbuzz.biz/",
"photo": null
},
"url": "http://beesbuzz.biz/articles/5821-The-average-Mastodon-user-age",
"published": "2023-09-14T11:47:20-07:00",
"content": {
"html": "<p>A question keeps on coming up on <a href=\"https://joinmastodon.org/\">Mastodon</a> (and the Fediverse in general), namely trying to figure out what the overall age distribution of the userbase is.</p><p>However, every single poll that comes about ends up becoming quite contentious in ways that lead to a lot of conflict and drama, primarily due to the nature of how Mastodon polls work. The most common problem is that due to the limited number of options in polls, it is very difficult to make a poll that gives both range and precision. Commonly, the person attempting to run the poll will end up being attacked by people in an age bracket that feel disenfranchised by the specific poll splits, and there\u2019s this\u2026 tunnel-vision hyperfocus that a lot of people get into where if they see an \u201cother\u201d or \u201cX or [older|younger]\u201d category, even if there\u2019s a whole thread of polls that dig into splitting up those larger buckets, you get deluged with responses from those who are <em>very</em> angry about the lack of representation.</p><p>Attempting to run the poll on a more suitable polling platform (Surveymonkey, Google Forms, Straw Poll, etc.) always ends up with similar concerns, such as worries about privacy or an unwillingness to use the survey platform of choice for whatever technological hill people want to die on. And, again, users who feel put off by this make it their <em>mission</em> to let the perceived offender (and everyone around them) know.</p><p>I started out riffing on this with a <a href=\"https://plush.city/@fluffy/111037478054754592\">couple</a> of <a href=\"https://plush.city/@fluffy/111038106755327503\">threads</a> that were not meant to be taken seriously, and which I thought were obvious jokes, but, <a href=\"https://en.wikipedia.org/wiki/Poe's_law\">you know how the Internet can be</a>. Anyway, my <a href=\"https://plush.city/@fluffy/111038128770359739\">third poll</a> (doing it as a median-seeking binary search) was also meant as a joke (which I intended to just be a one-off), but people actually responded to it fairly well. When I posted a <a href=\"https://plush.city/@fluffy/111041935168595803\">followup</a> in which I explained that it was a joke but asked if people wanted me to follow through with it, the overwhelming response was a resounding \u201cyes.\u201d</p><p>Clearly there is enough interest in trying to figure out some sort of statistical distribution for the age of Mastodon users (otherwise this wouldn\u2019t keep on happening!), so, <a href=\"https://plush.city/tags/MastoAge\">#MastoAge</a> was born, for better or worse.</p>\n\n\n<p>This poll series is absolutely not meant to be definitive, and is, again, the result of me doing a bit and taking it <em>way</em> too far (as <a href=\"http://beesbuzz.biz/blog/4450-The-Legend-of-Korok-Breath-of-the-Orcastraw\">I tend to do</a>). Any results derived from this are meant to be taken as seriously as I intended it, which is to say, not very.</p><p>I am also not a statistician (beyond having taken a couple of college courses and done some trivial amounts of data science in my career<a href=\"http://beesbuzz.biz/articles/5821-The-average-Mastodon-user-age#d_e5821_fn1\">1</a>) and my analysis is probably ridiculously flawed.</p><h3><a href=\"http://beesbuzz.biz/articles/5821-The-average-Mastodon-user-age#5821_h3_1_Methodology\"></a>Methodology</h3><p>This poll series simply tries to determine the median posting age of users of Mastodon by using a simple <a href=\"https://en.wikipedia.org/wiki/Binary_search_algorithm\">binary search</a>. In particular, the methodology is:</p>\n<ol><li>Start with a known upper bound and lower bound</li>\n<li>Take a sample at the halfway point between them</li>\n<li>If more than 50% are older than the split point, use the split point as the next upper bound; otherwise, use it as the lower bound</li>\n<li>Continue until either there\u2019s a 50/50 split, or both bounds are on the same day</li>\n</ol><p>Each of these is done as a simple poll on Mastodon. The assumptions are as follows:</p>\n<ul><li>The random sample of users will be enough of a representative sample that a simple majority is enough to move forward</li>\n<li>The demographics of each responding group is roughly the same (i.e. there\u2019s not a lot of skew in either direction on any given sample point)</li>\n<li>People who overtly decide to provide misinformation will be roughly the same on either side of the split</li>\n<li>People who are concerned about privacy and refuse to participate in such polls will also be roughly the same on either side of the split</li>\n</ul><p>There were, of course, plenty of objections stated <em>quite clearly</em> to me; in particular, many users made it clear to me that they didn\u2019t want me violating their privacy (not that I was collecting any specific user-level information and they could simply opt not to participate in any or all of the polls!) or they wanted to make clear that they were way younger or, more commonly, <em>way older</em> than the current split point. Like, yes, I know, that\u2019s how binary searches work, as well as the nature of being statistical outliers.</p><p>There are also some obvious sampling biases present:</p>\n<ul><li><a href=\"https://plush.city/\">My instance of choice</a> uses a fairly extensive blocklist for badly-behaved instances, limiting the reach of the polls (although this same thing does filter out a lot of known bad actors who would be more likely to purposefully pollute the data)</li>\n<li>Outliers have a tendency to be more invested in providing data proving their existence</li>\n<li>The initial data points and subsequent network effects were biased towards those who already follow me, an English-speaking neurodivergent socialist transgender furry<a href=\"http://beesbuzz.biz/articles/5821-The-average-Mastodon-user-age#d_e5821_fn2\">2</a> who people somehow keep thinking to be a lot younger than I am despite how frequently I point out that I am older than <a href=\"https://en.wikipedia.org/wiki/Pac-Man\">Pac-Man</a></li>\n<li>Poll fatigue is a thing</li>\n<li>And of course all the polls were run in English (and had an extremely nerdy framing to begin with)</li>\n</ul><p><strong><em>Anyway.</em></strong></p><p>On the first sample I just somewhat arbitrarily decided to use January 1, 1970 (i.e. <code>(time_t)0</code>) as the sample point, figuring that that\u2019s <a href=\"https://en.wikipedia.org/wiki/Unix_time\">as good of a reference point as any</a>, and based on the results would have chosen an appropriate opposing bound. Thankfully for my mentions, well over 50% of users reported being younger than that, so it was easy enough to simply use the then-current timestamp (<code>(time_t)1694398510</code>) as the upper bound, making it September 10, plus or minus a bit for timezone stuff (which extremely, severely, truly does not matter for this)<a href=\"http://beesbuzz.biz/articles/5821-The-average-Mastodon-user-age#d_e5821_fn3\">3</a>.</p><p>Anyway, with the initial upper bound being September 10, 2023, that retroactively implies an initial lower bound of April 22, 1916, so, good enough for me<a href=\"http://beesbuzz.biz/articles/5821-The-average-Mastodon-user-age#d_e5821_fn4\">4</a>.</p><p>So, then it was time to run a series of polls to search for the median (i.e. 50th percentile) Mastodon user age!</p><p>Each poll was run for 24 hours (the Mastodon default), but in the interest of time, additional polls were generated when one side had a distinct majority over the other and future votes were unlikely to change the result (typically some time after the percentage spread was greater than the margin of error as estimated by \\(\\frac{\\sqrt{N}}{N}\\), and after several hours have passed to try to mitigate the aforementioned sampling biases).</p><h3><a href=\"http://beesbuzz.biz/articles/5821-The-average-Mastodon-user-age#5821_h3_2_Results\"></a>Results</h3><p>The times on this chart are, per the methodology, given as <a href=\"https://unixtimestamp.com/\">UNIX timestamps</a>. The individual poll links are given for the reference of others.</p>\nPoll\nLB\nUB\nSplit\nDate\n% older\n% younger\n<a href=\"https://plush.city/@fluffy/111038128770359739\">0</a>\n-1694398510\n1694398510\n0<a href=\"http://beesbuzz.biz/articles/5821-The-average-Mastodon-user-age#d_e5821_fn5\">5</a>\n1970-01-01\n25\n<strong>75</strong>\n<a href=\"https://plush.city/@fluffy/111042450605587336\">1</a>\n0\n1694398510\n847199255\n1996-11-05\n<strong>80</strong>\n20\n<a href=\"https://plush.city/@fluffy/111044123795082301\">2</a>\n0\n847199255\n423594588\n1983-06-04\n42\n<strong>58</strong>\n<a href=\"https://plush.city/@fluffy/111047672195759438\">3</a>\n423594588\n847199255\n635396921\n1990-02-18\n<strong>72</strong>\n29\n<a href=\"https://plush.city/@fluffy/111049284781676025\">4</a>\n423594588\n635396921\n529495754\n1986-10-12\n<strong>52</strong>\n48\n<a href=\"https://plush.city/@fluffy/111053679349991413\">5</a>\n423594588\n529495754\n476545171\n1985-02-06\n<strong>55</strong>\n45\n<a href=\"https://plush.city/@fluffy/111054400748699817\">6</a>\n423594588\n476545171\n450069879\n1984-04-05\n47\n<strong>53</strong>\n<p>So, something slightly odd happened between 1985 and 1986, which doesn\u2019t become obvious until you graph it as the <a href=\"https://en.wikipedia.org/wiki/Ogive_%28statistics%29\">ogive</a> of a <a href=\"https://en.wikipedia.org/wiki/Cumulative_distribution_function\">cumulative distribution function</a><a href=\"http://beesbuzz.biz/articles/5821-The-average-Mastodon-user-age#d_e5821_fn6\">6</a>:</p>\n<a href=\"http://beesbuzz.biz/_file/1ac98/0/mastoage%20cdf%20borked.svg\"><img src=\"http://beesbuzz.biz/_file/1ac98/0/mastoage%20cdf%20borked.svg\" alt=\"mastoage%20cdf%20borked.svg\" /></a><p>So, you see that downturn between 1985 and 1986? That means that there is a negative population size between those times, at least per the polling methodology. Unfortunately, that makes absolutely no sense, which means we can only come to one logical conclusion: a large portion of Mastodon\u2019s population are ghosts.</p><p><strong><em>Millennial</em></strong> ghosts.</p><p>Spooky!</p><p>Well, okay. The margin of error at those sample points is around 3%, around the same as the gap between those samples. It\u2019s quite conceivable that the <em>actual</em> values are quite different. Honestly, this is exactly one of the outcomes I was expecting when I started this thing, and was part of the probably-funny-only-to-me joke in attempting to use a binary search in the first place.</p><p>Some real possibilities for what happened (based on some of the Mastodon replies I got):</p>\n<ul><li><p>Enough people misread/misunderstood the dates to get <a href=\"https://mathstodon.xyz/@ejk/111059977064800178\">confused</a> and pick the wrong side</p>\n<blockquote>\n<p>@fluffy@plush.city I think I answered correctly but I\u2019ve answered enough of these now that I\u2019m starting to forget how dates work</p><p>\u2014 <a href=\"https://social.foxis.dev/notes/9jkmb1l8j6tjc18j\">Foxis The Cookie Dragon</a></p></blockquote>\n\n\n\n<blockquote>\n<p>@fluffy as someone who did her date math wrong in one of those polls, I take the blame in increasing your error</p><p>\u2014 <a href=\"https://mathstodon.xyz/@ejk/111059977064800178\">Elizabeth</a></p></blockquote>\n\n\n\n<blockquote>\n<p>@fluffy this ones in the right range for me to almost click \u201cwell duh I was born after; that\u2019s so long ago\u201d</p><p>but no. I was born before \ud83d\udc80 lol\n\u2014 <a href=\"https://social.trout.garden/@jack/111064918119984225\">Jack</a></p></blockquote></li>\n<li><p>Poll fatigue meant that people were only voting on polls that they felt applied strongly to them</p>\n<blockquote>\n<p>@fluffy I wonder if there\u2019s a new possibility that the group that\u2019s \u201closing\u201d (ie , me and my fellow olds \ud83d\ude02) might start participating less \u2013 the incremental poll results could be impacting the next poll round in a weird way?</p><p>\u2014 <a href=\"https://toot.cafe/@atrus/111049561744762503\">Jeremy Nickurak</a></p></blockquote></li>\n<li><p>People thought they were only supposed to vote on polls that <a href=\"https://floss.social/@alcinnz/111049822947911344\">directly applied</a> to them</p>\n<blockquote>\n<p>@fluffy I presume those born after 1990 shouldn\u2019t vote, to avoid messing up your results\u2026</p><p>\u2014 <a href=\"https://floss.social/@alcinnz/111049822947911344\">Adrian Cochrane</a></p></blockquote></li>\n<li><p>Good old-fashioned <a href=\"https://sociale.network/@oblomov/111056005516972626\">sampling error</a></p>\n<blockquote>\n<p>@fluffy I think part of it might be that some of the previous polls didn\u2019t federate as well as the first ones (or at least I missed some of them)</p><p>\u2014 <a href=\"https://sociale.network/@oblomov/111056005516972626\">Oblomov</a></p></blockquote>\n\n\n\n<blockquote>\n<p>@fluffy seeing the proportions shift, I\u2019m wondering how much this is affected by different demographics in different timezones. The longer poll times should help with that, I guess?</p><p>\u2014 <a href=\"https://tech.lgbt/@barometz/111056701570972714\">Dominic</a></p></blockquote>\n\n\n\n<blockquote>\n<p>@fluffy damn it I clicked on the wrong one while scrolling by accident and now it won\u2019t let me change it</p><p>\u2014 <a href=\"https://wandering.shop/@Canageek/111064861881320937\">Canageek</a></p></blockquote></li>\n<li><p>Fucking millennials<a href=\"http://beesbuzz.biz/articles/5821-The-average-Mastodon-user-age#d_e5821_fn7\">7</a> ruining everything <em>as usual</em></p>\n<blockquote>\n<p>@fluffy I think this graph is saying that the median respondent is only comfortable sharing so many bits about their birthday</p><p>\u2014 <a href=\"https://plush.city/@lioness/111055691159376474\">Lioness With Mane</a></p></blockquote>\n\n\n\n<blockquote>\n<p>@fluffy This one is my favorite poll so far, because I\u2019m in what is clearly the problem bucket.</p><p>\u2014 <a href=\"https://social.seattle.wa.us/@panasaurusrex/111061294600174388\">panasaurusrex</a></p></blockquote>\n\n\n\n<blockquote>\n<p>@fluffy mastodon is a Millennial App confirmed</p><p>\u2014 <a href=\"https://babka.social/@rushraptor/111054150240830381\">Raptor</a></p></blockquote></li>\n</ul><p>Just to try to <a href=\"https://en.wiktionary.org/wiki/polish_a_turd\">polish the turd</a>, though, I posted a <a href=\"https://plush.city/@fluffy/111060839309035241\">followup poll</a> to attempt to reconcile the data, which improved things somewhat:</p>\nSpan\n% older\n1985-02-02\n49\n1986-10-11\n60\n2023-09-13\n100\n<p>Only now I just realized I meant for the first split to be February 6, not February 2, but I\u2019m willing to overlook a four-day difference here.</p><p>So, okay. The binary search approach is basically done with, at this point, and it\u2019s easier for me to just arbitrarily add more sample points into a master table as I go. I ran a few more polls to try to get some data points around the outliers, and here\u2019s what I came up with:</p>\nDate\n% older\ndata source\n1916-04-22\n0%\naxiomiatic\n1960-01-01\n3%\n<a href=\"https://plush.city/@fluffy/111053812386396566\">poll</a>\n1970-01-01\n23%\n<a href=\"https://plush.city/@fluffy/111038128770359739\">poll</a>\n1983-06-04\n42%\n<a href=\"https://plush.city/@fluffy/111044123795082301\">poll</a>\n1984-04-05\n47%\n<a href=\"https://plush.city/@fluffy/111054400748699817\">poll</a>\n1985-02-06\n49%\n<a href=\"https://plush.city/@fluffy/111053679349991413\">poll</a>\n1986-10-12\n60%\n<a href=\"https://plush.city/@fluffy/111049284781676025\">poll</a>\n1990-02-18\n69%\n<a href=\"https://plush.city/@fluffy/111047672195759438\">poll</a>\n1996-11-05\n81%\n<a href=\"https://plush.city/@fluffy/111042450605587336\">poll</a>\n2000-01-01\n90%\n<a href=\"https://plush.city/@fluffy/111053815913138017\">poll</a>\n2023-09-10\n100%\naxiomatic\n<p>So now we have a fixed cumulative distribution function:</p>\n<a href=\"http://beesbuzz.biz/_file/1d776/d/mastoage%20cdf%20fixed.svg\"><img src=\"http://beesbuzz.biz/_file/1d776/d/mastoage%20cdf%20fixed.svg\" alt=\"mastoage%20cdf%20fixed.svg\" /></a><p>And this lets us also infer a histogram by taking the slope and midpoint of each segment:</p>\n<a href=\"http://beesbuzz.biz/_file/db441/c/mastoage%20histogram.svg\"><img src=\"http://beesbuzz.biz/_file/db441/c/mastoage%20histogram.svg\" alt=\"mastoage%20histogram.svg\" /></a><p>WHY. WHY ARE YOU DOING THIS TO ME.</p><p>Anyway. The average age (median) of the Mastodon userbase is, as of September, 2023, around 38. Probably.</p><h3><a href=\"http://beesbuzz.biz/articles/5821-The-average-Mastodon-user-age#5821_h3_3_Future-work\"></a>Future work</h3><p>So, a couple of folks had suggested using <a href=\"https://en.wikipedia.org/wiki/Newton%27s_method\">Newton\u2019s method</a> for finding the sample points, which is definitely something I\u2019d considered, but, just to be completely clear, <strong><em>this was a joke which was not intended to go this far</em></strong>.</p><p>Anyway, to summarize, in Newton\u2019s Method you use the slope of the line to determine the best approximation of the next sample point. Given that we just have discrete data rather than a continuous function, the best bet we have for that is doing a simple linear interpolation between adjacent data points. In particular, given two adjacent points \\((x_0,y_0)\\) and \\((x_1,y_1)\\) and a target \\(y\\) position, use linear interpolation to find an \\(x\\) position for its estimate:</p><p>\\[\nx = (y - y_0)*\\frac{x_1 - x_0}{y_1 - y_0} + x_0\n\\]</p><p>Using this approach to chase the median (rather than simple binary search) would have been far more efficient (although I was already committed to the bit of doing a simple binary search, and after the fourth sample it ended up not mattering that much anyway), but this does let us refine our data pretty quickly.</p><p>So, from this data we can get some initial estimates of the lower and upper quartiles' birthdates:</p>\nTarget % (y)\nx0\ny0\nx1\ny1\nEstimate (x)\n5\n1960-01-01\n3\n1970-01-01\n23\n<a href=\"https://plush.city/@fluffy/111064828095152101\">1960-12-31</a>\n25\n1970-01-01\n23\n1983-06-04\n42\n<a href=\"https://plush.city/@fluffy/111064821273184972\">1971-05-31</a>\n75\n1990-02-18\n69\n1996-11-05\n81\n<a href=\"https://plush.city/@fluffy/111064851759287015\">1993-06-28</a>\n95\n2000-01-01\n90\n2023-09-10\n100\n<a href=\"https://plush.city/@fluffy/111064839668270449\">2011-11-05</a>\n<p>Using these as starting points I started some more polls. However, this article has taken too long to get written, and I just want to get it posted, damnit. In a few days I\u2019ll post a followup with my final data and graphs thereof, probably.</p><p>Additionally, I got <a href=\"https://social.coop/@eamon/111055897958217173\">an interesting response</a> from <a href=\"https://social.coop/@eamon\">an actual data scientist</a> who presumably knows what the hell he\u2019s doing. He indicated interest in <a href=\"https://social.coop/@eamon/111058609501734802\">doing a Bayesian analysis</a>, and when that happens I will be sure to link to it as well.</p><h3><a href=\"http://beesbuzz.biz/articles/5821-The-average-Mastodon-user-age#5821_h3_4_Conclusions\"></a>Conclusions</h3><p>Tumblr polls make this <a href=\"https://www.tumblr.com/fluffy-critter/728314177541849088/what-decade-were-you-born-in-1910s-or\">way easier</a>, and we can easily infer that among the people who saw my poll there, the average age is around 30. However, that poll was also way less fun and got only a tiny <em>fraction</em> of the responses!</p><p>My real takeaway: Sometimes things being shitty and terrible can make them a lot more fun and interesting, and that\u2019s worth a lot.</p><p>Also, I have a tendency to take a dumb joke way too far.</p>\n\n<ol><li><p>Pretty much the only place that there\u2019s ever any actual \u201cscience\u201d in the field of Computer Science. <a href=\"http://beesbuzz.biz/articles/5821-The-average-Mastodon-user-age#r_e5821_fn1\">\u21a9</a></p><p>Incidentally, I knew <a href=\"https://quoteinvestigator.com/2015/06/26/not-science/\">Frank Harary</a> personally.</p></li><li><p>but I repeat myself <a href=\"http://beesbuzz.biz/articles/5821-The-average-Mastodon-user-age#r_e5821_fn2\">\u21a9</a></p></li><li><p>I considered starting out with bounds of December 13, 1901 and January 19, 2038 (the <a href=\"https://en.wikipedia.org/wiki/Unix_time#Representing_the_number\">comedy option</a>)<a href=\"http://beesbuzz.biz/articles/5821-The-average-Mastodon-user-age#d_e5821_fn8\">8</a> but that would have just added to the number of polls and increased the severity of the negative responses from people who were upset at the second sample point being January 10, 2004. Because if there\u2019s one thing Mastodon boomers and older gen-Xers love to complain about it\u2019s the feeling that they\u2019re being overlooked. <a href=\"http://beesbuzz.biz/articles/5821-The-average-Mastodon-user-age#r_e5821_fn3\">\u21a9</a></p><p>I mean, I was <a href=\"http://beesbuzz.biz/about\">born in 1978</a> myself (and am usually the oldest person in the room on <a href=\"http://beesbuzz.biz/vrchat/\">VRChat</a> by a <em>significant</em> margin), so like, <em>I get it</em>, but, c'mon. <em>Chill</em>.</p></li><li><p>Technically <a href=\"https://en.wikipedia.org/wiki/List_of_the_verified_oldest_people\">there are people older than that</a> (at the time of this writing the oldest known living human was born on March 4, 1907) but even if <em>every single one of them</em> is on Mastodon there\u2019s no chance it\u2019d meaningfully affect any of the percentiles by more than a day or two, because that\u2019s how percentiles work. <a href=\"http://beesbuzz.biz/articles/5821-The-average-Mastodon-user-age#r_e5821_fn4\">\u21a9</a></p></li><li><p>This one was taken in GMT while all the other dates were taken in Pacific time. But, this really, truly does not matter. <a href=\"http://beesbuzz.biz/articles/5821-The-average-Mastodon-user-age#r_e5821_fn5\">\u21a9</a></p></li><li><p>Look at me, remembering my introduction to statistics class from college! <a href=\"http://beesbuzz.biz/articles/5821-The-average-Mastodon-user-age#r_e5821_fn6\">\u21a9</a></p></li><li><p>Meant in the kindest, most joking way possible, of course! I love my millennial friends. You\u2019re all terrible. XOXOXO <a href=\"http://beesbuzz.biz/articles/5821-The-average-Mastodon-user-age#r_e5821_fn7\">\u21a9</a></p></li><li><p>Okay, the <em>true</em> comedy option would have been to use the limits of 64-bit <code>time_t</code> but I\u2019m pretty sure people wouldn\u2019t have wanted a series of split points starting approximately 300 billion years in the future before eventually reaching January 10, 2004 anyway. <a href=\"http://beesbuzz.biz/articles/5821-The-average-Mastodon-user-age#r_e5821_fn8\">\u21a9</a></p></li></ol><p><a href=\"http://beesbuzz.biz/articles/5821-The-average-Mastodon-user-age#comments\">comments</a></p>\n\n \n <a href=\"http://beesbuzz.biz/articles/?id=5821&tag=mastodon\">#mastodon</a>\n \n <a href=\"http://beesbuzz.biz/articles/?id=5821&tag=mastoage\">#MastoAge</a>\n \n <a href=\"http://beesbuzz.biz/articles/?id=5821&tag=demographics\">#demographics</a>\n \n <a href=\"http://beesbuzz.biz/articles/?id=5821&tag=statistics\">#statistics</a>\n \n <a href=\"http://beesbuzz.biz/articles/?id=5821&tag=silliness\">#silliness</a>\n \n <a href=\"http://beesbuzz.biz/articles/?id=5821&tag=commit-to-the-bit\">#commit to the bit</a>",
"text": "A question keeps on coming up on Mastodon (and the Fediverse in general), namely trying to figure out what the overall age distribution of the userbase is.However, every single poll that comes about ends up becoming quite contentious in ways that lead to a lot of conflict and drama, primarily due to the nature of how Mastodon polls work. The most common problem is that due to the limited number of options in polls, it is very difficult to make a poll that gives both range and precision. Commonly, the person attempting to run the poll will end up being attacked by people in an age bracket that feel disenfranchised by the specific poll splits, and there\u2019s this\u2026 tunnel-vision hyperfocus that a lot of people get into where if they see an \u201cother\u201d or \u201cX or [older|younger]\u201d category, even if there\u2019s a whole thread of polls that dig into splitting up those larger buckets, you get deluged with responses from those who are very angry about the lack of representation.Attempting to run the poll on a more suitable polling platform (Surveymonkey, Google Forms, Straw Poll, etc.) always ends up with similar concerns, such as worries about privacy or an unwillingness to use the survey platform of choice for whatever technological hill people want to die on. And, again, users who feel put off by this make it their mission to let the perceived offender (and everyone around them) know.I started out riffing on this with a couple of threads that were not meant to be taken seriously, and which I thought were obvious jokes, but, you know how the Internet can be. Anyway, my third poll (doing it as a median-seeking binary search) was also meant as a joke (which I intended to just be a one-off), but people actually responded to it fairly well. When I posted a followup in which I explained that it was a joke but asked if people wanted me to follow through with it, the overwhelming response was a resounding \u201cyes.\u201dClearly there is enough interest in trying to figure out some sort of statistical distribution for the age of Mastodon users (otherwise this wouldn\u2019t keep on happening!), so, #MastoAge was born, for better or worse.\n\n\nThis poll series is absolutely not meant to be definitive, and is, again, the result of me doing a bit and taking it way too far (as I tend to do). Any results derived from this are meant to be taken as seriously as I intended it, which is to say, not very.I am also not a statistician (beyond having taken a couple of college courses and done some trivial amounts of data science in my career1) and my analysis is probably ridiculously flawed.MethodologyThis poll series simply tries to determine the median posting age of users of Mastodon by using a simple binary search. In particular, the methodology is:\nStart with a known upper bound and lower bound\nTake a sample at the halfway point between them\nIf more than 50% are older than the split point, use the split point as the next upper bound; otherwise, use it as the lower bound\nContinue until either there\u2019s a 50/50 split, or both bounds are on the same day\nEach of these is done as a simple poll on Mastodon. The assumptions are as follows:\nThe random sample of users will be enough of a representative sample that a simple majority is enough to move forward\nThe demographics of each responding group is roughly the same (i.e. there\u2019s not a lot of skew in either direction on any given sample point)\nPeople who overtly decide to provide misinformation will be roughly the same on either side of the split\nPeople who are concerned about privacy and refuse to participate in such polls will also be roughly the same on either side of the split\nThere were, of course, plenty of objections stated quite clearly to me; in particular, many users made it clear to me that they didn\u2019t want me violating their privacy (not that I was collecting any specific user-level information and they could simply opt not to participate in any or all of the polls!) or they wanted to make clear that they were way younger or, more commonly, way older than the current split point. Like, yes, I know, that\u2019s how binary searches work, as well as the nature of being statistical outliers.There are also some obvious sampling biases present:\nMy instance of choice uses a fairly extensive blocklist for badly-behaved instances, limiting the reach of the polls (although this same thing does filter out a lot of known bad actors who would be more likely to purposefully pollute the data)\nOutliers have a tendency to be more invested in providing data proving their existence\nThe initial data points and subsequent network effects were biased towards those who already follow me, an English-speaking neurodivergent socialist transgender furry2 who people somehow keep thinking to be a lot younger than I am despite how frequently I point out that I am older than Pac-Man\nPoll fatigue is a thing\nAnd of course all the polls were run in English (and had an extremely nerdy framing to begin with)\nAnyway.On the first sample I just somewhat arbitrarily decided to use January 1, 1970 (i.e. (time_t)0) as the sample point, figuring that that\u2019s as good of a reference point as any, and based on the results would have chosen an appropriate opposing bound. Thankfully for my mentions, well over 50% of users reported being younger than that, so it was easy enough to simply use the then-current timestamp ((time_t)1694398510) as the upper bound, making it September 10, plus or minus a bit for timezone stuff (which extremely, severely, truly does not matter for this)3.Anyway, with the initial upper bound being September 10, 2023, that retroactively implies an initial lower bound of April 22, 1916, so, good enough for me4.So, then it was time to run a series of polls to search for the median (i.e. 50th percentile) Mastodon user age!Each poll was run for 24 hours (the Mastodon default), but in the interest of time, additional polls were generated when one side had a distinct majority over the other and future votes were unlikely to change the result (typically some time after the percentage spread was greater than the margin of error as estimated by \\(\\frac{\\sqrt{N}}{N}\\), and after several hours have passed to try to mitigate the aforementioned sampling biases).ResultsThe times on this chart are, per the methodology, given as UNIX timestamps. The individual poll links are given for the reference of others.\nPoll\nLB\nUB\nSplit\nDate\n% older\n% younger\n0\n-1694398510\n1694398510\n05\n1970-01-01\n25\n75\n1\n0\n1694398510\n847199255\n1996-11-05\n80\n20\n2\n0\n847199255\n423594588\n1983-06-04\n42\n58\n3\n423594588\n847199255\n635396921\n1990-02-18\n72\n29\n4\n423594588\n635396921\n529495754\n1986-10-12\n52\n48\n5\n423594588\n529495754\n476545171\n1985-02-06\n55\n45\n6\n423594588\n476545171\n450069879\n1984-04-05\n47\n53\nSo, something slightly odd happened between 1985 and 1986, which doesn\u2019t become obvious until you graph it as the ogive of a cumulative distribution function6:\nSo, you see that downturn between 1985 and 1986? That means that there is a negative population size between those times, at least per the polling methodology. Unfortunately, that makes absolutely no sense, which means we can only come to one logical conclusion: a large portion of Mastodon\u2019s population are ghosts.Millennial ghosts.Spooky!Well, okay. The margin of error at those sample points is around 3%, around the same as the gap between those samples. It\u2019s quite conceivable that the actual values are quite different. Honestly, this is exactly one of the outcomes I was expecting when I started this thing, and was part of the probably-funny-only-to-me joke in attempting to use a binary search in the first place.Some real possibilities for what happened (based on some of the Mastodon replies I got):\nEnough people misread/misunderstood the dates to get confused and pick the wrong side\n\n@fluffy@plush.city I think I answered correctly but I\u2019ve answered enough of these now that I\u2019m starting to forget how dates work\u2014 Foxis The Cookie Dragon\n\n\n\n\n@fluffy as someone who did her date math wrong in one of those polls, I take the blame in increasing your error\u2014 Elizabeth\n\n\n\n\n@fluffy this ones in the right range for me to almost click \u201cwell duh I was born after; that\u2019s so long ago\u201dbut no. I was born before \ud83d\udc80 lol\n\u2014 Jack\nPoll fatigue meant that people were only voting on polls that they felt applied strongly to them\n\n@fluffy I wonder if there\u2019s a new possibility that the group that\u2019s \u201closing\u201d (ie , me and my fellow olds \ud83d\ude02) might start participating less \u2013 the incremental poll results could be impacting the next poll round in a weird way?\u2014 Jeremy Nickurak\nPeople thought they were only supposed to vote on polls that directly applied to them\n\n@fluffy I presume those born after 1990 shouldn\u2019t vote, to avoid messing up your results\u2026\u2014 Adrian Cochrane\nGood old-fashioned sampling error\n\n@fluffy I think part of it might be that some of the previous polls didn\u2019t federate as well as the first ones (or at least I missed some of them)\u2014 Oblomov\n\n\n\n\n@fluffy seeing the proportions shift, I\u2019m wondering how much this is affected by different demographics in different timezones. The longer poll times should help with that, I guess?\u2014 Dominic\n\n\n\n\n@fluffy damn it I clicked on the wrong one while scrolling by accident and now it won\u2019t let me change it\u2014 Canageek\nFucking millennials7 ruining everything as usual\n\n@fluffy I think this graph is saying that the median respondent is only comfortable sharing so many bits about their birthday\u2014 Lioness With Mane\n\n\n\n\n@fluffy This one is my favorite poll so far, because I\u2019m in what is clearly the problem bucket.\u2014 panasaurusrex\n\n\n\n\n@fluffy mastodon is a Millennial App confirmed\u2014 Raptor\nJust to try to polish the turd, though, I posted a followup poll to attempt to reconcile the data, which improved things somewhat:\nSpan\n% older\n1985-02-02\n49\n1986-10-11\n60\n2023-09-13\n100\nOnly now I just realized I meant for the first split to be February 6, not February 2, but I\u2019m willing to overlook a four-day difference here.So, okay. The binary search approach is basically done with, at this point, and it\u2019s easier for me to just arbitrarily add more sample points into a master table as I go. I ran a few more polls to try to get some data points around the outliers, and here\u2019s what I came up with:\nDate\n% older\ndata source\n1916-04-22\n0%\naxiomiatic\n1960-01-01\n3%\npoll\n1970-01-01\n23%\npoll\n1983-06-04\n42%\npoll\n1984-04-05\n47%\npoll\n1985-02-06\n49%\npoll\n1986-10-12\n60%\npoll\n1990-02-18\n69%\npoll\n1996-11-05\n81%\npoll\n2000-01-01\n90%\npoll\n2023-09-10\n100%\naxiomatic\nSo now we have a fixed cumulative distribution function:\nAnd this lets us also infer a histogram by taking the slope and midpoint of each segment:\nWHY. WHY ARE YOU DOING THIS TO ME.Anyway. The average age (median) of the Mastodon userbase is, as of September, 2023, around 38. Probably.Future workSo, a couple of folks had suggested using Newton\u2019s method for finding the sample points, which is definitely something I\u2019d considered, but, just to be completely clear, this was a joke which was not intended to go this far.Anyway, to summarize, in Newton\u2019s Method you use the slope of the line to determine the best approximation of the next sample point. Given that we just have discrete data rather than a continuous function, the best bet we have for that is doing a simple linear interpolation between adjacent data points. In particular, given two adjacent points \\((x_0,y_0)\\) and \\((x_1,y_1)\\) and a target \\(y\\) position, use linear interpolation to find an \\(x\\) position for its estimate:\\[\nx = (y - y_0)*\\frac{x_1 - x_0}{y_1 - y_0} + x_0\n\\]Using this approach to chase the median (rather than simple binary search) would have been far more efficient (although I was already committed to the bit of doing a simple binary search, and after the fourth sample it ended up not mattering that much anyway), but this does let us refine our data pretty quickly.So, from this data we can get some initial estimates of the lower and upper quartiles' birthdates:\nTarget % (y)\nx0\ny0\nx1\ny1\nEstimate (x)\n5\n1960-01-01\n3\n1970-01-01\n23\n1960-12-31\n25\n1970-01-01\n23\n1983-06-04\n42\n1971-05-31\n75\n1990-02-18\n69\n1996-11-05\n81\n1993-06-28\n95\n2000-01-01\n90\n2023-09-10\n100\n2011-11-05\nUsing these as starting points I started some more polls. However, this article has taken too long to get written, and I just want to get it posted, damnit. In a few days I\u2019ll post a followup with my final data and graphs thereof, probably.Additionally, I got an interesting response from an actual data scientist who presumably knows what the hell he\u2019s doing. He indicated interest in doing a Bayesian analysis, and when that happens I will be sure to link to it as well.ConclusionsTumblr polls make this way easier, and we can easily infer that among the people who saw my poll there, the average age is around 30. However, that poll was also way less fun and got only a tiny fraction of the responses!My real takeaway: Sometimes things being shitty and terrible can make them a lot more fun and interesting, and that\u2019s worth a lot.Also, I have a tendency to take a dumb joke way too far.\n\nPretty much the only place that there\u2019s ever any actual \u201cscience\u201d in the field of Computer Science. \u21a9Incidentally, I knew Frank Harary personally.but I repeat myself \u21a9I considered starting out with bounds of December 13, 1901 and January 19, 2038 (the comedy option)8 but that would have just added to the number of polls and increased the severity of the negative responses from people who were upset at the second sample point being January 10, 2004. Because if there\u2019s one thing Mastodon boomers and older gen-Xers love to complain about it\u2019s the feeling that they\u2019re being overlooked. \u21a9I mean, I was born in 1978 myself (and am usually the oldest person in the room on VRChat by a significant margin), so like, I get it, but, c'mon. Chill.Technically there are people older than that (at the time of this writing the oldest known living human was born on March 4, 1907) but even if every single one of them is on Mastodon there\u2019s no chance it\u2019d meaningfully affect any of the percentiles by more than a day or two, because that\u2019s how percentiles work. \u21a9This one was taken in GMT while all the other dates were taken in Pacific time. But, this really, truly does not matter. \u21a9Look at me, remembering my introduction to statistics class from college! \u21a9Meant in the kindest, most joking way possible, of course! I love my millennial friends. You\u2019re all terrible. XOXOXO \u21a9Okay, the true comedy option would have been to use the limits of 64-bit time_t but I\u2019m pretty sure people wouldn\u2019t have wanted a series of split points starting approximately 300 billion years in the future before eventually reaching January 10, 2004 anyway. \u21a9comments\n\n \n #mastodon\n \n #MastoAge\n \n #demographics\n \n #statistics\n \n #silliness\n \n #commit to the bit"
},
"name": "General Articles: The average Mastodon user age",
"post-type": "article",
"_id": "38913994",
"_source": "3782",
"_is_read": false
}
"big data at indieweb". Isn't that an oxymoron?
#indieweb
{
"type": "entry",
"author": {
"name": "@mkj",
"url": "https://social.linux.pizza/@mkj",
"photo": null
},
"url": "https://social.linux.pizza/@mkj/111064520705101959",
"content": {
"html": "<p>\"big data at indieweb\". Isn't that an oxymoron?</p><p><a href=\"https://social.linux.pizza/tags/indieweb\">#<span>indieweb</span></a></p>",
"text": "\"big data at indieweb\". Isn't that an oxymoron?#indieweb"
},
"published": "2023-09-14T16:48:13+00:00",
"post-type": "note",
"_id": "38912599",
"_source": "7235",
"_is_read": false
}
{
"type": "entry",
"published": "2023-09-14T13:10:09+00:00",
"url": "https://werd.io/2023/an-update-on-the-fediverse-api",
"name": "An update on Sup, the ActivityPub API",
"content": {
"text": "A little while back I shared an idea about an API service that would make it easy to build on top of the fediverse. People went wild about it on Mastodon and Bluesky, and I got lots of positive feedback.My startup experience tells me that it\u2019s important to validate your idea and understand your customers before you start building a product, lest you spend months or years building the wrong thing. So that\u2019s exactly what I did.I put out a simple survey that was really just an opener to find people who would be interested in having a conversation with me about it. I bought each person who replied a book certificate (except for one participant who refused it), and listened to why they had been interested enough to answer my questions. If they asked, I told them a little more about my idea.The people I spoke with ran the gamut from the CEOs of well-funded tech companies to individuals building something in the context of cash-strapped non-profits. I also spoke with a handful of venture capitalists at various firms who had proactively reached out.A shout-out to Evan Prodromou, one of the fathers of the fediverse, here: he very kindly spent a bunch of time with me keeping me honest and helping to move the project along.What I discovered was that the people who wanted me to build my full idea were people who really cared about the fediverse, but were not going to be customers. The people who were going to be customers wanted two specific things:A fast way to make informational bots. Twitter used to be full of informational, automated accounts. Consider accounts containing local weather updates, earthquake reports, and so on. That\u2019s been much harder for people to build on the fediverse.Statistics about trends and usage. Aggregate information about how the fediverse is behaving, including about how accounts are responding to individual links and domains.While these signals were very clear, I couldn\u2019t yet validate the core thing I\u2019d proposed to build, which was a full API service with libraries that let people build fully-featured fediverse-compatible software. I also couldn\u2019t yet validate the idea that existing startups would use a service like this to add fediverse compatibility to their products.But I believe, to reference a way-overused clich\u00e9, that this is where the puck is going.I strongly believe that the fediverse is how new social networks over the next decade will be built. I also have conviction that more people will be interested in building fully-featured fediverse services once Threads federates and Tumblr joins. It\u2019s likely that another large network will also start supporting these protocols.However, someone financially backing the project would be doing so on the basis of my conviction alone. I couldn\u2019t yet find strong customers for this use case.I think that\u2019s okay! In the shorter term, I\u2019m very interested in helping people build those bots in particular \u2014 it\u2019s a great place to start and a good example of building the smallest, simplest, thing.The original name I came up with, Sup, was taken by another fediverse project. So for now, this idea is called Feddy.Anyway, I wanted to report back on what I\u2019d found and how I was thinking about the project today. As always, I\u2019d love your feedback and ideas! You can always email me at ben@werd.io.",
"html": "<p><img src=\"https://werd.io/file/6503067f2a97d1ab6c07f3d2/thumb.jpg\" alt=\"An abstract network\" width=\"1024\" height=\"683\" /></p><p>A little while back <a href=\"https://werd.io/2023/more-on-the-activitypub-api-project\">I shared an idea about an API service that would make it easy to build on top of the fediverse</a>. People went wild about it on Mastodon and Bluesky, and I got lots of positive feedback.</p><p>My startup experience tells me that it\u2019s important to validate your idea and understand your customers before you start building a product, lest you spend months or years building the wrong thing. So that\u2019s exactly what I did.</p><p>I put out a simple survey that was really just an opener to find people who would be interested in having a conversation with me about it. I bought each person who replied a book certificate (except for one participant who refused it), and listened to why they had been interested enough to answer my questions. If they asked, I told them a little more about my idea.</p><p>The people I spoke with ran the gamut from the CEOs of well-funded tech companies to individuals building something in the context of cash-strapped non-profits. I also spoke with a handful of venture capitalists at various firms who had proactively reached out.</p><p>A shout-out to <a href=\"https://evanp.me/\">Evan Prodromou</a>, one of the fathers of the fediverse, here: he very kindly spent a bunch of time with me keeping me honest and helping to move the project along.</p><p>What I discovered was that the people who wanted me to build my full idea were people who really cared about the fediverse, but were not going to be customers. The people who <em>were</em> going to be customers wanted two specific things:</p><p><strong>A fast way to make informational bots.</strong> Twitter used to be full of informational, automated accounts. Consider accounts containing local weather updates, earthquake reports, and so on. That\u2019s been much harder for people to build on the fediverse.</p><p><strong>Statistics about trends and usage.</strong> Aggregate information about how the fediverse is behaving, including about how accounts are responding to individual links and domains.</p><p>While these signals were very clear, I couldn\u2019t yet validate the core thing I\u2019d proposed to build, which was a full API service with libraries that let people build fully-featured fediverse-compatible software. I also couldn\u2019t yet validate the idea that existing startups would use a service like this to add fediverse compatibility to their products.</p><p>But I believe, <a href=\"https://danoshinsky.com/2015/06/26/theres-one-little-problem-with-that-famous-wayne-gretzky-quote-about-pucks/\">to reference a way-overused clich\u00e9</a>, that this is where the puck is going.</p><p>I strongly believe that the fediverse is how new social networks over the next decade will be built. I also have conviction that more people will be interested in building fully-featured fediverse services once Threads federates and Tumblr joins. It\u2019s likely that another large network will also start supporting these protocols.</p><p>However, someone financially backing the project would be doing so on the basis of my conviction alone. I couldn\u2019t yet find strong customers for this use case.</p><p>I think that\u2019s okay! In the shorter term, I\u2019m very interested in helping people build those bots in particular \u2014 it\u2019s a great place to start and a good example of <a href=\"https://werd.io/2022/build-the-smallest-simplest-thing-you-can\">building the smallest, simplest, thing</a>.</p><p>The original name I came up with, Sup, <a href=\"https://mastodon.social/@dansup/110836811082599292\">was taken by another fediverse project</a>. So for now, this idea is called Feddy.</p><p>Anyway, I wanted to report back on what I\u2019d found and how I was thinking about the project today. As always, I\u2019d love your feedback and ideas! <a href=\"mailto:ben@werd.io\">You can always email me</a> at <a href=\"mailto:ben@werd.io\">ben@werd.io</a>.</p>"
},
"author": {
"type": "card",
"name": "Ben Werdmuller",
"url": "https://werd.io/profile/benwerd",
"photo": "https://werd.io/file/5d388c5fb16ea14aac640912/thumb.jpg"
},
"post-type": "article",
"_id": "38909931",
"_source": "191",
"_is_read": false
}
Literally me in a date: proceeds to explain E2EE and Metadata privacy
More me: rant about privacy and big tech escaping difficulties
. #firefox #indieweb @signalapp https://jj.isgeek.net/2023/09/14-015933/
{
"type": "entry",
"author": {
"name": "@jjdelc",
"url": "https://indieweb.social/@jjdelc",
"photo": null
},
"url": "https://indieweb.social/@jjdelc/111061026225878163",
"content": {
"html": "<p>Literally me in a date: proceeds to explain E2EE and Metadata privacy<br />More me: rant about privacy and big tech escaping difficulties<br />. <a href=\"https://indieweb.social/tags/firefox\">#<span>firefox</span></a> <a href=\"https://indieweb.social/tags/indieweb\">#<span>indieweb</span></a> @signalapp <a href=\"https://jj.isgeek.net/2023/09/14-015933/\"><span>https://</span><span>jj.isgeek.net/2023/09/14-01593</span><span>3/</span></a></p>",
"text": "Literally me in a date: proceeds to explain E2EE and Metadata privacy\nMore me: rant about privacy and big tech escaping difficulties\n. #firefox #indieweb @signalapp https://jj.isgeek.net/2023/09/14-015933/"
},
"published": "2023-09-14T01:59:32+00:00",
"post-type": "note",
"_id": "38906264",
"_source": "7235",
"_is_read": false
}
The Micropub spec is fascinating. I might build a server in Go to try it out. Are there any good micropub clients? #IndieWeb
{
"type": "entry",
"author": {
"name": "@ThePaulMcBride",
"url": "https://indieweb.social/@ThePaulMcBride",
"photo": null
},
"url": "https://indieweb.social/@ThePaulMcBride/111060224598288436",
"content": {
"html": "<p>The Micropub spec is fascinating. I might build a server in Go to try it out. Are there any good micropub clients? <a href=\"https://indieweb.social/tags/IndieWeb\">#<span>IndieWeb</span></a></p>",
"text": "The Micropub spec is fascinating. I might build a server in Go to try it out. Are there any good micropub clients? #IndieWeb"
},
"published": "2023-09-13T22:35:40+00:00",
"post-type": "note",
"_id": "38905374",
"_source": "7235",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": "@artlung",
"url": "https://xoxo.zone/@artlung",
"photo": null
},
"url": "https://xoxo.zone/@artlung/111060198060999533",
"content": {
"html": "<p>Foursquare / Swarm to my own site, <a href=\"https://xoxo.zone/tags/indieweb\">#<span>indieweb</span></a> style <a href=\"https://artlung.com/blog/2023/09/13/foursquare-swarm-to-my-own-site-indieweb-style/\"><span>https://</span><span>artlung.com/blog/2023/09/13/fo</span><span>ursquare-swarm-to-my-own-site-indieweb-style/</span></a></p>",
"text": "Foursquare / Swarm to my own site, #indieweb style https://artlung.com/blog/2023/09/13/foursquare-swarm-to-my-own-site-indieweb-style/"
},
"published": "2023-09-13T22:28:55+00:00",
"post-type": "note",
"_id": "38905375",
"_source": "7235",
"_is_read": false
}
Has anyone successfully modified the Grav CMS inbuilt blogging plugin to post to an API upon saving of a post? I'm about to begin building the POSSE feature for blog posts on my indieweb-site.
#indieweb #gravcms
#POSSE https://www.dfoley.ie/notes/id:c001b95a4cf4553a332b9bbaa243b6bc
{
"type": "entry",
"author": {
"name": "@dsofeir",
"url": "https://fosstodon.org/@dsofeir",
"photo": null
},
"url": "https://fosstodon.org/@dsofeir/111056435122917319",
"content": {
"html": "<p>Has anyone successfully modified the Grav CMS inbuilt blogging plugin to post to an API upon saving of a post? I'm about to begin building the POSSE feature for blog posts on my indieweb-site.<br /><a href=\"https://fosstodon.org/tags/indieweb\">#<span>indieweb</span></a> <a href=\"https://fosstodon.org/tags/gravcms\">#<span>gravcms</span></a><br /><a href=\"https://fosstodon.org/tags/POSSE\">#<span>POSSE</span></a> <a href=\"https://www.dfoley.ie/notes/id:c001b95a4cf4553a332b9bbaa243b6bc\"><span>https://www.</span><span>dfoley.ie/notes/id:c001b95a4cf</span><span>4553a332b9bbaa243b6bc</span></a></p>",
"text": "Has anyone successfully modified the Grav CMS inbuilt blogging plugin to post to an API upon saving of a post? I'm about to begin building the POSSE feature for blog posts on my indieweb-site.\n#indieweb #gravcms\n#POSSE https://www.dfoley.ie/notes/id:c001b95a4cf4553a332b9bbaa243b6bc"
},
"published": "2023-09-13T06:31:57+00:00",
"post-type": "note",
"_id": "38898118",
"_source": "7235",
"_is_read": false
}
4th iteration!!! I tore up the last one because I thought it looked ugly, and then I realized: "Wait, doesn't my current homepage look just fine with a lot of space?"
Simplicity was the key after all! Trying too hard to cram stuff onto the page made everything looked cluttered and haphazard. This appearance is minimalist and manageable, while still being pretty, and retaining the original "business card" idea.
Whaddaya think??? #webdev #website #webpage #indieweb
{
"type": "entry",
"author": {
"name": "@prayag_suthar",
"url": "https://mastodon.social/@prayag_suthar",
"photo": null
},
"url": "https://mastodon.social/@prayag_suthar/111054873974805060",
"content": {
"html": "<p>4th iteration!!! I tore up the last one because I thought it looked ugly, and then I realized: \"Wait, doesn't my current homepage look just fine with a lot of space?\"</p><p>Simplicity was the key after all! Trying too hard to cram stuff onto the page made everything looked cluttered and haphazard. This appearance is minimalist and manageable, while still being pretty, and retaining the original \"business card\" idea.</p><p>Whaddaya think??? <a href=\"https://mastodon.social/tags/webdev\">#<span>webdev</span></a> <a href=\"https://mastodon.social/tags/website\">#<span>website</span></a> <a href=\"https://mastodon.social/tags/webpage\">#<span>webpage</span></a> <a href=\"https://mastodon.social/tags/indieweb\">#<span>indieweb</span></a></p>",
"text": "4th iteration!!! I tore up the last one because I thought it looked ugly, and then I realized: \"Wait, doesn't my current homepage look just fine with a lot of space?\"Simplicity was the key after all! Trying too hard to cram stuff onto the page made everything looked cluttered and haphazard. This appearance is minimalist and manageable, while still being pretty, and retaining the original \"business card\" idea.Whaddaya think??? #webdev #website #webpage #indieweb"
},
"published": "2023-09-12T23:54:56+00:00",
"post-type": "note",
"_id": "38895732",
"_source": "7235",
"_is_read": false
}
“Utilities for interpreting mf2 data.”
Ugh how did I miss this package when implementing webmentions. This looks like it could replace large swaths of my code.
http://mf2util.readthedocs.io/en/latest/
#Indieweb #Webmentions
{
"type": "entry",
"author": {
"name": "@brentlineberry",
"url": "https://mastodon.online/@brentlineberry",
"photo": null
},
"url": "https://mastodon.online/@brentlineberry/111054497903986801",
"content": {
"html": "<p>\u201cUtilities for interpreting mf2 data.\u201d</p><p>Ugh how did I miss this package when implementing webmentions. This looks like it could replace large swaths of my code.</p><p><a href=\"http://mf2util.readthedocs.io/en/latest/\"><span>http://</span><span>mf2util.readthedocs.io/en/late</span><span>st/</span></a></p><p><a href=\"https://mastodon.online/tags/Indieweb\">#<span>Indieweb</span></a> <a href=\"https://mastodon.online/tags/Webmentions\">#<span>Webmentions</span></a></p>",
"text": "\u201cUtilities for interpreting mf2 data.\u201dUgh how did I miss this package when implementing webmentions. This looks like it could replace large swaths of my code.http://mf2util.readthedocs.io/en/latest/#Indieweb #Webmentions"
},
"published": "2023-09-12T22:19:17+00:00",
"post-type": "note",
"_id": "38895102",
"_source": "7235",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": "@skwee357",
"url": "https://mstdn.social/@skwee357",
"photo": null
},
"url": "https://mstdn.social/@skwee357/111052515867570396",
"content": {
"html": "<p>Help me get this proposal the love it deserves! <a href=\"https://github.com/whatwg/html/issues/8693\"><span>https://</span><span>github.com/whatwg/html/issues/</span><span>8693</span></a></p><p>You can read the motivation behind it in my blog post <a href=\"https://www.yieldcode.blog/post/the-need-for-a-more-semantic-web/\"><span>https://www.</span><span>yieldcode.blog/post/the-need-f</span><span>or-a-more-semantic-web/</span></a></p><p><a href=\"https://mstdn.social/tags/html\">#<span>html</span></a> <a href=\"https://mstdn.social/tags/semanticweb\">#<span>semanticweb</span></a> <a href=\"https://mstdn.social/tags/web\">#<span>web</span></a> <a href=\"https://mstdn.social/tags/semantic\">#<span>semantic</span></a> <a href=\"https://mstdn.social/tags/indieweb\">#<span>indieweb</span></a></p>",
"text": "Help me get this proposal the love it deserves! https://github.com/whatwg/html/issues/8693You can read the motivation behind it in my blog post https://www.yieldcode.blog/post/the-need-for-a-more-semantic-web/#html #semanticweb #web #semantic #indieweb"
},
"published": "2023-09-12T13:55:14+00:00",
"post-type": "note",
"_id": "38889782",
"_source": "7235",
"_is_read": false
}
Finally, there’s also distributed tech for authorisation called #ucan which could plug the gap of addresses on IPFS (“CIDs”) being hard for humans to remember.
With #ucan, your DNS provider could delegate auth’z to update the DNS pointer from your old “latest site” to your new one.
I’ve covered a lot, briefly, badly—please ask questions if any of this is interesting! I love the potential of #IndieWeb and the distributed web, but I agree with you that it’s only accessible to tech folk today!
{
"type": "entry",
"author": {
"name": "@byjp",
"url": "https://hachyderm.io/@byjp",
"photo": null
},
"url": "https://hachyderm.io/@byjp/111051048858579228",
"content": {
"html": "<p>Finally, there\u2019s also distributed tech for authorisation called <a href=\"https://hachyderm.io/tags/ucan\">#<span>ucan</span></a> which could plug the gap of addresses on IPFS (\u201cCIDs\u201d) being hard for humans to remember.</p><p>With <a href=\"https://hachyderm.io/tags/ucan\">#<span>ucan</span></a>, your DNS provider could delegate auth\u2019z to update the DNS pointer from your old \u201clatest site\u201d to your new one.</p><p>I\u2019ve covered a lot, briefly, badly\u2014please ask questions if any of this is interesting! I love the potential of <a href=\"https://hachyderm.io/tags/IndieWeb\">#<span>IndieWeb</span></a> and the distributed web, but I agree with you that it\u2019s only accessible to tech folk today!</p>",
"text": "Finally, there\u2019s also distributed tech for authorisation called #ucan which could plug the gap of addresses on IPFS (\u201cCIDs\u201d) being hard for humans to remember.With #ucan, your DNS provider could delegate auth\u2019z to update the DNS pointer from your old \u201clatest site\u201d to your new one.I\u2019ve covered a lot, briefly, badly\u2014please ask questions if any of this is interesting! I love the potential of #IndieWeb and the distributed web, but I agree with you that it\u2019s only accessible to tech folk today!"
},
"published": "2023-09-12T07:42:09+00:00",
"post-type": "note",
"_id": "38886976",
"_source": "7235",
"_is_read": false
}