Otra de telcel/prodigy


Anoche estaba tratando de hacer funcionar una aplicación en windblows, y pues tuve que irme a buscar en astalavista, y pa sorpresa mía los DNS de prodigy redireccionan astalavista.box.sk a una página de telcel, pero ni siquiera es la oficia (aquella de la que hablé en una nota pasada), y bueno, varias cosas saltan a la mente, entre ellas:

  • para que demonios me “prohibe” visitar astalavista con sus DNS
  • si de todas maneras tengo acceso saltandomelos ??
  • porque prohibe astalavista y no cracks.am ?? esta pregunta estaría interesante que fuera respondida
  • Por qué redireccionan a telcel, en vez de poner algo realmente informativo ??

Supongo que en el contrato, que no pienso ponerme a leer mencionan que pueden meterse con mi navegación si ellos lo consideran adecuado, que bueno, estan pensando en mi seguridad, y sobre todo protegiendo mi linux, y evitando (muy ineficazmente) que use software pirata.

Bien hecho telmex !



Nada que hacer?, comenta una babosada


Hoy en mi diaria realidad de buscar como desaburrirme me puse a escuchar el “live kreation” de Kreator (duh!), y como soy bastante maceta para entender las palabras cantadas, sobre todo si son pronunciadas rápidamente, y más aún si son en un idioma que no sea español, se me ocurrió bajar las letras de todo el dísco, presto me lanzo a google, rápidamente me dice que hay una página que los tiene, entre a ella, y me dispongo a ir página por página para bajar las letras, cuando me doy cuenta que no es necesario hacer copy/paste, tienen un patron bastante definido los URLs (no es raro) pero además cada URL te presenta las letras en un formato extremadamente limpio (solo tengo que borrar con REGEXP 3 lineas y queda perfecto).

Entonces que hago, escribir un script 🙂
De inicio lo que hice fue un “seq … … > tt” para agregar lo que faltaba pero luego en el #linux_mx me regaño montecristo me regaño pq debí haber metido el seq dentro del script, así que aquí está la versión más limpia:


for i in `seq 188914 188936`
do
lynx -dump http://www.metal-archives.com/viewlyrics.php?id=$i >> live_kreation.txt
done

Un bello for de bash, que corre sobre los índices de cada URL, y luego con lynx bajo la cada página y la mando a un archivito, y listo, ya después con vim limpié las 3 lineas “extras” que trae cada página, y ya queda chidisimo el archivo con todas las letras del disco, que por cierto está muy chido, Kreator es la clásica banda que se oye mejor en vivo que en discos (como MetallicA, Pantera, Megadeth, Iron Maiden, y le puedo seguir).

Se los recomiendo si les gusta el metal, estos cuates tienen una técnica con las guitarras que hasta da gusto de verdad.



Fin de Semana


No he tenido mucho tiempo de bloguear, creo que en más de una semana lo único que he escrito es lo de telcel, y lo malo es que cosas que quiero bloguear se me están quedando en el olvido.

Ahorita nomas estoy dandome un ratito mientras ceno, mis chiquitas ya están dormidas, agarrando energía para el fin de semana largo 🙂

El twitter también lo he dejado a un lado estas últimas semanas, demasiada presión creo, espero que las semanas que vienen no sean demasiado pesadas, y sobre todo espero que me vaya bien en lo que ando haciendo ahorita.

Pendientes para no se cuando:

  • Snort 3.0
  • SDK de Android
  • Ando aprendiendo a hacer “unit test” en Oracle, a lo mejor vale la pena también

Buen fin de semana ! me retiro a ver la tele con mi nena grande.



Yo quiero trabajar en telcel !


Hace un momento platicando por IRC con los cuates ilustres de #[email protected] salió el tema de los SMS de celulares, y por ahí alguien comentó que ya se podía mandar SMS a celulares telcel gratis, obvio siendo cliente telcel se me ocurre ir a ver si es cierto y no lo es.

