June 18, 2013
Estoy por empezar en un nuevo proyecto donde muy probablemente usemos Rails. Uno de los requisitos del proyecto es que tenga internacionalización desde un principio.

Jeff Casimir – i18n – RubyConf Argentina 2012
El primer lugar al que hay que ir a leer es Rails Guides: Rails Internationalization (I18n) API. Pero también me acordé una charla de RubyConf Argentina que me gustó bastante en su momento. La charla en cuestión:
Jeff Casimir – Internationalization isn’t a bad word
En general me acuerdo por ahí las ventajas de extraer los Strings de nuestro código -por más que no vayamos a usar i18n- y que es una buena práctica de arranque.
Preparar el código para i18n es un trabajo de una vez, y quita todo lo que sea particular al lenguaje fuera de nuestra aplicación. La localización implica crear “locales”, traducir los textos y los formatos y formas de mostrar la información.
Uno de los aspectos importantes que menciona Jeff Casimir en su charla es evitar los “Copyedit commits”, o “commits con edición de texto”. Commits donde cambiamos apenas algun texto, que pueden hacer explotar todo por de repente un copio y pegue con comillas o caracteres raros de Word.
Algunas de las herramientas que menciona (de lo que tengo en mis apuntes):
Les recomiendo ver la charla, habla de varias buenas prácticas, cómo definir el locale (no usar geolocalización a menos que sea el último recurso) y más:
Pueden ver el resto de las charlas de RubyConf Argentina 2012 en estos enlaces: Día 1 | Día 2
Así que si tienen que agregar i18n a su aplicación, acá hay algunos lugares por dónde empezar. Veremos cómo me va y qué terminamos usando en nuestro proyecto actual.
by Fernando at June 18, 2013 02:00 PM
June 17, 2013

Scala Meetup
ACTUALIZADO: El meetup de este Jueves 20 cambió de hora y lugar.
Empieza a las 20:00, y se hace en Globant, Paraguay 2141, Piso 9 edificio Aguada Park. También aumentó el cupo, así que hay más lugares disponibles, anótense acá.
Desde hace un tiempo la cantidad de Meetups de programación y temas similares se han multiplicado en Montevideo. Por ahora estoy como organizador de los Ruby Meetups, así que me van a ver casi siempre por ahí. En su momento también empecé a ir a los meetups de MySQL, que ahora creo se transformaron en los Meetups DevOps (para ingenieros, programadores y administradores de sistemas).
Esta semana voy a ir por primera vez al meetup de Scala. Hace tiempo que estoy pensando en ir, y siempre por alguna razón se me pasaba la fecha o me olvidaba. Este jueves tienen un invitado especial: Jamie Allen, Director de Consultoria de TypeSafe.
Typesafe fue fundada en 2011 por los creadores del lenguaje de programación Scala y Akka. Akka es un toolkit y runtime para construir aplicaciones basadas en eventos, concurrentes, distribuídas y tolerantes a fallas sobre la JVM. La idea fue unir fuerzas para crear una plataforma moderna de software para la era de hardware multicore y workloads para cloud computing.
En la empresa están Martin Odersky, creador de Scala, Rod Johnson, creador de Spring y tienen a un tal James Gosling entre sus Advisors (creador de Java, por las dudas…).
De Scala estuve viendo algo en su momento, me parece un lenguaje super interesante y me gustaría programar algo con él (mi lista “lenguajes de programación a aprender” sigue creciendo y por ahora solo taché parte de “Ruby” y las primeras letras de “JavaScript”). Tengo un post en borradores del blog de Julio del año pasado, donde me había puesto a leer y probar varias cosas. A lo mejor esto de ir al meetup me inspira y termino ese post, además de aprender algunas cosas nuevas para comentar por acá.
Hay una encuesta para elegir qué charla va a dar Jamie Allen, y las opciones son:
- Effective Actors
- Taxonomy of Scala
- What You Need to Know About Lambdas
- Real World Akka Recipes
Por ahora viene ganando “Effective Actors” y la charla de Lambdas como es corta se podría incluir también. Antes de ir voy a leerme esto: Scala Actors: A Short Tutorial, para tener alguna idea 
Los meetups de Scala son los terceros jueves de cada mes. Visiten su página en Meetup para inscribirse y estar al tanto.
¡Nos vemos en el meetup!
by Fernando at June 17, 2013 02:59 PM
June 16, 2013
JavaZone es una conferencia en Escandinavia que se realiza anualmente desde 2002. Pero la mayoría la conocemos más que nada por los excelentes videos promocionales que vienen sacando hace unos años. En 2010 lanzaron Lady Java – Java Zone y Java4Ever. El primero un video musical y el segundo una parodia de trailer de película, con chistes y referencias específicas para programadores Java.
Los siguientes años siguieron la línea de hacer trailers de películas con un alto contenido de humor y lleno de referencias y guiños por todos lados. Tienen terrible calidad y los guiones son excelentes, aptos para programadores Java y de otros lenguajes. Véanlos, valen la pena.
Video de este año: Javapocalypse
Video de 2012: The Java Heist
Uno de los diálogos más graciosos:
- ¡Pensé que eras un experto en Java!
- Mentí. Solo soy un Java Certified Programmer.
Video de 2011: The Streaming
Pueden entrar al sitio de JavaZone para ver los videos, y también hay videos de las charlas. Porque recuerden que esto es la promoción de una conferencia sobre desarrollo 
by Fernando at June 16, 2013 03:00 PM
June 15, 2013
Hace un tiempo escribí sobre Planetary Annihilation, un juego de estrategia en tiempo real “a escala planetaria”. El Kickstarter que financiaba el proyecto tuvo mucho éxito y el juego está en pleno desarrollo.
La primera semana de junio tuvo una versión alpha disponible, con más de 7.000 jugadores conectándose a los servidores para probar el juego en línea. Les dejo un video de cómo se viene desarrollando la cosa:
La fecha de entrega final del juego es Julio de 2013. Por mi parte espero con ansias poder probarlo. Se ve demasiado bien, y hace mucho que no juego un RTS, extraño las épocas de Starcraft y Warcraft III 

Planetary Annihilation
Planetary Annihilation es un juego de estrategia real ubicado en el espacio: Hay planetas y cinturones de asteroides para expandir nuestra economía, esconder nuestras bases y crear armas de destrucción planetaria. Podemos luchar por controlar un sistema solar, o lanzar una Guerra Galáctica para reclamar una galaxia entera.
Tiene modalidades de juego multi-jugador e individual, con hasta 40 jugadores. Podemos jugar en los servidores de UberNet, servidores privados o sin conexión, el juego no tiene DRM. Va a estar disponible para Linux, Mac OS X y Windows.
by Fernando at June 15, 2013 02:30 PM
June 14, 2013
Hace poco les comentaba sobre ABRE LATAM, en el marco de lo que llamé el mes de los Datos Abiertos en Montevideo. Es que a partir del 24 de junio se realizan en nuestra ciudad varios eventos relacionados a Datos Abiertos.

Conferencia Regional de Datos Abiertos para América Latina y el Caribe
Los días 26 y 27 de junio de 2013 en Radisson Victoria Plaza, Montevideo, Uruguay. se realiza la Conferencia Regional de Datos Abiertos para América Latina y el Caribe:
¿Por qué una conferencia de Datos Abiertos?
La información pública compartida en formatos abiertos, accesibles y estructurados es una fuerte tendencia global hacia la transparencia, rendición de cuentas, participación de la sociedad civil en procesos de mejora de la eficiencia de la administración pública y la generación de nuevos productos y servicios para los ciudadanos.
Este evento apunta a mirar el fenómeno desde una óptica regional, aprendiendo de las mejores prácticas en el mundo pero también de los procesos desarrollados en la región que buscan la construcción sostenible de valor.
Áreas temáticas
La oferta de datos abiertos: qué datos abrir y cómo
Gobiernos e instituciones públicas: establecer reglas y normas, identificar, publicar y mantener los datos abiertos
La demanda por datos abiertos: por qué, para qué y para quien
Presupuesto abierto: Transparencia y rendición de cuentas
Administración pública mejor y más eficiente: los gobiernos y las instituciones públicas
El valor agregado de la apertura y re utilización de datos abiertos
Temas transversales
Gobiernos locales y ciudades
El uso comercial de los datos: nuevos modelos de negocio y la cadena de valor
Investigación sobre los impactos emergentes y potencialidades de los datos abiertos para el desarrollo
La agenda está en línea y ya pueden registrarse al evento. Van a haber autoridades del Gobierno de Uruguay, gente de AGESIC, el Banco Mundial, DATA y W3C Brasil, entre otros. Hay mucho muy interesante para ver, seguro me vuelvo lleno de ideas nuevas después de la conferencia 
Que este tipo de eventos se esté dando en nuestro país es muy importante. Hay un crecimiento muy fuerte en el tema en América Latina y es bueno saber que desde acá se está aportando a eso.
Van a haber varios eventos paralelos a la conferencia en esos días, atentos hay para todos los gustos:
ABRE LATAM
Desconferencia que reunirá a la sociedad civil para discutir e intercambiar ideas sobre el uso de Datos Abiertos para afrontar temas de corte social.
Centro Cultural de España, Rincón 629
Acceder al sitio web de ABRE LATAM
Modelos de Negocio con Datos Abiertos
Charlas y talleres sobre las crecientes oportunidades de construir emprendimientos rentables alrededor de los datos abiertos y otros modelos de negocio basados en el uso de los mismos.
Centro de Formación de la Cooperación Española en Montevideo, 25 de Mayo 520
Acceder al sitio de Modelos de Negocio con Datos Abiertos
Curso de Datos Abiertos W3C Brasil
Capacitación técnica y taller sobre Datos Abiertos y Linked Data a realizarse el lunes 24 y martes 25 de junio.
Seminario OD4D: Potencialidades e Impactos Emergentes de los Datos Abiertos en América Latina y el Caribe
A realizarse en la tarde del martes 25 de junio, en el marco de la iniciativa “Open Data for Development” de CEPAL, IDRC-CRDI y W3C. Puede descargar la agenda del seminario en PDF.
by Fernando at June 14, 2013 02:00 PM
June 13, 2013
Escribo esto recién llegado de la función Avant-Premiere de Man Of Steel: La primera película de Superman que me gusta mucho (más que las de Batman de Nolan). Gané una entrada doble en el concurso que organizó Multiverseros (¡Gracias!). Así que a eso de las 18:00 me puse mi camiseta de Hulk y emprendí camino al cine donde me encontré con varios Multiverseros más.
Me gusta contextualizar un poco las cosas en estas reseñas, así ven de dónde vengo a la hora de hablar de la película. Voy a contar poco de mi relación con Superman. Cuando empecé a leer cómics, y hasta hace poco, no me gustaba el personaje. Me parecía un personaje demasiado perfecto, demasiado obvio, y por eso le cuestionaba un montón de cosas que aceptaba de otros superhéroes, y de él no “por ser Superman”.
Pero si pensaban como yo, probablemente estén equivocados. Por lo menos en mi caso esto se basó mucho en ignorancia. Mis prejuicios hacia el personaje hicieron que nunca leyera una de sus historias, y un buen ejercicio es cuestionarse esos prejuicios y cambiar. Por suerte fui conociendo gente del medio, amigos cuyo opinión respeto, que admiraban mucho a Superman.
Fue así que leí grandes historias como All-Star Superman (novelón gráfico), Para el Hombre que lo tiene todo, ¿Qué ocurrió con el Hombre del Mañana? (George Perez FTW) y alguna otra cosa. Una buena pregunta que me vengo haciendo recientemente es si existen “buenos/malos personajes” o solo “buenos/malos escritores”, porque a medida que conocí más de Superman le empecé a agarrar el gusto. Pero eso es tema para otro post…

