Best Recipes Ever Just another WordPress site

abril 22, 2011

Integrando OpenHeatMap en el Bazar Garum

ACTUALIZACIÓN: Acabo de descubrir que Pete Warden es uno de los chicos que han levantado el escándalo del iPhone Tracker 😉 Ayer me encontré sin querer con una de esas joyas que genera el software libre: OpenHeatMap de Pete Warden. Pete Warden es un auténtico crack. No solo por lo fácil que hace publicar datos, solo tenéis que ver los vídeos en los que cuenta como funciona OpenHeatMap para descubrir que además no se puede ser más abierto y humilde como persona. La idea de OpenHeatMap es que creas un csv o una hoja de cálculo en google con la información que quieres representar geolocalizada, configuras como quieres el mapa y ya está. Pete ha creado un par de vídeos para explicarlo: Este que es general para todo el mundo:   Y este otro más dirigido a periodistas:   Puede que exista una forma igual de sencilla para hacerlo con google maps, pero ¿quien no está hasta las narices de Google? Además usa Openstreetmaps que desde siempre me han caído mucho mejor y están en la linea que tiene futuro: información abierta y libre para todo el mundo. En modo server  va como la seda pero para incluirlo en tu proyecto, en mi caso en el bazar garum, he tenido que pelearme un poco. Estos son los pasos que he realizado: * Meter lo includes necesarios: OpenHeatMap requiere jquery y esto ya lo tengo incluido en Bazar. <%= javascript_include_tag(«jquery.openheatmap.js») %> Me lo he bajado en local que no es cuestión de que Pete pague de más a Amazon por el almacenamiento. * LLamar a OpenHeatMap Esto es todo lo que se necesita: <div id=»mapa-paises-container»></div> <script type=’text/javascript’> $(document).ready(function(){ // tamaño del mapa y tipo de render. // no prefiero flash, pero html5 canvas no termina de ir bien todavía $(‘#mapa-paises-container’).insertOpenHeatMap({ width: 800,  height: 500, prefer: ‘flash’ }); }); function onMapCreated() { var map = $.getOpenHeatMap(); csv = ‘<%= Pais.paisestocsv -%>’; map.loadWaysFromFile(‘http://static.openheatmap.com/world_countries.osm’); map.loadValuesFromCSVString(csv); map.setSetting(‘gradient_value_min’, 0); map.setSetting(‘gradient_value_max’, 10); map.setColorGradient([‘#ffbdf7a0’, ‘#ffff0000’]); } </script> El método de rails que me devuelve las empresas que hay en cada país es muy sencillo: def self.paisestocsv csv = "country_code,value\\n" max = Pais.count_by_sql("select max(total_empresas_mercado) from paises") for pais in Pais.where ('total_empresas_mercado > 0') csv += "#{pais.cod3},#{(pais.total_empresas_mercado*10)/max}\\n" end return csv end Como veis simplemente selecciono los países que tienen empresas y monto un string en formato CSV que luego uso en los scripts de OpenHeatMap. Con el código iso de país de 2 dígitos no funciona o no lo he conseguido yo. Pero echando mano de geonames lo he incluido en la tabla de países. En el modo servidor si subes un CSV con códigos de 2 dígitos funciona perfectamente. Si alguien se anima a corregirlo, seguro que Pete se alegra mucho. He normalizado los valores del número de empresas para siempre devuelva valores entre 0 y 10 para poder ajustar mejor los gradientes pero no estoy seguro de que haga falta realmente. El resultado ya integrado con Bazar Garum se puede ver en la página de datos de Bazar. En un par de semanas tendremos los nuevos bazares en funcionamiento y poco a poco se ira llenando el mapa.                      ]]>

abril 16, 2011

Hack: Como saber si Jazztel te está tomando el pelo con tu conexión adsl

Filed under: Acción & Reacción,Casos de Exito,Hacks,procrastination,Proyectos,rmd — Etiquetas: , , — admin @ 3:48 pm

Osmius, descubrí pachube y con un script en ruby es super fácil monitorizar la línea. Los pasos son: (1) Te creas una cuenta en pachube. (2) Te creas un script en ruby o en lo que quieras como este: require 'rubygems' require 'mechanize' require 'logger' require 'json' agent = Mechanize.new agent.user_agent = 'Individueller User-Agent' agent.user_agent_alias = 'Linux Mozilla' agent.open_timeout = 3 agent.read_timeout = 4 agent.keep_alive = false # agent.log = Logger.new(STDOUT) agent.auth('admin', 'secreta') url = 'http://192.168.1.1/info.html' page = agent.get url up = 0 down = 0 page.search('td').each do |td| if up == 1 up = td.content end if td.content.match('Upstream') up = 1 end if down == 1 down = td.content end if td.content.match('Downstream') down = 1 end end puts up puts down # mandamos la info a pachube begin http = Net::HTTP.new('api.pachube.com', 80) http.start do |http| req = Net::HTTP::Put.new("/v2/feeds/23385.csv", {'X-PachubeApiKey' => 'tu-api-del-feed'}) req.body = "0, #{up}\r\n1,#{down}\r\n" resp = http.request(req) puts resp.body end puts "Submitted to Pachube" rescue puts "Problem submitting results to Pachube" puts $! end 3) Lo metes en el cron: */10 * * * * /opt/local/bin/ruby /Users/juantomas/router.rb >> /tmp/router.log 4) En mi caso se va rellenado un gráfico como este:   5) Si tienes una cuenta en osmius, como pachube te exporta los datos en xml, json y csv lo puedes integrar con toda clase de alarmas y gráficos mucho mejores que con pachube 😉   El script es para el router comtrend que distribuye jazztel pero es muy fácil modificarlo para que obtenga los valores de otros routers.    ]]>

abril 5, 2011

iPhly: Convierte tu iPhone en una emisora de RC

[caption id="" align="alignnone" width="275" caption="iPhly convierte tu iPhone en una emisora de RC"]iPhly convierte tu iPhone en una emisora de RC[/caption] iPhly es un ejemplo de como llevar al límite siendo creativo un dispositivo, en este caso un iPhone convertido en emisora de RC y aprovechar el hardware de un smartphone controlar un avión o un quadcopter.   El proyecto iPhly está en Kickstarter y por supuesto no he podido resistirme a la tentación de financiarlo. iPhly es open hardware y free software. ¿Alguien se anima a portarlo a Android? Si no interesa el mundo de los dispositivos por RC o los UAV el hack que ha hecho Ari Krupnik es super sencillo y se puede usar para otro tipo de proyectos. Básicamente es usar la salida de audio del iPhone para hacer interfaces externos 😉 ACTUALIZACIÓN: El proyecto ya está casi financiado!!!      ]]>

