|
|
|
|
Technology, Java, thoughts and projects of Coffman, host of wickle dot com. feel free to make comments.
|
|
Esto de la paternidad resta mucho tiempo para escribir en el blog, así que lo breve si bueno dos veces bueno.
 El problema que pretendo suprimir con este artículo es que todas esas peliculas que tenemos en el Disco Duro las podamos pasar a la PSP para poder disfrutar de ellas en cualquier momento. La PSP es una excelente consola para jugar y ver peliculas, hace poco he descubierto que llevar la PSP con los capitulos grabados de Mickey Mouse puede salvar una cena fuera de casa ;)
El formato empleado por la PSP para las peliculas es MPEG4, con lo que tenemos que transformarlas del formato que tengamos a este. Voy a suponer que las tenemos en formato AVI.
Necesitaremos el ffmpeg (viene de serie con cualquier linux) y también las librerias para el codec mpeg4 y libfaac que se obtienen con el paquete libavcodec-unstripped-52 para Ubuntu 9.04.
Para ripear la pelicula debemos ejecutar:
ffmpeg -y -i MickeyMouse.avi -vcodec mpeg4 -s 368x208 -r 29.97 -b 300k -acodec libfaac -ac 2 -ar 24000 -ab 128k -f psp M4V00001C.MP4
Los parametros mas relevantes significan lo siguiente:
- -s: resolución de la pelicula resultante (formato wxh, el valor por defecto es 160x128)
- -r: frames por segundo (25 es el valor por defecto)
- -b: Video bitrate en bit/s (por defecto 200 kb/s) Este valor se puede tunear mejor en función de la pelicula pues el tamaño de la pelicula resultante varía mucho.
Esto tarda un ratillo y luego solo tenemos que copiar el resultado al directorio VIDEO de la PSP.
Testeado con: Ubuntu 9.04
Referencias
by coffman - 23:06:44
|
|
|
Este artículo trata de explicar como conseguir que 2 instancias del navegador firefox se ejecuten a la vez cada una de ellas con sus propias preferencias, extensiones, etc ... Esto es útil para probar paginas con distintas versiones del navegador o para "logearte" 2 veces en una misma web con usuarios distintos.
Para conseguir esto debemos crear tantos "profiles" como creamos convenientes, cada uno de ellos nos permitirá abrir una instancia del navegador distinta sin que se toque con cualquiera de las otras. Yo tengo credas las siguientes:
- default, el profile que trae por defecto firefox
- dev, es donde tengo el navegador de pruebas de desarrollo
- firefox3, es el profile que uso para lanzar la nueva versión de firefox
Creamos un nuevo profile
En esta página hay instrucciones precisas de como crear profiles en firefox, pero basicamente se reduce a ejecutar lo siguiente:
firefox -profilemanager -no-remote
este comando nos abre una interface gráfica para crear o eliminar las profiles que consideremos necesarias.
Ejecutando el navegador con una profile o con otra
Para ejecutar el firefox con una profile u otra tendremos que cambiar o crear el script que usamos para lanzar el firefox, indicandole en la linea de comandos que use uno u otro profile pues sino le indicamos nada emplea el profile "default" :
firefox -no-remote -P "dev"
Y si ejecutamos:
firefox3 -no-remote -P "firefox3"
lanzamos otra instancia del firefox (en este caso otra version distinta) que no comparte nada con la sesión anterior.
Referencias
http://blogs.cozi.com/tech/2008/04/multiple-firefo.html
by coffman - 16:05:12
|
|
|
Desde hace algún tiempo uso Mac OS X con frecuencia y suelo trabajar en multiples localizaciones (Oficina, Casa, Clientes, ...) cada uno de ellos tiene sus propias configuraciones de red (DHCP en Oficina, Wifi en casa, Manual en algún cliente ,...). Esto se resuelve facilmente en el Mac OS X con las ubicaciones con las que te permite cambiar las propiedades de red con un solo click.
Sin embargo hay una propiedad del sistema, la configuración del proxy, a la que el Firefox no le hace ni caso, éste usa su propia configuración de proxy con lo que al cambiar de ubicación tienes que acordarte de cambiar manualmente las preferencias de red en la configuración del navegador.
Casualmente acabo de encontrar la extensión System proxy para Firefox y Thunderbird que hace que se lean las configuraciones de proxy de las del Sistema Operativo. Increiblemente útil
La página de la extensión es ésta. Lo podeis descargar en la página anterior.
by coffman - 11:53:08
|
|
|
El tortoiseSVN es un programa para Windows que añade acciones relativas al Subversion al menú contextual, por ejemplo "SVN Commit" ó "SVN Update", de modo que para realizar un Update o un Commit unicamente seleccionamos la carpeta o el archivo , botón derecho y ejecutamos ... Extremadamente sencillo !!! Me encanta ;) Hasta ahora este era un privilegio de los usuarios de Windows, hace poco he descubierto como implementar esto mismo en Linux, necesitaremos el zenity (para los dialogos), el nautilus-actions (que se instala mediante apt-get fácilmente) y los 2 scripts que anexo (obtenidos de nautilus-scripts) y los 2 iconos que anexo (sacados del tema tango-blue-materia) La idea es crear 2 acciones nuevas dentro del menu contextual, para ello ejecutamos el nautilus-action-config y creamos las nuevas acciones con las siguientes propiedades: ======================= SVN Commit Icon: /home/vic/fondos/iconos/edit-redo.png Path: /home/vic/.scripts/Subversion/Commit Parameters: %d/%m File Pattern: * Folders/Files: Both Multiple: unchecked =======================
======================= SVN Update Icon: /home/vic/fondos/iconos/edit-undo.png Path: /home/vic/.scripts/Subversion/Update Parameters: %d/%m File Pattern: * Folders/Files: Both Multiple: checked =======================
Creamos los siguientes scripts: /home/vic/.scripts/Subversion/Commit :
#!/bin/sh # # Distributed under the terms of GNU GPL version 2 # # http://marius.scurtescu.com/?p=102LOGFILE=`mktemp -t svn_commit.XXXXXX` ICONPATH="`dirname $0`/svn.xpm" LOGMESSAGE=`zenity --entry --title="Subversion: Commit" --text="Enter log message:" --width=400 --window-icon="$ICONPATH" 2>&1` if [ $? -eq 0 ] ; then svn commit -m "$LOGMESSAGE" "$@" > $LOGFILE cat $LOGFILE | zenity --text-info --title="Subversion: Commit" --width=600 --height=400 --window-icon="`dirname $0`/svn.xpm" rm -f $LOGFILE fi
y el scripts para el Update /home/vic/.scripts/Subversion/Update :
#!/bin/sh # # Distributed under the terms of GNU GPL version 2 # # http://marius.scurtescu.com/?p=102LOGFILE=`mktemp -t svn_update.XXXXXX` svn update "$@" > $LOGFILE #zenity --text-info --title="Subversion: Update" --filename=$LOGFILE --width=600 --height=400 --window-icon="`dirname $0`/svn.xpm" # Se sustituye la linea de arriba (que es la original) por la de abajo para evitar el error que da con las locales cat $LOGFILE | zenity --text-info --title="Subversion: Update" --width=600 --height=400 --window-icon="`dirname $0`/svn.xpm" rm -f $LOGFILE
Este es el resultado final:
Implementar el resto de acciones del Subversion es sencillo, lo dejo a vuestra imaginación ;) Referencias:
by coffman - 13:01:11
|
|
|
Un error común que nos asalta siempre que estamos iniciando un documento desde OpenOffice es que bajo determinadas cirsunstancias, los encabezados de los varios niveles del documento se desmadran en cuanto a la numeración que tienen asignados. Esto se debe a un incorrecto uso del sistema de estilos de OpenOffice, que por otro lado puede resultar confuso a los usuarios que provienen de Microsoft Word. El método correcto para empezar a crear un documento que consta de Encabezados de varios niveles puede ser el siguiente:
Escribimos un pequeño esquema de como sería el documento, por ejemplo:
Introducción Descripción Alcance Situacion actual Area Sistemas Documentos Area Marketing Documentos Requisitos de un SGD Requisitos Básicos Requisitos Legales Requisitos Funcionales
Esto contendría una estructura básica, ahora tenemos que aplicar estilos a cada linea, para ello:
- Seleccionamos Introducción y aplicamos "Encabezado 1" ,
- Seleccionamos Descripción y aplicamos "Encabezado 2",
- Seleccionamos Alcance y aplicamos "Encabezado 2",
- Seleccionamos Situación Actual y aplicamos "Encabezado 1",
- Y así con el resto ...
Ahora tenemos aplicados estilos, pero sin numeración, para lo cual seleccionamos una linea de Tipo "Encabezado 1" y Activamos la Numeración (con el botón de Numbering On/Off de la toolbar). Esto mismo lo repetimos para todos los encabezados a los que queramos aplicar numeración. Nos debería quedar algo así:
A partir de aquí, podemos continuar escribiendo el documento con normalidad simplemente aplicado estilos "Encabezado x", en función del nivel que queramos.
by coffman - 11:56:54
|
|
|
Antes era imprescindible poder colgar las fotos en el blog, pero ahora estamos en la era el video, con lo que se hace necesario algun mecanismo para colgar nuestros videos caseros en nuestro blog.
La manera habitual es recurrir a Google Video o a YouTube que almacenan nuestro video y lo muestran con un visor flash que es agradable a la vista y permite cargar el video poco a poco sin necesidad de esperar a que baje el video entero (streaming de video).
Hacer esto por nosotros mismos en nuestro propio blog es cosa sencilla. Veamos como hacerlo ...
Qué necesitamos
- Video en formato avi, mpeg, ... ;)
- ffmpeg (version 3), software para la conversion del video a varios formatos (flv en nuestro caso)
- Visor flv en flash para la pagina web. Hay varios, pero este funciona bien
Pasos necesarios Lo primero que debemos hacer es transformar el video en formato avi a flv, con este sencillo comando:
$ ffmpeg -i video.avi video.flv
esto nos genera un archivo video.flv.
Seguidamente creamos una pagina web para visualizar el video:
<html> <body> <object type="application/x-shockwave-flash" width="320" height="260" wmode="transparent" data="flvplayer.swf?file=video.flv&autoStart=false"> <param name="movie" value="flvplayer.swf?file=video.flv&autoStart=false" /> <param name="wmode" value="transparent" /> </object> </body> </html>
Ahora copiamos el visor flv (archivo flvplayer.swf) y el video (archivo video.flv) al mismo directorio que el archivo html creado y listo.
Referencias http://ffmpegx.com/flv.html
Así de fácil ...
by coffman - 14:26:21
|
|
|

