Recargas asíncronas

November 2nd, 2008

¿Qué es?
Básicamente sirven para poder jalar información para enseñarla en una página Web sin tener que recargar toda la página.  Dado que las páginas muchas veces tienen información que siempre es la misma (menús, banners, footers, headers, sidebars, etc) es más rápido sólo recargar el contenido en sí.

¿Que diferencia hay?
Multiprocesamiento. Lo cual permite que todo sea más rápido.

Tecnologías
HTML es un lenguaje orientado a eventos (click o no click), es completamente síncrono, no pueden existir dos eventos al mismo tiempo. Es decir, un solo proceso de forma secuencial.

Flash y AJAX son tecnologías que pueden usar eventos asíncronos. Pueden existir tantos eventos simultáneos como el PC pueda llevar a cabo y pueden ser de muchos tipos diferentes (interacción con todos los periféricos de la PC). Es decir “N” número de procesos en forma totalmente descontrolada (pero controlada por event Handlers).

Aunque AJAX surgió mucho después de Flash, pronto se volvió muy popular (eso dicen unos amigos que tengo, hahaha, que nerd) porque se basa en Javascript y este lenguaje no le pertenece a nadie. En cambio Actionscript es de Macromedia (hoy en día de Adobe).

Todo este post es para presentar un tipo de recargas asíncronas que no requiere de ninguna de esas dos tecnologías y funciona de la siguiente manera:

En un HTML se carga un IFRAME invisible (este va a ser el espacio donde se va a cargar continuamente la información), y los necesarios DIV’s (pueden ser otros tags, pero estos funcionan bien) como contenedores.
La idea es que los links cargan la información en el IFRAME, luego se le saca el innerHTML y se manda al DIV correspondiente. Si todo está bien planeado y bien organizado no hace falta tener wrappers extras como XML para transportar datos sino que directo en el IFRAME se puede cargar la info tal cual se vaya a desplegar y punto.
Recargas asíncronas sin necesidad de aprender Actionscript (LoadVars o XML) ni AJAX (HTTPRequest).

Saludos,
Gorka

¿Cómo jugar al dominó?

October 29th, 2008

Como neta ando bien ocupado entre los recorridos, nuevos diseños y nuevo sistema de TrotaMexico, aquí les va uno fácil:

Así que para los interesados en aprender dominó aquí van un par de cosas que tienen que saber:

1.- Para que el dominó sea divertido es obligatorio tomar un par de cervezas mientras uno juega (opcional: tomar Fernet para los que gusten, yo lo haría estando en Argentina).

2.- Igual que el truco es un juego entre amigos, y de la misma manera es recomendable molestar y burlar al otro cada vez que uno gana o cada vez que uno va a ganar o cada vez que uno quiera (opcional: beber cada vez que alguien gana y cada vez que alguien pierde; osea siempre).

3.- El dominó se juega de 4 personas, 2 y 2 en una mesa, suelo, tierra, parados, en la cola para las tortillas, para los tacos, en el super, en el coche, en la calle, por teléfono, etc. Las personas que se tienen enfrente juegan en equipo y el objetivo del juego es quedarse sin fichas. Para eso hay que ponerlas en el tablero de manera que números idénticos hagan contacto. Cuando una persona se queda sin fichas ese equipo gana la mano, se suman los puntos de las fichas que les quedaron al otro equipo y se anotan: el primero en llegar a 101 o más puntos pierde (Originalmente era a 100 pero para dar una segunda oportunidad si llegas a 100 puntos exactos puedes seguir jugando hasta que pases de 101, de hecho cuando un equipo llega exactamente a 100 y recupera y gana el juego eso se llama “LA CARRERA DEL INDIO”, en cual caso todos beben).

4.- El dominó es un juego de “CALLADOS”, es decir, está prohibido decir o hacer señas de que fichas se tiene. Decir que fichas tengo es considerado trampa y en el momento que una trampa se detecta se termina esa mano y el equipo tramposo paga 25 puntos. Cada persona debe recoger 7 fichas y sólo 7 fichas, si alguien llega a recoger 8 o más y las ve, en ese momento se termina la mano y el equipo del que “NO SABE CONTAR” (pues levantó más de 7 fichas) paga 25 puntos (opcional: todos beben uno o varios tragos de cerveza).

5.- Cuando uno gana una mano por cortesía el equipo contrario debe revolver las fichas para volver a escoger, esto se llama “HACER LA SOPA” o “REMAR”, mientras un equipo revuelve, los otros tienen tiempo de beber (cuando se han acabado las bebidas en la mesa se recomienda apostar en una mano al que pierda tiene que servir las bebidas de todos).

6.- Se juega empezando por el equipo que ganó la última mano (en la primera mano, se tira la ficha 6,6) y de ahí hacia la derecha de uno en uno.