Fiesta de lanzamiento de Firefox 4 en Madrid

Filed under: Casos de Exito,Eventos,Hacks,Proyectos — Etiquetas: , , — admin @ 9:30 am

El próximo jueves 14 de abril a las 19:30h tendrá lugar el evento en el hotel Tryp Ambassador y al que asistirá el secretario general de Mozilla en Europa, Pascal Chevrel. Madrid, 4 abril de 2011 Mozilla, a través de su comunidad en España, Mozilla Hispano, celebrará la reciente publicación del navegador web Firefox 4 para escritorio y dispositivos móviles, organizando un evento al que asistirán destacados colaboradores del proyecto, entre ellos Pascal Chevrel, secretario general de Mozilla en Europa. Tras sendas publicaciones de Firefox 4 para escritorio y para dispositivos móviles, las distintas comunidades de Mozilla alrededor del mundo se disponen a celebrar el éxito y acogida de la nueva versión de su navegador. La Comunidad de Mozilla Hispano participa también en esta gran celebración y ha organizado distintas fiestas en los diferentes países en los que colabora con Mozilla (España, Argentina, México o Colombia, entre otros). El próximo jueves 14 de abril es el turno de España y el evento será en Madrid, en el hotel Tryp Ambassador (Cuesta de Santo Domingo, 5) a las 19:30 y al que asistirá el secretario general de Mozilla en Europa, Pascal Chevrel. Para asistir al evento se ha habilitado una página de inscripción online, abierta hasta el día 13 de abril: eventos.mozilla-hispano.org/fx4madrid. La inscripción está abierta a todo el mundo, la única limitación es el aforo de la sala.     Para más información:

 ]]>

enero 31, 2011

Proyecto Bazar: Distribuido

