Fork me on GitHub

Posts in tag `Software Libre'

Minirobots finalista del concurso Premio a la Educación 2017

December 22, 2017

Con Minirobots nos presentamos al Concurso Premio a la Educación que organizan Clarín y Zurich, y sobre un total de 185 proyectos presentados, quedamos seleccionados entre los 10 primeros.

El proyecto que presentamos fue una propuesta para capacitar a los docentes de la Escuela Nacional Ernesto Sábato de Tandil. El objetivo final de este proyecto es generar contenido didáctico en formato libre para enseñar a los alumnos a programar un robot usando Python.

La entrega de premios fue el 21 de diciembre y, si bien no logramos ganar ninguno, fue un paso importante para nosotros porque valida el trabajo que venimos haciendo y nos motiva a continuar.

Minirobots Python Software Libre Trabajos

Minirobots gamepad

October 17, 2017

Tenía unos pulsadores tipo arcade y se me ocurrió experimentar haciendo un gamepad gigante para controlar el robot que estamos haciendo en Minirobots. La idea de esto es explorar posibles juegos para los más chiquitos.

El pad tiene un Arduino Nano con un código muy simple y se conecta a la notebook por usb. Ahí hay un pequeño servidor Flask que escucha lo que le llega por serie y le envía comandos vía bluetooth al robot.

Arduino Minirobots Python Software Libre Trabajos Video

Minirobots

July 14, 2017

Hace más de un año arranqué con el proyecto minirobots cuyo fin es ayudar a los más chicos en sus primeros pasos con la programación. A finales del año pasado logré reunir un grupo de entusiastas para llevar esta aventura a un próximo nivel. Fue así que nos presentamos en el Fondo Semilla con este video y mucho papeleo extra. Finalmente resultamos ganadores y ahora nos encontramos en pleno desarrollo de un modelo que sea apto para llegar a los hogares.

El equipo está formado por seis personas

  • Arturo Gasca - Diseñador visual
  • Luciano Fortain - Diseñador de interfaces
  • Juan Caivano (pulpo) - DevOps
  • Emilce Bartoli - Análisis del impacto social
  • Juan Ignacio Alterio - Programación UI
  • Leo Vidarte - Programación firmware y backend

El prototipo con el que nos presentamos es un robotito que se programa visualmente en Logo, un lenguaje que fue creado para enseñar los conceptos básicos de la programación y con el cual se pueden repasar y reforzar conceptos de geometría, ya que se trata de programar la tortuga (así se llama el cursor que dibuja en Logo) para dibuje distintas figuras geométricas. En el siguiente video se puede ver cómo dibuja una estrella.

Más info en

Minirobots Software Libre Trabajos Video

Guardando mis comandos con Lai

September 1, 2015

Hace un par de años hice Lai, un programa para mantener un registro de aquellos comandos, snippets o notas que necesito tener a mano en la consola en cualquier computadora que uso. La instalación era un poco difícil hasta que se me ocurrió hacer una imagen con Docker. Ahora solo hay que crear una cuenta en lai.nerdlabs.com.ar y agregar este alias al inicio de la sesión

alias lai='docker run -it \
           --env USER= \
           --env KEY_NAME= \
           -v ~/.ssh/id_rsa:/root/.ssh/id_rsa \
           -v ~/var/lai:/app/data \
           --rm=true \
           lvidarte/lai python lai/app.py'

Lai utiliza el esquema cliente-servidor. En cada máquina hay que instalar un cliente que sincronizará contra el server. Para la comunicación se usa clave pública-privada. La clave pública hay que subirla al server y definirle un nombre o KEY_NAME para poder identificarla ya que es posible tener más de una. El USER es el mail de la cuenta de Google, que es el único modo de autenticación soportado.

Modo de uso

usage: lai [-h] [-v] {search,add,get,edit,editor,delete,sync,copy,status} ...

Cada comando tiene su ayuda

$ lai <command> --help

Para agregar algo

$ lai add 'grep -R <pattern> --include \*.txt <dir>'

También puedo poner una descripción

$ lai add 'tmux Prefix [' -d 'switch to copy mode'

El comando por defecto es search así que la búsqueda se reduce a

$ lai grep
1: grep -R <pattern> --include \*.txt <dir>

Puedo compartir cosas con otros usuarios haciéndolas públicas

$ lai edit 1 --public

Esto permite buscar entre lo público del server (y que no compartí yo)

$ lai search --server grep vim
55e477d48c4f21481fcd3cea: vim -d files #diff files with vim

Y copiarme aquello que quiera

$ lai copy --server 55e477d48c4f21481fcd3cea

Finalmente para sincronizar

$ lai sync

Docker Python Software Libre Trabajos

Filmstrip - html5 video preview

November 3, 2013

En OpCode estamos haciendo Filmstrip, un widget para previsualizar videos en html5. Para mejor performance se utilizan videos convertidos a 320x180px, a 1 frame/s y sin audio. Esto se logra con ffmpeg:

ffmpeg -i original_video.mkv -s 320x180 \
       -vcodec libx264 -an -r 1 filmstrip_video.mp4

El siguiente video deja ver el funcionamiento principal de filmstrip: mostrar frames de un video para tener una panomámica del mismo.

El ejemplo del video podés probarlo online acá.

En este otro puede verse otra de las funciones de filmstrip: capturar un frame a un segundo determinado y devolver una imagen al tamaño real del video.

Aquí puede verse un ejemplo básico de uso

#html
<canvas id="filmstrip"></canvas>

#script
var model = {src: 'sita.ogv'};

var fs = new Filmstrip(model, {
    width: 120,
    height: 600,
    bgColor: '#333',
    drawBackground: true,
    drawHoles: true,
    holesColor: '#222',
    holesDispersion: .7,
    bandsPadding: 20,
    autoOrientation: true,
    strechOnResize: true,
});

fs.on('draw:finished', function() {
    this.drawCanvas($('#filmstrip'));
 });

Este proyecto es parte del proyecto Malbec Broadcast desarrollado por la Cooperativa OpCode y como todos sus proyectos tiene licencia AGPL v3.

El código en github: https://github.com/inaes-tic/filmstrip

Javascript Software Libre Trabajos Video html5 opcode

Dependencias para compilar Ardour3

March 17, 2013

La versión 3 de Ardour no se distribuye gratuitamente en binario, pero sigue siendo software libre y entonces podés bajarte el código fuente y compilarlo vos mismo.

Ardour3

Ardour3 es un programa grande y tiene bastantes dependencias. La compilación para Linux está explicada aquí pero no está bien detallado qué dependencias necesitás. Así que acá dejo la lista de paquetes que necesité en Ubuntu Studio 12.04.

Los siguientes los instalás mediante apt

apt-get install build-essential \
libx11-dev \
libxrender-dev \
libcairo2-dev \
libjack-dev \
libboost-dev \
libglibmm-2.4-dev \
libsndfile1-dev \
libcurl4-gnutls-dev \
libxml2-dev \
uuid-dev \
libfftw3-dev \
libaubio-dev \
liblrdf0-dev \
libsamplerate0-dev \
libgtkmm-2.4-dev \
libasound2-dev \
libgnomecanvas2-dev \
libgnomecanvasmm-2.6-dev

Algunas dependencias no están en los repositorios y hay que bajarlas y compilarlas a mano, pero son paquetes chicos y es muy fácil hacerlo, según explican aquí. Esto es lo que tenés que bajarte

Luego con cada archivo descomprimís, entrás al dir generado y ejecutás

./waf configure && ./waf build && sudo ./waf install

Listo, eso fue todo lo que tuve que instalar para compilar Ardour3. Por defecto ardour3 se instala en /usr/local, así que no pisa tu versión 2 instalada desde el repositorio.

Audio Debian Software Libre

Larga vida a Raspbmc

February 7, 2013

Raspbmc es una distro mínima basada en Debian que mediante XBMC convierte a tu Raspberry Pi en un completo media center. Y como no deja de ser un Debian podés instalarle lo que quieras. Un dato curioso es que está hecho por un estudiante de Londres que tiene 18 años (!) Sam Nazarko.

Raspbmc Logo

La instalación es sencilla, del tipo live install. Copiás una imagen mínima a tu SD y luego booteás con la Raspberry conectada con un cable de red. El resto de la instalación se hace desde ahí.

Conecté la Raspberry a un Samsung D5500 y levantó a 1920x1080. El funcionamiento es bastante fluído, se deja usar muy bien. Y me sorprendí al ver que podía manejar XBMC con el mismo control remoto de la tele, buenísimo. Y también existe un control remoto para Android.

Debian Raspberry Software Libre

Visor de imágenes minimalista

January 11, 2013

Hace un par de años hice un visor de imágenes con Python y GTK que se llama vimg. Su característica principal es que carece de botones y se maneja con el teclado solamente. Ideal para los que usan mucho la consola.

Se puede ejecutar de varias maneras:

$ vimg               # imágenes del directorio actual
$ vimg *.png         # sólo las .png
$ vimg dir           # imágenes del directorio dir
$ vimg -r            # recursivo del directorio actual
$ vimg -r dir        # recursivo del directorio dir

Siempre que la resolución del monitor lo permita las imágenes se muestran al 100%. Cuando no, se reducen para que puedas verlas completas. En todos los casos se muestra el porcentaje de zoom en la barra de títulos.

vimg mostrando una imágen al 100%

Read more »

Python Software Libre

Colorear diffs

October 24, 2012

Los diff coloreados son más fáciles de leer. Por suerte hay varias opciones para esto. En Debian existe el paquete colordiff. La forma de uso es simple

$ diff archivo1 archivo2 | colordiff

Si querés paginar tenés que usar less

$ diff archivo1 archivo2 | colordiff | less -R

También podés hacer tu propia versión de colordiff usando Pygments. Simplemente instalá el paquete python-pygments y creá la siguiente función en Bash:

colordiff () 
{ 
    cat - | pygmentize -l diff | less -R
}

Guardá la función en el .bashrc para que esté disponible en cada sesión. El uso es similar al comando colordiff

$ svn diff | colordiff

Otro método para colorear diffs es usar Vim

$ svn diff | view -

Y así para ver diffs en dos columnas

$ view -d archivo1 archivo2

GNU/Linux Software Libre

Older | Newer →