Pero eso no es lo que más me llamó la atención, de hecho estaba seguro que no era cierto, lo que me llamó más la atención es que los diseñadores de la página (nunca han sido muy destacados) han hecho una maravilla en lo que se refiere al concepto de redireccion, la crónica va así:

  • Te hacen cargar un archivo html de 12K, el cual trae en su mayoría JavaScript, y en el cuerpo un par de animaciones el flash
  • El archivo html tiene directivas para bajar a su vez un par de archivos .js, y uno .css
  • El css (estilos.css) tiene 3 directivas para atributo “class”, de las cuales se usa una sola (en el pié :), y dentro del HTML hay una seccion de “style” que define una directiva para un “class” que si es usado, obviamente prácticamente todos los estilos están definidos al más puro estilo noventero de meterlo en los tags, digo no está mal, pero no es lo mejor, mencioné que el HTML tiene identificacion de xhtml genérico de 1999?, pasa sin errores el tidy, y con 11 warnings que no son realmente importantes.
  • En la parte de JavaScript podemos comentar por ejemplo que uno de los archivos es específico para que lo usen las animaciones flash (no lo crearon ellos pues)
  • El otro archivo JavaScript (cookie.js) hace 2 grandes cosas, una es que identifica de manera muy rudimentaria la version del navegador que utilizas (solo llega hasta WinNT por ejemplo), y si no caes entonces eres “unix”.
  • Lo otro que hace es poner una cookie que “recuerda” si has visitado o no el sitio, hay una buena cantidad de debugueadas con “alert” y codigo comentado que nunca fué terminado, en esencia no hace nada esta parte
  • Ahora vamos al JavaScript dentro del HTML, lo primero que salta es que se definen funciones que sobreescriben a casi todas las que se definieron en “cookie.js”, supongo que es el resultado de 2 equipos de trabajo que no se comunican, o más probablemente de que un equipo heredó el trabajo y por si las dudas no modificó lo del otro equipo, sino que “sobreescribió” las funciones (en realidad casi todo es un copy-paste)
  • Otra cosa que hace el JavaScript embebido en el HTML es detectar si estas en un móvil, y redirecciona a una página hecha para móviles
  • Uh, se me pasaba comentar que también trata de determinar la “plataforma” sobre la que corres, segun yo varios windows caen como “unix” porque está mal hecho el código en ambos casos.
  • Siguiendo con el JavaScript embebido (esto no parece tener fin), hay una rutina ya cerca del final que llama a una funcion (obtener_estado(variable)), lo malo es que cuando llaman a la funcion, le meten como variable una cadena estática, no entiendo para que validas algo para lo cual ya sabes el resultado, pero eso no es todo, la funcion checa que la cadena de entrada esté dentro de la cadena de entrada !!, parece que esa funcion debía tomar un valor del URL (algo que tiene que ver con los estados) y hacer algo con él, pero nunca fué terminada y dejaron todo funcionado con una cadena estática. Entiendo que esa funcion debería rediraccionarte a una página con una variable, probablemente con la intención de que la página presentara algo diferente cada vez, en la práctica, independientemente de la variable, te rediracciona a http://www.telcel.com/redireccion/portal.html que a su vez te redirecciona a /portal/telcel.portal y no me voy a poner a buscar que otras babosadas hacen en el proceso.
  • Bueno, pa acabarla de amolar, al fina del JavaScript embebido te redirecciona redireccion/portal.html que como dije redirecciona a /portal/telcel.portal, o sea que todo lo que he comentado sirve para nada porque al final es otra página la que se presenta al usaurio, y a lo mejor alguna cookie sirve de algo, y bueno, lo único que podemos rescatar es que hay una redireccion diferente si tienes móvil.

Todo esto se traduce a que están gastando tanto su ancho de banda como el de los usaurios porque no pueden simplemente reemplazar una versión con la otra de su portal, y no solo eso, además no saben que sería mucho más barato, y sencillo en todos los sentidos, ya sea poner un html con el redirect y ya (no todo el JavaScript y HTML con Flash, CSS…) o la clásica alternativa del “rewriteRule”, vamos !! están usando apache !! ni siquiera es que tengan que buscar como se hace en IIS, o cualquier otra cosa, usan apache por el amor de Dios !!

fsking sh*t, todo parece estar en PHP, por qué, un header() sería suficiente tambien !!

