Archivo

Archivo para febrero, 2009

Vamonos al CommunityOne East

Miércoles, 25 de febrero de 2009

Este año se celebra en New York City por primera vez el CommunityOne East, patrocinado por Sun Microsystems. En este evento se van a tratar diversos tópicos sobre tecnología OpenSource como Java, Ruby Rails y MySQL.

Yo ya me inscribí para el 18 y el 19 de Marzo, si alguno de ustedes piensa ir al evento gratis del 18 y quiere ganarse una franela avisenme para darles el código de inscripción para que participen.

Nos vemos allí.

Nota: No creo que vaya al JavaOne del 2009 año. Los temas se parecen mucho a los del año pasado, voy a esperar a que haya más variedad.
Veneblogs: , , , ,

Blogalaxia: , , , ,

To2blogs: , , , ,

Technorati: , , , ,

Del.icio.us: , , , ,

java, linux, opensource, programación, ruby , , , , ,

¿Nueva serie de Mazinger Z?

Lunes, 23 de febrero de 2009

Mazinger Z
El mejor regalo de navidad, muchas gracias a Cristina y Guillome desde Francia

¿Es posible? Parece ser que si según este blog. Cruzando los dedos, la leyenda del Manga vuelve de nuevo a las andadas. Mientras tanto los dejo con fotos nuevas de Mazinger en el grupo de Mazinger Z en Flickr.

Veneblogs: , , ,

Blogalaxia: , , ,

To2blogs: , , ,

Technorati: , , ,

Del.icio.us: , , ,

comics , ,

Copiando archivos grandes SIN usar scp

Domingo, 22 de febrero de 2009

Bueno, ya para finalizar esta serie me decidí a utilizar otras herramientas que en teoria son mucho más eficientes que scp copiando archivos.

Usando FDT de Cern:

Primero arranqué el servidor en la máquina de destino:

Tepuyes-Mac-mini:Downloads josevnz$ java -XX:MaxDirectMemorySize=512m -jar /Users/josevnz/Desktop/fdt.jar

Checking for remote updates … This may be disabled using -noupdates flag.
Checking remote fdt.jar at URL: http://monalisa.cern.ch/FDT/lib/fdt.jar
Current fdt.jar path is: /Users/josevnz/Desktop/fdt.jar
Connecting … OK

FDT [ 0.9.4-200901271612 ] STARTED …

Y luego copie el archivo usando el modo cliente:

auyan:Downloads josevnz$ time java -XX:MaxDirectMemorySize=512m -jar /Users/josevnz/Desktop/fdt.jar -c 10.0.1.198 /Users/josevnz/Downloads/SentillaWork-1.1.1.tar -d /Users/josevnz/Downloads/

FDT [ 0.9.4-200901271612 ] STARTED …

Feb 21, 2009 10:20:32 PM lia.util.net.common.Config <init>
INFO: FDT started in client mode

INFO: [ FDTReaderSession ] No post processing filters defined/processed.
[ Sat Feb 21 22:25:46 EST 2009 ] – GracefulStopper hook started … Waiting for the cleanup to finish
[ Sat Feb 21 22:25:46 EST 2009 ]  – GracefulStopper hook finished!

[ Sat Feb 21 22:25:46 EST 2009 ]  FDT Session finished OK.

real    5m14.560s
user    0m3.329s
sys    0m5.565s

No es mejor que usar Ssh, Tar y Gzip con la compresión más baja. Sin embargo note que el archivo que copie no estaba comprimido para nada y que podría haber usado un filtro para comprimir el archivo antes de enviarlo y para descomprimirlo al llegar.

Usando BBCP:

Bueno, la instalación es trivial pero yo no pude utilizar compresión para copiar mis archivos. Después de probar algunos parametros me decidí por esto:

auyan:Downloads josevnz$ time bbcp -P 4 -v -w 2M SentillaWork-1.1.1.tar 10.0.1.198:/Users/josevnz/Downloads/SentillaWork-1.1.1.tar
bbcp: Invalid argument setting FD limit
bbcp: 10.0.1.196 kernel using a send window size of 2098152 not 2097184
bbcp: Creating /Users/josevnz/Downloads/SentillaWork-1.1.1.tar
bbcp: At 090221 23:34:28 copy 0% complete; 0.0 KB/s, avg 0.0 KB/s sdv 0
bbcp: At 090221 23:34:32 copy 0% complete; 0.0 KB/s, avg 0.0 KB/s sdv 0