Man Of Steel – Jor-El
Dicho esto, quedé muy contento con el éxito que fue (para mí) la película, pero creo más porque a varios de los que me convencieron de leer a Superman también les gustó. El personaje se merecía una buena interpretación en el cine, y le llegó el momento 
No revelo detalles de la trama a continuación, dejé unos párrafos de “spoiler” para el final.
La historia comienza en Krypton, donde nos muestra la situación del origen que todos conocemos: El planeta está por destruirse y una pareja decide mandar a su hijo en una nave a la Tierra para protegerlo. Ya en estas primeras escenas es increíble la calidad visual, se nota el toque personal de Zack Snyder. Me pareció muy bien contada esta etapa de cómo Kal-El terminó en la tierra. Las actuaciones son muy buenas y transmiten lo que tienen que transmitir. Por lo menos a mí me mantuvieron muy enganchado.
De destacar los papeles de Russell Crowe como Jor-El y Ayelet Zurer como Lara Lor-Van, los padres biológicos. Además de la crianza que le dan los Kent en la Tierra, Kal tiene genes de dos grandes kryptonianos. La escena de despedida de Kal ante la inminente destrucción de Krypton seguro dejó a más de uno moqueando (o como dicen en Multiverseros: les quedó temblando la perita).
La música acompaña la ambientación durante toda la película. Hans Zimmer hizo un excelente trabajo componiendo la banda sonora. No está la canción compuesta por John Williams de las películas anteriores, pero no se extraña en ningún momento. Esto es otra cosa, se nota y está muy bien.
En la Tierra, el desarrollo del personaje se realiza a través de flashbacks, evitando aburrir con gran parte de la película explicando cómo Clark creció con su familia, obtuvo sus valores de los Kent, etc. La relación con sus padres está muy bien desarrollada pasando por distintas etapas de su vida, y luchando con esas cosas que lo hacen distinto a los demás, formando de a poco su personalidad.

Man Of Steel – Superman
Hay un poco de todo: escenas emocionantes equilibradas con partes tensas y de acción que te dejan al borde de la silla. Si querían ver a Superman siendo Superman en una pantalla de cine, esta es su oportunidad. Vi el Superman que esperaba ver, volando, usando sus super poderes y siendo un superhéroe interesante.
Tengo bastante fresca en la memoria la mini-serie Man Of Steel de John Byrne y los números que le siguieron de Superman. Los leí recientemente por muchas recomendaciones. Creo que de las varias interpretaciones que podrían haber hecho del personaje, hicieron bien en elegir eso que definió Byrne de que Superman es humano, a pesar de que viene de otro mundo.
En ese mismo tema de la “definición” de Superman, hay una conceptualización de él como una fuerza de bien. Le da un valor al personaje que es parte de lo que personalmente no le encontraba antes de leer alguna de sus historias y nos permite (por lo menos a mí) identificarnos más con él. Como que ayuda a entenderlo, y en partes la película me transmitió eso. Diálogos con los padres, actitudes desde su juventud, y sus interacciones con la gente muestran que Superman además de tener superpoderes es un héroe por definición por su personalidad.
El enemigo en esta ocasión no es Lex Luthor (aunque hay alguna referencia a Lexcorp por ahí), sino el General Zod. Muy buena la actuación de Michael Shannon en ese personaje. Una característica que comentábamos con mi novia: no es “malo” por naturaleza. Simplemente tiene una forma de ver las cosas, que si bien puede estar equivocada o no, es discutible, pero actúa según lo que él piensa que es correcto. Y esto le da una profundidad al personaje más allá de “es malo”.

Man Of Steel – Superman
Ahora cuando miro a Henry Cavill, veo a Superman. Las escenas en las que vuela están muy bien logradas, los detalles visuales y las expresiones del actor. Me imagino que no puede haber algo mejor que eso en materia de “un superhéroe que vuela y ese es uno de sus principales poderes así que hay que destacarlo”. Además de darle la oportunidad de desarrollar el superhéroe de a poquito, tiene sus escenas donde seguramente le dijeron a Snyder: “Acá tenés rienda suelta para hacer lo que quieras”. En esas escenas la acción y los efectos especiales se potencian y te empachas comiendo pop disfrutando cada segundo de la acción.
A continuación revelo algunos detalles de la trama. En el blog lo que está a continuación está “censurado” y se puede revelar haciendo clic sobre el texto. Pero si leen esto desde el feed RSS, no sé si se verá censurado también. Spoilers a continuación, están advertidos (aunque no son realmente temas delicados de la trama):
Cuando se pone el traje por primera vez, Superman aparece afeitado de un momento a otro. No se resuelve uno de los misterios: ¿cómo se afeita Superman? Lo más reciente que leí fue justamente la mini-serie Man Of Steel de John Byrne (que me recomendaron hasta el cansancio
). Ahí usa un pedazo de metal de la nave que lo trajo, donde reflejaba los rayos de sus ojos para quemar los pelos de su cara. Pero en la película no se explica…
En la lucha final entre Zod y Superman, aparece un satélite con el nombre “Wayne”, un buen guiño “a lo Marvel” de que eventualmente vamos a ver a Batman en este universo. Pero por lo que comentó Nolan, no va a ser el mismo Batman de su trilogía.
En conclusión: Si quieren ver una buena película de superhéroes, vayan a cine y vean Man Of Steel. Ya está confirmada la secuela con Snyder dirigiendo y David S. Goyer volviendo al guión. Aparentemente tiene un contrato de 3 películas: 2 de Superman y una de Justice League.
Espero con ansias la secuela, me gustó mucho esta primera. Le doy un puntaje de 10 sobre 10. No es perfecta, pero los mínimos defectos que pueda tener se compensan con una excelente película de Superman.
Espero que Warner y DC hagan las cosas bien, y Man Of Steel sea la primera de muchas películas en un nuevo universo cinematográfico. Vivimos en un buen tiempo para el cine de supehéroes 
Si quieren leer más opiniones, les recomiendo visitar: Dos reseñas de Man Of Steel en Multiverseros.
by Fernando at June 13, 2013 12:00 PM
June 12, 2013
DevOps MVD es un grupo de MeetUP que se ha formado en Montevideo con la idea es compartir entre desarrolladores y sysadmins distintas experiencias que mejoren nuestras capacidades DevOps; pero ¿qué es ser un DevOps?
En estos días llegó a mis manos un artículo que responde exactamente esa pregunta, así que esta es la traducción del artículo What Is a DevOps Engineer? publicado el 23.mayo.2013 en el Blog de Puppet Labs.
¿Qué es ser un DevOps?
(Por: Aliza Earnshaw – Traducción: Rodolfo Pilas)
La demanda de las personas con habilidades de DevOps está creciendo rápidamente porque las empresas están obteniendo grandes resultados de ellos.
Las organizaciones que utilizan prácticas de DevOps son abrumadoramente eficientes: actualizan código hasta 30 veces más frecuentemente que sus competidores, con un 50 por ciento menos de posibilidades que sus instalaciones fracasen, según muestra nuestra encuesta El Estado de DevOps del 2013.
Con todas estas ventajas, se podría pensar que había un montón de ingenieros DevOps por ahí. Sin embargo, sólo el 18 por ciento de los encuestados dijo que alguien en su organización realmente tenía este título.
¿Por qué sucede esto?
En parte, es porque la definición de lo que es un DevOps está aun en evolución. Sin embargo, esto no impide la contratación de DevOps. Entre enero de 2012 y enero de 2013, los listados de empleos para DevOps en Indeed.com aumentaron 75 por ciento. En LinkedIn.com, menciones de DevOps como una habilidad aumentó 50 por ciento durante el mismo período.
Nuestra encuesta reveló la misma tendencia. La mitad de los encuestados de más de 4.000 (en más de 90 países) dijeron que sus empresas tienen en cuenta las habilidades DevOps la hora de contratar.
¿Cuáles son las habilidades DevOps?
Los encuestados identificaron las tres principales áreas de habilidades para el personal DevOps:
- Codificación o scripting
- Reingeniería de procesos
- Comunicarse y colaborar con los demás
Estas habilidades, apuntan a un creciente reconocimiento de que la complejidad del software de hoy en día se encuentra en la creación y también en garantizar que el nuevo software funciona a través de un conjunto diverso de sistemas operativos y plataformas.
Del mismo modo, actualmente las pruebas e instalación se hacen con mucha más frecuencia. Es decir, pueden ser más frecuentes: si los desarrolladores se comunican rápido y regularmente con el equipo de operaciones, y si los operadores aportan su conocimiento del entorno de producción para el diseño de las pruebas y puesta en producción.
La discusión de lo que distingue a los ingenieros DevOps sobrepasa lo que se ha escrito en blogs y foros, y ocurre cuando los técnicos se reúnen.
Hay un montón de cosas para hablar, por ejemplo, cómo impulsar la codificación -no sólo el código- por encima del muro en las operaciones. Werner Vogels, el CTO de Amazon, dijo en una entrevista que cuando los desarrolladores asumen más responsabilidad de las operaciones, mejora la tecnología y el servicio a los clientes.
“El modelo tradicional trata de pasar el software por encima de la pared que separa el desarrollo de las operaciones y una vez del otro lado, olvidarse de él. No en Amazon. Usted lo construye, Usted lo corre. Esto hace que los desarrolladores estén en contacto con la operación del día a día. También quedan en contacto día a día con el cliente”.
Sobre el bucle de realimentación con el cliente, Vogels dijo, “es esencial para la mejora de la calidad del servicio.”
Desde hace mucho tiempo desarrollador y empresario rico Pelavin de Reactor8 también ve los beneficios de la cultura DevOps en términos de una mayor responsabilidad de todos:
“He visto a las organizaciones donde los ingenieros tienen beepers, por lo que ellos son advertidos por el beep si algo sale mal [en la instalación y ejecución]. Eso los empuja hacia el resto del ciclo de vida del software. Creo que es una gran idea”.
Eso es un cambio real para entornos no-DevOps, en los que los desarrolladores impactan los últimos cambios del día y se van a sus casas… o a la sala de ping-pong.
Y al final ¿qué es un DevOps? ¿Y quién los contrata?
No hay una carrera formal para convertirse en un ingeniero de DevOps. Ellos suelen ser los desarrolladores que se interesen en el despliegue de sus aplicaciones y en la red de operaciones; o los administradores de sistemas que tienen una pasión por secuencias de comandos y codificación e intervienen pasar a la parte de desarrollo, donde pueden mejorar la planificación de la prueba e instalación. De cualquier manera, se trata de personas que han empujado más allá de sus áreas de competencia definidas y que tienen una visión más integral de sus entornos técnicos.
Los DevOps siguen siendo un grupo muy pequeño, por lo que es razonable que pocas compañías tengan ese cargo. Kelsey Hightower, que dirige las operaciones aquí en Puppet Labs, describe a estas personas como las “Fuerzas Especiales” en una organización.
“El ingeniero DevOps encapsula profundidad de conocimientos y años de experiencia práctica”, dijo Kelsey. “Está probado batalla. Es la persona que combina las habilidades del analista de negocios con las plantillas técnicas para construir la solución – además de que conoce bien el negocio, y puede ver cómo cualquier problema afecta a toda la empresa “.
Si DevOps se entiende como una forma de pensar, puede resultar confuso. Por suerte, muchas personas han probado definiciones como para permitirnos hacer una lista de los atributos principales del DevOps:
- Capacidad para utilizar una amplia variedad de tecnologías y herramientas de código abierto
- Capacidad para codificar y hacer scripts
- La experiencia sistemas y operaciones de TI
- Comodidad con las frecuentes pruebas de código incrementales e instalaciones
- Buen conocimiento de las herramientas de automatización
- Capacidad de gestión de datos
- Un fuerte enfoque en los resultados del negocio
- Confort con la colaboración, la comunicación abierta y pasar a través de fronteras funcionales
Incluso con un amplio acuerdo acerca de los atributos fundamentales del DevOps, nace la controversia alrededor del término “ingeniero DevOps.” Algunos dicen que el término en sí mismo contradice los valores DevOps.
Jez Humble, el co-autor de Continuous Delivery, señala que sólo con llamar a alguien un ingeniero DevOps puede crear un tercer compartimento además de dev y ops – “… claramente es una forma inadecuada (e irónica) para tratar de resolver estos problemas.”
Dice que DevOps propone “estrategias para crear una mejor colaboración entre los compartimentos funcionales, o acabar con esos compartimentos funcionales en conjunto y la creación de equipos multifuncionales (o alguna combinación de estos métodos).” Al final, Humble cede terreno al decir que está bien llamar a la gente haciendo DevOps por este término, si Usted quiere.
Para convertirse en un ingeniero DevOps: ¿Qué se necesita?
¿Se ha convencido de que DevOps es su futuro? Si es así, querrá empezar a ampliar sus habilidades y experiencia para competir por estos nuevos puestos de trabajo.
Por un lado, está bien reforzar sus habilidades de codificación, familiarizarse con las herramientas de automatización, pero también buscar proyectos y nuevas funciones que permitan ejercitar las habilidades “accesibles” que se encuentran en la esencia del DevOps. Además encontrar oportunidades para colaborar dentro y fuera de su equipo. Tal vez, ayudar en su empresa para pasar a un régimen de pruebas rápidas y alto ritmo de instalación. Y estar abierto a escuchar las ideas de los demás. Tenga en cuenta que DevOps se trata tanto de hacer las cosas de una manera particular, y más acerca de cómo mover el negocio hacia adelante y darle una ventaja tecnológica más fuerte.
Más información sobre DevOps:
How Do You Make $100K in IT? Look to the DevOps Shops
Bridging the Two Worlds: IT and Networking
Hiring for the DevOps Toolchain: The Need for Generalists
DevOps Resources
by rodolfo at June 12, 2013 05:17 PM

