Floating point with extended exponent range

For when you need really big numbers without high precision.

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.

Misiurewicz domains

An extension of atom domains to preperiodic points.

mightymandel v16

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

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 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.

Navigating in the hairs

Around embedded Julia sets in the Mandelbrot set.

Clockpunch Theorems

Do the hands of clockpunch ever form a regular hexagon?

ReCode Project - Topographic Form

Reimplementing computer art from the 1970s, part 2.

Art group

7 weeks of experimentation.

Linear time is so overrated

The future is unwritten (or is it?).

Untitled Poem

Based on a true experience.

Stretching cusps

Conformal mapping using Möbius transformations.

Drip versions

Chaotic rhythms from dripping taps.

Atom domain size estimation

A series of approximations result in a simple formula.


A cube of cubes that can be turned inside out.

Recursive star polygons

Pencil drawing translated into GLSL code and generalized.

Style update

Feeds made more discoverable and colour scheme adjusted.

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.

Stroking curves of constant width

An approximation for relatively narrow widths.

Rectangles on a triangular lattice

always contain a multiple of 4 triangles

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


C audio livecoding skeleton

OpenLab London OpenNight #13

performance with mutually-modulating FM oscillators

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?

Major CMCMS feature enhancements

Context-aware navigation and hyperlinking.

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...

noise=noise presents The Basement Series

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

pdlua-0.5 released

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

pdlua-0.4 released

Bug fix release with incompatible API changes.

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

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

buildtorrent-0.6 released

New autoconf build system and manual page.

pdlua-0.3 released

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

The mathematics of GraphGrow

No algorithm to check open set condition.

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.


Extending PureData with Haskell.

buildtorrent-0.3 released

Feature-complete metainfo file structure.

buildtorrent: a createtorrent replacement

A simple command line torrent file making program.

Dorkbot London presentation

Tone mapping for high dynamic range imaging.


4th-11th November 2006 / London UK


DVD production using a Free Software toolchain.

Kernel Oops: kswapd0 exited

Journalling filesystems (hopefully) to the rescue.


Constraint-based music programming.

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.