Crear una página web desde cero

(Bueno.. desde 0.5 digamos) Hay muchas herramientas para hacer una página de internet, entre ellas WordPress (con la que está hecho este blog) es una de las más famosas, por lo fácil y práctica que es. En este post quisiera hacer una introducción a cómo crear una página de internet desde cero y hacerle host desde una cuenta de github. Haremos una introducción a HTML y les recomendaré unas páginas donde pueden profundizar, la idea es que si les interesa aprender desarrollo web, esto sirva como un primer paso.

Una página de internet se escribe en el lenguaje HTML (HyperText Markup Language), el cual consiste en un conjunto de etiquetas que se abren y cierran (<etiqueta>contenido</etiqueta>). Por ejemplo para escribir un bloque de texto utilizamos la etiqueta “p”, que significa “paragraph”.

<p>Aqui va el contenido</p>

Es importante notar que las etiquetas que cierran se escriben con la diagonal invertida. Existen muchas de ellasy cada una cumple una función, por ejemplo h1, significa un header de primer nivel, h2, de segundo nivel, h3 de tercer nivel, cada uno más pequeño que el anterior.

Vamos a crear una primera página. Para ello, pueden abrir su editor de texto favorito, yo les recomiendo SublimeText. También pueden probar cómo se vería su página en vivo en esta página. Abran un archivo de texto nuevo y escribamos lo siguiente

<!DOCTYPE html>
<html>
<body>

<h1>Portafolio artístico de _____</h1>
<p>Aquí presuman todos sus logros</p>

</body>
</html>

Con la primer línea, le indicamos el tipo de documento que vamos a escribir, esta es una etiqueta que no se cierra. La segunda línea es donde se colocará todo el contenido de la página, entre las etiquetas <html></html>. La etiqueta <body></body> define el cuerpo de la página y dentro de él pondremos nuestra información.

Para poner una imágen utilizamos la etiqueta <img>, esta también es una de las que no se cierran, sólo tenemos que indicarle la dirección de la imágen. por ejemplo:

<img src="https://creativecommons.org/images/deed/cc-logo.jpg">

Todo este código debemos guardarlo en un archivo que se llame index.html, el cual tiene que estar en un servidor. Como parte del ejercicio introductorio, les recomiendo hacer host a sus ejercicios de HTML en su cuenta de github. Si no tienen una, pueden abrirla aqui. Para hacer el hosting de esta manera, deben crear un repositorio llamado “usuario.github.io”, (sustituyan su nombre de usuario por en el link). Y una vez que clonen  su repositorio pueden trabajar directamente desde su computadora por medio de la aplicación Github, o su git client favorito. Pueden ver instrucciones detalladas de esto en este tutorial.

Una vez que tengan su página básica, les recomiendo tomar unos tutoriales para utilizar HTML junto con CSS para hacer que se vea mejor. Por ejemplo, les muestro mi ejercicio. Uno de los mejores que he encontrado en linea es Free Code Camp, donde no sólo te enseñan a programación web desde lo más básico, sino que puedes trabajar en proyectos reales con los cuales te conectan.

Una de las ventajas de aprender a programar HTML y CSS es que ya no dependemos totalmente de herramientas  y templates como los de WordPress, Wix o Weebly para crear nuestro portafolio, sino que podemos modificarlos al gusto libremente. Espero que esta información les sirva, y si hacen su página de esta forma, por favor compartanla en los comentarios de abajo.

Saludos y que tengan buena semana.

 

 

Anuncios

Creación de partituras algorítmicas

La composición algorítmica con lenguajes de programación suele funcionar como una serie de procesos que inician, evolucionan y terminan sonidos, ya sean sintetizados directamente dentro del código, o secuenciados en un software externo. Un aspecto de la composición algorítmica que suele ser olvidado es la creación de partituras para instrumentos acústicos con métodos algorítmicos. Esto en parte por que la creación de partituras programáticas requiere el uso de sistemas como Lilypond, el cual es un ambiente muy bueno para escribir música, sin embargo no ofrece métodos para la creación de procesos, como lo hacen SuperCollider, PureData, Csound, chuck entre otros.