Ruby
Desde que empecé a programar en Ruby, siempre usé RVM como herramienta para gestionar el Ruby que uso. Hay varias implementaciones del lenguaje de programación: MRI (la implementación de referencia de facto), JRuby, Rubinius, etc., y versiones: 1.8 (en desuso, ya no recibe actualizaciones), 1.9.2, 1.9.3 y también 2.0.
Herramientas como RVM nos ayudan a instalar distintas versiones e implementaciones y usarlas según nuestras necesidades de forma bastante directa y sencilla. En el Ruby meetup de Diciembre 2012 hablamos de RVM entre otras cosas.
Como recientemente formateé mi PC de escritorio, tuve que reinstalar una herramienta para gestionar Ruby. No he encontrado problemas usando RVM, pero siempre viene bien aprender algo nuevo. Así que pensé aprovechar la oportunidad para probar rbenv, otro gestor de versiones de Ruby muy defendido por los que lo usan.
Empecé a instalar rbenv, pero un tweet de Jano me hizo reconsiderar: prueben chruby https://github.com/postmodern/chruby. Ya me habían mencionado chruby en una conversación anterior, pero no había tenido oportunidad de probar ambos. Me decidí dejar de lado rbenv por ahora, e ir directo a la instalación de chruby.
El proyecto es más simple y liviano que tanto RVM y rbenv. Creo que fue todo más sencillo de instalar que con RVM, o sentía más una noción de lo que estaba pasando. O será que hace mucho que no instalo RVM… Pero s
chruby – changes the current Ruby
Algunas de sus características:
- actualiza $PATH.
- Agrega los directorios de ejecutables de RubyGems bin/ a $PATH.
- Setea las variables $GEM_HOME y $GEM_PATH correctamente.
- Usuarios: Las gemas se instalan en ~/.gem/$ruby/$version.
- Root: las gemas se instalan en /path/a/$ruby/$gemdir.
- Setea $RUBY_ROOT, $RUBY_ENGINE, $RUBY_VERSION y $GEM_ROOT.
Instalar:
wget -O chruby-0.3.5.tar.gz https://github.com/postmodern/chruby/archive/v0.3.5.tar.gz
tar -xzvf chruby-0.3.5.tar.gz
cd chruby-0.3.5/
sudo make install |
Ahora pueden hacer dos cosas:
- ejecutar el script
setup.sh (en el directorio scripts y ejecutarlo como root) que instala chruby y las últimas versiones de Ruby, JRuby y Rubinius. - Lo que hice yo, como no quería instalar tanta versión, seguí a mano.
Para configurar chruby, hay que agregar lo siguiente a /etc/profile.d/chruby.sh, ~/.bashrc o ~/.zshenv:
source /usr/local/share/chruby/chruby.sh
Para habilitar chruby a nivel de sistema, hay que agregar este código a /etc/profile.d/chruby.sh:
[ -n "$BASH_VERSION" ] || [ -n "$ZSH_VERSION" ] || return
source /usr/local/share/chruby/chruby.sh |
Para definir un Ruby por defecto, hay que llamar a chruby en ~/.bashrc o ~/.zshrc.
A la hora de instalar una nueva versión de Ruby, podemos usar ruby-install:
wget -O ruby-install-0.1.4.tar.gz https://github.com/postmodern/ruby-install/archive/v0.1.4.tar.gz
tar -xzvf ruby-install-0.1.4.tar.gz
cd ruby-install-0.1.4/
sudo make install |
En mi caso como estoy usando Mint, basado en Ubuntu, tuve que instalar algunas dependencias para instalar Ruby, pueden ver la lista por sistemas en la wiki de ruby-install:
sudo apt-get install -y build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev \
libreadline-dev libncurses5-dev libffi-dev |
Terminadas las configuraciones, probé de instalar Ruby 2.0. Ejecuté el comando ruby-install ruby 2.0.0 y tras esperar unos minutos, tengo Ruby en mi máquina:
fernando@hoth ~ $ chruby
ruby-2.0.0-p195
fernando@hoth ~ $ chruby 2.0
Using ruby-2.0.0
fernando@hoth ~ $ ruby –version
ruby 2.0.0p195 (2013-05-14 revision 40734) [x86_64-linux]
Habrá que probarlo un tiempo a ver qué tal es en comparación a RVM.
by Fernando at June 12, 2013 02:00 PM
June 11, 2013
Hace ya tiempo me preguntaba qué relación tiene el Software Libre con la política y qué pasaría cuando los políticos comenzaran a entender el concepto de Software Libre.
Hoy día el Parlamento uruguayo tiene para estudio un Proyecto de Ley relativo al Software Libre y Formatos Abiertos en el Estado, que cuenta con media sanción y está para consideración de la Cámara de Senadores. Alrededor de este proyecto se han alzado una interesante cantidad de voces en favor y en contra y me he auto-educado para ser permeable solamente un tipo limitado de comentarios, por eso solo escucho o leo los comentarios que:
- Me parecen medianamente razonables
- No me parece razonables, pero están expresados por alguien que participa de un proyecto de Software Libre y/o ha compartido obras de su autoría bajo licencias libres.
Con el punto 1, corro el riesgo de tener solamente la visión de quiénes piensan igual que yo, pero con el punto 2, recibo las opiniones contrarias a mi parecer de las personas que considero tienen mérito para expresar su opinión.
El problema es que en mi País ha aparecido toda una serie de personas hablando y opinando de lo importante que es el Software Libre y de la importancia de la Libertad del Conocimiento pero que no han hecho el esfuerzo de liberar ningún conocimiento propio (por pereza o falta de capacidad); entonces terminan siendo abanderados de la liberación de conocimientos ajenos.
Un viejo Profesor definió a esta gente como los “HAY QUE”: hay que liberar, hay que compartir, hay que hacer algo… pero ellos son los que nunca pasaron por ese proceso.
En los países anglosajones acuñaron la frase: SHOW ME THE CODE para diferenciar a los que hablan de los que hacen.

by rodolfo at June 11, 2013 04:38 PM

Tiny Tiny RSS
Con la inminente desaparición de Google Reader, tuve que buscar una alternativa para leer feeds RSS.
En algun momento usé aplicaciones de escritorio: Liferea, Akregator, e incluso llegué a usar algo basado en Eclipse: RSSOwl.
Opté por una solución web. De esa manera podía acceder desde cualquier dispositivo y tener las mismas fuentes RSS sincronizadas en un solo lugar.
Tras probar alguna que otra alternativa, terminé con Google Reader. No muy conforme porque odio los servicios de Google, si bien Reader es de los más usables, cuanto menos dependa de ellos mejor.
Ahora que anunciaron su cierre mato dos pájaros de un tiro:
- Buscar una solución definitiva a mis necesidades de RSS, y no depender de un servicio web de terceros
- Limpiar un poco los feeds. Tengo feeds de blogs o sitios que murieron hace años, y todavía están ahí. Así que a empezar de cero

Investigando un poco por la web, encontré que la mejor solución a mi problema era Tiny Tiny RSS:
Tiny Tiny RSS es un agregador y lector de feeds de noticias (RSS/Atom) web y open source, diseñado para permitirte leer noticias desde cualquier ubicación, sintiéndose lo más parecido posible a una aplicación de escritorio.

Tiny Tiny RSS
Es una aplicación web PHP y puede usar MySQL o Postgres como base de datos. La interfaz tiene mucho Ajax, se ve bastante prolija y es fácil de usar.
Se puede instalar tanto en nuestra máquina local con LAMP o en un servidor web. La instalación es bastante sencilla, si están acostumbrados a la instalación manual de otras aplicaciones como WordPress, sistemas de foros, CMS, etc., no van a encontrar nada nuevo con TTRSS. Subimos los archivos al servidor, creamos una base de datos y usuario, editamos el archivo config.php con los datos, y queda funcionando. Para usarlo solo necesitamos un navegador web.
Otra ventaja de la aplicación es que tiene un cliente para Android, y se ve bastante bien:

