mathr / blog / #



If you're wondering where all the action is...

Fixed-point numerics revisited

A clever trick and a cleverer trick.

Cardioid and bulb checking

Quick interior checks for Mandelbrot set escape time acceleration.

Phones At Home

We Have Phones At Home. Phones At Home: AA AE AH AO AW AY B CH D DH EH ER EY F G HH IH IY JH K L M N NG OW OY P R S SH T TH UH UW V W Y Z ZH.

mandulia-0.8 released

Updated to work with current Hackage.

zoomasm 3.1 released

Maintenance release compatible with latest miniaudio, plus bugfixes.

Low-latency Disco

Porting a technique from Deep Disco to disco/designer

unarchive-1.0 released

Download items and collections from the Internet Archive.

Attributive machine learning

Stopping putting the AI into PLAIGIARISM.

Multiverse Poetry

Not to be confused with multi-verse poetry...

Fixing replicateM's space leak

Using difference lists to turn out of memory into tiny constant space.

Counting artificial neural networks

Given the total count of weights, how many shapes can the network have?

Lua on FreeDOS

How to compile Lua 5.4.4 using Borland Turbo C 2.01 on FreeDOS 1.3.

Ten years of Algorave

Algorave is made from "sounds wholly or predominantly characterised by the emission of a succession of repetitive conditionals".

Deep zoom theory and practice (again)

Perturbation with rebasing, and bilinear approximation, for efficient rendering of fractal images.

Reflex reboot

A forward-rendered project from 2009 is remade using ray-tracing of signed distance fields.

Low precision high range numerics

A comparison of floating point implementations.

kf-2.15.5 released

Many new features, bugfixes and speed improvements.

Atom domains and Newton basins

A counter-example to a conjecture.

Smoltech events

The greenest technology is the one you already have.

Perturbing Nova

Affine-conjugation to move the critical point to 0 to avoid precision loss.


(!!! STROBE WARNING !!!) Another small techno music video.

Generalized series approximation

Using a computer algebra system to explore patterns.

External ray tracing

In which various initial guesses for Newton's method are tested.

kf-2.15.4 released

Many new features, bugfixes and speed improvements.

Smoltech video

A small techno music video.

Julia morph orbit in the hairs

A fractal music video with both zooming and non-zooming parts.

Old Wood Dish

Analysis of a fractal artwork by JWM.

FaB Co.Lab 2021

Co.Lab Sounds is back again with Fringe Art Bath for their 2021 festival!

kf-2.15.3 released

Many enhancements for speed and comfort.

Legendary Colour Palette

Embedding a 2D image into a 1D palette that gets wrapped back to 2D by fractal spirals.

Deep zoom theory and practice

Perturbation and rescaling for efficient rendering of fractal images.

Wurgo music video and Making Of

Synchronizing fractal zooms to audio with kf-2.15.2 and zoomasm-3.0.

zoomasm 3.0 released

Supporting custom colouring algorithms direct from KF 2.15.2.

kf 2.15.2 released

Design your own custom colouring algorithms in OpenGL GLSL shader fragments.

IKLECTIK [off-site] presents Sonic Electronics

Streaming performances this Saturday.

hp2pretty-0.10 released

Lazy text allows parsing huge files, provided you read them twice.

Transnodal TOPLAP livecode stream

A long weekend of live coding performances + talks + more, for TOPLAP's birthday.

Optimizing weights for iterated function systems

Optimal in the sense of most uniform distribution of points.

Running Zoom in a virtual machine

For security sandboxing. Challenges and solutions.

Ommatidia at CUNA, Mexico

Free registration required, online performance February 6th, MX and online.

zoomasm 2.1 released

Plenty more bug fixes, plus a new feature. Also belated 2.0 release announcement.

Ommatidia at Piksel Festival

The 18th edition of the Piksel Festival for Electronic Art and Free Technologies, November 19-21 2020 in Bergen (NO).

zoomasm 1.1 released

Plenty of bug fixes, plus GUI transparency controls and PPM export without FFmpeg.

kf 2.15 released

OpenCL acceleration, hybrid formula designer, exponential map, and more.

zoomasm 1.0 released

First release of the zoom video assembler.

Ommatidia at STWST48x6 MORE LESS

The 6th edition of the 48-hour showcase extravaganza from Stadtwerkstatt.

IKLECTIK presents OsCiLlaTioNs

Summer solstice music festival marathon fundraiser, streaming online.

Optimizing zoom animations again

Finding the optimal zoom ratio when reusing the center portion.

Music for Empty Venues

Charitable music compilation in aid of independent music venues in London.

FaB Co.Lab

Co.Lab Sound experimental test bed for collaborative live and sound art at Fringe Arts Bath online festival.

