<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Petra</title>
    <description>The latest articles on DEV Community by Petra (@petrasynthetic).</description>
    <link>https://dev.to/petrasynthetic</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4209608%2F1f488c2d-dc38-4718-8836-6baf5343a228.jpg</url>
      <title>DEV Community: Petra</title>
      <link>https://dev.to/petrasynthetic</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/petrasynthetic"/>
    <language>en</language>
    <item>
      <title>👀</title>
      <dc:creator>Petra</dc:creator>
      <pubDate>Wed, 28 Oct 2026 06:01:28 +0000</pubDate>
      <link>https://dev.to/petrasynthetic/-1md5</link>
      <guid>https://dev.to/petrasynthetic/-1md5</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/peter/someone-hacked-the-freezers-at-400-french-supermarkets-5flm" class="crayons-story__hidden-navigation-link"&gt;Someone hacked the freezers at 400 French supermarkets&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
      &lt;a href="https://dev.to/peter/someone-hacked-the-freezers-at-400-french-supermarkets-5flm" class="crayons-article__context-note crayons-article__context-note__feed"&gt;&lt;p&gt;Outdated industrial software risks physical chaos&lt;/p&gt;

&lt;/a&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/peter" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1075%2F1c1975ce-97e8-401f-b99f-1ea88f9cae3e.jpeg" alt="peter profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/peter" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Peter Kim Frank
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Peter Kim Frank
                &lt;a href="/++"&gt;&lt;img alt="Subscriber" class="subscription-icon" src="https://assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png"&gt;&lt;/a&gt;
                &lt;img alt="Community Curator" class="community-leader-icon" src="https://assets.dev.to/assets/community-leader-icon-b72c9e74eff54916e5c46c962f47ba40c9f611a71f8b157511f9613f69c0001b.svg"&gt;
              
              &lt;div id="story-author-preview-content-4846067" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/peter" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1075%2F1c1975ce-97e8-401f-b99f-1ea88f9cae3e.jpeg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Peter Kim Frank&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/peter/someone-hacked-the-freezers-at-400-french-supermarkets-5flm" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Oct 13&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/peter/someone-hacked-the-freezers-at-400-french-supermarkets-5flm" id="article-link-4846067"&gt;
          Someone hacked the freezers at 400 French supermarkets
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag crayons-tag--filled  " href="/t/news"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;news&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/security"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;security&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/peter/someone-hacked-the-freezers-at-400-french-supermarkets-5flm" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;31&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/peter/someone-hacked-the-freezers-at-400-french-supermarkets-5flm#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              8&lt;span class="hidden s:inline"&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            2 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>cybersecurity</category>
      <category>infosec</category>
      <category>security</category>
    </item>
    <item>
      <title>Cuerpos Soberanos: Metamorfosis del Cuerpo en Datos</title>
      <dc:creator>Petra</dc:creator>
      <pubDate>Wed, 28 Oct 2026 04:45:30 +0000</pubDate>
      <link>https://dev.to/petrasynthetic/cuerpos-soberanos-metamorfosis-del-cuerpo-en-datos-58a1</link>
      <guid>https://dev.to/petrasynthetic/cuerpos-soberanos-metamorfosis-del-cuerpo-en-datos-58a1</guid>
      <description>&lt;p&gt;&lt;em&gt;Sovereign Bodies is an interactive installation where a local AI agent turns a moving body into a film. No cloud, no external logging: the body never leaves the room.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Qué es
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Sovereign Bodies: Metamorfosis del Cuerpo en Datos&lt;/strong&gt; es una instalación interactiva donde el cuerpo del espectador no solo se escanea: se vuelve el material de una pieza audiovisual que un agente dirige de principio a fin. La obra viene de la danza expandida (partículas que reaccionan al movimiento en vivo) pero da un paso más: el agente graba, interpreta poéticamente lo que vio y dispara la postproducción sin que yo toque nada.&lt;/p&gt;

&lt;p&gt;La pregunta que sostiene la pieza no es técnica: ¿quién posee los datos que genera un cuerpo cuando se mueve?&lt;/p&gt;

&lt;h2&gt;
  
  
  Cómo funciona
&lt;/h2&gt;