Tiny Tiny RSS Android
Reader cierra sus puertas el 1 de julio, así que tengo tiempo hasta entonces para ir migrando mis feeds. Podemos exportar directamente los feeds de Google Reader a Tiny Tiny RSS, pero como dije, quiero hacer una limpieza antes. Es bueno dejar de depender de un servicio de terceros en al menos una de mis tantas formas de interactuar con la red. De a poco espero ir haciendo lo mismo con otros servicios.
Ya saben, si están buscando una alternativa a Google Reader esta es una buena.
¡El RSS no está muerto!
by Fernando at June 11, 2013 02:00 PM
June 10, 2013

Ruby Meetups
Todos los meses se organiza el Ruby Meetup Montevideo los segundos martes del mes.
Este mes hacemos una excepción, hay algun tipo de evento deportivo relevante, por lo que cambiamos el meetup para el Jueves 13 de junio.
Recuerden que no es requisito saber Ruby para venir. Es una excelente oportunidad para acercarse a la comunidad, conocer gente del ambiente, conseguir oportunidades laborales y aprender más sobre desarrollo web y tecnologías relacionadas con Ruby.
Este jueves Verónica Rebagliatte nos va a dar una charla de introducción a Rails. Va a ser modalidad medio taller, con código en vivo como para que se vayan con una idea de cómo arrancar una aplicación Rails.
Jueves 13 de Junio – 19:30 horas
CoworkingMVD – Bulevar España 2529, esquina Libertad
Neo pone el lugar, las pizzas y la bebida. ¡Nos vemos ahí!
by Fernando at June 10, 2013 09:21 PM

ABRE LATAM
Junio es el mes de los Datos Abiertos en Montevideo. La movida empieza el 24 y 25 con una desconferencia sobre Datos Abiertos y Transparencia – ABRE LATAM. Organizado por los amigos de D.A.T.A. y Ciudadano Inteligente, acá la info del evento:
Es la primer desconferencia sobre Datos Abiertos y transparencia en los gobiernos latinoamericanos que sucederá en Montevideo, Uruguay el 24 y 25 de junio del 2013. Queremos reunir representantes de diferentes sectores de la sociedad civil latinoamericana que trabajen sobre Datos Abiertos en torno a temas como transparencia, participación ciudadana y la ampliación de las libertades civiles. Creemos que la mejor manera de alcanzar dichos objetivos es organizando una desconferencia, encontrándonos para que la sociedad civil regional comparta sus estrategias, desafíos comunes e identificando oportunidades de colaboración a nivel regional y global.
Es una “desconferencia”
Un espacio neutral, donde redes formales e informales y organizaciones pueden encontrarse para discutir ideas y estrategias. Es una oportunidad ideal generar colaboración a través de la región y compartir mecanismos alternativos para la coordinación de recursos y esfuerzos.
Una desconferencia está impulsada por sus propios participantes. La agenda se realiza el primer día del evento con los aportes de los asistentes. Ésto ayuda a que todos tengan voz en las discusiones y encuentren áreas de interés común. Aunque no haya una agenda predefinida, habrá una selección de temas que provendrán de las respuestas de los propios participantes a preguntas que han de completar a la hora de su inscripción. Los facilitadores de los talleres también son los participantes de la desconferencia. Éstos ayudan a potenciar la discusión, asegurando la participación de todos aquellos que sean parte de la misma.
¿Quienes pueden participar?
Personas de cualquier parte del mundo interesadas en lo que esta pasando en la región latinoamericana en cuanto a Datos Abiertos, transparencia en el gobierno y participación ciudadana.
Apuntamos a activistas de la sociedad civil que promuevan la publicación de Datos Abiertos, desarrolladores de software, periodistas de datos, investigadores que estudian y monitorean iniciativas en el tema y ONGs de corte tradicional que utilicen o generen datos abiertos. Más allá de eso, todos los que tengan interés son bienvenidos.
Aparentemente las inscripciones ya están agotadas, pero se pueden sumar a la lista de espera por si se liberan cupos.
Voy a estar participando de este evento e intentaré transmitir la experiencia en el blog. Tengo bastante expectativa del evento, sé que la gente de DATA ha estado trabajando mucho en el tema, así que habrá que ver qué tal nos va. Por más información visiten el sitio web o sigan a @ABRELATAM en Twitter.
A los que asistan, ¡nos vemos ahí!
by Fernando at June 10, 2013 01:30 PM
June 09, 2013

Linktocat
Gitray es una aplicación web para ver los archivos de un proyecto en GitHub emulando un editor de texto con un árbol del directorio del proyecto. La motivación del autor:
Encontré que quería una manera rápida de ver un proyecto sin tener que clonarlo y abrirlo en Sublime. Navegar en el sitio de GitHub puede ser desorientador si es un proyecto grande. Puede haber una solución más rápida o alternativa a lo que quería pero de todas formas fue un gusto trabajar con el api de github
Para usarlo, pueden entrar en gitray.com e ingresar la URL de un proyecto en GitHub o directamente reemplazar “github.com” por “gitray.com” en la url de un proyecto y ejecutarlo en su navegador.
Ejemplo – http://github.com/Jonovono/gitray por: http://gitray.com/Jonovono/gitray
También se pueden clonar el código y ejecutar en su máquina como aplicación Node.

Gitray
Las limitaciones del proyecto -por ahora- son:
- No cuenta con autenticación, por lo que no se pueden ver proyectos privados
- Solo se puede ver la branch master de un proyecto
- No tiene búsqueda
Es un proyecto interesante que puede servir para navegar medio rápido un proyecto y ver por arriba qué trae. Bastante práctico y sencillo, pueden ver su código fuente en GitHub.
by Fernando at June 09, 2013 01:00 PM
June 08, 2013

Shazam por Alex Ross
Shazam, antes conocido como Captain Marvel, es un personaje de los cómics nacido por 1939. Se publicaba originalmente en Fawcett Comics y después de mucha historia, interrupciones en su publicación y super divertidas demandas (con Marvel por usar “Captain Marvel” y con DC por ser “muy Superman”), Captain Marvel terminó en las manos de DC Comics.
La historia que interesa del personaje es que Billy Batson -un niño elegido por el mago Shazam- tiene el poder de convertirse en el Capitán Marvel con solo mencionar el nombre del mago.
El Capitán Marvel es un tipo de Superman pero su uniforme tiene mucho más onda, es un ser humano mágico en vez de un extraterrestre invasor que viene a sacarle trabajo a los superhéroes de la tierra, y al tener la magia de su lado adquiere ventaja en una pelea contra el Hijo de Kriptón.
Debido a todos los problemas con Marvel, en la actualidad el héroe pasó a llamarse “Shazam”. Sus aventuras pueden seguirse hoy en Justice League de New 52 de DC. El desarrollo del personaje se viene publicando como historia secundaria a las aventuras de la Liga de la Justicia, escrito también por Geoff Johns (alabanzas) y dibujado por Gary Frank, pero todo apunta a que en breve será un miembro más de la liga.
Algo particular de Billy en los cómics actuales es que menciona varias veces la palabra “Shazam” sin convertirse en Shazam. Lo tiene que decir “con buenas intenciones” para que se dé la transformación.
Lo primero que leí fue Shazam!: The Monster Society of Evil
de Jeff Smith. Llegué a esta historia por Multiverseros (para variar), donde reseñaron al Capitán Marvel de Jeff Smith. Como decía RinTinTin, autor de la reseña: es un cómic “sin más pretenciones que ser disfrutadas de punta a punta”.
El autor se encargó de escribir el guión, dibujar y entintar los 4 números que se compilaron en un TPB. Tiene un arte caricaturesco, pero no deja de ser un excelente cómic de superhéroes disfrutable por adultos (y personas como yo). No viene con ninguna dependencia de continuidades o personajes que debamos conocer, es un tomo completo en sí solo. Es muy entretenido, y una excelente puerta de entrada para alguien que quiera comenzar a leer cómics de superhéroes. Se los recomiendo ampliamente.
El Capitán también pasó por la televisión, teniendo en 1941 su propia serial llamada Adventures of Captain Marvel. Más actual está la animación Superman/Shazam: The Return of Black Adam
, y siguiendo en el medio podemos ver al Capitán Marvel en algunos capítulos de la serie animada (altamente recomendable y tristemente cancelada) Young Justice.
Recientemente me llegaron en un pedido de cómics los 4 números de la mini-serie de 1987: Shazam! En ésta DC intentó volver a lanzar al personaje en el universo DC del momento. Roy y Dan Thomas la escribieron y Tom Mandrake estuvo a cargo del arte. A diferencia de otras encarnaciones (incluida la de Jeff Smith), en esta ocasión Billy y Marvel comparten la misma personalidad, siendo la misma persona en distintos cuerpos al decir las palabras mágicas.
Los cuatro números cuentan el origen una vez más, seguido de una confrontación con Black Adam, eterno enemigo de Marvel. En teoría la serie iba a continuar en una edición regular pero nunca pasó. Por esto si bien sirve como una visión más del personaje, es como más de lo mismo sin llegar a desarrollarse.

Shazam!
En The Monster Society of Evil llega a desenvolverse en una aventura y vemos al héroe en toda su gloria. Pero como decía no así en la mini-serie y no todavía en the New 52 (pero en cualquier momento).
Es un personaje que me resulta bastante interesante y desde que lo leí por primera vez estado buscando leer más. Creo que da para explotar muchas historias encontrando buenos escritores que lo quieran desarrollar. Todavía me queda mucho por descubrir, espero encontrar en lo que ya hay impreso algo que termine disfrutando tanto o más como lo de Jeff Smith.
Actualmente estoy esperando Superman/Shazam!: First Thunder
en un nuevo pedido de cómics, el arte es un despelote y también viene recomendado por RinTinTin. Kingdom Come, una novela gráfica escrita por Mark Waid (más alabanzas) con arte de Alex Ross (dibujante reconocido por el estilo realista de su trabajo) que me gustaría tener mi biblioteca en el futuro también tiene al Capi como uno de los protagonistas. Por último Shazam!: Power of Hope parece terrible obra, pero no he podido encontrarla en Amazon por ahora (mi proveedor de confianza, parece que habrá que recurrir a eBay).
Me gustaría poder leer a Shazam en su propio título actualmente en los New 52. Confío en Geoff Johns, su trabajo en Green Lantern fue increíble y lo que me convirtió en fanático del personaje. Sería genial que lo escribiera en un número aparte, si le dan las horas del día para llevarlo en paralelo al trabajo con Aquaman y los títulos de Justice League. Habrá que esperar y ver qué le depara. Por lo menos es sabido que tarde o temprano va a estar integrado en la Liga y habrá más para ver.
Si les interesa saber en qué va el personaje actualmente -y no tienen ganas de conseguir todos los números de Justice League- en octubre sale un tomo tapa dura: Shazam! Vol. 1 (The New 52)
que junta toda la historia de Johns y Gary Frank. Es bastante tentador, personalmente lo voy a considerar cuando esté disponible en tapa blanda para agregar a mi colección. El hecho de que se vaya desarrollando de a gotas en las páginas finales de otro título hace que se diluya mucho la historia, así que leerlo todo de un tirón en esta colección va a ser interesante.
Un personaje -de repente no tan popular- de los cómics de los super héroes del que tenía ganas de escribir. Si ya han leído algo, espero sus comentarios. Y si no, les recomiendo arrancar por The Monster Society Of Evil y de ahí para adelante.
Shazam!
by Fernando at June 08, 2013 01:30 PM
June 07, 2013

