31 de marzo de 2009

Facebook FQL: accediendo a la tabla users

¿Cómo accedemos a la tabla users? Pues de esta manera:
$fql = "SELECT * FROM user ". $fqlAmigos;
$resultado = $facebook->api_client->fql_query($fql);

¿Qué contenido tiene la tabla users? Pues contiene lo siguiente (clasificado por campo):
  • identificador: uid
  • nombre: first_name
  • apellidos: last_name
  • foto pequeña (máx 50*150): pic_small
  • foto grande (máx 200*600): pic_big
  • foto carnet (50*50): pic_square
  • foto media (100*300): pic
  • redes a las que está afiliado el usuario: affiliations
  • hora de la última actualización del pérfil: profile_update_time
  • zona horaria: timezone
  • religión: religion
  • cumpleaños: birthday
  • género (sexo): sex
  • localidad donde nació: hometown_location
  • género (sexo) de las personas que desea conocer: meeting_sex
  • razones por las cuales quiere conocer a otros usuarios: meeting_for
  • estatus de su relación actual: relationship_status
  • identificador de su pareja: significant_other_id
  • ideas políticas: political
  • localidad donde vive: current_location
  • actividades: activities
  • intereses: interests
  • ¿Es usuario de tu aplicación?: is_app_user
  • música que le gusta: music
  • programas de TV favoritos: tv
  • películas favoritas: movies
  • libros favoritos: books
  • frases favoritas: quotes
  • instituo de secundaria: hs_info
  • historial educativo: education_history
  • historial laboral: work_history
  • notes_count (Este no entiendo muy bien que hace)
  • número de mensajes enviados a su muro: wall_count
  • estado del usuario en Facebook: status
  • estado del usuario en el chat de Facebook: online_presence
  • código de la localidad (esto es más para USA): locale
  • email "interno" para enviar mensajes al usuario: proxied_email
  • url del usuario: profile_url
  • email_hashes (no me aclaro con este campo)
  • foto pequeña con logo de Facebook: pic_small_with_logo
  • foto grande con logo de Facebook: pic_big_with_logo
  • foto carnet con logo de Facebook: pic_square_with_logo
  • foto media con logo de Facebook: pic_with_logo
  • restricciones por edad (ahora mismo sólo alcohol): allowed_restrictions
  • usuario verificado: verified
Bueno, pues fijáos si tenéis acceso a datos para hacer una aplicación interensante, por no hablar de las empresas de marketing online que están deseando tener tooooodos esos datos.

29 de marzo de 2009

Actionscript 2.0: Un pequeño juego de coches a medias

Este fin de semana estaba aburrido y me he puesto a desarrollar a modo de prueba un juego de coches basándome en el maravilloso tutorial de Gamesheep.com.

La semana que viene si tengo tiempo le meteré uno o dos coches rivales a ver que tal. Y si me queda algo decente colgaré el código fuente.

28 de marzo de 2009

Facebook FBML: Cómo activar Google Analytics

Cuando hemos desarrollado una aplicación para Facebook en modo Canvas nos puede interesar tener una medición estadística de las visitas de la aplicación mucho más detallada de la que nos ofrece Facebook. Una buena opción es usar Google Analytics.

¿Cómo usarla? Pues fácil, aquí va un ejemplo con el código de analytics UA-111111-11.

<fb:google-analytics uacct="UA-1111111-11"></fb:google-analytics>

En el código HTML de la página -lo que leería Google- se verá esto:

<script src="https://ssl.google-analytics.com/urchin.js" type="text/javascript"> </script>
<script type="text/javascript">
_uacct = "UA-1111111-11";
urchinTracker();
</script>

Fácil de usar :)

27 de marzo de 2009

Facebook: ¿Qué es el FQL?

FQL es la versión de SQL que Facebook pone a tu disposición cuando estás desarrollando una aplicación para Facebook.

Un ejemplo práctico para obtener el nombre y la foto de un usuario:
SELECT name, pic FROM user WHERE uid=33223311

¿Cómo hacer para ejecutarlo bajo PHP?
$fql = "SELECT name, pic FROM user WHERE uid=33223311";
$resultado = $facebook->api_client->fql_query($fql);

Útil y sencillo :)

PHP: Listado de funciones que se están ejecutando en un fichero PHP

Muchas veces me he visto editando proyectos de otro programador en los cuales no tengo acceso a una documentación decente. Si el proyecto que debo modificar ha sido creado con desorden o bien con prisas muchas veces las cosas no están por lógica donde deberían estar y para saber que funciones se están utilizando (o se pueden utilizar) te puedes volver loco.

PHP nos ofrece una instrucción genial para facilitarnos la vida en estos casos, get_defined_functions()