Filed under: Garum Fundatio,Hacks,Proyecto Bazar,Proyectos,rmd — Etiquetas: , , , — admin @ 2:14 pm

Si hay algo que es estratégico a corto plazo es pensar en arquitecturas distribuidas. Si quieres que tu proyecto sobreviva a una crisis de crecimiento, si quieres aprovechar el poder de las redes, es la única alternativa.
Creo que se merece una explicación detallada y voy a usar el Proyecto Bazar para ello.
El proyecto bazar básicamente es un marketplace libre. Esto no sería un valor diferencial a priori contra el resto de herramientas incluidas las de pago. Para nosotros la clave es que  desde el primer día su arquitectura es distribuida. Las razones son muchas:
* Si quieres montar una red de verdad y que funcione tiene que ser abierta y libre.
Esta puede parecer obvia y que no tiene que ver con distribuido pero es importante. Si estudias los casos de éxito de otros marketplaces o redes sociales empresariales incluso otras redes sociales, no dejan de estar centralizadas y se convierten en cotos privados en la Red. Lo cual no deja de ser cerrado  y con la imposición de sus reglas (privacidad, económicas, etc).
Si una red es abierta, no está controlada por una empresa sino por los usuarios, es una red con muchas más posibilidades. En bazar cada grupo de interés común (cooperativas, asociaciones empresariales o grupos formados en torno a una localización física) gestionan su bazar.
* Una red distribuida es sostenible y gestionable.
Pensemos en la inversión necesaria para montar y mantener fakebook o linkedin. Si distribuyes los servidores, el problema se diluye entre los diferentes bazares.
Desde un punto de vista técnico,  gestionar un red social o marketplace con miles de servidores es complicado y muy exigente. Gestionar miles de bazares distribuidos y autónomos reduce varios órdenes de magnitud el problema. Cada bazar puede requerir asistencia técnica de forma puntual y esta se puede conseguir localmente. Al fin y al cabo no dejar de ser un servidor web sencillo, no un datacenter. Como efecto colateral genera beneficio local.
* Crecimiento de una red.
El crecimiento de una red depende de muchos factores pero hay algunos que son especialmente interesantes si la arquitectura es distribuida:
Tu red tiene que ofrecer algo más que las redes actuales. En el Proyecto Bazar hemos planificado algunos módulos que echamos de menos y que nos parecen útiles para agilizar mercados: doble rating, ofertas/demandas, formación, recursos humano, financiación, compartir ficheros, etc. Lo importante es que lo implementamos de forma modular. Vamos añadiendo los módulos al proyecto bazar, pero lo más interesante es que si la demanda require otros módulos se pueden implementar fácilmente por terceros.
Una red depende del número de miembros. Esta es una de las partes más complicadas de una red para que sea eficaz. Si tienes una red distribuida tienes muchos más recursos de promoción: cada bazar promociona su nodo. Esto facilita el crecimiento y el valor de toda la red en conjunto. Los costes de «animación» se distribuyen entre los responsables de cada bazar.
* Alta Disponibilidad.
La gestión de búsquedas depende de los nodos, no de un datacenter central. Cada vez que se hace una búsqueda de empresas o de ficheros se envía una petición distribuida. Si hay nodos desconectados o no funcionan, se descartan pero la red distribuida sigue funcionando y ofreciendo resultados. Estamos mejorando la gestión de peticiones y seguramente las siguientes versiones soporten hasta el 100% de nodos desconectados.
* Curva de entrada sencilla.
Tu eliges el bazar o montas uno. Tu decides con que nodos te conectas, por defecto todos están activados. No hay costes de licencia, no hay restricciones de uso, tu decides como usas la red. Las decisiones están en el lado del usuario. Todo está distribuido.
Al final es objetivo del Proyecto Bazar es poner en contacto a empresas, agilizar mercados, eliminar barreras y crear nuevas relaciones. Todo está distribuido incluso la decisión de como será el futuro de Bazar.
]]>

enero 4, 2011

Estado del proyecto Garum Fundatio