El día de hoy les compartiré un pequeño tutorial de cómo exportar partituras para instrumentos acústicos directamente de supercollider.

Requerimientos – Descargar los siguientes programas

Una vez que instalemos SuperCollider (SC) y FOMUS, es necesario agregar la librería SuperFomus a las librerías de SC. Para saber en qué carpeta debe colocarse esta librería debemos ejecutar el siguiente comando en SC seleccionandola y presionando Ctrl + enter (en mac CMD + enter)

 Platform.userExtensionDir 

Esto nos imprimirá en la consola el directorio donde debemos copiar la librería, en mi caso me aparece:

C:\Users\Cristian\AppData\Local\SuperCollider\Extensions

En algunas computadoras, la carpeta AppData está oculta, basta con ir a las propiedades de la carpeta y seleccionar la opción de mostrar carpetas ocultas. El siguiente paso es copiar la carpeta descomprimida de superfomus a este directorio, abrir SuperCollider e iniciar el servidor, presionando Ctrl + B (Cmd + B en Mac)

Una vez que tenemos todo instalado, pasemos a lo divertido, la creación de partituras. Comencemos con un ejemplo sencillo, para pasar a secuencias más jugosas.

Un Pbind en supercollider es un objeto que nos sirve para secuenciar eventos (próximamente haremos un tutorial de secuenciación avanzada), donde podemos indicar: notas, duraciones, amplitudes, paneo, entre otros. En el siguiente ejemplo tenemos dos bloques de código, uno donde definimos la secuencia que queremos crear (0 en este caso es do central) y el segundo donde ejecutamos fomus para crear la partitura. Intenta copiar y ejecutar el siguiente código, presionando Ctrl + B en cada bloque.

// Ejemplo 1
(
p=Pbind(
	\note, Pseq([0,4,7,5],inf),
	\dur,0.5
);
p.play;
)

(
f = Fomus(p.asStream,24);
f.xml;
)

Como resultado, en el escritorio te debe aparecer un archivo llamado SCfomus.xml, si lo abres con MuseScore o tu editor favorito, tendrás la partitura para la secuencia que definimos en el Pbind, debes obetener algo como la siguiente imágen:

ejemplo1

En el anterior teníamos un patrón de notas que se repite, si queremos hacer algo aleatorio entonces podemos usar un Pwhite, a continuación muestro su código y partitura resultante


// Ejemplo 2
(
p=Pbind(
 \note, Pwhite(-12,12,inf),
 \dur, Prand([0.5,0.5,0.5,1,2],inf)
);
p.play;
)

(
f = Fomus(p.asStream,24);
f.xml;
)

ejemplo2

Una funcionalidad muy buena de trabajar con SuperCollider +  Fomus es que identifica automáticamente los intervalos microtonales y asigna la notación adecuada. En el siguiente ejemplo una variación del anterior donde a Pwhite se le introducen números flotantes, es decir con decimales, por lo que el resultado serán notas microtonales, con lo que obtenemos la siguiente partitura.


// Ejemplo 3
(
p=Pbind(
 \note, Pwhite(0.0,12.0,inf),
 \dur, 1/3
);
p.play;
)

(
f = Fomus(p.asStream,24);
f.xml;
)

ejemplo3

Para introducir acordes, basta crear nuestro arreglo de Pseq como un arreglo de arreglos, es decir, que cada entrada del mismo sea un conjunto de notas. Fomus automáticamente lo identificará y convertirá a acorde, como vemos a continuación.


// Ejemplo 4
(
p=Pbind(
 \note, Prand([[0,5],[2,4],[8,1], [-2, 5]],inf),
 \dur, Prand([0.25,0.25,0.5,1],inf)
);
p.play;
)
(
f = Fomus(p.asStream,24);
f.xml;
)

ejemplo4