Como es que llegas a tener redirección doble, y uno de los 2 pasos anteriores a la página final en serio tiene contenido a pesar de que solo los va a poder ver alguien que tiene demasiado tiempo libre como yo en este momento?? y el segundo redirect si está hecho decentemente !!!

Y podría apostar a que la “solución” no salió nada barata.

p.d. Ni siquiera tienen implementado un sistema de compresion de CSS y JavaScript, que para el tráfico que debe tener telcel creo que ahorraría varios miles de pesos al día seguramente.



Hoy no tengo ganas de mucho


Como que hoy no tengo ganas de casi nada más que estar con mis nenas.

Que todos tengan buena tarde y noche, nos vemos mañana



DBDesigner 4.0.5.4 en Debian lenny/sid


Ya alguna vez había intentado instalar DBDesigner en Debian “unstable”, y no lo logré :), pero hoy ya no fué por curiosidad, como necesito diagramar (acto de hacer un diagrama) una propuesta para almacenar unos datos X en donde estoy trabajando, estuve buscando algún programa para diseñar bases de datos (realmente lo que me interesa es poder hacer un par de diagramas que se vean decentes) y simplemente no encontré ninguno accesible fácilmente en Debian, por lo que tuve que irme a la opción de instalar manualmente (eso no califica como accesible fácilmente) el paquete “tar.gz” que se puede bajar de MySQL, y un par de paquetes más, acto seguido pasarme por el arco del triunfo que ya no uso paquetes obsoletos de x11 instalas un dummy de xkeyboard-config (amablemente anunciado aqui) para poder instalar estos dos paquetes que si vienen en “deb”, y descomprimir el DBDesigner, y correrlo.


wget http://heanet.dl.sourceforge.net/sourceforge/kylixlibs/kylixlibs3-borqt_3.0-1_i386.deb
wget http://www.silcom.com.pe/soft/xlibs_6.8.2-77_all.deb
wget wget http://develcuy.com/files/debian/xkeyboard-config_0.1.0_all.deb
sudo dpkg -i xkeyboard-config_0.1.0_all.deb
sudo dpkg --ignore-depends=xkeyboard-config -i xlibs_6.8.2-77_all.deb
sudo dpkg -i kylixlibs3-borqt_3.0-1_i386.deb
cd /usr/lib
ls kylix3/
sudo ln -s kylix3/libborqt-6.9-qt2.3.so
sudo ldconfig
wget http://downloads.mysql.com/DBDesigner4/DBDesigner4.0.5.4.tar.gz
tar zxf DBDesigner4.0.5.4.tar.gz
cd DBDesigner4
./DBDesigner4
echo "soy 1337" | awk '{print $0}' | sed -e 's/\(.*\) \(.*\)/\1 \2/'

Visualmente hay problemitas, resultado de andar diciendo que uso una biblioteca que no uso, pero el programa funciona normal.

En algun capítulo posterior de mi interesante Blog estaré explicando lo que el prefijo “sudo” en varias de las lineas en el código anterior hace, por lo extenso del tema no puedo explicarlo hoy.

[UPDATE] Encontré un dummy para no tener el problema de “ingnorar” la dependecia de xkeyboard-config

DBDesigner en Debian lenny/sid



El aporte de Ubuntu a la comunidad Linux


Todos sabemos que desde que apareció Ubuntu hace 4 años, Linux ha tenido una proyección mucho mayor hacia el público en general, pero cual es realmente el aporte, y que podemos esperar en el futuro cercano ?

Desde el punto de vista de un administrador experimentado, en general Ubuntu genera más problemas de los que corrige sobre la base de Debian, sobre todo en cuestión de actualización de versiones, con Debian normalmente el proceso es bastante transparente (digamos 90% de las veces), con Ubuntu simplemente no es fácil actualizar a una nueva versión del SO porque mucho va a fallar. En esencia volvemos al rudimentario mundo de las actualizaciones con disco y sacando de funcionamiento la máquina mientras se realiza la misma.