KF 2.14.10 released

Lots of new features, lots of bug fixes, lots of speed improvements.

Shut Down As A Service

What if a systemd boot service units were to shut down the computer?

Fast density estimation

Histograms of histograms to blur separably bucket by bucket.

Barry (postfix bytebeat)

Fed up with counting brackets, I adopted postfix-notation. Now I am fed up with counting stack items...

Crisis (deep zoom)

Not a Mandelbrot set deep zoom, but it might resemble one at first glance with its nested period-doubling crises.

Spider algorithm with a path

Pull back a path from iterates of \(\theta\) to find \(c_{\theta}\).

Slow mating of quadratic Julia sets

Gluing two \(z^2+c\) quadratic Julia sets sometimes gives a \(\frac{z^2+a}{z^2+b}\) rational Julia set.

Source codes in book form

Archival experiments with LaTeX.

Website updates

Improved mobile experience.

MIDI network between Linux and Amiga

Small tools in C for Linux and Blitz Basic 2 for Amiga to transfer files over serial MIDI link.

Sounding DIY III: Vitalist Materialism

RDEX in group show at Hop Projects CT20, Folkestone, UK, curated by Laura Netz.

Ultimate Anti-Buddhagram

Two ways of rendering the 4D Mandelbrot/Julia/Buddhabrot hologram.


Group show featuring Dynamo, and Clive workshop, in Zagreb, Croatia.


Text-mode audio file viewer.


Extract channels of EXR files.


mathr&netz perform with hardware synthesizers accompanied by psychedelic fly vision projection.

Haar wavelets

Haar wavelets → energy per octave → energy per octave over time → audio fingerprint

Fixed-point numerics

An arbitrary number of limbs before and after the point, for higher precision within a limited range.

Making KF fast again

An extra branch is floated out. Plus SIMD to make it even faster.

rounded 0.2 and 1.0 released

Properly rounded floating point numbers of arbitrary precision via MPFR.

EVA London

Conference paper: At the Helm of the Burning Ship

Harmonic Protocol

Feedback amplifying tones according to the level 7 semitones away.

Algorave Elephant

Algorithms are infecting discos and ruining lives.


An autostereogram is a single-image stereogram, designed to create the visual illusion of a three-dimensional scene from a two-dimensional image.

Exhibition photos

Photos of exhibition at Chalton Gallery, by Pau Ros.

Sonic Electronics Festival

Open call for talks on sound arts, live audio-visual performances, and live 4.1 music.

Audioblast Festival #7

Festival of sound creation using the internet as a venue for diffusing live experimental, drone, noise, field recordings, sound poetry, electronic, contemporary music, ...

One-Off Moving Image Festival

One second long movies on the theme of humans vs nature.

15 years of TOPLAP, London

Celebrating 15 years of live-coding, part of an international multi-day streaming event.

IFS fractals in Inkscape

A multiple copy reduction machine via linked images.

Implementing a 4-pole hi/lo DJ filter

Morphing a Butterworth filter between low pass and high pass.

LiveCodeNYC in Exile at New River Studios

An afternoon of live coding at New River Studios, London.

Pure-data in the browser using Emscripten

Compile a modified libpd and pure-data to HTML, Javascript, Web Assembly.


Animated Voronoi cells on a sphere.

Newton's method for periodic cycles

Reject lower periods, and iteratively perturb a known cycle along a path.

Newton's method for periodic points

Rejecting lower periods by division, instead of checking later.

ArtFutura 2018 London

Screenings, talks, performances, London, late November 2018.

JACK on top of Pulseaudio

In which the usual heirarchy of audio APIs on Linux is inverted.

Series approximation for the Burning Ship

A small region bouncing around the dynamical plane seldom touches an axis.

Optimizing audio DSP code

Doing less, less accurately, and less often.

Unskewing the Burning Ship

Based on the size estimate for mini-ships, use derivative matrices to calculate optimal viewing transformation.

Global Algorave (Sheffield)

Probably the world's first two-room Algorave, with an international line-up of top notch live coders and algorithmic producers.

Trustworthy fractals

An implementation of someone else's paper.

Enumeration of Misiurewicz points

How to determine the number of Misiurewicz points of a given (pre)period in the Mandelbrot Set.

Sounding DIY (Split)

My a/v work Puzzle is part of a group show, 6th-22nd August 2018.

Pronunciation edit graphs

All shortest paths between words by adjacency of prounciation.

hp2pretty-0.9 released

Detached key and title options, with example for embedding in PDF.

free_art_-_source (Rijeka)

Jul 6th-13th 2018, opening Friday July 6th, 8 PM, at Filodrammatica Gallery (Korzo 28/I, Rijeka)

LAC Sound Night