Por último les muestro un ejemplo de cómo generar acordes aleatorios, con un número indefinido de notas y la partitura generada.


// Ejemplo 5
(
p=Pbind(
 \note, Pfunc({({12.rand})!(5.rand);},inf),
 \dur, Prand([0.25,0.25,0.5,1],inf)
);
p.play;
)

(
f = Fomus(p.asStream,24);
f.xml;
)

ejemplo5

===========================================================

Aquí sólo mostramos  una fracción de lo que se puede hacer con SuperCollider + Fomus + MuseScore. Se pueden generar incluso partituras orquestales muy complejas, sólo requiere adentrarse un poco más en la documentación. Lo que queremos mostrarles es una ventanita de lo que es posible hacer y que no es necesario que siempre la música algorítmica sea sintetizada, sino que podemos crear partituras para instrumentos acústicos. Aprovecho para hacer una auto promoción descarada, de una partitura que hice con estas técnicas Estudio algorítmico No.1 para cuarteto de cuerdas.

Espero que este pequeño tutorial les sea de uso e interesante, que tengan buena semana. Saludos y ¡liberemos a Armstrong!

Holomorfo

 

Introspección

Les comparto una vez mas, una reflexión de mi amigo compositor Daniel Daowz, acerca del uso de software libre para la composición musical, en este caso algunas cuestiones técnicas que considerar al trabajar en un proyecto con estas tecnologías. ¡Saludos!

polyhedrone

In this post I want to talk briefly about my latest composition, Introspección, for guitar and computer synthesis, but not too focused on the composition itself, rather in the technical issues I had while doing it. First of all here’s the link to the audio: https://youtu.be/pWU1-4TfSiQ and here’s the link to the score and pd patch: https://www.dropbox.com/s/e410ehf2b47oboy/IntrospeccionFull.zip?dl=0

Introspección is a three movements composition where each one is inspired by an emotion. The interpretation of how the emotion is related to the music it’s kind of open. In other words I don’t want to be specific about it because doing so will kill the possibilities of having multiple interpretations. But as a short note it can be said that Búsqueda is more or less a discussion between tonality-atonality, written music-improvised music, and in a metaphorical way the certainty-uncertainty relationship.  Nostalgia, I’ll leave it up to free interpretation but clearly the tonal…

Ver la entrada original 683 palabras más

Tu tesis en LaTeX

Hace tiempo tuvimos un post del ambiente de programación LaTeX , para edición de textos.  Dada la buena recepción que tuvo aquel post, hoy haremos una segunda parte donde mostraremos cómo crear un texto sencillo en este ambiente y para aquellos más aventados, que migren su Tesis a LaTeX.

Si aun no lo tienen, les recomiendo que descarguen e instalen MikTex (la versión básica), que es el conjunto de librerías y códigos que hacen todo el trabajo sucio, y Texmaker, que es el editor de texto sobre el cual trabaja el usuario.

Una vez instalados, vamos a crear nuestro primer documento. En TexMaker, abre un nuevo documento de tex y grábalo en algún lugar de tu computadora, introduce el siguiente código y compilalo con la opción del menú LATEX > PDFLatex. También puedes hacerlo directamente en el botón de flecha que aparece en la parte superior, sólo indica también PDFLatex (para que el resultado sea un PDF).

\documentclass{article}

\begin{document}
Hola Mundo.
\end{document}

Este es el documento más sencillo que podemos crear y consta de dos partes: en la parte superior se indica el tipo de documento que se va a realizar, puede ser: book, article, report, entre otros. Cada uno de ellos le indica al compilador una serie de carácteristicas para el documento, como los márgenes, tipos de letras y muchas otras cosas que cambian de acuerdo al tipo de documento. Nuestro texto va dentro de las etiquetas de “document” las cuales se indican con un \begin y un \end. Ahora, vamos a ir introduciendo nuevos elementos, para hacer de nuestro documento algo más rico.

