Midiendo la capacidad colectiva en Twitter

Escrito por marioly 2010-01-18 18:36:39

Uno de los juegos que se consideran mas retadores a la capacidad mental es el ajedrez. Y por ello lo tomo para este experimento.

Se creó un nuevo bot que permite jugar ajedrez por twitter. Donde cualquier usuario puede mover las piezas blancas. Esto planea medir, no tanto la capacidad en juego de los twitters, si no su poder de organización.

Así que puede resultar divertido, y agradecería que todos los que tengan twitter siguieran a @gnuchess o comentaran sobre esto.

Gracias.

Nota; el bot se expondrá primero en nivel fácil, para no retardar sus movimientos.

Comentarios(0)

Agregar un comentario


Como lo viste en la TV

Escrito por marioly 2009-08-31 21:53:18

Bueno, algo así..; Muchos de los que visitan mi blog son unos nerd, hasta para ver la tele :P , asi que seguro muchos son fan o conocen la serie The Big Bang Theory, donde cuatro amigos (nerds) viven situaciones comicas junto a su nueva vecina y aspirante a actriz Penny. Es en algún capitulo de esta serie donde la en la escena inicial, los amigos se muestran emocionados por poder encender aparatos eléctricos a través de internet.
Esta escena exactamente, gracias a la magia de youtube.

Siempre lo vi solo como algo curioso hasta que me pregunte ¿Cómo? Y puse manos a la obra.
Desde un applet Java colocado aquí (no me gustan los applet embebidos así que mejor linkeo), pueden ver una lamparita que se encuentra en mi casa:

(Nota importante: al salir el aviso de verificación de seguridad, deben elegir "siempre confiar en el editor" algo asi, tambièn, sino salen los botones solo pasen el mouse por la zona de arriba de la imagen) Update: Josue dice que al darle TAB

Y desde el mismo applet pueden mandar señales para apagar y prender ésta.
Para el streaming usé M-JPEG, como algunas cámaras de seguridad, pero por ello hay un poco de retraso (y en las señales también por seguridad) y la calidad no es muy buena.

Y es aquí cuando cito: Gentlemen, I am now about to send a signal from this laptop through our local ISP racing down fibre optic cable at the speed of light to San Fransisco, bouncing off a satellite in geosynchronous orbit to Lisbon, Portugal, where the data packets will be headed off to submerge transatlantic cables, terminating in Halifax, Nova Scotia and transfered across the continent via microwave relays back to our ISP. And the extend receiver attached to this... Lamp.
:)

Comentarios(14)

Agregar un comentario


Hasta contar a mil

Escrito por marioly 2009-08-19 18:33:15

Comentarios(1)

Agregar un comentario


String Quartet

Escrito por marioly 2009-07-29 12:49:18

Y gracias a este cuarteto se han unido dos de mis grandes amores en música, la música de violin (aunque no es solo violin), ¡y la de interpol!

Take you on a cruise



Aunque a veces parecen como tonos para celular. Pero el video está padre, ¿existe hombre más sexy que Paul Banks?

Existen varios tributos por parte de String Quartet, de los mejores logrados (para mi)

Tributo a Interpol (por supuesto)
Tributo a The Killers
Tributo a Oasis
Tributo a Evanescence

Comentarios(2)

Agregar un comentario


Pocoyó Webserver

Escrito por marioly 2009-07-20 17:09:14

Hace poco veía la película "Amenaza Virtual" (antitrust), y me dio curiosidad una escena donde el personaje de Gary le da una pieza de código a Milo, esta parte exactamente:



Por ociosa curiosa busqué en Google y resulta que el código existe y es parte de un webserver multi-thread en Java.
http://java.sun.com/developer/technicalArticles/Networking/Webserver/WebServer.java

De hecho la parte que Milo señala es esta:

