<?xml version="1.0" encoding="UTF-8"?>
  <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
    <url>
      <loc>https://soulwire.co.uk/</loc>
      <image:image>
        <image:loc>https://soulwire.co.uk/assets/soulwire.jpg</image:loc>
        <image:caption>Soulwire - I'm Justin Windle, an engineer, technical leader and creative coder based in London. Former CTO at TORTUS AI, previously at Google Creative Lab, Fantasy and Spotify. I build from strategy to stack, advise early-stage companies and speak
          at conferences like Resonate and FITC about animation, interactivity and generative design.</image:caption>
      </image:image>
    </url>
    <url>
      <loc>https://soulwire.co.uk/primordial-soup/</loc>
      <image:image>
        <image:loc>https://soulwire.co.uk/assets/primordial-soup/preview.jpg</image:loc>
        <image:caption>Primordial Soup - Generative, autonomous creatures inhabit a viscous liquid. Their survival depends on their ability to move, which is determined by their DNA as they evolve through the generations. Locomotion is determined by interactions between
          body segments.</image:caption>
      </image:image>
    </url>
    <url>
      <loc>https://soulwire.co.uk/tensor-field/</loc>
      <image:image>
        <image:loc>https://soulwire.co.uk/assets/tensor-field/preview.jpg</image:loc>
        <image:caption>Tensor Field - Creating emergent patterns and organic movement using the principals of mutual gravitation. Each particle randomly inverts it's charge inside the field to create unpredictable but natural looking motion.</image:caption>
      </image:image>
    </url>
    <url>
      <loc>https://soulwire.co.uk/neuro-synth/</loc>
      <image:image>
        <image:loc>https://soulwire.co.uk/assets/neuro-synth/preview.jpg</image:loc>
        <image:caption>Neuro Synth - Synthesiser and sequencer based somewhat on the concept of neural networks. Sound is synthesised using the Web Audio API and sequenced based on the proximity between trigger and receiver nodes. The original Flash version of this
          I made inspired the Node Beat app.</image:caption>
      </image:image>
    </url>
    <url>
      <loc>https://soulwire.co.uk/recursion-toy/</loc>
      <image:image>
        <image:loc>https://soulwire.co.uk/assets/recursion-toy/preview.jpg</image:loc>
        <image:caption>Recursion Toy - Revisiting one of my favorite topics - recursion. This canvas based tool alows you to explore branching algorithms &amp; rendering techniques, as well as save a snapshot of your creations.</image:caption>
      </image:image>
    </url>
    <url>
      <loc>https://soulwire.co.uk/magic-beans/</loc>
      <image:image>
        <image:loc>https://soulwire.co.uk/assets/magic-beans/preview.jpg</image:loc>
        <image:caption>Magic Beans - It's become quite the vogue lately to triangulate everything. If you're not generating ideas yourself, then you may as well not bother executing them yourself either! Simply generate endless trendy triangulations with this little
          experiment by sowing magic beans and watching them grow into illustrations.</image:caption>
      </image:image>
    </url>
    <url>
      <loc>https://soulwire.co.uk/kinetic-canvas/</loc>
      <image:image>
        <image:loc>https://soulwire.co.uk/assets/kinetic-canvas/preview.jpg</image:loc>
        <image:caption>Kinetic Canvas - Doodle something then watch it come to life inside a simple physics simulation. This is an adaptation of the title slides from my 2014 Resonate talk.</image:caption>
      </image:image>
    </url>
    <url>
      <loc>https://soulwire.co.uk/math-for-motion/</loc>
      <image:image>
        <image:loc>https://soulwire.co.uk/assets/math-for-motion/preview.jpg</image:loc>
        <image:caption>Math for Motion - An animated cheatsheet I created to display some of my favorite equations for creating organic motion effects in code. Thanks to Marcin for the idea of adding line graphs.</image:caption>
      </image:image>
    </url>
    <url>
      <loc>https://soulwire.co.uk/tentacles/</loc>
      <image:image>
        <image:loc>https://soulwire.co.uk/assets/tentacles/preview.jpg</image:loc>
        <image:caption>Tentacles - An attempt at simulating natural looking tentacles using the 2D canvas as a rendering context.</image:caption>
      </image:image>
    </url>
    <url>
      <loc>https://soulwire.co.uk/organis.ms/</loc>
      <image:image>
        <image:loc>https://soulwire.co.uk/assets/organis.ms/preview.jpg</image:loc>
        <image:caption>Organis.ms - Demo for an old and now abandoned steering behaviour library I was working on. The idea was to create a high level JavaScript API for simulating interactions between autonomous agents.</image:caption>
      </image:image>
    </url>
    <url>
      <loc>https://soulwire.co.uk/make-our-mark/</loc>
      <image:image>
        <image:loc>https://soulwire.co.uk/assets/make-our-mark/preview.jpg</image:loc>
        <image:caption>Make Our Mark - I was asked to be part of the Station to Station project in 2013. My contribution was this generative music visualisation which would display tweets from the event alongside audio captured from participating musicians. Since the
          event has now ended, this standalone version simply displays some of my recent tweets.</image:caption>
      </image:image>
    </url>
    <url>
      <loc>https://soulwire.co.uk/unwrapageddon/</loc>
      <image:image>
        <image:loc>https://soulwire.co.uk/assets/unwrapageddon/preview.jpg</image:loc>
        <image:caption>Unwrapageddon - Savour the anticipation with this gift that keeps on giving. My "end of the world" (21/12/2012) contribution to the Christmas Experiments project. Tear your way through infinite generative wrapping paper.</image:caption>
      </image:image>
    </url>
    <url>
      <loc>https://soulwire.co.uk/muscular-hydrostats/</loc>
      <image:image>
        <image:loc>https://soulwire.co.uk/assets/muscular-hydrostats/preview.jpg</image:loc>
        <image:caption>Muscular Hydrostats - An attempt to simulate the tentacles of a living organism using inverse kinematics.</image:caption>
      </image:image>
    </url>
    <url>
      <loc>https://soulwire.co.uk/plasmatic-isosurface/</loc>
      <image:image>
        <image:loc>https://soulwire.co.uk/assets/plasmatic-isosurface/preview.jpg</image:loc>
        <image:caption>Plasmatic Isosurface - A 2 dimensional plasma simulation running on the GPU, written in GLSL and CoffeeScript and rendered with WebGL.</image:caption>
      </image:image>
    </url>
    <url>
      <loc>https://soulwire.co.uk/mushroom-coral/</loc>
      <image:image>
        <image:loc>https://soulwire.co.uk/assets/mushroom-coral/preview.jpg</image:loc>
        <image:caption>Mushroom Coral - Simulating patterns found in nature, such as those seen in certain types of coral. These forms are generated using the numbers from the Perlin Noise algorithm and applying them to repeating shapes.</image:caption>
      </image:image>
    </url>
    <url>
      <loc>https://soulwire.co.uk/moon-lander/</loc>
      <image:image>
        <image:loc>https://soulwire.co.uk/assets/moon-lander/preview.jpg</image:loc>
        <image:caption>Moon Lander - A tribute to the classic arcade game Lunar Lander with a huge map to explore and realtime view of other connected players. Created with Matthew Wagerfield to promote and idea we were working on.</image:caption>
      </image:image>
    </url>
    <url>
      <loc>https://soulwire.co.uk/smack-my-glitch-up/</loc>
      <image:image>
        <image:loc>https://soulwire.co.uk/assets/smack-my-glitch-up/preview.jpg</image:loc>
        <image:caption>Smack My Glitch Up - An authentic glitch effect achieved by scrambling the bytes of a JPG image between the SOS (Start of Scan) and EOI (End of Image) byte markers, then loading it back into the browser. Non-JPG images are first converted to JPG
          in order for the effect to work.</image:caption>
      </image:image>
    </url>
    <url>
      <loc>https://soulwire.co.uk/crystallization/</loc>
      <image:image>
        <image:loc>https://soulwire.co.uk/assets/crystallization/preview.jpg</image:loc>
        <image:caption>Crystallization - A JavaScript canvas implementation of an old Flash experiment exploring the recursive subdivision of polygons.</image:caption>
      </image:image>
    </url>
    <url>
      <loc>https://soulwire.co.uk/webgl-gpu-particles/</loc>
      <image:image>
        <image:loc>https://soulwire.co.uk/assets/webgl-gpu-particles/preview.jpg</image:loc>
        <image:caption>WebGL GPU Particles - 1,048,576 Particles running on the GPU. Part of the Dissecting WebGL talk I gave at HUGE NYC. The image at the bottom is the texture that the GPU physics computations are being written to.</image:caption>
      </image:image>
    </url>
    <url>
      <loc>https://soulwire.co.uk/coffee-physics/</loc>
      <image:image>
        <image:loc>https://soulwire.co.uk/assets/coffee-physics/preview.jpg</image:loc>
        <image:caption>Coffee Physics - During my FITC talk I released the CoffeePhysics library and a series of demos featuring particles, springs, customizable behaviors and multiple integrators and renderers. Check out the GitHub project for more information.</image:caption>
      </image:image>
    </url>
    <url>
      <loc>https://soulwire.co.uk/show-me-your-bits/</loc>
      <image:image>
        <image:loc>https://soulwire.co.uk/assets/show-me-your-bits/preview.jpg</image:loc>
        <image:caption>Show Me Your Bits - Create abstract visualisations of any file by reading it's bytes and rendering patterns based on the bits inside. Bytes are extracted using the File API and visualised with recursive rectangle subdivision.</image:caption>
      </image:image>
    </url>
    <url>
      <loc>https://soulwire.co.uk/fold-scroll/</loc>
      <image:image>
        <image:loc>https://soulwire.co.uk/assets/fold-scroll/preview.jpg</image:loc>
        <image:caption>Fold Scroll - Experimental CSS 3D scroll behaviour. Probably useless in practice but it was an excuse to try out CSS 3D transforms when they were first implemented in some browsers.</image:caption>
      </image:image>
    </url>
  </urlset>