<rss version="2.0">
  <channel>
    <title>Poetry on LLBBL Blog</title>
    <link>https://llbbl.blog/categories/poetry/</link>
    <description></description>
    
    <language>en</language>
    
    <lastBuildDate>Sun, 05 Apr 2026 10:00:00 -0500</lastBuildDate>
    
    <item>
      <title>Hiding Poems Inside Images</title>
      <link>https://llbbl.blog/2026/04/05/hiding-poems-inside-images.html</link>
      <pubDate>Sun, 05 Apr 2026 10:00:00 -0500</pubDate>
      
      <guid>http://llbbl.micro.blog/2026/04/05/hiding-poems-inside-images.html</guid>
      <description>&lt;p&gt;I built a tool that hides poems inside images. Not as metadata, not as a watermark. The actual text of the poem drives the visual pattern, and you can reconstruct the poem perfectly from the image alone.&lt;/p&gt;
&lt;h2 id=&#34;how-it-works&#34;&gt;How It Works&lt;/h2&gt;
&lt;p&gt;You give it a poem. It analyzes the syllable count, rhyme scheme, and stress patterns. Then it generates a visual pattern where those poetic features drive the aesthetics: spiral width, dot placement, block size, line weight.&lt;/p&gt;
&lt;p&gt;The text itself is encoded into the pattern in a variety of ways. The pattern isn&amp;rsquo;t just inspired by the poem, it IS the poem. Run the decoder on the image and you get back the original text, character for character, including whitespace and punctuation.&lt;/p&gt;
&lt;h2 id=&#34;seven-renderers-two-approaches&#34;&gt;Seven Renderers, Two Approaches&lt;/h2&gt;
&lt;p&gt;There are seven different visual styles, split into two categories.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;steganographic renderers&lt;/strong&gt; (geometric, concentric, waveform) hide text invisibly in pixel color channels using LSB encoding. The visual pattern is purely decorative. This is a well-known technique. nothing new there.&lt;/p&gt;
&lt;p&gt;I wanted to build something different, so I focused on &lt;strong&gt;visual encoding patterns&lt;/strong&gt;. The encoding is the art, and the art is the encoding. Everything about how the image is constructed follows repeatable algorithms so it can be decoded back:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Nautilus&lt;/strong&gt; draws a golden spiral where line width carries the data&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fibonacci&lt;/strong&gt; uses a sunflower phyllotaxis dot pattern&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mosaic&lt;/strong&gt; creates an adaptive block grid&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dotline&lt;/strong&gt; connects dots with varying line weight&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each has different capacity. The nautilus spiral can hold about 2,200 characters, enough for a full Whitman poem. A fibonacci pattern holds about 1,600. Even the smallest renderer handles a haiku easily.&lt;/p&gt;
&lt;p&gt;Right now I&amp;rsquo;m just having fun building different visuals, images that encode and decode. Eventually I might build an API around it, but for now it&amp;rsquo;s a side project&amp;hellip;&lt;/p&gt;
&lt;p&gt;A Basho&amp;rsquo;s haiku is here:
&lt;img src=&#34;https://cdn.uploads.micro.blog/70990/2026/tempest-square.png&#34; width=&#34;500&#34; height=&#34;500&#34; alt=&#34;Auto-generated description: A central square is surrounded by a series of radiating lines with red points, creating a geometric pattern.&#34;&gt;&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>