{
    "version": "https://jsonfeed.org/version/1",
    "title": "Ryan X. Charles Blog",
    "home_page_url": "https://ryanxcharles.com/blog",
    "feed_url": "https://ryanxcharles.com/blog/feed.json",
    "description": "Ryan X. Charles Blog",
    "author": {
        "name": "Ryan X. Charles",
        "url": "https://ryanxcharles.com"
    },
    "items": [
        {
            "id": "https://ryanxcharles.com/blog/2026-05-04-earthbucks-2-0-making-ebx-real",
            "content_html": "",
            "url": "https://ryanxcharles.com/blog/2026-05-04-earthbucks-2-0-making-ebx-real",
            "title": "EarthBucks 2.0: Making EBX Real",
            "date_modified": "2026-05-04T19:00:00.000Z"
        },
        {
            "id": "https://ryanxcharles.com/blog/2026-04-27-keypears-hybrid-post-quantum",
            "content_html": "",
            "url": "https://ryanxcharles.com/blog/2026-04-27-keypears-hybrid-post-quantum",
            "title": "Two Locks on Every Message: KeyPears Goes Hybrid Post-Quantum",
            "date_modified": "2026-04-27T15:00:00.000Z"
        },
        {
            "id": "https://ryanxcharles.com/blog/2026-04-22-expanding-shrinking-translating-text",
            "content_html": "",
            "url": "https://ryanxcharles.com/blog/2026-04-22-expanding-shrinking-translating-text",
            "title": "Expanding Text, Shrinking Text, and Translating Text: That’s the Whole Job",
            "date_modified": "2026-04-22T15:00:00.000Z"
        },
        {
            "id": "https://ryanxcharles.com/blog/2026-04-19-issues-and-experiments",
            "content_html": "",
            "url": "https://ryanxcharles.com/blog/2026-04-19-issues-and-experiments",
            "title": "Issues and Experiments: A Lab Notebook for Software",
            "date_modified": "2026-04-19T15:00:00.000Z"
        },
        {
            "id": "https://ryanxcharles.com/blog/2026-04-14-rss-anyway-preview",
            "content_html": "",
            "url": "https://ryanxcharles.com/blog/2026-04-14-rss-anyway-preview",
            "title": "RSS Anyway Preview: Subscribe to Anything on the Internet",
            "date_modified": "2026-04-14T15:00:00.000Z"
        },
        {
            "id": "https://ryanxcharles.com/blog/2026-04-13-stop-writing-code",
            "content_html": "",
            "url": "https://ryanxcharles.com/blog/2026-04-13-stop-writing-code",
            "title": "Stop Writing Code: Why I Haven’t Typed a Line in Six Months",
            "date_modified": "2026-04-13T22:00:00.000Z"
        },
        {
            "id": "https://ryanxcharles.com/blog/2026-04-13-introducing-astrohacker",
            "content_html": "",
            "url": "https://ryanxcharles.com/blog/2026-04-13-introducing-astrohacker",
            "title": "Introducing Astrohacker: My Portfolio Company for Shells, Cash, and Messaging",
            "date_modified": "2026-04-13T20:00:00.000Z"
        },
        {
            "id": "https://ryanxcharles.com/blog/2026-04-12-keypears-alpha-is-live",
            "content_html": "",
            "url": "https://ryanxcharles.com/blog/2026-04-12-keypears-alpha-is-live",
            "title": "KeyPears Alpha Is Live: Federated End-to-End Encrypted Messaging and Secrets",
            "date_modified": "2026-04-13T00:30:00.000Z"
        },
        {
            "id": "https://ryanxcharles.com/blog/2026-04-06-termsurf-0-1-0-released-on-homebrew",
            "content_html": "",
            "url": "https://ryanxcharles.com/blog/2026-04-06-termsurf-0-1-0-released-on-homebrew",
            "title": "TermSurf 0.1.0 Has Been Released on Homebrew! — A GPU-Accelerated Chromium Browser Inside Your Terminal",
            "date_modified": "2026-04-06T12:00:00.000Z"
        },
        {
            "id": "https://ryanxcharles.com/blog/2026-03-30-introducing-shannon",
            "content_html": "",
            "url": "https://ryanxcharles.com/blog/2026-03-30-introducing-shannon",
            "title": "Introducing Shannon: A Shell That Speaks Both Nushell and Bash",
            "date_modified": "2026-03-30T12:00:00.000Z"
        },
        {
            "id": "https://ryanxcharles.com/blog/2026-03-10-webview-overlay-protocol",
            "content_html": "",
            "url": "https://ryanxcharles.com/blog/2026-03-10-webview-overlay-protocol",
            "title": "Why We Need a Webview Overlay Protocol for Terminal Emulators",
            "date_modified": "2026-03-10T12:00:00.000Z"
        },
        {
            "id": "https://ryanxcharles.com/blog/2026-03-08-research-driven-development",
            "content_html": "",
            "url": "https://ryanxcharles.com/blog/2026-03-08-research-driven-development",
            "title": "Research Driven Development",
            "date_modified": "2026-03-08T12:00:00.000Z"
        },
        {
            "id": "https://ryanxcharles.com/blog/2026-02-10-when-apps-cost-nothing-protocols-are-everything",
            "content_html": "",
            "url": "https://ryanxcharles.com/blog/2026-02-10-when-apps-cost-nothing-protocols-are-everything",
            "title": "When Apps Cost Nothing, Protocols Are Everything",
            "date_modified": "2026-02-10T12:00:00.000Z"
        },
        {
            "id": "https://ryanxcharles.com/blog/2026-01-28-the-blogger-king",
            "content_html": "",
            "url": "https://ryanxcharles.com/blog/2026-01-28-the-blogger-king",
            "title": "The Blogger-King",
            "date_modified": "2026-01-28T12:00:00.000Z"
        },
        {
            "id": "https://ryanxcharles.com/blog/2026-01-07-introducing-termsurf",
            "content_html": "",
            "url": "https://ryanxcharles.com/blog/2026-01-07-introducing-termsurf",
            "title": "Introducing TermSurf: A Browser Inside Your Terminal",
            "date_modified": "2026-01-07T12:00:00.000Z"
        },
        {
            "id": "https://ryanxcharles.com/blog/2025-12-31-ai-is-better-at-writing-code-than-you-are-in-2025",
            "content_html": "",
            "url": "https://ryanxcharles.com/blog/2025-12-31-ai-is-better-at-writing-code-than-you-are-in-2025",
            "title": "AI is Better at Writing Code Than You Are in 2025",
            "date_modified": "2025-12-31T12:00:00.000Z"
        },
        {
            "id": "https://ryanxcharles.com/blog/2025-12-30-how-i-use-claude-code-to-do-my-entire-job",
            "content_html": "",
            "url": "https://ryanxcharles.com/blog/2025-12-30-how-i-use-claude-code-to-do-my-entire-job",
            "title": "How I Use Claude Code to Do My Entire Job as a Software Engineer in 2025",
            "date_modified": "2025-12-30T12:00:00.000Z"
        },
        {
            "id": "https://ryanxcharles.com/blog/2025-12-26-for-the-love-of-god-add-an-rss-feed-to-your-tech-blog",
            "content_html": "",
            "url": "https://ryanxcharles.com/blog/2025-12-26-for-the-love-of-god-add-an-rss-feed-to-your-tech-blog",
            "title": "For the Love of God, Add an RSS Feed to Your Tech Blog",
            "date_modified": "2025-12-26T12:00:00.000Z"
        },
        {
            "id": "https://ryanxcharles.com/blog/2025-12-17-why-im-building-a-password-manager",
            "content_html": "",
            "url": "https://ryanxcharles.com/blog/2025-12-17-why-im-building-a-password-manager",
            "title": "Why I’m Building a Password Manager of All Things",
            "date_modified": "2025-12-17T12:00:00.000Z"
        },
        {
            "id": "https://ryanxcharles.com/blog/2025-11-23-why-i-moved-to-austin-instead-of-san-francisco",
            "content_html": "",
            "url": "https://ryanxcharles.com/blog/2025-11-23-why-i-moved-to-austin-instead-of-san-francisco",
            "title": "Why I Moved to Austin Instead of San Francisco",
            "date_modified": "2025-11-23T12:00:00.000Z"
        }
    ]
}