here are some routines guaranteed to drive your significant other crazy. based on a julia set equation (loosely: it's essentially one dimension's movement...)
SynthDef("impComb2", { arg freq=1, pan=0, dur=1.0, lev=1;
	var env, out;
		env = EnvGen.ar(Env.perc(0.001, 1, 1, -8), 
levelScale: lev, timeScale: dur, doneAction:2);
		out = Pan2.ar(Mix.ar(CombL.ar(Impulse.ar(0.1),0.01,freq,2)), pan);
	Out.ar(0, out*env);
}).load(s);
SynthDef("klankThangX2", { arg out=0,trig, level, freq, time = 1, 
panPos=0, noiseRate=0.2, rq=0.1;
	var klank, harm, amp, ring, env, mix;
	harm = Control.names([\harm]).ir(Array.series(4,1,1));
	amp = Control.names([\amp]).ir(Array.rand(4,0.25, 0.7));
	ring = Control.names([\ring]).ir(Array.fill(4,1));
	klank = 
Pan2.ar(Klank.ar(`[harm,amp,ring],Decay.ar(Impulse.ar(trig, 0), 
0.001, 0.1, 0.1), freq, 0.1), panPos);
	env = EnvGen.ar(Env.perc(0.01, time, level, 4), doneAction: 2);
	mix = RLPF.ar(klank, LFNoise2.kr(noiseRate, 700, 1500), rq);
	Out.ar(out, (mix*env).softclip);
}).load(s);
SynthDef("bufPlayer", { arg panPos=0, rate = 1, bufnum = 0, 
startPos=0.0, time=1.0, envLev=1.0, loopLength=1, outBus=0;
	var out, eg, triggerer;
	triggerer = Impulse.kr(loopLength.reciprocal);
	eg = EnvGen.kr(Env.new([0,1,1,0],[0.1,0.8,0.1], 'welch'), 
timeScale: time, levelScale: envLev, doneAction: 2);
	out = Pan2.ar(PlayBuf.ar(1, bufnum, rate, triggerer, 
startPos, loop: 1), panPos);
	Out.ar(outBus, out*eg);
}).load(s);
SynthDef("ping", { arg freq=400, dur=1, lev=0.8, panPos=0, out=0;
	var source, env;
	source = Pan2.ar(Ringz.ar(PinkNoise.ar(0.01),freq, 0.3), panPos);
	env = EnvGen.ar(Env.perc(0.001, 1, 1,-8), levelScale:lev, timeScale: dur, doneAction:2);
	Out.ar(out, source*env);
}).load(s);
(
//b = Buffer.read(s,"/home/jes/Sounds/metalthing.aif");
 
g=Group.new;
Routine({ arg i;
	var z,c;
	z=0;
	c=1;
		loop({
		z=((z-c).abs.sqrt)*[1,-1].choose;
				Synth.head(g, \impComb2, [
				\freq, (74+z.ratiomidi).midicps.reciprocal,
				\dur, z.abs,
				\lev, rrand(0.5,0.7),
				\pan,1.0.rand2,
				\out, 0
				]);  
			((z.abs)*0.25).wait;
			});
}).play;
j=Group.new;
Routine({ arg i;
	var z,c;
	z=0;
	c=1;
		loop({
		n =[3,4,5,7,11,13].choose;
		z=((z-c).abs.sqrt)*[1,-1].choose;
				Synth.head(j, \klankThangX2, [
				\freq, (50+z.ratiomidi).midicps, 
				\time, z.abs+0.1,
				\level, rrand(0.15, 0.25),
				\noiseRate, rrand(0.5, 3),
        		\rq, rrand(0.05, 0.3),
        		\panPos, 0.3.rand2,
				\out, 0
				],
        		[\n_setn, -1, \harm, n] ++ Array.series(n,1,1),
				[\n_setn, -1, \amp, n] ++ Array.rand(n,0.25, 0.7),
				[\n_setn, -1, \ring,n] ++ Array.fill(n,1.0.rand+0.125)
				);  
			z.abs.wait;
			});
}).play;
/*
h=Group.new;
Routine({ arg i;
	var z,c, nextTime;
	z=0;
	c=0.8;
		loop({
		z=((z-c).abs.sqrt)*[1,-1].choose;
		nextTime = (z.abs)*0.5;
		Synth.head(h, "bufPlayer",[
  				\bufnum, b.bufnum,
				\time, nextTime,
				\startPos, 0,
				\rate, z,
				\envLev, rrand(0.3, 0.5),
				\loopLength, z,
				\panPos, 0.7.rand2,
				\outBus, 0
				]);  
			nextTime.wait;
			});
}).play;
*/
h=Group.new;
Routine({ arg i;
	var z,c, nextTime;
	z=0;
	c=0.8;
		loop({
		z=((z-c).abs.sqrt)*[1,-1].choose;
		nextTime = (z.abs)*0.5;
		Synth.head(h, "ping",[
				\dur, nextTime,
			    \freq, (74+z.ratiomidi).midicps,
				\lev, rrand(0.7, 1.0),
				\panPos, 0.7.rand2,
				\out, 0
				]);  
			nextTime.wait;
			});
}).play;
)
/*
authors so far:
jonathan segel
*/