La construcción de sentidos en el arte computacional: composición de lenguajes creativos

por Karen Palacio

Taller experimental teórico-práctico

Modalidad on line – 4 encuentros sincrónicos via zoom

Fechas: 10, 17, 24 de noviembre y 1 de diciembre de 2022

Horario: 18 a 20 hs (Argentina)

¿Cómo podemos escribir programas que interpretan otros programas? ¿Cómo podemos construir sentidos en la producción de una obra que interactúe íntimamente con el medio computacional? ¿Cuándo un programa “se convierte en” arte? 

A partir de entender al ser humano como expertx en lenguajes naturales y desnaturalizar esos conocimientos, nos acercamos al funcionamiento de los lenguajes de computación  con el objetivo de aprender distintas formas de crear lenguajes de programación de propósito específico que corran en la web, para la creación multimedial y la programación creativa.

El acto de programar es un acto de enunciar. Un lenguaje de programación enmarca el acto de programación -limitando, dirigiendo, dando consignas de cómo se hará la enunciación, determinando qué será fácil de decir y qué será complicado de decir en ese lenguaje.

Partiendo de una visión social de la programación, nos acercaremos a la construcción teórico-práctica con una visión expandida del concepto de lenguaje de programación, entendiendo a un lenguaje como un ecosistema de interacción + herramientas circundantes + editores + costumbres y rituales de interacción. En este taller abrimos el camino para tensionar el potencial latente de significado en los conceptos técnicos, flexibilizando conceptos de las ciencias de la computación, la lingüística, la semiótica y la teoría crítica del arte.

Dinámica propuesta

Al final de cada clase se llevarán proyectos que les pueden servir como punto de inicio para explorar a sus tiempos, y para avanzar el trabajo final – además de ejemplos de diversos grados de complejidad técnica.

El trabajo final de este taller es hacer nuestros propios lenguajes:

  • o bien planteando un conjunto de reglas formales o
  •  en un sentido más amplio, en un sistema creativo, siguiendo los conceptos que vemos en las clases. Es decir, esbozando reglas (informales) que impliquen un abecedario, un conjunto de reglas de formación de palabras y oraciones (gramática) y una semántica.

Nos va a interesar que este lenguaje se pueda usar en un contexto creativo: que sirva para la generación de poemas, o como interfaz para modificar imágenes, o como instrumento musical, o que se involucre de forma comprometida con el concepto de interfaz, etc.

Tecnologías que se explorarán: Javascript. npm. node. Nearleyjs. ToneJs. Hydra. NLPjs. Piet.

Destinatarixs

Artistas visuales, sonoros, poetas, docentes, programadorxs, lingüistas y todas las personas interesadas en desarrollar a través de la práctica intuiciones y una visión profunda acerca de la programación creativa y de la construcción de sentidos a partir de alli.

Conceptos clave

Semiótica, Arte Multimedia y Digital, Compiladores, Lingüística, Filosofía de la computación, Programación Creativa.

Requerimientos

Se asumen conocimientos previos básicos o experiencias previas de las tecnologías HTML, CSS y JS. No se asumen conocimientos previos de compiladores ni de ciencias de la computación, más allá de saber conceptos básicos de programación (por ej: variables, bucles, librerías, condicionales).

Contenidos

Clase 1

Desnaturalizando nuestra expertise en lenguajes (naturales): Las estructuras internas de todo texto. Programar como un acto de comunicación múltiple y transformación bidireccional. Programación como cooperación comunicativa humanx-computadora. Que interpretamos textos implica que podemos intuir cómo una computadora entiende un programa (intro a compiladores). Una implementación naive de un compilador en JS vanilla para implementar un lenguaje creativo simple de dibujo. 

Clase 2

Lenguajes formales. Sintaxis – Semántica de un programa – Gramática de un lenguaje. Fases de interpretación de un texto. Backus Naur Form (BNF) paso a paso.  Usando NearleyJS para crear lenguajes + automatizar partes de escritura de compiladores. Análisis del lenguaje Mercury para la programación en vivo de música electrónica. Diseño de lenguajes: DSLs vs Lenguajes de uso general, lenguajes esotéricos, Human-computer interaction (HCI).

Clase 3

Vocabulario de compiladores: tokenizer/lexer, parser, AST, semantic analysis, code generator. Lenguajes con análisis semántico usando NearleyJS y mooJS. Un sistema creativo inspirado en poemas, con arquitectura convencional a nivel programático. Diseño de lenguajes: ergonomía, fricción, “dificultad de uso”, tiempos de programación, lenguajes por analogía. Analisis del lenguaje Hydra para la creación de visuales audiorreactivas en tiempo real.

Clase 4