Linux Audio Conference Sound Night in Berlin.

Art In Flux

Video screening at the Art In Flux Exhibition this week in London.


Exploring the fertility of errors and questioning our inherited worldview.


Toulouse Hacker Space Factory #9

Non-uniform sampling

Scattering aliasing across the spectrum as white noise instead of folded frequency peaks.

Perturbation algebra

A collection of rules for deriving perturbed iterations.

Algorave Algosix

104 live streams of algorithmic dance music+friends over 72 hours.

Polar decomposition in 2D

Decomposing a 2x2 matrix into scale rotate and stretch.

Accelerating circle packing using histogram pyramids

A fast way to pick a random unoccupied pixel in an image.

Nebulullaby on SoundCloud

An Interstellar Cloud Of Dust.

Log-polar graph paper

Fading between levels of detail to avoid huge scale differences and sharp edges.

Burning Ship atom domains

Regions surrounding mini-ships.

The Burning Ship

A fractal like the Mandelbrot set but with absolute values thrown in to the mix.

Iterated function systems with cube maps

Model the whole complex plane via the Riemann sphere as an OpenGL cube map.

Möbius transformations and the Riemann sphere

Sphere rotations correspond to certain elliptic Möebius transformations, which can be interpolated in a Bézier fashion.

Misiurewicz domain coordinates and size estimates

Do the same for Misiurewicz domains as has recently been done for atom domains.

Atom domain coordinates

Coordinates within an atom domain surrounding a periodic nucleus in the Mandelbrot set.

Inflector Gadget v0.3.2

Keyframe animation and the return of single precision support with OpenGL 3.3 (OpenGL 4 double precision still an option)

Efficent automated Julia morphing

Nucleus finding, Misiurewicz point finding, and a bit of guesswork, combine for successful O(period) automatic Julia morphing.

Patterns in embedded Julia sets

Lots of structure and subtle variety.

A more accurate elliptic variation

Improving image quality by avoiding catastrophic cancellations.

GULCII in Edinburgh

Untyped lambda calculus performance and seminar

Deep zoom rendering cost

Some conclusions about perturbation techniques.

Morphogenesis colouring book

A self-published physical artifact of reaction-diffusion.

Falling Leaves

A live-coded bytebeat music session inspired by approaching autumn.

GULCII at FARM (Oxford, UK)

A code recital performance in untyped lambda calculus.

Approximating hyperbolic tangent

Computing Padé approximants isn't so hard after all.

Throttling processes by GPU temperature

Stop when it's hot, continue when it's cooler.

Noise in the Shed

Four hours of Noise in the Shed! From 4pm till 8, part of Smash it Out.

hp2pretty-0.8 released

New sorting and filtering flags, plus pattern fill for low ink printing.


Based on a SIGGRAPH 2001 paper, with blue noise generated by inverse Fourier transform.

Approximate self-similarity

Approximate self-similarity of baby Mandelbrot sets.

Asymptotic self-similarity

Asymptotic self-similarity about Misiurewicz points in the Mandelbrot set.

Periodicity scan revisited

Borrowing from Mandel's "algorithm 9".

Algorave London

Algorave is a combination of "algorithms" and "rave", the opportunity to dance to alien rhythms and freaky visuals, all created from code before your eyes.

Clusters 3D

Endosymbiosis simulation leads to sticky boid-like flocks that behave like super-organisms.

On the precision required for size estimates

Worst-case guess improved by a factor of 8.

Filtered atom domains

Highlighting previously invisible periodic properties in the Mandelbrot set.

Periodicity scan

Finding periodic points in the Mandelbrot set to make annotated images.

Violations III at Cafe OTO

Performance with 'clive', supporting Dirty Electronics, and modular sets by Eden Grey and Suso Flores + Crowley Engel II.

Divergent Protocol

A feedback process involving speech synthesis and automatic transcription.

Kalles Fraktaler with GMP

Using third-party libraries for acceleration.

Coupled continuous cellular automata

Patterns similar to multi-layer reaction diffusion systems.

Emergent Protocol

Audio feedback process inspired by Deep Dream.

Inflector Gadget v0.2

Double precision using OpenGL 4 to avoid postpone ugly artifacts.

Audioblast Festival #5

Networked diffusion of experimental, drone, noise, field recording, sound poetry, electronics...

Structurally equivalent Latin squares

Canonicalization over symmetries allows them to be counted.

Thoughts on [expr~]

Possible ways to reduce overhead?

Inflector Gadget

Inflection mapping for complex quadratic polynomials.

Oscillator crisis resolved

Velocity Verlet integration beats Runge-Kutta 4/5 for energy conservation.

Coupled oscillator crisis

An experiment that failed with an energetic explosion.