Para los usuarios de escritorio la historia es bastante diferente, Debian tiene algunas versiones de instalación muy amigables para el usuario, pero solo Ubuntu logra la amabilidad que tienen distribuciones como Mandrake o Suse, eso es una gran ganancia, ya que un usuario sin experiencia puede fácilmente particionar su disco e instalar Ubuntu sin darle cuello a la instalación de Windows.

Y hablando de la ganancia de Linux en general con la aparición de Ubuntu, la cosa se ve medio fea realmente, ya que si bien linux ha ido aumentando discretamente su uso en escritorios, Ubuntu se lleva al rededor de un 30% de las instalaciones, lo cual significa que la aparición de Ubuntu no aceleró la adopción de Linux en escritorio, sino que les quitó a las demás distribuciones una rebanada de su pastel.

Ahora, realmente hay detalles más importantes que podemos ver de Ubuntu, y el principal en mi opinion es que mantiene desarrolladores de SL, eso es algo que no se puede valorar suficiente, aun cuando la empresa sigue siendo “no productiva” en cuestion de ganancias netas, Mark Shuttleworth sigue invirtiendo dinero para que la empresa continue avanzando.

Como conclusión, en mi parecer Ubuntu no ha hecho un gran cambio para Linux, pero si para los desarrolladores que tiene contratados 🙂



Minefield – Firefox 3.1


Estoy escribiendo esta nota desde la version beta 2 de Firefox 3.1 (Minefield).

No está mal, supuestamente es mucho más rápido, pero eso todavía no me queda clarisimo, y para comprobarlo estoy corriendo el benchmark de sunspider, los resultados son estos:

Browser Resultado Liga
FF 3.1b2 6122.4ms +/- 8.1% Liga
FF 3.0.3 11782.4ms +/- 3.2% Liga

Firefox 3.0.3 (iceweasel en realidad) es casi 2 veces más lento que el Minefield, lo cual ya es ganancia :), todavía no es tan estable, pero hasta el momento todo lo típico funciona bien, gmail, reader, slashdot…

Y nunca está demás probar el acid3, que vemos en las siguientes 2 imágenes.

Minefield

Estable

En general me quedo bastante contento con la version beta, todo parece indicar que la versión 3 de FF va a lograr consolidarse despues de una larga etapa de dudas con respecto a regresiones de todo tipo.

Excelente !! 🙂



Actualización a WordPress 2.6.3


Hoy salió una actualización para WordPress la cual ya apliqué tanto a mi blog como a SLM

Esta version contiene una corrección a un problema de seguridad del sistema que importa noticias, puedes encontrar más info en el .



La evolución de la web


Recuerdo mis inicios en el interneis, hace como 13 años, cuando empecé a trabajar en la tesis de mi licenciatura, todo era feo, lo mejor era webcrawler y lycos, y en menos de lo que canta un gallo cada búsqueda en ellos nos daba un 90% de resultados relacionados con p0rn.

En aquellos tiempos ni siquiera había estándares decentes de HTML, es más, JavaScript apareció después, y no fue aprovechado para algo productivo hasta bien entrada la década del 2000. Una página bonita era la que tenia buenas animaciones en GIF !!, despues ya finalizando los 90’s, empezaron los frames, y se empezó a popularizar más el contenido multimedia (antes el internet servia para ver fotos y chatear en IRC/BBC), recuerdo que era la neta bajar cortos de películas (Pulp Fiction era mi preferida para buscar), curiosamente el formato MOV era la neta, luego MPEG llegó a ser popular también, hasta que llegó la era de la locura en los formatos de video con RealPlayer sacando el propio, luego M$ haciendo lo suyo, y así sucesivamente.

Recuerdo cuando empezó el royo del DHTML, que ahora conocemos con JavaScript/DOM, ahi fué cuando empezó a ponerse buena la cosa, ya se usaban los lenguajes para algo más que poner un texto movil en las páginas, ya podíamos ver layouts complejos !!, dinámicos, etc. Y bueno, más o menos por la misma época dimos el salto de páginas etáticas a las dinámicas, todo era CGI !!! afortunadamente no me metí a programar para web en esos entonces, que miedo !!, recuerdo que Perl se consolidó como “EL” lenguaje de programación, claro con otros como Java y no recuerdo que más, pero no se tardaron en crear lenguajes realmente amigables, como PHP (aunque ya existian desde hacia algunos años, no se hicieron populares hasta entrado el 2000), python, e incluso ruby, entre muchos otros menos populares, y bueno, no voy a dejar de mencionar cosas propietarias como las versiones de Java que sacó M$, que luego degenerarían (por las demandas en contra) en lo que es .NET ahora.

