Si Nintendo hubiera hecho Halo 3
Posted by yolio in halo3, nintendo, video, videojuegos, xbox on domingo, 11 de mayo de 2008
Risa... memorias... me falta el aire...
Definr y Groovy: ¡Fácil!
Posted by yolio in codigo, groovy, programacion on lunes, 31 de marzo de 2008
Hoy vamos a ver un mini-ejemplo de código en Groovy que puede resultar muy útil.
class Definr{
static String define(String word){
def html = "http://definr.com/$word".toURL().text
def definr = new XmlSlurper().parseText(html)
definr.body.div.div.toString()
}
}
def definicion = Definr.define("signature")
println definicion
El código muestra una clase llamada Definr que tiene un único método static llamado define que recibe como parámetro la palabra de la que se quiere su definición y la devuelve como un simple String.
Para que Definr nos muestre una página con el significado que buscamos, podemos construir un URL con el siguiente formato: "http://definr.com/palabra" donde "palabra" es sustituida por el término que queremos definir.
Utilizando la magia de las cadenas sexy de Groovy (GStrings), escribimos "http://definr.com/$word" y automáticamente, Groovy sustituirá la cadena"$word" por el valor del parámetro pasado a define.
Empleamos el método toURL de la cadena que construimos para obtener un objeto java.net.URL y con el método text, Groovy se encarga de hacer un request y guardar en la variable html el texto de respuesta. Así de fácil, así de sencillo.
Ahora, en medio de todo ese texto que recibimos se encuentra la definición.
<html>
<head>
...
</head>
<body>
...
<div>
<div> La definición </div>
</div>
</body>
</html>
Ya que la estructura de xml y html son muy semejantes (y asumiendo que Definr sigue buenas prácticas en la generación de html), utilizamos un XmlSlurper. XmlSlurper es una clase que recibe un documento xml y nos permite navegar de manera "Groovy" su estructura.
definr.body.div.div.toString() //De definr pasamos al body, luego al primer div, donde encontramos el div con el significado
Dicho y hecho, viendo la estructura de la página resultado, podemos "descender" a través de los nodos hasta llegar al elemento "div" que contiene el significado. Utilizamos toString para obtener el texto dentro del elemento y lo regresamos. Nótese que Groovy no requiere el uso de return. Como el método define es estático, no necesitamos una instancia de la clase Definr para invocarlo.
Y obtenemos la definición (programming):
programming (http://definr.com/programming)
n 1: setting an order and time for planned events [syn: scheduling,
programing]
2: creating a sequence of instructions to enable the computer
to do something [syn: programing, computer programming,
computer programing]
Y así, en tan solo 7 líneas, con un código claro y conciso, aunque dejando un poco de lado la validación del parámetro, obtuvimos el contenido de una página web y extrajimos los que nos importaba.
Existen muchos "servicios" web para los que podemos utilizar la misma técnica de construir URLS y "parsear" el contenido para sacar algo de manera muy conveniente y utilizarlo en nuestras aplicaciones.
Ejemplo: Domino's Pizza ofrece un servicio web de rastreo de nuestro pedido (por el momento solo en EU). Desde ésta URL "http://trkweb.dominos.com/orderstorage/GetTrackerData" y agregando como parámetro nuestro número telefónico, e.g. "http://trkweb.dominos.com/orderstorage/GetTrackerData?Phone=1234567890" obtenemos un documento con el que podemos saber si nuestra pizza ya está en camino o aún está en el horno.
Aquí pueden ver un ejemplo de ésto en Python.
Groovy es un lenguaje muy divertido y fácil de usar. Se los recomiendo. Tal vez la próxima vez, muestre cómo construir una simple interfaz gráfica para nuestro "diccionario", en muy pocas líneas. Compartan sus dudas e ideas en los comentarios.
Homero y Mario en "persona"
Me encontré en Pixeloo, estas imágenes tan curiosas como espeluznantes. Son una representación muy "humanizada" de Mario y Homero en las que se ven detalles como los poros y pliegues de la piel. El autor explica que logró éste efecto utilizando varias fotos superpuestas de personas normales y una imagen en "caricatura" de los personajes.

¡Operadora, deme el número del 911!Homer SimpsonIt´s a mee! Mario!Mario
Serj Tankian - Sky is Over
En éste post les presento un nuevo video de Serj. La canción es "Sky is Over". Véanlo y escriban su opinión en los comentarios.
Elect the Dead: Una obra maestra
Posted by yolio in música on domingo, 25 de noviembre de 2007
Elect the dead, la primera producción de Serj Tankian como solista, se ha convertido sin lugar a dudas en mi disco favorito. Cada canción es una muestra impresionante de la habilidad vocal de Serj, ya que interpreta además de la voz principal, las voces secundarias, coros, voces en off. Serj es muy reconocido como un poeta moderno, que no tiene miedo de alzar la voz y cantar su ideología, la cual imprime en cada palabra de la lírica en este álbum.
Serj realizó la mayor parte de la producción de éste disco, pero cuenta con participaciones de otros artistas, entre los que destacan, John Dolmayan (compañero baterista de System of a Down) y Bryan Mantia (baterista actual de Gun's N' Roses); además, para cada canción se realizó un video, cada uno dirigido por un director distinto y cada cual le da su interpretación personal a la música, y entre ellos hay muchos reconocidos por su trabajo con otras grandes bandas.
Sin lugar a dudas es un deleite escuchar cada canción. Es de los pocos cantantes, sino es que el único, que me ponen la piel chinita. A muchos no les gusta, y no soy un experto en música, pero sé lo que me gusta, y de ello, ésto es lo mejor.
Enlaces:
- serjtankian.com (Sitio oficial): Ahí pueden ver cada uno de los videos y claro, escuchar la música.
Salvándonos!!
Posted by yolio in música on domingo, 7 de octubre de 2007
Se filtró esta rola del nuevo disco de Serj. Hay que checarla; vale la pena.
Les traduzco algunos versos:
¿Por qué nos sentamos y nos rompemos el corazón ésta noche?.
¿Por qué danzamos alrededor de los problemas hasta la luz del amanecer?.
Cuando nos sentamos y hablamos y el uno al otro nos desgarramos las vidas.
Tú fuiste quien me dijo: vete.
Pero tu eras la indicada para mí,
y ahora te vas por la puerta.
Cuando das ese paso te amo bebé, más y más.
Necesitamos reír y cantar y llorar,
y calentar nuestro corazones el uno al otro esta noche,
mereciendo divertirnos de todo y amando todo nuestro Dios - madre (???? necesito revisar ésto).
¡Estás desgarrándonos!.
¡Estás quebrándonos!.
¡Estás matándonos!.
¡Matándonos!.
¡Estás salvándonos!.
Miento por siempre.Serj Tankian
A éstos me parezco?
Posted by yolio in varios on martes, 28 de agosto de 2007
Segundo intento ...
Definitivamente, el tercero define muchas cosas...
Al parecer Colin Farrel es el más recurrente, aunque me sorprendí el porcentaje de semejanza en el último intento con Johnny Depp y Howie Dorough (90%).
De algunos no conocía su nombre (pero si los conocía en películas) y el WTF fue Britney (WTF!!!). A mi parecer el algoritmo o proceso se basa mucho en la parte de las cejas y los ojos, no creen?.
Algunos más que aparecen son:
Robot Combat
Posted by yolio in robots, tecnologia on lunes, 30 de julio de 2007
Estos guerreros cibernéticos no le piden nada a los efectos especiales de Transformers. Chequen el video, es de lo más divertido.