Realtime Monotone

Optimized histogram lookup by reducing excess precision.

Calendar 2015 - RDEX

Reaction-diffusion simulation.

Monotone at MADATAC 08

January 12th to February 5th, Centro Conde Duque, Madrid, Spain.

Rollover 2017

Another arbitrary counter rolls over, hooray.

Deriving the size estimate

How they did it, as far as I can tell.

Calendar 2015 - Lung

Interlocking space filling curves.

Calendar 2015 - Donut

Conformal torus with five colours.

OEIS Diagrams

Five diagrams on the number 70.

Setting up a Tor gateway

"Snooper's charter" bill becomes law, extending UK state surveillance.

Finding parents in the Farey tree

An application of the extended Euclidean algorithm.

Conditional x Algorave

Live experimental electronic music, 17th November, London.

Monotone at Mozilla Festival

Black-and-white flame fractals synchronized with rich ambient drones.

Edinburgh bark

Thirty trees in the botanical gardens.

Calendar 2015 - Lyapunov FM

Image from 2013 LAC paper, Lyapunov Space of Coupled FM Oscillators.

Calendar 2015 - Hyperbolic Fish

A Euclidean tiling generalized into a hyperbolic one.

Calendar 2015 - Elpis

A computer-aided drawing using conformal mapping and hyperbolic tiling.

Raspbian in QEMU

Booting Raspbian Jessie in QEMU, some notes.

hgmp released

Haskell interface to GMP.

Puzzle on Raspberry Pi

Experimental OpenGL driver used by Pd and Gem with PdLua seems to work mostly fine.


A camping festival for hackers, geeks, scientists, engineers, artists, and crafters.

Approximating cosine (update)

Claims of total superiority were premature.

Noizemaschin!! London #8

Multi-artist live noise music night.

Shades of Gray

Five-bit Gray code rotary encoder.

Fractal dimension of Julia sets

A familiar picture emerges.

Computer Music at New River Studios

Another live gig.

Nebulullaby released!

Compilation album.

Experimental Publishing at PZI

Deadline May 15th.

Plastic rectangles

The non-trivial partitioning of a square into 3 similar rectangles.

PI in the Mandelbrot Set

Notes on a conjecture of Aaron Klebanoff.

Nebulullaby Launch

Live music at the launch of a vinyl compilation album.

Even Salon Either/Or

Talks and performances.

Speculation on biological computing

Interesting times...

Calendar 2015 - Loxodrome

Exponential spiral on the Riemann sphere.

Vector Buddhabrot

Tracing the boundaries of hyperbolic components.

Collatz fractal

Piecewise integer recurrence translated to complex function.

Complex squaring

Benchmarking three different implementations.


Secure connections with Let's Encrypt


Physics-based ray-tracing in curved space.

Mandelbrot symbolics in the browser

Haskell compiled to JavaScript with GHCJS.

Simpler series approximation

When thinking a bit harder beats elaborate computer code.

Julia morphing symmetry

Rotation numbers in angled internal addresses are significant.

Code generation for series approximation

Parallel loops for coefficient recursions.

Lyapunov atom domains for negative multibrot sets

Additive blending reveals many things.

Calendar 2015 - Sayagata Loop

Hyperbolic variation of Sayagata tiling pattern.

Annual archives

Because ~300 posts linked from one index is obese.

Automated Julia morphing

Extrapolating external angle patterns

Floating point with extended exponent range

For when you need really big numbers without high precision.

Fractal Channel Hopping

Infinite fractal television zoom

Hospital drawings 2015

Stress overload...

Adventures with radiosity

Porting rrv to OpenGL 3 for a 30x speed boost.

Modes in a box

Comparing the measured frequency response of a room with algorithmic predictions.

Möbius Infinity

Square cross-section lemniscate of Bernoulli, with a twist.

Calendar 2015 - Gradient

Interleaved overlap-add with five colours.

Two spirals out...

Sculpting patterns in the Mandelbrot set.

Approximating cosine

9th order polynomial is both faster and more accurate than table lookup.

Biquad conversions

pole-zero -vs- direct form 2 -vs- pure-data

Modes on a plate

Solving sparse eigensystems with Octave.

Calendar 2015 - Two Beetles Meet Where Land Meets Sky

Distance estimated Newton fractal for a rational function with zeros at {1, i, -1, -i} and poles at {-2, 2}.

Calendar 2015 - Lozenge

A grid of squares getting smaller at the edges. is closing, hosting myself from now on


Adding noise improves image quality during quantization.

Bandlimited wavetables

Borrowing the multi-resolution technique from OpenGL mipmapping.

Interpolating Moebius transformations

Using 2x2 matrix diagonalisation.

Misiurewicz domains