Garum Fundatio Como ya sabéis casi todos los que me leéis, estoy trabajando en algunos proyectos muy interesantes de la Garum Fundatio. Esta fundación esta impulsada por Jose Ignacio Goirigolzarri y os recomiendo leer su blog para comprender la evolución del proyecto y el mito del garum. No puedo dejar de reconocer que desde la primera vez que le conocí en la presentación del libro «El capitalismo que viene» de Juan Urrutia, no ha dejado de sorprenderme. Día Garum El próximo día 16 de febrero presentaremos en Bilbao la Garum Fundatio. Un evento que además tendrá algunos invitados muy especiales. Os incluyo alguna referencia aunque la información es mucho más precisa y estará más actualizada en la página del Día Garum. Douglas Rushkoff (autor de CiberiaProgram or be Programmed) Michael Widenius (fundador y desarrollador principal de la versión original de MySQL) Rudy Rucker (matemático, programador, escritor, pintor y experto en robótica) Yuval Cohen (fundador de StageOne Ventures) Arturo Torres (Vicerrector del Instituto Tecnológico de Monterrey y Director de la División de Emprendimiento y Desarrollo Empresarial en el Campus Monterrey). Una jornada para reservar en la agenda. Para confirmar la asistencia enviar un correo a: info (arroba) garumfundatio.org Proyecto Bazar En este post no voy a entrar en detalle por que en entre otras cosas podéis leerlo en la página del proyecto bazar y además ya podéis echar un vistazo al código en el github de la fundación garum. Solo algunas pinceladas:

  • Es un marketplace disruptivo. Lease sencillo y nada que ver con los tradicionales.
  • Tiene una arquitectura distribuida. ¿puede algún proyecto nuevo no ser distribuido?
  • Es modular. ¿Echas algo de menos? Lo puedes implementar sin problemas.
  • Es abierto en todos los sentidos: software libre y no es un corralito privado estilo fakebook.
  • Muy pronto tendremos un bazar para que podáis ver los progresos en tiempo real.
  • Estará listo, versión beta con aspiración a RC, para el 16 de febrero.
Pero tranquilos seguiré contando más cosas en otros posts.]]>

noviembre 23, 2010

Uniccos: regalos originales y únicos

Filed under: Casos de Exito,Personal,procrastination,Proyectos — Etiquetas: , , — admin @ 10:26 am

regalo y no se le ocurre nada o simplemente quiere comprarse algo original y no lo encuentra. A partir de ahora esto va a ser mucho más sencillo con Uniccos. Uniccos es un marketplace que reúne las mejores creaciones de cada vez más artesanos y artistas. Acaban de salir y cada día tienen nuevos productos. Así que recuerda este nombre: Uniccos cuando tengas que hacer un regalo o quieras darte un capricho. Enhorabuena a Elisa Reyna, Sara Mesonero y Ruben Anguera por este proyecto!!!!]]>

noviembre 16, 2010

Proyecto Bazar de la Garum Fundatio

proyecto bazar en github, desde julio estoy involucrado en el diseño de este proyecto de la Garum Fundatio. La idea es crear una herramienta, bazar,  para agilizar las relaciones entre empresas. Y hay algunas cosas que me gustaría contaros sobre el proyecto. La primera es su naturaleza distribuida. Hay bastantes aproximaciones a como agilizar y potenciar las relaciones entre empresas pero todas son centralizadas en un servicio. Esto desde nuestro punto de vista hace que se pierda uno de los pontenciales más interesantes de Internet: las redes distribuidas. Por esta razón desde el principio hemos diseñado el proyecto bazar para que su arquitectura sea distribuida y  cada uno de los servidores establezca relaciones con el resto de servidores. Esto nos da varias  ventajas: robustez, gestión distribuida, crecimiento sin limitaciones a priori. En cuanto a la tecnología nos hemos decantado por usar rails3. La razón principal es por que en el proyecto bazar la funcionalidad se define en módulos y necesitábamos crear un tejido que nos permitiera incluir nuevos módulos, propios o de terceros, facilmente. Rails3 era el tejido perfecto. Para la implementación de los módulos la nueva implementación de engines es lo más adecuado. Enlaces con información del proyecto: Página oficial del proyecto bazar en Github. Garum Fundatio. Objetivos del proyecto bazar. Algunos artículos sobre el espíritu de Garum.]]>

septiembre 25, 2010

Tutoriales de Rails3

