JSON Feed Validator

Check whether your feed is valid. For more information about JSON Feed, see the specification.

{
  "version": "https://jsonfeed.org/version/1",
  "title": "sonicrocketman",
  "home_page_url": "https://pine.blog/u/sonicrocketman",
  "feed_url": "https://pine.blog/u/sonicrocketman/feed.json",
  "items": [
    {
      "id": "23cca586-1723-4057-884a-55cb36cc238c",
      "content_html": "<div><p>Wait so the word 'brackish' survives in modern english, but its root 'brack' is dead? That's silly. </p>\n<p>Bring back brack.</p></div>",
      "content_text": "Wait so the word 'brackish' survives in modern english, but its root 'brack' is dead? That's silly. \nBring back brack.",
      "date_published": "2023-06-23T21:32:21.017947+00:00",
      "date_modified": "2023-06-23T21:32:21.017970+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    },
    {
      "id": "70cb24f7-1218-4c55-a341-1ea4f6c7f9b3",
      "content_html": "<div><p>I'm..... not sure that's true.</p>\n<p><img alt=\"gpt\" src=\"https://p.pine.blog/file/pine-blog/user-media/e46c3bab96984fe00dbe99a6786b63df/thumbnail_Screen_Shot_2023-06-21_at_8.39.24_AM0095.png\"></p></div>",
      "content_text": "I'm..... not sure that's true.\n",
      "date_published": "2023-06-21T15:40:09.088822+00:00",
      "date_modified": "2023-06-21T15:40:09.088831+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    },
    {
      "id": "9a487929-fcd7-487f-9963-a3ac3a2c62cd",
      "content_html": "<div><p>This cup of coffee is over-steeped, bitter, burnt, and tastes like it was poured out of a jug by a chain-smoking waitress at at a worn out 50s diner. And I love it.</p>\n<p>Don't get me wrong I do love a light roast pour-over or a high-quality espresso, but there's something about a good \"bad coffee\" that warms my heart; it's not trying so hard.</p></div>",
      "content_text": "This cup of coffee is over-steeped, bitter, burnt, and tastes like it was poured out of a jug by a chain-smoking waitress at at a worn out 50s diner. And I love it.\nDon't get me wrong I do love a light roast pour-over or a high-quality espresso, but there's something about a good \"bad coffee\" that warms my heart; it's not trying so hard.",
      "date_published": "2023-06-16T01:48:15.087163+00:00",
      "date_modified": "2023-06-16T01:48:15.087323+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    },
    {
      "id": "b2639b17-979f-47fa-8239-1c3e86f3b2ae",
      "content_html": "<div><p>Sunday reading </p>\n<p><img alt=\"5/21/23\" src=\"https://p.pine.blog/file/pine-blog/user-media/e46c3bab96984fe00dbe99a6786b63df/thumbnail_BEA175E8-E707-426F-8A4D-62B337D5AA39e55e.jpg\"></p></div>",
      "content_text": "Sunday reading \n",
      "date_published": "2023-05-21T22:05:36.948608+00:00",
      "date_modified": "2023-05-21T22:05:36.948629+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    },
    {
      "id": "cee3c329-d03d-4763-bb16-f73e01cfae78",
      "content_html": "<p>If you ever find yourself relaying messages from one group chat to another then you've implicitly implemented the Broadcaster protocol. #TerribleProgrammingJoke</p>",
      "content_text": "If you ever find yourself relaying messages from one group chat to another then you've implicitly implemented the Broadcaster protocol. #TerribleProgrammingJoke",
      "date_published": "2023-05-18T17:38:49.338806+00:00",
      "date_modified": "2023-05-18T17:38:49.338821+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    },
    {
      "id": "3cde77bc-c015-4eb2-9b51-c4daf3e8c75d",
      "content_html": "<p>I made a <a href=\"https://brianschrader.com/other-projects/reader/\" rel=\"nofollow\">useless Mastodon Client</a> in &lt;80 lines of code!</p>",
      "content_text": "I made a useless Mastodon Client in <80 lines of code!",
      "date_published": "2023-05-15T06:25:56.532136+00:00",
      "date_modified": "2023-05-15T06:25:56.532150+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    },
    {
      "id": "44bee11b-a102-4a1f-baa8-5459a2bd3d0b",
      "content_html": "<p>Tonight I built a simple Mastodon client (complete with live refresh) in 64 lines of vanilla Javascript. Very cool.</p>",
      "content_text": "Tonight I built a simple Mastodon client (complete with live refresh) in 64 lines of vanilla Javascript. Very cool.",
      "date_published": "2023-05-15T05:41:15.120811+00:00",
      "date_modified": "2023-05-15T05:41:15.120831+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    },
    {
      "id": "3f582cae-3b09-4fb1-bc81-b6d2a965587b",
      "content_html": "<p>Server Sent Events are so cool.</p>",
      "content_text": "Server Sent Events are so cool.",
      "date_published": "2023-05-15T05:38:32.706455+00:00",
      "date_modified": "2023-05-15T05:38:32.706476+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    },
    {
      "id": "b19e0457-0876-45c4-a30d-579c82239f90",
      "content_html": "<p>That moment in baking where you realize things are not going to look like you planned and think to yourself: \"Well, at least they'll still taste good.\"</p>",
      "content_text": "That moment in baking where you realize things are not going to look like you planned and think to yourself: \"Well, at least they'll still taste good.\"",
      "date_published": "2023-05-13T20:55:24.330882+00:00",
      "date_modified": "2023-05-13T20:55:24.330897+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    },
    {
      "id": "6acd477a-8836-4fbb-83a7-3ebc3789c2fd",
      "content_html": "<div><p>The New York Times describing Pythagoras.</p>\n<p><img alt=\"5/13/23\" src=\"https://p.pine.blog/file/pine-blog/user-media/e46c3bab96984fe00dbe99a6786b63df/thumbnail_29EB1E0E-61C3-4C58-AC3B-9A11C22505529864.jpg\"></p></div>",
      "content_text": "The New York Times describing Pythagoras.\n",
      "date_published": "2023-05-13T15:34:21.748500+00:00",
      "date_modified": "2023-05-13T15:34:21.748522+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    },
    {
      "id": "8c12f16f-6549-46d9-97d7-529311bb283f",
      "content_html": "<div><p>My life these days:</p>\n<ol>\n<li>Write 3-10 lines of code</li>\n<li>Commit and push</li>\n<li>SSH into server</li>\n<li>Run deploy script</li>\n<li>\"Does it look ok now?\"</li>\n</ol>\n<p>This is not a complaint, it's just an observation.</p></div>",
      "content_text": "My life these days:\n\nWrite 3-10 lines of code\nCommit and push\nSSH into server\nRun deploy script\n\"Does it look ok now?\"\n\nThis is not a complaint, it's just an observation.",
      "date_published": "2023-05-09T17:10:14.663271+00:00",
      "date_modified": "2023-05-09T17:10:14.663288+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    },
    {
      "id": "62ee4083-ac86-4724-bf1f-53b5c16207a9",
      "content_html": "<p>You should probably be <a href=\"https://www.instagram.com/thefourthsection/\" rel=\"nofollow\">following this btw</a>. No reason (glances side to side)</p>",
      "content_text": "You should probably be following this btw. No reason (glances side to side)",
      "date_published": "2023-04-26T21:53:01.299295+00:00",
      "date_modified": "2023-04-26T21:53:01.299311+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    },
    {
      "id": "0f17d789-8d5b-4c36-8894-56ff97e2e68b",
      "content_html": "<p>I’ve gotten way too invested <a href=\"https://www.sandiegouniontribune.com/news/public-safety/story/2023-04-22/sea-lion-known-for-wandering-san-diegos-freeways-has-been-euthenized-seaworld-says\" rel=\"nofollow\">in this story</a>. Goodbye Freeway the Sea Lion you will be missed.</p>",
      "content_text": "I’ve gotten way too invested in this story. Goodbye Freeway the Sea Lion you will be missed.",
      "date_published": "2023-04-23T16:34:04.439733+00:00",
      "date_modified": "2023-04-23T16:34:04.439752+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    },
    {
      "id": "c12a31d6-8f41-44e1-a266-f1a71d5b639f",
      "content_html": "<div><p>An important takeaway. </p>\n<p><a href=\"https://www.sandiegouniontribune.com/news/public-safety/story/2023-04-20/san-diego-saw-a-7-5-percent-decrease-in-major-crimes-last-year-police-say\" rel=\"nofollow\">Link →</a></p>\n<p><img alt=\"4/20/23\" src=\"https://p.pine.blog/file/pine-blog/user-media/e46c3bab96984fe00dbe99a6786b63df/thumbnail_542FDA04-6D3F-442A-A60A-6A632B473FD36929.jpg\"></p></div>",
      "content_text": "An important takeaway. \nLink →\n",
      "date_published": "2023-04-20T17:17:00.875553+00:00",
      "date_modified": "2023-04-20T17:17:00.875574+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    },
    {
      "id": "27c5cbf3-ea46-45ba-9eff-7a523202bb60",
      "content_html": "<div><p>I said something like this a few weeks ago, but I think (through all the doom and gloom) the Web truly has gotten better in the past decade.</p>\n<ul>\n<li>Mastodon gaining real traction as decentralized social media</li>\n<li>Blogging &amp; RSS still thrive, though more niche (substack, patreon, etc)</li>\n<li>Signal provides encrypted messaging and is open source &amp; non-profit</li>\n</ul>\n<p>And that's not even mentioning new tech like CRDTs that will make the Web even better. #optimism</p></div>",
      "content_text": "I said something like this a few weeks ago, but I think (through all the doom and gloom) the Web truly has gotten better in the past decade.\n\nMastodon gaining real traction as decentralized social media\nBlogging & RSS still thrive, though more niche (substack, patreon, etc)\nSignal provides encrypted messaging and is open source & non-profit\n\nAnd that's not even mentioning new tech like CRDTs that will make the Web even better. #optimism",
      "date_published": "2023-03-28T22:50:46.190379+00:00",
      "date_modified": "2023-03-28T22:50:46.190394+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    },
    {
      "id": "7b9444d9-dc13-4f17-a5bc-5634fe8a8e8e",
      "content_html": "<p>Adventurer's Codex is <a href=\"https://mastodon.social/@adventurerscodex\" rel=\"nofollow\">live on Mastodon!</a></p>",
      "content_text": "Adventurer's Codex is live on Mastodon!",
      "date_published": "2023-03-28T20:40:27.238448+00:00",
      "date_modified": "2023-03-28T20:40:27.238505+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    },
    {
      "id": "f67301d3-99e6-4787-9bb6-62a8227cb41c",
      "content_html": "<div><p>A perfect day in San Diego.</p>\n<p>It’s clear, sunny, 70F, and green.</p></div>",
      "content_text": "A perfect day in San Diego.\nIt’s clear, sunny, 70F, and green.",
      "date_published": "2023-03-28T18:05:08.016882+00:00",
      "date_modified": "2023-03-28T18:05:08.016900+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    },
    {
      "id": "d194bada-481f-46c1-8411-131087ea7aac",
      "content_html": "<p>Git is magic.</p>",
      "content_text": "Git is magic.",
      "date_published": "2023-03-28T17:56:54.879151+00:00",
      "date_modified": "2023-03-28T17:56:54.879210+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    },
    {
      "id": "0ac866c0-77ac-4f5a-a9e8-f24a48c027d0",
      "content_html": "<div><p>This is a week I will remember the rest of my life. </p>\n<p>More context later in the week. </p>\n<p>(Yes it’s a good thing, don’t worry)</p></div>",
      "content_text": "This is a week I will remember the rest of my life. \nMore context later in the week. \n(Yes it’s a good thing, don’t worry)",
      "date_published": "2023-03-27T20:41:31.121805+00:00",
      "date_modified": "2023-03-27T20:41:31.121821+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    },
    {
      "id": "881ee4ca-1b02-4633-824d-a15c3ad4508f",
      "content_html": "<div><p>Just had coffee. </p>\n<p>Want more coffee. ☕️</p></div>",
      "content_text": "Just had coffee. \nWant more coffee. ☕️",
      "date_published": "2023-03-27T18:52:16.560796+00:00",
      "date_modified": "2023-03-27T18:52:16.560815+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    },
    {
      "id": "d867d347-08fd-4f75-9856-bd902ad9c986",
      "content_html": "<div><p>Life hack: How to quickly list the counts of unique items in a column in excel/numbers:</p>\n<ol>\n<li>Select column</li>\n<li>Cmd+C</li>\n<li>Open terminal</li>\n<li><code>pbpaste | sort | uniq -c | sort -n -r</code></li>\n</ol></div>",
      "content_text": "Life hack: How to quickly list the counts of unique items in a column in excel/numbers:\n\nSelect column\nCmd+C\nOpen terminal\npbpaste | sort | uniq -c | sort -n -r\n",
      "date_published": "2023-03-27T17:55:06.523629+00:00",
      "date_modified": "2023-03-27T17:55:06.523649+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    },
    {
      "id": "ad02c0d8-9038-4f94-beaf-dde7e0b687a8",
      "content_html": "<div><p>Tipped</p>\n<p><img alt=\"3/24/23\" src=\"https://p.pine.blog/file/pine-blog/user-media/e46c3bab96984fe00dbe99a6786b63df/thumbnail_F54DB5A0-4033-4735-B061-A771689CF3A0eb60.jpg\"></p></div>",
      "content_text": "Tipped\n",
      "date_published": "2023-03-24T19:22:42.443658+00:00",
      "date_modified": "2023-03-24T19:22:42.443676+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    },
    {
      "id": "43085362-4455-43d0-990c-1f0abd3a4c28",
      "content_html": "<p>It is 2023 and I'm over here emailing git patch files like an old-schooler.</p>",
      "content_text": "It is 2023 and I'm over here emailing git patch files like an old-schooler.",
      "date_published": "2023-03-21T17:18:07.775169+00:00",
      "date_modified": "2023-03-21T17:18:07.775197+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    },
    {
      "id": "807e4f3f-44fb-4b39-9f10-fa2d083c90b7",
      "content_html": "<p>Looks like Disk Utility was able to fix it!</p>",
      "content_text": "Looks like Disk Utility was able to fix it!",
      "date_published": "2023-03-19T23:57:24.042235+00:00",
      "date_modified": "2023-03-19T23:57:24.042251+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    },
    {
      "id": "0a7a658b-f9e4-483a-be6e-835b41fcdfe8",
      "content_html": "<p>Checking the fsroot tree.</p>",
      "content_text": "Checking the fsroot tree.",
      "date_published": "2023-03-19T23:28:56.450273+00:00",
      "date_modified": "2023-03-19T23:28:56.450311+00:00",
      "author": {
        "avatar": "https://www.gravatar.com/avatar/11b074a636e00292c98e3e60f7e16595?d=mm",
        "name": "sonicrocketman",
        "url": "https://pine.blog/u/sonicrocketman"
      }
    }
  ]
}