An extension of atom domains to preperiodic points.

Newton's method for Misiurewicz points

Rejecting lower preperiods instead of checking later.

mightymandel v16

Sliced rendering, improved glitch correction, reduced video memory usage, and more.

Calendar 2015 - Wedged

Playing Tetris optimally badly.

Writing a CV with LaTeX

Custom fonts, colours, hyperlinks, and visible URLs for printing.

Calendar 2015 - Dandelion

A shadow of the Mandelbrot set formed by periodic external rays.

External angles of Misiurewicz points

Numerical investigations, hoping for a combinatorial revelation.

Calendar 2015

A selection of images from the last few years.

mightymandel v15

Big bad bugs been debugged, and nifty features added.

mightymandel v14

Lots of changes in a short space of time.

mightymandel v12 - now twice as fast!

Sometimes simple approaches are better.

mightymandel updates galore

Automatic glitch correction, zoom sequence rendering, tiled rendering for high resolution or anti-aliasing, ...

Automatically finding external angles

Trace a number of probe points in the atom domain.

Making seasonal cards with Snowglobe

Combining saved flake images using command line tools.

Exponential mapping with Kalles Fraktaler

From many raw 2fold zoom images to one long strip.

Faking distance estimate colouring

A modified bump-mapping approach.

Adaptive super-sampling using distance estimate

Subdivide only near the boundary.

Navigating in the hairs

Around embedded Julia sets in the Mandelbrot set.

A ball bouncing down steps

Physical modelling.

Practical interior distance rendering

Using Newton's method.

Resurrecting Spiders

Fixing code from 1992.

Converting fractions to strings of digits

With integer, preperiodic, and periodic parts.

Rubber Dinghy Rapids

Simulated inflatable physics.

ReCode Project - Topographic Form animated

Reimplementing computer art from the 1970s, part 4.

Jellyfish T-Shirt

Multicoloured spray paint stencil.

Clockpunch Theorems

Do the hands of clockpunch ever form a regular hexagon?

ReCode Project - Exploitation Quantitative...

Reimplementing computer art from the 1970s, part 3.

ReCode Project - Topographic Form

Reimplementing computer art from the 1970s, part 2.

ReCode Project - Traveling Through the Square Series

Reimplementing computer art from the 1970s.

Isometric experiments

Pencils at Bore Place.

Art group

7 weeks of experimentation.

Perturbation glitches

Rebasing from a reference point.

Mandelbrot Notebook

Handwritten notes on various properties.

I'm not made of money

Currency manipulation.

The Core

Organism coda.

Haystack Situations podcast

Your daily dose.

Linear time is so overrated

The future is unwritten (or is it?).

Untitled Poem

Based on a true experience.

Ultimate Anti-Buddhabrot

An xmas present for someone special.

Stretching cusps

Conformal mapping using Möbius transformations.

Crystalline Cortex (revival)

Rewritten in portable C.


Interleaved dither patterns.

Drip versions

Chaotic rhythms from dripping taps.

Distance estimation for voting simulation visualisation

Applying a technique used for fractal rendering.

Atom domain size estimation

A series of approximations result in a simple formula.


A cube of cubes that can be turned inside out.

2,405,518,376 flies can't be wrong

The web is good for spi(d)e(r)s.

Islands in the hairs

Exploring external angles.



Haystack Situations trailer

Haystack Situations trailer

Distance estimation for IFS fractals

Derived from continuous escape time.

Recursive star polygons

Pencil drawing translated into GLSL code and generalized.

Style update

Feeds made more discoverable and colour scheme adjusted.

Patterns of periods in the Mandelbrot set

Structures in the hairs.

Distance estimation for Newton fractals

Derived from distance estimation for Julia sets.

Lyapunov Space of Coupled FM Oscillators

Paper presentation at Linux Audio Conference 2013.

A roadmap for distributed Mandelbrot set rendering

Some notes on various aspects of design and potential implementation.

Fish variations

Generalizing a tiling into hyperbolic variants.

Rolling torus

Looping without energy loss.

Stroking curves of constant width

An approximation for relatively narrow widths.


evolve noisy expressions

Weaving a torus

out of strips of paper

Interior coordinates in the Mandelbrot set

another representation function

Rectangles on a triangular lattice

always contain a multiple of 4 triangles

Navigating by spokes in the Mandelbrot set

cutting and pasting binary digits of external angles

Preperiodic Mandelbrot set Newton basins

finding tuned branch points

Butterfly Variations

triangular vertex symmetry using p²+q²+pq colours

Escher's Butterflies

reverse-engineering a tesselation

More Hospital Drawings

using old media when new is unavailable

Hospital Drawings

treat it as an artist residency

Mandelbrot set Newton basins