La autonomía del arte computacional y la construcción de sentidos. ¿Cómo se mueve el sentido en una obra hecha con computadora? ¿Cuándo un programa “se convierte en” arte? Los textos abiertos y la obra de arte digital. Consecuencias conceptuales de las decisiones de diseño de un lenguaje de programación. Compartimos nuestros trabajos!

Bio de Karen Palacio

Karen Palacio es una live coder, programadora y artista digital de Córdoba Capital, Argentina. Es diplomada en Ciencias de Datos del FaMAFyC, estudia la Lic en Ciencias de la Computación en el FaMAFyC y trabaja como A.I. Software Architect en una empresa de Software de Córdoba Capital. Como live coder de visuales ha hecho performances de improvisación de código en Cosquín, encuentros de noise, conferencias de tecnología, museos, y fiestas electrónicas -entre otros lugares- llegando a programar hasta 5 horas seguidas en vivo.

Duración: 4 clases // inicio 10 de noviembre

Valores del taller AR$ 8200 (Transferencia bancaria) – USD 85 (PayPal)

Python aplicado al arte

Taller teórico-práctico a cargo de Flavia Laudado y David Vinazza

Python es muy versátil y está presente en muchísimos y variados usos vinculados a la exploración multimedial: desde aplicaciones de aprendizaje automático pasando por programas de creatividad y ejecución digital hasta el desarrollo de videojuegos, es frecuente encontrar algún tipo de integración con este lenguaje. Utilizando el arte generativo como un disparador amplio y un posible escenario de acción, invitamos a aprovechar la accesibilidad y simpleza de Python para programar y diseñar algoritmos de forma creativa.

El taller está orientado a quienes quieran comenzar a programar con Python de forma creativa, navegando el límite difuso entre el arte y la programación. Se propone brindar una vasta introducción a la programación en Python, desde la perspectiva del código creativo y el arte generativo, partiendo de conceptos básicos y mutables para abordar ambas prácticas de forma exploratoria y colectiva, a partir de la construcción de un glosario vivo que dé cuenta del desarrollo del taller desde una perspectiva técnico-estética y de los debates que surjan.



El taller está orientado a personas que quieran introducirse en el arte generativo y la

programación creativa, mediante el lenguaje Python, con una perspectiva lúdica, buscando

experimentar y desarrollar algoritmos generativos.

*No se requieren conocimientos previos de programación


Taller teórico-práctico [on line]

8 encuentros teórico/prácticos de 2hs

+2 encuentros de apoyo de 2 hs

inicio 17 de Noviembre / 10 encuentros en 5 semanas

Lunes y Miércoles

18:30 a 20:30 hs (Chile – Arg) // 16:30 a 18:30 hs (Perú – Colombia – Ecuador – CDMX)

Valores:

AR$ 9200

USD 120

Contenidos:

Encuentro 1

Introducción al Arte Generativo

■ Definición general

■ Referencias

○ Introducción a Python

■ Diferencias con otros lenguajes

○ Recursos disponibles

Encuentro 2

Configuración de PyCharm para el taller

○ Elementos de Python

■ Variables y Tipos de datos

■ Funciones

○ Programa generativo

■ 20 GOTO 10

○ Referencias

■ Generatividad sin computadora

Encuentro 3

Elementos de Python

■ Diccionarios

■ Listas

○ Librerías y Frameworks

■ p5 (Análogo a Processing.py)

○ Funciones gráficas

○ Glosario vivo

○ Referencias

■ Inicios de la computación

ENCUENTRO 4: CLASE DE APOYO 1 – TEMÁTICA LIBRE A ELECCIÓN DE LXS PARTICIPANTES

Encuentro 5

Sistemas de referencia

■ Colores y coordenadas

○ Elementos de Python

■ Bucles y Expresiones condicionales

○ Programa generativo

■ Perlin Noise Pulsar

○ Referencias

■ Paletas de colores

Encuentro 6

Reglas en un sistema generativo

○ Librerías y Frameworks

■ pygame

○ Juego generativo

○ Referencias

■ Error y glitch como estética

Encuentro 7

Programación Orientada a Objetos

○ Elementos de Python

■ Clases, métodos y propiedades

○ Programa generativo

■ Game of Life

○ Referencias

■ Determinismo y aleatoriedad

■ Repetición y azar

ENCUENTRO 8: CLASE DE APOYO 2 – TEMÁTICA LIBRE A ELECCIÓN DE LXS PARTICIPANTES

Encuentro 9

Aplicación de funciones trigonométricas

○ Librerías y Frameworks

■ opencv

■ Programa generativo

■ Sistema de partículas

○ Referencias

■ Arte y matemática

Encuentro 10

Interactividad

○ Librerías y Frameworks

■ Requests

■ Midi

■ OSC

○ Cierre del Taller

