Deus In Machina
Mar. 11th, 2004 09:27 pmTo successfully operate any machine the mind has to replicate the machine internally.
The operator absorbs the logic of the machine and thoughts proceed in a way alien to 'normal' thinking.
This is why great performers are fascinating to watch, because they no longer embody humanity - but rather the logic of an instrument or machine.
As a programmer, I start off learning a new system in a somewhat clumsy way, trying to make it work in the way that I want it to, trying to find equivalents to the way I'm used to working, searching the help files for the phrases I think will lead me to what I want. I get grouchy at the way that the commands aren't quite right for my purpouses, they don't seem designed to make my life easier, to produce the output I want. The system seems to get in the way more than it makes it easier.
Slowly I uncover commands that differ even more from the ways I'm used to working - provide functionality that seems strange and contrary. The example code does things _like_ what I want, but not what quite. I try a few of them out - just for fun. Test a few things to see what they do, get a feel for how they work.
And then suddenly it clicks - I can see how the system _wants_ me to work. Taking my code and moving a few things about I suddenly find everything is running twice as fast and I've lost a third of my code. Everything gets rewritten 3 or 4 times as I try to find the optimum way to attack the problem.
And then I'm up and running - the problems obviously break themselves down into the parts I have to play with. I know how the system's creator thinks, for every problem I just have to imagine what they would do to solve it and then look for the tool that does that.
I'm sure it takes a certain kind of mind to do this. One that can let go of the established way of working and come round to a new approach. One that can jump from reality-tunnel to reality-tunnel until it finds the one that matches the tool and the problem. Mine does it fairly well, but I still have that jarring feeling every time I start a new system. I'd like to be able to let go much easier, to not feel that sinking impotent feeling when I can't twist the system to my will. With each new language, tool and API it becomes a little easier, but I'm always going to have to work at it.
Oh, the quote is from today's Guardian, where they interview a trombonist on his work with avant-noise musician Squarepusher.