Al ejecutarla nos devuelve una matriz con todas las funciones definidas al ejecutar ese fichero PHP.

Aquí tenéis un ejemplo de como usuarla, añadir este código al PHP del proyecto que os esté mareando:

$matriz = get_defined_functions();
print_r($matriz);

Simple pero útil. Por cierto, relacionadas con esta instrucción tenemos también a get_defined_vars() (sirve para obtener el listado de las variables definidas) y get_defined_constants() (sirve para obtener el listado de las constantes definidas).

26 de marzo de 2009

Personal: La canción del pirata

No tiene nada que ver con el blog, pero sí conmigo hoy, me apetece poneros esta poesía de Espronceda (muy conocida en España):

Con diez cañones por banda,
viento en popa, a toda vela,
no corta el mar, sino vuela
un velero bergantín.
Bajel pirata que llaman,
por su bravura, El Temido,
en todo mar conocido
del uno al otro confín.

La luna en el mar riela
en la lona gime el viento,
y alza en blando movimiento
olas de plata y azul;
y va el capitán pirata,
cantando alegre en la popa,
Asia a un lado, al otro Europa,
y allá a su frente Istambul:

Navega, velero mío
sin temor,
que ni enemigo navío
ni tormenta, ni bonanza
tu rumbo a torcer alcanza,
ni a sujetar tu valor.

Veinte presas
hemos hecho
a despecho
del inglés
y han rendido
sus pendones
cien naciones
a mis pies.

Que es mi barco mi tesoro,
que es mi dios la libertad,
mi ley, la fuerza y el viento,
mi única patria, la mar.

Allá; muevan feroz guerra
ciegos reyes
por un palmo más de tierra;
que yo aquí; tengo por mío
cuanto abarca el mar bravío,
a quien nadie impuso leyes.

Y no hay playa,
sea cualquiera,
ni bandera
de esplendor,
que no sienta
mi derecho
y dé pechos mi valor.

Que es mi barco mi tesoro,
que es mi dios la libertad,
mi ley, la fuerza y el viento,
mi única patria, la mar.

A la voz de "¡barco viene!"
es de ver
cómo vira y se previene
a todo trapo a escapar;
que yo soy el rey del mar,
y mi furia es de temer.

En las presas
yo divido
lo cogido
por igual;
sólo quiero
por riqueza
la belleza
sin rival.

Que es mi barco mi tesoro,
que es mi dios la libertad,
mi ley, la fuerza y el viento,
mi única patria, la mar.

¡Sentenciado estoy a muerte!
Yo me río
no me abandone la suerte,
y al mismo que me condena,
colgaré de alguna antena,
quizá; en su propio navío
Y si caigo,
¿qué es la vida?
Por perdida
ya la di,
cuando el yugo
del esclavo,
como un bravo,
sacudí.

Que es mi barco mi tesoro,
que es mi dios la libertad,
mi ley, la fuerza y el viento,
mi única patria, la mar.

Son mi música mejor
aquilones,
el estrépito y temblor
de los cables sacudidos,
del negro mar los bramidos
y el rugir de mis cañones.

Y del trueno
al son violento,
y del viento
al rebramar,
yo me duermo
sosegado,
arrullado
por el mar.

Que es mi barco mi tesoro,
que es mi dios la libertad,
mi ley, la fuerza y el viento,
mi única patria, la mar.

25 de marzo de 2009

PS3: Street Fighter IV

Bueno, pues ha caído en mis zarpas la última entrega de la legendaria saga de lucha de Capcom. Y bueno, ¡¡¡ES LA CAÑAAAAAAAAAAAAAAAAA!!!


Street Fighter IV es una obra cumbre de la historia de los videojuegos, es la cima de cualquier juego de lucha en un plano de 2 dimensiones. ¿Qué por qué todas estas alabanzas?

Pues porque tiene una mecánica asombrosa, sencilla, profunda, divertida, elegante, innimitable. Porque tiene unos gráficos increíbles, un motor suave, espectacular y unos diseños de personaje abracadabrantes. Porque su canción inicial (de Exile) es genial, su presentación alucinante y sus sonidos muy buenos. Porque su modo online es suave, fluído, divertido, infinito.

En fin, que es un juego casi perfecto. Criticarle sólo el nivel desigual de algunas de sus músicas. Por lo demás casi perfecto, todo un clásico, imprescindible.

Ah, y está también para XBOX 360, y para PC :)

Valoración: 9.5/10

23 de marzo de 2009

Frikadas: Y Marco encontró a su mamá...

No he podido evitar poneros aquí el momento legendario en el que Marco, uno de los héroes de mi más tierna infancia, encuentra a su madre:



Para que luego digan que Youtube no sirve para nada :)