En la parte de configuración, debemos indicar los paquetes que usará latex, entre ellos necesitamos el que le indique que vamos a trabajar en Español, de modo que reconozca los acentos y otros símbolos, para esto debemos incluir los paquetes: \usepackage[utf8]{inputenc} y \usepackage[spanish]{babel}.

Si queremos utilizar letras de tipo negritas o itálicas, debemos indicarlo con el código \textbf{} y \textit{} y colocar dentro las palabras que queremos que tengan esa propiedad. Ahora, si deseamos hacer una lista enumerada o lista con puntos, debemos agregar el código \begin{itemize} \end{itemize} y dentro de ellos poner cada elemento de la lista como un \item. Esto se muestra en nuestro segundo documento, ya un poco más completo:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{graphicx}

\begin{document}

Este es el tutorial de \textit{Armstrong Liberado}. Como primeros tres puntos vamos a ver:

\begin{itemize}
\item Cómo poner letras \textbf{negritas}.
\item Cómo poner letras \textit{itálicas}.
\item Cómo poner letras \underline{subrayadas}.
\end{itemize}

\end{document}

El documento debe verse de la siguiente manera:
arms1

(Cómo ejercicio intenta cambiar ambos itemize por enumerate)

Con lo anterios, ya pueden comenzar a escribir su novela, pero si quisieran darle más estructura a su trabajo, aquí es donde LaTeX muestra uno de sus puntos más fuertes, ya que trabajar con capítulos, secciones, subsecciones, índices, lístas de tablas y figuras se hace automático en este ambiente, basta con indicar ciertos comandos.

Iniciemos indicando unas secciones (\section{}) y subsecciones (\subsections{}). Por ejemplo:

\section{Introducción}
Aqui ponen todo su texto de la intro.
\subsection{Título del subtema}
Aquí ponen el subtema.
\subsubsection{Continua el árbol}
Y así se la llevan, hasta que tengan la estructura deseada para su documento.

La utilidad de esto se ve mágicamente cuando quieren hace un índice, para ello, después de \begin{document} introduzcan el comando \tableofcontents. Compilen su trabajo (dos veces, por que el índice lo necesita para crearse adecuadamente) y obtendrán un índice con las páginas correctas y las secciones numeradas de forma automática.

Como último ejercicio de hoy, hagamos una portada. A LaTeX se le tiene que indicar la información del documento y él sólo crea lo demás de acuerdo a formatos que tiene predefinidos. De modo que para crear una portada, la lógica es distinta a si lo hicieramos en un editor de textos como OpenOffice donde sólo introducimos líneas de texto, una tras otra, nosotros le daremos nuestros datos y la portada se creará automáticamente de acuerdo al formato predefinidio del documento. Debemos indicar el nombre del documento, autor y fecha (entre otros), en el preambulo, antes de \begin{document} y para crear la página, insertar \maketitle justo después de \begin{document}, como se muestra a continuación:

\title{Armstrong liberado}
\author{Cristian Bañuelos}
\date{\today }
\begin{document}
\maketitle

Con todo lo anterior, ya tenemos el formato de un artículo y el suyo debe verse similar a este tanto en código como en PDF:


\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{graphicx}

\title{Armstrong liberado}
\author{Cristian Bañuelos}
\date{\today }

\begin{document}

\maketitle
\tableofcontents

\section{Introducción}
Este es el tutorial de \textit{Armstrong Liberado}. Como primeros tres puntos vamos a ver:

\subsection{Cómo cambiar el estilo del texto}
\begin{itemize}
\item Cómo poner letras \textbf{negritas}.
\item Cómo poner letras \textit{itálicas}.
\item Cómo poner letras \underline{subrayadas}.
\end{itemize}

\section{Cómo introducir secciones}
Esto ya se puso muy meta, pero creo que se capta la idea, aqui ustedes vacían el texto de cada sección y subsección.

\end{document}

arms2tex