bbcp: At 090221 23:41:20 copy 96% complete; 1024.0 KB/s, avg 705.6 KB/s sdv 0
bbcp: At 090221 23:41:24 copy 98% complete; 1024.0 KB/s, avg 708.6 KB/s sdv 0
File /Users/josevnz/Downloads/SentillaWork-1.1.1.tar created; 309176320 bytes at 716.4 KB/s
1 file copied at effectively 708.8 KB/s

real    7m6.001s
user    0m0.060s
sys    0m1.167s

Hmm, ¿7 minutos? Nada bueno, considerando que scp y FTD hacen un buen trabajo.

Si bien no puedo decir que bbcp es una herramienta más lenta comparado con FDT al menos se que es lo bueno para mi red. Me guestó mucho FTD ya que se puede integrar fácilmente con aplicaciones escritas en Java y su instalación / ejecución es trivial (además de tener un buen rendimiento).

A usted seguro le tocará experimentar con los parámetros disponibles para cada aplicación, así que paciencia y buena suerte ;)
Veneblogs: , , ,

Blogalaxia: , , ,

To2blogs: , , ,

Technorati: , , ,

Del.icio.us: , , ,

java, opensource , , ,

Optimizando la copia de archivos con scp (II)

Sábado, 21 de febrero de 2009

En la entrega anterior les mostraba como acelerar la copia de archivos grandes cambiando el algoritmo de cifrado y la compresión en scp; Estos resultados se pueden mejorar un poco más utilizando un algoritmo de compresión mejor que Gzip.

En este caso utilizamos LZMA, con una implementación específica, LZMA Utils.

¿Que tan buena es la compresión por omisión (nivel 7)?

auyan:Downloads josevnz$ time tar -cf – SentillaWork-1.1.1.tar |/usr/local/bin/lzma -c | ssh 10.0.1.198 -c arcfour “cd /Users/josevnz/Downloads && /usr/local/bin/lzma -dc|tar -xvf -”
./._SentillaWork-1.1.1.tar
SentillaWork-1.1.1.tar

real    9m16.777s
user    9m15.030s
sys    0m3.709s

Que porquería. No es mejor que Gzip. ¿Pero si utilizamos la compresión rápida, los cuales sólo afectan la velocidad de compresión más no descompresión (nivel 1)?

auyan:Downloads josevnz$ time tar -cf – SentillaWork-1.1.1.tar |/usr/local/bin/lzma -1 -c | ssh 10.0.1.198 -c arcfour “cd /Users/josevnz/Downloads && /usr/local/bin/lzma -dc|tar -xvf -”
./._SentillaWork-1.1.1.tar
SentillaWork-1.1.1.tar

real    4m36.603s
user    1m54.419s
sys    0m3.300s

¡Apenas 30 segundos mejor que Gzip utilizando la compresión por omisión (7) !. Me pico la curiosidad y decidí utilizar de nuevo a gzip pero con nivel de compresión mínima:

auyan:Downloads josevnz$ time tar -cf – SentillaWork-1.1.1.tar |gzip -1 -c | ssh 10.0.1.198 -c arcfour “cd /Users/josevnz/Downloads && gzip -dc|tar -xvf -”
./._SentillaWork-1.1.1.tar
SentillaWork-1.1.1.tar

real    4m21.237s
user    0m15.113s
sys    0m3.679s

Bueno, que sorpresa. Resulta que el venerable Gzip aún le da palo a LZMA :)

Ya les había comentado que estoy jugando con varias herramientas, para quedarme con una de ellas. Les recomiendo que se lean este tutorial del departamento de energía de los Estados Unidos sobre herramientas y mejor utilización del ancho de banda.

Algo que se me olvidaba comentar, en este ejemplo utilize un sólo archivo y tar, lo cual no tiene mucho sentido, sin embargo Tar es mucho más eficiente cuando enviamos varios archivos grandes a la vez.
Veneblogs: , , , , , ,

Blogalaxia: , , , , , ,

To2blogs: , , , , , ,

Technorati: , , , , , ,

Del.icio.us: , , , , , ,

linux, opensource

Optimizando copia de archivos grandes con scp

Jueves, 19 de febrero de 2009

Ya antes les había comentado sobre una técnica para copiar varios archivos de manera más eficiente. Ahora les voy a mostrar como copiar un archivo grande usando scp.

Primero veamos una copia normal con scp:

auyan:Downloads josevnz$ time scp SentillaWork-1.1.1.tar 10.0.1.198:/Users/josevnz/Downloads/
SentillaWork-1.1.1.tar                                                                                                     100%  295MB 504.9KB/s   09:58