Windows:Tracert

Tracert es el comando que sirve para realizar una traza de la transferencia de paquetes de un ordenador hasta otro, ya sea en Internet o en una red local.

Tracert te muestra los nodos a los que van llegando tus paquetes, en el momento que se corta ya sabes donde está el problema.

Es muy útil cuando no te funciona Internet o cuando un determinado sitio web no te carga para saber si es un problema de tu proveedor de Internet o de la web en cuestión.

Para ejecutarlo tenéis que entrar en la consola de comandos de Windows ya sea utilizando su icono de acceso o ejecutando "cmd" en ejecutar programas.

Si queréis que os guarde el listado de las trazas en un fichero de texto tan sólo tenéis que ejecutarlo de la siguiente manera tracert www.google.com >trazas.txt

En Unix/Linux se utiliza traceroute.

22 de marzo de 2009

XBOX 360: Prince of Persia

Ayer me terminé Prince of Persia, que viene a ser la última entrega de la legendaria saga creada en 1989 por Jordan Mechner. La he jugado en XBOX 360, aunque ha sido publicada también para PS3, para Windows y para Mac OS X.

El argumento sitúa a nuestro príncipe favorito en un valle misterioso en el que debe ayudar a una princesa dotada de poderes mágicos -Elika- a aprisionar al malvado dios de la oscuridad, Arhiman.

La mecánica del juego consiste en ir avanzando por una serie de escenarios mediante acrobacias y saltos de plataforma. De vez en cuando tendremos que hacer uso de la espada para enfrentarnos con algunos enemigos corruptos y con los malos malosos finales, de todas maneras enemigos hay muy pocos.

A nivel gráfico el juego es espectacular, la dirección de arte del mismo es maravillosa con unos diseños de personajes y decorados excepcionales. El motor gráfico del juego es muy suave, pero sigue arrastrando unos horribles cuelgues que ya hemos sufrido en otros juegos de Ubi soft cómo Assasin's Creed o Naruto. Espero que en PS3 no se cuelgue tanto.

La música es soberbia y el doblaje es de calidad, aunque las entonaciones no encajan muchas veces con el momento en que se haya la historia.

El juego es divertido, pero termina haciéndose repetitivo, menos mal que la historia dura el tiempo justo. Por cierto, el final del juego a nivel argumental es un poco decepcionante.

En conclusión, un juego que podría haber sido un clásico y que se ha quedado en un juego entretenido por unas horas.

Valoración: 6/10

21 de marzo de 2009

Email marketing: Landing page

En el marketing online, se denomina landing page (o página de aterrizaje) a la página web a la que llega el usuario al hacer click en algún enlace o banner situado en un correo electrónico o en publicidad dentro de una web.

Esta página web puede consistir o bien en una extensión del anuncio de promoción, o bien en un motor de compra para efectuar la adquisición del producto o servicio promocionado. Normalmente suele ser una mezcla de las dos cosas.

Os pongo a continuación algunos ejemplos:
Cómo véis las Newsletter se centran siempre en pocos contenidos, muy visuales y con muchos enlaces a sus correspondientes páginas de aterrizaje.

Una buena landing page está siempre preparada para permitir la compra o contratación inmediata del producto o servicio. La decisión de la compra se suele tomar con el corazón, y si alguien tiene en ese momento el deseo de la compra caliente en el pecho se lo tenemos que poner fácil, instantáneo, que antes de darse cuenta ya haya pasado su tarjeta.

En conclusión, cuidemos nuestras landing pages como se merecen. Sin ellas una campaña de emailing no sirve para nada.

20 de marzo de 2009

FBML: Cómo mostrar una película Flash

Con el tag Fb:swf.

Os pongo aquí un ejemplo real y fácil:

<fb:swf swfbgcolor="000000" imgstyle="border-width:3px; border-color:white;" swfsrc='http://www.videojuegosparachicas.com/src/almacen/propio/swf/videojuegosparachicas.com_moon_star_hunter.swf' imgsrc='http://www.videojuegosparachicas.com/src/almacen/miniaturas/578.jpg' width='640' height='480' />

Para más información sobre como mostrar una película Flash con FBML haz click aquí.

19 de marzo de 2009

XBOX 360: Trailer anuncio de Lost Planet 2

Tiene una pinta alucinante. Todavía no tengo confirmación de que salga también para PS3.

15 de marzo de 2009

Windows: como crear una lista de tareas FTP

En ocasiones necesitamos programar un tarea para subir ficheros a un servidor remoto vía FTP. En el mercado hay muchos programas -tanto gratuitos como de pago- que sirven para esta tarea. Pero si no os apetece gastar vuestro tiempo en la búsqueda del programa adecuado hay una manera muy sencilla de hacerlo.

