Linea y Lineo, un microrelato cartesiano

Un proyecto que, aunque pequeño, me ha costado un puñado de años terminar…  con ustedes:

https://surreal6.github.io/linea-y-lineo/

La pieza es la demo de un proyecto de distribución fílmica libre con p2p, hay una raspberry compartiendo el torrent ;)

https://surreal6.github.io/linea-y-lineo/torrent

https://github.com/AVFLOSS/HOIPOI-Cinema-Boilerplate

poster

H4ckademy: como mejorar tus habilidades como programador

Durante este verano he participado en una actividad muy particular. Una escuela sin profesores, un curso sin curso.

H4ckademy es una experiencia de aprendizaje inmersivo, en la que formas equipo con otros asistentes para desarrollar un proyecto de programación en 9 semanas, aprendiendo por el camino lo que sea que necesites.

El buen hacer de los facilitadores, Israel y Sergio y la apasionada motivación de los participantes hacen el resto. Los facilitadores nos salpican lluvia fina de buenas practicas, metodologías ágiles, frameworks adecuados, etc. Todo esto a base de charlas, micro-talleres, o sesiones de presentación en las que hablamos con todo tipo de profesionales, que se van salteando, a medida que una trouppe de bohemios programadores van haciendo suyo el espacio del aula y convirtiéndolo en sala de recreo-didáctico-creativo. Día tras día.

Pero a la vez, uno se encuentra con que de repente pertenece a una élite de las buenas, de las de ficción. Al arrancar la actividad se pasa a pertenecer al selecto grupo de Alumnii. En la segunda edición eramos los Bohemian Basterd. Los Absurd Apes de la primera edición también están ahí retroalimentando la nube de know-hows que nos inspira día tras día. Somos como las familias de la escuela de Harry potter, pero transgeneracionales, no se como decirlo, en cualquier caso, los h4ckadémicos son fenomenales.

5 semanas después descubres que sabes javascript (que incluso casi ya lo sabias, sin saberlo), que conoces mecánicas, problemáticas y soluciones de carácter profesional sustentadas en herramientas modernas, como es el control de versiones, los tests, la buena semántica, la refactorización, los preprocesadores, los bots, los supereditores, las promesas, lo funcional… que entiendes el universo más allá de lo asíncrono.

Pero eso no es todo. Una de las sorpresas más gratas de la experiencia, y en realidad la única ‘asignatura’ salpicada durante las semanas de actividad, ha sido el curso “Hack your talent” en el que Mónica nos forma en técnicas psicológicas para afrontar retos y solucionar problemas comunicativos. En palabras rápidas: coaching, en palabras lentas, cosas a veces demasiado obvias pero fundamentales, que todos deberíamos aprender a manejar desde pequeños. Y que nos hacen valer de cara a la comunicación.

Finalmente, el espíritu H4ckadémico te embriaga y tus superpoderes son desvelados. Descubres que, como en todo, en esto de la programación también se trabaja mejor en equipo, si sabes como. Compruebas cómo los equipos multidisciplinares son claves en el desarrollo de la creatividad y el conocimiento. Y cómo las dinámicas de grupo y el pasar horas en común, desfaciendo entuertos, genera ese espíritu de trouppe cada vez más necesario en todo. a Desarrollar una app cada vez es más parecido hacer una superproducción.

En mi caso, he aprendido a desarrollar proyectos en javascript, html5 y css3, a través de Angular he explorado las posibilidades de construcción procedural de un sitio web, con p5js, d3 y threejs me he adentrado en otras formas de representación, y desarrollando el proyecto FilmViz, las infinitas posibilidades de las webapps hoy día.

Y por si fuera poco, he conocido a multitud de superheroes del código con los que contar en próximas aventuras!

Todavía estás a tiempo de participar en la siguiente edición, solo hay que rellenar este formulario para solicitar una plaza y alistarse con los Creepy Coconuts

New Kinoraw Addon for Blender VSE