Hace algún tiempo, escribí un post sobre como hacer screencast desde linux, desde aquella el panorama ha cambiado un poco, ahora es mucho mas facil hacer screencasts desde linux, sobre todo desde la aparicion de algunos programas como screenkast (GPL) ó demorecorder (de pago) que aunque en el fondo, siguen usando la misma tecnología de antes (VNC o sesiones virtuales nuevas) han facilitado enormemente la tarea.
Screenkast, es hasta el momento el programa que me ha resultado más fácil de usar para realizar screencasts. Se puede instalar a través de apt-get, y al ejecutarlo tan solo tenemos que realizar dos acciones para empezar a grabar:
- VNC -> Start Server
- y File -> New
Con esto ya estaremos dentro de una sesión VNC que se está grabando, al cerrar la ventana VNC, el programa importa la captura realizada y nos permite editarla , añadiendole globos de texto, recuadros de comentarios, etc ..
by coffman - 13:11:18
|
|
|
Es algo natural que cada 3 o 4 meses a los que nos pasamos 10 horas delante de la pantalla del ordenador, nos salte el chip de la locura y se nos de por aprender alguna tecnologia nueva, ya sea un lenguaje, una nueva arquitectura, o un editor de textos.
Pues bien, en esta ocasion le ha tocado el turno a emacs, ya hacía un monton de tiempo que queria aprender a usarlo (yo soy un usuario de vim ya desde pequeñito), y por fin he encontrado un hueco para probarlo. Con lo primero con lo que me encuentro es que NO viene habilitado por defecto el syntax highlight , algo que considero un requisito imprescindible, preguntádole a google, me cuenta que hay que habilitar la opción :
(global-font-lock-mode 1)
en el archivo ~/.emacs, cosa facil ... Segun el manual, es obvio que global-font-lock-mode=1 quiere decir que syntax-highlight=1. Puffffff ... quizás sea mas intuitivo el syntax on del vim , pero para gustos hay colores. La lista de atajos de teclado es bastante larga, pero los mas usados son bastante faciles de recordar.
by coffman - 15:08:25
|
|
|
Muchos de nosotros usamos el ssh para conectarnos a maquinas unix remotas, para realizar tareas de administracion, para entrar en la shell y revisar el correo, para programar, para cientos de cosas. Ya hace algún tiempo vengo usando ssh para encriptar mis conexiones al servidor de correo IMAP/SMTP, pero recientemente en la oficina de un cliente tienen todas las conexiones WEB salientes monitorizadas y a mi no me apetece que espien las webs que visito, con lo que he empleado de nuevo los tuneles ssh.
Por lo tanto estas son las instrucciones para montar un tunel ssh que nos permita navegar a traves de un proxy que tengamos en un ordenador remoto (en el ordenador de casa, mismo).
Instalamos Squid en el ordenador remoto en el puerto 3128.
Instrucciones en entorno de escritorio Linux
En el ordenador local establecemos un tunel ssh que mapea el puerto LOCAL 23128 con el puerto remoto 3128:
coffman@bender$ ssh -N -l username -L 23128:localhost:3128 ip.servidor.casa
Con esto nos pedirá el password del usuario username en el ordenador remoto de casa y quedará establecido el tunel siguiente :
|----------- S S H T U N N E L ---------| host: localhost <-----------------------------------------> ip.servidor.casa tcp port: 23128 3128
Instrucciones de configuracion en Windows
TODO: Pendiente de realizar capturas y conseguir un sistema operativo windows
Instrucciones de configuracion del Navegador (común)
De modo que para conectar con el navegador a internet ya solo tenemos que configurarlo para que use un proxy local (que en realidad está mapeado con el squid remoto):

