Mes: noviembre 2008

  • construción física de presencebot

    La semana pasada me puse con la construcción física de presencebot. Se trata de un robot muy sencillo por lo que por ahora no he querido complicarlo.

    Lo interesante es que me he basado en un juego imitación de meccano hace tiempo. No recuerdo el precio, pero me salió muy barato. Mi principio para experimentar es utilizar tecnología que sea lo más flexible posible, incluso para la parte mecánica de un robot.

    En programación intento usar lenguajes dinámicos, siempre que el rendimiento no sea una barrera. En especial intento usar ruby que desde el principio me ha parecido un lenguaje muy flexible.

    En hardware es más difícil, pero también se puede hacer algo. No soy un experto en hardware y estructuras mecanicas, pero estos son algunas de las combinaciones de materiales y técnicas que he usado para construir prototipos rápidos de robots:

    • Lego y similares: el más clásico de los juegos de construcciones, piezas de plástico con muchas formas y colores que permiten construir casi cualquier cosa. Probablemente no sea demasiado resistente, pero es muy divertido. Una alternativa es usar Fishertechnik, que utilicé en el robot demi PFC, es algo más resistente, pero sigue siendo un juguete.
    • Meccano y similares: me refiero a las piezas metálicas que van atornilladas, no a las imitaciones de plástico. Algo más resistentes, pero en la misma linea que el lego. Suele haber menos variedad de piezas, pero el robot nos puede durar un poco más.
    • Cartón y pistola de pegamento: nunca he usado esta técnica, pero he leido de gente que la usa. Desde luego parece una técnica muy sencilla y rápida. También barata, las pistolas de pegamento son muy baratas y el cartón se puede conseguir de cualquier sitio. Otra cosa es lo que nos puede durar el artilugio…
    • Madera: aquí depende de las habilidades y herramientas de cada uno. Hay muchas cajas que pueden ser reutilizadas (sobretodo las cajas de vino ahora en navidad) y es la opción más fácil. Otra es comprar planchas de madera. Dependiendo de nuestra habilidad, esta técnica no se puede considerar de «prototipado rápido».
    • Reutilización de juguetes: tengo una caja de una vaporetta que tengo pendiente reutilizar. Tiene el tamaño apropiado: pequeña, redondeada, con ruedas «caster» incorporadas. También es rápido hacer prototipos de esta forma reutilizando jueguetes. Pero ojo, igual que con la madera, si no somos hábiles, nos puede llevar más tiempo que el considerable para un prototipo.
    Mecanos de lonoak
    Mecanos de lonoak

    Como decía, con presencebot me he limitado a trabajar con una imitación de meccano y con servos, para evitar tener que lidiar con controladores de motores (conectar y controlar). En este caso ha sido muy sencillo, lo normal es que nolo sea tanto.

  • the control revolution

    Hoy he leido un artículo interesante en baquia sobre la economía informativa en internet. He escrito un comentario, que finalmente he decidido convertir aquí en artículo, ya que es un tema que me parece muy interesante. Los que hayan leído el comentario, les sonará muy parecido ;-).

    El planteamiento del artículo presenta el problem del exceso de información y la cultura del copiar y pegar a la que se han adherido muchos blogs. Mi visión de este problema es que en realidad tenemos dos problemas diferentes, que creo que el autor original no distingue.

    Por un lado tenemos los «blogs malos» que se dedican a copiar información sin aportar valor. El objetivo de estos blogs es recoger tráfico en google y monetizarlo con publicidad contextual. Estos blogs tienen una actitud parasitaria, se aprovechan del trabajo ajeno y sobretodo se aprovechan de la situación tecnológica actual (intentan aparecer antes en las búsquedas en google y sacar partido de la publicidad contextual).

    Pero por otro lado tenemos el problema del acceso a la información, que ya nos planteaba  Andrew Shapiro en su libro de 1999 <a href=»http://www.amazon.com/Control-Revolution-Internet-Individuals-Changing/dp/1891620193″>»The control revolution»</a>.

    Internet es una fuente de información casi infinita, por lo que el problema está en seleccionar la información. El valor no lo aporta sólo la entidad que publica una noticia en primicia, también  lo aporta la entidad que selecciona las noticias y/o contenidos.

    Tengo un amigo que se mueve en el mundo del arte y se está dando el mismo cambio: no es tan importante la obra de un artista en concreto, sino que se valora tanto o más la labor del comisario de exposición que selecciona las obras. A largo plazo se recordará a los artistas buenos y no a los comisarios, pero en un momento con tantos artistas y tal variedad de estilos, obras, etc. un buen comisario da la confianza de lograr una buena exposición.

    Entonces qué es más importante: ¿dar la noticia en primer lugar o seleccionar las noticias y/o contenidos importantes? La respuesta es que necesitamos algoritmos de selección personalizados para cada usuario, para que cada uno tenga el poder de elegir. Esa labor antes la realizaban los medios de comunicación (prensa, radio, televisión) y las discográficas en la música.

    Actualmente, gracias a internet los usuarios también participan en esa selección, pero es imposible que todo el mundo lea toda la información disponible en internet. Mientras no llegan los algoritmos perfectos, algunos blogs seleccionan noticias, las comentan, las amplían y hacen esa labor para sus lectores. También la realizan sitios colaborativos cómo digg o menéame, que hacen la función de filtro social de noticias. Y en última instancia los buscadores cómo google, yahoo, microsoft, etc que en parte también utilizan la información de sus usuarios: no se nos puede olvidar que la magia del page rank viene de las palabras asociadas a los vínculos. Esas palabras las han introducido los propios usuarios al incluir enlaces en sus sitios web, blogs, etc, por lo que también participamos en esa selección.

    La separación entre las dos actitudes puede ser muy delgada y muchas veces se superpone pero los casos extremos son fáciles de distinguir. Lo que es seguro es que con el tiempo, los algoritmos se perfeccionarán y las actitudes parasitarias (cómo el spam) tenderán a minimizarse.

  • agregadores de micropagos

    Una de las formas para descubrir nuevas ideas de negocios es observar cómo la gente usa una herramienta e intentar descubrir usos no esperados de la herramienta, para crear una herramienta nueva más especializada (o simplemente distinta). Uno de esos usos, es la agregación de micropagos, que en muchos casos se realiza a través de cobro por SMS’s.

    Los micropagos son un modelo de negocio que se basa en el cobro de cantidades muy pequeñas en base a transacciones en una aplicación o venta de productos virtuales o lo que sea: se intenta vender algo muy barato pero muchas veces. Un ejemplo son los SMS, que son baratos y se pagan individualmente, pero en la tarifa mensual de un cliente puede suponer una cantidad importante.

    Para ofrecer un servicio de micropagos, no se puede recurrir al pago por tarjeta de crédito, debido a que normalmente el coste por transacción es más alto que el propio coste del micropago. Por lo que se suele ofrecer este servicio a través de cobro por SMS. Así que las operadoras de telefonía están actuando cómo agregadores de micropagos: un sólo pago de SMS no compensa el esfuerzo de facturación. Pero acumulando SMS’s mensualmente merece la pena realizar el cobro.

    ¿Sería posible ofrecer este servicio sin realizarlo a través de SMS? Desconozco los costes en que incurren los operadores de tarjetas de crédito, no sé si merecerá la pena agregar micropagos de forma mensual o anual y realizar el cobro correspondiente en una tarjeta de crédito. Quizá sea mejor realizar la agregación y realizar el cobro directamente en la cuenta corriente del cliente.

    En caso de existir un servicio eficiente de micropagos, creo que para los proveedores de contenidos, podría competir cómo fuente de ingresos alternativa a la publicidad. Por ejemplo, realizando un microcobro por visualización de artículos de un blog (en caso de ofrecer contenido de alta calidad sin publicidad) puede merecer la pena cómo alternativa a los ingresos por publicidad tipo AdSense, siempre que haya lectores interesados en el pago por artículo.

    Los micropagos actualmente se usan cómo forma de pago en la descarga de contenidos para teléfonos móviles, o la descarga de software para PC, que normalmente se ofrecen a través de cobro por SMS. También es muy interesante en los juegos MMO dónde se podría cobrar por comprar armas u otros elementos de juego.

  • comunicación por puerto serie con ruby

    Llegó el momento de conectar los dos módulos de software que he estado preparando: el controlador de servos de arduino y un programa ruby para detectar la presencia online de un usuario.

    Para enviar mensajes por el puerto serie desde un programa ruby, estoy usando la librería ruby-serialport. Se trata de una librería relativamente antigua, que no se actualiza desde 2004, pero que funciona bien, aunque con algún problema que he encontrado.

    Cómo se puede ver en un ejemplo de la documentación de arduino, la librería es muy sencilla de usar:

    1.- Primero se incluye la dependencia:

    require «serialport.so»

    2.- Después se inicializa la comunicación con el puerto serie:

    #params for serial port
    port_str = «/dev/ttyUSB0» #may be different for you
    baud_rate = 115200
    data_bits = 8
    stop_bits = 1
    parity = SerialPort::NONE

    sp = SerialPort.new(port_str, baud_rate, data_bits, stop_bits, parity)

    3.- Se leen y/o escriben datos según se necesite:

    sp.putc(GO_UP_SYMBOL)
    printf(«%c», sp.getc)

    4.- Por último se se cierra el puerto cuando se deja de usar:

    sp.close

    El problema que he encontrado con esta librería, es que para leer y escribir en el puerto serie, he creado una clase específica. Al incluir la clase en mi programa principal, no podía acceder al puerto serie, ya que se obtenía el siguiente error:

    (eval):1: (eval):1:in `private_class_method’: undefined method `create’ for class `Class’ (NameError)
    from (eval):1
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `require’
    from ./serialpresencebot.rb:1
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require’
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `require’
    from ./presencebotlauncher.rb:3

    Finalmente, he tenido que incluir la librería en el programa principal y eliminar el «require» de la clase que controla el puerto serie para que funcionase. Quizá se trate de un problema de funcionamiento de ruby, pero parece más probable que se trate de un problema con la librería ruby-serialport. En cualquier caso, es sencillo de resolver.

  • la muerte de los blogs

    Parece ser que hay gente que empieza a pronosticar la muerte de los blogs. Lo cierto es que la tecnología avanza y una tecnología suele sustituir a otra. Pero, aunque los blogs no están exentos de estos cambios, no creo que estén desapareciendo.

    En el caso de los blogs, nacieron como reemplazo de las páginas web personales, que eran demasiado genéricas y complicadas de mantener para un usuario «normal«. Frente a la complejidad de crear páginas web con html y buscar un hosting (gratuito o de pago), un blog ofrecía la comodidad de publicar textos internet sin preocupaciones.

    Sin embargo, en el proceso de reemplazo se descubrieron nuevos usos para el blog. Estos usos son los que ahora están siendo reemplazados por nuevas aplicaciones. Por ejemplo, el uso del blog cómo herramienta social (intercambio de enlaces, relaciones entre bloggers, etc), está siendo sustituido por myspace, facebook, etc. El blog cómo herramienta para comunica nuestros cambio de estado y escribir micro posts (entradas del tipo «Estoy de viaje en…», «Me voy a la conferencia…») están siendo sustituidas por Twitter y similares. Asi que prefiero decir que el blog está encontrando su sitio, que es la publicación de artículos.

    El blog cómo herramienta de publicación de información, de momento, no tiene reemplazo. Es la forma más sencilla de compartir ideas, pensamientos, novedades, etc. y esto ha hecho que los blogs se conviertan en verdaderas revistas electrónicas.

    Este uso de los blogs ha provocado la profesionalización de los bloggers y en el camino se perdido el lado romántico: los blogs de autores desconocidos narrando sus vivencias cotidianas. Pero si estos blogs ya no tienen éxito es porque no despiertan el interés de la mayoría de la gente, aunque seguirá habiendo boggers anónimos que publiquen en privado.

    Así que mientras haya gente publicando información (cualquier tipo de información), existirán los blogs. Hasta que haya otra forma de publicar más apropiada.

    La moraleja es que viendo el uso que le da la gente a una tecnología, podemos descubrir nuevas aplicaciones ó ideas. En el fondo, un blog es una herramienta, no tiene un uso específico sino que tiene muchos usos posibles. Al analizar el uso que se le da a una herramienta (blogs) podemos descubrir nuevos usos para esa herramienta (micro posting en los blogs) y en su caso podemos crear una herramiena nueva más apropiada (twitter).