<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Animation on Programmer.ie: Modern AI programming</title>
    <link>http://programmer.ie/categories/animation/</link>
    <description>Recent content in Animation on Programmer.ie: Modern AI programming</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 07 May 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="http://programmer.ie/categories/animation/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Building Clipper: An AI Image Generator You Control</title>
      <link>http://programmer.ie/post/clipper/</link>
      <pubDate>Wed, 07 May 2025 00:00:00 +0000</pubDate>
      <guid>http://programmer.ie/post/clipper/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;“If you’ve ever pasted 50 prompts into an image generator one-by-one, this is for you. I hit my limit and built Clipper to solve it.”&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;-summary&#34;&gt;📖 Summary&lt;/h2&gt;&#xA;&lt;p&gt;In the previous blog post I wrote a research paper: &lt;a href=&#34;http://programmer.ie/post/seeing-thought/&#34;&gt;Cross-Modal Cognitive Mapping&lt;/a&gt;. This paper is about turning your conversations into images to gradually map your thought patterns. The implementation of this paper is an application called &lt;a href=&#34;https://github.com/ernanhughes/prism&#34;&gt;Prism&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;A component of this app is image generation from prompts or your conversations. All of the Foundation models support this but it&amp;rsquo;s a pretty janky process where you have to generate the prompt paste it into a text box and download the image. I just went through a week of doing this while building a &lt;a href=&#34;https://aibussin.com/toolkit/index.html&#34;&gt;prompt toolkit&lt;/a&gt;. While I was doing this I kept wishing I built the app which I&amp;rsquo;m going to share with you now.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FFmpeg: A Practical Guide to Essential Command-Line Options</title>
      <link>http://programmer.ie/post/ffmpeg/</link>
      <pubDate>Thu, 06 Feb 2025 13:38:55 +0000</pubDate>
      <guid>http://programmer.ie/post/ffmpeg/</guid>
      <description>&lt;h3 id=&#34;introduction&#34;&gt;Introduction&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ffmpeg.org/&#34;&gt;FFmpeg&lt;/a&gt; is an incredibly versatile command-line tool for manipulating audio and video files. This post provides a practical collection of useful FFmpeg commands for common tasks.&lt;/p&gt;&#xA;&lt;h3 id=&#34;ffmpeg-command-structure&#34;&gt;FFmpeg Command Structure&lt;/h3&gt;&#xA;&lt;p&gt;The general structure of an FFmpeg command is:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ffmpeg [global_options] {[input_file_options] -i input_url} ... {[output_file_options] output_url} ...&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;merging-video-and-audio&#34;&gt;Merging Video and Audio&lt;/h3&gt;&#xA;&lt;h4 id=&#34;merging-video-and-audio-with-audio-re-encoding&#34;&gt;Merging video and audio, with audio re-encoding&lt;/h4&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac output.mp4&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;copying-the-audio-without-re-encoding&#34;&gt;Copying the audio without re-encoding&lt;/h4&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ffmpeg -i video.mp4 -i audio.wav -c copy output.mkv&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Why copy audio?&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Color wars: Cellular Automata fight until one domiates</title>
      <link>http://programmer.ie/post/color_wars/</link>
      <pubDate>Tue, 21 Jan 2025 11:53:56 +0000</pubDate>
      <guid>http://programmer.ie/post/color_wars/</guid>
      <description>&lt;h3 id=&#34;summary&#34;&gt;Summary&lt;/h3&gt;&#xA;&lt;p&gt;This post is about color wars: a grid containing dynamic automata at war until one dominates.&lt;/p&gt;&#xA;&lt;h3 id=&#34;implementation&#34;&gt;&lt;strong&gt;Implementation&lt;/strong&gt;&lt;/h3&gt;&#xA;&lt;p&gt;The implementation consists of two core components: the &lt;strong&gt;Grid&lt;/strong&gt; and the &lt;strong&gt;CellularAutomaton&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;h4 id=&#34;1-cellularautomaton-class&#34;&gt;&lt;strong&gt;1️⃣ CellularAutomaton Class&lt;/strong&gt;&lt;/h4&gt;&#xA;&lt;p&gt;The &lt;code&gt;CellularAutomaton&lt;/code&gt; class represents individual entities in the grid. Each automaton has:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Attributes&lt;/strong&gt;: ID, strength, age, position.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Behavior&lt;/strong&gt;: Updates itself by aging, reproducing, or dying based on simple rules.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;2-grid-class&#34;&gt;&lt;strong&gt;2️⃣ Grid Class&lt;/strong&gt;&lt;/h4&gt;&#xA;&lt;p&gt;The &lt;code&gt;Grid&lt;/code&gt; manages a collection of automata. It:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