El proceso para establecer un tunel ssh contra un servidor de correo IMAP/SMTP es similar :
coffman@bender$ ssh -N -l username -L 2143:localhost:143 server.imap coffman@bender$ ssh -N -l username -L 2125:localhost:25 server.smtp
Enlaces relacionados:
http://www.afp548.com/Articles/security/ssh-tunnels.html
Ya podemos navegar seguros y en modo anonimo ;)
by coffman - 12:59:55
|
|
|
Bueno, haciendo referencia a una de las necesidades que tenia yo basicas para linux y encontrandolo sin querer (como suele pasar), he encontrado un pequeño manual de como hacer screencasts en linux, quedan bastante bien y son muy faciles de hacer, pongo aqui un pequeños manual.
Introducción
Necesitaremos vnc , pues este metodo usa vnc4server, OJO la version anterior a esta es vncserver y tiene los archivos de configuracion cambiados de sitio.
Instalamos y configuramos
#apt-get install vnc4server xvncviewer
Bajamos pyvnc2swf de aqui , lo destarreamos y en ese directorio ya lo ejecutaremos luego. para el vnc4server necesitamos crear un archivo de ejecucion inicial (ejecuta un gestor de ventanas y esas cosas) el archivos es ~/.vnc/xstartup, el mio tiene esto (pero es muy facil de hacerlo al gusto de cada uno)
#!/bin/sh
# Uncomment the following two lines for normal desktop: unset SESSION_MANAGER exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & startx &
Este archivo lo hacemos ejecutable : vic@whitewidow:.vnc$ chmod 755 ~/.vnc/xstartup, y tambien /etc/X11/xinit/xinitrc whitewidow:/home/vic/pyvnc2swf-0.8.2# chmod 755 /etc/X11/xinit/xinitrc
Al grano
Lo primero es ejecutar el vnc4server y proporcionarle una contraseña para conectarnos a el :
vic@whitewidow:pyvnc2swf-0.8.2$ vnc4server -geometry 800x600 :4
New 'whitewidow:4 (vic)' desktop is whitewidow:4
Starting applications specified in /home/vic/.vnc/xstartup Log file is /home/vic/.vnc/whitewidow:4.log
Ejecutamos el servidor a 800x600 en la pantalla virtual numero 4 si es la primera vez nos pregunta la password que va a tener el servidor.
Ejecutamos el visor de este escritorio:
vic@whitewidow:pyvnc2swf-0.8.2$ vncviewer whitewidow:4 VNC viewer version 3.3.7 - built Apr 27 2006 07:09:29 Copyright (C) 2002-2003 RealVNC Ltd. Copyright (C) 1994-2000 AT&T Laboratories Cambridge. See http://www.realvnc.com for information on VNC. VNC server supports protocol version 3.8 (viewer 3.3) Password:
En otra consola o poniendo en segundo plano la ejecucion de esta misma, ejecutaremos OTRO visor del vncserver en el que vamos a grabar lo que vayamos haciendo en la ventana recien surgida: Pulsamos ctrl-z (pausamos la ejecucion del vncviewer):
[1]+ Stopped vncviewer whitewidow:4 vic@whitewidow:pyvnc2swf-0.8.2$ bg [1]+ vncviewer whitewidow:4 & vic@whitewidow:pyvnc2swf-0.8.2$
Ahora ejecutamos el vnc2swf que se conecta al servidor y solo mira (graba) todo lo que hagamos:
vic@whitewidow:pyvnc2swf-0.8.2$ ./vnc2swf.py -n -o salida.swf whitewidow:4 Using pygame 1.7.1release open /dev/sequencer: No such device Connected: whitewidow:5904, protocol_version=3.8, preferred_encoding=(0, -232, -239) Password for whitewidow:5904: VNC Screen: size=800x600, name='whitewidow:4 (vic)' Output movie size: 800x600 Creating movie: 'salida.swf': version=5, size=800x600, framerate=12.0, compression=None
Con esto todo lo que hagamos en la ventana del vncviewer de la sesion 4 estará grabado en un archivo llamado salida.swf y lo podremos ver poniendo en el navegador la pagina slida.html.
Links
Pues al final es bien facil hacer screencasts desde linux ;)
by coffman - 15:36:57
|
|
CoffMan Site
|
|
|