real    10m4.025s
user    0m8.129s
sys    0m3.263s

10 minutos para 295MB. No está tan mal para una red inalambrica. Sin embargo si aplicamos estos dos trucos juntos:

  1. Aplicamos un algoritmo de encriptación débil, dado que no nos importa mucho que el contenido sea interceptado y analizado. Si tardamos menos tiempo cifrando los datos y más enviandolos eso es bueno.
  2. Comprimimos los datos a medida que los enviamos en la red. Siempre es bueno enviar menos (el lado malo es que el CPU de ambos lados trabajará más pero eso no es un grave inconveniente).

En OpenSSH estos dos parametros con ‘-c arcfour’ (blowfish también es bueno) y -C (-C utiliza gzip por omisión). Probando de nuevo:

auyan:Downloads josevnz$ time scp -C -c arcfour SentillaWork-1.1.1.tar 10.0.1.198:/Users/josevnz/Downloads/
SentillaWork-1.1.1.tar                        100%  295MB 852.9KB/s   05:54

real    5m56.157s
user    0m19.166s
sys    0m2.916s
auyan:Downloads josevnz$

¡5 minutos nada más! Una mejora substancial.

Recuerde que también usted puede emplear este truco con ssh y muchos archivos:

tar cf – * | ssh -C -c archfour “cd $HOME && tar -xf -)

Sin embargo siempre existen maneras de mejorar el resultado. ¿Existe otra forma? En otra entrega les comentaré como hacer el proceso aún más rápido.
Veneblogs: , , ,

Blogalaxia: , , ,

To2blogs: , , ,

Technorati: , , ,

Del.icio.us: , , ,

opensource , , ,

Java Generics: Cuando la mente nos juega trucos

Jueves, 12 de febrero de 2009

Desde que Java nos trajo el concepto de programación generica la programación en el lenguaje se simplificó en muchos casos ya que no hubo necesidad de hacer tantos ‘cast’ de un tipo a otro, además de mejorar la seguridad en tiempo de compilación. Pero cuando uno se empieza a meter con ‘wildcards’ y otros conceptos más avanazados entonces allí empiezan los dolores de cabeza :)

Les traigo el FAQ de Angelika Langer el cual tiene mucha información, además de ser completo. No es un tutorial pero tiene mucha substancia :)
Veneblogs: , ,

Blogalaxia: , ,

To2blogs: , ,

Technorati: , ,

Del.icio.us: , ,

java, programación , ,

StupidZombie: Mejoras en el manejo de preferencias

Sábado, 7 de febrero de 2009

StupidZombie settings
Un cariñito al manejo de preferencias

Bueno, esta semana estuvé super ocupado con el trabajo que paga las cuentas (:)), así que hoy fué que me senté a a jugar con el proyecto. Además de compartir lógica entre menús y botones usando AbstractAction en Java, le agregé las opciones de exportar e importar las preferencias del usuario (antes se grababan en el lugar predeterminado). Estó será muy útil para quienes ya tienen un perfil en una máquina y quieren llevarlo a otra.
Veneblogs: , , ,

Blogalaxia: , , ,

To2blogs: , , ,

Technorati: , , ,

Del.icio.us: , , ,

java, kodegeek, opensource, programación

StupidZombie: Cambios en la interfaz del usuario, otros detalles

Lunes, 2 de febrero de 2009

stupidzombie
Integración y más características en el código

Bueno, al fin saqué tiempo para hacerle mejoras al código de StupidZombie. En particular el código que genera las etiquetas como las que se ven en VeneBlogs o To2Blogs estaba muy descuidado (cuando lo escribí originalmente fué un hack de 10 minutos ;) ) Pero ahora tiene la siguiente funcionalidad:

  • Agregado Veneblogs, y con facilidad de agregar otros directorios por medio de un archivo de configuración
  • Integración con la interfaz de usuario principal, no hay necesidad de correr dos programas
  • Pre-visualización de los resultados (se ve el HTML como en un navegador, además del código). Además si usted hace click en uno de los enlaces eso lo llevará al directorio en cuestión con lo cual usted podrá ver que tan útil son sus etiquetas o nó.

Corregí una serie de cucarachas en el código viejo y además comencé a preparar el blog del proyecto. En algún momento empezaré a escribir solamente sobre StupidZombie allí y no en KodeGeek: http://stupidzombie.com/blog

Veneblogs: , , , , ,
Blogalaxia: , , , , ,
To2blogs: , , , , ,
Technorati: , , , , ,
Del.icio.us: , , , , ,

java, opensource, programación , , , ,