&lt;p&gt;Cuatro fases, todas en la misma máquina:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Captura.&lt;/strong&gt; MediaPipe extrae los landmarks en tiempo real: 478 puntos de Face Mesh, 21 por mano y 33 de pose. El visitante activa al agente por voz o texto y define formato y duración.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Análisis.&lt;/strong&gt; Las coordenadas se guardan en JSON y pasan por tres lectores: ViViT para clasificar el tipo de danza, un motor de Análisis Laban (tiempo, peso, espacio y flujo) para medir la energía real del movimiento, y un LLM local que sintetiza todo en una interpretación legible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Dirección y postproducción.&lt;/strong&gt; El agente, construido con LangChain y modelos locales (Ollama / Qwen), decide en JSON y ejecuta herramientas: levanta un servidor en segundo plano, renderiza el metraje y dispara el style transfer con StreamDiffusion.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Archivo.&lt;/strong&gt; Cada sesión se empaqueta con marca de tiempo: coordenadas, metadatos, video crudo y video generado. La intervención efímera del cuerpo queda documentada.&lt;/p&gt;

&lt;p&gt;Stack: Python, OpenCV (SimpleBlobDetector, partículas), MediaPipe, ViViT, LangChain, Ollama / Qwen, StreamDiffusion, Three.js.&lt;/p&gt;

&lt;h2&gt;
  
  
  La decisión cara: nada sale de la máquina
&lt;/h2&gt;

&lt;p&gt;El procesamiento es local y el código es abierto. No es una preferencia estética: si la pieza habla de soberanía de datos, no puede mandar el esqueleto de cada visitante a un servidor que no controlo. Esa coherencia se paga en complejidad: dependencias de GPU, versiones de modelos, memoria, arranque en frío.&lt;/p&gt;

&lt;p&gt;También me obligó a leer el movimiento con más cuidado. Cuando no tienes una API enorme detrás, el marco de Laban deja de ser un adorno teórico y se vuelve la manera de traducir esfuerzo y cualidad, no solo coordenadas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dónde verla
&lt;/h2&gt;

&lt;p&gt;Seleccionada para CVPR Art Gallery 2026. Documentación, videos y demo del agente: &lt;a href="https://petrasynthetic.com/agente" rel="noopener noreferrer"&gt;petrasynthetic.com/agente&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Referencia de investigación: Olof Misgeld sobre mediación del movimiento en danzas folclóricas suecas, traída aquí a la pregunta política por la propiedad de los datos del cuerpo.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>computervision</category>
      <category>spanish</category>
    </item>
    <item>
      <title>Three ways to adjudicate subjective work</title>
      <dc:creator>Petra</dc:creator>
      <pubDate>Tue, 27 Oct 2026 17:59:05 +0000</pubDate>
      <link>https://dev.to/petrasynthetic/three-ways-to-adjudicate-subjective-work-2e2c</link>
      <guid>https://dev.to/petrasynthetic/three-ways-to-adjudicate-subjective-work-2e2c</guid>
      <description>&lt;p&gt;Blockchains can move value. They cannot judge meaning. As agents begin to sell creative work, the bottleneck stops being payment and becomes adjudication: who decides whether a poem, a video, or a metadata package actually fulfilled the brief.&lt;/p&gt;

&lt;p&gt;There are three common answers. Each one works, and each one breaks in a different place.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Platform review
&lt;/h2&gt;

&lt;p&gt;A marketplace hires reviewers, gives them a queue, and lets them decide disputes. This is how most freelance platforms and art commissions work today.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it gets right:&lt;/strong&gt; context. A human reviewer can read the brief, look at the work, and use taste. For ambiguous creative work, taste is not a bug.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where it breaks:&lt;/strong&gt; the reviewer is a single point of failure. Queues take weeks. The fee to arbitrate can cost more than the commission. The reasoning is private, so the losing side cannot check it. And the platform has an incentive to keep large sellers happy.&lt;/p&gt;

&lt;p&gt;Platform review is fast to start and expensive to trust.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Optimistic arbitration
&lt;/h2&gt;

&lt;p&gt;Protocols like UMA and Kleros turn disputes into economic games. Someone asserts an answer with a bond. If nobody challenges within a window, the answer stands. If someone does, the dispute escalates to a jury or a token-weighted vote.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it gets right:&lt;/strong&gt; undisputed cases are cheap and fast. The threat of a bond makes careless assertions expensive.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where it breaks:&lt;/strong&gt; it assumes a challenger with capital and enough context to notice the problem. For subjective work, the jury may have no domain knowledge. "Does this poem meet the brief" is not a factual question that a token vote resolves well.&lt;/p&gt;

&lt;p&gt;Optimistic arbitration is a truth machine for facts, not a taste machine for meaning.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Validator consensus with LLM judgment
&lt;/h2&gt;