Cuba
Cuba es un microframework para desarrollo web en Ruby. Es bien minimalista, provee solo lo básico como para arrancar a desarrollar una aplicación web desde cero.
Menciono Cuba (ejem…) siempre que hablo de frameworks web en Ruby. Lo conocí por un proyecto de cliente que desarrollamos desde cero con Cuba y desde entonces le agarré cariño.
Al principio me di bastante contra la pared, no conocía mucho Ruby en ese momento, pero a la larga me gustó la filosofía minimalista y el poder elegir todos los aspectos de la aplicación.
Me inspiré a escribir un post a partir de un tweet que enlaza al blog de Francesco Rodríguez, específicamente al post Recursos en Cuba. Ahí pueden encontrar un montón de información de Cuba como ejemplos, tutoriales y demás.
Pueden empezar por Hola Cuba, un post que ayuda a dar los primeros pasos si no tenemos ni idea de qué va la cosa. Les recomiendo que se den una vuelta por el blog de Francesco, y si es por recursos la versión en inglés del post Cuba Resources tiene más información. Por ahora solo tiene 3 posts, pero todos aportando conocimiento sobre Cuba. Espero que leyendo esto me motive a empezar algun proyecto nuevo con este framework, hace tiempo que quiero volver a usarlo.
El año pasado escribí un post al respecto en el blog de Neo:
Ruby Web Development Microframework: Cuba
Está en inglés, pero en una de esas capaz que un día de estos lo traigo para Picando Código traducido al español 
Cuba fue desarrollado por el argentino Michel Martens, a quien pueden ver, leer y escuchar por varios lugares evangelizando el desarrollo de software minimalista. Siguiendo en la misma línea les dejo el video de Michel en RubyConf Uruguay 2013 hablando de varias herramientas en Ruby:
by Fernando at June 07, 2013 12:00 PM
June 06, 2013
Por agosto del año pasado les comentaba qué es DATA:
Conocé a D.A.T.A.
Datos Abiertos, Transparencia y Acceso a la Información son las palabras que forman el acrónimo que nos da nombre y que soportan nuestras ideas. Somos antes que nada un grupo de personas que creemos en el cambio a través de herramientas tecnológicas que ayuden a difundir la información y permitir la participación. Nuestro sitio web tiene muchos más detalles sobre nuestra misión, visión y todo aquellos que creemos pero si se entendió la idea, mejor seguir contando sobre lo que estamos haciendo.
Desde entonces de alguna forma u otra he estado involucrado en algunas de las actividades que realizan. Estuve en Desarrollando América Latina 2012, festejé el Día Mundial de los Datos Abiertos 2013 y este mes voy a participar de Abre LATAM (más información en otro post más adelante). El grupo ha logrado muchas cosas en solo un año y tienen muchos proyectos más a futuro.
¿Qué sabés?, sigue creciendo y siendo usado en nuestro país para pedidos de información, Desarrollando América Latina 2012 tuvo mayor participación que la instancia anterior, y el periodismo de Datos Abiertos empieza de a poco a ver la luz en Uruguay.
Vaya mi saludo desde acá a los amigos de DATA, los invito a conocerlos y leer más sobre el primer año de DATA, incluyendo los logros hasta el momento y los planes a futuro. ¡Por muchos años más!
by Fernando at June 06, 2013 12:00 PM
June 05, 2013

UbuConLa 2013
Los próximos viernes 7 y sábado 8 de junio se realiza UbuConLA 2013. La conferencia latinoamericana sobre Ubuntu: el sistema operativo basado en Debian que finalmente llevó GNU/Linux al usuario final.
La sede este año es Montevideo, Uruguay, más precisamente en la Facultad de Arquitectura de la Universidad de la República.
Los grupos Ubuntu de Uruguay, Argentina, Brasil, México, Perú, Venezuela y Colombia trabajaron juntos para organizar este evento.
¿Qué es UbuConLA?
Un acontecimiento internacional, anual e itinerante para Latinoamerica surgido a partir de una idea común entre miembros de los grupos comunitarios locales de Ubuntu en Argentina y Uruguay, con los siguientes objetivos:
- Difundir la capacidad y experiencias logradas en ambientes empresariales por especialistas de Latinoamérica en proyectos y contextos de diversas características
- Mostrar el grado de madurez alcanzado por Ubuntu GNU/Linux y los profesionales que trabajan con él en ambientes empresariales, ya sea tanto como consultores como también usuarios y responsables de áreas de sistemas
- Integrar técnica y socialmente a usuarios y especialistas de Latinoamérica, tanto sea para adquisición de nuevos conocimientos y habilidades como también para aprovechar y/o generar oportunidades de negocios en la región
- Difundir el espíritu “Ubuntu” de la comunidad Latinoamericana
- Institucionalizar UbuConLA como “El Acontecimiento Ubuntu” anual para Latinoamérica
Se parte de la organizacion uniendote al grupo: UbuConLA
Se puede contactar la organizacion mediante el mail: ubuconla2013 [AT] ubuconla [DOT] org
Ya esta arriba la agenda del evento, con charlas muy interesantes, como era de esperarse. Hay de todo: ejemplos de migraciones exitosas a Ubuntu, tutoriales y presentaciones de tecnologías sobre Ubuntu. Temas para público en general y específicos para diseñadores y/o programadores. Visiten el sitio de UbuConLa por más información.
Dejo el video de Mark Shuttleworth presentando UbuConLa 2012:
¡Nos vemos ahí!
by Fernando at June 05, 2013 03:07 PM
June 04, 2013
Octava entrega de los paquetes de videojuegos independientes multiplataforma y sin DRM por los cuales podemos pagar el precio que querramos: Humble Indie Bundle 8

Humble Indie Bundle 8
En esta ocasión, el paquete arrancó con 7 juegos:
Little Inferno – Creado por dos de los desarrolladores de World Of Goo entre otros, este juego fue lanzado en Linux recientemente. Por recomendación de un amigo, lo compré en ese entonces para Steam, y es un juego muy divertido y catártico. La premisa es tan simple como “prender fuego cosas”, lo que alimenta mi sed piromaníaca de fuego, pero sin generar daño físico a personas u objetos inanimados en la vida real 
Awesomenauts – Un MOBA en 2D bastante popular que jugué por primera vez a través de este bundle. El poco rato que jugué fue bastante entretenido, merece ser probado online con amigos.
Capsized – Todavía no lo he probado pero parece entretenido, un juego de plataformas y acción. Además, el personaje tiene un jetpack. Por alguna razón me hizo acordar a Daffy Duck: the Marvin Missions de SNES.
Thomas was alone – Parece un juego “experimental”, plataformas con puzzle, no me llamó demasiado la atención pero parece querer innovar un poco en el género.
Dear Esther – Un juego FPS de perspectiva en primera persona, pero aparentemente sin la S de shooter. Es una aventura “narrativa” donde aparentemente seríamos parte de una historia interactiva. Lo probaría por curiosidad, veremos qué tal.
Y pagando más del promedio recibimos:
Hotline Miami – Juego de acción en 2D visto “desde arriba” (a lo GTA en sus principios) con gráficos pixel art de la época de los 16 bits. Llama mucho, todavía no tuve tiempo de probarlo pero parece bastante divertido.
Proteus – Si no entiendo mal, Proteus es como “salir a caminar por el campo” sin la ventaja de estirar las piernas, hacer ejercicio, recibir luz solar ni respirar aire fresco. No me termina de cerrar, tendré que probarlo para encontrarle la gracia.

Humble Indie Bundle 8
Al igual que en paquetes anteriores, se incluyen los soundtracks de los juegos.
Faltando 7 días para su fin, como pasa tradicionalmente, se agregaron nuevos juegos al bundle:
Tiny & Big in Grandpa’s Leftovers – Conocí este juego por ahí, pero todaví no estaba en Linux (creo). Se trata de un juego de plataformas en 3D con la habilidad de manipular un poco el ambiente, físicas, gráficos dibujados a mano y un poco de humor. Siguiente en mi lista de “juegos del bundle que quiero probar”.
Intrusion 2 – Juego que tengo en mi Wishlist de Steam desde Febrero 
Ahora puedo sacarlo de la lista y descargarlo gracias al Humble Bundle. Plataformas en 2D, tiros y acción con un aire a Metal Slug pero más moderno. Habrá que ver si cumple con mi expectativa.
English Country Tune – Puzzles geométricos con gráficos en 3D, sinceramente no me llamó mucho la atención. Parece el tipo de juego ideal para tener en el tablet o teléfono y jugar mientras estamos en el baño (esto no es un insulto ni mucho menos, he jugado varios juegos y leído varias obras literarias de suma importancia en el baño).
Oil Rush – Acá es donde se puso linda la cosa. Oil Rush es un JUEGAZO que ya reseñé por el blog: Oil Rush – Juego de estrategia naval en tiempo real. Los desarrolladores de Unigine, el motor del juego, soportan Linux desde el primer momento y son bastante amigables con la plataforma. Por eso me alegra mucho verlos finalmente en un Humble Bundle. No puedo hacer más que recomendarles este juego, tiene unos gráficos espectaculares y es muy entretenido. La versión que reseñé en ese entonces era de desarrollo todavía, y ha mejorado mucho y agregado muchas cosas en este tiempo. Solamente por este juego, vale muchísimo la pena comprar el bundle. Ni que hablar del paquete total 
Entre los 8 Humble Indie Bundles, los Humble Bundle for Android (que también incluyen versiones para Linux), otros bundles y Steam para Linux, creo estar en el punto en el que tengo más juegos en mi computadora de los que puedo llegar a jugar 
Como en bundles anteriores, los usuarios de Linux somos los que más pagamos ($ 8.69), seguidos por los de Mac ($ 6.77) y Windows ($ 5.25). En esta instancia, Notch (Markus Persson, creador de Minecraft) es el mayor pagados con $ 5.000 él solito. Faltando 7 días se han vendido casi 350.000 paquetes y la recaudación se va acercando en estos momentos a los 2 millones de dólares. El dinero va dividido entre los desarrolladores, la caridad (Electronic Frontier Foundation o Child’s Play Charity) y el Humble Tip (una propina para los creadores del Bundle).
Aprovechen la oportunidad, son muy buenos juegos y se pueden jugar en Linux, Mac y ese otro sistema que usa la gente que se quiere poco.
Humble Indie Bundle 8
by Fernando at June 04, 2013 07:31 PM
May 25, 2013
Ando de viaje y por acá hace un tiempo se estreño Star Trek Into Darkness. En Montevideo no la estrenan hasta agosto, así que aproveché para ir a verla.