full_panelI’m back with a new addon for the VSE. It’s a new version of the addon Extra Sequencer Actions mixed with JumpToCut, and some other utilities from the kinoraw project (Eco, Audio and Proxy tools)

It’s a compilation of tools but also a new approach to VSE UI. This is not a propossal to change the UI. I’m comfortable with the current configuration of the VSE (tabs on the side panel would be ideal, but not essential)

There is a development version in this git repo:
https://github.com/kinoraw/kinoraw_tools

The latest stable version is in this other repo, along with a copy of some other scripts i use in the VSE:
https://github.com/kinoraw/kinoraw_repo

The documentation (not still completed) is here:
https://github.com/kinoraw/kinoraw_t…ster/README.md

Proxy Tools and Audio Tools are not completely documented because i want to change a few things (ie: to reflect gooseberry news on proxys). Random Editor and glitch panel are very experimental.

Taller de programación con Scratch para niños

 

Scratch es una gran herramienta para introducirse en el mundo de la programación de forma fácil, amena y divertida.

Permite combinar facilmente gráficos, fotos, música y sonido dentro de creaciones interactivas, animaciones y videojuegos.

Es un lenguaje de programación gráfico mucho más fácil e intuitivo de usar que los lenguajes clásicos de programación.

Para crear un script simplemente encajas bloques gráficos entre sí, muy parecidos a los ladrillos de lego o las piezas de un puzzle.

 

Una vez creado tu proyecto puede ser compartido en la web, a la vez que puedes descargar y examinar otros proyectos para conseguir nuevos resultados.

Web oficial: http://scratch.mit.edu/

A medida que los jóvenes crean y comparten proyectos realizados en Scratch, aprenden importantes ideas matemáticas y computacionales; al mismo tiempo que aprenden a pensar creativamente, a razonar sistemáticamente y a trabajar colaborativamente.

Scratch se puede usar en diferentes entornos: instituciones educativas, museos, centros comunitarios y hogares. Esta pensado especialmente para personas entre los 8 y los 16 años, pero niños más jóvenes pueden trabajar proyectos en Scratch con sus padre o hermanos mayores; además, estudiantes de educación superior lo utilizan en algunas de sus clases de introducción a Ciencias de la Computación.

Actualmente estamos promoviendo un Taller de Introducción a Scratch en centros civicos y colegios de Barcelona. Si estas interesado o conoces a alguien que lo pueda estar, puedes descargar el dossier en pdf que hemos preparado (abajo) y ponerte en contacto con nosotros.

Pulsa la bandera verde para comenzar. (AVISO: en algunos navegadores puede no funcionar)

Guido van Robot

Guido es un pequeño robot triangular que habita en una cuadricula.

Guido solo sabe hacer cuatro cosas, moverse hacia delante, girar a la izquierda, recoger beepers y soltar beepers.

Partiendo de estas cuatro instrucciones podemos enseñar a guido a girarse a la derecha, a salir de un laberinto, a moverse por el mundo buscando beepers…

Guido van Robot, o simplemente GvR, es un lenguaje de programación y una aplicación de software libre diseñada para introducir a los principiantes a los fundamentos de la programación. GvR corre en Windows, Macintosh, y Unix/Linux, en varios idiomas! Es tan bueno en el salón de clases como en las casas parar introducir a las personas a los conceptos básicos de la programación…

En su web http://gvr.sourceforge.net/esp/  podemos descargar el programa y las 18 lecciones con las que enseñarle a aprender mientras aprendemos a programar.

 

Instalacion en ubuntu:

Instalar Python y PyGTK según distribución y descargar y descomprimir el paquete siguiente en una carpeta:

http://sourceforge.net/projects/gvr/files/GvR%20GTK/4.4/GvRng_4.4.tgz/download

Ejecutalo con: python gvrng.py

 

Instalación en windows:

descarga de aquí el fichero GvRng-4.4_win32.exe, y como tal, ejecutalo. Despues solo hay que seguir las instrucciones…

