<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>seanmonstar - Micro</title>
    <description>My name is Sean McArthur, and here I blabber on about Rust, networking, open source, and a better web.
</description>
    <link>https://seanmonstar.com/micro</link>
    <atom:link href="https://seanmonstar.com/micro/rss/" rel="self" type="application/rss+xml"/>
    <pubDate>Mon, 13 Jul 2026 18:33:32 +0000</pubDate>
    <lastBuildDate>Mon, 13 Jul 2026 18:33:32 +0000</lastBuildDate>
    <generator>Jekyll v3.10.0</generator>
    
    
      <item>
        <title>Rust Errors generally shouldn&apos;t be PartialEq</title>
        <description>&lt;p&gt;Errors might have internal details that don’t make sense to compare. Like positional data, or a source chain. Even if you don’t have those details yet, committing to a public API of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;PartialEq&lt;/code&gt; can restrict you from internal refactoring.&lt;/p&gt;

&lt;p&gt;The common reason to want this is for testing purposes. People want to assert an error case matches what they expect. But that doesn’t need equality. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;matches!&lt;/code&gt; , &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;kind()&lt;/code&gt;, or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;is_*()&lt;/code&gt; patterns fit better.&lt;/p&gt;

&lt;p&gt;A public, exhaustive, flat &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;enum&lt;/code&gt; could choose differently. But those look more like a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;kind()&lt;/code&gt;. If you have private error details, I don’t think they make sense for comparing.&lt;/p&gt;

&lt;p&gt;Some interesting discussion a &lt;a href=&quot;https://www.reddit.com/r/rust/comments/n12uf9/is_there_a_good_reason_not_to_impl_eqpartialeq/&quot;&gt;few years ago&lt;/a&gt;.&lt;/p&gt;
</description>
        <pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate>
        <link>https://seanmonstar.com/micro/20260713-errors-not-partialeq/</link>
        <guid isPermaLink="true">https://seanmonstar.com/micro/20260713-errors-not-partialeq/</guid>
        
        
      </item>
    
      <item>
        <title>Owning my microblog with POSSE</title>
        <description>&lt;p&gt;&lt;a href=&quot;https://indieweb.org/POSSE&quot;&gt;POSSE&lt;/a&gt; is the practice of publishing on your own site first, and pushing that out to other services. To get the content where people are, while linking back to the original owned post.&lt;/p&gt;

&lt;p&gt;I now have a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/micro&lt;/code&gt; blog on my own website, and automation (a GH action) to break up new posts and send them to Mastodon and Bluesky as threads. It even has it’s own &lt;a href=&quot;https://seanmonstar.com/micro/rss&quot;&gt;rss feed&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This new setup lets me nudge people more towards my own property. As various other properties come and go, my online identity and content lasts longer.&lt;/p&gt;

&lt;p&gt;And it solves one of my &lt;a href=&quot;https://masto.ai/@seanmonstar/109319880660929327&quot;&gt;longer-standing concerns&lt;/a&gt; about microblogging: it feels like they can be more important content now, because they’re &lt;em&gt;mine&lt;/em&gt;.&lt;/p&gt;
</description>
        <pubDate>Tue, 23 Jun 2026 00:00:00 +0000</pubDate>
        <link>https://seanmonstar.com/micro/20260623-owning-my-microblog-with-posse/</link>
        <guid isPermaLink="true">https://seanmonstar.com/micro/20260623-owning-my-microblog-with-posse/</guid>
        
        
      </item>
    
  </channel>
</rss>
