A small tool to view real-world ActivityPub objects as JSON! Enter a URL
or username from Mastodon or a similar service below, and we'll send a
request with
the right
Accept
header
to the server to view the underlying object.
{
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive",
"manuallyApprovesFollowers": "as:manuallyApprovesFollowers",
"alsoKnownAs": {
"@id": "as:alsoKnownAs",
"@type": "@id"
},
"movedTo": {
"@id": "as:movedTo",
"@type": "@id"
},
"toot": "http://joinmastodon.org/ns#",
"featured": {
"@id": "toot:featured",
"@type": "@id"
},
"Emoji": "toot:Emoji",
"blurhash": "toot:blurhash",
"votersCount": "toot:votersCount",
"schema": "http://schema.org#",
"PropertyValue": "schema:PropertyValue",
"value": "schema:value",
"ostatus": "http://ostatus.org#",
"conversation": "ostatus:conversation"
}
],
"id": "https://blog.nigini.me/outbox",
"type": "OrderedCollection",
"totalItems": 17,
"orderedItems": [
{
"actor": "https://blog.nigini.me",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers"
],
"id": "https://blog.nigini.me/o/fb62c6cd234d49ca9dc2702075e751ed/activity",
"object": {
"type": "Note",
"id": "https://blog.nigini.me/o/fb62c6cd234d49ca9dc2702075e751ed",
"attributedTo": "https://blog.nigini.me",
"content": "<p>Test, test...</p>\n<p>It worked!!!</p>\n<p>I have just moved my personal server from some boring big-tech company to the <a href=\"https://iocoop.org/\">IOcoop</a>. Yep, I am now a proud member of a <a href=\"https://blog.nigini.me/t/coop\" class=\"mention hashtag\" rel=\"tag\">#<span>COOP</span></a> that maintains <a href=\"https://blog.nigini.me/t/vps\" class=\"mention hashtag\" rel=\"tag\">#<span>VPS</span></a> for its members, which is part of my broad attempt to use less big-tech stuff.</p>\n<p>😻</p>\n",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers"
],
"published": "2025-05-15T01:41:53Z",
"context": "https://blog.nigini.me/contexts/167f2a3f32cb4e21ae9ae2091c7c352b",
"conversation": "https://blog.nigini.me/contexts/167f2a3f32cb4e21ae9ae2091c7c352b",
"url": "https://blog.nigini.me/o/fb62c6cd234d49ca9dc2702075e751ed",
"tag": [
{
"href": "https://blog.nigini.me/t/coop",
"name": "#coop",
"type": "Hashtag"
},
{
"href": "https://blog.nigini.me/t/vps",
"name": "#vps",
"type": "Hashtag"
}
],
"summary": null,
"inReplyTo": null,
"sensitive": false,
"attachment": []
},
"published": "2025-05-15T01:41:53Z",
"type": "Create"
},
{
"id": "https://blog.nigini.me/o/bd11db71e3c14610ac40f79f7eda2ea2",
"type": "Announce",
"actor": "https://blog.nigini.me",
"object": "https://mastodon.social/users/fediforum/statuses/114473771850202890",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers",
"https://mastodon.social/users/fediforum"
]
},
{
"actor": "https://blog.nigini.me",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers"
],
"id": "https://blog.nigini.me/o/d4b6b5009c0444d1b20b1a132d689c9f/activity",
"object": {
"type": "Note",
"id": "https://blog.nigini.me/o/d4b6b5009c0444d1b20b1a132d689c9f",
"attributedTo": "https://blog.nigini.me",
"content": "<p>IT'S ALIVE!!! <strong>The Cabin Brain is alive!!!</strong>\r\n(Well, at least for a prolonged test session.)</p>\n<p>I have posted some initial frustrations while trying to host some services on a <a href=\"https://blog.nigini.me/t/raspberrypi\" class=\"mention hashtag\" rel=\"tag\">#<span>RaspberryPi</span></a> at home: <a href=\"https://blog.nigini.me/o/47024bc5f5a3422290dc4fd6e9762a05\" rel=\"noopener\">https://blog.nigini.me/o/47024bc5f5a3422290dc4fd6e9762a05</a></p>\n<p>Then, I discovered that my internet provider would not relay any external connections and that I could <strong>create a tunnel</strong> using <a href=\"https://blog.nigini.me/t/protonvpn\" class=\"mention hashtag\" rel=\"tag\">#<span>ProtonVPN</span></a> (which I already pay for).</p>\n<p>Today, as you can see on the attached screenshot, I got to SEE it really happening! I \"only\" needed to:</p>\n<ul>\n<li>\n<p>Setup a <a href=\"https://protonvpn.com/support/wireguard-linux\">Wireguard VPN connection</a></p>\n</li>\n<li>\n<p><a href=\"https://protonvpn.com/support/port-forwarding-manual-setup/#wireguard\">Forwarding a port</a> of the VPN server to my local HTTP server</p>\n</li>\n<li>\n<p>And dynamically update my <a href=\"https://www.noip.com/support/knowledgebase/installing-the-linux-dynamic-update-client\">NO-IP DNS</a></p>\n<p>NOW, I need to work on doing all that automatically at computer start, and keep it all up-to-date while it runs. Today I cheated and did things manually, but I am very close now! ;)</p>\n</li>\n</ul>\n",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers"
],
"published": "2025-05-02T04:18:35Z",
"context": "https://blog.nigini.me/contexts/7fa271cbe6e34a179bda8c82586520a9",
"conversation": "https://blog.nigini.me/contexts/7fa271cbe6e34a179bda8c82586520a9",
"url": "https://blog.nigini.me/o/d4b6b5009c0444d1b20b1a132d689c9f",
"tag": [
{
"href": "https://blog.nigini.me/t/raspberrypi",
"name": "#raspberrypi",
"type": "Hashtag"
},
{
"href": "https://blog.nigini.me/t/protonvpn",
"name": "#protonvpn",
"type": "Hashtag"
}
],
"summary": null,
"inReplyTo": null,
"sensitive": false,
"attachment": [
{
"type": "Document",
"mediaType": "image/jpeg",
"name": "A photograph of a tiny computer tower with a Raspberry Pi 4 inside, in front of a screen showing some terminal logs.",
"url": "https://blog.nigini.me/attachments/c10db0fff87f57bbe6d57de0033d75bd28eb203025e6b7ea82304974aee0f100/cabin_test.jpeg",
"blurhash": "LBC$$F^N}kveXE^$rpwG-pM}jZoI",
"height": 2048,
"width": 1152
},
{
"type": "Document",
"mediaType": "image/png",
"name": "A screenshot of the top of my personal webpage running on my raspberry pi, accessed through a VPN tunnel.",
"url": "https://blog.nigini.me/attachments/281fb9a872714868af34795877c26abf329b23a9b5b90ec92cfd641d914c119c/the_cabin_brain-full_hello_world.png",
"blurhash": "LfQvwSofofof00ayayay00j[WBay",
"height": 268,
"width": 498
}
]
},
"published": "2025-05-02T04:18:35Z",
"type": "Create"
},
{
"actor": "https://blog.nigini.me",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers"
],
"id": "https://blog.nigini.me/o/63cd1452cbe64ed59ba3639410c0c895/activity",
"object": {
"type": "Note",
"id": "https://blog.nigini.me/o/63cd1452cbe64ed59ba3639410c0c895",
"attributedTo": "https://blog.nigini.me",
"content": "<p>Can't express how much I missed having the mental space to study and create with <a href=\"https://blog.nigini.me/t/electronix\" class=\"mention hashtag\" rel=\"tag\">#<span>electronix</span></a> 🎚️💡</p>\n",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers"
],
"published": "2025-02-28T00:20:24Z",
"context": "https://blog.nigini.me/contexts/28faa56defbf4272a11e7b0ea2e4c077",
"conversation": "https://blog.nigini.me/contexts/28faa56defbf4272a11e7b0ea2e4c077",
"url": "https://blog.nigini.me/o/63cd1452cbe64ed59ba3639410c0c895",
"tag": [
{
"href": "https://blog.nigini.me/t/electronix",
"name": "#electronix",
"type": "Hashtag"
}
],
"summary": null,
"inReplyTo": null,
"sensitive": false,
"attachment": [
{
"type": "Document",
"mediaType": "image/gif",
"name": "An Arduino controlling an 8x8 pixelated display showing the letters M H C I D !!!",
"url": "https://blog.nigini.me/attachments/fb1b61ce6883f07ffb25fca4effa88617740b079bdbc3263a10c6c559a9ff6a2/MHCID.gif"
}
]
},
"published": "2025-02-28T00:20:24Z",
"type": "Create"
},
{
"actor": "https://blog.nigini.me",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers"
],
"id": "https://blog.nigini.me/o/386430c6e07444679f7014ea262ba6cc/update_activity/2025-02-27T23:08:12Z",
"object": {
"type": "Note",
"id": "https://blog.nigini.me/o/386430c6e07444679f7014ea262ba6cc",
"attributedTo": "https://blog.nigini.me",
"content": "<p>So excited about our new add-on to the MicroBlog.pub code base: now you, I, we can <a href=\"https://github.com/tinyBlogPub/microblog.pub/pull/19\">edit your post</a>. By the way, this is part of the work towards a v2.1!!!</p>\n<p>Thanks to <a href=\"https://github.com/778a0a\">@778a0a</a> for contributing their code to help it happen.</p>\n",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers"
],
"published": "2024-10-06T04:22:33Z",
"context": "https://blog.nigini.me/contexts/92248b40d07342d195f03c510341f9b7",
"conversation": "https://blog.nigini.me/contexts/92248b40d07342d195f03c510341f9b7",
"url": "https://blog.nigini.me/o/386430c6e07444679f7014ea262ba6cc",
"tag": [],
"summary": null,
"inReplyTo": null,
"sensitive": false,
"attachment": [],
"updated": "2025-02-27T23:08:12Z"
},
"published": "2024-10-06T04:22:33Z",
"updated": "2025-02-27T23:08:12Z",
"type": "Update"
},
{
"id": "https://blog.nigini.me/o/ae4cd119eb7d4f988de02bd55d64b54e",
"type": "Announce",
"actor": "https://blog.nigini.me",
"object": "https://bw3.dev/o/2D9hz",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers",
"https://bw3.dev"
]
},
{
"actor": "https://blog.nigini.me",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers",
"https://chrichri.ween.de"
],
"id": "https://blog.nigini.me/o/16bd42b1e3d24572a5e0acd7aefb9d8a/update_activity/2024-10-06T03:58:37Z",
"object": {
"type": "Note",
"id": "https://blog.nigini.me/o/16bd42b1e3d24572a5e0acd7aefb9d8a",
"attributedTo": "https://blog.nigini.me",
"content": "<p>This looks pretty great <span class=\"h-card\"><a href=\"https://chrichri.ween.de/\" class=\"u-url mention\">@me@chrichri.ween.de</a></span>!</p>\n<p>I also recently looked around for a <a href=\"https://blog.nigini.me/t/fediverse\" class=\"mention hashtag\" rel=\"tag\">#<span>Fediverse</span></a> server and thought that <a href=\"https://blog.nigini.me/t/gotosocial\" class=\"mention hashtag\" rel=\"tag\">#<span>GoToSocial</span></a> is pretty great. (I was actually thinking if we really need to reimplement a server for <a href=\"https://blog.nigini.me/t/microblogpub\" class=\"mention hashtag\" rel=\"tag\">#<span>MicroBlogPub</span></a>. But I guess having a micro federated server in <a href=\"https://blog.nigini.me/t/python\" class=\"mention hashtag\" rel=\"tag\">#<span>Python</span></a> is something nice to have out there.)</p>\n<p>I actually just added a discussion about this in <a href=\"https://github.com/orgs/microblog-pub/discussions/16\">our project</a>.</p>\n",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers",
"https://chrichri.ween.de"
],
"published": "2024-08-29T02:57:26Z",
"context": "https://chrichri.ween.de/contexts/994295417c4b4fb4a7f2835f15b14119",
"conversation": "https://chrichri.ween.de/contexts/994295417c4b4fb4a7f2835f15b14119",
"url": "https://blog.nigini.me/o/16bd42b1e3d24572a5e0acd7aefb9d8a",
"tag": [
{
"type": "Mention",
"href": "https://chrichri.ween.de",
"name": "@me@chrichri.ween.de"
},
{
"href": "https://blog.nigini.me/t/fediverse",
"name": "#fediverse",
"type": "Hashtag"
},
{
"href": "https://blog.nigini.me/t/gotosocial",
"name": "#gotosocial",
"type": "Hashtag"
},
{
"href": "https://blog.nigini.me/t/microblogpub",
"name": "#microblogpub",
"type": "Hashtag"
},
{
"href": "https://blog.nigini.me/t/python",
"name": "#python",
"type": "Hashtag"
}
],
"summary": null,
"inReplyTo": "https://chrichri.ween.de/o/1fb1a0fd63fe4fc6914a2a044426c132",
"sensitive": false,
"attachment": [],
"updated": "2024-10-06T03:58:37Z"
},
"published": "2024-08-29T02:57:26Z",
"updated": "2024-10-06T03:58:37Z",
"type": "Update"
},
{
"actor": "https://blog.nigini.me",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers",
"https://mastodon.ie/users/aonrud",
"https://microblog.lakora.us",
"https://log.nyaight.me"
],
"id": "https://blog.nigini.me/o/c2bba8dfde0d497b936ff71651d4f87d/activity",
"object": {
"type": "Note",
"id": "https://blog.nigini.me/o/c2bba8dfde0d497b936ff71651d4f87d",
"attributedTo": "https://blog.nigini.me",
"content": "<p>Hey <span class=\"h-card\"><a href=\"https://mastodon.ie/@aonrud\" class=\"u-url mention\">@aonrud@mastodon.ie</a></span> <span class=\"h-card\"><a href=\"https://microblog.lakora.us/\" class=\"u-url mention\">@isaac@lakora.us</a></span> <span class=\"h-card\"><a href=\"https://log.nyaight.me/\" class=\"u-url mention\">@room_nb@log.nyaight.me</a></span>! I noticed you also use <a href=\"https://blog.nigini.me/t/microblogpub\" class=\"mention hashtag\" rel=\"tag\">#<span>MicroBlogPub</span></a>. I recently started playing around with it and then realized the original author stopped responding/maintaining it...</p>\n<p>I am starting to talk to other users about creating a new home for central coordination here: <a href=\"https://github.com/orgs/microblog-pub/discussions\" rel=\"noopener\">https://github.com/orgs/microblog-pub/discussions</a></p>\n<p>It would be great to exchange ideas and maybe work together to keep this project up...</p>\n",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers",
"https://mastodon.ie/users/aonrud",
"https://microblog.lakora.us",
"https://log.nyaight.me"
],
"published": "2024-08-25T02:04:43Z",
"context": "https://blog.nigini.me/contexts/6fe700410de74b649502133b36dac873",
"conversation": "https://blog.nigini.me/contexts/6fe700410de74b649502133b36dac873",
"url": "https://blog.nigini.me/o/c2bba8dfde0d497b936ff71651d4f87d",
"tag": [
{
"type": "Mention",
"href": "https://mastodon.ie/users/aonrud",
"name": "@aonrud@mastodon.ie"
},
{
"type": "Mention",
"href": "https://microblog.lakora.us",
"name": "@isaac@lakora.us"
},
{
"type": "Mention",
"href": "https://log.nyaight.me",
"name": "@room_nb@log.nyaight.me"
},
{
"href": "https://blog.nigini.me/t/microblogpub",
"name": "#microblogpub",
"type": "Hashtag"
}
],
"summary": null,
"inReplyTo": "https://blog.nigini.me/o/06654e795a684a4c971b6124a8db2c53",
"sensitive": false,
"attachment": []
},
"published": "2024-08-25T02:04:43Z",
"type": "Create"
},
{
"actor": "https://blog.nigini.me",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers"
],
"id": "https://blog.nigini.me/o/47024bc5f5a3422290dc4fd6e9762a05/activity",
"object": {
"type": "Note",
"id": "https://blog.nigini.me/o/47024bc5f5a3422290dc4fd6e9762a05",
"attributedTo": "https://blog.nigini.me",
"content": "<p>Road to <strong>really</strong> self-hosting this same blog you're reading now:</p>\n<ol>\n<li>Get a <a href=\"https://blog.nigini.me/t/raspberrypi\" class=\"mention hashtag\" rel=\"tag\">#<span>RaspberryPi</span></a> and install an <a href=\"https://blog.nigini.me/t/ubuntu\" class=\"mention hashtag\" rel=\"tag\">#<span>Ubuntu</span></a> server on it</li>\n<li>Find the IP of your Raspberry Pi server on your local network and make sure you can access it from another local computer</li>\n<li>Go to your Access Point and Forward requests <code>from:to</code> the desired ports</li>\n<li>FAIL! Because your damn internet provider does not redirect income requests to you. (THAT, my friend, would cost you some sort of a business account!)</li>\n</ol>\n<p>Attempt number 2:</p>\n<ol>\n<li>Talk to your tech friends about your frustration</li>\n<li>Learn about the fact that some VPN services DO let you NAT the hell out of this problem</li>\n<li>Confirm that the AMAZING <a href=\"https://blog.nigini.me/t/protonvpn\" class=\"mention hashtag\" rel=\"tag\">#<span>ProtonVPN</span></a> will let you hack that up</li>\n<li>Read a looooooong tutorial about the whole deal</li>\n<li>Find out that you were only a <code>natpmpc</code> away from making it happen</li>\n<li>Run a simple test server on your laptop</li>\n<li>Celebrate!</li>\n</ol>\n<p>Write about the PARTIAL victory and go find out how to make this happen dynamically on your RasPi server, which then needs to publish its <code>IP:PORT</code> to your NO-IP DNS thingy.</p>\n",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers"
],
"published": "2024-08-19T01:13:49Z",
"context": "https://blog.nigini.me/contexts/d277fad5ae094e70a15bcbba8cdb8a17",
"conversation": "https://blog.nigini.me/contexts/d277fad5ae094e70a15bcbba8cdb8a17",
"url": "https://blog.nigini.me/o/47024bc5f5a3422290dc4fd6e9762a05",
"tag": [
{
"href": "https://blog.nigini.me/t/raspberrypi",
"name": "#raspberrypi",
"type": "Hashtag"
},
{
"href": "https://blog.nigini.me/t/ubuntu",
"name": "#ubuntu",
"type": "Hashtag"
},
{
"href": "https://blog.nigini.me/t/protonvpn",
"name": "#protonvpn",
"type": "Hashtag"
}
],
"summary": null,
"inReplyTo": null,
"sensitive": false,
"attachment": []
},
"published": "2024-08-19T01:13:49Z",
"type": "Create"
},
{
"actor": "https://blog.nigini.me",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers"
],
"id": "https://blog.nigini.me/o/901bd5ca3d7f46a0825959aa6a2bae30/activity",
"object": {
"type": "Note",
"id": "https://blog.nigini.me/o/901bd5ca3d7f46a0825959aa6a2bae30",
"attributedTo": "https://blog.nigini.me",
"content": "<p>I have just spent some hours taking the spiderwebs from my <a href=\"https://blog.nigini.me/t/hci\" class=\"mention hashtag\" rel=\"tag\">#<span>HCI</span></a> researcher persona. That is because I am going to teach again one of my favorite courses ever: <a href=\"https://mhcid.washington.edu/curriculum/index.html\">The Prototyping Studio</a> at the <a href=\"https://blog.nigini.me/t/mhcid\" class=\"mention hashtag\" rel=\"tag\">#<span>MHCID</span></a> Masters at UW.</p>\n<p>You know, most of the time, academic knowledge is so far away from the general public. But in the case of the now-called <a href=\"https://blog.nigini.me/t/ux\" class=\"mention hashtag\" rel=\"tag\">#<span>UX</span></a> <a href=\"https://blog.nigini.me/t/design\" class=\"mention hashtag\" rel=\"tag\">#<span>Design</span></a> space, the industry has always partnered with academia to create better interactive products.</p>\n<p>But, as a <a href=\"https://blog.nigini.me/t/geek\" class=\"mention hashtag\" rel=\"tag\">#<span>geek</span></a> and <a href=\"https://blog.nigini.me/t/builder\" class=\"mention hashtag\" rel=\"tag\">#<span>builder</span></a>, one of my favorite facets of this design process is the bias towards action: contact people, explore ideas, build and test stuff, and go again. It is actually very humbling to recognize that those "genius" ideas we have are likely far from the best way to approach real-world problems.</p>\n<p>Try it yourself: Next time you are excited about an idea, instead of just building right away, sketch on paper -- yes, ugly and cheap drawings -- how your thing works. Now, most importantly, go show them to a bunch of people, get the talking, and take notes. NOPE, don't try to defend your precious design: The challenge is to get back home and explore the ways you could pick on all those human brains and make the thing even better.</p>\n<p>Now repeat! 🤓</p>\n",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers"
],
"published": "2024-07-27T02:39:39Z",
"context": "https://blog.nigini.me/contexts/4d653607403e4dc098b561955ce89ee2",
"conversation": "https://blog.nigini.me/contexts/4d653607403e4dc098b561955ce89ee2",
"url": "https://blog.nigini.me/o/901bd5ca3d7f46a0825959aa6a2bae30",
"tag": [
{
"href": "https://blog.nigini.me/t/hci",
"name": "#hci",
"type": "Hashtag"
},
{
"href": "https://blog.nigini.me/t/mhcid",
"name": "#mhcid",
"type": "Hashtag"
},
{
"href": "https://blog.nigini.me/t/ux",
"name": "#ux",
"type": "Hashtag"
},
{
"href": "https://blog.nigini.me/t/design",
"name": "#design",
"type": "Hashtag"
},
{
"href": "https://blog.nigini.me/t/geek",
"name": "#geek",
"type": "Hashtag"
},
{
"href": "https://blog.nigini.me/t/builder",
"name": "#builder",
"type": "Hashtag"
}
],
"summary": null,
"inReplyTo": null,
"sensitive": false,
"attachment": [
{
"type": "Document",
"mediaType": "image/jpeg",
"name": "A diagram of the Nielsen-Norman Group's UX Design Cycle. It shows four fases in interconnected and colorful circles: Discover, Explore, Test, and Listen. The circles are drawn in a way to express iterativeness and interconnecteness across the phases.",
"url": "https://blog.nigini.me/attachments/a692ee2fa9f5a5b29dbeeb83fdf90905f4ad92e36fc0670b1ddafd07ab9c4e5a/nngroup-process.jpg",
"blurhash": "LCRp8,4Ts.xvrrrrt7R*-;xuxuoL",
"height": 1024,
"width": 664
}
]
},
"published": "2024-07-27T02:39:39Z",
"type": "Create"
},
{
"actor": "https://blog.nigini.me",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers",
"https://chrichri.ween.de"
],
"id": "https://blog.nigini.me/o/637a36daed9c4bd988185da32ffb6bef/activity",
"object": {
"type": "Note",
"id": "https://blog.nigini.me/o/637a36daed9c4bd988185da32ffb6bef",
"attributedTo": "https://blog.nigini.me",
"content": "<p>Hey <span class=\"h-card\"><a href=\"https://chrichri.ween.de/\" class=\"u-url mention\">@me@chrichri.ween.de</a></span>! I noticed you also use MicroBlog.pub. Actually, I found you through this request on the original repo: <a href=\"https://todo.sr.ht/~tsileo/microblog.pub/125\" rel=\"noopener\">https://todo.sr.ht/~tsileo/microblog.pub/125</a></p>\n<p>Have you implemented that? That is one of the things I miss the most in the current Article writing experience.</p>\n<p>By the way, considering the silence from Tomas, I am starting to talk to other users about moving the development here: <a href=\"https://github.com/microblog-pub\" rel=\"noopener\">https://github.com/microblog-pub</a></p>\n<p>It would be great to exchange ideas and maybe work together on keeping this project up...</p>\n",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers",
"https://chrichri.ween.de"
],
"published": "2024-07-26T00:43:33Z",
"context": "https://blog.nigini.me/contexts/6fe700410de74b649502133b36dac873",
"conversation": "https://blog.nigini.me/contexts/6fe700410de74b649502133b36dac873",
"url": "https://blog.nigini.me/o/637a36daed9c4bd988185da32ffb6bef",
"tag": [
{
"type": "Mention",
"href": "https://chrichri.ween.de",
"name": "@me@chrichri.ween.de"
}
],
"summary": null,
"inReplyTo": "https://blog.nigini.me/o/06654e795a684a4c971b6124a8db2c53",
"sensitive": false,
"attachment": []
},
"published": "2024-07-26T00:43:33Z",
"type": "Create"
},
{
"actor": "https://blog.nigini.me",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers",
"https://bw3.dev"
],
"id": "https://blog.nigini.me/o/6d4f002883fd48a9ba50be0f507d3254/activity",
"object": {
"type": "Note",
"id": "https://blog.nigini.me/o/6d4f002883fd48a9ba50be0f507d3254",
"attributedTo": "https://blog.nigini.me",
"content": "<p><span class=\"h-card\"><a href=\"https://bw3.dev/\" class=\"u-url mention\">@0x3b0b@bw3.dev</a></span> I saw that you use <a href=\"https://blog.nigini.me/t/microblog\" class=\"mention hashtag\" rel=\"tag\">#<span>microblog</span></a> to host your federated presence. I am contacting people who do so to try to reanimate the project. Would love to hear your ideas: <a href=\"https://github.com/orgs/microblog-pub/discussions\" rel=\"noopener\">https://github.com/orgs/microblog-pub/discussions</a></p>\n",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers",
"https://bw3.dev"
],
"published": "2024-07-24T02:02:56Z",
"context": "https://blog.nigini.me/contexts/6fe700410de74b649502133b36dac873",
"conversation": "https://blog.nigini.me/contexts/6fe700410de74b649502133b36dac873",
"url": "https://blog.nigini.me/o/6d4f002883fd48a9ba50be0f507d3254",
"tag": [
{
"type": "Mention",
"href": "https://bw3.dev",
"name": "@0x3b0b@bw3.dev"
},
{
"href": "https://blog.nigini.me/t/microblog",
"name": "#microblog",
"type": "Hashtag"
}
],
"summary": null,
"inReplyTo": "https://blog.nigini.me/o/06654e795a684a4c971b6124a8db2c53",
"sensitive": false,
"attachment": []
},
"published": "2024-07-24T02:02:56Z",
"type": "Create"
},
{
"actor": "https://blog.nigini.me",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers",
"https://social.beaware.live/users/BeAware"
],
"id": "https://blog.nigini.me/o/167162fa2a284127ab65a10e43cb7202/activity",
"object": {
"type": "Note",
"id": "https://blog.nigini.me/o/167162fa2a284127ab65a10e43cb7202",
"attributedTo": "https://blog.nigini.me",
"content": "<p><span class=\"h-card\"><a href=\"https://social.beaware.live/@BeAware\" class=\"u-url mention\">@BeAware@social.beaware.live</a></span> Holy Sh*t! Your response made me very excited about this! I thought the blog post was going to just sit there, like most stuff on (un)social media!</p>\n<p>If you have any ideas about how things should go, I'd love to talk to you: <a href=\"https://github.com/microblog-pub/microblog.pub/discussions\" rel=\"noopener\">https://github.com/microblog-pub/microblog.pub/discussions</a> ☺️</p>\n",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers",
"https://social.beaware.live/users/BeAware"
],
"published": "2024-07-24T01:27:42Z",
"context": "https://blog.nigini.me/contexts/6fe700410de74b649502133b36dac873",
"conversation": "https://blog.nigini.me/contexts/6fe700410de74b649502133b36dac873",
"url": "https://blog.nigini.me/o/167162fa2a284127ab65a10e43cb7202",
"tag": [
{
"type": "Mention",
"href": "https://social.beaware.live/users/BeAware",
"name": "@BeAware@social.beaware.live"
}
],
"summary": null,
"inReplyTo": "https://social.beaware.live/users/BeAware/statuses/112838822280222260",
"sensitive": false,
"attachment": []
},
"published": "2024-07-24T01:27:42Z",
"type": "Create"
},
{
"actor": "https://blog.nigini.me",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers"
],
"id": "https://blog.nigini.me/o/06654e795a684a4c971b6124a8db2c53/activity",
"object": {
"type": "Note",
"id": "https://blog.nigini.me/o/06654e795a684a4c971b6124a8db2c53",
"attributedTo": "https://blog.nigini.me",
"content": "<p>Although I haven't used this poor abandoned blog much, it is not because I dislike the MicroBlog.pub software that I am using to self-host it. It actually helped me to learn about the IndieWeb.org and MicroPub.net communities, as well as practice work with the ActivityPub.rocks protocol (which is the engine of the <a href=\"https://blog.nigini.me/t/fediverse\" class=\"mention hashtag\" rel=\"tag\">#<span>Fediverse</span></a>).</p>\n<p>Sadly, as I got excited about MicroBlog.pub, I realized that the creator had abandoned the project for more than a year. Issues, requests, and pull requests have piled up. The excitement of users faded away as I found forks close doors. But it is <a href=\"https://blog.nigini.me/t/opensource\" class=\"mention hashtag\" rel=\"tag\">#<span>opensource</span></a>, right?</p>\n<p>Yep!</p>\n<p>Hence, I decided to contact some other users and start a collective effort to keep this cool project alive. Here is where it will live: <a href=\"https://github.com/microblog-pub\" rel=\"noopener\">https://github.com/microblog-pub</a></p>\n<p>Let us hope I will be able to put together a good crew. 🤞</p>\n",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers"
],
"published": "2024-07-24T01:08:11Z",
"context": "https://blog.nigini.me/contexts/6fe700410de74b649502133b36dac873",
"conversation": "https://blog.nigini.me/contexts/6fe700410de74b649502133b36dac873",
"url": "https://blog.nigini.me/o/06654e795a684a4c971b6124a8db2c53",
"tag": [
{
"href": "https://blog.nigini.me/t/fediverse",
"name": "#fediverse",
"type": "Hashtag"
},
{
"href": "https://blog.nigini.me/t/opensource",
"name": "#opensource",
"type": "Hashtag"
}
],
"summary": null,
"inReplyTo": null,
"sensitive": false,
"attachment": [
{
"type": "Document",
"mediaType": "image/jpeg",
"name": "The MicroBlog logo where the MicroPub is written in black and the .pub in green. Also, it uses the \"micro\" greek letter in place of the 5 letter at the beginning of the name.",
"url": "https://blog.nigini.me/attachments/698a613e2bee49e23440559cfde5d879b69bba9b6dd8b10a718dc10d5f4862ae/micropub.jpg",
"blurhash": "LFSs87n,ofoyt7fQayj[~qf$WBaf",
"height": 400,
"width": 400
}
]
},
"published": "2024-07-24T01:08:11Z",
"type": "Create"
},
{
"actor": "https://blog.nigini.me",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers"
],
"id": "https://blog.nigini.me/o/968dc7ffa0d04c21b36c99d5a87d32b1/activity",
"object": {
"type": "Note",
"id": "https://blog.nigini.me/o/968dc7ffa0d04c21b36c99d5a87d32b1",
"attributedTo": "https://blog.nigini.me",
"content": "<p>What an impressive set of <a href=\"https://blog.nigini.me/t/tech\" class=\"mention hashtag\" rel=\"tag\">#<span>tech</span></a> <a href=\"https://blog.nigini.me/t/design\" class=\"mention hashtag\" rel=\"tag\">#<span>design</span></a> principles Nathan Schneider presents as the framework for his "Governable Spaces" book (<a href=\"https://nathanschneider.info/books/governable-spaces/):\" rel=\"noopener\">https://nathanschneider.info/books/governable-spaces/):</a></p>\n<ul>\n<li>\n<p>Aníbal Quijano: "...search for holistic cross-cultural knowledge that welcomes difference and refuses domination;</p>\n</li>\n<li>\n<p>Arturo Escobar: <a href=\"https://blog.nigini.me/t/pluriversality\" class=\"mention hashtag\" rel=\"tag\">#<span>pluriversality</span></a> "...no single design can serve all people... design as an exercise in historical consciousness and multiplicity" and <a href=\"https://blog.nigini.me/t/decoloniality\" class=\"mention hashtag\" rel=\"tag\">#<span>decoloniality</span></a> "a form of resistance to being designed from elsewhere."</p>\n</li>\n<li>\n<p><a href=\"https://blog.nigini.me/t/designjustice\" class=\"mention hashtag\" rel=\"tag\">#<span>DesignJustice</span></a>: "design must occur through rigorous accountability to the people whose lives it will shape."</p>\n</li>\n</ul>\n<p>... and more!</p>\n",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers"
],
"published": "2024-05-28T03:34:47Z",
"context": "https://blog.nigini.me/contexts/0a8bfeabc07f4d419ca74616265ebee8",
"conversation": "https://blog.nigini.me/contexts/0a8bfeabc07f4d419ca74616265ebee8",
"url": "https://blog.nigini.me/o/968dc7ffa0d04c21b36c99d5a87d32b1",
"tag": [
{
"href": "https://blog.nigini.me/t/tech",
"name": "#tech",
"type": "Hashtag"
},
{
"href": "https://blog.nigini.me/t/design",
"name": "#design",
"type": "Hashtag"
},
{
"href": "https://blog.nigini.me/t/pluriversality",
"name": "#pluriversality",
"type": "Hashtag"
},
{
"href": "https://blog.nigini.me/t/decoloniality",
"name": "#decoloniality",
"type": "Hashtag"
},
{
"href": "https://blog.nigini.me/t/designjustice",
"name": "#designjustice",
"type": "Hashtag"
}
],
"summary": null,
"inReplyTo": null,
"sensitive": false,
"attachment": []
},
"published": "2024-05-28T03:34:47Z",
"type": "Create"
},
{
"actor": "https://blog.nigini.me",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers"
],
"id": "https://blog.nigini.me/o/219836000117423b8b51d237ac868d09/activity",
"object": {
"type": "Note",
"id": "https://blog.nigini.me/o/219836000117423b8b51d237ac868d09",
"attributedTo": "https://blog.nigini.me",
"content": "<p><a href=\"https://blog.nigini.me/t/quotes\" class=\"mention hashtag\" rel=\"tag\">#<span>quotes</span></a> <a href=\"https://blog.nigini.me/t/philosophy\" class=\"mention hashtag\" rel=\"tag\">#<span>philosophy</span></a> <a href=\"https://blog.nigini.me/t/hacking\" class=\"mention hashtag\" rel=\"tag\">#<span>hacking</span></a></p>\n<p>History is the virtual made actual, one hack after another.\r\nHistory is the cumulative qualitative differentiation of nature as it is hacked.</p>\n<p>-- McKenzie Wark, A Hacker Manifesto</p>\n",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers"
],
"published": "2024-05-28T01:18:21Z",
"context": "https://blog.nigini.me/contexts/efbd5e0cc4ef4ad5ad907feedab76f8a",
"conversation": "https://blog.nigini.me/contexts/efbd5e0cc4ef4ad5ad907feedab76f8a",
"url": "https://blog.nigini.me/o/219836000117423b8b51d237ac868d09",
"tag": [
{
"href": "https://blog.nigini.me/t/quotes",
"name": "#quotes",
"type": "Hashtag"
},
{
"href": "https://blog.nigini.me/t/philosophy",
"name": "#philosophy",
"type": "Hashtag"
},
{
"href": "https://blog.nigini.me/t/hacking",
"name": "#hacking",
"type": "Hashtag"
}
],
"summary": null,
"inReplyTo": null,
"sensitive": false,
"attachment": []
},
"published": "2024-05-28T01:18:21Z",
"type": "Create"
},
{
"actor": "https://blog.nigini.me",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers"
],
"id": "https://blog.nigini.me/o/dc0fa4ffef804e50a33659832cfdc2bd/activity",
"object": {
"type": "Article",
"id": "https://blog.nigini.me/o/dc0fa4ffef804e50a33659832cfdc2bd",
"attributedTo": "https://blog.nigini.me",
"content": "<p><a href=\"https://blog.nigini.me/t/fediverse\" class=\"mention hashtag\" rel=\"tag\">#<span>Fediverse</span></a> <a href=\"https://blog.nigini.me/t/thecommons\" class=\"mention hashtag\" rel=\"tag\">#<span>TheCommons</span></a> <a href=\"https://blog.nigini.me/t/dweb\" class=\"mention hashtag\" rel=\"tag\">#<span>DWeb</span></a> <a href=\"https://blog.nigini.me/t/readings\" class=\"mention hashtag\" rel=\"tag\">#<span>Readings</span></a></p>\n<p>Two of my favorite readings this January speak to the pains and gains of sharing public resources, or "the commons," from very different perspectives. The first is Ethan Zuckerman's essay, "<a href=\"https://doi.org/10.20368/1971-8829/1135818\">How social media could teach us to be better citizens</a>." The second is an excerpt from Michelle Nijhuis's book, "<a href=\"https://aeon.co/essays/the-tragedy-of-the-commons-is-a-false-and-dangerous-myth\">The tragedy of the commons is a false and dangerous myth</a>." While Zuckerman speaks about the recent human experience of mingling in the digital world, Nijhuis brings up the perspective from our ancient relationships with natural resources and wildlife. <strong>An overarching message? There is no unique "solution" for collective living: WE must engage with local communities to learn how to create sustainable and civic environments.</strong></p>\n<p>There is no silver bullet, but there are helpful guidelines to create thriving collectives sharing common resources. Nijhuis's essay echoes Nobel recipient Elinor Ostrom's work in Economics: "There are many, many ways of doing things that work in different environments." This is an essential message to people like me who were educated to search for, and only accept, clear and final solutions to problems. Her Nobel was awarded for observing how collectives worldwide successfully managed their shared resources. Nijhuis offers an excellent summary of these findings:</p>\n<blockquote>\n<p><em>"The features of successful systems, Ostrom and her colleagues found, include clear boundaries (the 'community' doing the managing must be well-defined); reliable monitoring of the shared resource; a reasonable balance of costs and benefits for participants; a predictable process for the fast and fair resolution of conflicts; an escalating series of punishments for cheaters; and good relationships between the community and other layers of authority, from household heads to international institutions."</em></p>\n</blockquote>\n<p>I remember repeatedly reading this list of features throughout my academic life dedicated to dreaming about the social web and how it should have been. Not surprisingly, reading this text triggered once again a dormant thread of hopes: Will The Commons turn a new page in its life? Is it now the time we will pay attention to Prof. Ostrom's work when practicing creating our information commons?</p>\n<hr />\n<p>And as we got to the topic of Information Commons, Zuckerman's piece offers some arguments on why we should be more active members and managers of our online communities. He states that taking control over the governance of our social spaces and operating the platforms we use, would mean regaining power over our collective resources in a world where our lives are increasingly dependent on such digital resources. But Zuckerman also thinks that governing the online spaces we are members of is a unique opportunity to go to "democracy school." He further explains his argument in a Mastodon conversation, where I originally found his text:</p>\n<blockquote>\n<p>*"To be effective civic actors, we need practice. We need spaces to learn how to run meetings, to have productive disagreements, to work with people we don't always like. Historically, this happened in social clubs, bowling leagues, etc. Now it happens online." * <a href=\"https://octodon.social/@ethanz/109660947832288986\">Zuckerman@Mastodon</a></p>\n</blockquote>\n<p>I love that I found his academic text through his Mastodon profile mainly because this is the social network that, for the first time, I feel I have been practicing his suggestion: get involved and practice being a civic actor! Although Zukerman does not cite Mastodon or any recent movements toward the decentralization of social media -- sometimes also referred to as the Fediverse; I think this is only a matter of its novelty and lack of studies around it. He exemplifies his arguments with the communities on Reddit, which changed the landscape of Online Forums by giving more control and independence to its "sub-Reddit" moderators. This power-sharing is such that moderators have rebelled against some platforms' decisions and organized strikes, <a href=\"https://theconversation.com/as-ceo-exits-reddit-finds-to-its-cost-that-even-unpaid-workers-can-go-on-strike-44530\">temporarily closing their communities and content</a>. In the Mastodon case, community members have a chance to own both the governance and the platform, making them responsible for decisions on data privacy, moderation procedures, and all the involved liability.</p>\n<p>For many, this can be too much, which is fair; that is the reality of the offline world, too, isn't it? For instance, how many parents in a school or workers in a union actively get involved in the governance of their collectives? The point here is to allow groups to create their ways and have the means to operate their digital social spaces, a rare attitude in the past as privately-owned and for-profit platforms proliferated. In my experience volunteering in the admin team for the <a href=\"https://hci.social/\">HCI.social</a> Mastodon server, I quickly learned how much trust is invested in creating an online civic space. For example, take what Ostrom defines as "clearly defining the boundaries of a community": it takes many eyes and hours of discussion to respond to moderation requests and decide the ins and outs of our commons. And that is in our case, where we are playing the role of "benevolent gods," making decisions in the name of hundreds of members. Others decided to experience a more involved approach to collective governance (e.g., <a href=\"https://wiki.social.coop/Governance.html\">social.coop</a>), which is incredible to observe. I am fully on board with Ostrom's idea that there are many, many ways for communities to work and break. I hope that more of us will pay attention to Ostrom's observations and the centuries of experiences as brilliantly reported by Nijhuis. I hope that with many more of us trying it out, some will succeed. And, by trying, many individuals like me, as suggested by Zuckerman, will have their fair share of civic training.</p>\n",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers"
],
"published": "2023-01-29T05:38:43Z",
"context": "https://blog.nigini.me/contexts/0291699ba29f453193f1bdb6ca861b73",
"conversation": "https://blog.nigini.me/contexts/0291699ba29f453193f1bdb6ca861b73",
"url": "https://blog.nigini.me/articles/dc0fa4f/feeding-my-fediverse-obsession-two-readings-and-many-hopes",
"tag": [
{
"href": "https://blog.nigini.me/t/fediverse",
"name": "#fediverse",
"type": "Hashtag"
},
{
"href": "https://blog.nigini.me/t/thecommons",
"name": "#thecommons",
"type": "Hashtag"
},
{
"href": "https://blog.nigini.me/t/dweb",
"name": "#dweb",
"type": "Hashtag"
},
{
"href": "https://blog.nigini.me/t/readings",
"name": "#readings",
"type": "Hashtag"
}
],
"summary": null,
"inReplyTo": null,
"sensitive": false,
"attachment": [],
"name": "Feeding my Fediverse Obsession: Two Readings and many Hopes"
},
"published": "2023-01-29T05:38:43Z",
"type": "Create"
}
]
}