/* are we doing a GET or just a HEAD */
            boolean doingGet;
            /* beginning of file name */
            int index;
            if (buf[0] == (byte)'G' &&
                buf[1] == (byte)'E' &&
                buf[2] == (byte)'T' &&
                buf[3] == (byte)' ') {
                doingGet = true;
                index = 4;
            } else if (buf[0] == (byte)'H' &&
                       buf[1] == (byte)'E' &&
                       buf[2] == (byte)'A' &&
                       buf[3] == (byte)'D' &&

Después de eso, pensé que seria divertido hacer algo parecido. Así que puse manos a la obra y empecé a escribir un webserver multithread en C#.
Algo simple, sin mucha complicación y de hecho salió rápido. Algo curioso es que puede atender solicitudes de scripts php, pero eso es solo un hack.
Como ya a todo le ponia mis iniciales quise cambiar un poco, y mientras lo escribía salió un comercial de Pocoyó y lo pensé buen nombre, es un programa muy tierno y me gusta.

Pueden verlo aquí corriendo en Linux con Mono correctamente:
http://img44.imageshack.us/i/pocoyoserv.png/

Ese es un demo de una web que hacia. Y es muy cool hacer el web portal y hacer el web server :P

Solo permite GET y HEAD, por simplicidad, asi que no es algo _tan_ practico pero fue entretenido.

Con los sources viene un archivo de mimes y un archivo settings.xml. Al iniciar el programa como primer parámetro se le puede pasar la ruta de este ultimo xml, donde se configuran otras ciertas rutas utiles. Si no se desea cambiar nada, el archivo mimes se debe mover a /var/www/ . Donde también se pondrían los archivos del portal a servir.

PocoyoServer sources

Comentarios(5)

Agregar un comentario


MGLanguage

Escrito por marioly 2009-07-15 11:48:59

Después de una jornada titánica, y una epifanía de madrugada, al fin logre poner esto presentable. Hacer (o tratar de hacer) un lenguaje no es algo fácil. Después de meses de coger el proyecto un dia si y otros tantos no, al fin se muestra decente y eh decidido exponerlo. Esta poco depurado y carente de muchas cosas, pero ya es funcional.
Video Demo


El proyecto es un lenguaje de scripting creado en su gran mayoria en C#. No implementa clases, estructuras ni cosas complejas. No es tipado, todas las variables son de tipo t_var.
En el video se puede ver declarar dos variables, una con scope global y otra local al ámbito de la función "factorial", además de declarar esta misma y llamarla recursivamente.

Todo el proyecto lo haré publico solo limpiando y depurándolo un poco (en unos días conforme mi tiempo libre). Además escribiré una serie de posts para explicar algunos conceptos útiles, y acercamientos a problemas comunes que te topas al crear este tipo de programas.

Ahora, algunas cosas curiosas sobre esto:

Librerías estándar.

Sobre las librerías estándar para mi lenguaje de script, hay una buena y mala noticia: la buena es que hay librería estándar, la mala esque son dos archivos: el de IO y uno para funciones matematicas.

Es un wrapper con funciones de C#?

No, y por eso me tardó meses (realmente no fueron meses de trabajo, pero la idea si la tuve hace mucho).

Sirve para algo practico?

Realmente no lo sé. Los lenguajes de script se usan en varios ámbitos debido a su relativa simplicidad y abstracción. Pero la meta con este ejercicio simplemente era saber como funcionaban cosas como los parsers, la tabla de símbolos, la asignación etc.. fue bastante interesante.

El nombre

Lo pensé llamar Cx (por la broma simple con su fonética), pero ya existe :( . Al no tener un nombre use siempre mis iniciales (como en todo), MG, asi que tendría sentido llamarlo asi: MG Language

Si ya no tuviera tiempo mas de hacer ejercicios de este tipo, quisiera que este fuera mi ultimo, por que fue bastante frustrante, pero divertido. Mis ejercicios normalmente duran menos de 3 días, este lo retome muchas veces. Escribía partes y lo olvidaba algún tiempo hasta que se me ocurría algo nuevo. Reescribí varias partes en varias ocasiones. El resultado no fue como lo pensé al principio pero aprendí mucho y puedo decir que estoy contenta. Aun le falta mucho y supongo por algún tiempo seguiré como hasta ahora, escribiendo partes cada que tenga una buena idea o me tope con algún articulo relacionado. Algo que eh aprendido es que los compiladores son realmente complejos y me da un amplio espectro para jugar.

Notas:

La instrucción echo llama a la función con el mismo nombre, usar echo o echo() da el mismo resultado, como php.
El código que publicare, no será el de ese IDE algo feo, sino del programa que se llama internamente para evaluar el archivo temporal y devolver el resultado.

Comentarios(5)

Agregar un comentario


De Offline a Online por 9° vez

Escrito por marioly 2009-05-08 11:29:34

Ya van tres veces que lo hago, pero en fin.., dejado muy atrás el enojo que me hizo quitar mi blog, volví a ponerlo en linea .
Si no lo hubiera dejado offline, estos son posts que posiblemente estarian en el:

AjedrezOnline en C# (source)
http://foros.hackerss.com/index.php?showtopic=9836&hl=
Librería en C# para MSN e introduccion al protocolo.
http://foros.hackerss.com/index.php?showtopic=9765&hl=
Librería para XML en PHP
http://foros.hackerss.com/index.php?showtopic=9572&hl=
Jugando con SPL
http://foros.hackerss.com/index.php?showtopic=9573&hl=
Twitter4h4x0r5 (cliente Twister con ncurses y C++)
http://foros.hackerss.com/index.php?showtopic=10001&hl=
Elecciones en hackerss.com
http://foros.hackerss.com/index.php?showtopic=9903&hl=

Y alguna tontería mas.

Updates, pero espero pronto comenzar a escribir, muchas gracias por leer :)

Comentarios(13)

Agregar un comentario


Volviendo y recontando

Escrito por marioly 2009-01-08 00:45:05

Decidí restablecer mi blog, mas por el antojo de escribir e ir publicando pequeñas cosas que vaya haciendo. No quería usar la antigua programación, así que en la tarde me puse a escribir un mini script para blogging en Perl (cosa que no recomiendo, menos si tienen poco tiempo y no saben perl u.u) y después de algunos enfados y robarme los estilos elegir el template, me salió.

Los que me conocen un poco sabrán que desde hace un tiempo por distintas situaciones deje de ser asidua a internet, y solo continuo participando en una pequeña comunidad. Pero sin embargo he mantenido mi hobbie de programación vigente y he continuado publicando algunas cosas, por ejemplo:
(Lista geek de los últimos meses del 2008)

Hice un bot de MSN
Mi auto responder de Skype (si quieres burlarte de mi voz, ¡esta es tu oportunidad!)
Reescribí mi clase para templates, imágenes y compresión
Hice un bot de Twitter
Mi versión de "tomar foto desde la cam" de Facebook
El Framework para el nuevo portal de Hackerss (que por allí tenemos estancado y si pongo url me regañan)
Mi intento de hacer algo útil con C#/WPF (que nunca termine)
Porte mi tetris a C++/SDL
Jugué con sprites con DarkSDK (este ya ha avanzado, la idea ahora es poder pelearse en linea, estoy en ello :P)
Hice mi versión de un proyecto iniciado por xiam (cuando lo termine y pula un poco pongo source, solo mostré el inicial a José)
entre otras cositas.

Espero este nuevo año contar con el tiempo para seguir creando, aunque sean cosas pequeñas (al no ser muy constante me gustan las cosas pequeñas) y sobretodo para seguir aprendiendo.

Dejando un poco la parte geek y ya que mencione la transición de año, seguiré esta tendencia de todo blogger de recontar mi 2008! (si no le gusta la cursilería, pueden dejar de leer aquí).
Definitivamente lo que marco mi 2008 fue la decisión de dejar Monterrey y mudarme a la única ciudad donde puedes ver mas emos, buscando mi desarrollo profesional. El objetivo para mi era claro, pero las razones que me orillaron a decidir acepto que no fueron las mas indicadas.. Aunque después de recriminarme mil veces y superar tantas dudas, pienso que ha sido una buena experiencia y un reto que creo he sorteado con buenos resultados.
El abandonar una relativa estabilidad, el estar lejos de lo ya conocido y de mis amigos, pienso que me ha hecho crecer como persona y madurar un poco mas. Se además que el tiempo aquí me ha dado la entereza suficiente para enfrentar otra difícil decisión, aquella que me a atormentado por mucho tiempo.. (y que hasta aquí mencionare)

El pasado año honestamente no fue el mejor para mi, pero si algo me ha dejado es el aprender a valorar un poco mas las cosas que en verdad valen la pena, aquellas que no cuestan y cuestan mucho, como la amistad; Esta palabrita que creo a marco mi año también.
Se dice que los verdaderos amigos se conocen en los momentos difíciles y así pasó conmigo. Es curiosa la situación, cuando te hastías de frases trilladas y falsos intentos de confort, cuando te dan la espalda personas que creíste que estarían allí y otras que no, te sorprenden apoyandote y estando para ti, siempre allí, al pie del cañón.. Y bueno, sobre esto mencionar a alguien que me sorprendio y quien ahora agradezco tener en mi vida :), quien se gano una estrellita y con creces :P .
Siempre fui participe de la opinión que en distancia no era posible crear grandes lazos y de separar mi vida internetera de mi vida personal (por eso no uso Facebook), hasta que llego esta persona.., alguien que poco a poco a ganado mi cariño, que al ir conociendo me he dado cuenta la gran persona que es, lo capaz que es, y lo ñoño que es..
Quien ah sido confidente y consejero, con el que me gusta competir y se ha ganado mi respeto, quien es de esas personas que marcan tu vida para bien y que deseo que siempre forme parte de ella. sinceramente, gracias por estar para mi, por soportar mis manías y procurar que este bien, gracias por brindarme tu amistad, lo aprecio mucho y realmente hoy eres de mis tesoros :) .
Se que te debo un abrazo de año nuevo, uno que me alegraria mucho pronto dar .. si es que dejas de mencionar los "masajes" de mty, que resulta muy extraño u_u.