Pero bueno, ya desde hace unos 5 años a todo mundo le queda claro que el lenguaje no es realmente demasiado importante (sobre todo si no manejas demasiado tráfico), sino las habilidades de los programadores, y de los diseñadores para hacer cosas agradables a la vista, y funcionales de verdad.

De unos 3 o 4 años para acá (la cita aquella famosa del web 2.0), entramos en la transición más relevante que hemos tenido en esta década. Durante bastante tiempo Flash (no lo había mencionado !) acaparó totalmente el tema de las animaciones (los GIF simplemente se movian, pero no podría reaccionar facilmente a la interacción), la verdad es que Flash aportó mucho, pero hizo de la navegación web una experiencia frecuentemente desagradable para muchos de nosotros, no solo se llenaron las páginas de animaciones sin sentido, y menus con movimiento, sino que nos acostumbramos a entrar a una página para ver una barra con un mensaje de “Cargando n%”, que simplemente se volvió una locura, nadie podía hacer una página sin meterle flash, incluso me tocó trabajar (mi primer trabajo !) en una empresa que sucumbía a flash a la menor provocación, hasta recuerdo que hice el core de una aplición que en ese tiempo no era realmente muy factible con JavaScript (era demasiado lento todavía), en fin, una época horrible !!, pero no duró demasiado, porque justo por ahí del 2004-2005 empezó JavaScript a tomar muchisima fuerza (se usaba mucho desde antes) al grado de que dió paso a lo que ahora conocemos como web 2.0, que podría existir sin JavaScript, pero que se enriquece muchisimo de este.

Esta transición fué en 2 areas, una fué el inicio del uso de AJAX (curiosamente un invento genuino de M$ !!), así como la transición de páginas dinámicas a páginas comunitarias (wikis, blogs, foros, etc).

Afortunadamente con las mejoras que se le hicieron a JavaScript, de unos años para acá es dramáticamente menos probable encontrarse con páginas que tengan flash, y con ello no solo la vista mejoró, sino que hemos dejado de sufrir por la inestabilidad que Flash tenía a bien en darle a los navegadores.

También hemos ganado que cada empresa/grupo/organización que hace un navegador de web se preocupe realmente porque respete estándares, no solo de JavaScript, sino de CSS y HTML, hace 10 años era terrible ese problema, y ahora sigue siendo un dolor de cabeza (en gran medida por el MSIE), pero ya no es un problema tan serio, y existen buenas bibliotecas de JavaScript que “corrigen” los problemas de despliegue de MSIE principalmente.

Ahora vivimos en la época en la que es posible crear aplicaciones muy al estilo de lo que estabamos acostumbrado a usar en el escritorio, para ejemplos concretos y fáciles de acceder están todos los servicios de google, pero incluso hay ejemplos muy populares, que seguramente te has encontrado muchas veces en esta misma semana, como los editores de “texto rico” como tinymce, y otros menos populares, que son un muy buen ejemplo de lo que se puede hacer con JavaScript, no solo es una aplicación sencilla y completa para crear texto complejo en HTML, sino que además es totalmente portable es fácil de integrar a cualquier otra aplicación web, y funciona en prácticamente todos los navegadores que tiene las características para soportarlo.

En poco más de una década pasamos de maravillarnos con simples animaciones GIF, a tener una cantidad impresionante de juegos en Flash que hacen real gala de lo que es una animación dinámica, y ahora estamos en un punto en el que seguramente muy pronto va a ser posible crear grandes juegos en 3D a través de bibliotecas estilo OpenGL adaptadas a JavaScript, de tal manera que podamos abrir nuestro navegador, y visitar una página en la que podamos empezar a explorar un escenario de Quake Arena y empezar a disparar a diestra y siniestra.

Al menos eso espero yo 🙂