JSON Feed Validator

Check whether your feed is valid. For more information about JSON Feed, see the specification. Find the validator source code on GitHub.

GET validation response in JSON format.

Feed source

{
  "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"
      }
    }
  ]
}