Star Trek Into Darkness
Escribí una reseña sobre la película y la experiencia de ir al cine en otro continente. Hay una diferencia enorme -sobretodo en la calidad de la imagen 3D- con lo que son las salas de Uruguay.
Si les interesa leer mi opinión pueden encontrar el artículo en Multiverseros. Costó, pero la escribí sin mencionar detalles de la trama, así que pueden leerla con la seguridad de que no contiene spoilers:
Reseña: Star Trek Into Darkness
by Fernando at May 25, 2013 08:54 AM
May 21, 2013
At first, Privnote looked like an ideal application for porting to Google App Engine because:
- it's already written in the "official" App Engine platform (Python+Django)
- it's entirely based on a request/response mechanism
- we would forget about scalability problems forever
So we give it a try and implemented a prototype, just to see how it goes, but, in the end, GAE didn't work because:
- it doesn't have support for SSL, which is mandatory for Privnote
- it doesn't support third-party Python C extensions (which we use in Privnote) unless they're pure-python modules
As for scaling Privnote, we''ll have to try other alternatives, but it was a good experience to gain some knowledge about Google App Engine and cloud computing, which are very hot topic these days.
May 21, 2013 01:45 AM
Well, I just finished moving my personal blog (previously hosted at vampiroz.org) here to Posterous. It took me a while as I had to write a (Python) script for migrating all comments and images using Posterous API. Posterous has a Wordpress importer but it doesn't import comments yet, and image support is somewhat limited. Also I had to make some formatting rearrangements to make the post texts look nice.
But it's finally done. Geez, I can't believe I won't have to maintain my own Wordpress anymore, I'm so happy :)
May 21, 2013 01:45 AM
In a recent article on his blog, about the nature of open source software, Ian Bickling does a good job on explaining some of the main reasons why Scrapy exists today.
To quote a few:
Underneath most open source work there is a passion for the craft itself. This is what leads to a certain kind of quality that is not the norm in closed source software. It’s not necessarily less bugs or more features, but a pride in the expression itself. A sense of aesthetic that applies to even the individual lines of software, not just to the functionality produced. This kind of aesthetic defies scheduling and relies on personal motivation.
As open source programmers we are not first concerned with how a task fits into institutions, how a task can be directed by a hierarchy or an authority, or even how the task can be directed by economics. The tasks that we take on are motivated by aesthetic, by personal excitement and drive.
But I want to get back to individuals. How things are created is not that someone determines a set of priorities, lays them out, then people work on implementation based on those priorities. That of course is how things typically work at a company, as an employee. But open source software and open source projects are created because an individual looks at the world and sees an opportunity to create something they think should exist.
The main point of the article is that licenses are becoming more and more irrelevant in the definition of open source, which is something I've been saying [spanish post] for a while now. The GPL was useful at some point, when the world didn't yet understand the benefits of open source, and to fight a cancer called "lawyers". But I hope some day it will be remembered as a tool which was very useful once, but that is no longer needed.
Otherwise, why do you think Facebook has released most of the software that powers his platform as open source?. Did you think someone threatened them with GPL lawsuits?. Or why Microsoft has recently launched its own open source foundation?. I guess it's a bit of "if you can't beat them, join them" for Microsoft, but Microsoft has long since become a very boring company. The Facebook example is much more interesting and illustrative.
May 21, 2013 01:45 AM
I just started downloading Opera 10 for Linux with my 1.2 Mbps connection at a ridiculous rate of 5 kbytes/sec
Why?
Because most CDNs use only the geographical distance from the client, to pick the best mirror for downloading.
In my country, Uruguay, this typically leads to picking a mirror from Brazil which is far from optimal, because:
- Brazilian servers are slow (compared to US ones)
- traffic from Bazil travels to US and back. This is more ridiculous than the CDNs policies, but it's what we have.
I wonder if CDNs could be made more intelligent though, using traceroute information, for instance. Perhaps the largest ones (such as Akismet) already have some better algorithm in place. And I'm sure Google already has this sorted out :)
So... I just cancelled the download and manually used a US server, even though the guys at Opera managed to make that specially hard to do :)
May 21, 2013 01:45 AM
Every now and then, I stumble upon some article that amazes me because it portraits certain things that I always believed to be true, but never saw them explained so eloquently.
Such is the case of most essays from Paul Graham but, today, it's also the case of this last post from James Bennett on the programming concept called "magic". I vehemently agree with all he says. And, for me, it boils down to this:
There is no such thing as magic in computer programming - It's the conventions, stupid.
Of course, this is a subject too deep to resume in just one sentence, so I recommend you to read that article.
May 21, 2013 01:45 AM
Hoy me topé con la audio-grabación de una charla de Fernando Vilar, el actual conductor de Telenoche 4, en el 4º Encuentro de Jóvenes Comunicadores realizado recientemente en la ciudad de Trinidad, Flores.
En ella, Vilar dice mucho del estado actual de la televisión y los informativos. Y no es un problema solamente de Uruguay, sino de todas partes del mundo, encabezado por la CNN, que es la estrella del mercado.
El manejo de los medios masivos es un tema que siempre me interesó mucho (por la polémica que genera) y que dos por tres saco a discusión en conversaciones casuales. Aquí les dejo el audio de la charla de 18 minutos, en formato MP3. Les recomiendo que la escuchen, no tiene desperdicio.
De entrada, uno puede sentirse tentado a criticar a Vilar por su falta de principios, pero no deja de tener razón en eso de que el cambio debe empezar por la gente, no por los informativos. En otras palabras, y para usar los mismos términos de la misma charla, la gente ve mierda porque le gusta la mierda. En mi opinión, una gran verdad, pero no es que sea nada nuevo. Sin embargo, también es cierto que la gente que crece mirando mierda, es más propensa a gustarle la mierda de grande, lo cual termina convirtiéndose en un caso del huevo y la gallina.
Afortunadamente ahora existe una alternativa, y se llama "Internet". Con Internet, cada persona puede seguir las noticias que le interesan y no está obligada a ver la "mierda" que pasa la televisión solo porque a la mayoría de la gente (mediocre) la gusta. Hoy, como nunca antes, la decisión esta en cada uno y no en los que controlan los medios.
Asi que... ¡basta que quejarse che!. Si no quieren ver más "mierda", apaguen el televisor y prendan la computadora.
PS. Me pregunto que tan simpáticos les habrán caído los comentarios de Vilar a los dueños de Canal 4, sobretodo ese donde afirma que no se encuentra trabajando a gusto en Telenoche, y que lo hace solo por la plata :)
May 21, 2013 01:45 AM
Is it just me or the blogosphere is a bit down these days?. And I don't speak only for myself here :).
Maybe everyone is just too busy, maybe it's the blogs I follow, or maybe people are moving to Twitter or Facebook (neither of which I follow). But my Google Reader certainly isn't as active as it used to be a couple of months ago.
It's not that I haven't got anything to read though, as Hacker News have always managed to fulfil my news-reading appetite since I started following it 6 months ago, and I'm grateful for that.
May 21, 2013 01:45 AM
Hoy me doy cuenta que Arthur Clarke tenía razón cuando dijo que el ser humano, como raza inteligente, aún está en su infancia al ver que la proposición 8 (de prohibir el matrimonio entre personas del mismo sexo) fue aprobada en el estado de California. Más detalles sobre la noticia aquí (en inglés).
A mi en particular me parece un tema tan obvio que hasta me resulta estúpido discutir sobre él. Más discutible en todo casi sería el concepto del matrimonio en sí, que el del matrimonio gay. Pero bueno, se ve que hay gente que no lo ve asi.
Si alguien está en duda, creo que este excelente video de 8 minutos (en inglés) del profesor Lawrence Lessig (el mismo creador de las licencias Creative Commons, bajo las cuales se rige el contenido de este blog) trata el tema de forma muy inteligente y objetiva.
Nada más, solo resta esperar que la humanidad siga su curso y evolucione...
May 21, 2013 01:45 AM
Hace unos días un amigo me mandó un link a este artículo del New York Times que habla de un reciente "blooper" de la bolsa a causa de un error en el algoritmo de scraping de Google News que hizo caer el valor de United Airlines unos mil millones de dólares.
La típica expresión en estos casos es: "Whooops!" :)
Y es que hay que tener cuidado con lo que se escrapea. El problema con Google News es su propia escalabilidad, ya que en definitiva no es más que el buscador de Google ligeramente modificado estéticamente y funcionalmente (en cuanto al algoritmo de crawling y scraping) y restringido a ciertos sitios. Algo muy similar a lo que es el Google Blog Search para los blogs. La gran diferencia es que, tanto para el buscador principal como para el Blog Search, este tipo de "bloopers" pasan desapercibidos. Quién no ha visto alguna página totalmente irrelevante colarse en los resultados de búsqueda de Google?. Pasa todo el tiempo, y nadie pierde mil millones por eso :).
Pero con Google News es diferente, porque la calidad importa mucho más, y ésta se ha venido sacrificando a costa de la escalabilidad.
Por eso Froogle (ahora Google Product Search) nunca progresó mucho como servicio, ya que los sitios de "Shopping Aggregation" tienen los mismos requisitos de calidad, y Google se enfoca en escalabilidad, que es lo mejor sabe hacer.
Pero bueno, Google es asi. Tiene muchos proyectos, algunos germinan, otros se secan, y otros quedan es un estado latente intermedio, como es el caso de Google News o Google Product Search actualmente.
May 21, 2013 01:45 AM
Given the recent popularity of Privnote as consequence of appearing in ReadWriteWeb and the front-page of Digg, a rather heated discussion has arisen about whether notes send through Privnote are really protected against someone with access to the Privnote database.
We believe it is, and I'll explain the reasons here by detailing the exact process used to store the notes in the database. I did try to explain it before in this post but unfortunately the explanation was obfuscated at best, and incorrect at worst.
So here's what happens when you create a note in Privnote:
- You write the note and click the POST button
- The server generates a random note id, let's call it the NoteID. This is the 16 chars ID you see in the note link
- The server hashes the note ID and gets a HashedNoteID = Hash(NoteID). We're currently using SHA-1 as the hashing algorithm, but the particular algorithm is not very important here
- The server encrypts the note contents (and also the email and reference, if there is any) using the NoteID, and stores the encrypted version in the database using the HashedNoteID as the database primary key
If someone with access to the database would like to read the note she would be unable because she doesn't have the key to decrypt it (NoteID), only the database primary key (HashedNoteID). The HashedNoteID cannot be used to "go back" to the NoteID because hashes are "one-way". So the only person who can actually decrypt (and thus see) the note is the one who has the original NoteID or, in other words, the one who has the link to the note.
For completeness, this is what happens when you view a note in Privnote:
- The server extracts the NoteID from the URL
- The server hashes the NoteID and gets the HashedNoteID. This is the same HashedNoteID used when generating the note, since the NoteID used to make the hash is the same in both cases
- The server retrieves the note from the database using HashedNoteID as the database primary key and decrypts its contents using NoteID as the encryption key
- The server shows the page with the decrypted note
- The server permanently deletes the note from the database, keeping only a record of the HashedNoteID, the time when it was read, and the IP address where it was read from, to show it when someone tries to see the note again
I apologize for not being clear in my original explanation, and hope to have explained myself better this time. Thanks to everyone who corrected me and provided a better explanation, both here and in other blogs.
Finally, I must say that we have received a lot of great feedback these days, and that motivates us to keep improving Privnote as well as making it available in more languages.
May 21, 2013 01:45 AM
May 17, 2013