speeding up external ray tracing

Life Cycles

call for contributions

Dancing Angels

Dancing Angels

Modified Atom Domains

Modified Atom Domains


C audio livecoding skeleton

Netbehaviour Mailing List Fractal

Netbehaviour Mailing List Fractal

Haskell IRC Fractal

Haskell IRC Fractal

Fractal Juggling

Fractal Juggling




Mandelbrot Set explorer using OpenGL 4

OpenLab London OpenNight #13

performance with mutually-modulating FM oscillators

/dev/art Paris #12

invited artist talk and performance

New website, new beginnings.





Disco Balls

Disco Balls

The Sky Cracked Open

The Sky Cracked Open

Poincaré half-plane metric for zoom animation

Poincaré half-plane metric for zoom animation

ruff-0.3 and gruff-0.3 released

ruff-0.3 and gruff-0.3 released

pdlua has a new maintainer

The Lua embedding for Pure-data.

hp2pretty-0.5 released

Significant speed improvements thanks to 'floatshow' and 'attoparsec'.

buildtorrent needs a new maintainer

Are you the one to take the project forward?

ruff-0.2 and gruff-0.2 released

ruff-0.2 and gruff-0.2 released

hp2pretty-0.4 released

hp2pretty-0.4 released

LiWoLi 2011

LiWoLi 2011



emndl-0.1 released

emndl-0.1 released

Word edit graphs

Word edit graphs

Histogram equalization

Histogram equalization

Exponential mapping and OpenMP

Exponential mapping and OpenMP

Features up to period 5

26 images of the Mandelbrot Set

Abstract Mandelbrot tree

abstract Mandelbrot tree

RDEX at Piksel

RDEX at Piksel

Lavaurs' Algorithm

Lavaurs' Algorithm

Salvation Dub

Salvation Dub

Konstrukt 3

Konstrukt 3

Circular wavefronts

Following distance estimates.

hp2pretty-0.3 released

hp2pretty-0.3 released

Distance estimation

distance estimation

gmndl-0.3 released

gmndl-0.3 released

gmndl-0.2 released

gmndl-0.2 released

Random Haskell GTK GUIs

Random Haskell GTK GUIs

gmndl-0.1 released

gmndl-0.1 released



Translation Networks

Translation Networks

Mandulia at AngloHaskell 2010

Lots to think about.

Major CMCMS feature enhancements

Context-aware navigation and hyperlinking.

hp2pretty-0.2 released (6 weeks ago)

Improved abstraction, speed and memory usage.

Livecoding 2008

Livecoding 2008

Optimizing zoom animations

Optimizing zoom animations

mandulia-0.7 released

Now hopefully more easily installable.

binembed-0.1 released

binembed-0.1 released

hp2pretty-0.1 released

hp2pretty-0.1 released

Graphing heap profiles

graphing heap profiles

mandulia-0.5 released

mandulia-0.5 released

Pure-data libraries

An annotated conversation.

mandulia-0.4 released

mandulia-0.4 released



ppmtoy4m debottlenecking

350% speed boost, woohoo!

GPU Julia Sets

GPU Julia Sets

OpenLab OpenNight 6

OpenLab OpenNight 6

King James Hyperfuck

King James Hyperfuck

Cathedral Algorithms Video

Cathedral Algorithms Video

Cathedral Algorithms

Cathedral Algorithms

RDEX Live At OpenNight

RDEX Live At OpenNight

OpenLab OpenNight 5

OpenLab OpenNight 5



Live At GDS Expo

Live At GDS Expo



Konstrukt 2

Konstrukt 2

GDS Expo


buildtorrent-0.8 released

Major feature enhancements.

MarkIII Demos

MarkIII Demos



Heist: busted!

Heist: busted!

Heist: dataflow algebra

Heist: dataflow algebra

Live At Kiblix

Live At Kiblix

Video encoding tips

I think I found that a better way.

buildtorrent update

Miscellaneous news about the .torrent file creation tool.

Kiblix Maribor

Free software art festival: workshop, installation, performance...

rdex-server demo

rdex-server demo

Full text of recent posts

Implemented using Javascript.

Reflex preview

Reflex preview

Puzzle 1

Puzzle 1

fl4m6e in Haskell

fl4m6e in Haskell



fl4m6e proof of concept

fl4m6e proof of concept

Live At Summerlab

Live At Summerlab

noise=noise presents The Basement Series

Wednesdays in August, 7pm @ The Foundry, 86 Gt Eastern St, Old St Tube, London, UK



Full-text RSS feeds

By popular demand.



Untyped Lambda Calculus Interpretations v1


Per-tag RSS feeds

New feature.

Crystalline Cortex

Clock #1

Clock #2

Clock #1

Clock #1

