The Myth of the Muttering Madman is a project in self-realization.

Saturday, December 13, 2008

Saturday, December 06, 2008

Most people have a finely honed sense of what is not necessary. We smell it out and reject it wholesale. This only becomes more stringent the more you learn and live and read.

I am too alone in the world, and yet not alone enough
to make every hour holy.
I am too small in the world, and yet not tiny enough
just to stand before you like a thing,
dark and shrewd.
I want my will, and I want to be with my will
as it moves towards deed;
and in those quiet, somehow hesitating times,
when something is approaching,
I want to be with those who are wise
or else alone.
I want always to be a mirror that reflects your whole being,
and never to be too blind or too old
to hold your heavy, swaying image.
I want to unfold.
Nowhere do I want to remain folded,
because where I am bent and folded, there I am lie.
And I want my meaning
true for you. I want to describe myself
like a painting that I studied
closely for a long, long time,
like a word I finally understood,
like the pitcher of water I use every day ,
like the face of my mother,
like a ship
that carried me
through the deadliest storm of all.

Rainer Maria Rilke

Friday, December 05, 2008

I sometimes think - if you're complaining in life, you're kinda missing the point.

Sunday, November 23, 2008

The Greenhouse Restaurant

One of the most amazing dinning experiences I've ever had the pleasure of enjoying.

The Greenhouse Restaurant

We had the Tasting menu below. Each of the seven courses were utterly impressive.

Devon spider crab and salmon parfait
courgette flower tempura, kombu jelly and coriander cress

Diver caught Scottish scallop
summer truffles, giblet parfait, fresh peas and mangetout

Pan-fried foie gras with Solliès figs
Sicilian lemon marmalade, goat cheese and basil leaves

Wild turbot
Chioggia beetroot, quail egg and “beurre meunière” espuma

Anjou pigeon
wild rocket, fava beans and medjool date ragoût

Pineapple sorbet
white chocolate mousse, olive oil and fresh basil

Chocolate and toffee tart
“Guanaja” and lemon sorbet

Truly a London dinning experience to remember.

Thursday, November 06, 2008

Yma Sumac



Beautiful! Yma Súmac.

Sydney is to London as Wellington is to Sydney.

Tuesday, November 04, 2008

OCaml and Perl6. OCaml and Perl6!

Thursday, October 09, 2008

Tuesday, October 07, 2008

Wednesday, October 01, 2008

Isis - Grinning Mouths

Isis - Backlit

Friday, August 29, 2008

Zarathustra

Thus spake the devil unto me, once on a time: “Ever God hath his hell: it is his love for man.”

And lately did I hear him say these words: “God is dead: of his pity for man hath God died.”—Zarathustra, II., "The Pitiful."
from Thus Spoke Zarathustra

Thursday, August 28, 2008

The Mountain - PJ Harvey

Wednesday, August 27, 2008

Faust

I HAVE, alas! Philosophy,
Medicine, Jurisprudence too,
And to my cost Theology,
With ardent labour, studied through.
And here I stand, with all my lore,
Poor fool, no wiser than before.
Faust Part I

Friday, August 15, 2008

Monday, August 04, 2008

The Pareto curve of freedom post over at Shtetl-Optimized (which I recommend as well).

Friday, August 01, 2008

Thursday, July 31, 2008

"I brainstorm all potential possibilities, regularly, just in case."

-Me

Saturday, July 26, 2008

Saturday, June 14, 2008

Thursday, May 08, 2008