Wikipedia en español supera el millón de artículos
El 16 de mayo de 2013, Wikipedia en español superó el millón de artículos. Al momento ya cuenta con 1.016.750 artículos en castellano.
Esto ocurre a pocos días de cumplir 12 años de existencia y refleja el trabajo de colaborativo de muchas personas editando desde los más remotos lugares del planeta, no solo de países donde se habla castellano, sino también con el aporte de wikipedistas que, pudiendo expresarse en castellano, realizaron sus aportes con el mismo espíritu que lo hacen en otras versiones, desde otros países.
También debemos tener en cuenta el importante aporte realizado a la versión en español en imágenes, audio y video, a través del repositorio centralizado de estos contenidos para todas las versiones de Wikipedia. Otra instancia donde la colaboración global se aprecia en toda su intensidad.
En el caso particular de Uruguay, este acontecimiento nos encuentra en el proceso de consolidación del Capítulo Uruguayo de la Fundación Wikimedia y en medio del desarrollo del proyecto Wikipedia en la Educación. Concretamente nos enteramos de esta noticia al mismo tiempo que estamos desarrollando el taller correspondiente a la etapa dos del proyecto, la cual incluye capacitar a docentes seleccionados por el Consejo de Formación en Educación en el uso de la Wikipedia en el aula.
Más información
by fedaro at May 17, 2013 01:34 PM
May 15, 2013
Bastante tiempo atrás, creo que en los inicios del servicio, El General me había hablado de IFTTT y sus posibilidades, pero recuerdo haberlo visto por arriba sin entender mucho cuál era su utilidad, a pesar de que El General me explicó.
El otro día, ante una necesidad específica, cree mi cuenta en IFTTT y puse a funcionar mi primer receta y también estuve viendo las posibilidades de este servicio que, en conclusión, es maravilloso y aquí estoy escribiendo este artículo.
Todos conocemos los sitios que ofrecen compartir en Twitter o Facebook lo que se está leyendo, o de alguna extensión del navegador que permite guardar en Dropbox o Evernote un sitio web, video de Youtube o archivo. Bueno, IFTTT lleva la vinculación entre distintas aplicaciones o sitios en la nube a donde tu imaginación o necesidades puedan llegar.
La idea que plantea IFTTT es simple: dada una cierta condición en algún servicio (Instagram, Facebook, Twitter, Dropbox, etc.) se produce una acción en otro servicio de la nube (Tumblr, Delicius, WordPress, Last.fm, o cualquiera de los ya nombrados).

esquema del artículo de JJ Velasco
Las reglas las hace cada usuario, otorgando los accesos correspondientes a IFTTT para que pueda manejar sus cuentas en la nube. De ahí que tus necesidades y tu imaginación sean el límite (claro que el poder de IFTTT tiene límites, pero…).
Imaginemos algunos escenarios de recetas de IFTTT:

- Cada vez que en twitter se publica una determinada #etiqueta me envía un correo
- Cuando una determinada acción de bolsa (a través de Yahoo Finance) pasa un determinado umbral, publica un twitter
- Cuando hay mal tiempo (a trvés de Yahoo Weather) se activa la corriente eléctrica en un toma de mi casa (a través de de un Belkin WeMo)
- A determinada hora o cuando se publica una foto en Instagram o se envía un determinado SMS, se encienden las luces de mi casa en determinados colores con un sistema Philips Hue.
- Cada vez que se promociona un nuevo par de anteojos en Svppy, envía un mensaje en mi Google Talk.
- Cada vez que se publica un video en Youtube en un determinado canal, lo publica en mi blog de Tumblr.
- Cuando recibo un determinado correo en GMail, me llama por teléfono.
- Cuando el paquete que me han enviado por DHL, Fedex o UPS cambia de estado, prende la luz del Blink(1) conectado al USB de mi equipo.
- Cada vez que cambio la foto de mi perfil en Facebook, la cambia también en el de Twitter.
Los servicios que permite vincular IFTTT son muchos y se van agregando nuevos.
Las recetas se pueden compartir, de hecho ya hay miles recetas compartidas para utilizar y adaptar a nuestras necesidades.
Para mi ha sido todo un descubrimiento, no solo de IFTTT, sino también un montón de servicios y gadgets que están disponibles.
JJ Velasco ha escrito un muy buen artículo en Bitelia con Recetas IFTTT para sacarle partido a Evernote, que fue precisamente Evernote el motivo de mi ingreso a IFTTT.
by rodolfo at May 15, 2013 04:38 PM
April 29, 2013
En los tiempos del Génesis:

Gracias Quino por mostrarnos el mundo de esta forma….
by rodolfo at April 29, 2013 12:23 AM
April 26, 2013

Este año nuevamente participamos en la realización de FLISOL 2013, al igual que el año pasado coordinando la actividad en la ciudad de Rivera, concretamente en el CERP del Norte.
Acá les dejo el programa y algunas fotos de la jornada, incluida una foto del parrillero de la chorizada posterior:
Fecha, Lugar y Horario:
Sábado 27de Abril de 2013.
Centro Regional de Profesores del Norte. Ruta 5 KM 495,5.
De 14 a 19hs.
Actividades:
Se realizarán instalaciones, distribución de material y CD’s con distintas distribuciones de GNU/Linux.
Charlas (programa preliminar):
Implantación de un aula de informática con GNU/Linux (Pablo Macedo)
Uso de software libre en la Escuela Técnica (José Enrique Gonzalez)
Wikipedia en la Educación (Fernando da Rosa).
Introducción a la Programación Python (Federico Wagner)
CEIBAL (Inspectora Dptal. de Primaria Edith Coitiño)
Mozilla Webmaker MOOC (Santiago Ferreira)
Instalaciones: las mismas serán realizadas utilizando varias distribuciones de GNU/Linux puestas a disposición de los interesados, en la realización de las instalaciones se contará con el apoyo de Pablo Macedo, Wilson Chalup, Juan José Tejería, Anibal Fagundez, Federico Wagner y Fernando da Rosa.
Organización:
Karina Nossar, Martha Cabrera, José Enrique Gonzalez y Juan Viera.
Contacto: Juan Viera, en el CERP del Norte. jjvieraa@gmail.com Tel.: 4622 0717
Coordinador: Fernando da Rosa.
Al igual que en años anteriores existieron otras sedes en otras ciudades de Uruguay, Florida, Montevideo y Salto, acá les dejo enlace a la información completa de la actividad en todo el país: http://flisoluruguay.info/
by fedaro at April 26, 2013 09:31 PM
April 25, 2013

ArchLinux KDE Desktop
En diciembre pasado pasé de ArchLinux a Ubuntu en mi laptop de trabajo. Un tiempo atrás podían contarme entre los haters de Unity, la interfaz gráfica de usuario de Ubuntu. Creo que lo probé por primera vez con Ubuntu 11.04, y lo primero que hacía en ese entonces después de instalar el sistema era activar el fallback a GNOME.
En ese momento escribía comentarios como: “Creo que usar Unity me está causando daño cerebral. ¡¿Qué quisieron hacer con esto?! Instalando gnome-shell…”
Pero con el paso del tiempo las cosas van cambiando. Ubuntu no solo me malcrió como usuario que espera que el sistema “simplemente funcione” sin configurar mucho. Ahora también, me gusta usar Unity. El cambio de paradigma en el uso del sistema me parece muy acertado.
Trabajar con Unity me resulta cómodo por el hecho de que es casi 100% transparente. Cuando uso Ubuntu, no siento que estoy usando “el entorno gráfico Unity”, simplemente estoy usando mi navegador web, mi editor de texto, mi cliente de mensajería, etc. Unity no estorba, no se nota que está ahí, y me facilita mucho el trabajo de interactuar con mi computadora. Excelente Canonical, ESO es lo que debería un sistema operativo y su entorno gráfico, y parece que lo lograron. Como todas mis interacciones con la computadora, esto está sujeto a cambiar y puedo adoptar una posición completamente opuesta de acá a un tiempo.
En un momento comenté “Es increíble como me acostumbré a usar Unity y ya creo que es hasta mas cómodo que KDE
” (recuerden que odiaba Unity). Así que estaba teniendo un problema con la diferencia entre las experiencias de mi laptop con Unity y mi desktop con KDE. Por suerte la comunidad de desarrollo de KDE no descansa y ya se puso a tiro con el paradigma que provee Unity Dash.
Homerun

Homerun
Homerun es un lanzador de aplicaciones a lo Dash para KDE. Funciona a pantalla completa y el contenido está organizado en pestañas. Cada pestaña tiene varias fuentes, que a su vez proveen una o más secciones de una pestaña. Ya viene con algunas fuentes creadas pero se pueden personalizar mas fuentes.
Recientemente salió la versión 0.2.2, con varios arreglos y bastante estable. Esta fue la versión que me hizo reemplazar el lanzador de aplicaciones y menú de aplicaciones por defecto de KDE por Homerun.
Funciona bastante bien, y tiene la habilidad de buscar cosas a lo Dash, lo que nos soluciona bastante la ejecución de aplicaciones, búsqueda de archivos y demás.
En ArchLinux pueden instalar Homerun desde AUR:
yaourt -S aur/kdeplasma-applets-homerun |
O sigan el procedimiento habitual desde AUR. Viene bastante completo, y creo que lo voy a seguir usando por defecto mientras mantenga el escritorio KDE en ArchLinux y no pase a otra cosa 
Algunas imágenes de Homerun en funcionamiento:
Atajos de teclado:
Teclas de flechas: Navegar los resultados
Enter: Abrir el resultado marcado
Ctrl+Repág, Ctrl+Avpág: cambiar de pestañas
Ctrl+F: Mover el foco al campo de búsqueda
Alt+Izquierda, Alt+Derecha: Ir para atrás y adelante (útil al navegar jerarquías)
by Fernando at April 25, 2013 12:00 PM
April 24, 2013
Hace un tiempo descubrí Nyan Cat RSPec Formatter, mi “formateador” preferido a la hora de correr tests con RSpec. Recientemente El Cuervo me dió a conocer Nyan Mode, un modo para Emacs para tener un Nyan Cat en mi editor de texto favorito. ¡Cómo no usarlo!

