unreal4u's Personal Network Because my reality… is just your virtuality

29Mar/10Off

Verificar RUT con Javascript y PHP

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.

1Feb/10Off

Script para reducir peso de los CSS

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

Archivado en: CSS, Mundo Web | Continúa leyendo
24Ene/10Off

Nueva class publicada: CSStacker

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.

Archivado en: CSS, Mundo Web, PHP | Continúa leyendo
2Ene/10Off

Remover (quitar) contenido desde Google

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).

Archivado en: Mundo Web | Continúa leyendo
29Dic/09Off

Manejar errores en PHP

El otro día, mediante twitter, leí un título proveniente del DeveloperWorks de IBM que prometía mucho, pero que finalmente resultó en una farsa. El título decía algo así como: "Aprenda cómo manejar errores en PHP" pero al final no mostraba nada de código y además creo que promocionaban uno de estos software de IBM que vale como USD $999,99 si lo compraba en ese mismo instante. (LLAME YA!)
Sin embargo, el tema me pareció muy interesante, tanto, que me comprometí a algún día escribir al respecto. Y bueno... este es el resultado. Es un artículo largo, así que para variar se separará por páginas.

Archivado en: Mundo Web, PHP | Continúa leyendo
23Dic/09Off

Evitar autocompletado en los formularios

Hoy en el foro de CHW, preguntaron si acaso era posible que una aplicación (sea PHP, ASP, .NET, etc) pudiera ser forzado a NO recordar lo escrito en una caja de texto.

Lo primero en que pensé fue en la propiedad autocomplete="off", pero tiene algunos problemas asociados y no funciona de la mejor manera que digamos. Por ende, tratando de juntar un par de ideas, pensé en lo siguiente.

Click en "leer más" o "ver artículo completo" o como sea que esté traducido para ver la solución propuesta :)

Archivado en: Mundo Web, PHP | Continúa leyendo
22Dic/09Off

Una función que siempre ocupo

Para todo CMS existen ciertas cosas que uno siempre utiliza. De esta forma, es posible construir una cosa una sola vez con la intención de reutilizarlo después.

La reutilización de código fuente es lo mejor que se pudo haber inventado en la vida: no sólo nos permite utilizar ese viejo código nuevamente, pero también nos permite no equivocarnos, mejorar siempre el mismo código y de esta forma, facilitar la actualización y asegurar de mejor manera nuestras páginas. ¿Lo único malo? Siempre hay que saber ocuparlo.

Esta función en específico hace una sola cosa: uno le pasa una imagen (guardada localmente), y construye con eso un XHTML válido para la W3C. Por supuesto que esto no es la única cosa que hace, pero para mejor entendimiento, mejor vean el código después del salto.

Archivado en: Mundo Web, PHP | Continúa leyendo
1Dic/09Off

IE is being mean to me… again

En el foro de CHW postearon este video, me dio muchísima risa porque es la pura y santa verdad... Con ustedes el video y después del salto la letra en español:

24Nov/09Off

Los pro y contra de WordPress

La verdad es que siempre me han cargado los CMS, en gran parte porque ya viene todo hecho y no hay ninguna entretención en armarlo uno mismo. Digo: es frustante tener que pasar horas y horas programando algo sólo para darte cuenta que el hosting o servidor final en el que lo vas a montar, no presenta cierta característica necesaria para el correcto funcionamiento de la página. Eso significa "Back to the drawing board" ya que es difícil (por lo general) convencer al hosting de que implemente cierta cosa que a ellos les podría jugar en contra en cuanto a seguridad. En el caso de tener un servidor privado es más fácil, aunque de repente cuesta convencer al administrador de ese servidor. (Ya me tocó tratar de convencer a un administrador que deshabilitara el safe mode de PHP que no ayuda en nada a la seguridad, y por esa misma confusión de nombres es que lo van a sacar definitivamente en PHP6).

Etiquetado con: , , | Continúa leyendo
23Nov/09Off

Recursos externos útiles

Existe una infinidad de servicios Web gratuitos y bastante buenos para los distintos aspectos del desarrollo de una página Web. Básicamente todos son trackers, que recolectan información sobre el uso que tienen los usuarios con el sitio Web y un montón de otras cosas más (cuya utilidad real sirve para evaluar hacia dónde va la micro con una página y conocer las preferencias del público).

Con ustedes, un compilado con los más importantes a mi parecer.

Etiquetado con: , | Continúa leyendo