I 2024-02-13 22:10:42.621867+00:00 Got Create from https://ruby.social/users/codefolio: {
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"ostatus": "http://ostatus.org#",
"atomUri": "ostatus:atomUri",
"inReplyToAtomUri": "ostatus:inReplyToAtomUri",
"conversation": "ostatus:conversation",
"sensitive": "as:sensitive",
"toot": "http://joinmastodon.org/ns#",
"votersCount": "toot:votersCount"
}
],
"id": "https://ruby.social/users/codefolio/statuses/111926459828568762/activity",
"type": "Create",
"actor": "https://ruby.social/users/codefolio",
"published": "2024-02-13T22:10:41Z",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://ruby.social/users/codefolio/followers",
"https://indieweb.social/users/jdp23",
"https://hachyderm.io/users/akareilly",
"https://fed.brid.gy/snarfed.org"
],
"object": {
"id": "https://ruby.social/users/codefolio/statuses/111926459828568762",
"type": "Note",
"summary": null,
"inReplyTo": "https://indieweb.social/users/jdp23/statuses/111926271819118911",
"published": "2024-02-13T22:10:41Z",
"url": "https://ruby.social/@codefolio/111926459828568762",
"attributedTo": "https://ruby.social/users/codefolio",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://ruby.social/users/codefolio/followers",
"https://indieweb.social/users/jdp23",
"https://hachyderm.io/users/akareilly",
"https://fed.brid.gy/snarfed.org"
],
"sensitive": false,
"atomUri": "https://ruby.social/users/codefolio/statuses/111926459828568762",
"inReplyToAtomUri": "https://indieweb.social/users/jdp23/statuses/111926271819118911",
"conversation": "tag:hachyderm.io,2024-02-12:objectId=125556582:objectType=Conversation",
"content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://indieweb.social/@jdp23\" class=\"u-url mention\">@<span>jdp23</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://hachyderm.io/@akareilly\" class=\"u-url mention\">@<span>akareilly</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://fed.brid.gy/r/https://snarfed.org/\" class=\"u-url mention\">@<span>snarfed.org</span></a></span> </p><p>If the data is public but personal, yes, the person whose data it is can make requests about it under GDPR. And I don't see anything about whether it's public data under 6 (1).</p><p>So even if published somewhere, you can say "hey, give me a copy of all my data" and/or "delete my data", for instance.</p><p>In this case it's public, but not public domain or anything. It's still *your* data. A bit like a book, published but still clearly under copyright.</p>",
"contentMap": {
"en": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://indieweb.social/@jdp23\" class=\"u-url mention\">@<span>jdp23</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://hachyderm.io/@akareilly\" class=\"u-url mention\">@<span>akareilly</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://fed.brid.gy/r/https://snarfed.org/\" class=\"u-url mention\">@<span>snarfed.org</span></a></span> </p><p>If the data is public but personal, yes, the person whose data it is can make requests about it under GDPR. And I don't see anything about whether it's public data under 6 (1).</p><p>So even if published somewhere, you can say "hey, give me a copy of all my data" and/or "delete my data", for instance.</p><p>In this case it's public, but not public domain or anything. It's still *your* data. A bit like a book, published but still clearly under copyright.</p>"
},
"attachment": [],
"tag": [
{
"type": "Mention",
"href": "https://indieweb.social/users/jdp23",
"name": "@jdp23@indieweb.social"
},
{
"type": "Mention",
"href": "https://hachyderm.io/users/akareilly",
"name": "@akareilly@hachyderm.io"
},
{
"type": "Mention",
"href": "https://fed.brid.gy/snarfed.org",
"name": "@snarfed.org@snarfed.org"
}
],
"replies": {
"id": "https://ruby.social/users/codefolio/statuses/111926459828568762/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://ruby.social/users/codefolio/statuses/111926459828568762/replies?only_other_accounts=true&page=true",
"partOf": "https://ruby.social/users/codefolio/statuses/111926459828568762/replies",
"items": []
}
}
},
"signature": ... "type": "RsaSignature2017",
"creator": "https://ruby.social/users/codefolio#main-key",
"created": "2024-02-13T22:10:42Z",
"signatureValue": "hqhUVdaSxkgZMIJF9QrvUI5oVibO6yiAC9+ozxRbT5SCjzm80XNqKq9//hDYs31wGpfAatumo6XlbthsDI7QnGQlKn3VgAn1abJ3G6gy7jLMUurPUTA66iM1uz2/KbW88RgMCjSQXmkZhFTndr2uENxreWgLARGeK694s/Wxk0uR2y/HG1sgB5L8/FryqgM29/OwvsXbsLgNSbqVjXaS3SYo+r13wmtA2B0eIPr7Vj2187aN/qi0g5/H1LA7bCBWnV0QPa663Tt0tcwziCYcKZCBCSYW3hxE3UsQN3vkoY/WJQoKegVOHVNHMQgZ2liePMixdVCPpyTUDiDkU2e/ww=="
}
}
I 2024-02-13 22:10:42.622318+00:00 Verifying HTTP Signature
D 2024-02-13 22:10:42.622685+00:00 Loading Object https://ruby.social/users/codefolio local=True remote=None
D 2024-02-13 22:10:42.672699+00:00 got from datastore
D 2024-02-13 22:10:42.673035+00:00 last updated 2023-03-06 14:08:51.350336, refreshing
I 2024-02-13 22:10:42.680959+00:00 Signing with Key('MagicKey', 'fed.brid.gy')'s key
I 2024-02-13 22:10:44.890742+00:00 requests.get https://ruby.social/users/codefolio {'data': None, 'auth': <httpsig.requests_auth.HTTPSignatureAuth object at 0x3e514d7313d0>, 'headers': {'Accept': '...', 'Date': '...', 'Host': '...', 'Content-Type': '...', 'Digest': '...'}, 'gateway': True}
I 2024-02-13 22:10:45.805387+00:00 Received 200:
I 2024-02-13 22:10:45.805677+00:00 Received 200
I 2024-02-13 22:10:45.805849+00:00 Got 200 headers: {'Date': 'Tue, 13 Feb 2024 22:10:45 GMT', 'Content-Type': 'application/activity+json; charset=utf-8', 'Content-Length': '5719', 'Connection': 'keep-alive', 'Server': 'Mastodon', 'X-Frame-Options': 'DENY', 'X-Content-Type-Options': 'nosniff', 'X-XSS-Protection': '0', 'Referrer-Policy': 'same-origin', 'Cache-Control': 'max-age=180, public', 'ETag': 'W/"ed72e8194ae629d453e73ed12819d26f"', 'Content-Security-Policy': "base-uri 'none'; default-src 'none'; frame-ancestors 'none'; font-src 'self' https://ruby.social; img-src 'self' https: data: blob: https://ruby.social; style-src 'self' https://ruby.social 'nonce-s0FBKOaX7tb3xPyRZ439/A=='; media-src 'self' https: data: https://ruby.social; frame-src 'self' https:; manifest-src 'self' https://ruby.social; form-action 'self'; child-src 'self' blob: https://ruby.social; worker-src 'self' blob: https://ruby.social; connect-src 'self' data: blob: https://ruby.social https://cdn.masto.host wss://ruby.social; script-src 'self' https://ruby.social 'wasm-unsafe-eval'", 'X-Request-Id': 'ef235025-9568-4b7e-865a-67b1c32c6f5c', 'X-Runtime': '0.015462', 'Strict-Transport-Security': 'max-age=63072000; includeSubDomains, max-age=31536000', 'vary': 'Accept, Accept-Language, Cookie, Origin'}
I 2024-02-13 22:10:45.806185+00:00 {
"followers": "https://ruby.social/users/codefolio/followers",
"type": "Person",
"tag": [],
"id": "https://ruby.social/users/codefolio",
"memorial": false,
"endpoints": {
"sharedInbox": "https://ruby.social/inbox"
},
"summary": "<p>I benchmark Ruby and graph the results, including at <a href=\"https://speed.yjit.org\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">speed.yjit.org</span><span class=\"invisible\"></span></a>. I give talks about Ruby and programming. I write at <a href=\"https://codefol.io\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">codefol.io</span><span class=\"invisible\"></span></a>, where you can get on my email list for free chapters. I wrote Rebuilding Rails, Rebuilding HTTP and Mastering Software Technique.</p><p>I live in Inverness, Scotland with my wife, three kids, and two cats.</p><p>In the Scottish Highlands? <a href=\"https://highlandwebgroup.co.uk/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">highlandwebgroup.co.uk/</span><span class=\"invisible\"></span></a></p>",
"discoverable": true,
"url": "https://ruby.social/@codefolio",
"publicKey": {
"owner": "https://ruby.social/users/codefolio",
"id": "https://ruby.social/users/codefolio#main-key",
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyea0G7l9gDwoueUt+d7w\nwabdl7EHwQEbymgaimX0bi9U2Gpq5zbT/Nic0CviCMC9qy+XiQMcUSKzQxIEsgbT\n7duz8xWreYpaKnlvIK9md8dYY+yMYACJBCYzAogbc5pTkQt0fKFeY1RxvuHISyi7\nXMa1dPa50ZOfJNPoM1sRrLsvCgoFA2tGWX8cxJMJ2JiNuYYbupPZ4VJ9zXarV3g4\ncra9mK06HVHaGQfo7LD3rTVgcvQwuOEMEvhVgMWJz3peJ6U9Xwt7LtwoI7tAkyaA\nxX8Rfhr2Y5aGax1F6/3VrL8+MOhnoH4RpJUW+IqraMgGKUpGLsvXzqTR4LqbV4Gh\nXQIDAQAB\n-----END PUBLIC KEY-----\n"
},
"featuredTags": "https://ruby.social/users/codefolio/collections/tags",
"name": "Noah Gibbs",
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{
"cipherText": "toot:cipherText",
"memorial": "toot:memorial",
"toot": "http://joinmastodon.org/ns#",
"focalPoint": {
"@container": "@list",
"@id": "toot:focalPoint"
},
"identityKey": {
"@id": "toot:identityKey",
"@type": "@id"
},
"indexable": "toot:indexable",
"Device": "toot:Device",
"devices": {
"@id": "toot:devices",
"@type": "@id"
},
"PropertyValue": "schema:PropertyValue",
"messageFranking": "toot:messageFranking",
"deviceId": "toot:deviceId",
"Curve25519Key": "toot:Curve25519Key",
"featured": {
"@id": "toot:featured",
"@type": "@id"
},
"value": "schema:value",
"claim": {
"@id": "toot:claim",
"@type": "@id"
},
"discoverable": "toot:discoverable",
"featuredTags": {
"@id": "toot:featuredTags",
"@type": "@id"
},
"alsoKnownAs": {
"@id": "as:alsoKnownAs",
"@type": "@id"
},
"suspended": "toot:suspended",
"publicKeyBase64": "toot:publicKeyBase64",
"schema": "http://schema.org#",
"manuallyApprovesFollowers": "as:manuallyApprovesFollowers",
"Ed25519Key": "toot:Ed25519Key",
"Ed25519Signature": "...",
"EncryptedMessage": "toot:EncryptedMessage",
"messageType": "toot:messageType",
"fingerprintKey": {
"@id": "toot:fingerprintKey",
"@type": "@id"
},
"movedTo": {
"@id": "as:movedTo",
"@type": "@id"
}
}
],
"indexable": true,
"image": {
"mediaType": "image/jpeg",
"type": "Image",
"url": "https://cdn.masto.host/rubysocial/accounts/headers/109/287/405/614/101/007/original/17de24df8a014bdd.jpeg"
},
"following": "https://ruby.social/users/codefolio/following",
"devices": "https://ruby.social/users/codefolio/collections/devices",
"manuallyApprovesFollowers": false,
"published": "2022-11-04T00:00:00Z",
"attachment": [
{
"value": "<a href=\"https://codefol.io\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">codefol.io</span><span class=\"invisible\"></span></a>",
"type": "PropertyValue",
"name": "Blog"
},
{
"value": "<a href=\"https://rebuilding-rails.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">rebuilding-rails.com</span><span class=\"invisible\"></span></a>",
"type": "PropertyValue",
"name": "Book"
},
{
"value": "<a href=\"https://rebuilding-http.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">rebuilding-http.com</span><span class=\"invisible\"></span></a>",
"type": "PropertyValue",
"name": "Book"
},
{
"value": "<a href=\"https://software-technique.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">software-technique.com</span><span class=\"invisible\"></span></a>",
"type": "PropertyValue",
"name": "Book"
}
],
"icon": {
"mediaType": "image/jpeg",
"type": "Image",
"url": "https://cdn.masto.host/rubysocial/accounts/avatars/109/287/405/614/101/007/original/e1d0e0917f7e4570.jpg"
},
"inbox": "https://ruby.social/users/codefolio/inbox",
"outbox": "https://ruby.social/users/codefolio/outbox",
"preferredUsername": "codefolio",
"featured": "https://ruby.social/users/codefolio/collections/featured"
}
I 2024-02-13 22:10:45.831124+00:00 Verifying signature ... /snarfed.org/inbox with key -----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyea0G7l9gDwoueUt+d7w
wabdl7EHwQEbymgaimX0bi9U2Gpq5zbT/Nic0CviCMC9qy+XiQMcUSKzQxIEsgbT
7duz8xWreYpaKnlvIK9md8dYY+yMYACJBCYzAogbc5pTkQt0fKFeY1RxvuHISyi7
XMa1dPa50ZOfJNPoM1sRrLsvCgoFA2tGWX8cxJMJ2JiNuYYbupPZ4VJ9zXarV3g4
cra9mK06HVHaGQfo7LD3rTVgcvQwuOEMEvhVgMWJz3peJ6U9Xwt7LtwoI7tAkyaA
xX8Rfhr2Y5aGax1F6/3VrL8+MOhnoH4RpJUW+IqraMgGKUpGLsvXzqTR4LqbV4Gh
XQIDAQAB
-----END PUBLIC KEY-----
I 2024-02-13 22:10:45.833531+00:00 HTTP Signature ...
I 2024-02-13 22:10:45.836165+00:00 From activitypub: Key('Object', 'https://ruby.social/users/codefolio/statuses/111926459828568762/activity') AS1: {
"id": "https://ruby.social/users/codefolio/statuses/111926459828568762/activity",
"actor": "https://ruby.social/users/codefolio",
"published": "2024-02-13T22:10:41Z",
"to": [
{
"id": "https://www.w3.org/ns/activitystreams#Public"
},
{
"objectType": "group",
"alias": "@public"
}
],
"cc": [
{
"id": "https://hachyderm.io/users/akareilly"
},
{
"id": "https://indieweb.social/users/jdp23"
},
{
"id": "https://ruby.social/users/codefolio/followers"
},
{
"id": "snarfed.org"
}
],
"signature": ... "type": "RsaSignature2017",
"creator": "https://ruby.social/users/codefolio#main-key",
"created": "2024-02-13T22:10:42Z",
"signatureValue": "hqhUVdaSxkgZMIJF9QrvUI5oVibO6yiAC9+ozxRbT5SCjzm80XNqKq9//hDYs31wGpfAatumo6XlbthsDI7QnGQlKn3VgAn1abJ3G6gy7jLMUurPUTA66iM1uz2/KbW88RgMCjSQXmkZhFTndr2uENxreWgLARGeK694s/Wxk0uR2y/HG1sgB5L8/FryqgM29/OwvsXbsLgNSbqVjXaS3SYo+r13wmtA2B0eIPr7Vj2187aN/qi0g5/H1LA7bCBWnV0QPa663Tt0tcwziCYcKZCBCSYW3hxE3UsQN3vkoY/WJQoKegVOHVNHMQgZ2liePMixdVCPpyTUDiDkU2e/ww=="
},
"objectType": "activity",
"verb": "post",
"object": {
"id": "https://ruby.social/users/codefolio/statuses/111926459828568762",
"inReplyTo": [
"https://indieweb.social/users/jdp23/statuses/111926271819118911"
],
"published": "2024-02-13T22:10:41Z",
"url": "https://ruby.social/@codefolio/111926459828568762",
"to": [
{
"id": "https://www.w3.org/ns/activitystreams#Public"
},
{
"objectType": "group",
"alias": "@public"
}
],
"cc": [
{
"id": "https://hachyderm.io/users/akareilly"
},
{
"id": "https://indieweb.social/users/jdp23"
},
{
"id": "https://ruby.social/users/codefolio/followers"
},
{
"id": "snarfed.org"
}
],
"sensitive": false,
"atomUri": "https://ruby.social/users/codefolio/statuses/111926459828568762",
"inReplyToAtomUri": "https://indieweb.social/users/jdp23/statuses/111926271819118911",
"conversation": "tag:hachyderm.io,2024-02-12:objectId=125556582:objectType=Conversation",
"content": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://indieweb.social/@jdp23\" class=\"u-url mention\">@<span>jdp23</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://hachyderm.io/@akareilly\" class=\"u-url mention\">@<span>akareilly</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://fed.brid.gy/r/https://snarfed.org/\" class=\"u-url mention\">@<span>snarfed.org</span></a></span> </p><p>If the data is public but personal, yes, the person whose data it is can make requests about it under GDPR. And I don't see anything about whether it's public data under 6 (1).</p><p>So even if published somewhere, you can say "hey, give me a copy of all my data" and/or "delete my data", for instance.</p><p>In this case it's public, but not public domain or anything. It's still *your* data. A bit like a book, published but still clearly under copyright.</p>",
"contentMap": {
"en": "<p><span class=\"h-card\" translate=\"no\"><a href=\"https://indieweb.social/@jdp23\" class=\"u-url mention\">@<span>jdp23</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://hachyderm.io/@akareilly\" class=\"u-url mention\">@<span>akareilly</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://fed.brid.gy/r/https://snarfed.org/\" class=\"u-url mention\">@<span>snarfed.org</span></a></span> </p><p>If the data is public but personal, yes, the person whose data it is can make requests about it under GDPR. And I don't see anything about whether it's public data under 6 (1).</p><p>So even if published somewhere, you can say "hey, give me a copy of all my data" and/or "delete my data", for instance.</p><p>In this case it's public, but not public domain or anything. It's still *your* data. A bit like a book, published but still clearly under copyright.</p>"
},
"replies": {
"id": "https://ruby.social/users/codefolio/statuses/111926459828568762/replies",
"first": {
"type": "CollectionPage",
"next": "https://ruby.social/users/codefolio/statuses/111926459828568762/replies?only_other_accounts=true&page=true",
"partOf": "https://ruby.social/users/codefolio/statuses/111926459828568762/replies"
},
"objectType": "collection"
},
"objectType": "comment",
"tags": [
{
"objectType": "mention",
"displayName": "@jdp23@indieweb.social",
"url": "https://indieweb.social/users/jdp23"
},
{
"objectType": "mention",
"displayName": "@akareilly@hachyderm.io",
"url": "https://hachyderm.io/users/akareilly"
},
{
"objectType": "mention",
"displayName": "@snarfed.org@snarfed.org",
"url": "snarfed.org"
}
],
"author": {
"id": "https://ruby.social/users/codefolio"
}
}
}
D 2024-02-13 22:10:45.859506+00:00 Loading Object https://ruby.social/users/codefolio/statuses/111926459828568762/activity local=True remote=False
D 2024-02-13 22:10:45.871805+00:00 not in datastore
I 2024-02-13 22:10:46.108805+00:00 Wrote Key('Object', 'https://ruby.social/users/codefolio/statuses/111926459828568762/activity') {'as2': '...', 'labels': ['activity'], 'object_ids': ['https://ruby.social/users/codefolio/statuses/111926459828568762'], 'our_as1': '...', 'type': 'post', 'new': True}
I 2024-02-13 22:10:46.327512+00:00 Wrote Key('Object', 'https://ruby.social/users/codefolio/statuses/111926459828568762/activity') {'as2': '...', 'labels': ['activity'], 'object_ids': ['https://ruby.social/users/codefolio/statuses/111926459828568762'], 'our_as1': '...', 'source_protocol': 'activitypub', 'type': 'post', 'users': [Key('ActivityPub', 'https://ruby.social/users/codefolio')], 'new': True}
I 2024-02-13 22:10:46.378340+00:00 Wrote Key('Object', 'https://ruby.social/users/codefolio/statuses/111926459828568762') {'our_as1': '...', 'source_protocol': 'activitypub', 'type': 'comment', 'new': True}
I 2024-02-13 22:10:46.424759+00:00 Fetching actor so we have name, profile photo, etc
D 2024-02-13 22:10:46.425013+00:00 Loading Object https://ruby.social/users/codefolio local=True remote=None
D 2024-02-13 22:10:46.425133+00:00 got from cache
D 2024-02-13 22:10:46.425591+00:00 last updated 2023-03-06 14:08:51.350336, refreshing
I 2024-02-13 22:10:46.428232+00:00 Signing with Key('MagicKey', 'fed.brid.gy')'s key
I 2024-02-13 22:10:47.177900+00:00 requests.get https://ruby.social/users/codefolio {'data': None, 'auth': <httpsig.requests_auth.HTTPSignatureAuth object at 0x3e514d73a810>, 'headers': {'Accept': '...', 'Date': '...', 'Host': '...', 'Content-Type': '...', 'Digest': '...'}, 'gateway': True}
I 2024-02-13 22:10:47.902906+00:00 Received 200:
I 2024-02-13 22:10:47.903234+00:00 Received 200
I 2024-02-13 22:10:47.903401+00:00 Got 200 headers: {'Date': 'Tue, 13 Feb 2024 22:10:47 GMT', 'Content-Type': 'application/activity+json; charset=utf-8', 'Content-Length': '5719', 'Connection': 'keep-alive', 'Server': 'Mastodon', 'X-Frame-Options': 'DENY', 'X-Content-Type-Options': 'nosniff', 'X-XSS-Protection': '0', 'Referrer-Policy': 'same-origin', 'Cache-Control': 'max-age=180, public', 'ETag': 'W/"ed72e8194ae629d453e73ed12819d26f"', 'Content-Security-Policy': "base-uri 'none'; default-src 'none'; frame-ancestors 'none'; font-src 'self' https://ruby.social; img-src 'self' https: data: blob: https://ruby.social; style-src 'self' https://ruby.social 'nonce-g81MIsVRuTCApppRYwlQew=='; media-src 'self' https: data: https://ruby.social; frame-src 'self' https:; manifest-src 'self' https://ruby.social; form-action 'self'; child-src 'self' blob: https://ruby.social; worker-src 'self' blob: https://ruby.social; connect-src 'self' data: blob: https://ruby.social https://cdn.masto.host wss://ruby.social; script-src 'self' https://ruby.social 'wasm-unsafe-eval'", 'X-Request-Id': '9fa0f255-959d-4c61-8beb-6a368a66cdd4', 'X-Runtime': '0.016417', 'Strict-Transport-Security': 'max-age=63072000; includeSubDomains, max-age=31536000', 'vary': 'Accept, Accept-Language, Cookie, Origin'}
I 2024-02-13 22:10:47.903760+00:00 {
"followers": "https://ruby.social/users/codefolio/followers",
"type": "Person",
"tag": [],
"id": "https://ruby.social/users/codefolio",
"memorial": false,
"endpoints": {
"sharedInbox": "https://ruby.social/inbox"
},
"summary": "<p>I benchmark Ruby and graph the results, including at <a href=\"https://speed.yjit.org\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">speed.yjit.org</span><span class=\"invisible\"></span></a>. I give talks about Ruby and programming. I write at <a href=\"https://codefol.io\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">codefol.io</span><span class=\"invisible\"></span></a>, where you can get on my email list for free chapters. I wrote Rebuilding Rails, Rebuilding HTTP and Mastering Software Technique.</p><p>I live in Inverness, Scotland with my wife, three kids, and two cats.</p><p>In the Scottish Highlands? <a href=\"https://highlandwebgroup.co.uk/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">highlandwebgroup.co.uk/</span><span class=\"invisible\"></span></a></p>",
"discoverable": true,
"url": "https://ruby.social/@codefolio",
"publicKey": {
"owner": "https://ruby.social/users/codefolio",
"id": "https://ruby.social/users/codefolio#main-key",
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyea0G7l9gDwoueUt+d7w\nwabdl7EHwQEbymgaimX0bi9U2Gpq5zbT/Nic0CviCMC9qy+XiQMcUSKzQxIEsgbT\n7duz8xWreYpaKnlvIK9md8dYY+yMYACJBCYzAogbc5pTkQt0fKFeY1RxvuHISyi7\nXMa1dPa50ZOfJNPoM1sRrLsvCgoFA2tGWX8cxJMJ2JiNuYYbupPZ4VJ9zXarV3g4\ncra9mK06HVHaGQfo7LD3rTVgcvQwuOEMEvhVgMWJz3peJ6U9Xwt7LtwoI7tAkyaA\nxX8Rfhr2Y5aGax1F6/3VrL8+MOhnoH4RpJUW+IqraMgGKUpGLsvXzqTR4LqbV4Gh\nXQIDAQAB\n-----END PUBLIC KEY-----\n"
},
"featuredTags": "https://ruby.social/users/codefolio/collections/tags",
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{
"cipherText": "toot:cipherText",
"memorial": "toot:memorial",
"toot": "http://joinmastodon.org/ns#",
"focalPoint": {
"@container": "@list",
"@id": "toot:focalPoint"
},
"identityKey": {
"@id": "toot:identityKey",
"@type": "@id"
},
"indexable": "toot:indexable",
"Device": "toot:Device",
"PropertyValue": "schema:PropertyValue",
"devices": {
"@id": "toot:devices",
"@type": "@id"
},
"messageFranking": "toot:messageFranking",
"deviceId": "toot:deviceId",
"Curve25519Key": "toot:Curve25519Key",
"featured": {
"@id": "toot:featured",
"@type": "@id"
},
"value": "schema:value",
"claim": {
"@id": "toot:claim",
"@type": "@id"
},
"discoverable": "toot:discoverable",
"featuredTags": {
"@id": "toot:featuredTags",
"@type": "@id"
},
"alsoKnownAs": {
"@id": "as:alsoKnownAs",
"@type": "@id"
},
"suspended": "toot:suspended",
"publicKeyBase64": "toot:publicKeyBase64",
"schema": "http://schema.org#",
"manuallyApprovesFollowers": "as:manuallyApprovesFollowers",
"Ed25519Key": "toot:Ed25519Key",
"Ed25519Signature": "...",
"EncryptedMessage": "toot:EncryptedMessage",
"messageType": "toot:messageType",
"fingerprintKey": {
"@id": "toot:fingerprintKey",
"@type": "@id"
},
"movedTo": {
"@id": "as:movedTo",
"@type": "@id"
}
}
],
"name": "Noah Gibbs",
"indexable": true,
"image": {
"mediaType": "image/jpeg",
"type": "Image",
"url": "https://cdn.masto.host/rubysocial/accounts/headers/109/287/405/614/101/007/original/17de24df8a014bdd.jpeg"
},
"following": "https://ruby.social/users/codefolio/following",
"devices": "https://ruby.social/users/codefolio/collections/devices",
"manuallyApprovesFollowers": false,
"published": "2022-11-04T00:00:00Z",
"attachment": [
{
"value": "<a href=\"https://codefol.io\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">codefol.io</span><span class=\"invisible\"></span></a>",
"type": "PropertyValue",
"name": "Blog"
},
{
"value": "<a href=\"https://rebuilding-rails.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">rebuilding-rails.com</span><span class=\"invisible\"></span></a>",
"type": "PropertyValue",
"name": "Book"
},
{
"value": "<a href=\"https://rebuilding-http.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">rebuilding-http.com</span><span class=\"invisible\"></span></a>",
"type": "PropertyValue",
"name": "Book"
},
{
"value": "<a href=\"https://software-technique.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">software-technique.com</span><span class=\"invisible\"></span></a>",
"type": "PropertyValue",
"name": "Book"
}
],
"icon": {
"mediaType": "image/jpeg",
"type": "Image",
"url": "https://cdn.masto.host/rubysocial/accounts/avatars/109/287/405/614/101/007/original/e1d0e0917f7e4570.jpg"
},
"inbox": "https://ruby.social/users/codefolio/inbox",
"featured": "https://ruby.social/users/codefolio/collections/featured",
"preferredUsername": "codefolio",
"outbox": "https://ruby.social/users/codefolio/outbox"
}
I 2024-02-13 22:10:47.929031+00:00 Finding recipients and their targets
I 2024-02-13 22:10:47.956506+00:00 Raw targets: ['https://hachyderm.io/users/akareilly', 'https://indieweb.social/users/jdp23', 'https://indieweb.social/users/jdp23/statuses/111926271819118911', 'https://snarfed.org/']
I 2024-02-13 22:10:47.956844+00:00 Determining protocol for id https://indieweb.social/users/jdp23/statuses/111926271819118911
D 2024-02-13 22:10:47.957124+00:00 Loading Object https://indieweb.social/users/jdp23/statuses/111926271819118911 local=True remote=False
D 2024-02-13 22:10:47.971151+00:00 not in datastore
I 2024-02-13 22:10:47.971418+00:00 Trying activitypub
D 2024-02-13 22:10:47.971545+00:00 Loading Object https://indieweb.social/users/jdp23/statuses/111926271819118911 local=False remote=True
I 2024-02-13 22:10:47.971918+00:00 Signing with Key('MagicKey', 'fed.brid.gy')'s key
I 2024-02-13 22:10:48.787259+00:00 requests.get https://indieweb.social/users/jdp23/statuses/111926271819118911 {'data': None, 'auth': <httpsig.requests_auth.HTTPSignatureAuth object at 0x3e51640c5ad0>, 'headers': {'Accept': '...', 'Date': '...', 'Host': '...', 'Content-Type': '...', 'Digest': '...'}, 'gateway': True}
I 2024-02-13 22:10:49.535803+00:00 Received 200:
I 2024-02-13 22:10:49.536590+00:00 Received 200
I 2024-02-13 22:10:49.536913+00:00 Got 200 headers: {'Date': 'Tue, 13 Feb 2024 22:10:49 GMT', 'Content-Type': 'application/activity+json; charset=utf-8', 'Content-Length': '3812', 'Connection': 'keep-alive', 'Server': 'Mastodon', 'X-Frame-Options': 'DENY', 'X-Content-Type-Options': 'nosniff', 'X-XSS-Protection': '0', 'Referrer-Policy': 'same-origin', 'Vary': 'Accept, Accept-Language, Cookie, Signature', '...': '<https://indieweb.social/users/jdp23/statuses/111926271819118911>;; rel="alternate"; type="application/activity+json"', 'Cache-Control': 'private, no-store', 'ETag': 'W/"64d7783bdc539f0cbbddc93b4861140f"', 'Content-Security-Policy': "base-uri 'none'; default-src 'none'; frame-ancestors 'none'; font-src 'self' https://indieweb.social; img-src 'self' https: data: blob: https://indieweb.social; style-src 'self' https://indieweb.social 'nonce-pZOvaSsfjQDufZXySlpqwQ=='; media-src 'self' https: data: https://indieweb.social; frame-src 'self' https:; manifest-src 'self' https://indieweb.social; form-action 'self'; child-src 'self' blob: https://indieweb.social; worker-src 'self' blob: https://indieweb.social; connect-src 'self' data: blob: https://indieweb.social https://cdn.masto.host wss://indieweb.social; script-src 'self' https://indieweb.social 'wasm-unsafe-eval'", 'X-Request-Id': 'b796a03f-5272-451e-8320-bc992c488476', 'X-Runtime': '0.020186', 'Strict-Transport-Security': 'max-age=63072000; includeSubDomains, max-age=31536000'}
I 2024-02-13 22:10:49.537362+00:00 {
"sensitive": false,
"type": "Note",
"tag": [
{
"name": "@codefolio@ruby.social",
"type": "Mention",
"href": "https://ruby.social/users/codefolio"
},
{
"href": "https://hachyderm.io/users/akareilly",
"type": "Mention",
"name": "@akareilly@hachyderm.io"
},
{
"href": "https://fed.brid.gy/snarfed.org",
"type": "Mention",
"name": "@snarfed.org@snarfed.org"
}
],
"inReplyToAtomUri": "https://ruby.social/users/codefolio/statuses/111923746108175727",
"conversation": "tag:hachyderm.io,2024-02-12:objectId=125556582:objectType=Conversation",
"inReplyTo": "https://ruby.social/users/codefolio/statuses/111923746108175727",
"summary": null,
"url": "https://indieweb.social/@jdp23/111926271819118911",
"id": "https://indieweb.social/users/jdp23/statuses/111926271819118911",
"content": "<p>Does GDPR apply? The data's public, and in any case federating it falls under one or more of the other Article 6 (1) uses in addition to consent. </p><p>Don't get me wrong, I think it should be opt-in, but I'm not convinced it's a GDPR violation if it's not.</p><p><span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@codefolio\" class=\"u-url mention\">@<span>codefolio</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://hachyderm.io/@akareilly\" class=\"u-url mention\">@<span>akareilly</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://fed.brid.gy/r/https://snarfed.org/\" class=\"u-url mention\">@<span>snarfed.org</span></a></span></p>",
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"sensitive": "as:sensitive",
"inReplyToAtomUri": "ostatus:inReplyToAtomUri",
"conversation": "ostatus:conversation",
"votersCount": "toot:votersCount",
"ostatus": "http://ostatus.org#",
"toot": "http://joinmastodon.org/ns#",
"atomUri": "ostatus:atomUri"
}
],
"published": "2024-02-13T21:22:52Z",
"attachment": [],
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"attributedTo": "https://indieweb.social/users/jdp23",
"atomUri": "https://indieweb.social/users/jdp23/statuses/111926271819118911",
"contentMap": {
"en": "<p>Does GDPR apply? The data's public, and in any case federating it falls under one or more of the other Article 6 (1) uses in addition to consent. </p><p>Don't get me wrong, I think it should be opt-in, but I'm not convinced it's a GDPR violation if it's not.</p><p><span class=\"h-card\" translate=\"no\"><a href=\"https://ruby.social/@codefolio\" class=\"u-url mention\">@<span>codefolio</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://hachyderm.io/@akareilly\" class=\"u-url mention\">@<span>akareilly</span></a></span> <span class=\"h-card\" translate=\"no\"><a href=\"https://fed.brid.gy/r/https://snarfed.org/\" class=\"u-url mention\">@<span>snarfed.org</span></a></span></p>"
},
"cc": [
"https://indieweb.social/users/jdp23/followers",
"https://ruby.social/users/codefolio",
"https://hachyderm.io/users/akareilly",
"https://fed.brid.gy/snarfed.org"
],
"replies": {
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://indieweb.social/users/jdp23/statuses/111926271819118911/replies?only_other_accounts=true&page=true",
"partOf": "https://indieweb.social/users/jdp23/statuses/111926271819118911/replies",
"items": []
},
"id": "https://indieweb.social/users/jdp23/statuses/111926271819118911/replies"
}
}
I 2024-02-13 22:10:49.619735+00:00 Wrote Key('Object', 'https://indieweb.social/users/jdp23/statuses/111926271819118911') {'as2': '...', 'our_as1': '...', 'source_protocol': 'activitypub', 'type': 'comment'}
I 2024-02-13 22:10:49.620581+00:00 activitypub owns id https://indieweb.social/users/jdp23/statuses/111926271819118911
D 2024-02-13 22:10:49.620837+00:00 Loading Object https://indieweb.social/users/jdp23/statuses/111926271819118911 local=True remote=None
D 2024-02-13 22:10:49.620971+00:00 got from cache
I 2024-02-13 22:10:49.621459+00:00 Determining protocol for id https://hachyderm.io/users/akareilly
D 2024-02-13 22:10:49.621799+00:00 Loading Object https://hachyderm.io/users/akareilly local=True remote=False
D 2024-02-13 22:10:49.719021+00:00 got from datastore
I 2024-02-13 22:10:49.719528+00:00 Key('Object', 'https://hachyderm.io/users/akareilly') owned by source_protocol activitypub
D 2024-02-13 22:10:49.719758+00:00 Loading Object https://hachyderm.io/users/akareilly local=True remote=None
D 2024-02-13 22:10:49.719869+00:00 got from cache
D 2024-02-13 22:10:49.720302+00:00 last updated 2023-03-10 09:55:46.556196, refreshing
I 2024-02-13 22:10:49.721549+00:00 Signing with Key('MagicKey', 'fed.brid.gy')'s key
I 2024-02-13 22:10:50.882226+00:00 requests.get https://hachyderm.io/users/akareilly {'data': None, 'auth': <httpsig.requests_auth.HTTPSignatureAuth object at 0x3e514eb3f3d0>, 'headers': {'Accept': '...', 'Date': '...', 'Host': '...', 'Content-Type': '...', 'Digest': '...'}, 'gateway': True}
I 2024-02-13 22:10:51.664731+00:00 Received 200:
I 2024-02-13 22:10:51.669097+00:00 Received 200
I 2024-02-13 22:10:51.670008+00:00 Got 200 headers: {'Date': 'Tue, 13 Feb 2024 22:10:51 GMT', 'Content-Type': 'application/activity+json; charset=utf-8', 'Content-Length': '3563', 'Connection': 'keep-alive', 'Server': 'Mastodon', 'X-Frame-Options': 'DENY', 'X-Content-Type-Options': 'nosniff', 'X-XSS-Protection': '0', 'Referrer-Policy': 'same-origin', 'Cache-Control': 'max-age=180, public', 'ETag': 'W/"6371c3ff3b04ee896005bd742c52a2bd"', 'Content-Security-Policy': "base-uri 'none'; default-src 'none'; frame-ancestors 'none'; font-src 'self' https://hachyderm.io; img-src 'self' https: data: blob: https://hachyderm.io; style-src 'self' https://hachyderm.io 'nonce-lZoIkw3tKNxFp3IyGxbywg=='; media-src 'self' https: data: https://hachyderm.io; frame-src 'self' https:; manifest-src 'self' https://hachyderm.io; form-action 'self'; child-src 'self' blob: https://hachyderm.io; worker-src 'self' blob: https://hachyderm.io; connect-src 'self' data: blob: https://hachyderm.io https://media.hachyderm.io wss://hachyderm.io; script-src 'self' https://hachyderm.io 'wasm-unsafe-eval'", 'X-Request-Id': '5930ceb3-f68d-4ab9-9b6a-15097c771c50', 'X-Runtime': '0.029666', 'Strict-Transport-Security': 'max-age=63072000; includeSubDomains', 'vary': 'Accept, Accept-Language, Cookie, Origin', 'X-Cached': 'MISS', 'X-Host': 'slappy'}
I 2024-02-13 22:10:51.670318+00:00 {
"followers": "https://hachyderm.io/users/akareilly/followers",
"type": "Person",
"tag": [],
"id": "https://hachyderm.io/users/akareilly",
"memorial": false,
"url": "https://hachyderm.io/@akareilly",
"summary": "<p>She/her/they <br />I once worked with goats. I moved into tech.This was a mistake. \u2029Expect sheep, wool, and textile history. Also birbs. Infosec on occasion. \u2029I use content warnings for topics and images that can trigger PTSD. I do not use them to shield people ***without*** trauma from experiencing racism, sexism, transphobia, and other forms of discrimination. If you can ignore politics, you\u2019re not likely in need of content warnings for much of anything, really.</p><p>Avatar: me holding a baby goat.</p>",
"discoverable": true,
"endpoints": {
"sharedInbox": "https://hachyderm.io/inbox"
},
"publicKey": {
"owner": "https://hachyderm.io/users/akareilly",
"id": "https://hachyderm.io/users/akareilly#main-key",
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5aY4iI0FPJSB6HjOoBHG\nM4bSobWKxZmouvBBfrWXf6poRS5m0QrF4Wm3CZWa/jcNc4YTd9ri+K89zEpfD9Vv\nYUbzji8HClR1d1IvaZWW4GZvS8cwIIBn5+QiZTPJyr3Ky/QrOR1GBeIx5CEJXKC2\nIx9eN/EyxoE6UGiQTTHjCP2kFbKCVIPChGe37oJ02HiKPxIQGQqlB67Eyqlyg6KI\ngPulsSmrX71udh7OZGp/rjDFGlMXLnAgShTpIIt1B5+ABn0WFKKCaPW0IeLnNQiH\nCfmyoe3H2eTNErQmVJRb0deSrAyu48dwIoG9wP+YS4Yg9bXAb6G9p6qlo7WNa4zm\nGQIDAQAB\n-----END PUBLIC KEY-----\n"
},
"featuredTags": "https://hachyderm.io/users/akareilly/collections/tags",
"alsoKnownAs": [
"https://mastodon.lol/users/akareilly"
],
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{
"cipherText": "toot:cipherText",
"memorial": "toot:memorial",
"toot": "http://joinmastodon.org/ns#",
"focalPoint": {
"@container": "@list",
"@id": "toot:focalPoint"
},
"indexable": "toot:indexable",
"identityKey": {
"@id": "toot:identityKey",
"@type": "@id"
},
"Device": "toot:Device",
"devices": {
"@id": "toot:devices",
"@type": "@id"
},
"PropertyValue": "schema:PropertyValue",
"messageFranking": "toot:messageFranking",
"deviceId": "toot:deviceId",
"Curve25519Key": "toot:Curve25519Key",
"featured": {
"@id": "toot:featured",
"@type": "@id"
},
"value": "schema:value",
"claim": {
"@id": "toot:claim",
"@type": "@id"
},
"discoverable": "toot:discoverable",
"featuredTags": {
"@id": "toot:featuredTags",
"@type": "@id"
},
"alsoKnownAs": {
"@id": "as:alsoKnownAs",
"@type": "@id"
},
"suspended": "toot:suspended",
"publicKeyBase64": "toot:publicKeyBase64",
"schema": "http://schema.org#",
"EncryptedMessage": "toot:EncryptedMessage",
"Ed25519Key": "toot:Ed25519Key",
"Ed25519Signature": "...",
"manuallyApprovesFollowers": "as:manuallyApprovesFollowers",
"messageType": "toot:messageType",
"fingerprintKey": {
"@id": "toot:fingerprintKey",
"@type": "@id"
},
"movedTo": {
"@id": "as:movedTo",
"@type": "@id"
}
}
],
"name": "Wren Reilly",
"indexable": false,
"image": {
"mediaType": "image/jpeg",
"type": "Image",
"url": "https://media.hachyderm.io/accounts/headers/109/848/142/276/837/872/original/b9a1624ef326ac16.jpeg"
},
"following": "https://hachyderm.io/users/akareilly/following",
"devices": "https://hachyderm.io/users/akareilly/collections/devices",
"manuallyApprovesFollowers": false,
"published": "2023-02-11T00:00:00Z",
"attachment": [],
"icon": {
"mediaType": "image/jpeg",
"type": "Image",
"url": "https://media.hachyderm.io/accounts/avatars/109/848/142/276/837/872/original/3f565e24b5b8c907.jpeg"
},
"inbox": "https://hachyderm.io/users/akareilly/inbox",
"preferredUsername": "akareilly",
"featured": "https://hachyderm.io/users/akareilly/collections/featured",
"outbox": "https://hachyderm.io/users/akareilly/outbox"
}
I 2024-02-13 22:10:51.691052+00:00 Skipping same-protocol target https://hachyderm.io/users/akareilly
I 2024-02-13 22:10:51.691324+00:00 Determining protocol for id https://indieweb.social/users/jdp23
D 2024-02-13 22:10:51.691604+00:00 Loading Object https://indieweb.social/users/jdp23 local=True remote=False
D 2024-02-13 22:10:51.756843+00:00 got from datastore
I 2024-02-13 22:10:51.757301+00:00 Key('Object', 'https://indieweb.social/users/jdp23') owned by source_protocol activitypub
D 2024-02-13 22:10:51.757557+00:00 Loading Object https://indieweb.social/users/jdp23 local=True remote=None
D 2024-02-13 22:10:51.757682+00:00 got from cache
D 2024-02-13 22:10:51.764547+00:00 last updated 2023-02-19 03:03:50.510805, refreshing
I 2024-02-13 22:10:51.783753+00:00 Signing with Key('MagicKey', 'fed.brid.gy')'s key
I 2024-02-13 22:10:52.695291+00:00 requests.get https://indieweb.social/users/jdp23 {'data': None, 'auth': <httpsig.requests_auth.HTTPSignatureAuth object at 0x3e514e10b590>, 'headers': {'Accept': '...', 'Date': '...', 'Host': '...', 'Content-Type': '...', 'Digest': '...'}, 'gateway': True}
I 2024-02-13 22:10:53.523730+00:00 Received 200:
I 2024-02-13 22:10:53.524082+00:00 Received 200
I 2024-02-13 22:10:53.524314+00:00 Got 200 headers: {'Date': 'Tue, 13 Feb 2024 22:10:53 GMT', 'Content-Type': 'application/activity+json; charset=utf-8', 'Content-Length': '8404', 'Connection': 'keep-alive', 'Server': 'Mastodon', 'X-Frame-Options': 'DENY', 'X-Content-Type-Options': 'nosniff', 'X-XSS-Protection': '0', 'Referrer-Policy': 'same-origin', 'Cache-Control': 'private, no-store', 'ETag': 'W/"7f5e42d9e9efacd598d6de2087fe4e41"', 'Content-Security-Policy': "base-uri 'none'; default-src 'none'; frame-ancestors 'none'; font-src 'self' https://indieweb.social; img-src 'self' https: data: blob: https://indieweb.social; style-src 'self' https://indieweb.social 'nonce-e7qOkRUVHlYCRG6mSrOWAg=='; media-src 'self' https: data: https://indieweb.social; frame-src 'self' https:; manifest-src 'self' https://indieweb.social; form-action 'self'; child-src 'self' blob: https://indieweb.social; worker-src 'self' blob: https://indieweb.social; connect-src 'self' data: blob: https://indieweb.social https://cdn.masto.host wss://indieweb.social; script-src 'self' https://indieweb.social 'wasm-unsafe-eval'", 'X-Request-Id': 'e2b2e281-bb9d-4c3a-a6ae-600ca62435e8', 'X-Runtime': '0.023921', 'Strict-Transport-Security': 'max-age=63072000; includeSubDomains, max-age=31536000', 'vary': 'Accept, Accept-Language, Cookie, Signature, ...'}
I 2024-02-13 22:10:53.524703+00:00 {
"followers": "https://indieweb.social/users/jdp23/followers",
"type": "Person",
"tag": [
{
"href": "https://indieweb.social/tags/privacy",
"type": "Hashtag",
"name": "#privacy"
},
{
"name": "#software",
"type": "Hashtag",
"href": "https://indieweb.social/tags/software"
},
{
"href": "https://indieweb.social/tags/nobot",
"type": "Hashtag",
"name": "#nobot"
},
{
"href": "https://indieweb.social/tags/technology",
"type": "Hashtag",
"name": "#technology"
},
{
"name": "#justice",
"type": "Hashtag",
"href": "https://indieweb.social/tags/justice"
},
{
"name": "#organizing",
"type": "Hashtag",
"href": "https://indieweb.social/tags/organizing"
},
{
"href": "https://indieweb.social/tags/activism",
"type": "Hashtag",
"name": "#activism"
},
{
"href": "https://indieweb.social/tags/strategy",
"type": "Hashtag",
"name": "#strategy"
},
{
"href": "https://indieweb.social/tags/startups",
"type": "Hashtag",
"name": "#startups"
},
{
"name": "#policy",
"type": "Hashtag",
"href": "https://indieweb.social/tags/policy"
},
{
"name": "#intersectionality",
"type": "Hashtag",
"href": "https://indieweb.social/tags/intersectionality"
},
{
"name": "#equity",
"type": "Hashtag",
"href": "https://indieweb.social/tags/equity"
},
{
"name": "#disinfo",
"type": "Hashtag",
"href": "https://indieweb.social/tags/disinfo"
},
{
"href": "https://indieweb.social/tags/algorithmicjustice",
"type": "Hashtag",
"name": "#algorithmicjustice"
}
],
"id": "https://indieweb.social/users/jdp23",
"memorial": false,
"endpoints": {
"sharedInbox": "https://indieweb.social/inbox"
},
"summary": "<p>FYI: I'm now using <span class=\"h-card\" translate=\"no\"><a href=\"https://blahaj.zone/@jdp23\" class=\"u-url mention\">@<span>jdp23</span></a></span> more than this account. See my pinned post for more.</p><p>strategist, software engineer, entrepreneur, activist ... also at <span class=\"h-card\" translate=\"no\"><a href=\"https://infosec.exchange/@thenexusofprivacy\" class=\"u-url mention\">@<span>thenexusofprivacy</span></a></span> and a bunch of other places</p><p><a href=\"https://indieweb.social/tags/strategy\" class=\"mention hashtag\" rel=\"tag\">#<span>strategy</span></a> <a href=\"https://indieweb.social/tags/equity\" class=\"mention hashtag\" rel=\"tag\">#<span>equity</span></a> <a href=\"https://indieweb.social/tags/justice\" class=\"mention hashtag\" rel=\"tag\">#<span>justice</span></a> <a href=\"https://indieweb.social/tags/technology\" class=\"mention hashtag\" rel=\"tag\">#<span>technology</span></a> <a href=\"https://indieweb.social/tags/policy\" class=\"mention hashtag\" rel=\"tag\">#<span>policy</span></a> <a href=\"https://indieweb.social/tags/disinfo\" class=\"mention hashtag\" rel=\"tag\">#<span>disinfo</span></a> <a href=\"https://indieweb.social/tags/privacy\" class=\"mention hashtag\" rel=\"tag\">#<span>privacy</span></a> <a href=\"https://indieweb.social/tags/algorithmicJustice\" class=\"mention hashtag\" rel=\"tag\">#<span>algorithmicJustice</span></a>, <a href=\"https://indieweb.social/tags/intersectionality\" class=\"mention hashtag\" rel=\"tag\">#<span>intersectionality</span></a> <a href=\"https://indieweb.social/tags/activism\" class=\"mention hashtag\" rel=\"tag\">#<span>activism</span></a> <a href=\"https://indieweb.social/tags/organizing\" class=\"mention hashtag\" rel=\"tag\">#<span>organizing</span></a> <a href=\"https://indieweb.social/tags/software\" class=\"mention hashtag\" rel=\"tag\">#<span>software</span></a> <a href=\"https://indieweb.social/tags/startups\" class=\"mention hashtag\" rel=\"tag\">#<span>startups</span></a> ...</p><p>And <a href=\"https://indieweb.social/tags/nobot\" class=\"mention hashtag\" rel=\"tag\">#<span>nobot</span></a> without permission. Opt-out isn't consent, but it's the only real option we have here.</p>",
"discoverable": true,
"url": "https://indieweb.social/@jdp23",
"publicKey": {
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsoYKsglcJ6D+F2ZPSoTj\nSBr7vhrb2hjKkoFkkn/b2lBIJ+XkT5Pwr2u7kLjNSBZ25o+turgFLw7kOoxVtAkP\nNCLWkmwg1T2E5MzgRfZbeE3mHauo1AxcX/WKztAJwwhNwuS8x6lH0XCoVLfVsDEW\nA+t8lkKLVHpQ3MGBZXzRRcjVcq1wOapl7mtKU5t6E5m6l7LSSDA9zsuGhaNUEcLI\nxIZVMoenCDF4kvHqYhn4YBOf5xNZAmXic4IEeR3JfHhhTtJtQUqGB3asf0+D99v2\nQiH9hrBTbZxJ1/pAm91b3xPboF3OlJ8sCYPHRqLHrCyl6QjyIdwvKZyBDC3WYs2W\nCwIDAQAB\n-----END PUBLIC KEY-----\n",
"id": "https://indieweb.social/users/jdp23#main-key",
"owner": "https://indieweb.social/users/jdp23"
},
"featuredTags": "https://indieweb.social/users/jdp23/collections/tags",
"name": "Jon",
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{
"cipherText": "toot:cipherText",
"memorial": "toot:memorial",
"toot": "http://joinmastodon.org/ns#",
"focalPoint": {
"@container": "@list",
"@id": "toot:focalPoint"
},
"identityKey": {
"@id": "toot:identityKey",
"@type": "@id"
},
"indexable": "toot:indexable",
"Device": "toot:Device",
"devices": {
"@id": "toot:devices",
"@type": "@id"
},
"PropertyValue": "schema:PropertyValue",
"messageFranking": "toot:messageFranking",
"deviceId": "toot:deviceId",
"Hashtag": "as:Hashtag",
"featured": {
"@id": "toot:featured",
"@type": "@id"
},
"Curve25519Key": "toot:Curve25519Key",
"value": "schema:value",
"claim": {
"@id": "toot:claim",
"@type": "@id"
},
"discoverable": "toot:discoverable",
"featuredTags": {
"@id": "toot:featuredTags",
"@type": "@id"
},
"alsoKnownAs": {
"@id": "as:alsoKnownAs",
"@type": "@id"
},
"suspended": "toot:suspended",
"publicKeyBase64": "toot:publicKeyBase64",
"schema": "http://schema.org#",
"EncryptedMessage": "toot:EncryptedMessage",
"Ed25519Key": "toot:Ed25519Key",
"Ed25519Signature": "...",
"manuallyApprovesFollowers": "as:manuallyApprovesFollowers",
"messageType": "toot:messageType",
"fingerprintKey": {
"@id": "toot:fingerprintKey",
"@type": "@id"
},
"movedTo": {
"@id": "as:movedTo",
"@type": "@id"
}
}
],
"indexable": false,
"following": "https://indieweb.social/users/jdp23/following",
"image": {
"mediaType": "image/jpeg",
"type": "Image",
"url": "https://cdn.masto.host/indiewebsocial/accounts/headers/109/136/846/024/106/806/original/69b3d6827357b0f3.jpg"
},
"devices": "https://indieweb.social/users/jdp23/collections/devices",
"manuallyApprovesFollowers": false,
"published": "2022-10-09T00:00:00Z",
"attachment": [
{
"value": "<a href=\"https://thenexusofprivacy.net/about-me\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">thenexusofprivacy.net/about-me</span><span class=\"invisible\"></span></a>",
"type": "PropertyValue",
"name": "About me"
},
{
"value": "<a href=\"https://thenexusofprivacy.net/about\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">thenexusofprivacy.net/about</span><span class=\"invisible\"></span></a>",
"type": "PropertyValue",
"name": "Nexus of Privacy"
},
{
"value": "<a href=\"https://twitter.com/jdp23\" target=\"_blank\" rel=\"nofollow noopener noreferrer me\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">twitter.com/jdp23</span><span class=\"invisible\"></span></a>",
"type": "PropertyValue",
"name": "Twitter"
},
{
"value": "he/him or they/them",
"type": "PropertyValue",
"name": "Pronouns"
}
],
"icon": {
"mediaType": "image/jpeg",
"type": "Image",
"url": "https://cdn.masto.host/indiewebsocial/accounts/avatars/109/136/846/024/106/806/original/2891f5229c4b45e6.jpg"
},
"inbox": "https://indieweb.social/users/jdp23/inbox",
"featured": "https://indieweb.social/users/jdp23/collections/featured",
"preferredUsername": "jdp23",
"outbox": "https://indieweb.social/users/jdp23/outbox"
}
I 2024-02-13 22:10:53.583995+00:00 Skipping same-protocol target https://indieweb.social/users/jdp23
D 2024-02-13 22:10:53.584343+00:00 Loading Object https://indieweb.social/users/jdp23/statuses/111926271819118911 local=True remote=None
D 2024-02-13 22:10:53.584481+00:00 got from cache
I 2024-02-13 22:10:53.585074+00:00 Skipping same-protocol target https://indieweb.social/users/jdp23/statuses/111926271819118911
D 2024-02-13 22:10:53.585274+00:00 Loading Object https://snarfed.org/ local=True remote=None
D 2024-02-13 22:10:53.659885+00:00 got from datastore
I 2024-02-13 22:10:53.660452+00:00 Target for https://snarfed.org/ is https://snarfed.org/
I 2024-02-13 22:10:53.762720+00:00 Recipient is Key('MagicKey', 'snarfed.org')
I 2024-02-13 22:10:53.763040+00:00 Direct targets: dict_keys([Target(protocol='web', uri='https://snarfed.org/')])
I 2024-02-13 22:10:53.949010+00:00 Wrote Key('Object', 'https://ruby.social/users/codefolio/statuses/111926459828568762/activity') {'as2': '...', 'labels': ['activity'], 'notify': [Key('MagicKey', 'snarfed.org')], 'object_ids': ['https://ruby.social/users/codefolio/statuses/111926459828568762'], 'our_as1': '...', 'source_protocol': 'activitypub', 'status': 'in progress', 'type': 'post', 'undelivered': [{'protocol': 'web', 'uri': 'https://snarfed.org/'}], 'users': [Key('ActivityPub', 'https://ruby.social/users/codefolio')], 'new': True}
I 2024-02-13 22:10:53.949755+00:00 Delivering to: [Target(protocol='web', uri='https://snarfed.org/')]
I 2024-02-13 22:10:53.984512+00:00 Added send task projects/bridgy-federated/locations/us-central1/queues/send/tasks/2613523949308645758 : {'obj': b'ahBicmlk...', 'url': 'https://snarfed.org/', 'protocol': 'web', 'orig_obj': b'ahBicmlk...', 'user': b'ahBicmlk...'}