domingo, 15 de noviembre de 2009

Ejemplos de Google wave y talk robot / Robot examples

Voy a compartir un proyecto a partir del cual he realizado otros en los que estoy ahora.
Este proyecto esta desarrollado en java sobre la tecnologia de cloud computing de google appengine de ejemplo que he subido en google code.

Realmente es solo un ejemplo muy basico de un robot para google talk y otro para google wave que simplemente contestan una frase predefinida.


Esto es ideal para todos aquello que estén empezando con la tecnologia de appengine y quieran ahorrarse algo de código y ver algunos ejemplos.

El proyecto esta colgado aqui.

viernes, 9 de octubre de 2009

Resetear ejes ( reset axis ) en flot y jquery

Si estas haciendo un grafico usando flot y jquery usando zoom, puedes resetear el zoom con el siguiente codigo:


function resetZoom () {

var plot_xaxis = plot.getAxes().xaxis;
plot = $.plot($("#placeholder"), data,
$.extend(true, {}, options, {
xaxis: {mode: "time" ,min:plot_xaxis.datamin , max: plot_xaxis.datamax }
}));

}



Ojo que esto resetea solo el eje x.

Espero que sea de utilidad para el que lo este buscando!

viernes, 20 de marzo de 2009

Arreglar fallos de compatibilidad en internet explorer 8

Este sera un post corto.
Si quereis un arreglo rápido para esos scripts/html que no funciona bien en explorer 8, solo teneis que colocar esto en el head de vuestro html.


<meta equiv="X-UA-Compatible" content="IE=6"/>


Esto activa el modo de compatibilidad de explorer 8. Desde que salió la versión final de explorer 8 hace poco, su quota de mercado ira subiendo, aumentando a la vez los quebraderos de cabeza de los programadores...

Almenos este arreglo te puede dar mas tiempo para hacer tu web plenamente compatible.... o dejarlo asi de por vida. :D
Espero que sea de tanta utilidad como me ha sido a mi.

sábado, 7 de marzo de 2009

Optimización de webs I: Css sprites, Reducción de Javascripts y Css Compression

Css Sprites es una técnica que consiste en combinar tantas imagenes de la página como sea posible en una de sola, y luego usar las propiedades de background-position de css para colocar cada imagen en su sitio.

Con esta técnica se consigue reducir el numero de peticiones, y además, con un poco de maña también se puede llegar a reducir el tamaño global de las imagenes.

A modo de ejemplo utilicé esta técnica, además de la compresión de javascript y compresión de css en una de mis páginas, meteo.onaliva.net con el siguiente resultado.
Antes:
Tipo
Cantidad
Peso
HTML/Text14.4K
JavaScripts 478.1K
Css25.9K
CSS Images312.0K
Images77.2K
Total
17
107.6K
Después:
Tipo
Cantidad
Peso
HTML/Text14.4K
JavaScripts 262.1K
Css16.2K
CSS Images35.4K
Images10.03K
Total
9
79.0K











Como se puede ver, el tamaño global de los ficheros de la página se ha reducido un 30% aproximadamente, y el número de peticiones se ha reducido a casi la mitad.

Inicialmente utilice esta web que te facilita el proceso de creacion de los sprites, pero no contento con el resultado, termine haciendo los sprites a mano, consiguiendo un mejor resultado.

En este ejemplo quizá el usuario no notaría una gran mejora en la experiencia navegando por la pagina, pero en webs donde puede haber hasta 50 imagenes para los menús, imagenes de fondo... etc, esta mejora seria muy notable.

Un ultimo apunte, para comprimir los javascript existen varios metodos (packer, jsmin, ... etc ) y hay una web donde podemos comparar compressores y el rendimiento dado por cada uno antes de decidirnos por uno.

En la web de meteo.onaliva.net utilice packer, que aunque no es del todo seguro ( pero comprobe que no daba problemas en varios browsers ), comprime mas.

En el proximo post hablare de Optimización de recursos de apache, hasta la proxima!

El Regreso

Después de una larga temporada de inactividad (...o pereza..) blogistica he decidido iniciar una serie de posts dedicada a técnicas de optimización de webs.

Estas técnicas van a cubrir tanto frontend, como backend de los websites. Incluso algunas de ellas aun no las he puesto en practica, pero en breve voy a experimentar con ellas y publicare los resultados en este blog que he tenido abandonado tanto tiempo.

Algunas de estas técnicas son:
  1. Css-sprites, combinación de varias imagenes en una.
  2. Minimizado de javascripts y css
  3. Compresión de paginas web en apache (mod_deflate de apache)
  4. Uso de APC: cache de ficheros y cache en memoria con php.
  5. Cache de ficheros en memoria con apache (mod_cache)
  6. Configuración de apache para un alto rendimiento
  7. Virtualhosts de contenido estatico en apache.
  8. Uso de variables de entorno en apache.
Seguramente me estoy dejando alguna técnica, asi que puede que luego termine haciendo la serie de posts mas larga de lo previsto :P

Hasta pronto!!