<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
    <title>Forking Paths</title>
    <description>Martin Fouilleul’s Blog</description>
    <link>https://forkingpaths.dev/</link>
    <copyright>2026 Martin Fouilleul. All rights reserved</copyright>
    <image>
        <url>https://forkingpaths.dev/assets/img/logo.png</url>
        <title>Forking Paths</title>
        <link>https://forkingpaths.dev/</link>
        <width>144</width>
        <height>93</height>
    </image>
    
        <item>
            <title>Cubes Physics Simulation</title>
            <link>https://forkingpaths.dev/gallery/150315-cubes/</link>
            <pubDate>15 Apr 2015 00:00:00 UT</pubDate>
            <description>&lt;img src="/gallery/150315-cubes/cubes.jpg" style="width: 9rem;"/&gt;
                Rigid body simulation.
            </description>
        </item>
    
        <item>
            <title>Three Little Synths</title>
            <link>https://forkingpaths.dev/gallery/160112-3-synths/</link>
            <pubDate>12 Feb 2016 00:00:00 UT</pubDate>
            <description>&lt;img src="/gallery/160112-3-synths/thumbnail.jpg" style="width: 9rem;"/&gt;
                Strings, Panpipes &amp; Swarms.
            </description>
        </item>
    
        <item>
            <title>Listen to the World</title>
            <link>https://forkingpaths.dev/gallery/170616-ltw/</link>
            <pubDate>16 Jul 2017 00:00:00 UT</pubDate>
            <description>&lt;img src="/gallery/170616-ltw/thumbnail.jpg" style="width: 9rem;"/&gt;
                Interactive installation.
            </description>
        </item>
    
        <item>
            <title>Top!</title>
            <link>https://forkingpaths.dev/gallery/171006-top/</link>
            <pubDate>06 Nov 2017 00:00:00 UT</pubDate>
            <description>&lt;img src="/gallery/171006-top/Top1024.png" style="width: 9rem;"/&gt;
                Cue-lists-based show controller.
            </description>
        </item>
    
        <item>
            <title>Nox Glove</title>
            <link>https://forkingpaths.dev/gallery/171126-nox-glove/</link>
            <pubDate>26 Dec 2017 00:00:00 UT</pubDate>
            <description>&lt;img src="/gallery/171126-nox-glove/glove.jpg" style="width: 9rem;"/&gt;
                Sensor-equipped glove for effects controls.
            </description>
        </item>
    
        <item>
            <title>A Vector Graphics Renderer — part 1</title>
            <link>https://forkingpaths.dev/blog/171220-vector-graphics-p1/</link>
            <pubDate>20 Jan 2017 00:00:00 UT</pubDate>
            <description>&lt;img src="/blog/171220-vector-graphics-p1/171216_miter_join.jpg" style="width: 9rem;"/&gt;
                This post is a writeup of a vector graphics renderer I’ve been working on. It is part of an application engine I made to build GUI and graphics applications. I’ve been using it mostly on my work-in-progress show-controller, but also in small tools and demos.
            </description>
        </item>
    
        <item>
            <title>A Vector Graphics Renderer — part 2</title>
            <link>https://forkingpaths.dev/blog/171221-vector-graphics-p2/</link>
            <pubDate>21 Jan 2017 00:00:00 UT</pubDate>
            <description>&lt;img src="/blog/171221-vector-graphics-p2/thumbnail.jpg" style="width: 9rem;"/&gt;
                This is the second part to my series of posts describing a 2D vector graphics system that I wrote to make graphical user interface applications. This one will focus on the triangulation of polygons, an essential operation when filling user-defined paths.
            </description>
        </item>
    
        <item>
            <title>A Vector Graphics Renderer — part 3</title>
            <link>https://forkingpaths.dev/blog/180114-vector-graphics-p3/</link>
            <pubDate>14 Feb 2018 00:00:00 UT</pubDate>
            <description>&lt;img src="/blog/180114-vector-graphics-p3/thumbnail.jpg" style="width: 9rem;"/&gt;
                Here’s the third part in a series of posts describing my vector graphics renderer. It will discuss the practical aspects of passing down data to the GPU with OpenGL and trying to optimize the performance of the renderer.
            </description>
        </item>
    
        <item>
            <title>Glockenspiel</title>
            <link>https://forkingpaths.dev/gallery/181103-glockenspiel/</link>
            <pubDate>03 Dec 2018 00:00:00 UT</pubDate>
            <description>&lt;img src="/gallery/181103-glockenspiel/preview.jpg" style="width: 9rem;"/&gt;
                A physically-inspired additive synthesizer.
            </description>
        </item>
    
        <item>
            <title>Doom Fire</title>
            <link>https://forkingpaths.dev/gallery/181222-fire/</link>
            <pubDate>22 Jan 2018 00:00:00 UT</pubDate>
            <description>&lt;img src="/gallery/181222-fire/thumbnail.jpg" style="width: 9rem;"/&gt;
                A classic pixel fire.
            </description>
        </item>
    
        <item>
            <title>Lounging by the Pool</title>
            <link>https://forkingpaths.dev/gallery/181229-water/</link>
            <pubDate>29 Jan 2018 00:00:00 UT</pubDate>
            <description>&lt;img src="/gallery/181229-water/thumbnail.jpg" style="width: 9rem;"/&gt;
                Simple water effect.
            </description>
        </item>
    
        <item>
            <title>MODPlay</title>
            <link>https://forkingpaths.dev/gallery/190505-chiptune/</link>
            <pubDate>05 Jun 2019 00:00:00 UT</pubDate>
            <description>&lt;img src="/gallery/190505-chiptune/thumbnail.jpg" style="width: 9rem;"/&gt;
                A MOD files player written in a week-end.
            </description>
        </item>
    
        <item>
            <title>QScript Prototype</title>
            <link>https://forkingpaths.dev/gallery/201208-qscript-demo/</link>
            <pubDate>08 Jan 2020 00:00:00 UT</pubDate>
            <description>&lt;img src="/gallery/201208-qscript-demo/thumbnail.jpg" style="width: 9rem;"/&gt;
                An OSC score programming language.
            </description>
        </item>
    
        <item>
            <title>Audio Workbench Prototype</title>
            <link>https://forkingpaths.dev/blog/211014-audio-workbench/</link>
            <pubDate>14 Feb 2021 00:00:00 UT</pubDate>
            <description>&lt;img src="/blog/211014-audio-workbench/thumbnail.jpg" style="width: 9rem;"/&gt;
                Last week I participated in the Wheel Reinvention Jam. This is a 7 day event where the goal is to prototype a new solution to a solved problem, ideally giving it a new spin in the process. I decided to work on an audio live-coding workbench to help me prototype synthesizers and audio effects.
            </description>
        </item>
    
        <item>
            <title>La Selva Virgen, en la Selva Oscura</title>
            <link>https://forkingpaths.dev/gallery/210310-pedrobotique/</link>
            <pubDate>10 Apr 2021 00:00:00 UT</pubDate>
            <description>&lt;img src="/gallery/210310-pedrobotique/thumbnail.jpg" style="width: 9rem;"/&gt;
                A collaboration with composer Perdro Garcìa Velasquez.
            </description>
        </item>
    
        <item>
            <title>Fluidelics</title>
            <link>https://forkingpaths.dev/gallery/220724-fluid/</link>
            <pubDate>24 Aug 2022 00:00:00 UT</pubDate>
            <description>&lt;img src="/gallery/220724-fluid/thumbnail.jpg" style="width: 9rem;"/&gt;
                A WebGL fluid simulation using the multigrid method.
            </description>
        </item>
    
        <item>
            <title>Orca Jam Prototype</title>
            <link>https://forkingpaths.dev/blog/220822-orca/</link>
            <pubDate>22 Sep 2022 00:00:00 UT</pubDate>
            <description>&lt;img src="/blog/220822-orca/thumbnail.jpg" style="width: 9rem;"/&gt;
                I participated again in this year’s Wheel Reinvention Jam, a 7 days programming jam where the goal is to revisit problems for which off-the-shelf solutions already exist. My prototype this year is called Orca, and it is a launcher and sandbox for applications based on WebAssembly.
            </description>
        </item>
    
        <item>
            <title>What Time Is It: Time Synchronization</title>
            <link>https://forkingpaths.dev/blog/221017-time/</link>
            <pubDate>17 Nov 2022 00:00:00 UT</pubDate>
            <description>&lt;img src="/blog/221017-time/NTP_architecture_summary.png" style="width: 9rem;"/&gt;
                Getting the time seems easy right? Someone has it, you ask them, and you’re done. Well, it’s a little more complicated than that.
            </description>
        </item>
    
        <item>
            <title>Revisiting Vector Graphics on the GPU</title>
            <link>https://forkingpaths.dev/blog/221101-vector-graphics/</link>
            <pubDate>01 Dec 2022 00:00:00 UT</pubDate>
            <description>&lt;img src="/blog/221101-vector-graphics/thumbnail.jpg" style="width: 9rem;"/&gt;
                In a previous series I described how to fill or stroke paths using curve subdivision and polygon triangulation. In this post I explain another method that better uses the GPU and avoids subdivision tradeoffs.
            </description>
        </item>
    
        <item>
            <title>Quadrant Devlogs</title>
            <link>https://forkingpaths.dev/gallery/221205-quadrant-devlogs/</link>
            <pubDate>05 Jan 2022 00:00:00 UT</pubDate>
            <description>&lt;img src="/gallery/221205-quadrant-devlogs/thumbnail.jpg" style="width: 9rem;"/&gt;
                Short devlogs on Quadrant, a temporal programming environment for live shows.
            </description>
        </item>
    
        <item>
            <title>A rule-based styling system for immediate-mode UIs</title>
            <link>https://forkingpaths.dev/blog/230310-rule-based-styling-imgui/</link>
            <pubDate>10 Apr 2023 00:00:00 UT</pubDate>
            <description>&lt;img src="/blog/230310-rule-based-styling-imgui/mondrian.jpg" style="width: 9rem;"/&gt;
                A common design for immediate mode UIs styling APIs is to use style stacks. However, these comes with limitations on the ability to build and compose reusable and stylable widgets. In this post I discuss these limitations and present a rule-based styling system to address them.
            </description>
        </item>
    
        <item>
            <title>Colors Learning Jam</title>
            <link>https://forkingpaths.dev/blog/240325-learning-colors/</link>
            <pubDate>25 Apr 2024 00:00:00 UT</pubDate>
            <description>&lt;img src="/blog/240325-learning-colors/thumbnail.jpg" style="width: 9rem;"/&gt;
                I participated in Handmade Network’s Learning Jam, and picked the topic of color. Here are a couple videos where I explain color spaces and color systems, and apply the theory to Orca’s vector graphics renderer.
            </description>
        </item>
    
        <item>
            <title>Orca Vector Graphics</title>
            <link>https://forkingpaths.dev/blog/240326-orca-vector-graphics/</link>
            <pubDate>26 Apr 2024 00:00:00 UT</pubDate>
            <description>&lt;img src="https://orca-app.dev/posts/240426/resources/ghostscript_tiger.png" style="width: 9rem;"/&gt;
                Orca provides a canvas API out of the box, which allows apps to draw 2D vector graphics, and also powers the rendering of the UI system. Users can build paths from line segments and Bézier curves, and fill or stroke paths using a number of attributes such as the path color, gradient, texture, line width, etc.
            </description>
        </item>
    
        <item>
            <title>Babbler</title>
            <link>https://forkingpaths.dev/blog/241002-babbler/</link>
            <pubDate>02 Nov 2024 00:00:00 UT</pubDate>
            <description>&lt;img src="/blog/241002-babbler/babbler.jpg" style="width: 9rem;"/&gt;
                Last week I worked on a little toy computing system based on my (mis)understanding of Dynamicland’s Realtalk.
            </description>
        </item>
    
        <item>
            <title>DrawFit</title>
            <link>https://forkingpaths.dev/gallery/250210-drawfit/</link>
            <pubDate>10 Mar 2025 00:00:00 UT</pubDate>
            <description>&lt;img src="/gallery/250210-drawfit/thumbnail.jpg" style="width: 9rem;"/&gt;
                Freehand drawing with shape recognition.
            </description>
        </item>
    
        <item>
            <title>Orca Chats</title>
            <link>https://forkingpaths.dev/gallery/250403-orca/</link>
            <pubDate>03 May 2025 00:00:00 UT</pubDate>
            <description>&lt;img src="/gallery/250403-orca/thumbnail.jpg" style="width: 9rem;"/&gt;
                Chats and Demos of Orca.
            </description>
        </item>
    
        <item>
            <title>A Generic Type-Safe Intrusive Linked List in C</title>
            <link>https://forkingpaths.dev/blog/260607-typed-intrusive-linked-list/</link>
            <pubDate>07 Jul 2026 00:00:00 UT</pubDate>
            <description>&lt;img src="/blog/260607-typed-intrusive-linked-list/chains.jpg" style="width: 9rem;"/&gt;
                Today I’m presenting a linked list written in C that is generic and type safe. It demonstrates two techniques that allow attaching type names and constants to a type definition, at compile-time, with zero runtime memory overhead.
            </description>
        </item>
    
</channel>
</rss>