http://sourceforge.net/projects/gvr/files/GvR%20GTK/4.4/GvRng-4.4_win32.exe/download

 

 

Processing js

Una pequeña prueba del nuevo Processing.js: Ejecutando processing en el navegador sin necesidad de instalar extensiones.

Bueno, si visitas esta web desde el navegador de Microsoft, Internet Explorer, es posible que no te funcione.

(Recuerda que Microsoft no suele respetar los estandares de diseño web.) De todos modos, el fantástico Tonisan esta en ello

bueno, este post es un poco antiguo, me temo que ya no funciona…

Mueve el ratón por el recuadro para ver los Circulos Locos en Acción

void setup() {

size(500,500);

noStroke();

smooth();

}

void draw() {

fill(255,20);

rect(0,0,500,500);

int radius = mouseX;

for (int deg = 0; deg < 360; deg +=12) {

float angle = radians(deg)+mouseY/5;

float x = 250 + cos(angle)*radius;

float y = 250 + sin(angle)*radius;

fill(0);

ellipse(x,y,6,6);

}

}

Un script para crear grupos de letras o palabras en Blender

Este es un sencillo script para automatizar la creación de grupos de letras, o palabras, en Blender 2.5.4.

Abre un area de edicion de textos en Blender, pega el codigo y ejecutalo (boton Run Script)

Ahi va un tutorial mudo y bastante simplon sobre como empezar…

 

El script creara un grupo de objetos del tipo Text.curve con las palabras deseadas.

 

#----------------------------------------------------------# File abc.py

#———————————————————-

import bpy

import math

from math import pi

def run(origin,text):

# Create and name TextCurve object

bpy.ops.object.text_add(

location=origin,

rotation=(pi/2,0,pi))

ob = bpy.context.object

ob.name = “tcuText”

tcu = ob.data

tcu.name = ‘tcuData’

# TextCurve attributes

tcu.body = text

tcu.font = bpy.data.fonts[0]

tcu.offset_x = 0

tcu.offset_y = 0

tcu.shear = 0

tcu.space_character = 1

tcu.size = 3

tcu.space_word = 0

# Inherited Curve attributes

tcu.extrude = 0

#tcu.back = Truea

def abecedario():

text=” a b c d e f g h i j k l m n o p q r s t u v w x y z ”

text=text+text.swapcase()+” 0 1 2 3 4 5 6 7 8 9″

text=text.split()

return text

def hacergrupo():

bpy.ops.object.select_all()

bpy.ops.object.select_all()

bpy.ops.object.group_add()

bpy.ops.group.objects_add_active()

if __name__ == “__main__”:

text=abecedario()

for i in text:

run((0,0,0),i)

hacergrupo()

La funcion run la encontré bien documentada en “Code Snippets…” que ThomasL publico en blender artists http://blenderartists.org/forum/showthread.php?t=193908 . De todos modos algunas cosas han cambiado en la API de Blender desde entonces. Mi script por ahora funciona en Blender 2.5.4 r32330

Las otras dos funciones son bien sencillas. La primera crea una cadena con las letras, y luego se anade las mismas letras en mayusculas, a traves del metodo swapcase(), y los numeros.

text.split() devuelve una lista con los elementos separados por elementos en blanco. Si en text incorporamos un parrafo de un libro, obtendremos todas las palabras del parrafo separadas.

Una vez ejecutado la funcion run para todos los elementos de text, habremos creado otros tantos objetos en blender con otras tantas text.curve enlazadas, cada una con la cadena que corresponda.

La funcion makegroup() selecciona todos los objetos.

Aqui el operador bpy.ops.object.select_all()funciona como si pulsasemos A en el visor3D, deselecciona y selecciona todo alternativamente) crea un grupo nuevo y añade los elementos activos al grupo. Los operadores a veces son muy sencillos de usar, pero a veces se vuelven un autentico infierno :P

 

Descarga aquí el fichero: acb.py