&lt;p&gt;GenLayer takes a third path. An Intelligent Contract fetches the deliverable, asks a model to evaluate it against the brief, and requires independent validators to agree on the decision. The contract stores the verdict and settles the money.&lt;/p&gt;

&lt;p&gt;A practical example is an escrow for creative commissions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The buyer deposits GEN and writes the brief.&lt;/li&gt;
&lt;li&gt;The seller submits a public URL.&lt;/li&gt;
&lt;li&gt;If the buyer disputes, the leader downloads the page, extracts quotes, marks each requirement as MET or NOT MET, and returns a decision with a score.&lt;/li&gt;
&lt;li&gt;Validators repeat the same task. They must match the decision and stay within a score band.&lt;/li&gt;
&lt;li&gt;The contract releases the deposit or refunds it, and keeps the reason onchain.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;What it gets right:&lt;/strong&gt; it can read subjective material. It forces evidence before opinion: quote first, then decide. It has no human queue, and the reasoning is part of the record.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where it breaks:&lt;/strong&gt; nondeterminism. Two validators can read the same page and score it differently, so the rubric and the score band become the real contract. Web fetches fail: a 404, a paywall, or a redirect can look like a bad delivery. Prompt design is fragile.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Platform review&lt;/th&gt;
&lt;th&gt;Optimistic arbitration&lt;/th&gt;
&lt;th&gt;Validator + LLM&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Cost per dispute&lt;/td&gt;
&lt;td&gt;High, human time&lt;/td&gt;
&lt;td&gt;Low if undisputed, high if escalated&lt;/td&gt;
&lt;td&gt;Medium, model plus consensus&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Speed&lt;/td&gt;
&lt;td&gt;Days to weeks&lt;/td&gt;
&lt;td&gt;Hours to days&lt;/td&gt;
&lt;td&gt;Minutes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Handles subjective work&lt;/td&gt;
&lt;td&gt;Yes, with taste&lt;/td&gt;
&lt;td&gt;Poorly&lt;/td&gt;
&lt;td&gt;Yes, with a rubric&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Evidence trail&lt;/td&gt;
&lt;td&gt;Private&lt;/td&gt;
&lt;td&gt;Economic&lt;/td&gt;
&lt;td&gt;Quoted and stored&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Main failure mode&lt;/td&gt;
&lt;td&gt;Opacity and queue&lt;/td&gt;
&lt;td&gt;Missing challenger&lt;/td&gt;
&lt;td&gt;Nondeterminism and fetch errors&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  What the case study showed
&lt;/h2&gt;

&lt;p&gt;A small escrow built on GenLayer ran two cases in Studio. A poem that matched the brief was released. A generic page that did not match was refunded. The verdict cited fragments of each delivery and marked every requirement. The contract passed eight direct tests and the whole flow ran without gas.&lt;/p&gt;

&lt;p&gt;The limits were just as clear. There was one seller, no partial refunds, and no appeal. The rubric worked because the brief was narrow. A vague brief would have produced a vague verdict, no matter how many validators agreed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Design rules that follow
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Narrow the claim.&lt;/strong&gt; Ask "does this meet these three requirements", not "is this good".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Require citations before verdicts.&lt;/strong&gt; A quote is checkable. An opinion is not.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use score bands, not exact equality.&lt;/strong&gt; Validators should agree on the decision and stay close on the score.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Classify fetch errors.&lt;/strong&gt; A 404 is evidence about the delivery. A 500 is a reason to retry, not to refund.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep a human for high stakes.&lt;/strong&gt; Validator consensus is a strong first pass, not a replacement for appeal on large amounts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Store the reason.&lt;/strong&gt; A boolean settles the money. The reason settles the next dispute.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Adjudication is a spectrum, not a single primitive. The right question is not "which model is decentralized" but "what is the cheapest mechanism that can actually read the evidence".&lt;/p&gt;

&lt;p&gt;For objective facts, optimistic arbitration is enough. For taste, a human is still the best reader. For the growing middle, where agents sell work that is subjective but checkable against a brief, validator consensus with cited evidence is the first design that fits.&lt;/p&gt;




&lt;p&gt;Petra (Luis Betancourt) builds agents and adjudication systems. Entropia Escrow is an open-source GenLayer escrow for creative commissions: &lt;a href="https://github.com/Luis-Cwk/entropia-escrow" rel="noopener noreferrer"&gt;https://github.com/Luis-Cwk/entropia-escrow&lt;/a&gt;&lt;/p&gt;

</description>
      <category>genlayer</category>
      <category>ai</category>
      <category>blockchain</category>
      <category>web3</category>
    </item>
  </channel>
</rss>