For these reasons, as soon as my age permitted me to pass from under the control of my instructors, I entirely abandoned the study of letters, and resolved no longer to seek any other science than the knowledge of myself, or of the great book of the world. I spent the remainder of my youth in traveling, in visiting courts and armies, in holding intercourse with men of different dispositions and ranks, in collecting varied experience, in proving myself in the different situations into which fortune threw me, and, above all, in making such reflection on the matter of my experience as to secure my improvement. For it occurred to me that I should find much more truth in the reasonings of each individual with reference to the affairs in which he is personally interested, and the issue of which must presently punish him if he has judged amiss, than in those conducted by a man of letters in his study, regarding speculative matters that are of no practical moment, and followed by no consequences to himself, farther, perhaps, than that they foster his vanity the better the more remote they are from common sense; requiring, as they must in this case, the exercise of greater ingenuity and art to render them probable. In addition, I had always a most earnest desire to know how to distinguish the true from the false, in order that I might be able clearly to discriminate the right path in life, and proceed it in with confidence.

Discourse on Method - Rene Descartes

Monday, April 28, 2008

Saturday, April 05, 2008

Watched a great preso by Larry Wall on Perl 6 and associated ideas/philosophy/direction. I love this stuff. I really love this stuff. I stumbled across this link whilst reading a post by Chris Dolan on his blog over at Code Flux.

Great stuff.

Programming is Hard, Let's Go Scripting...

Programming is Hard, Let's Go Scripting... by Larry Wall. Brilliant read. People need to take a more holistic approach to their programming. One of the comments to this article summed it up nicely - this should be required reading for anyone aspiring to call themselves a programmer.

But then I'm perl biased (probably because I know it well unlike most of its detractors? :D).

Friday, April 04, 2008

Cool street art.

Thursday, April 03, 2008

Stranger Things Have Happened - Foo Fighters

Another fine song. Hey I never said I wasn't a wishful thinker - *nudge* *nudge*, *wink* *wink* :D

goddamn this dusty room
this hazy afternoon
i'm breathing in this silence like never before
this feeling that i get
this one last cigarette
as i lay awake and wait for you to come through that door
oh maybe, maybe, maybe i can share it with you
i behave i behave i behave so i can share it with you

you are not alone dear loneliness
you forgot but i remember this
so stranger, stranger, stranger things have happened i know
i'm not alone dear loneliness
i forgot that i remember this
oh stranger, stranger, stranger things have happened i know, oh ohh, oh ohhh

you'll dream about somewhere, a smoke will fill the air
as i lay awake and wait for you to walk out that door
i can change, i can change, i can change, but who do you want me to be?
i'm the same, i'm the same, i'm the same, what do you want me to be?

you are not alone dear loneliness
you forgot but i remember this
oh stranger, stranger, stranger things have happened i know oh ohh, oh ohhh

i am not alone dear loneliness
i forgot that i remember this
you are not alone dear loneliness
you forgot but i remember this
oh stranger, stranger, stranger things have happened i know

i am not alone dear loneliness
i forgot that i remember this
oh stranger, stranger, stranger things have happened i know oh ohh, oh ohhh

Does this give you a hardon?

$ perldoc -f fork

If you "fork" without ever waiting on your children, you will accumulate zombies. On some systems, you can avoid this by setting $SIG{CHLD} to "IGNORE". See also perlipc for more examples of forking and reaping moribund children.
I thought so.

Why'd you have to go and let it die?

Let It Die

A heart of gold but it lost its pride
Beautiful veins and bloodshot eyes
I see your face in another light
Why'd you have to go and let it die?

Why'd you have to go and let it die?
Why'd you have to go and let it die?
In too deep and out of time
Why'd you have to go and let it die?