¿Cual es esa manera tan sencilla de hacerlo? Pues creando un pequeño script con las tareas que queremos que se ejecuten en el FTP y ordenando al programa FTP que trae por defecto Windows que las ejecute.

Por ejemplo, imaginemos que queremos subir el fichero prueba.txt al servidor FTP de www.pruebas.com en la carpeta /public_html/pruebas/.

Pues tendríamos que crear un fichero de script con el siguiente nombre tareaftp.src (el nombre del fichero da igual) y poner en él el siguiente contenido:
open ftp.pruebas.com
usuario (aquí va el usuario ftp)
clave (aquí va la clave)
cd /public_html/pruebas/
put prueba.txt
bye


Una vez tuviésemos este fichero generado tan sólo habría que ejecutar desde la línea de comandos la siguiente instrucción ftp -s:tareaftp.src

Si queremos que esta tarea se ejecute de manera periódica deberemos utilizar el programador de tareas de Windows para ejecutar esta instrucción.

Tened en cuenta que este script está pensado para estar almacenado en la carpeta de los ficheros que deseéis subir al servidor, si lo queréis en otra carpeta tendríais que cambiar el contenido de la instrucción put.

Si os interesa tener un log con los resultados de cada uso utilizad ftp -s:tareaftp > log.txt (o el nombre del fichero de log que prefiráis).

Pues ya está, espero que a alguien le sea útil :)

13 de marzo de 2009

ZX Spectrum: 100 juegos de Spectrum

Me he encontrado este vídeo en YouTube con un refrito de 100 juegos de ZX Spectrum, está chulo :)

11 de marzo de 2009

XBOX 360: Stranglehold

Me terminé este juego el sábado pasado después de unas 7 u 8 horas de caña intensa. Es el típico shooter en 3ª persona en la que el héroe debe eliminar a innumerables hordas de mafiosos chinos y rusos para salvar a la chica de turno (en este caso a las chicas, su exnovia y su hija) utilizando toneladas de armamento.

El juego está plagado de momentos de cine made in Honk Kong y de escenas de tiempo bala. Gráficamente es un juego bien realizado, tiene una música que le viene como anillo al dedo y está doblado al español.

En fin, que por 10 € (le ha costado eso a mi hermano Pepe) es una gran compra para pasar una semana entretenida, eso sí, 15 días después ni te acordarás de que iba el juego.

Valoración: 6/10

9 de marzo de 2009

Videowweb: World Builder


World Builder from Bruce Branit on Vimeo.

Vía infonomada he descubierto este maravilloso corto CGI. ¡Impresionante!

6 de marzo de 2009

Wordpress: Cómo crear una galería

  1. Entramos en el panel de administración de Wordpress.



  2. Editamos o creamos una página o un post.

  3. Hacemos click en el icono de galería y subimos varias imágenes.


  4. Escribimos [gallery] en el contenido del post o página (en la zona que quedamos que aparezca).

5 de marzo de 2009

Firefox supera a Internet Explorer 6 en cuota del mercado

De acuerdo a las estadísticas de Statcounter.com Firefox 3.0 tiene más usuarios que Internet Explorer 6. Pero que no se me asuste nadie, que Internet Explorer 7 sigue siendo el navegador más usado con diferencia, bueno, con cada vez menos diferencia.

¿Superará Firefox algún día al navegador de Microsoft? ¿Le cortará Google algún día el grifo económico a la fundación Mozilla? El tiempo lo dirá.

Source: StatCounter Global Stats

2 de marzo de 2009

ZX Spectrum: Nivel homenaje en Little Big Planet de PS3

Tengo que descargarme este nivel y probarlo, recomendado para todos los amantes del Spectrum :)

1 de marzo de 2009

Citas célebres: una de Borja Piertro en desencadenado.com

"si te visitan mil [visitantes], alguno de ellos tiene que ser un imbécil"

Sobre los que utilizan los comentarios para insultar...

Actionscript 3.0: Hola mundo

Os adjunto en este post un ejemplo muy simple de "Hola Mundo" con Actionscript 3.0.

En él os vais a encontrar con 3 ficheros:
  • HolaMundo.as : La clase con el código para imprimir "Hola mundo" en pantalla.
  • holamundo.fla: El fichero fla en el que se importa la clase y se instancia el objeto. Para simplificar todavía más las cosas en este ejemplo contiene una instancia con un campo de texto dinámico (he evitado crear la instacia desde la clase HolaMundo para hacerlo más sencillo).
  • holamundo.swf: El fichero holamundo.fla compilado.

Espero que este ejemplo os sirva de base a los perezosos que aún no os hayáis decidido a programar actionscript utilizando clases :)