October 1st, 2011 | Categories: Foto / Video, Proyectos, Tecnología | Tags: , , , ,

A modo de actualización del post anterior sobre cómo embeber videos de YouTube directamente parseando los links de una página, sumamos ahora la posibilidad de auto-embeber videos de Vimeo.

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript">
function embedYouTubeVideo(strId) {
    var result = '<div class="embedded_video">\n';
    result += '<object width="640" height="390">\n';
    result += '<param name="movie" value="http://www.youtube.com/v/'+strId+'&hl=en_US&feature=player_embedded&version=3"></param>\n';
    result += '<param name="allowFullScreen" value="true"></param>\n';
    result += '<param name="allowScriptAccess" value="always"></param>\n';
    result += '<embed src="http://www.youtube.com/v/'+strId+'&hl=en_US&feature=player_embedded&version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></embed>\n';
    result += '</object>\n';
    result += '</div>\n';
    return result;
}

function embedVimeo(strId) {
    var result = '<iframe src="http://player.vimeo.com/video/'+strId+'?portrait=0" width="640" height="390" frameborder="0" webkitAllowFullScreen allowFullScreen></iframe>\n';
    return result;
}

$(function() {
    $('a[class=bbc_link]').each(function(){
        url = $(this).attr('href');
        // YouTube
        matches = url.match(/^http:\/\/(?:www\.)?youtube.com\/watch\?(?=.*v=([\w\-_]+))(?:\S+)?$/i);
        if( matches ) { $(this).replaceWith(embedYouTubeVideo(matches[1])); }
        matches = url.match(/^http:\/\/youtu.be\/([\w\-_]+)$/i);
        if( matches ) { $(this).replaceWith(embedYouTubeVideo(matches[1])); }
        // Vimeo
        matches = url.match(/^http:\/\/vimeo.com\/([\d]+)(?:\S+)?$/i);
        if( matches ) { $(this).replaceWith(embedVimeo(matches[1])); }
    });
});
</script>
0 comments (95 views)
September 26th, 2011 | Categories: Día a día, Foto / Video, Tecnología | Tags: , ,

He aquí un script que he desarrollado para facilitar la aplicación de marcas de agua en fotos, por ejemplo para postear en blogs u otros sitios.

Primero que nada, debemos tener una instalación actualizada de ImageMagick. En el sitio oficial se encuentran las instrucciones para instalarlo: http://www.imagemagick.org/script/binary-releases.php#macosx.

Luego copiamos el siguiente script en algún lugar dentro de nuestro filesystem. Por ejemplo en /usr/local/bin.

#!/usr/bin/env bash

# Source picture
FF=$1
FW=`identify -format %w ${FF}`;
FH=`identify -format %h ${FF}`;

# Watermark (must be a transparent background GIF or PNG)
WF=/path/to/watermark.png
GEO=+10+10
WXM=20
WW=`identify -format %w ${WF}`;
WH=`identify -format %h ${WF}`;

# Resizing watermark to 25% of source picture's shortest side
MX=$FH
if [ $FH -gt $FW ]; then
    MX=$FW
fi
WX=$[ $[ $[ $MX * 25 ] / 100 ] - ${WXM} ]

# Output filename
OF=`echo "${FF}" | sed -e 's,\.jpg$,-WM\.jpg,g'`

# Watermarking...
composite \
    \( ${WF} -resize ${WX} \) \
    ${FF} \
    -geometry ${GEO} \
    -gravity southeast \
    ${OF}

exit 0

Para ejecutarlo, simplemente se invoca de la siguiente forma:

user@macbook:$ /path/to/watermark.sh /path/to/source/image.jpg
1 comment (119 views)
July 11th, 2011 | Categories: Día a día, Tecnología | Tags: , , , ,

Buscando varias alternativas para generar rápidamente contraseñas copadas, y realimentándome de varias fuentes, terminé eligiendo y adaptando un script ligeramente para generar varias contraseñas por parámetro. A continuación el script:

#!/usr/bin/env python
"""
A simple script for making random passwords, WITHOUT 1,l,O,0.  Because
those characters are hard to tell the difference between in some fonts.
"""

#Import Modules
import sys
from random import Random

rng = Random()

righthand = '23456qwertasdfgzxcvbQWERTASDFGZXCVB'
lefthand = '789yuiophjknmYUIPHJKLNM'
allchars = righthand + lefthand
alternate_hands = True

try:
    passwordLength = int(sys.argv[1])
except:
    #user didn't specify a length.  that's ok, just use 8
    passwordLength = 16

try:
    passwordQty = int(sys.argv[2])
except:
    #user didn't specify a length.  that's ok, just use 8
    passwordQty = 1

for q in range(passwordQty):
    for i in range(passwordLength):
        if not alternate_hands:
            sys.stdout.write( rng.choice(allchars) )
        else:
            if i%2:
                sys.stdout.write( rng.choice(lefthand) )
            else:
                sys.stdout.write( rng.choice(righthand) )

    sys.stdout.write( "\n" )

Para ejecutar, simplemente se debe ejecutar de la siguiente forma (suponiendo que se guarda den tro de $PATH con el nombre “passgen”:

user@unixbox:$ passgen [longitud] [cantidad]
0 comments (179 views)
June 15th, 2011 | Categories: Foto / Video, Proyectos, Tecnología | Tags: , , , ,

Usando jQuery podemos convertir automáticamente los links de un foro que apuntan a YouTube en videos embebidos. Les comparto el resultado de lo que tuve que hacer para un foro.

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/ui-lightness/jquery-ui.css" type="text/css" />
<script type="text/javascript"> 

function embedYouTubeVideo(strId) {
    var result = '<div class="embedded_video">\n';
    result += '<object width="640" height="390">\n';
    result += '<param name="movie" value="http://www.youtube.com/v/'+strId+'&hl=en_US&feature=player_embedded&version=3"></param>\n';
    result += '<param name="allowFullScreen" value="true"></param>\n';
    result += '<param name="allowScriptAccess" value="always"></param>\n';
    result += '<embed src="http://www.youtube.com/v/'+strId+'&hl=en_US&feature=player_embedded&version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></embed>\n';
    result += '</object>\n';
    result += '</div>\n';
    return result;
}

$(function() {
    $('a[class=bbc_link]').each(function(){
        url = $(this).attr('href');
        matches = url.match(/^http:\/\/(?:www\.)?youtube.com\/watch\?(?=.*v=([\w\-_]+))(?:\S+)?$/i);
        if( matches ) { $(this).replaceWith(embedYouTubeVideo(matches[1])); }
        matches = url.match(/^http:\/\/youtu.be\/([\w\-_]+)$/i);
        if( matches ) { $(this).replaceWith(embedYouTubeVideo(matches[1])); }
    });
});
</script>
0 comments (253 views)
May 15th, 2011 | Categories: Boludeces, Día a día, Foto / Video, Personal, Tecnología | Tags: ,

Impresionado por los videos de tipo “time lapse” que vengo viendo en YouTube desde hace tiempo, he decidido armar un precario (pero útil) script para confeccionar un video a partir de muchas fotos secuenciales, en Mac OS X, usando FFmpeg y sips para “acomodar” las fotos a un mismo tamaño.

Para que funcione el script, se debe uno posicionar en la carpeta en la que se tenga al menos 1 foto JPG, y ejecutar el script.

#!/usr/bin/env bash

DIR=`pwd -P`
W=720
H=$[ $[ $W * 2 ] / 3 ]
BITRATE=$[ $[ $W * $H ] / 64 ]
FPS=$1
FFMPEG=`which ffmpeg`

# Defaults
if [ "X$FPS" == "X" ]; then
    FPS=24
fi

I=1
for FILE in `ls -C1 ${DIR}/*.jpg`; do
    NEW_FILE=`printf "TL-%05d.jpg" "$I"`
    sips --resampleHeight ${H} ${FILE} --out ${NEW_FILE}.tmp.jpg
    sips --padToHeightWidth ${H} ${W} ${NEW_FILE}.tmp.jpg --out ${NEW_FILE}
    rm -f ${NEW_FILE}.tmp.jpg
    I=$[ $I + 1 ]
done

${FFMPEG} -r ${FPS} -b ${BITRATE} -i TL-%05d.jpg \
    -s ${W}x${H} \
    ${DIR}/timelapse-`date "+%Y%m%d-%H%M%S"`-${W}x${H}.mp4 

rm -rf TL-?????.jpg 

exit 0
1 comment (265 views)
January 5th, 2011 | Categories: Fierros, Foto / Video | Tags:
0 comments (175 views)
January 1st, 2011 | Categories: Día a día, Personal | Tags:

Y sí,… se fue el 2010, el año del mundial, el año del Bicentenario, un año de viajes a lugares conocidos y a lugares nuevos, un año triste, un año bueno, un año excelente, todo junto en un mismo año.

Arranca el 2011, nuevamente con el Dakar abriendo el año, nuevamente con un calor de la hostia!… feliz y contento por el nuevo año que despierta, con muchas promesas, muchas aventuras pendientes, y nuevos caminos por emprender.

Feliz año nuevo!!!

0 comments (214 views)
November 12th, 2010 | Categories: Fiestas y Salidas, Foto / Video, Publicidad | Tags:

Una nueva promo de Cerveza Andres… simplemente GENIAL!!!

Luego del Teletransporter, lo más copado que he visto en el contexto de bares y salidas.

YouTube Preview Image YouTube Preview Image YouTube Preview Image YouTube Preview Image
2 comments (453 views)
November 10th, 2010 | Categories: Fierros, Foto / Video | Tags:

Estuve el domingo en el Galvez viendo los 200 Km. de Bueno Aires. Repartieron muchísimas entradas gratuitas y con eso llenaron el autódromo. Hay alguna otra forma de llenarlo con el TC2000? :P

Acá van las fotos:

20101107-110608-0-LR20101107-110724-0-LR20101107-111813-0-LR20101107-121947-0-LR20101107-121952-0-LR20101107-121954-0-LR20101107-122004-0-LR20101107-122005-0-LR20101107-122010-0-LR20101107-122047-0-LR20101107-122052-0-LR20101107-122148-0-LR20101107-122227-0-LR20101107-122415-0-LR20101107-125201-0-LR20101107-125204-0-LR20101107-125220-0-LR20101107-125237-0-LR20101107-125240-0-LR20101107-125542-0-LR20101107-125717-0-LR20101107-125855-0-LR20101107-125857-0-LR20101107-125857-1-LR20101107-125858-0-LR20101107-125904-0-LR20101107-125907-0-LR20101107-130251-0-LR20101107-130252-0-LR20101107-130402-0-LR20101107-130554-0-LR20101107-130554-1-LR20101107-130556-0-LR20101107-130557-0-LR20101107-130956-0-LR20101107-131420-1-LR20101107-131420-0-LR20101107-131620-0-LR20101107-133957-0-LR20101107-134415-0-LR20101107-134529-0-LR20101107-134559-0-LR20101107-134901-0-LR

1 comment (302 views)
October 4th, 2010 | Categories: Día a día, Personal, Tecnología | Tags:

Hace tiempo que la vengo notando un poco escasa de recursos y cada vez que laburaba con muchas aplicaciones abiertas se empezaba a quedar sin memoria RAM, por lo que decidí mimarla un poco y hacerle up upgrade, llevándola a 4GB de RAM :-)

MacBook 4.1 @ 4GB RAM

0 comments (251 views)
Página 1 de 1812345...10...Última »
TOP