A simple man and his blushin' bride
(Why'd you have to go and let it die?)
Interveinious, intertwined
(Why'd you have to go and let it die?)

Hearts gone cold, your hands were tied
(Why'd you have to go and let it die?)
Why'd you have to go and let it die?
(Why'd you have to go and let it die?)

Why'd you have to go and let it die?
Why'd you have to go and let it die?
In too deep and out of time
Why'd you have to go and let it die?

Do you ever think of me?
You're so considerate
Do you ever think of me?
Oh, so considerate

In too deep and lost in time
Why'd you have to go and let it die?
Beautiful veins and bloodshot eyes
Why'd you have to go and let it die?

Hearts gone cold and hands are tied
Why'd you have to go and let it die?
Why'd you have to go and let it die?

Do you ever think of me?
You're so considerate
Did you ever think of me?
Oh, so considerate

In too deep and lost in time
Why'd you have to go and let it die?
Beautiful veins and bloodshot eyes
Why'd you have to go and let it die?

Hearts gone cold and hands are tied
Why'd you have to go and let it die?
Why'd you have to go and let this die?

Why'd you have to go and let this die?
Why'd you have to go and let this die?
Why'd you have to go and let this die?
Why'd you have to go and let it die?

Foo(d) Fighters

And before anyone clammers to complain - yes I know this is hypocritical coming from me - but it's part of being in the moment, and being bundled in regrets, and it's just a damn fine song.

Wednesday, April 02, 2008

smh.com.au is a glorified Woman's Day

Paris Hilton hurts her chin in fall. Quick. Breaking news everyone! Why the fuck do I still check this site?

Monday, March 31, 2008

What is art?

Mathematics -> Music, Engineering -> Fine Arts. Nature. Pleasure. Cause of pleasure. Fine arts. Beauty. Aesthetic. What is pleasure? A nice bath? Critique of Judgement, Immanuel Kant. Mental state <- Beauty -> Pleasure. Patterns and shapes. Remove individuality from beauty -> Form -> Universal judgements.

So, abstraction, no visual relation to worldly things. 1912-1914. Crisis. "Break from beauty". Let's change the definition of art. Modernism. Revolution ala Enlightenment. How is this handled? George Dickey, Arthur Danto, link art to social practice. Historical tradition of making art, link objects like this. Urinal. Marcel Duchamp. Linked his urinal to the art work -> it's a work of art. "Institutional theory". Richard Wollheim. Do we have reasons? Or do we just have a collection of objects. "Married person" analogy. Perhaps refuted institutional theory.

Tracey Emin. Damien Hurst. "I am an artist. Therefore this is a work of art". Silly!

Relative merits of art. Do we need convincing art? How do we compare it?



I have a little over 2000 Saturday afternoons left in my life. What to do with them?

All ideas courtesy of Philosophy Bites by Nigel Warburton.

Thursday, March 27, 2008

"On the Sufferings of the World"

More Schopenhauer goodness:

Accordingly, the sole thing that reconciles me to the Old Testament is the story of the Fall. In my eyes, it is the only metaphysical truth in that book, even though it appears in the form of an allegory. There seems to me no better explanation of our existence than that it is the result of some false step, some sin of which we are paying the penalty.
Don't even get me started on his essay on Women (with a capital W).

Very funny guy.

Tuesday, March 25, 2008

Noise

Hilarious rant on "noise" from Schopenhauer's "Studies in Pessimism":

There is something even more disgraceful than what I have just mentioned. Often enough you may see a carter walking along the street, quite alone, without any horses, and still cracking away incessantly; so accustomed has the wretch become to it in consequence of the unwarrantable toleration of this practice. A man's body and the needs of his body are now everywhere treated with a tender indulgence. Is the thinking mind then, to be the only thing that is never to obtain the slightest measure of consideration or protection, to say nothing of respect? Carters, porters, messengers--these are the beasts of burden amongst mankind; by all means let them be treated justly, fairly, indulgently, and with forethought; but they must not be permitted to stand in the way of the higher endeavors of humanity by wantonly making a noise. How many great and splendid thoughts, I should like to know, have been lost to the world by the crack of a whip? If I had the upper hand, I should soon produce in the heads of these people an indissoluble association of ideas between cracking a whip and getting a whipping.

Monday, March 24, 2008

Hunky Jesus competition

From the Hunky Jesus competition:

Catholics have labelled the annual pageant blasphemous, considering that previous entrants have included "old school Jesus", "surfer Jesus" and "zombie Jesus", an irreverent take on the Easter message of Christ rising from the dead.

But the Sisters of Perpetual Indulgence insist the contest is all part of their mission to "promote universal joy and expiate stigmatic guilt".

Friday, March 21, 2008

Neurosis interview

Is this insanity?



Thanks to Fisher for putting me on to these guys. I can't believe I haven't found them before!

Thursday, March 20, 2008

Isobel Campbell

Isobel Campbell restores my faith in all that is twee. No really, she's a kickarse artist. Check her out!

Saturday, March 15, 2008

Veal

I point you to the wikipedia page on the topic of veal, and in particular the juxtaposition of these two images:




Thank you.

Mathematical induction is a form of deductive reasoning.

Numenta and Jeff Hawkins

Numenta looks interesting. Picked up on this guy on a TED talk called Brain science is about to fundamentally change computing. Pretty interesting stuff. I wonder if modeling the neocortex so simply is going to work. Watched another interesting video on MIT World called Can a New Theory of the Neocortex Lead to Truly Intelligent Machines?. Excellent talk.

I have all sorts of questions about the validity of assuming that science is complete enough to synthesise intelligence.

Monday, March 10, 2008

Geeks can't send files?

10:06
Michael
I'll try sending you a file

10:07
adrian
ok

10:07
Michael
Oh no, you have to be using gtalk as well.

10:07
adrian
yeah

10:07
Michael
That's fucked.

10:07
adrian
thought so
yeah
bugger

10:08
Michael
Well, back to base64 encoding

10:08
adrian
hah
awesome
bring it on

10:08
Michael
Hang on - I'll just find an encoder
Can't be stuffed writing one.
Can't find a good one - I'll just slap a quick app together.
Hang on, found one
Ah, this piece of shit converter is no good.

10:20
adrian
/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEP
ERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4e
Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAGrAoADASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3iMGr
cUWRUVvHmtGKPAya6JSsZpFXy3FNxJn2q/gE/dp6wh+cVPMOxnCNn4pfIYdBWtHbCnyRKEzS5tRW
MdIzWhbQE1HuTfgLVuJiBQ2wLMdsuP60r2QPShJePSpo5jUlWKhtZEpRHIK1Y2V1pTCp6UXFYy0L
irMExHXpTpIaryIRTEaKSg0Fh0NZ6SEVJ5lK1xlzj/ZqMmoRJxQ7mmlYQ9gtNCimb/WnIwNMCZAB
UoIFQgipV6UmA4NUgkGKquaYHOaVrjL4kBNI6g1FFgipwBSYyuU5pGFWyoxUUiAdKLhYg2j1owO1
OIqNzTFawjjAqpJMd+Ksu+fpUD7TzTEWrZxjFW1ANZkTEYq/FJUspFgA4pARQkgxg0w4zkc1ICSC
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

could you decode that ok?

10:24
Michael
I'm just going to write a quick java app using the sun decoder.
What sort of file was that last one?

10:25
adrian
jpg

10:25
Michael
Cool thanks.

10:25
adrian
tell me what is it

10:25
Michael
Will do, in about 5 minutes

10:25
adrian
this is how I encoded it
perl -e 'use MIME::Base64; local $/; open(my $fh, "/Users/adrian/Pictures/redfox.jpg"); my $contents = <$fh>; my $encoding = encode_base64($contents); print $encoding';

one liner baby

10:26
Michael
Haha - too easy.
Oh man, this is fucked, rad (eclipse) is just hanging.

10:30
adrian
do you have perl installed
?

10:30
Michael
Hang on, I'll do it in .net

10:30
adrian
haha
bring it on
you could just do "echo <blah> | perl -e 'use MIME::Base64; local $/; print decode_base64(<>);' > ~/out.jpg"

where blah is clipboard

10:34
Michael
Damn, if only I had perl or even cygwin installed on this laptop

10:34
adrian
superior tools!
j/k
well now it's a challenge at least

10:35
Michael
They are superior tools

10:35
adrian
I should have sent you something to make it worth while
how good is that though.. a perl one liner to get around GTalk dodgeyness

10:41
Michael
Fark, finally

10:41
adrian
you're good
.NET

10:41
Michael
Man, he's got his head buried

10:41
adrian
that's fast
hehe
Update:
11:04
Michael

Here's my goodness:

FileStream ins = new FileStream("C:\\temp\\base64.txt", FileMode.Open);
StreamReader r = new StreamReader(ins);
string contents = r.ReadToEnd();
byte[] c = Convert.FromBase64String(contents);
FileStream outs = new FileStream("C:\\temp\\something.jpg", FileMode.OpenOrCreate);
outs.Write(c, 0, c.Length);

Budget
Not even stream based.
(the encoding I mean)
What a smarty.
11:10
Michael

Haha
Here's the condensed version:

byte[] c = Convert.FromBase64String(new StreamReader(new FileStream("C:\\temp\\base64.txt", FileMode.Open)).ReadToEnd());
new FileStream("C:\\temp\\something.jpg", FileMode.OpenOrCreate).Write(c, 0, c.Length);

Lovely.
Can someone please tell this guy to stop trying to beat:
echo <blah> | perl -e 'use MIME::Base64; local $/; print decode_base64(<>);' > ~/out.jpg
:)

So now that http://scala-tools.org is back, I could build a basic scala app for about 30 minutes before I started getting this lovely error:

[INFO] Velocimacro : initialization starting.
[INFO] Velocimacro : adding VMs from VM library template : VM_global_library.vm
[ERROR] ResourceManager : unable to find resource 'VM_global_library.vm' in any resource loader.
[INFO] Velocimacro : error using VM library template VM_global_library.vm : org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'VM_global_library.vm'

and
[INFO] Parameter: groupId, Value: com.mutteringmadman
[INFO] Parameter: packageName, Value: com.mutteringmadman
[INFO] Parameter: basedir, Value: /Users/adrian/development/lift-dev
[INFO] Parameter: package, Value: com.mutteringmadman
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: artifactId, Value: evolve
[WARNING] org.apache.velocity.runtime.exception.ReferenceException: reference : template = archetype-resources/pom.xml [line 43,column 16] : ${scala.version} is not a valid reference.
[WARNING] org.apache.velocity.runtime.exception.ReferenceException: reference : template = archetype-resources/pom.xml [line 71,column 16] : ${scala.version} is not a valid reference.
[WARNING] org.apache.velocity.runtime.exception.ReferenceException: reference : template = archetype-resources/pom.xml [line 97,column 25] : ${scala.version} is not a valid reference.
[INFO] ********************* End of debug info from resources from generated POM ***********************

We like that.

Saturday, March 08, 2008

Lockhart's Lament

Everyone who thought they knew what mathematics was about, read this now. This whole paper really resonated with me. It's something that has been systematically killed in me since about year 5. I might start studying mathematics again.

That fact that http://scala-tools.org/ is currently down makes my life as a budding and excited lift developer somewhat oxymoronic.

Thursday, March 06, 2008

Git as the basis for a backup system? Yes yes yes!

Wednesday, March 05, 2008

So you want to scale huh?

CircleShare always gets me excited. No wait, that's lift and Scala actors. No wait that's David Pollack. No wait..

I then put Butterfly on our production hardware (a quad-core Intel machine running @ 2.something Ghz with a hardware RAID card that has buffering.) At 10,000 simulated users (>650 requests per second) the server had a load average of about 0.40 and the Java and MySQL processes we using about 15% CPU (of the 400% available).

To date, I have not done any material performance tuning of either lift or Butterfly. I was pleasantly surprised that both performance the way I had hoped they'd performance. As expected, the DB seems to be the gating item in performance. As we scale CircleShare, I've got plenty of performance headroom using Scala Actors like I did with Skittr.

Spelling leaves a bit to be desired, but cool man. Very cool. Man.

This makes perfect sense! Moses was on drugs at the top of Mount Sinai. It's the most obvious explanation, so why don't more people talk about it. Really.

Monday, March 03, 2008

Read through and learn about the Plan 9 source code. 9.pdf looks great as a detailed design overview and code commentary.

Favourite code comment so far:

/*
* Discover the disk geometry by various sleazeful means.
*

from /plan9/sys/src/libdisk/disk.c

:)

Learn about Ambient Calculus.

Sunday, March 02, 2008

from www.spiegel.de

Saturday, March 01, 2008

'Programmers At Work' blog goodness

Came across an informative, interesting, and inspirational blog today; Programmers At Work.

Two very interesting posts from the original PAW 1986 Interviews are a must read for people interested in computer science:

Charles Simonyi
Butler Lampson

Definitely subscribing to this one.

Thursday, February 28, 2008

Hammer Filesystem, ZFS, DragonFlyBSD

Nice article comparing Sun's sexy new ZFS to HammerFS. Fuck me, both filesystems look cool. I've heard (rumours?) that Apple is considering ZFS for a future iteration of OS X. HammerFS or "HAMMER Filesystem" is looking kickarse. Perhaps more arse kicking, finger licking better than ZFS? Maybe! Read the article man - and decide for yourself. How does one man come up with a design like this? Crazy genius type stuff.

Anyway, this rave has all come about from the freaky legend why the lucky stiff blogging about cool stuff.

Yes, DragonFlyBSD looks a-some cool.

Wednesday, February 27, 2008

Lights, camera, action!

Really cool paper here explaining how event based actors were implemented in Scala, and why they scale better than thread based actors. I worked backwards to this from rooting around in some lift webapp source code. It seems the comet stuff in lift is implemented using these event based actors. I think this stuff might just get me interested in web development again :)

Also, Dynamic web applications with lift and Scala.

Sunday, February 24, 2008

The Milford Track

Walking the Milford Track is definitely on the agenda in the next couple of months while I'm still working down in New Zealand.

"That's not wilderness - this is wilderness!" etc.

Lots of good info at www.milfordtrack.net.

Friday, February 22, 2008

Thursday, February 21, 2008

Building git on OS X 10.5

I had to install GNU gettext (instructions).

Apparently you don't need to install XML Expat on Leopard, but I did (instructions).

However, I still kept getting:

GITGUI_VERSION = 0.9.2
* new locations or Tcl/Tk interpreter
GEN git-gui
INDEX lib/
MSGFMT po/de.msg make[1]: *** [po/de.msg] Error
make: *** [all] Error 2

So I did:
./configure --prefix=/usr/local
NO_MSGFMT=1 make
sudo make install

to use make with the environment variable NO_MSGFMT set to 1 (which bypasses the need to have gettext installed - so I guess it's not worth installing gettext). A bit of digging in google showed gettext can't understand the commandline arguments passed to it during git build - I haven't checked this out myself though.

CNN doesn't get it.

This is a scathing story about a dismissal from CNN on the grounds of "extra-work writing".

During my final conversation with Ed Litvak and a representative from HR, they hammered home a single line in the CNN employee handbook which states that any writing done for a "non-CNN outlet" must be run through the network's standards and practices department.

Favourite lines:
Jesus, we have a Gestapo?

and
Corporate-think dictates that the mainstream television press as a monstrous multi-headed hydra is the ultimate news authority and therefore is in possession of the one and only hotline to the ghosts of Murrow and Sevareid. Sure those bloggers are entertaining, but in the end they're really just insects who either feed off the carcasses of news items vetted through various networks or, when they do break stories, want nothing more than to see themselves granted an audience by the kingmakers on television.

This, of course, is horseshit.

Good read.

Alice in Wonderland syndrome

I used to suffer from Alice in Wonderland syndrome when I was a kid. Stumbled across this, this morning - had NO idea other people had experienced this. Didn't affect me for long (a few years), and only generally at night when I was trying to go to sleep - but the description fits perfectly (self diagnosis and all). Totally flipping out right now :)

Sunday, February 17, 2008

Strapping Young Lad

Opeth

Saturday, February 16, 2008

The Presets - Girl and The Sea

The Presets - Are you the one?

lift+scala == good webapps

lift+scala == good webapps. Task and project management type app to come for your working pleasure!

Sunday, February 03, 2008

Wellington Harbour

An old red chug-tug rests wearily at its mooring. It rocks to the lap of ocean tickling its belly and shimmers in reflections along the skirt of it, along the lines where its body enters the deep green sea; the "Sea Lion Wellington". Further out in the open water a smaller sailing vessel crab-walks across the flat plane of reflected sky. A motorised tinny criss-crosses in the other direction. Two tiny life-jacket clad fishermen pose, heads still in a turn, tracking the oystered rock-roughage which is the shore. They speed out to sea, trailing a barely visible wake of white wash. Even further out, more white-sailed craft jostle and tack, up and down-wind. Great hunkering mountain ridges brood behind them, silent and monstrous in their contemplation of this whole harbour scene.

A white gull flattens and rides the air in a flapping of loops and breezy spirals. Beady eyes flicker to scan the shapes beneath her. She is quick. Her feathers are hefty and they shine. She is queen of her scrapdom.

"Strait Shipping" in capitals shouts across the vista between us. This great scrap of metal sluices in a slow tail-slide to angle away and out of the harbour. It breathes great bellyfuls of air to exhale acrid smoke from its many fluted exhaust towers. Smaller ships, like minnows in the shade of some great water monster hurry to give it free passage. Move, or be downtrodden!

Saturday, February 02, 2008

Let's From Some Loud Unworld's Most Rightful Wrong by E. E. Cummings [mp3]

Clown in the Moon

My tears are like the quiet drift
Of petals from some magic rose;
And all my grief flows from the rift
Of unremembered skies and snows.

I think, that if I touched the earth,
It would crumble;
It is so sad and beautiful,
So tremulously like a dream.

Dylan Thomas

Wednesday, January 30, 2008

www.smh.com.au - Really, why do we care?

"Kylie offers words of wisdom for Britney"?
"Party boy Corey in possible brawl"?
"Hoax caller poses as Ledger's dad"?
"Sly set for Rambo V"?
I think I'm close to giving up on mainstream media.

Monday, January 21, 2008

Live coding at V2_

Found this very interesting. Have been following live coding stuff for a while, and have heaps of ideas myself :D (Personal project material!). Alex McLean's blog is definitely worth subscribing too.

This post discusses some live coding sessions at V2_ (Institute for Unstable Media) last month. Absolutely sexy cool ideas in this stuff. Here is the direct link to the video talk.

The mathematical nature of music is obviously well known and utterly fascinating. But on the practical side I think the distributed approach to music as a shared experience - listener becomes composer becomes listener becomes composer becomes.. - is very exciting.

Enjoy!

Deconstructing Finnegans Wake

This is brilliant.



Thank you Marshall McLuhan. Hehe!

James Joyce reads from "Finnegans Wake"

I challenge anyone to understand all of this.

Sunday, January 20, 2008

Friday, January 18, 2008

Minority voting power

At the risk of sounding glib, surely the effect of "minority voting power" will have a minor effect?

Let's drum it up then! Minority voting power takes center stage (crappy journalism).

Saturday, January 12, 2008

I signed the condolences book for Sir Edmund Hillary at Parliament House in Wellington today.

Wednesday, January 02, 2008

Beijing 2008



versus http://en.beijing2008.cn

about me

Blog Archive