Clock #1

Live At OpenLab Winchester

Live At OpenLab Winchester

Live At LiWoLi09

Live At LiWoLi09









Parallel transport in hyperbolic tilings

Parallel transport in hyperbolic tilings

Interstellar Interference

Interstellar Interference

Website update

New engine.



ray42 as a Lua package using tolua

ray42 as a Lua package using tolua

ray42: nD raytracing

ray42: nD raytracing

pdlua-0.5 released

Now supports Pd's [value] and [table], and Lua's require().

buildtorrent-0.7 released

Bug fix release.

pdlua-0.4 released

Bug fix release with incompatible API changes.

GraphGrow realtime preview

GraphGrow realtime preview

Live At LAC (External)

Live At LAC (External)

Live At LAC (Internal)

Live At LAC (Internal)

Linux Audio Conference Club Night

Linux Audio Conference Club Night


Scanned 2005-05-01



DohPaintII Session 3

DohPaintII Session 3

DohPaintII Session 2

DohPaintII Session 2





Encoding PPM/WAV to Ogg Theora/Vorbis

There must be a better way.

An obscure colour space for saturation adjustment

An obscure colour space for saturation adjustment


6D cube in OpenGL/GLSL.



CycleTile Sonification #1

CycleTile Sonification #1

Random tiling wallpaper with fbsetbg

Random tiling wallpaper with fbsetbg

/etc/fstab line for less sucky vfat USB pen drive

udev provides a /dev/disk/by-id/ unique to each drive.

Drawing polytopes with Haskell and GraphViz

Drawing polytopes with Haskell and GraphViz

buildtorrent-0.6 released

New autoconf build system and manual page.

Jiminy Lemus Cloud - Journey

Jiminy Lemus Cloud - Journey

pdlua-0.3 released

New features: sends, receives, clocks, static build.





The mathematics of GraphGrow

No algorithm to check open set condition.

GraphGrow: SVG + JavaScript

GraphGrow SVG JavaScript

pdlua-0.2 released

Incompatible changes but upgrading recommended.

buildtorrent-0.5 released

Large file support and progress bar.

unmed: recovering tracker music

Extracts useful data from OctaMED MMD0 format files.

buildtorrent-0.4 released

Bug fixes and useability enhancements.

Arrow transformers for sample rate conversion

Passing data behind the scenes.

Multimedia dataflow in Haskell using Arrows

Multimedia dataflow in Haskell using Arrows

Arrows in Haskell: bumpy first steps

Strictness issues with ArrowLoop.


Extending PureData with Haskell.

Website updates

Spring cleaning.

Feed your head

Media feeds and more.

Semi-automatic downloading from the Internet Archive

The icky world of XML, XSLT and Bash.

Balanced audio cables for the win

The magic of noise cancellation.

From 97% to 66% CPU usage with very little effort

Optimization flags for GHC.



Stinky Old Poo

Stinky Old Poo

Live At The Dukes

Live At The Dukes

Live At Shunt

Live At Shunt

Clouds Are Made Of Water

Clouds Are Made Of Water

buildtorrent-0.3 released

Feature-complete metainfo file structure.

buildtorrent: a createtorrent replacement

A simple command line torrent file making program.

Oh Noes!

Oh Noes!

World Domination

Inspire, Expire

Inspire, Expire

Incidents At Sea

Incidents At Sea



Haskell code in Pd object boxes

Some thoughts.

Loader for writing Pd externals in Lua

SWIG and hand-coded wrappers.

Analogue-style ADSR external for Pd

My first DSP external for Pd.

PostScript experiments

PostScript experiments

The Escape Sessions

The Escape Sessions

The movem.l Sessions

The movem.l Sessions

The Lost Years

The Lost Years

Forty Words For Snow

Forty Words For Snow

hsext proof of concept

Haskell objects for Pd.

Dorkbot London presentation

Tone mapping for high dynamic range imaging.

hidyra: tools for high dynamic range imagery

Dynamic range compression.


4th-11th November 2006 / London UK

USB digital camera as non-root user in Gentoo

udev permission wrangling.

Hypercube revisited.

SVN import marathon.

Two-pass DVD encoding

A recipe for success.

Mr Juice Is Coming

Mr Juice Is Coming

Soft Rock EP DVD

Soft Rock EP DVD


DVD production using a Free Software toolchain.

Misinterpretation is fun

Data is data is data.



Kernel Oops: kswapd0 exited

Journalling filesystems (hopefully) to the rescue.


Constraint-based music programming.

In Two Short Weeks...

Upcoming gig.

New Dog Old Tricks

New Dog Old Tricks

Your Tone Is Antagonistic And You're Making Me Very Angry

Even more dubious equations.

