<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Bo-Ning Li — Blog</title>
  <link>https://boningli.com/blog</link>
  <description>Short writing on tools, methods, and the practice.</description>
  <language>en-us</language>
  <atom:link href="https://boningli.com/rss.xml" rel="self" type="application/rss+xml" />
  <lastBuildDate>Fri, 21 Aug 2026 12:00:00 GMT</lastBuildDate>
  <item>
    <title>The Apparent Size of Light</title>
    <link>https://boningli.com/blog/the-apparent-size-of-light</link>
    <guid isPermaLink="true">https://boningli.com/blog/the-apparent-size-of-light</guid>
    <pubDate>Fri, 21 Aug 2026 12:00:00 GMT</pubDate>
    <description>A field note from Astral Twin on treating LED emitters as design units—and using brightness, pixel structure, and viewing distance as part of the image.</description>
    <category>led</category>
    <category>perception</category>
    <category>touchdesigner</category>
    <category>glsl</category>
    <category>display-design</category>
  </item>
  <item>
    <title>Recovering a Maya 2.0 .mb File Without Maya</title>
    <link>https://boningli.com/blog/recovering-maya-2-mb-without-maya</link>
    <guid isPermaLink="true">https://boningli.com/blog/recovering-maya-2-mb-without-maya</guid>
    <pubDate>Tue, 18 Aug 2026 12:00:00 GMT</pubDate>
    <description>The few clues that made it possible to recover polygon meshes from a 2000-era Alias Maya Binary file without installing Maya.</description>
    <category>maya</category>
    <category>maya-binary</category>
    <category>reverse-engineering</category>
    <category>3d</category>
    <category>file-formats</category>
    <category>digital-preservation</category>
  </item>
  <item>
    <title>Approximating Nothing</title>
    <link>https://boningli.com/blog/approximating-nothing</link>
    <guid isPermaLink="true">https://boningli.com/blog/approximating-nothing</guid>
    <pubDate>Wed, 01 Jul 2026 12:00:00 GMT</pubDate>
    <description>Why the most interesting simulations are faithful to nothing — a case against accuracy-chasing, from Turing patterns to cellular automata to the edge of chaos.</description>
    <category>simulation</category>
    <category>cellular-automata</category>
    <category>emergence</category>
    <category>complexity</category>
    <category>essay</category>
  </item>
  <item>
    <title>Embedding VEX Header Files Inside an HDA</title>
    <link>https://boningli.com/blog/houdini-embed-vex-headers-in-hda</link>
    <guid isPermaLink="true">https://boningli.com/blog/houdini-embed-vex-headers-in-hda</guid>
    <pubDate>Tue, 05 May 2026 12:00:00 GMT</pubDate>
    <description>VEX `#include` cannot resolve `opdef:` URIs, so headers cannot be referenced directly from inside an HDA. Here is the workaround that does work: extract the embedded section on install and add the directory to HOUDINI_VEX_PATH.</description>
    <category>houdini</category>
    <category>vex</category>
    <category>hda</category>
    <category>pipeline</category>
  </item>
  <item>
    <title>TouchDesigner Agent: 150 Lines to an AI-Driven GLSL Workflow</title>
    <link>https://boningli.com/blog/touchdesigner-agent</link>
    <guid isPermaLink="true">https://boningli.com/blog/touchdesigner-agent</guid>
    <pubDate>Fri, 20 Mar 2026 12:00:00 GMT</pubDate>
    <description>A tiny TCP bridge that lets AI coding agents control TouchDesigner — write GLSL shaders, check compile errors, and iterate autonomously.</description>
    <category>touchdesigner</category>
    <category>ai</category>
    <category>glsl</category>
    <category>python</category>
    <category>automation</category>
  </item>
  <item>
    <title>One Webcam, One Arm: An AI-First Approach to Robotic Interaction</title>
    <link>https://boningli.com/blog/uf850-ai-robotic-arm</link>
    <guid isPermaLink="true">https://boningli.com/blog/uf850-ai-robotic-arm</guid>
    <pubDate>Fri, 20 Mar 2026 12:00:00 GMT</pubDate>
    <description>A personal sprint into making a 6-axis industrial robot arm respond to people — using nothing but a webcam, Gemini VLM, MediaPipe, and a lot of AI-assisted coding.</description>
    <category>robotics</category>
    <category>ai</category>
    <category>mediapipe</category>
    <category>gemini</category>
    <category>python</category>
    <category>new-media</category>
  </item>
  <item>
    <title>Designing Houdini Agent: Why I Bet on a Thin Bridge</title>
    <link>https://boningli.com/blog/houdini-agent-design-philosophy</link>
    <guid isPermaLink="true">https://boningli.com/blog/houdini-agent-design-philosophy</guid>
    <pubDate>Mon, 09 Mar 2026 12:00:00 GMT</pubDate>
    <description>The design philosophy behind houdini-agent — why a general-purpose interface to Houdini matters more than pre-built workflows, and how I&apos;m thinking about AI-assisted DCC work.</description>
    <category>houdini</category>
    <category>ai</category>
    <category>python</category>
    <category>automation</category>
    <category>pipeline</category>
  </item>
  <item>
    <title>Risograph in COPs: Subtractive Color Mixing with Kubelka-Munk Theory</title>
    <link>https://boningli.com/blog/risograph-in-cops</link>
    <guid isPermaLink="true">https://boningli.com/blog/risograph-in-cops</guid>
    <pubDate>Mon, 09 Mar 2026 12:00:00 GMT</pubDate>
    <description>Rebuilding Risograph printing from scratch in Houdini Copernicus — ink decomposition, KM color science, dithering, and the art-vs-physics balancing act.</description>
    <category>houdini</category>
    <category>cops</category>
    <category>opencl</category>
    <category>color-science</category>
    <category>risograph</category>
  </item>
  <item>
    <title>COPs GPU Particle Advection</title>
    <link>https://boningli.com/blog/cops-gpu-particle</link>
    <guid isPermaLink="true">https://boningli.com/blog/cops-gpu-particle</guid>
    <pubDate>Wed, 22 Oct 2025 12:00:00 GMT</pubDate>
    <description>Simple example showing how to advect particles on the GPU using OpenCL kernels in Houdini Copernicus.</description>
    <category>houdini</category>
    <category>cops</category>
    <category>opencl</category>
    <category>particles</category>
    <category>simulation</category>
    <category>gpu</category>
  </item>
  <item>
    <title>Color Management Standards</title>
    <link>https://boningli.com/blog/color-management-standards</link>
    <guid isPermaLink="true">https://boningli.com/blog/color-management-standards</guid>
    <pubDate>Wed, 08 Oct 2025 12:00:00 GMT</pubDate>
    <description>Standardized Linear Rec.709/sRGB color management protocols across Houdini, After Effects, Nuke, and TouchDesigner for consistent pipeline output.</description>
    <category>houdini</category>
    <category>pipeline</category>
    <category>color-management</category>
    <category>nuke</category>
    <category>after-effects</category>
  </item>
  <item>
    <title>COPs Black Hole Distortion</title>
    <link>https://boningli.com/blog/cops-blackhole-distort</link>
    <guid isPermaLink="true">https://boningli.com/blog/cops-blackhole-distort</guid>
    <pubDate>Wed, 08 Oct 2025 12:00:00 GMT</pubDate>
    <description>UV distortion based on SDF gradients for gravitational lensing effects in Houdini Copernicus.</description>
    <category>houdini</category>
    <category>cops</category>
    <category>opencl</category>
    <category>vfx</category>
  </item>
  <item>
    <title>COPs Simple Ripple Solver</title>
    <link>https://boningli.com/blog/cops-simple-ripple-solver</link>
    <guid isPermaLink="true">https://boningli.com/blog/cops-simple-ripple-solver</guid>
    <pubDate>Wed, 08 Oct 2025 12:00:00 GMT</pubDate>
    <description>A lightweight water ripple simulation using the 2D wave equation, implemented as a Houdini COPs OpenCL kernel.</description>
    <category>houdini</category>
    <category>cops</category>
    <category>opencl</category>
    <category>simulation</category>
    <category>vfx</category>
  </item>
  <item>
    <title>Houdini Linux Render Farm Setup Guide</title>
    <link>https://boningli.com/blog/houdini-linux-render-farm-setup</link>
    <guid isPermaLink="true">https://boningli.com/blog/houdini-linux-render-farm-setup</guid>
    <pubDate>Tue, 07 Oct 2025 12:00:00 GMT</pubDate>
    <description>A practical guide for setting up and managing a Linux-based render farm with Houdini, including NAS mounting, HQueue configuration, and Deadline troubleshooting.</description>
    <category>houdini</category>
    <category>linux</category>
    <category>pipeline</category>
    <category>render-farm</category>
  </item>
</channel>
</rss>