Acerca de lxs docentes a cargo:

Flavia Laudado @flavlaudado

Flavia es oriunda de Ushuaia y está radicada hace más de una década en Buenos Aires. Finalizó sus estudios en la Licenciatura en Artes Electrónicas en el año 2018. Es docente y desarrolladora de dispositivos e instalaciones en entornos programables, aplicándose en ámbitos como imagen digital, electrónica, robótica y programación creativa. Sus espacios referenciales son la fotografía, el cine, la literatura, la naturaleza y lo cotidiano como fuente de inspiración. Ha trabajado de forma colaborativa e individual supliendo necesidades electrónicas para artistas y empresas, y de manera formal en espacios educativos como la Universidad de Tres de Febrero y Flexible Laboratorio.

David Vinazza @camposdebeats

David trabaja desde hace 15 años en el sector tecnológico, especialmente en infraestructura y automatización. Estudió Ingeniería Electrónica en la UTN FRBA, además de algunos seminarios orientados a la computación de alto desempeño. Es lector asiduo de ciencia ficción y entusiasta de la tecnología. Se considera programador creativo desde el 2015, cuando descubrió Processing de casualidad buscando crear visuales interactivas para su banda. Desde entonces ha participado en numerosos proyectos artísticos y predica un abordaje distinto a la programación y el software libre.


Laboratorio de Orfebrería Digital -Edición Remix Audio Web-

Por Flor de Fuego

Modalidad on line vía Zoom

Inicio: Lunes 6 de diciembre 17 hs (-3 UTC / hora en Argentina)

Fechas y horarios: 6, 9, 13, 16 y 20 de diciembre 2021

17 a 19 hs (-3 UTC)

//

Presentación

*No se requiere contar con conocimientos previos

El término orfebre procede del francés orfèvre [aurifaber ‘artífice’], y este a su vez tiene raíz latina en auri ‘oro’ y faber ‘arquitecto’, o bien del verbo latino facĕre ‘hacer, realizar’

Se dice que que une orfebre es una persona capaz de desarrollar trabajos artísticos maleando los metales y piedras preciosas para construir sus artesanías. 

Orfebrería digital significa trabajar desde la materia prima del bit, labrando el código, maleando de manera artesanal para producir una pieza digital.

Este taller es una continuación y extensión del Laboratorio de Ciberpoesía, se profundizará sobre el uso y la mezcla de los frameworks Hydra web de @ojack , p5js y p5.glitch creado por @teddavisdotorg con el fin de crear webs híbridas que funcionan como piezas audiovisuales interactivas.

Contenidos mínimos

Objetivo principal

  • sistema hexadecimal/código binario
  • glitch – data bending 
  • hydra 
  • p5js/p5live
  • p5.glitch 
  • tone.js para audio web
  • Introducción a html, css y JS en glitch.me 

La propuesta será aprender a generar códigos interactivos en los que puedan dialogar los diferentes frameworks, a modo de laboratorio experimental, dentro de Hydra como motor principal.

p5glitch es una librería que sirve para glitchear en tiempo real imágenes, vídeos y camaras

tone.js, por su parte, es una librería basada en web audio, para manipular sonido en la web.

Nos propondremos que cada participante realice su propia web interactiva, su pieza audiovisual aplicando las diferentes herramientas propuestas y las que surjan de la interacción entre todxs lxs participantes.

Acerca de Flor de Fuego

Es Profesora en Artes Plásticas orientada al Dibujo en la Facultad de Artes de la UNLP.
Es adscripta en la cátedra de Fotografía e Imagen Digital en la Facultad de Artes. Investiga sobre imagen digital y medios, produciendo imágenes y sonidos relacionados al live coding, animación, video e internet. Pertenece al colectivo CliC (Colectivo de Live Coders) con quienes participaron del festival +CODE en Buenos Aires y diversas charlas.

Participó también en MUTEK 2019 y 2020. Formo parte del Conversatorio sobre Género, software y programación al vuelo en Latinoamérica, realizado en el Centro de Cultura Digital de la Ciudad de México 2019. Además ha realizado proyecciones fulldome en el Planetario de la Ciudad de Buenos Aires y en Bogotá, Colombia para el festival Domo Lleno. Forma parte de un dúo llamado c0de p03try, han expuesto en lugares como JSAmsterdam Nation Conference, ICLC (International Conference on Live Coding), Irlanda. Festival Pumpumyachkan, Perú.

Desde 2019 trabaja en conjunto con WIP arte digital en el armado de propuestas para la difusión del livecoding utilizando Hydra y otras herramientas que faciliten y busquen el cruce de distintos lenguajes como el visual, textual y la performance.


Valores:

$6300 (Pesos argentinos)

Desde el exterior: USD80