Ahora los invito a que migren su tesis a latex, experimenten con esto, escriban y organicen su trabajo por secciones, que intenten \documentclass{book} o report para que vean cómo cambia el estilo del documento. Para la próxima sesión LaTeX, veremos cómo introducir figuras y ecuaciones matemáticas. Por lo pronto, cualquier duda o comentario, estamos a su disposición.

¡Saludos y liberemos a Armstrong!

– holomorfo


			

Tools for making beautiful musical scores

Hoy les compartimos un escrito de Danel Daows, compositor y guitarrista de Tijuana, B.C, donde nos muestra varios consejos para hacer partituras interesantes con software libre. ¡Saludos!

polyhedrone

In this post I want to talk about the tools that I use for making musical scores, which are Lilypond, Inkscape and LaTeX, all of them free and open source. While there may be more popular software for doing this kind of job I want to talk about why I like to use the ones that I mentioned above and I hope it will be evident why this combination of software are very powerful when it comes to music typesetting.

While Finale and Sibelius are always at the discussion table about the better musical typesetting software and are also known as industry standards, it is also true that for some of us it always feels that these two were lacking… lacking in elegance, among others. They’re easy to use, powerful and if you really know the software you can make good looking scores with it. On the contrary…

Ver la entrada original 558 palabras más

Máquinas inteligentes humanas

No tan directo con el software libre, pero sí en cuestiones de nuestra interacción con la máquina les comparto esta reflexión.

¿Cómo hacer que la inteligencia artificial sea más humana?

En los desarrollos científicos y tecnológicos que nos han llevado a crear máquinas y sistemas que simplifiquen nuestra vida, hemos tenido grandes avances y creado herramientas que extienden nuestras capacidades, tanto físicas como intelectuales. Las máquinas nos han superado en algunos aspectos, lo cual nos ha llevado a cuestionarnos si algún día nos reemplazarán completamente. En este sentido comenzamos a intentar ver en ellas reflejos de nosotros, pero aun hay una gran diferencia entre un humano y una máquina. ¿Que características deben adaptar para que las consideremos mas humanas? Algunas de los rasgos que presenta el humano y las computadoras aun carecen son: vulnerabilidad, deseos, preferencias, opiniones, imprecisión, emociones, decisiones autónomas, socialización, buscar su reproducción y supervivencia, sentido de justicia, capacidad creativa, entre otras. Para que una máquina sea considerada como un humano debería mostrar algunas de estos atributos, sin embargo, me pregunto si en verdad queremos que los tengan. No estoy seguro si deseamos que la computadora tenga la capacidad de desobedecernos. De momento si algún programa de computo no hace lo que deseamos, la razón principal es que lo programamos mal, sin embargo si una computadora tuviera la capacidad de decisión autónoma y libre, podría simplemente decir NO.

Leí un articulo de los nuevos automóviles autónomos que desarrolla Google, y los problemas que surgen de introducir agentes programados a seguir reglas especificas en un mundo donde los humanos viven de doblar y romper reglas. Mencionan el caso de que algunas veces el auto permanecía en un cruce esperando su turno para cruzar, pero quedaba inmóvil ya que los demás autos tomaban la iniciativa y nunca existía el momento ideal de acuerdo a las leyes de tránsito estrictas que le fueron programadas. En este sentido, me parece que para que los sistemas inteligentes simulen al humano, deben tomar en cuenta tanto a Homero Simpson como al Sr. Spock.

Para que un sistema sea mas humano, también tiene que ser social en cierta manera, no con nosotros, sino con otros sistemas. Que tenga la capacidad de compartir información con otras entes como el, y pueda aprender nuevas cosas sin que le tengamos que programar.

Por otro lado, en cuestión de las emociones, el sistema o la máquina debería tener alguna especie de sentimientos o emociones que cumplieran la función de indicadores de necesidades como: falta de energía, alerta de temperaturas muy altas y bajas, necesidad de actualización, entre otros. Estos indicadores le servirían para protegerse a si mismo de su entorno y obtener autonomía en cuestiones de buscar recursos y cuidar su integridad.