7.- Es muy recomendable (no obligatorio, pero sirve mucho) saber contar del 0 al 6, pues…

el dominó es muy sencillo pero tiene sus mañas matemáticas: existen 7 fichas con cada uno de los números del 0 al 6 combinadas entre sí, es decir, el cero se combina con el 1,2,3,4,5 y 6; también el 6 se combina con todos, pero la combinación 0,6 sólo existe una vez, es decir es lo mismo 0,6 que 6,0. Parece trivial pero saber y entender esto es el secreto.

Sí sólo existen 7 fichas de cada una y en el tablero ya se han jugado 6 fichas del número 3 y en una de las esquinas está la posibilidad abierta del 3 y yo tengo esa última ficha quiere decir que estoy “FIRME” es decir que nadie más va a poder poner fichas en esa orilla pues yo soy el único con esa opción.

Estar “FIRME” es un arma de doble filo porque por un lado, estoy asegurando que nadie me puede hacer fallar (en terminología dominó es “PASAR” y lo común no es decirlo sino golpear levemente la mesa con el puño cerrado y seguramente beber), porque tengo una posición segura para una de mis fichas PERO… si sólo hay 7 fichas de cada una y ya hay 6 en la mesa y yo tengo la ultima lo único que tendrían que hacer las demás personas para “adivinar” que ficha tengo yo, es contar cual de las 7 es al que falta. Entonces sí, por un lado tengo asegurado un tiro pero todos saben que ficha tengo: y cuando yo juegue esa ficha ya van a saber de antemano que posibilidad va a abrir, es decir si me quedaba el 3,4 (FIRME AL 3) cuando yo la tire va a quedar abierto el 4 (de ahí ya se pueden ir haciendo especulaciones para ver que más tirar).

Si logras estar “FIRME” cuando te queda una sola ficha ya no hay manera que te hagan “PASAR” o fallar así que puedes dar por asegurada la mano, por lo tanto, se recomienda quedar “FIRME” si uno quiere ganar. Y lo recomendable cuando uno está “FIRME” es no tirar esa ficha a menos que no se tenga otra opción.

¿Pero qué pasa si yo estoy “FIRME”? Las otras tres personas tienen un espacio menos para tirar fichas, incluyendo al compañero, hay que tener cuidado porque podría ser contraproducente quedar FIRME: cuando se juega el primero en jugar es el que “LLEVA LA MANO” de la mesa, también “LLEVA LA MANO” de su equipo y el que le sigue por ende es el que “LLEVA LA MANO” del equipo contrario. Llevar la mano significa que yo tengo la oportunidad de ganar pues soy el que tira fichas antes que todos.

Si estamos jugando y yo no “LLEVO LA MANO” y quedo “FIRME” debo tener en cuenta que la persona a mi izquierda “TOMARÍA LA MANO” de la mesa en caso que mi compañero fallara entonces al yo quedar “FIRME” puede ser que haga que mi compañero “PASE” y el equipo contrario “OBTENGA LA MANO” y ganen, con todo y que yo estaba “FIRME” (por eso hay que tener cuidado).

Eso es con lo básico, practiquen un poco y después te iré contando las demás frases y secretos y situaciones para beber.

Glosario extra:

TIRAR –jugar una ficha; “¿Por qué tiraste el 3,4 y no el 3,2 Juan? Tiré porque así me pareció lo correcto.

Saludos,
Gorka

Ideas en Renta #2

September 13th, 2008

Siempre tuve ganas de hacer una película acerca de dos personas que van platicando acerca de como harían una película de humor (cínico) en México, donde se burlarían de actores, conductores, situaciones actuales. Todo esto metido en un desarrollo en el cual van planeando que lleva la película: perfiles de los protagonistas; desarrollo de situaciones obvias vs. situaciones que rompen; como serían los actores; todo de manera metanarrativa.

El gran final sería contar que están haciendo un ejercicio para un taller literario en el cual tienen que caminar todo el día platicando y desarrollando una idea (algo así como meta-metanarrativa).

Saludos,
Gorka

Instalando PHP & MySQL en IIS7

September 6th, 2008

El problema al instalar PHP en el IIS7 es que hay que escoger entre hacerlo como modulo ISAPI o que corra sobre CGI (para desarrollo no existe verdadera diferencia, pero parece ser que para producción se recomienda el modulo ISAPI por desempeño). Si escoges ISAPI no carga las librerias externas que se necesitan para conectar con Bases de Datos (mi problema fue con php_mysql.dll pero probablemante pase para php_mysqli.dll y para postgre, oracel, mssql, etc) cuando se ejecuta desde un script en el IIS (si se ejecuta desde la línea de comandos, todo va bien, pero para que diablos quiere uno algo así? Si se está instalando PHP y MySQL lo MÁS probable es que sea para Web, así que es obvio que vamos a correr los php’s desde wwwroot (o de lo contrario es que eres un super nerd desagradable que gusta de correr los php’s en un ambiente de línea de comando de hueva)), y por el otro lado parece que si se escoge usar CGI hay un problema con SESSION, pero aquí eso no importa porque escogimos la primera opción:

Cuando das de alta PHP como modulo ISAPI hace falta dar de alta también un Filtro ISAPI en el IIS que apunte al mismo .dll de PHP (probablemente php5isapi.dll) y listo! Nada de cambiar versiones de libmysql.dll ni de revisar las configuraciones por horas!

Casi todo un día perdido buscando esta pinche solución, y el problema es cuando buscas por esto ya aparecen sólo guías para instalar PHP, MYSQL y IIS, lo cual es de hueva, ya dejen de copiar contenido para jalar tráfico, aquí está una que encontré después de solucionar el problema que lo explica también:

http://www.canerten.com/php-installation-with-extensions-mysql-for-iis7-in-windows-vista/ 

No para lo que acostumbro, pero si llegaste aquí por este tema específico, me lo agradecerás.

Saludos,
Gorka

FE DE ERRATAS - (No por error de ortografía, sino por odio y falta de tolerancia) Maten al que hizo IIS7, cambien toda su configuración: saquen todo lo de los filtros ISAPI de PHP, y pongan el handler (que era php5isapi.dll) al php-cgi.exe y maten a cualquiera que vean que trabaje para Microsoft.
Esto porque una vez que logran usar la extensión mysql y creen que todo es cuesta abajo se van a dar cuenta que otras librerías derepente tampoco cargan, a mi me pasó con curl.

http://bugs.php.net/bug.php?id=39163

Installing PHP & MySQL on IIS7

September 6th, 2008

The problem was getting PHP to tun on IIS, you need to choose to either do it as an ISAPI Module or through CGI (for development purposes there’s no real difference but for production there is better performance through ISAPI). After choosing ISAPI I found out that some specific libraries weren’t being loaded to control Data Bases (for me it was php_mysql.dll but this probably happens for php_mysqli.dll, postgre, oracle, mssql, etc) when the PHP script was running from IIS (if executed from command line everything was ok, but who would want to do that? Setting up PHP and MySQL is most definetely for Web, so obviously we’d want PHP script to run on IIS (or hell, you might be some left behind forever nerd developing Web scripts through command line, in which case, shoot yourself)). On the other hand there seemed to be an issue with SESSION if you chose using CGI, but I chose the first option.

When mapping PHP to ISAPI there’s one more thing to do: add an ISAPI filter pointing to the exact same .dll from PHP (probably php5isapi.dll) and done! No switching libmysql.dll versiones, no looking through configuration files for hours!

I found this guide after solving the thing:

http://www.canerten.com/php-installation-with-extensions-mysql-for-iis7-in-windows-vista/

Not very a popular subject but believe me, if you don’t arrive here by accident you’ll thank me.

Cheers,
Gorka

TOP NEWS - Kill whoever developed IIS7, change everything: take out everything about the ISAPI filters for PHP, and take the handler (it used to be php5isapi.dll) to php-cgi.exe and kill anyone that works for Microsoft.
Once everything seemed to work with the mysql extension some other libraries start failing, with me it was curl, ergo…

http://bugs.php.net/bug.php?id=39163

Experimento #6: GOD

August 25th, 2008

Generated
On
Demand

Se propone un programa de computadora que cree archivos que le sean solicitados al momento que le sean solicitados. El archivo recibirá el código del programa que tendrá que crear (o un pseudocódigo con algún tipo de encripción para manejo fácil).
El programa contará con un subprograma índice donde se listarán todos los archivos que el programa puede crear. La idea del índice es lograr que los buscadores de Internet indexen los archivos creados por el programa. Tales buscadores indexarán el contenido de los archivos (sean lo que sean) de tal manera que cuando alguien solicite alguno de los archivos (por su contenido) sólo tendrá que acceder a través del link proporcionado por los buscadores (sin tener que buscar el archivo en GOD).

Al utilizar el sístema de índices de los buscadores de Internet el programa  podrá crear CUALQUIER archivo que se le solicite (virtualmente dado que los buscadores guardan su información en bases de datos que tienen límite) sin tener realmente guardado tal archivo.

De esta manera se podrá generar tanto o más contenido para Internet dentro del programa del que hay hoy en día en la Web.

Proximamente una versión inicial de este programa.

Saludos,
Gorka

Ideas en Renta #1

June 28th, 2008

La idea es que cuando mueres te dan un gran libro con todos los reportes de lo que hiciste en tu vida:

