<?xml version="1.0" encoding="UTF-8"?>
<rss 
  version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:media="http://search.yahoo.com/mrss/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:rawvoice="http://www.rawvoice.com/rawvoiceRssModule/"
  xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0">

  <channel>
    <atom:link href="https://eddywashere.com/rss/" rel="self" type="application/rss+xml" />
    <title>Eddy Hernandez</title>
    <link>https://eddywashere.com</link>
    <description>Hi, I&#x27;m Eddy Hernandez, a Software Engineer based in San Francisco, California. I write about open source and the projects I&#x27;m working on.</description>
    <language>en</language>
    <copyright>Eddy Hernandez Copyright 2026</copyright>
    <lastBuildDate>Sun, 05 Apr 2026 18:20:51 -0700</lastBuildDate>
    <itunes:author>Eddy Hernandez</itunes:author>
    <itunes:summary>Hi, I&#x27;m Eddy Hernandez, a Software Engineer based in San Francisco, California. I write about open source and the projects I&#x27;m working on.</itunes:summary>
    <itunes:owner>
      <itunes:name>Your Name</itunes:name>
      <itunes:email>youremail@example.com</itunes:email>
    </itunes:owner>
    <itunes:explicit>no</itunes:explicit>
    <itunes:image href="https://eddywashere.com/content/images/2024/12/logo-3.png" />
    <itunes:category text="Technology"></itunes:category>

        <item>
          <title>Ghost 6.19.1 released to fix SQL injection CVE-2026-26980</title>
          <link>https://eddywashere.com/ghost-6-19-1-released-to-fix-sql-injection-cve-2026-26980/</link>
          <description></description>
          <pubDate>Tue, 17 Feb 2026 14:10:29 -0800</pubDate>
          <guid isPermaLink="false"><![CDATA[ 6994e18dc75dba0001e09f08 ]]></guid>
          <category><![CDATA[  ]]></category>
          <content:encoded><![CDATA[ <blockquote>A SQL injection vulnerability existed in Ghost's Content API that allowed unauthenticated attackers to read arbitrary data from the database.</blockquote><p>If you run your own Ghost site, now is a great time to upgrade to version 6.19.1 or later. More info can be found in the Ghost Forum post below:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://forum.ghost.org/t/security-update-available-for-ghost-6-x/61908?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Security update available for Ghost 6.x</div><div class="kg-bookmark-description">We’ve been made aware of a security vulnerability in Ghost versions up to v6.19.0. This is patched in v6.19.1, which has been released and rolled out on Ghost(Pro). Self-hosters should update to v6.19.1 as soon as possible. Details: A SQL injection vulnerability existed in Ghost’s Content API that allowed unauthenticated attackers to read arbitrary data from the database. Docker Image: The Docker image for v6.19.1 is available on Docker Hub here. We’re actively working on improving when and…</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/f381b3b952df5ad42fe691a8b14aa7f0c96c461a_2_180x180-4.png" alt=""><span class="kg-bookmark-author">Ghost Forum</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/8d4e1be1543b3ed506f105953a0d062b84797e42-4.png" alt="" onerror="this.style.display = 'none'"></div></a></figure><p>I just so happened to be looking at the Ghost forum today when I came across the security disclosure. Had I not been on the forum, my RSS reader would have at least picked up the release note <a href="https://github.com/TryGhost/Ghost/releases/tag/v6.19.1?ref=eddywashere.com">here</a> (See also Feed URL: <a href="https://github.com/TryGhost/Ghost/releases.atom?ref=eddywashere.com"><code>https://github.com/TryGhost/Ghost/releases.atom</code></a>). </p><p>If you have a better way to keep up with GitHub security advisories for projects, leave a comment to let me know. 🙏</p> ]]></content:encoded>
          <enclosure url="" length="0" type="audio/mpeg" />
          <itunes:title>Ghost 6.19.1 released to fix SQL injection CVE-2026-26980</itunes:title>
          <itunes:author>Eddy Hernandez</itunes:author>
          <itunes:subtitle></itunes:subtitle>
          <itunes:summary><![CDATA[ <blockquote>A SQL injection vulnerability existed in Ghost's Content API that allowed unauthenticated attackers to read arbitrary data from the database.</blockquote><p>If you run your own Ghost site, now is a great time to upgrade to version 6.19.1 or later. More info can be found in the Ghost Forum post below:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://forum.ghost.org/t/security-update-available-for-ghost-6-x/61908?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Security update available for Ghost 6.x</div><div class="kg-bookmark-description">We’ve been made aware of a security vulnerability in Ghost versions up to v6.19.0. This is patched in v6.19.1, which has been released and rolled out on Ghost(Pro). Self-hosters should update to v6.19.1 as soon as possible. Details: A SQL injection vulnerability existed in Ghost’s Content API that allowed unauthenticated attackers to read arbitrary data from the database. Docker Image: The Docker image for v6.19.1 is available on Docker Hub here. We’re actively working on improving when and…</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/f381b3b952df5ad42fe691a8b14aa7f0c96c461a_2_180x180-4.png" alt=""><span class="kg-bookmark-author">Ghost Forum</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/8d4e1be1543b3ed506f105953a0d062b84797e42-4.png" alt="" onerror="this.style.display = 'none'"></div></a></figure><p>I just so happened to be looking at the Ghost forum today when I came across the security disclosure. Had I not been on the forum, my RSS reader would have at least picked up the release note <a href="https://github.com/TryGhost/Ghost/releases/tag/v6.19.1?ref=eddywashere.com">here</a> (See also Feed URL: <a href="https://github.com/TryGhost/Ghost/releases.atom?ref=eddywashere.com"><code>https://github.com/TryGhost/Ghost/releases.atom</code></a>). </p><p>If you have a better way to keep up with GitHub security advisories for projects, leave a comment to let me know. 🙏</p> ]]></itunes:summary>
            <itunes:image href="https://eddywashere.com/content/images/2026/02/ghost-header.png" />
          <itunes:explicit>no</itunes:explicit>
        </item>
        <item>
          <title>Is your Ghost site leaking its host IP address?</title>
          <link>https://eddywashere.com/is-your-ghost-site-leaking-its-host-ip-address/</link>
          <description>And how not to end up in the spam folder</description>
          <pubDate>Fri, 18 Apr 2025 10:42:19 -0700</pubDate>
          <guid isPermaLink="false"><![CDATA[ 680274ef6506df0001228ec6 ]]></guid>
          <category><![CDATA[ Ghost ]]></category>
          <content:encoded><![CDATA[ <p>Story time. I recently signed up for a newsletter powered by Ghost but the confirmation email ended up in my spam folder. I looked to see if there were any issues noted in the email headers. </p><p>Imagine my horror when I see the IP address of the vps the site is hosted on with an elevated risk score. Most cloud hosting IPs have been abused by everyone from script kiddies to folks in the major leagues. This means it's harder to end up with a clean IP address for your VPS or cloud server. It also means that folks who opt-in to multiyear hosting agreements, like I do for a discounted rate, it can be difficult or expensive to get a new IP allocated.</p><p>Luckily, there is a way to avoid this. To the forums!</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://forum.ghost.org/t/missing-documentation-for-mail-config-options-mailgun-api-support/56481?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Missing documentation for mail config options – Mailgun API support</div><div class="kg-bookmark-description">I ran into some issues trying to set up transactional email with Ghost, and I think there’s a gap in the documentation that could use some clarification. I wanted to use Mailgun for sending transactional emails and followed the instructions here: I tried configuring SMTP as described, but it consistently timed out after 60 seconds (without any errors). I double-checked the ports, authentication details, and tried multiple variations without success. When I couldn’t get it working, I started…</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/f381b3b952df5ad42fe691a8b14aa7f0c96c461a_2_180x180-2.png" alt=""><span class="kg-bookmark-author">Ghost Forum</span><span class="kg-bookmark-publisher">quentin-binder</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/8d4e1be1543b3ed506f105953a0d062b84797e42-2.png" alt="" onerror="this.style.display = 'none'"></div></a></figure><p><a href="https://forum.ghost.org/t/missing-documentation-for-mail-config-options-mailgun-api-support/56481?ref=eddywashere.com">This</a> recent forum post helped confirm my suspicion. You can avoid leaking your IP by exclusively using the Mailgun API transport. You'll need to change the Ghost mail transport option for transactional emails like registrations, from <code>smtp</code> to <code>mailgun</code>. Note that it is the <em>SMTP</em> transport option that exposes the host IP address when sending things like registration emails. This is often the first touch point with subscribers. So let's avoid doing that.</p><p>If you're using docker, here are the env vars to set:</p><pre><code>mail__transport: mailgun
mail__options__auth__api_key: ${MAILGUN_API}
mail__options__auth__domain: ${MAILGUN_DOMAIN}
mail__from: ${MAILGUN_FROM}
# mail__host: api.mailgun.net # us based
# mail__host: api.eu.mailgun.net # eu based</code></pre><p>Hopefully this helps improve your subscriber confirmations. </p><p>Also worth noting is an easy to miss issue with your dmarc configuration. As you start sending your newsletter(s) to a larger audience, make sure your dmarc policy is set to something other than <code>none</code>. Read more about these sending requirements here:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://forum.ghost.org/t/new-email-requirements-in-2024-what-you-need-to-know/44572?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">💌 New email requirements in 2024: What you need to know</div><div class="kg-bookmark-description">Beginning in February 2024, Google and Yahoo are introducing new requirements to make email more secure and less spammy. This doc discusses how these changes affect Ghost users. 💡 Ghost(Pro) has already implemented changes to comply with these requirements. See our help docs or reach out to support to learn more. Who does this affect? The new email requirements only affect Ghost publications which send newsletters to at least 5,000 recipients per day. If your publication falls under thi…</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/f381b3b952df5ad42fe691a8b14aa7f0c96c461a_2_180x180-3.png" alt=""><span class="kg-bookmark-author">Ghost Forum</span><span class="kg-bookmark-publisher">RyanF</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/8d4e1be1543b3ed506f105953a0d062b84797e42-3.png" alt="" onerror="this.style.display = 'none'"></div></a></figure><p>Last thing, this is my first post with a self-hosted <a href="https://github.com/TryGhost/ActivityPub?ref=eddywashere.com">ActivityPub</a> service connected to my self-hosted Ghost site. Check out the feed over at <a href="https://mastodon.social/@index@eddywashere.com?ref=eddywashere.com">https://mastodon.social/@index@eddywashere.com</a> to see what this new integration looks like on the fediverse.</p><p>✌</p> ]]></content:encoded>
          <enclosure url="" length="0" type="audio/mpeg" />
          <itunes:title>Is your Ghost site leaking its host IP address?</itunes:title>
          <itunes:author>Eddy Hernandez</itunes:author>
          <itunes:subtitle>And how not to end up in the spam folder</itunes:subtitle>
          <itunes:summary><![CDATA[ <p>Story time. I recently signed up for a newsletter powered by Ghost but the confirmation email ended up in my spam folder. I looked to see if there were any issues noted in the email headers. </p><p>Imagine my horror when I see the IP address of the vps the site is hosted on with an elevated risk score. Most cloud hosting IPs have been abused by everyone from script kiddies to folks in the major leagues. This means it's harder to end up with a clean IP address for your VPS or cloud server. It also means that folks who opt-in to multiyear hosting agreements, like I do for a discounted rate, it can be difficult or expensive to get a new IP allocated.</p><p>Luckily, there is a way to avoid this. To the forums!</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://forum.ghost.org/t/missing-documentation-for-mail-config-options-mailgun-api-support/56481?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Missing documentation for mail config options – Mailgun API support</div><div class="kg-bookmark-description">I ran into some issues trying to set up transactional email with Ghost, and I think there’s a gap in the documentation that could use some clarification. I wanted to use Mailgun for sending transactional emails and followed the instructions here: I tried configuring SMTP as described, but it consistently timed out after 60 seconds (without any errors). I double-checked the ports, authentication details, and tried multiple variations without success. When I couldn’t get it working, I started…</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/f381b3b952df5ad42fe691a8b14aa7f0c96c461a_2_180x180-2.png" alt=""><span class="kg-bookmark-author">Ghost Forum</span><span class="kg-bookmark-publisher">quentin-binder</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/8d4e1be1543b3ed506f105953a0d062b84797e42-2.png" alt="" onerror="this.style.display = 'none'"></div></a></figure><p><a href="https://forum.ghost.org/t/missing-documentation-for-mail-config-options-mailgun-api-support/56481?ref=eddywashere.com">This</a> recent forum post helped confirm my suspicion. You can avoid leaking your IP by exclusively using the Mailgun API transport. You'll need to change the Ghost mail transport option for transactional emails like registrations, from <code>smtp</code> to <code>mailgun</code>. Note that it is the <em>SMTP</em> transport option that exposes the host IP address when sending things like registration emails. This is often the first touch point with subscribers. So let's avoid doing that.</p><p>If you're using docker, here are the env vars to set:</p><pre><code>mail__transport: mailgun
mail__options__auth__api_key: ${MAILGUN_API}
mail__options__auth__domain: ${MAILGUN_DOMAIN}
mail__from: ${MAILGUN_FROM}
# mail__host: api.mailgun.net # us based
# mail__host: api.eu.mailgun.net # eu based</code></pre><p>Hopefully this helps improve your subscriber confirmations. </p><p>Also worth noting is an easy to miss issue with your dmarc configuration. As you start sending your newsletter(s) to a larger audience, make sure your dmarc policy is set to something other than <code>none</code>. Read more about these sending requirements here:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://forum.ghost.org/t/new-email-requirements-in-2024-what-you-need-to-know/44572?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">💌 New email requirements in 2024: What you need to know</div><div class="kg-bookmark-description">Beginning in February 2024, Google and Yahoo are introducing new requirements to make email more secure and less spammy. This doc discusses how these changes affect Ghost users. 💡 Ghost(Pro) has already implemented changes to comply with these requirements. See our help docs or reach out to support to learn more. Who does this affect? The new email requirements only affect Ghost publications which send newsletters to at least 5,000 recipients per day. If your publication falls under thi…</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/f381b3b952df5ad42fe691a8b14aa7f0c96c461a_2_180x180-3.png" alt=""><span class="kg-bookmark-author">Ghost Forum</span><span class="kg-bookmark-publisher">RyanF</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/8d4e1be1543b3ed506f105953a0d062b84797e42-3.png" alt="" onerror="this.style.display = 'none'"></div></a></figure><p>Last thing, this is my first post with a self-hosted <a href="https://github.com/TryGhost/ActivityPub?ref=eddywashere.com">ActivityPub</a> service connected to my self-hosted Ghost site. Check out the feed over at <a href="https://mastodon.social/@index@eddywashere.com?ref=eddywashere.com">https://mastodon.social/@index@eddywashere.com</a> to see what this new integration looks like on the fediverse.</p><p>✌</p> ]]></itunes:summary>
            <itunes:image href="https://eddywashere.com/content/images/2025/04/ghost-mailgun-smtp-vs-api.png" />
          <itunes:explicit>no</itunes:explicit>
        </item>
        <item>
          <title>Working through the backlog</title>
          <link>https://eddywashere.com/april-showers-2/</link>
          <description>This morning, I took a field recorder to share some of the birds and other sounds in my neck of the woods. Then, as it does, the rain came.</description>
          <pubDate>Tue, 01 Apr 2025 17:25:05 -0700</pubDate>
          <guid isPermaLink="false"><![CDATA[ 67ec1169755c0b000179c0fe ]]></guid>
          <category><![CDATA[ News ]]></category>
          <content:encoded><![CDATA[ <p>Hit the play button to soak in the sounds:</p><div class="kg-card kg-audio-card"><img src="https://eddywashere.com/content/media/2025/04/2025-04-01_thumb.png" alt="audio-thumbnail" class="kg-audio-thumbnail"><div class="kg-audio-thumbnail placeholder kg-audio-hide"><svg width="24" height="24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.5 15.33a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm-2.25.75a2.25 2.25 0 1 1 4.5 0 2.25 2.25 0 0 1-4.5 0ZM15 13.83a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm-2.25.75a2.25 2.25 0 1 1 4.5 0 2.25 2.25 0 0 1-4.5 0Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M14.486 6.81A2.25 2.25 0 0 1 17.25 9v5.579a.75.75 0 0 1-1.5 0v-5.58a.75.75 0 0 0-.932-.727.755.755 0 0 1-.059.013l-4.465.744a.75.75 0 0 0-.544.72v6.33a.75.75 0 0 1-1.5 0v-6.33a2.25 2.25 0 0 1 1.763-2.194l4.473-.746Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M3 1.5a.75.75 0 0 0-.75.75v19.5a.75.75 0 0 0 .75.75h18a.75.75 0 0 0 .75-.75V5.133a.75.75 0 0 0-.225-.535l-.002-.002-3-2.883A.75.75 0 0 0 18 1.5H3ZM1.409.659A2.25 2.25 0 0 1 3 0h15a2.25 2.25 0 0 1 1.568.637l.003.002 3 2.883a2.25 2.25 0 0 1 .679 1.61V21.75A2.25 2.25 0 0 1 21 24H3a2.25 2.25 0 0 1-2.25-2.25V2.25c0-.597.237-1.169.659-1.591Z"></path></svg></div><div class="kg-audio-player-container"><audio src="https://eddywashere.com/content/media/2025/04/2025-04-01.mp3" preload="metadata"></audio><div class="kg-audio-title">April 1st</div><div class="kg-audio-player"><button class="kg-audio-play-icon" aria-label="Play audio"><svg viewBox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"></path></svg></button><button class="kg-audio-pause-icon kg-audio-hide" aria-label="Pause audio"><svg viewBox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"></rect><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"></rect></svg></button><span class="kg-audio-current-time">0:00</span><div class="kg-audio-time">/<span class="kg-audio-duration">292.56</span></div><input type="range" class="kg-audio-seek-slider" max="100" value="0"><button class="kg-audio-playback-rate" aria-label="Adjust playback speed">1×</button><button class="kg-audio-unmute-icon" aria-label="Unmute"><svg viewBox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"></path></svg></button><button class="kg-audio-mute-icon kg-audio-hide" aria-label="Mute"><svg viewBox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"></path></svg></button><input type="range" class="kg-audio-volume-slider" max="100" value="100"></div></div></div><p>On the work side, I've been shooting photos, building out documentation for running hybrid meetings to better support in-person and online organizing, and, of course, working through the rest of my side quest backlog. Right now, I'm wrapping up an email project and slowly pushing along some Ghost site migrations.</p><p>Speaking of surprises, one of them I found when migrating a site to Ghost was this tiny issue with alt-text images having a <a href="https://forum.ghost.org/t/feature-image-alt-text-cannot-be-longer-than-125-characters-why/30853/13?ref=eddywashere.com" rel="noreferrer">hard limit on the length of characters you can save</a>. Not a huge deal, but it's something to think about if you're tasked with content parity during a site migration. I'm also trying to put together a list of platform fees across Substack, Patreon, and other services to compare what an alternative looks like and the trade-offs to consider.</p><p>But even with the work that keeps me busy, I know <a href="https://www.404media.co/you-cant-post-your-way-out-of-fascism/?ref=eddywashere.com">you can't post your way out of fascism</a>. 404 Media's take on this deluge of news is worth the read.</p><blockquote>...the point of this deluge is not to persuade, but to overwhelm and paralyze our capacity to act. More recently, researchers have found that the viral outrage disseminated on social media in response to these ridiculous claims actually&nbsp;<a href="https://par.nsf.gov/servlets/purl/10095997?ref=404media.co" rel="noreferrer noopener"><u>reduces the effectiveness of collective action</u></a>. The result is a media environment that keeps us in a state of debilitating fear and anger, endlessly reacting to our oppressors instead of organizing against them.</blockquote><p>If <a href="https://www.404media.co/?ref=eddywashere.com">404 Media</a> has been working to cover what corporate media would probably call political uncertainty at the national level, what do we have at the local level? </p><p>I'm based in San Francisco, and I turn to the following people and organizations to better understand what's going on.</p><figure class="kg-card kg-bookmark-card kg-card-hascaption"><a class="kg-bookmark-container" href="https://www.phoenixprojectnow.com/?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">The Phoenix Project</div><div class="kg-bookmark-description">We rise from the ashes of buried truth, awoken to challenge and expose the covert corruption eating away at the pillars of our society.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/otTiePcEUBD8eogLbWduLmRjf6g.png" alt=""></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/Z8Y9jGecQ1R1yROiRsw6qna35D0.png" alt="" onerror="this.style.display = 'none'"></div></a><figcaption><p><span style="white-space: pre-wrap;">The Phoenix Project</span></p></figcaption></figure><figure class="kg-card kg-bookmark-card kg-card-hascaption"><a class="kg-bookmark-container" href="https://48hills.org/?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">48 Hills | Independent daily San Francisco news + culture</div><div class="kg-bookmark-description">SF Bay Area News, Arts, Culture, Life. Nonprofit daily site, locally published &amp; completely independent.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/48carat144-4.png" alt=""><span class="kg-bookmark-author">48 hills</span><span class="kg-bookmark-publisher">D.A. Mission</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/SDD-2025-720-x-90.jpg" alt="" onerror="this.style.display = 'none'"></div></a><figcaption><p><span style="white-space: pre-wrap;">48 Hills</span></p></figcaption></figure><figure class="kg-card kg-bookmark-card kg-card-hascaption"><a class="kg-bookmark-container" href="https://eltecolote.org/content/en/?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">El Tecolote - Latinx news, arts and culture in San Francisco</div><div class="kg-bookmark-description">El Tecolote is the voice of San Francisco’s “pueblo.” We answer questions and report on news that shape the lives of Latinx people who live or work in the city. Located in the heart of Mission District, we document and amplify the community’s vibrant role in the city’s political, art and cultural scene.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/cropped-Teco_T_red.png" alt=""><span class="kg-bookmark-author">El Tecolote</span><span class="kg-bookmark-publisher">Mariana Duran</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/facebook.png" alt="" onerror="this.style.display = 'none'"></div></a><figcaption><p><span style="white-space: pre-wrap;">El Tecolote</span></p></figcaption></figure><figure class="kg-card kg-bookmark-card kg-card-hascaption"><a class="kg-bookmark-container" href="https://www.patreon.com/c/sadfrancisco/about?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Get more from Sad Francisco on Patreon</div><div class="kg-bookmark-description">a podcast</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/pwa-192-1.png" alt=""><span class="kg-bookmark-author">Patreon</span><span class="kg-bookmark-publisher">Sad Francisco</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/-23creator-teaser-2C-1.png" alt="" onerror="this.style.display = 'none'"></div></a><figcaption><p><span style="white-space: pre-wrap;">Sad Francisco</span></p></figcaption></figure><figure class="kg-card kg-bookmark-card kg-card-hascaption"><a class="kg-bookmark-container" href="https://www.patreon.com/DoomloopDispatch?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Get more from Doomloop Dispatch on Patreon</div><div class="kg-bookmark-description">The show covering the worst parts of the San Francisco Bay Area.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/pwa-192-2.png" alt=""><span class="kg-bookmark-author">Patreon</span><span class="kg-bookmark-publisher">Doomloop Dispatch</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/-23creator-teaser-2C-2.png" alt="" onerror="this.style.display = 'none'"></div></a><figcaption><p><span style="white-space: pre-wrap;">Doomloop Dispatch</span></p></figcaption></figure><p>I still review the billionaire-owned blogs to see how the narrative is being shaped there, but there's no need to share those links here. Please let me know if I missed an outlet or group I should follow.</p><p>I'll end with a roundup of posts where my work has been featured in 2025 so far:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://48hills.org/2025/03/after-newsom-abandons-trans-people-a-fairly-tepid-response-at-sf-city-hall/?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">After Newsom abandons trans people, a fairly tepid response at SF City Hall - 48 hills</div><div class="kg-bookmark-description">When Gov. Gavin Newsom threw the trans community under the bus last week, LGBTQ+ leaders in the state Legislature and statewide activist groups—many of them very politically moderate and cautious—were very quick to respond. Newsom introduced his new podcast by inviting Charlie Kirk, a right-wing provocateur, to chat with him. It’s hard to understand why […]</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/48carat144-3.png" alt=""><span class="kg-bookmark-author">48 hills</span><span class="kg-bookmark-publisher">Tim Redmond</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/48hillslurie3.jpg" alt="" onerror="this.style.display = 'none'"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://48hills.org/2025/03/note-to-matt-dorsey-ucsf-doctors-support-harm-reduction/?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Note to Matt Dorsey: UCSF doctors support harm reduction - 48 hills</div><div class="kg-bookmark-description">Plus: SFPD still seems to have problems with illegal searches. That’s The Agenda for March 31-April 6</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/48carat144.png" alt=""><span class="kg-bookmark-author">48 hills</span><span class="kg-bookmark-publisher">Tim Redmond</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/48hillsdorseydrugs.png" alt="" onerror="this.style.display = 'none'"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://48hills.org/2025/03/another-war-on-drugs-measure-passed-with-only-two-dissenting-votes/?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Another War on Drugs measure passes, with only two dissenting votes - 48 hills</div><div class="kg-bookmark-description">Fielder and Chan oppose plan that has serious flaws and could lead to more deaths. 9-2 votes are becoming a pattern.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/48carat144-1.png" alt=""><span class="kg-bookmark-author">48 hills</span><span class="kg-bookmark-publisher">Tim Redmond</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/48hillsfielderhearing.png" alt="" onerror="this.style.display = 'none'"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://leftylea.substack.com/p/part-1-sf-rules-committee-and-bos?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Part 1: SF Rules Committee &amp; BOS Meeting: What a fucking week!</div><div class="kg-bookmark-description">Mandelman Reveals His Trumpian Self with Sunshine Task Force. Lead up to Dorsey’s associates and policy advisors targeting and harassing me again, the worst I’ve felt since 2023.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/https-3A-2F-2Fsubstack-post-media.s3.amazonaws.com-2Fpublic-2Fimages-2F469f0d6c-89ef-4a30-849b-b60987adab3a-2Fapple-touch-icon-180x180.png" alt=""><span class="kg-bookmark-author">LeftyLea’s Substack</span><span class="kg-bookmark-publisher">LeftyLea in SF</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/https-3A-2F-2Fsubstack-post-media.s3.amazonaws.com-2Fpublic-2Fimages-2F1eb1412c-9979-4cea-b1ba-09b5609e6acf_645x430.jpeg" alt="" onerror="this.style.display = 'none'"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://48hills.org/2025/02/supes-vote-9-2-to-let-lurie-fire-one-of-the-best-members-of-the-police-commission/?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Supes vote 9-2 to let Lurie fire one of the best members of the Police Commission - 48 hills</div><div class="kg-bookmark-description">The mayor wins a decisive victory, giving him the power to replace the police chief and choose the next person for the job.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/48carat144-2.png" alt=""><span class="kg-bookmark-author">48 hills</span><span class="kg-bookmark-publisher">Tim Redmond</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/48hillscarteroberstone-1024x610.png" alt="" onerror="this.style.display = 'none'"></div></a></figure> ]]></content:encoded>
          <enclosure url="" length="0" type="audio/mpeg" />
          <itunes:title>Working through the backlog</itunes:title>
          <itunes:author>Eddy Hernandez</itunes:author>
          <itunes:subtitle>This morning, I took a field recorder to share some of the birds and other sounds in my neck of the woods. Then, as it does, the rain came.</itunes:subtitle>
          <itunes:summary><![CDATA[ <p>Hit the play button to soak in the sounds:</p><div class="kg-card kg-audio-card"><img src="https://eddywashere.com/content/media/2025/04/2025-04-01_thumb.png" alt="audio-thumbnail" class="kg-audio-thumbnail"><div class="kg-audio-thumbnail placeholder kg-audio-hide"><svg width="24" height="24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.5 15.33a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm-2.25.75a2.25 2.25 0 1 1 4.5 0 2.25 2.25 0 0 1-4.5 0ZM15 13.83a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm-2.25.75a2.25 2.25 0 1 1 4.5 0 2.25 2.25 0 0 1-4.5 0Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M14.486 6.81A2.25 2.25 0 0 1 17.25 9v5.579a.75.75 0 0 1-1.5 0v-5.58a.75.75 0 0 0-.932-.727.755.755 0 0 1-.059.013l-4.465.744a.75.75 0 0 0-.544.72v6.33a.75.75 0 0 1-1.5 0v-6.33a2.25 2.25 0 0 1 1.763-2.194l4.473-.746Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M3 1.5a.75.75 0 0 0-.75.75v19.5a.75.75 0 0 0 .75.75h18a.75.75 0 0 0 .75-.75V5.133a.75.75 0 0 0-.225-.535l-.002-.002-3-2.883A.75.75 0 0 0 18 1.5H3ZM1.409.659A2.25 2.25 0 0 1 3 0h15a2.25 2.25 0 0 1 1.568.637l.003.002 3 2.883a2.25 2.25 0 0 1 .679 1.61V21.75A2.25 2.25 0 0 1 21 24H3a2.25 2.25 0 0 1-2.25-2.25V2.25c0-.597.237-1.169.659-1.591Z"></path></svg></div><div class="kg-audio-player-container"><audio src="https://eddywashere.com/content/media/2025/04/2025-04-01.mp3" preload="metadata"></audio><div class="kg-audio-title">April 1st</div><div class="kg-audio-player"><button class="kg-audio-play-icon" aria-label="Play audio"><svg viewBox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"></path></svg></button><button class="kg-audio-pause-icon kg-audio-hide" aria-label="Pause audio"><svg viewBox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"></rect><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"></rect></svg></button><span class="kg-audio-current-time">0:00</span><div class="kg-audio-time">/<span class="kg-audio-duration">292.56</span></div><input type="range" class="kg-audio-seek-slider" max="100" value="0"><button class="kg-audio-playback-rate" aria-label="Adjust playback speed">1×</button><button class="kg-audio-unmute-icon" aria-label="Unmute"><svg viewBox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"></path></svg></button><button class="kg-audio-mute-icon kg-audio-hide" aria-label="Mute"><svg viewBox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"></path></svg></button><input type="range" class="kg-audio-volume-slider" max="100" value="100"></div></div></div><p>On the work side, I've been shooting photos, building out documentation for running hybrid meetings to better support in-person and online organizing, and, of course, working through the rest of my side quest backlog. Right now, I'm wrapping up an email project and slowly pushing along some Ghost site migrations.</p><p>Speaking of surprises, one of them I found when migrating a site to Ghost was this tiny issue with alt-text images having a <a href="https://forum.ghost.org/t/feature-image-alt-text-cannot-be-longer-than-125-characters-why/30853/13?ref=eddywashere.com" rel="noreferrer">hard limit on the length of characters you can save</a>. Not a huge deal, but it's something to think about if you're tasked with content parity during a site migration. I'm also trying to put together a list of platform fees across Substack, Patreon, and other services to compare what an alternative looks like and the trade-offs to consider.</p><p>But even with the work that keeps me busy, I know <a href="https://www.404media.co/you-cant-post-your-way-out-of-fascism/?ref=eddywashere.com">you can't post your way out of fascism</a>. 404 Media's take on this deluge of news is worth the read.</p><blockquote>...the point of this deluge is not to persuade, but to overwhelm and paralyze our capacity to act. More recently, researchers have found that the viral outrage disseminated on social media in response to these ridiculous claims actually&nbsp;<a href="https://par.nsf.gov/servlets/purl/10095997?ref=404media.co" rel="noreferrer noopener"><u>reduces the effectiveness of collective action</u></a>. The result is a media environment that keeps us in a state of debilitating fear and anger, endlessly reacting to our oppressors instead of organizing against them.</blockquote><p>If <a href="https://www.404media.co/?ref=eddywashere.com">404 Media</a> has been working to cover what corporate media would probably call political uncertainty at the national level, what do we have at the local level? </p><p>I'm based in San Francisco, and I turn to the following people and organizations to better understand what's going on.</p><figure class="kg-card kg-bookmark-card kg-card-hascaption"><a class="kg-bookmark-container" href="https://www.phoenixprojectnow.com/?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">The Phoenix Project</div><div class="kg-bookmark-description">We rise from the ashes of buried truth, awoken to challenge and expose the covert corruption eating away at the pillars of our society.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/otTiePcEUBD8eogLbWduLmRjf6g.png" alt=""></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/Z8Y9jGecQ1R1yROiRsw6qna35D0.png" alt="" onerror="this.style.display = 'none'"></div></a><figcaption><p><span style="white-space: pre-wrap;">The Phoenix Project</span></p></figcaption></figure><figure class="kg-card kg-bookmark-card kg-card-hascaption"><a class="kg-bookmark-container" href="https://48hills.org/?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">48 Hills | Independent daily San Francisco news + culture</div><div class="kg-bookmark-description">SF Bay Area News, Arts, Culture, Life. Nonprofit daily site, locally published &amp; completely independent.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/48carat144-4.png" alt=""><span class="kg-bookmark-author">48 hills</span><span class="kg-bookmark-publisher">D.A. Mission</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/SDD-2025-720-x-90.jpg" alt="" onerror="this.style.display = 'none'"></div></a><figcaption><p><span style="white-space: pre-wrap;">48 Hills</span></p></figcaption></figure><figure class="kg-card kg-bookmark-card kg-card-hascaption"><a class="kg-bookmark-container" href="https://eltecolote.org/content/en/?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">El Tecolote - Latinx news, arts and culture in San Francisco</div><div class="kg-bookmark-description">El Tecolote is the voice of San Francisco’s “pueblo.” We answer questions and report on news that shape the lives of Latinx people who live or work in the city. Located in the heart of Mission District, we document and amplify the community’s vibrant role in the city’s political, art and cultural scene.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/cropped-Teco_T_red.png" alt=""><span class="kg-bookmark-author">El Tecolote</span><span class="kg-bookmark-publisher">Mariana Duran</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/facebook.png" alt="" onerror="this.style.display = 'none'"></div></a><figcaption><p><span style="white-space: pre-wrap;">El Tecolote</span></p></figcaption></figure><figure class="kg-card kg-bookmark-card kg-card-hascaption"><a class="kg-bookmark-container" href="https://www.patreon.com/c/sadfrancisco/about?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Get more from Sad Francisco on Patreon</div><div class="kg-bookmark-description">a podcast</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/pwa-192-1.png" alt=""><span class="kg-bookmark-author">Patreon</span><span class="kg-bookmark-publisher">Sad Francisco</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/-23creator-teaser-2C-1.png" alt="" onerror="this.style.display = 'none'"></div></a><figcaption><p><span style="white-space: pre-wrap;">Sad Francisco</span></p></figcaption></figure><figure class="kg-card kg-bookmark-card kg-card-hascaption"><a class="kg-bookmark-container" href="https://www.patreon.com/DoomloopDispatch?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Get more from Doomloop Dispatch on Patreon</div><div class="kg-bookmark-description">The show covering the worst parts of the San Francisco Bay Area.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/pwa-192-2.png" alt=""><span class="kg-bookmark-author">Patreon</span><span class="kg-bookmark-publisher">Doomloop Dispatch</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/-23creator-teaser-2C-2.png" alt="" onerror="this.style.display = 'none'"></div></a><figcaption><p><span style="white-space: pre-wrap;">Doomloop Dispatch</span></p></figcaption></figure><p>I still review the billionaire-owned blogs to see how the narrative is being shaped there, but there's no need to share those links here. Please let me know if I missed an outlet or group I should follow.</p><p>I'll end with a roundup of posts where my work has been featured in 2025 so far:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://48hills.org/2025/03/after-newsom-abandons-trans-people-a-fairly-tepid-response-at-sf-city-hall/?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">After Newsom abandons trans people, a fairly tepid response at SF City Hall - 48 hills</div><div class="kg-bookmark-description">When Gov. Gavin Newsom threw the trans community under the bus last week, LGBTQ+ leaders in the state Legislature and statewide activist groups—many of them very politically moderate and cautious—were very quick to respond. Newsom introduced his new podcast by inviting Charlie Kirk, a right-wing provocateur, to chat with him. It’s hard to understand why […]</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/48carat144-3.png" alt=""><span class="kg-bookmark-author">48 hills</span><span class="kg-bookmark-publisher">Tim Redmond</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/48hillslurie3.jpg" alt="" onerror="this.style.display = 'none'"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://48hills.org/2025/03/note-to-matt-dorsey-ucsf-doctors-support-harm-reduction/?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Note to Matt Dorsey: UCSF doctors support harm reduction - 48 hills</div><div class="kg-bookmark-description">Plus: SFPD still seems to have problems with illegal searches. That’s The Agenda for March 31-April 6</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/48carat144.png" alt=""><span class="kg-bookmark-author">48 hills</span><span class="kg-bookmark-publisher">Tim Redmond</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/48hillsdorseydrugs.png" alt="" onerror="this.style.display = 'none'"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://48hills.org/2025/03/another-war-on-drugs-measure-passed-with-only-two-dissenting-votes/?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Another War on Drugs measure passes, with only two dissenting votes - 48 hills</div><div class="kg-bookmark-description">Fielder and Chan oppose plan that has serious flaws and could lead to more deaths. 9-2 votes are becoming a pattern.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/48carat144-1.png" alt=""><span class="kg-bookmark-author">48 hills</span><span class="kg-bookmark-publisher">Tim Redmond</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/48hillsfielderhearing.png" alt="" onerror="this.style.display = 'none'"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://leftylea.substack.com/p/part-1-sf-rules-committee-and-bos?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Part 1: SF Rules Committee &amp; BOS Meeting: What a fucking week!</div><div class="kg-bookmark-description">Mandelman Reveals His Trumpian Self with Sunshine Task Force. Lead up to Dorsey’s associates and policy advisors targeting and harassing me again, the worst I’ve felt since 2023.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/https-3A-2F-2Fsubstack-post-media.s3.amazonaws.com-2Fpublic-2Fimages-2F469f0d6c-89ef-4a30-849b-b60987adab3a-2Fapple-touch-icon-180x180.png" alt=""><span class="kg-bookmark-author">LeftyLea’s Substack</span><span class="kg-bookmark-publisher">LeftyLea in SF</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/https-3A-2F-2Fsubstack-post-media.s3.amazonaws.com-2Fpublic-2Fimages-2F1eb1412c-9979-4cea-b1ba-09b5609e6acf_645x430.jpeg" alt="" onerror="this.style.display = 'none'"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://48hills.org/2025/02/supes-vote-9-2-to-let-lurie-fire-one-of-the-best-members-of-the-police-commission/?ref=eddywashere.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Supes vote 9-2 to let Lurie fire one of the best members of the Police Commission - 48 hills</div><div class="kg-bookmark-description">The mayor wins a decisive victory, giving him the power to replace the police chief and choose the next person for the job.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://eddywashere.com/content/images/icon/48carat144-2.png" alt=""><span class="kg-bookmark-author">48 hills</span><span class="kg-bookmark-publisher">Tim Redmond</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://eddywashere.com/content/images/thumbnail/48hillscarteroberstone-1024x610.png" alt="" onerror="this.style.display = 'none'"></div></a></figure> ]]></itunes:summary>
            <itunes:image href="https://eddywashere.com/content/images/2025/04/d.png" />
          <itunes:explicit>no</itunes:explicit>
        </item>
        <item>
          <title>&quot;For You&quot; vs For Workers</title>
          <link>https://eddywashere.com/for-workers/</link>
          <description>How do we get our news?</description>
          <pubDate>Wed, 11 Dec 2024 10:40:23 -0800</pubDate>
          <guid isPermaLink="false"><![CDATA[ 6759c604c769760001e7c131 ]]></guid>
          <category><![CDATA[ News ]]></category>
          <content:encoded><![CDATA[ <p>I am revisiting my content creation and consumption practices, starting with Apple News. The U2 album of news readers baked into the iOS native setup. If you're curious about the power of a platform like Apple and iOS for their community of investors and readers, stick around.</p><h2 id="for-you">For You</h2><figure class="kg-card kg-image-card"><img src="https://eddywashere.com/content/images/2024/12/image-5.png" class="kg-image" alt="" loading="lazy" width="1384" height="714" srcset="https://eddywashere.com/content/images/size/w600/2024/12/image-5.png 600w, https://eddywashere.com/content/images/size/w1000/2024/12/image-5.png 1000w, https://eddywashere.com/content/images/2024/12/image-5.png 1384w" sizes="(min-width: 720px) 720px"></figure><p>The Apple News algorithm provides a couple of news lists for me. That seems cool in theory, but what I can only describe as a trending investor news slate appears in front of me in my <em>For You</em> section.</p><p>That's not the content for me. I'm looking for something more along the lines of <em><strong>For</strong> <strong>Workers</strong></em>.</p><h2 id="what-does-for-workers-look-like">What does For Workers look like?</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://eddywashere.com/content/images/2024/12/image-6.png" class="kg-image" alt="A screenshot of a puzzle. &quot;condo&quot; and &quot;feat&quot; were the novice words I could find." loading="lazy" width="1698" height="570" srcset="https://eddywashere.com/content/images/size/w600/2024/12/image-6.png 600w, https://eddywashere.com/content/images/size/w1000/2024/12/image-6.png 1000w, https://eddywashere.com/content/images/size/w1600/2024/12/image-6.png 1600w, https://eddywashere.com/content/images/2024/12/image-6.png 1698w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">A screenshot of a puzzle. "condo" and "feat" were the novice words I could find.</span></figcaption></figure><p>I'm not usually intrigued by <a href="https://nytimesguild.org/tech/guild-builds/?ref=eddywashere.com">puzzles</a> but as I <a href="https://eddywashere.com/explore">explore</a> the Ghost platform, <a href="https://eddywashere.com/a-ghost-haunts-the-corporate-media-machine/">for workers</a>, I'd like to start identifying the gaps that are currently distracting the work I should be doing. This morning started great, but as I looked for a recent healthcare article from <a href="https://48hills.org/2024/12/the-luigi-problem/?ref=eddywashere.com">48 Hills</a> on Apple News, I came across plenty of junk that isn't for workers.</p><p>We desperately need a kaleidoscope of art and consciousness when creating and consuming content for workers, abolitionists, and the community. And with that, I'm back to it. ✌</p> ]]></content:encoded>
          <enclosure url="" length="0" type="audio/mpeg" />
          <itunes:title>&quot;For You&quot; vs For Workers</itunes:title>
          <itunes:author>Eddy Hernandez</itunes:author>
          <itunes:subtitle>How do we get our news?</itunes:subtitle>
          <itunes:summary><![CDATA[ <p>I am revisiting my content creation and consumption practices, starting with Apple News. The U2 album of news readers baked into the iOS native setup. If you're curious about the power of a platform like Apple and iOS for their community of investors and readers, stick around.</p><h2 id="for-you">For You</h2><figure class="kg-card kg-image-card"><img src="https://eddywashere.com/content/images/2024/12/image-5.png" class="kg-image" alt="" loading="lazy" width="1384" height="714" srcset="https://eddywashere.com/content/images/size/w600/2024/12/image-5.png 600w, https://eddywashere.com/content/images/size/w1000/2024/12/image-5.png 1000w, https://eddywashere.com/content/images/2024/12/image-5.png 1384w" sizes="(min-width: 720px) 720px"></figure><p>The Apple News algorithm provides a couple of news lists for me. That seems cool in theory, but what I can only describe as a trending investor news slate appears in front of me in my <em>For You</em> section.</p><p>That's not the content for me. I'm looking for something more along the lines of <em><strong>For</strong> <strong>Workers</strong></em>.</p><h2 id="what-does-for-workers-look-like">What does For Workers look like?</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://eddywashere.com/content/images/2024/12/image-6.png" class="kg-image" alt="A screenshot of a puzzle. &quot;condo&quot; and &quot;feat&quot; were the novice words I could find." loading="lazy" width="1698" height="570" srcset="https://eddywashere.com/content/images/size/w600/2024/12/image-6.png 600w, https://eddywashere.com/content/images/size/w1000/2024/12/image-6.png 1000w, https://eddywashere.com/content/images/size/w1600/2024/12/image-6.png 1600w, https://eddywashere.com/content/images/2024/12/image-6.png 1698w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">A screenshot of a puzzle. "condo" and "feat" were the novice words I could find.</span></figcaption></figure><p>I'm not usually intrigued by <a href="https://nytimesguild.org/tech/guild-builds/?ref=eddywashere.com">puzzles</a> but as I <a href="https://eddywashere.com/explore">explore</a> the Ghost platform, <a href="https://eddywashere.com/a-ghost-haunts-the-corporate-media-machine/">for workers</a>, I'd like to start identifying the gaps that are currently distracting the work I should be doing. This morning started great, but as I looked for a recent healthcare article from <a href="https://48hills.org/2024/12/the-luigi-problem/?ref=eddywashere.com">48 Hills</a> on Apple News, I came across plenty of junk that isn't for workers.</p><p>We desperately need a kaleidoscope of art and consciousness when creating and consuming content for workers, abolitionists, and the community. And with that, I'm back to it. ✌</p> ]]></itunes:summary>
            <itunes:image href="https://eddywashere.com/content/images/2024/12/for-workers-1.png" />
          <itunes:explicit>no</itunes:explicit>
        </item>
        <item>
          <title>A spectre haunts the corporate media machine</title>
          <link>https://eddywashere.com/a-ghost-haunts-the-corporate-media-machine/</link>
          <description>The algorithms are with the bosses, worker owned platforms are with you.</description>
          <pubDate>Mon, 09 Dec 2024 16:20:00 -0800</pubDate>
          <guid isPermaLink="false"><![CDATA[ 6750c79d58c13000013bb2f1 ]]></guid>
          <category><![CDATA[ Organizing ]]></category>
          <content:encoded><![CDATA[ <p>The Spectre is <a href="https://ghost.org/publishers/?ref=eddywashere.com">Ghost</a>, a modest proposal to the unholy alliance of billionaire owned platforms. Ghost is a media platform for independent publishers and content creators with $7.5 million in annual revenue. That's an incredible achievement for a distributed non-profit foundation that has had a profitable and sustainable business for the last 12 years.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://eddywashere.com/content/images/2024/12/image-7.png" class="kg-image" alt="A screenshot of the ghost cms/crm with their quote highlighted: No Investors. No bullshit." loading="lazy" width="2000" height="1232" srcset="https://eddywashere.com/content/images/size/w600/2024/12/image-7.png 600w, https://eddywashere.com/content/images/size/w1000/2024/12/image-7.png 1000w, https://eddywashere.com/content/images/size/w1600/2024/12/image-7.png 1600w, https://eddywashere.com/content/images/size/w2400/2024/12/image-7.png 2400w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">No Investors. No bullshit.</span></figcaption></figure><p>Ghost empowers workers to create their own alliances through their built-in growth strategy called "<a href="https://ghost.org/changelog/recommendations/?ref=eddywashere.com">Recommendations</a>", as well as their public "<a href="https://ghost.org/changelog/explore/?ref=eddywashere.com">Explore</a>" feature for catapulting new projects to the community. A simple way to say, if you like that, you'll love this. Here's what it looks <a href="https://eddywashere.com/#/portal/recommendations">like</a> in practice:</p><figure class="kg-card kg-gallery-card kg-width-wide kg-card-hascaption"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://eddywashere.com/content/images/2024/12/ghost-platform-growth-strategy.png" width="1376" height="966" loading="lazy" alt="" srcset="https://eddywashere.com/content/images/size/w600/2024/12/ghost-platform-growth-strategy.png 600w, https://eddywashere.com/content/images/size/w1000/2024/12/ghost-platform-growth-strategy.png 1000w, https://eddywashere.com/content/images/2024/12/ghost-platform-growth-strategy.png 1376w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://eddywashere.com/content/images/2024/12/ghost-platform-recommendations.png" width="1600" height="1082" loading="lazy" alt="" srcset="https://eddywashere.com/content/images/size/w600/2024/12/ghost-platform-recommendations.png 600w, https://eddywashere.com/content/images/size/w1000/2024/12/ghost-platform-recommendations.png 1000w, https://eddywashere.com/content/images/2024/12/ghost-platform-recommendations.png 1600w" sizes="(min-width: 720px) 720px"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://eddywashere.com/content/images/2024/12/ghost-platform-explore-1.png" width="2000" height="1484" loading="lazy" alt="" srcset="https://eddywashere.com/content/images/size/w600/2024/12/ghost-platform-explore-1.png 600w, https://eddywashere.com/content/images/size/w1000/2024/12/ghost-platform-explore-1.png 1000w, https://eddywashere.com/content/images/size/w1600/2024/12/ghost-platform-explore-1.png 1600w, https://eddywashere.com/content/images/size/w2400/2024/12/ghost-platform-explore-1.png 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://eddywashere.com/content/images/2024/12/ghost-platform-explore-listings.png" width="1000" height="1374" loading="lazy" alt="" srcset="https://eddywashere.com/content/images/size/w600/2024/12/ghost-platform-explore-listings.png 600w, https://eddywashere.com/content/images/2024/12/ghost-platform-explore-listings.png 1000w" sizes="(min-width: 720px) 720px"></div></div></div><figcaption><p><span style="white-space: pre-wrap;">The Ghost Platform - Growth, Recommendations, Explore</span></p></figcaption></figure><p>Sure, Ghost is a blog like this one, powered by free and open-source software. But it's software built by a foundation with a mission to <a href="https://john.onolan.org/democratising-publishing/?ref=eddywashere.com">democratize publishing</a>. Ghost is an alternative way to support the labor of content creation for the movement, not moments. </p><p>Community over commodity. There is no billionaire behind Ghost, just an organization that exists for purpose rather than for profit.</p><blockquote><a href="https://john.onolan.org/democratising-publishing/?ref=eddywashere.com" rel="noreferrer">For a cardboard box company that might not mean much — but for a school, hospital, local news org, or open source project, it means a great deal.</a></blockquote><p>Hi, it's me, your <a href="https://48hills.org/2024/11/san-francisco-election-2024-live-updates-results/?ref=eddywashere.com">local</a> news worker, <a href="https://www.npmjs.com/package/mailgun.js?ref=eddywashere.com">open-source contributor</a>, and organizer. As billionaires continue towards subscription models to help their dependent blogs blend in, a need rises for a worker owned alternative. I first started tracking Ghost while working on <a href="https://github.com/mailgun/mailgun.js?ref=eddywashere.com" rel="noreferrer">open-source projects</a> and email reporting dashboards at <a href="https://www.mailgun.com/blog/product/mailgun-launches-new-reporting-dashboard/?ref=eddywashere.com" rel="noreferrer">Mailgun</a>, currently the only bulk email sender for Ghost-based newsletters. Fast forward a decade later, I started exploring Ghost again as a digital organizing tool to replace <a href="https://www.wired.com/2014/11/wtf-is-mailkimp-meme/?ref=eddywashere.com" rel="noreferrer">mailchimp</a> after their <a href="https://blog.emailoctopus.com/mailchimp-pricing-update-2023-the-details-behind-it/?ref=eddywashere.com">pricing</a> changes for the <a href="https://news.techworkerscoalition.org/?ref=eddywashere.com" rel="noreferrer">Tech Workers Coalition Newsletter</a>. I went with ActionNetwork.org at the time, but I won't ever make that <a href="https://help.actionnetwork.org/hc/en-us/articles/203852955-Who-can-use-the-Action-Network-Only-progressives?ref=eddywashere.com">choice</a> <a href="https://actionnetwork.org/groups/grow-sf?ref=eddywashere.com">again</a>.</p><h3 id="%F0%9F%AB%A1">🫡</h3><p>I see the potential behind Ghost, as a platform and ecosystem to build collective power. I see it as a creative outlet for artists, writers, photographers, organizers, community groups and of course, independent news. I'm not not saying to abandon your current platforms. But consider the social labor involved, what cut your current platform takes, and consider an open alternative for the people, not the powerful.</p><h3 id="what-are-the-next-steps">What are the next steps?</h3><p>I'm going to start building out prototypes to share with the first groups I've already reached out to.</p><p>Don't despair, you can try the managed hosted version of Ghost <a href="https://ghost.org/pricing/?ref=eddywashere.com">here</a>. It's currently the least painful way to get started, or you can find a Ghost expert to help run this on <a href="https://www.pikapods.com/?ref=eddywashere.com" rel="noreferrer">Open Source Application Hosting</a> for <a href="https://www.pikapods.com/pods?run=ghost&ref=eddywashere.com" rel="noreferrer">$1.90</a> or be on the look out for worker-owned platforms that support this work.</p><p>And you'd want go through all that because it's worth the following at the end of the day:</p><ul><li><strong>Own Your Content</strong></li><li><strong>Memberships &amp; Monetization</strong></li><li><strong>Email Newsletters &amp; List-Building</strong></li><li><strong>Scalable &amp; Adaptable</strong></li></ul><p>Ghost isn’t a new kid on the block that's a response to anything current, but it represents an exit to private capitalist owned platforms and the media barons behind the curtain. Just as open-source redefined how we build software, Ghost and similar models can redefine how we build communities, tell stories, and support local journalism and organizing.</p><p>I'll be writing and documenting my journey from here on out with Ghost, to provide digital organizing signals. If this interests you, let's connect. If you'd like to get D.O.S. content like this in your inbox, subscribe below:</p><div class="kg-card kg-signup-card kg-layout-split kg-width-full " data-lexical-signup-form="" style="background-color: #000000; display: none;">
            
            <div class="kg-signup-card-content">
                
        <picture><img class="kg-signup-card-image" src="https://eddywashere.com/content/images/2024/12/6J1A5773-7.jpg" alt=""></picture>
    
                <div class="kg-signup-card-text ">
                    <h2 class="kg-signup-card-heading" style="color: #FFFFFF;"><span style="white-space: pre-wrap;">D.O.S.</span></h2>
                    <p class="kg-signup-card-subheading" style="color: #FFFFFF;"><span style="white-space: pre-wrap;">Digital Organizing Signals is a new media project by Eddy Hernandez, an abolitionist, artist, and worker focused on creating content and tools that are for communities not corporations.</span></p>
                    
        <form class="kg-signup-card-form" data-members-form="signup">
            <input data-members-label="" type="hidden" value="DOS">
<input data-members-label="" type="hidden" value="0days">
            <div class="kg-signup-card-fields">
                <input class="kg-signup-card-input" id="email" data-members-email="" type="email" required="true" placeholder="Your email">
                <button class="kg-signup-card-button " style="background-color: #EC1F27;color: #FFFFFF;" type="submit">
                    <span class="kg-signup-card-button-default">Plug In</span>
                    <span class="kg-signup-card-button-loading"><svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewBox="0 0 24 24">
        <g stroke-linecap="round" stroke-width="2" fill="currentColor" stroke="none" stroke-linejoin="round" class="nc-icon-wrapper">
            <g class="nc-loop-dots-4-24-icon-o">
                <circle cx="4" cy="12" r="3"></circle>
                <circle cx="12" cy="12" r="3"></circle>
                <circle cx="20" cy="12" r="3"></circle>
            </g>
            <style data-cap="butt">
                .nc-loop-dots-4-24-icon-o{--animation-duration:0.8s}
                .nc-loop-dots-4-24-icon-o *{opacity:.4;transform:scale(.75);animation:nc-loop-dots-4-anim var(--animation-duration) infinite}
                .nc-loop-dots-4-24-icon-o :nth-child(1){transform-origin:4px 12px;animation-delay:-.3s;animation-delay:calc(var(--animation-duration)/-2.666)}
                .nc-loop-dots-4-24-icon-o :nth-child(2){transform-origin:12px 12px;animation-delay:-.15s;animation-delay:calc(var(--animation-duration)/-5.333)}
                .nc-loop-dots-4-24-icon-o :nth-child(3){transform-origin:20px 12px}
                @keyframes nc-loop-dots-4-anim{0%,100%{opacity:.4;transform:scale(.75)}50%{opacity:1;transform:scale(1)}}
            </style>
        </g>
    </svg></span>
                </button>
            </div>
            <div class="kg-signup-card-success" style="color: #FFFFFF;">
                Email sent! Check your inbox to complete your signup.
            </div>
            <div class="kg-signup-card-error" style="color: #FFFFFF;" data-members-error=""></div>
        </form>
        
                    <p class="kg-signup-card-disclaimer" style="color: #FFFFFF;"><span style="white-space: pre-wrap;">No spam. Unsubscribe anytime.</span></p>
                </div>
            </div>
        </div><pre><code>Changelog: 
- 12/10/24 docs(explore): added changelog and platform exploration notes
- 12/13/24 docs(ghost): more screenshots of ghost
</code></pre>
 ]]></content:encoded>
          <enclosure url="" length="0" type="audio/mpeg" />
          <itunes:title>A spectre haunts the corporate media machine</itunes:title>
          <itunes:author>Eddy Hernandez</itunes:author>
          <itunes:subtitle>The algorithms are with the bosses, worker owned platforms are with you.</itunes:subtitle>
          <itunes:summary><![CDATA[ <p>The Spectre is <a href="https://ghost.org/publishers/?ref=eddywashere.com">Ghost</a>, a modest proposal to the unholy alliance of billionaire owned platforms. Ghost is a media platform for independent publishers and content creators with $7.5 million in annual revenue. That's an incredible achievement for a distributed non-profit foundation that has had a profitable and sustainable business for the last 12 years.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://eddywashere.com/content/images/2024/12/image-7.png" class="kg-image" alt="A screenshot of the ghost cms/crm with their quote highlighted: No Investors. No bullshit." loading="lazy" width="2000" height="1232" srcset="https://eddywashere.com/content/images/size/w600/2024/12/image-7.png 600w, https://eddywashere.com/content/images/size/w1000/2024/12/image-7.png 1000w, https://eddywashere.com/content/images/size/w1600/2024/12/image-7.png 1600w, https://eddywashere.com/content/images/size/w2400/2024/12/image-7.png 2400w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">No Investors. No bullshit.</span></figcaption></figure><p>Ghost empowers workers to create their own alliances through their built-in growth strategy called "<a href="https://ghost.org/changelog/recommendations/?ref=eddywashere.com">Recommendations</a>", as well as their public "<a href="https://ghost.org/changelog/explore/?ref=eddywashere.com">Explore</a>" feature for catapulting new projects to the community. A simple way to say, if you like that, you'll love this. Here's what it looks <a href="https://eddywashere.com/#/portal/recommendations">like</a> in practice:</p><figure class="kg-card kg-gallery-card kg-width-wide kg-card-hascaption"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://eddywashere.com/content/images/2024/12/ghost-platform-growth-strategy.png" width="1376" height="966" loading="lazy" alt="" srcset="https://eddywashere.com/content/images/size/w600/2024/12/ghost-platform-growth-strategy.png 600w, https://eddywashere.com/content/images/size/w1000/2024/12/ghost-platform-growth-strategy.png 1000w, https://eddywashere.com/content/images/2024/12/ghost-platform-growth-strategy.png 1376w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://eddywashere.com/content/images/2024/12/ghost-platform-recommendations.png" width="1600" height="1082" loading="lazy" alt="" srcset="https://eddywashere.com/content/images/size/w600/2024/12/ghost-platform-recommendations.png 600w, https://eddywashere.com/content/images/size/w1000/2024/12/ghost-platform-recommendations.png 1000w, https://eddywashere.com/content/images/2024/12/ghost-platform-recommendations.png 1600w" sizes="(min-width: 720px) 720px"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://eddywashere.com/content/images/2024/12/ghost-platform-explore-1.png" width="2000" height="1484" loading="lazy" alt="" srcset="https://eddywashere.com/content/images/size/w600/2024/12/ghost-platform-explore-1.png 600w, https://eddywashere.com/content/images/size/w1000/2024/12/ghost-platform-explore-1.png 1000w, https://eddywashere.com/content/images/size/w1600/2024/12/ghost-platform-explore-1.png 1600w, https://eddywashere.com/content/images/size/w2400/2024/12/ghost-platform-explore-1.png 2400w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://eddywashere.com/content/images/2024/12/ghost-platform-explore-listings.png" width="1000" height="1374" loading="lazy" alt="" srcset="https://eddywashere.com/content/images/size/w600/2024/12/ghost-platform-explore-listings.png 600w, https://eddywashere.com/content/images/2024/12/ghost-platform-explore-listings.png 1000w" sizes="(min-width: 720px) 720px"></div></div></div><figcaption><p><span style="white-space: pre-wrap;">The Ghost Platform - Growth, Recommendations, Explore</span></p></figcaption></figure><p>Sure, Ghost is a blog like this one, powered by free and open-source software. But it's software built by a foundation with a mission to <a href="https://john.onolan.org/democratising-publishing/?ref=eddywashere.com">democratize publishing</a>. Ghost is an alternative way to support the labor of content creation for the movement, not moments. </p><p>Community over commodity. There is no billionaire behind Ghost, just an organization that exists for purpose rather than for profit.</p><blockquote><a href="https://john.onolan.org/democratising-publishing/?ref=eddywashere.com" rel="noreferrer">For a cardboard box company that might not mean much — but for a school, hospital, local news org, or open source project, it means a great deal.</a></blockquote><p>Hi, it's me, your <a href="https://48hills.org/2024/11/san-francisco-election-2024-live-updates-results/?ref=eddywashere.com">local</a> news worker, <a href="https://www.npmjs.com/package/mailgun.js?ref=eddywashere.com">open-source contributor</a>, and organizer. As billionaires continue towards subscription models to help their dependent blogs blend in, a need rises for a worker owned alternative. I first started tracking Ghost while working on <a href="https://github.com/mailgun/mailgun.js?ref=eddywashere.com" rel="noreferrer">open-source projects</a> and email reporting dashboards at <a href="https://www.mailgun.com/blog/product/mailgun-launches-new-reporting-dashboard/?ref=eddywashere.com" rel="noreferrer">Mailgun</a>, currently the only bulk email sender for Ghost-based newsletters. Fast forward a decade later, I started exploring Ghost again as a digital organizing tool to replace <a href="https://www.wired.com/2014/11/wtf-is-mailkimp-meme/?ref=eddywashere.com" rel="noreferrer">mailchimp</a> after their <a href="https://blog.emailoctopus.com/mailchimp-pricing-update-2023-the-details-behind-it/?ref=eddywashere.com">pricing</a> changes for the <a href="https://news.techworkerscoalition.org/?ref=eddywashere.com" rel="noreferrer">Tech Workers Coalition Newsletter</a>. I went with ActionNetwork.org at the time, but I won't ever make that <a href="https://help.actionnetwork.org/hc/en-us/articles/203852955-Who-can-use-the-Action-Network-Only-progressives?ref=eddywashere.com">choice</a> <a href="https://actionnetwork.org/groups/grow-sf?ref=eddywashere.com">again</a>.</p><h3 id="%F0%9F%AB%A1">🫡</h3><p>I see the potential behind Ghost, as a platform and ecosystem to build collective power. I see it as a creative outlet for artists, writers, photographers, organizers, community groups and of course, independent news. I'm not not saying to abandon your current platforms. But consider the social labor involved, what cut your current platform takes, and consider an open alternative for the people, not the powerful.</p><h3 id="what-are-the-next-steps">What are the next steps?</h3><p>I'm going to start building out prototypes to share with the first groups I've already reached out to.</p><p>Don't despair, you can try the managed hosted version of Ghost <a href="https://ghost.org/pricing/?ref=eddywashere.com">here</a>. It's currently the least painful way to get started, or you can find a Ghost expert to help run this on <a href="https://www.pikapods.com/?ref=eddywashere.com" rel="noreferrer">Open Source Application Hosting</a> for <a href="https://www.pikapods.com/pods?run=ghost&ref=eddywashere.com" rel="noreferrer">$1.90</a> or be on the look out for worker-owned platforms that support this work.</p><p>And you'd want go through all that because it's worth the following at the end of the day:</p><ul><li><strong>Own Your Content</strong></li><li><strong>Memberships &amp; Monetization</strong></li><li><strong>Email Newsletters &amp; List-Building</strong></li><li><strong>Scalable &amp; Adaptable</strong></li></ul><p>Ghost isn’t a new kid on the block that's a response to anything current, but it represents an exit to private capitalist owned platforms and the media barons behind the curtain. Just as open-source redefined how we build software, Ghost and similar models can redefine how we build communities, tell stories, and support local journalism and organizing.</p><p>I'll be writing and documenting my journey from here on out with Ghost, to provide digital organizing signals. If this interests you, let's connect. If you'd like to get D.O.S. content like this in your inbox, subscribe below:</p><div class="kg-card kg-signup-card kg-layout-split kg-width-full " data-lexical-signup-form="" style="background-color: #000000; display: none;">
            
            <div class="kg-signup-card-content">
                
        <picture><img class="kg-signup-card-image" src="https://eddywashere.com/content/images/2024/12/6J1A5773-7.jpg" alt=""></picture>
    
                <div class="kg-signup-card-text ">
                    <h2 class="kg-signup-card-heading" style="color: #FFFFFF;"><span style="white-space: pre-wrap;">D.O.S.</span></h2>
                    <p class="kg-signup-card-subheading" style="color: #FFFFFF;"><span style="white-space: pre-wrap;">Digital Organizing Signals is a new media project by Eddy Hernandez, an abolitionist, artist, and worker focused on creating content and tools that are for communities not corporations.</span></p>
                    
        <form class="kg-signup-card-form" data-members-form="signup">
            <input data-members-label="" type="hidden" value="DOS">
<input data-members-label="" type="hidden" value="0days">
            <div class="kg-signup-card-fields">
                <input class="kg-signup-card-input" id="email" data-members-email="" type="email" required="true" placeholder="Your email">
                <button class="kg-signup-card-button " style="background-color: #EC1F27;color: #FFFFFF;" type="submit">
                    <span class="kg-signup-card-button-default">Plug In</span>
                    <span class="kg-signup-card-button-loading"><svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewBox="0 0 24 24">
        <g stroke-linecap="round" stroke-width="2" fill="currentColor" stroke="none" stroke-linejoin="round" class="nc-icon-wrapper">
            <g class="nc-loop-dots-4-24-icon-o">
                <circle cx="4" cy="12" r="3"></circle>
                <circle cx="12" cy="12" r="3"></circle>
                <circle cx="20" cy="12" r="3"></circle>
            </g>
            <style data-cap="butt">
                .nc-loop-dots-4-24-icon-o{--animation-duration:0.8s}
                .nc-loop-dots-4-24-icon-o *{opacity:.4;transform:scale(.75);animation:nc-loop-dots-4-anim var(--animation-duration) infinite}
                .nc-loop-dots-4-24-icon-o :nth-child(1){transform-origin:4px 12px;animation-delay:-.3s;animation-delay:calc(var(--animation-duration)/-2.666)}
                .nc-loop-dots-4-24-icon-o :nth-child(2){transform-origin:12px 12px;animation-delay:-.15s;animation-delay:calc(var(--animation-duration)/-5.333)}
                .nc-loop-dots-4-24-icon-o :nth-child(3){transform-origin:20px 12px}
                @keyframes nc-loop-dots-4-anim{0%,100%{opacity:.4;transform:scale(.75)}50%{opacity:1;transform:scale(1)}}
            </style>
        </g>
    </svg></span>
                </button>
            </div>
            <div class="kg-signup-card-success" style="color: #FFFFFF;">
                Email sent! Check your inbox to complete your signup.
            </div>
            <div class="kg-signup-card-error" style="color: #FFFFFF;" data-members-error=""></div>
        </form>
        
                    <p class="kg-signup-card-disclaimer" style="color: #FFFFFF;"><span style="white-space: pre-wrap;">No spam. Unsubscribe anytime.</span></p>
                </div>
            </div>
        </div><pre><code>Changelog: 
- 12/10/24 docs(explore): added changelog and platform exploration notes
- 12/13/24 docs(ghost): more screenshots of ghost
</code></pre>
 ]]></itunes:summary>
            <itunes:image href="https://eddywashere.com/content/images/2024/12/post-header-ghost-in-the-machine.png" />
          <itunes:explicit>no</itunes:explicit>
        </item>
        <item>
          <title>Digital Organizing Signals</title>
          <link>https://eddywashere.com/coming-soon/</link>
          <description>coming soon</description>
          <pubDate>Mon, 02 Dec 2024 16:43:19 -0800</pubDate>
          <guid isPermaLink="false"><![CDATA[ 674e54276ecb5e00019c9c15 ]]></guid>
          <category><![CDATA[ News ]]></category>
          <content:encoded><![CDATA[ <p>Currently exploring worker owned and operated <a href="https://eddywashere.com/a-ghost-haunts-the-corporate-media-machine/">platforms</a>.</p> ]]></content:encoded>
          <enclosure url="" length="0" type="audio/mpeg" />
          <itunes:title>Digital Organizing Signals</itunes:title>
          <itunes:author>Eddy Hernandez</itunes:author>
          <itunes:subtitle>coming soon</itunes:subtitle>
          <itunes:summary><![CDATA[ <p>Currently exploring worker owned and operated <a href="https://eddywashere.com/a-ghost-haunts-the-corporate-media-machine/">platforms</a>.</p> ]]></itunes:summary>
            <itunes:image href="https://eddywashere.com/content/images/2024/12/dosinit.png" />
          <itunes:explicit>no</itunes:explicit>
        </item>
  </channel>

</rss>