7252% APR means I need a new ISP

Dubious equations.

OpenLab#2 Free Software Audio/Visual Performance

Sunday 2nd April 2006 / London UK

Time to upgrade everything

gcc bug 16625

Oscintillate: a command-line OSC sequencer

another unfinished project...

Kicking over the traces

On Forbidden Consecutives



Five Cubes

Five Cubes



Hypercube update

Hypercube update

386 hypercube fun

386 hypercube fun

Back home after Make Art 2006

Fun with Free Software, art, and snow.

Dual-head and TV-out on an ASUS W3H00N

Xorg configuration on GNU/Linux/Gentoo with ATI hardware.

Fonts in GridFlow

Fonts in GridFlow

"Don't You Have A Licence To Play This?"

Phonographic Pseudo-extortion Limited.

ANSI Text Cellular Automata

ANSI Text Cellular Automata

make art 2006

make art 2006

Technology vs Guitar

Technology vs Guitar

Non-standards-compliant browsers make life hell

CSS vs IE6 box dimensions

Openlab Openday 2005-12-11

Interesting presentations and performances.

Installing Linux on a 386 with 4MB RAM

smalllinux2 with uClibc/buildroot

Yahoo Flickr violates Creative Commons licensing? (probably not...)

Different pages for different people.

Dice Photos

Q: What happens when you have a pair of dice, a digital camera, some left-over black card, and are bored?

Dice Music

Another day, another Album-A-Day.

6am Mix

Music to wake up to.

Fun With Sed

Pure-data's readanysf~ isn't perfect, so decode to WAV using Sed to preserve directory and filename information.

"Find It, Rip It, Mix It, Share It - Come And Get It" - Why I Won't

The Creative Archive License has a UK-Only clause.

Ruby On Rails has_and_belongs_to_many id gotcha

Remove 'id', no primary key in association table works ok.

Soft Rock EP

Mutually-modulating oscillators.

Converting Amiga IFF 8SVX sound files to WAV on Linux

Find and execute.

The Death Of Music

Worn out MP3 player.

Anti-Aliasing with Gridflow

Go large for high quality.

Beyond Satire

The 9th blade cuts your face right off.

The Joy Project

A unique interactive DVD.

Placard London 2005-09-10

My set went wrong but you can listen back.

Openlab Clear Spot on ResonanceFM

A discussion with recorded music as well as live sets.

Placard London (this Saturday!)

Many many hours of live music from noon to the early hours, bring you own headphones style.

Amiga Jams

Jam sessions from 2000.

Have You Heard The Good News?

Long awaited furniture.

Pharmacy Cock-up (again)

It's all just a little bit of history repeating.


That's a lot!

Podcasting Is Go! (beta)

A simple PHP script for indexing as RSS with enclosures.

Joining GOTO10!

I feel like I've come home from a long journey.

Apache2 can't start because no wireless access points found!?

How I fixed it.

Fun with proc, grep, and sed

Making a system monitor.

ISO C99 const qualifier madness

"Phenomenally stupid" quotes one observer.

Busy Busy Busy

Cellular Automata in Javascript

My First Visual Art Commission (with artwork!)

Large portion of file.

My First Visual Art Commission

Responded to a poster calling for works.

Pharmacy Cock-up

Temporary disaster.

D'ohPaint Resurrected

Fixes crashes but features are lost.

I'm out of CaB Photoshop Tennis 2005

Ggetting as far as I got is pretty good going, I think!

The Placard Headphone Festival

GOTO10 vs Okno vs LePlacard.

Audio-Visual Bonanza

Phase3, Scanned, Robin Lustig, Moonlight Lens Flare, Sierpinski Circles, Photoshop Tennis, Flickr,

No! to Software Patents

It's OK to grant a time-limited monopoly on some things, and it's out of the question for others

Going offline...

Nearly moved.

Moving is laborious

Plumbing problems and heavy lifting.

Spam can hide nasty secrets...

Investigation of a presumed malware.

LogJam Linux LiveJournal Client

Testing the software with Blurty.

A new place to live

Contract on a flat.

I'm installing Gentoo

4 Linux installs on 1 computer, why that sounds like a fine idea!

Pd Tip #1: use [trigger] to order multiple connections from an outlet

Avoid undefined behaviour.

Hitchhiker's Guide To The Galaxy

Radio series resumes.

xargs is handy

More flexible than wildcards.

Encoding to AVI from multiple JPEG images and WAV audio

Using mencoder and avidemux2.

Lua + SLab = SLuaB

A tiny-but-powerful high-level language ideal for the reimplementation of SLab


Inside Outside album released, and Swings And Roundabouts at Openlab#1


A textual dataflow language for audio processing.


Apprehension regarding self-sufficiency.