- Cuanto líquido tomaste
- Cuanto alcohol tomaste
- Cuanto sudor liberaste
- Cuantos pasos diste
- Cuantos escalones subiste
- Cuantas palabras dijiste
- Cuantas palabras dijiste sin realmente conocer su significado
- Cuantas veces mentiste
- Cuantas veces insultaste
- Cuantas veces insultaste a un arbitro y estabas en lo correcto
- Cuantas veces insultaste al arbitro y estabas equivocado
- Cuantas veces perdiste argumentos en los que estabas en lo correcto y no fuiste lo suficientemente terco
- Cuantas veces peleaste por cosas tercamente y estabas equivocado
- Cuantos minutos de musica escuchaste
- Cuantas veces dijiste que ibas a hacer algo que después no hiciste
- Cuanta comida comiste
- Cuantas veces no te fijaste que podías levantar chicas
- Cuantas veces por no intentar algo dejaste pasar algo que podías haber hecho
- Cuantos libros leiste
- Cuantas palabras leiste
- Cuantas ideas tuviste
- Que porcentaje de ideas llevaste a cabo
- Cuantas personas te conocían
- Cuantas personas te hubieran seguido si hubieras decidido iniciar una guerra
- Cuantas personas escucharon hablar de tí pero no te conocían
- Cuantas personas que no conocías hablaban bien/mal de tí
- Cuantas veces te equivocaste al dar una vuelta
- Cuantas personas se enamoraron de tí
- Cuantas canciones cantaste
- Cual fue la canción que más escuchaste
- Cual era la canción que más querías escuchar pero no nunca te acordabas/supiste el nombre
- Cuantos abdominales/lagartijas/sentadillas hiciste
- Cuando te diste cuenta que estabas vivo
- Cuando tomaste conciencia de tu propia conciencia
- Cuantos sueños tuviste
- Que porcentaje de sueños recordaste
- Cuantas veces viste las estrellas
- Cuantas horas viste TV
- Cuantos comerciales te sabes de memoria
- Cuantos amigos te hubieran protegido de una bala
- Cuantos amigos tuviste
- Cuantas personas conociste
- Cuantas cervezas tomaste de más
- Cuantas veces querías tomar una cerveza y no había
- Cuantas veces sabías/habías pensado algo que NADIE más
- Cuantas veces viste cosas que creiste que no existían y SÍ estaban ahí
- Cuantas palabras escribiste que le cambiaron la vida a otras personas
- Cuantas veces esperaste que alguien participara en una idea que tuviste

Saludos,
Gorka

¿Qué me motiva?

June 28th, 2008

Aprender… con la esperanza de que tal vez, algún día, pueda saber.

Saludos,
Gorka

Mi blog es víctima de Spam

June 24th, 2008

Hoy en día encontramos spam hasta en la sopa, los sistemas de los blogs son perfectos para programas que buscan dejar comentarios que a simple vista son ordinarios pero realmente están llenos de links que buscan jalar gente a diferentes sitios (en otros casos esos links buscan hackear los sistemas de blog robando contraseñas, esto no es tan difícil así que mi recomendación es que NUNCA hagan click en un link de un comentario spam).

La estructura típica de esos comentarios incluye parrafos que podrían considerarse correctos excepto por pequeños errores en frases específicas que son links y se repiten muchas veces, ejemplo (sólo de manera ilustrativa):

Una guía de viajes culturales por México. Una manera de respetar y aprender todo lo que México ofrece vista desde los ojos que viajan Mexico. Para tus Viajes México puedes aprovechar nuestra guía de Viajes Mexico. Desde hoteles, restarurantes, todo lo que busques cuando quieras Viajes por México con recomendaciones de viajeros que ya hicieron sus Viajes por Mexico. Viajes en México es una comunidad donde esperamos que cuentes tus Viajes en Mexico para que otros puedan Viajar México. La idea es difundir la esencia de Viajar Mexico através de sus leyendas y costumbres. Ya sabes para Viajar por México puedes usar la guía Viajar por Mexico. Gracias y no dejes de usar la guía de viajes culturales por Mexico.

Para todos aquellos que se sienten felices de recibir comentarios de personas que no conocen y creen que el comentario es un poco desatinado, pero aún así lo quieren dejar, lo más probable es que sea Spam.

Quedan advertidos.

Saludos,
Gorka

PaperVision 3D

June 18th, 2008

Para todos los interesados, PaperVision3D es un componente (gratuito) para Flash (para la versión 8 y CS3 ) donde se puede simular en ambiente en 3D. Lo que se puede lograr es increible y además no usa tantos recursos como se creería, lo que promueve su uso para Web.

Échenle una revisada a su página para que me entiendan: PaperVision 3D.

Saludos,
Gorka