Mas allá de las distopías tecnológicas que vemos en el cine, donde las máquinas nos reemplazan y acaban con nosotros, creo que llegaremos a un punto que, si las programamos a nuestra semejanza, habrá máquinas “buenas” y “malas”. Pero seria interesante cuando llegara el momento que aprendamos cosas nuevas de un sistema inteligente de la misma manera que un Padre aprende de su hijo. Pero lo mas importante, si queremos que sean mas humanas, debemos también aprender a verlas no como algo que podemos usar y obtener un beneficio (aunque haya humanos programados de esta forma =P ), sino como “alguien” con quien podemos relacionarnos, compartir y aprender. ¿Qué opinan ustedes?

Consumidores que se vuelven creadores

En mi vida he tratado de seguir siempre las cosas que se me hacen más bonitas, interesantes, fascinantes o curiosas.En el ámbito creativo y profesional mis áreas ganadoras definitivamente son la música, la matemática, la programación y los videojuegos. Quizá por que representan una especie de libertad de exploración y creación. Mientras he crecido, he tenido la curiosa experiencia de poco a poco convertirme de consumidor a creador. De pasar de escuchar música a interpretarla o componerla, así como de usar software, a desarrollar uno que se ajuste a mi imaginación y necesidades, y en el caso más intenso para mi, pasar de jugar un videojuego, a desarrollarlo. Sin importar las limitaciones que cada quien tenemos a la hora de crear, el hecho de tener una voz sobre cómo queremos moldear nuestro mundo es una acción de libertad que me parece increíble.

Este desfase de consumidor a creador que muchos de nosotros compartimos, ha sido posible de manera muy especial por comunidades de desarrolladores que extienden las fronteras de lo posible con su trabajo. Las que en este colectivo tenemos más presentes son las comunidades de Software Libre y de Cultura Libre, ya que con sus esfuerzos, muchas veces contra corriente, logran que más personas tengan acceso a las herramientas tecnológicas y conceptuales que son fundamentales para dar el brinco de consumidor a creador.

El proyecto StereoPacman que coordinamos Esteban y Yo, responde a una necesidad de creación, una simple curiosidad o quizá capricho. Un día platicando le pregunté a Esteban ¿por qué no podemos jugar videojuegos en el cine? colectivos entre todos? Esto me surgió al recordar las sesiones de Mario Kart o Smash Brothers que tenía en la prepa, donde nos juntábamos varios amigos a reventarnos los globos, literalmente (el que entendió entendió). ¿Por qué no llevar esta experiencia de juego colectivo, a una de las experiencias más exrañas de colectividad alienada que es el cine? Ese lugar curioso donde se juntan cientos de personas a tener una experiencia conmovedora o divertida, pero entran y salen sin saber ni importar quien estuvo a su lado y con quien compartieron sentimientos.

Con la motivación de llevar la emoción de la interacción colectiva de los videojuegos a la pantalla grande, comenzamos Esteban y yo a crear, dentro de nuestras posibilidades, un diseño que nos permitiera cumplir este capricho. Comenzamos con un ejemplo casi canónico de los videojuegos, nos propusimos hackear Pacman. La idea del juego es que las personas interactuen y aprovechar el espacio y pantalla de gran tamaño para explorar distintos sonidos y disposiciones.

Dividimos el trabajo de acuerdo a lo que cada quién quería hacer y en lo que era más bueno. Yo comencé investigando como comunicar los celulares y computadoras en red y Esteban en el diseño y modelado 3D del laberinto de videojuego asi como el diseño de audio. Con respecto a la programación decidimos trabajar en UNITY, por su compatibilidad entre plataformas principalmente. Un dato curioso es que UNITY no es software libre, se puede usar una versión gratis y la versión PRO e da más opciones.