En fin, decir que este 2009 solamente agradezco estar aquí, seguir sintiendo, seguir creando, seguir imaginando, seguir disfrutando de las cosas que quiero y las personas que amo, y espero sea un buen año para todos.
Me alegra darme cuenta que a pesar de los malos pronósticos para el año que empieza, la actitud de la gente se mantenga positiva, dispuesta a esforzarse mas, a trabajar mas, a innovar y buscar nuevas posibilidades para sortear el nuevo ciclo con la frente en alto y prevalecer (¡y pensar que todo es gracias a los comerciales de Televisa!, bueno.. no).
En los momentos difíciles se muestra lo peor y mejor de nosotros, pero siempre esta en nosotros decidir, sobre ello me gusta la siguiente frase:
"La verdadera crisis, es la crisis de la incompetencia. El inconveniente de las personas y los países es la pereza para encontrar las salidas y soluciones. Sin crisis no hay desafíos, sin desafíos la vida es una rutina, una lenta agonía. Sin crisis no hay méritos. Es en la crisis donde aflora lo mejor de cada uno, porque sin crisis todo viento es caricia. Hablar de crisis es promoverla, y callar en la crisis es exaltar el conformismo. En vez de esto, trabajemos duro. Acabemos de una vez con la única crisis amenazadora, que es la tragedia de no querer luchar por superarla."

Es difícil el panorama, pero aceptémoslo, ¿quien sabe mas de crisis que nosotros? , una mas, una menos...

Espero sea un buen año para todos, mi mejores deseos y muchas gracias por aventarse todo este choro :P

Comentarios(24)

Agregar un comentario