Gracias a que terminé antes de tiempo un proyecto que tenía en carpeta, hoy me pude dedicar a algo que me tenía dando vueltas hace rato: el cambio de servidor. Ahora sí estoy en un server de verdad, y no uno de casa haciéndolas como de server. Sin ningún tuning, es un 25% más rápido, con tuning yo creo que lograría fácil un 50% a un 60% extra con respecto al antiguo.

Así que espero que ahora el sitio se reactive un poco más junto con algunos otros proyectos personales que tenía un poco botados.

Saludos !!

Hace meses que no escribo y ha sido por una razón: Hace meses que quiero cambiar de hosting, pero no me he dado la paja de hacerlo. Tengo un respaldo de hace un par de meses y todavía no lo monto. Prometo que hoy en la noche respaldo nuevamente y subiré todo al nuevo hosting. Bueno, quizás no hoy en la noche, pero sí durante el fin de semana.

En estos meses que llevo en Santiago, la vida me ha cambiado. Ya no trabajo en el mismo escritorio que tenía de los 15 años, sino que trabajo en un piso 15. La vista a la pared fue reemplazada por una vista hacia la cordillera por un lado y hacia el cerro Santa Lucía por otro. Por supuesto, en vez de mi PC ahora tengo Macbook Pro, y ha sido una de las mejores máquinas en las cuales he trabajado: si bien es cierto al cabo de algunas semanas igual tengo que reiniciar, no se pega como Windows lo hace. El trackpad es lejos de lo más filete que he tenido: funciona a la perfección y en general no me ha decepcionado para nada. Los que alegan contra Apple es sólo porque nunca han trabajado con una máquina de Apple, se nota que le pusieron mucho empeño al crear máquinas tan maravillosas.

Atención! Este es una versión antigua! Existe una versión más nueva disponible aquí

Sí, estamos totalmente de acuerdo: hay por lo menos unos 50 validadores distintos si buscamos en Internet. Sin embargo, este validador es uno distinto: lo hice yo :P

Fuera de bromas, es un script bastante cortito (menor transferencia == página más rápida para el usuario) que realiza la verificación simple del RUT, es decir, un RUT tipo 11.111.111-1 seguirá siendo válido para este algoritmo. Lamentablemente el tiempo para hacer el completo no me sobra y creo que este blog es fiel reflejo de ello: hace muchísimo tiempo que no lo actualizo con alguna noticia.

También anda bastante lento el algoritmo en general, aunque eso puede ser problema de mi propio PC también. Sin embargo, se puede optimizar bastante más. La base fue tomada (la idea no más en realidad) del sitio del BancoEstado, específicamente este iframe. La versión de BancoEstado pesa 8309 bytes mientras que la versión realizada por mi pesa 1232 bytes (Un nada miserable 85% menos!). Manejando los mensajes de otra forma creo que se puede llegar al límite de un solo paquete de 1024 bytes. A continuación, el algoritmo del RUT chileno en Javascript y en PHP.

Hace tiempo que no escribo pero pretendo mejorar eso y nada mejor que un tip cortito: debido a la pésima condición de la conexión que ofrece VTR, se me desconectó el PuTTY desde el servidor mientras estaba editando un archivo. El único problema es que el famoso archivo no lo había guardado así que era inevitable que los últimos cambios se perdieran.

Sin embargo, es en este punto donde vi ofrece recuperar el borrador, pero como siempre había leído muy a la rápida, simplemente optaba por borrar este mismo. Para más mala suerte mía, pasé a borrar el archivo original en vez del archivo de recuperación ¬¬

En la Web hay una cosa que yo diría es bastante fundamental y nadie le presta mucha atención: el peso de los archivos. Mantener un peso bajo puede ahorrar mucho ancho de banda, cosa necesaria en cualquier sitio de alto tráfico, ya que además de acelerar la descarga también hace que al cliente o usuario final la página le aparezca más rápido.

Aunque me gustaría ahondar mucho más en el tema, por el momento sólo presentaré una pequeña función que puede ser bastante útil a la hora de reducir el peso de CSS gigantes, sin embargo, la verdadera ganancia puede no estar aquí, sino que en la compresión que se debe activar en el servidor, o bien ocupando ob_start() de PHP, pero como ya dije: eso ya es harina de otro costal y al ser más amplio preferiría dejarlo para otro post.

Sin embargo, a continuación les presento el pequeño script. Vamos… haz click en leer más :D

A partir de hoy se lanza mi segunda class al público en general: es una class que es capaz de tomar varios CSS, comprimirlo, optimizarlo y enviarlo hacia el cliente (con gzip).

De esta forma, el CSS principal de CHW por ejemplo, pasa de pesar 43876 bytes a 5802 bytes, una compresión de un 87%!

