“The term computer programmer can refer to a specialist in one area of computer programming or to a generalist who writes code for many kinds of software. (…) Ada Lovelace is popularly credited as history’s first programmer. She was the first to express an algorithm intended for implementation on a computer, Charles Babbage‘s analytical engine, in October 1842.”
“Programmer” verbete na Wikipedia
Ada 2.0b é um programador, focado em performances de Live Coding, criado em 2010. Ele foi projetado para criar programas usando o Pure Data (uma linguagem de programação de sintaxe visual), baseada na sua própria (sub/o)bjetividade, através de uma performance de Live Coding – uma improvisação artística que utiliza uma linguagem de programação como meio de expressão – audiovisual.
Sua “inspiração” é uma auto-análise da máquina, que observa a todo tempo seu status através da análise do que acontece no seu Kernel – o núcleo do sistema operacional da máquina – em tempo-real, no momento da performance, tomando isso como base para a criação da performance de Live Coding audiovisual, sem nenhuma intervenção humana.
Para quem não conhece, o termo Live Coding:
Live coding (sometimes referred to as as interactive programming, ‘on-the-fly programming’, ‘just in time programming’) is the process of writing software in realtime, as a form of improvised time-based art. Typically, the process of writing is made visible by projecting the computer screen in the audience space.
“Live Coding” verbete na Wikipedia
A performance criada segue a linha de uma performance de Live Coding audiovisual comum: existe um terminal de computador, usado para a programação, um projetor, para o retorno visual, e um sistema de som, para o feedback sonoro. A diferença reside no fato de que não existe um programador humano no terminal, apenas o Ada 2.0b.
Inicialmente, o software checa o status do Kernel (características como a lista de processos que estão na CPU e na memória, bem como seu percentual de utilização, além do conteúdo da memória RAM da máquina em tempo-real), e, baseado nisso, começa a criar um Patch no Pure Data. Essa ação afeta diretamente o Kernel da máquina, que por sua vez, reflete tais alterações mais uma vez no Patch, num laço sem fim… esta interação Kernel-Patch continua até o fim da performance.
Inspirado no Emotional Kernel Panic e no Marvim Gainsbug, este projeto foi desenvolvido no Pure Data e em Python, utilizando um módulo especial para Dynamic Patching do Pd já citado aqui mesmo, no blog, o Pyata.
um agradecimento especial a Ricardo Brazileiro e a Renato Fabbri pelas dicas do Emotional Kernel Panic: valeu mesmo, galera!
mais fotos podem ser encontradas no flickr:
http://www.flickr.com/photos/jeraman/sets/72157624399005058/
O código-fonte do projeto pode ser encontrado para download no github (projeto desenvolvido no Ubuntu 9.04, utilizando o Python 2.6.2 e o Pure Data 0.41-4):
https://github.com/downloads/jeraman/jeraman.lab/ada%20v.2.0b.zip/
maiores informações
[1] sobre o Pure Data
[2] sobre Python
[3] sobre o Pyata
[4] sobre o Emotional Kernel Panic
[5] sobre o Marvim Gainsbug