Nyanmacs
El modo no hace más que mostrarnos nuestra posición en el buffer, yendo el gato de atrás para adelante segun avancemos o retrocedamos en el buffer. Lo único que no incluye es la música de Nyan Cat, pero la podemos imaginar en nuestra mente mientras editamos código.
Por defecto el gato se muestra con un arcoíris recto, pero podemos setear el arcoiris con curvas con:
M-x set-variable [Enter] nyan-wavy-trail [Enter] t |
También podemos hacer que se vea una animación con:
O podemos agregar todo esto a nuestro archivo de configuración de Emacs (acá está el mío), de la siguiente manera:
(add-to-list 'load-path "~/.emacs.d/nyan-mode")
(require 'nyan-mode)
(setq-default nyan-wavy-trail t)
(nyan-mode)
(nyan-start-animation) |
Así cada vez que inicien Emacs, el Nyan Cat los va a estar acompañando.
Si una imagen vale más que 1.000 palabras, un video debe valer un montón más:
Recientemente he aprendido modos mucho mas útiles en Emacs, y prometo algun día empezar a comentar sobre ellos en el blog. Pero no podía dejar pasar la oportunidad de comentarles sobre nyan-mode. LA INTERNET nos ha dado cosas maravillosas en esta vida como el Nyan Cat, ¿por qué no aprovecharlas? 
Pueden ver el código y descargar nyan-mode en GitHub:
https://github.com/TeMPOraL/nyan-mode
by Fernando at April 24, 2013 02:00 PM
April 17, 2013

Foto SGS3
Bueno, voy a dejar algunos tips para los que tuvieron problemas con el SGS3, la verdad me sorprendió que Samsung sacara algo de tan bajo nivel a un precio bastante alto.
Bien, el celular lo compre y a los pocos días (3) se me apago, investigo y pienso lo peor.Pruebo con otra batería y vuelve a la vida, pongo su batería y vuelve a la vida, pero se me muere cada 1 vez por día o al sacar fotos con flash.
El SDS o Muerte súbita, esto afecta una serie de memorias por un error de programación (mal samsung) pasa a los 4-6 meses de comprado, para saber si estas afectado:
descargar esta app eMMC check, instalarla y correrla, si te dice que estas a salvo o afectado igualmente actualiza a la ultima version del ROM stock o alguna rom cocinada (Me sirvió el siguiente tutorial http://getmovil.com/android/instalar-android-4-1-2-galaxy-s3/)
Pasado el update, se me sigue muriendo, pienso lo peor, y se me ocurre comprar una batería genérica, la cambio a la original y hasta ahora (2 días) sin problemas de ningún tipo, igualmente no me funciona el NFC ahora no se si la generica no tiene la antena o la original le fallaba eso !
Otras cosas que use para descartar problemas, Dummy file generator para probar la eMMC y para el problema del lag (con tremendo procesador que tiene) lo mejore con el LagFix (fstrim de GNU/Linux).
Gracias a @cddocarmo
by cristian at April 17, 2013 09:05 PM
April 16, 2013

Code Monkey Save World
¿Qué pasa cuando se juntan dos de tus vicios favoritos? La excelente canción Code Monkey de Jonathan Coulton trasciende la dimensión musical y se manifiesta en el papel como un cómic. Programación y cómics se juntan para crear: Code Monkey Save World.
El escritor de cómics Greg Pak (“Planet Hulk,” “Batman/Superman,” “Magneto Testament”) y el artista Takeshi Miyazawa (“Runaways”) serán los encargados de plasmar en una novela gráfica los personajes de canciones de Coulton como “Code Monkey”, “Skullcrusher Mountain”, “The Future Soon” y “Re: Your Brains”.
El proyecto empezó como un chiste en Twitter donde Greg Pak comentaba que las canciones de Jonathan Coulton tenían personajes para formar un buen equipo de supervillanos. La respuesta de Coulton fue “DO IT”, y así empezó todo.
El proyecto se empezó a financiar por Kickstarter ayer con una meta de U$S 39.000. Hoy lleva más de U$S 60.000 recaudado, así que además de estar seguros que se financió, seguramente tenga mas páginas de las anunciadas en un primer momento 
Es increíble las cosas que se pueden lograr gracias a Kickstarter y el crowd sourcing, en palabras de Greg Pak:
“Lo que me encanta de este proyecto es que es el tipo de cosa loca que simplemente tenía que pasar, y gracias a Twitter y Kickstarter y la internets, puede pasar,” dice Pak. “Jonathan y yo estamos ambos trabajando como creadores independientes dueños de nuestro trabajo. Así que si él dice que sí y yo digo que sí y quien quiera comprarlo dice que sí, esta cosa hermosa puede pasar de verdad.”

Code Monkey
El cómic va a ser publicado en formato digital a través de Monkeybrain Comics y Comixology y después impreso en formato tapa dura. La novela gráfica se anunció con 60 páginas, pero una de las “stretch goals” (metas si se llega a cierta cantidad de dinero) era alargar la historia, y con lo recaudado hasta el momento creo que se puede dar por hecho.
Una recompensa interesante es una estatuilla de Code Monkey bastante interesante, pero se me iba de presupuesto. Habrá que esperar a que estén impresos esos TPB para poder leerlos. Si les interesa el proyecto todavía quedan 29 días, así que están a tiempo de comprar el cómic.
ACTUALIZACIÓN: En las primeras 24 horas, se alcanzó un 172 % de la recaudación esperada por los autores. Así que el libro pasa de 60 a 80 páginas, además que todos los que apoyamos el proyecto vamos a recibir también stickers
– Update en Kickstarter
by Fernando at April 16, 2013 01:05 PM
April 11, 2013

Ruby Meetups
El martes pasado tuvimos el Meetup de Ruby de Abril. Todos los meses nos juntamos -el segundo martes de cada mes- a conocernos, hablar de programación, Ruby, herramientas y demás.
Esta reunión fue bastante interesante. Hubo gente nueva que se sumó, y un comentario general que oí varias veces es que la comunidad local formada entorno a Ruby está buena y dan ganas de formar parte. Por ese lado creo que estamos haciendo un buen trabajo al destacar una de las características más importantes del lenguaje de programación Ruby: La comunidad.
No hubieron charlas preparadas como otras veces, así que improvisamos, lo que resultó en un intercambio excelente. En principio comentamos un poco sobre Heroku, qué es, para qué sirve, etc. Los temas de conversación se iban llevando segun preguntas o comentarios de los asistentes.
No tuvimos “oradores” definidos, mas bien “mostramos cosas”. Yo mostré ghpreview, una gema para tener un preview de archivos Markdown usando el formato exacto de GitHub. La idea fue alentar a la gente a colaborar con proyectos Open Source, mostrando lo fácil que fue modificar la gema ni bien salió para que funcionara en GNU/Linux. Hace un tiempo escribí un poco más al respecto (en inglés) en el blog de Neo.
Entre medio hablamos un poco el funcionamiento de GitHub, hicimos una demostración de cómo funcionan los Pull Requests (facilitando enormemente la colaboración entre desarrolladores), y alguna cosa más.
En eso llegó la pizza y comimos un poco, siempre acompañados de bebidas varias, e intercambiamos opiniones, conocimos gente nueva, y todo lo bueno de socializar en un evento de este tipo. Programadores: recuerden que es importante asistir a eventos técnicos de este tipo.
Ya con el estómago lleno, Martín Loy conectó su laptop al proyector y se animó a hacer una sesión de live coding espontánea. Su objetivo fue mostrar lo fácil que es entrarle a cosas nuevas en Ruby. Había escuchado hablar mucho de Sinatra, pero nunca lo había usado. Así que siguió el tutorial del sitio de Sinatra y mostró la fácil que es armar una aplicación web con Sinatra.
Otro tema que se discutió fue sobre los gemsets y RVM contra RBenv. Respecto a eso, justo hoy vi este artículo de Thoughtbot:
Using rbenv to manage rubies and gems
Puede ayudar en el debate 
A modo de conclusión, personalmente estoy muy contento de cómo se vienen llevando estas reuniones. Está bueno saber que al menos una vez por mes nos juntamos con gente de otras empresas / ámbitos a compartir un rato de Ruby. Para el mes que viene aparentemente vamos a tener algunas charlas preparadas sobre bloques, lambdas y Procs en Ruby y alguna cosa más.
Recuerden que no es necesario saber Ruby para asistir. La idea es difundir un poco lo bueno de Ruby y cómo lo usamos, así que si usan otras tecnologías a diario, es una buena oportunidad para conocer un poco qué se hace con Ruby. Estén atentos al sitio de Ruby Meetups e inscríbanse si les interesa estar al tanto de las novedades.

Ruby Meetup – foto por @neo_uy
by Fernando at April 11, 2013 05:12 PM
April 08, 2013
Video presentación de Desarrollando América Latina 2012, les recomiendo verlo para que se hagan una idea de qué se trata la hackatón, y les inspire participar en la edición 2013 
Se muestran organizadores, segmentos de la hackatón y ganadores de todos los países participantes de la pasada edición:
Más info del evento en:
by Fernando at April 08, 2013 02:04 PM
April 01, 2013

A cambiar el mundo
Una de las “actividades” surgidas de RubyConf Uruguay vino de la mano de Alan Cyment y Pablo Tortorella. Conocía a Alan porque fue uno de los coach en el curso de Scrum Master que hice en 2009. Pablo también es Agile Coach en Kleer, una de las empresas que sponsorearon la RubyConf, y el autor de esta obra de arte sobre RubyConf 
Durante una lightning talk, Alan y Pablo plantearon cambiar el mundo en 5 minutos. Para esto, cada asistente debía encontrar un “compañero de ruta” que lo ayudara a cumplir ciertos objetivos que cambiarían el mundo.
En unos minutos había que definir algunas metas a futuro, basado en la experiencia de la conferencia. La primera para el lunes siguiente, la segunda para dentro de 2 semanas y la tercera para el 23 de setiembre (6 meses).
Mi primer objetivo para el lunes siguiente fue aplicar las medidas de seguridad de las que habló Bryan Helmkamp de Code Climate en su charla. Bryan habló sobre seguridad en aplicaciones Rails.
La herramienta que empecé a usar gracias a su charla es Brakeman, un analizador estático de seguridad para Rails. Instalarlo es bastante sencillo:
o podemos agregarlo a un Gemfile:
gem "brakeman", :require => false |

Brakeman
Para usarlo podemos ir al directorio de nuestra aplicación Rails y ejecutar el comando
brakeman o llamarlo desde cualquier directorio con un path
brakeman ~/code/rails_blog. Tenemos varias opciones como mandar el resultado de brakeman a un archivo, con distintos formatos: texto, html, tabs y csv. Pueden leer más en la
documentación de brakeman.
Entonces usé por primera vez esta gema, y la agrego a mi “cinturón de herramientas” para Rails. Por suerte no encontré problemas mayores de seguridad en el proyecto en cuestión. De todas formas empezamos a usar Code Climate en este proyecto, y tenemos una nueva característica: Security Monitor, que nos avisa de riesgos de seguridad.
La participación de Alan, Pablo y Bryan en RubyConf Uruguay, en mi caso, ya rindió frutos. Excelentes personas que aportaron su grano de arena para que fuera una conferencia espectacular 
Primer objetivo cumplido, el siguiente debería estar pronto para el lunes de la semana que viene, pero es un poco más ambicioso y todavía no empecé: Probar varias (y usar en algunos proyectos) de las gemas que comentó Soveran en su charla “sorpresa”, probar Padrino, probar mi código Ruby en JRuby y hacer deploy de alguna aplicación en Torquebox para conocer un poco de qué va la mano. Ampliaremos…
by Fernando at April 01, 2013 01:34 PM