Cómo se hace esto? Muy simple: se toma el o los CSS a procesarse, se eliminan los comentarios, los retornos de carros, los espacios que sobran, los tabs que sobran, se cambian todos los 0px a 0, los colores se convierten a su respectivo código corto y por último los colores se tratan de acortar de #EEAA11 a #EA1. Por último, a ese archivo resultante se le aplica gzip y se manda al cliente. Por último, si el cliente ya tiene en su caché el CSS, simplemente se manda un código HTTP de que el archivo no ha sido modificado, reduciendo de esta manera ancho de banda.

Bueh… no he tenido tiempo y además estoy preparando algunos posts bien largos… Los que tengo como borrador son:

  • Script para reducir el tamaño de los CSS - 60%: Este artículo tratará de una pequeña función que de repente ocupo para reducir el peso de las hojas de estilo, ya sea en tiempo real o bien para crear un CSS final.

  • Construir sitio multi-idioma - 80%: Análisis de las distintas formas de crear un sitio que soporte multi-idiomas.

  • Crear sesiones de la manera correcta - 50%: Muchas veces me he topado con sistemas que tienen un simple session_start() para crear una sesión. En este artículo se analiza todas las distintas variables que existen y podemos configurar de manera de crear sesiones más seguras y personalizadas.

  • Organización interna sitios Web - 70%: Siempre es importante saber de antemano cuál va a ser la estructura de archivos que va a tener el sitio. El objetivo de este artículo es justamente indagar en este aspecto.

Así que ya saben, tendrán harto que leer en cuanto los termine. Pero por mientras, para no aburrirlos, visiten estos links :D I’m sure this will end well (5 Photos) Mid-air bird strike will mess you up (25 Photos) FAIL (32 photos) The funny (and proper) way to hang toilet paper (5 Photos) Parents of the year (25 photos)

Estaba revisando el último post publicado acerca del reseteo de CSS y me fijé en la propaganda al lado derecho del contenido. Y aunque en todos lados dicen que no se debería hacer click porque es causal de eliminación inmediata del programa AdSense de Google, de repente las ganas no me faltan, especialmente con este tipo de avisos:

2010-01-03-u4u-025

Eso es JUSTO algo que me interesa y no puedo hacer click ¬¬. Y si eres controlador del programa, tampoco estoy incentivando a que hagan click. Simplemente esperaré hasta tener 1.000.000 de visitas diarias para que de esa manera pueda auto-sustentarse el sitio.

UPDATE: Gracias a jamrojo, me di cuenta que el link estaba abajo :P Pozo para mi :P

Me decidí hoy a hacer algunas cosas pendientes. Una de ellas es terminar de una buena vez por todas esa fantástica idea que me viene dando vueltas hace cerca de 2 años y que no he podido ejecutar por falta de tiempo: una página que se integre con la montonera de servicios externos para que de esa manera, todo tu movimiento en Internet lo puedas hacer mayormente desde esa página.

También me llevé una agradable sorpresa: el post que habla acerca de cómo manejar errores en PHP ya se ubica primero en Google al buscar por php trigger_error :D Aunque a través de Google sólo he recibido 2 visitas, el solo hecho de ubicarme en primer lugar ya me hace más que feliz. Pero, el tema que nos concierne hoy, es acerca del reseteo de CSS. “¿Qué es?” “¿Para qué sirve?” y “¿Cómo podemos solucionar la problemática?” serán algunas de las interrogantes que se plantearán y que verán la luz en este post.

Existe una infinidad de información acerca de cómo mejorar el ranking en Google (u otros buscadores), acerca de cómo mejorar el SEO, miles de consejos -algunas bastante místicas por decir lo menos-, PERO casi no existe información sobre cómo darse de alta o quitar el contenido de los buscadores.

Les cuento el pequeño problema: Hace ya bastante tiempo, tengo un servidor de desarrollo. Este servidor de desarrollo afortunadamente es bastante estable: funciona bien hace más de 1 año y sólo lo he reiniciado 2 veces a lo largo del año que recién pasó (Feliz año nuevo a todo esto): la primera fue debido a una costumbre windowsera y la segunda fue por una actualización importante del kernel. Sin embargo, lo realmente importante es que el downtime de este servidor es de menos de un 1% durante este año y eso fue sólo porque en el datacenter hubo una serie de malos entendidos que llevaron a que me desconectaron el servidor durante todo un fin de semana. Sino hubiese sido por este pequeño incidente, el downtime hubiese sido de menos de un 0.01% (Considerando ese 0.01% como el tiempo que se demora la máquina en reiniciar 2 veces durante el transcurso de un año).

u
n
r
e
a
l
4
u
.
c
o
m

Camilo Sperberg es Ingeniero Informático especializado en Linux y PHP. Éste es su blog oficial y aquí podrá leer mucha más información acerca de temáticas variadas en el bajo mundillo de la informática relacionada con esos tópicos

Because my reality... is just your virtuality

Camilo Sperberg

Debido a la gran cantidad de guiños y referencias relacionadas con el mundo informático, esta sección permanecerá siempre incompleta, al menos hasta que se complete

Futurama fan page

Oh, i'm very confortable with my sexuality, i just don't want to be slapped in the face with THEIR sexuality

Roy Trenneman en The IT Crowd S02E01