Manual desde cero y haciendo una aplicación de blog completa En Inglés pero muy didáctico y desvela casi todos los trucos para hacer una aplicación en rails. Incluido como usar github o heroku. Tutoriales de ruby y rails. No va nada mal seguir este manual que empieza de cero con ruby porque si no se hace difícil entender como funciona la «mágia» de rails. Como hacer que funcionen los plurales para las tablas en español. Me gusta poner los nombres en español para aplicaciones en esta lengua. Ojo la forma de hacerlo correctamente viene en el primer comentario!!! Como usar el módulo authlogic en rails3 En español y paso a paso. La única pega es que usa haml pero esto no es un handicap ni mucho menos. Usando JQuery con rails3 ( y de paso eliminando prototype) Muy bueno y perfectamente integrado en la nueva versión. Y esto es todo por hoy pero seguiré publicando más enlaces.]]>

agosto 18, 2010

Como sobrevivir al modem usb de movistar si tienes linux

VTE MF110 pero con un poco de cariño vale para cualquier modem usb. Lo primero que hice es conseguir que no se montase como CD. Este dispositivo usb es dual se puede montar como CD o como modem. Como este problema es conocido desde hace mucho tiempo se creo un programa para cambiar «fácil» de modo: usb_modeswitch En casi todas las versiones modernas viene instalado. Basicamente busca si hay un dispositivo usb montando como CD y te pone re-monta como modem. Hay que tocar el fichero /etc/usb_modeswitch-conf para incluir el VTE MF110 que son estas lineas: # ZTE MF110 # # by thejavo ################################################## ###### DefaultVendor= 0x19d2 DefaultProduct= 0x0083 TargetVendor= 0x19d2 TargetProduct= 0x0124 ;MessageEndpoint=0x1 MessageContent=»55534243b8fe6681000000000000061b000000020000000000000000000000″ Si ahora hacéis un lsusb veréis que esta en modo «0x0083» Si ejecutáis usb_modeswitch os los pondrá en modo modem. Para que cada vez que arranque o se inserte se ponga en modo modem incluir esto en el fichero /etc/udev/rules.d/usb_mod.rules y meterle esta linea: SUBSYSTEM==»usb», SYSFS{idProduct}==»0124″, SYSFS{idVendor}==»19d2″, RUN+=»/usr/sbin/usb_modeswitch» Con esto me lo reconoció y esas cosas pero no se lanzó ningun wizard ni nada y no hay nada que odie más configurar un vmdial y/o ppp. Peroooo encontré sakis3G que es lo mejor que he visto desde hace mucho tiempo y que incluso no hubiera sido necesario los pasos anteriores probablemente. Te bajas este script y si no eres capaz de conectarte en 30 segundos es que no sabes copiar y pegar y cambiar el PIN ;-P para conectarte solo tienes que poner: ./sakis3g USBINTERFACE=»4″ reconnect SIM_PIN=»0000″ APN=»movistar.es« Que no tenéis usb_modeswitch sakis3g te lo compila y lo instala en tu ordenador. Que queréis crear un icono en el desktop te lo crea añadiendo la opción desktop. Vamos que darle un vistazo porque hay muchas más opciones y funciona para casi cualquier fabricante de modem usb y/o operador 😉 Todo un hallazgo y modem usb funcionando en linux. Por cierto el responsable del proyecto es Sakis un desarrollador griego que se merece todos mis respetos. No tenía un enlace para donaciones y me ha faltado tiempo para pedirle que se lo cree. Hay pocas cosas que me den más placer que reconocer el trabajo de la gente como sakis con una donación. Desde que existe paypal y siempre que tengo algo de saldo lo distribuyo cada vez que visito y/o uso un proyecto. El enlace de sakis es http://www.sakis3g.org/#donate .  Sakis nunca pensó que lo debería poner porque lo hacía para ayudar a la gente. A muchos de nosotros nos gusta reforzar ese trabajo de esta forma y que luego se convierta en cervezas o lo que le de la gana 😉 Actualización: Si tienes ubuntu, fedora o opensuse puedes encontrar el escritorio movistar en este respositorio oficial:

http://open.movilforum.com/archive/escritorio-movistar/
Los paquetes que hay que instalar son: escritorio-movistar-españa y mobile-manager.
Me lo han mandado los chicos de openshine (vamos Cesar Tapia & Roberto Majadas) que son unos cracks y los responsables de esta aplicación para linux!!!
]]>

« Newer PostsOlder Posts »

Powered by WordPress