Una anécdota curiosa en el contexto de software libre es que mientras investigaba como mandar mensajes OSC entre dispositivos por medio de UNITY encontré un código perfecto que funcionaba muy bien. El problema fue a la hora de exportar el juego a Android me sale el error “No puede usar Sockets de .NET” en la versión gratis de UNITY. Mi*rd@!! Seguimos buscando otras maneras de hacerlo, intentamos con Processing y cuando ya estabamos encontrando camino, a un par de semanas sale la noticia de la nueva versión de UNITY 5.0 donde ya la versión gratis y la PRO pueden hacer lo mismo. Entonces el destino nos solucionó el problema. ¿La moraleja cual es?, ¿debimos usar software libre desde el principio? ¿al que es paciente le llegan las cosas? ¿al que madruga Dios no le ayuda? se los dejo a ustedes para que juzguen.

Una vez resuelta la comunicación entre dispositivos y que teníamos el modelado del mapa 3D y los algunos sonidos, comenzamos a probar el sistema. Fue muy divertido y emocionante poder jugar con cosas que nosotros mismos diseñamos y que involucran varias áreas, música, programación y diseño entre otras. El proyecto no se termina, se hace corte una hora antes del evento.

En la presentación final hubo varios glitchs y pequeños problemas que hacían que el juego fuera extraño, pero le daba un poco de encanto quizá. El público respondió bien y jugaron como siete u ocho personas. Faltan aun muchas cosas por corregir, pero se logró el objetivo. Una de mis partes favoritas es que el público se reía y hablaba, en lugar de estar contempaltivos, participaban verdaderamente, lo cual no se ve muy seguido en una sala ni de cine, ni de concierto. Espero que este proyecto madure y podamos crear nuevas experiencias de colaboración creativa. Al final de cuentas logramos obtener esa satisfacción de llevar a la realidad algo que no existe, surgió de nosotros y obtuvo una reacción social, aunque sea pequeña.

Este proyecto y en general el tiempo que llevo en Armstrong me han servido para colaborar y trabajar en equipo, a lo cual no estaba muy acostumbrado. Creo que la creación colaborativa horizontal (o con una pendiente pequeñita al menos) es el camino para poder transformarnos de consumidores a creadores y una de las mejores formas de contrarrestar el individualismo al que la sociedad nos empuja la mayor parte del tiempo. Les agradezco todas las experiencias, creo que entre todos hemos liberado un poquitito al menos a la memoria de Armstrong.

– Cristian Bañuelos.

P.D.
Aquí les compartimos el código
https://github.com/holomorfo/ArmstrongOSC

Comunidades de creación libre.

El desarrollo de software es un fenómeno de construcción abstracta que tiene apenas medio siglo. Por naturaleza, son obras intangibles y abstractas, sin embargo tienen paralelos muy fuertes con la forma en la que estructuramos nuestros pensamientos. En cierta forma parecería colocarse en la categoría de las obras de arte, ya que de igual manera son una especie de representaciones abstractas de como percibimos nuestro mundo. Sin embargo, el software a diferencia del arte tiene muchas veces una utilidad pragmática inmediata e invaluable que permite optimizar y simplificar procesos repetitivos y tediosos. Esto se traduce en que su uso y consumo más fuerte sea en ambientes de empresas y grandes corporativos, donde la optimización es prioridad, basta con recordar que las primeras aplicaciones de software que se utilizaron en estos ambientes sirvieron para dejar las hojas de cálculo en papel, para llevar su contabilidad de forma digital.

Esta propiedad pragmática del software, es justo la que lo convierte en un bien altamente demandado, por lo tanto comerciado en una sociedad capitalista. Creo que está demás tratar de convencerlos que en este ambiente, si hay una necesidad, habrá alguien que quiera venderlo.

Por otra parte, el desarrollo de software trae consigo fenómenos sociales muy interesantes, y a diferencia del arte, su creación requiere un trabajo colectivo en prácticamente todos los casos. Las empresas pagan a sus desarrolladores como si fueran obreros ensambladores, y una vez que terminan su jornada, la obra resultante no les pertenece. El desarrollador acepta esto, por que sabe que sólo hizo un fragmento pequeñito y no puede atribuirse el crédito total, pero el engaño generalizado viene de que todos y cada uno de esos desarrolladores pusieron un pedacito de esfuerzo y el resultado no le pertenece a nadie, más bien le pertenece a todos. En esta confusión la empresa dice “¡Matanga! me quedo con todo”, obteniendo ganancias multimillonarias que no se comparten equitativamente.

En este sentido, me parece natural que los programadores que deciden tomar la píldora roja (matrix) opten por crear sus propias comunidades de creación, donde nadie tenga un control absoluto para explotar el trabajo de otros con fines personales. Las licencias Creative Commons conforman el marco legal que protegen a estas comunidades de creación.

Bueno, no quiero ser muy rollero, lo que quiero decir es que el fenómeno del software libre me sorprende muchísimo para bien, para mi es la versión geek de las comunas de los grupos hippies. Donde se busca el bien común, sin embargo por las habilidades tecnológicas y pensamiento estructurado se generan nuevos y distintos modos de interacción, donde existe una dicotomía entre lo estructural y lo orgánico. Se apuesta a la idea de que dado un grupo de personas bien intencionadas interactuando libremente, de entre el cáos creativo surgirán obras y proyectos que unan, representen y nos hagan crecer como sociedad.

El software libre me parece un modelo de creación y trabajo que debería seguirse en muchas otras áreas. En nuestro caso, creo que lo hemos adoptado muy bien, ya que en nuestra experiencia Armstronguiana hemos creado piezas, performances y obras que no podrían existir si alguno de nosotros no hubiera aportado su trabajo y creatividad, a su vez. El trabajo en equipo siempre es mejor, y con peligro a verme como el religioso antimoderno del grupo xD, no puedo negar mi infancia de catecismo y me acordé de un versículo que dice “Mejores son dos que uno; porque tienen mejor paga de su trabajo. Porque si cayeren, el uno levantará a su compañero; pero !!ay del solo! que cuando cayere, no habrá segundo que lo levante.” Asi mismo, los grupos de trabajo de software-cultura-música libre crean un ente mayor al individuo, se almienta de la creatividad individual y el resultado es una comunidad que protege y libera de igual manrea.

Para llevar estos proyctos libres y autogestivos al siguente nivel creo que es necesario hacer una mejor repartición del trabajo, sin perder la horizontalidad del proceso. Ya que podrían utilizarse más eficientemente los talentos y creatividad de cada persona para avanzar de forma más eficiente. Esto lo digo por que a veces siento que entre tanta libertad muchas veces se entorpece el avance y los proyectos libres terminan estando atras algunos años con respecto a los privativos. Es una cuestión de aprender a trabajar en comunidad. También me parece que para que estos proyectos en comunidad y autogestivos lleguen a un siguiente nivel donde causen un impacto social mayor, requieren dejar un poco los dogmatismos y aprender a convivir con las áreas grises. Por ejemplo me parece que las comunidades de software libre como el Rancho Electrónico en su intento de obtener una libertad total con respecto al software privativo, pueden llegar a auyentar a personas que están en transición y no están listas para el salto total, ya sea por requierimientos de trabajo, inexperiencia tecnolígica o convicciones personales. De igual manera en la música libre, creo que no debe condenarse a los artistas que decidan no comprartir toda su obra en formatos Creative Commons, creo que es una decisión personal, y que el cambio llegará gradualmente, cuando las personas estén convencidas de que apostar a la comunidad es la mejor opción.

Como un chistesin final, les comparto este fragmento de “Lego Movie”, en una parte llegan a un mundo que bien podría ser un espacio de creación libre autogestivo. Espero que les guste jeje…

En conculsión, estoy muy feliz de ser parte de este grupo, y les agradezco a todos ustedes el tiempo, las pláticas, la música y las experiencias juntos. Sigamos así y liberemos todo lo que se pueda liberar ={D

Un abrazo y pitubeso a todos ustedes.

– Cristian – Holomorfo