martes, 31 de julio de 2012

Codecademy: aprendiendo a programar en sociedad

Medallas en Codecademy

Acabo de descubrir este interesante sitio llamado Codecademy que unifica varias tendencias recientes:

  • Intérpretes en línea (a la TryRuby o TryPython)
  • Web social (todo se enlaza con Facebook, Twitter o Google)
  • Ludificación de las actividades (a medida que se avanza en el proceso de aprendizaje se reciben "medallas" que pueden compartirse en las redes sociales)

Piensen en este sitio para aprender a programar diferentes lenguajes y plataformas, como JavaScript, Python, Web fundamentals, jQuery u otras técnicas más breves y puntuales (como utilizar paneles o menúes colapsables, efectos y plugins de jQuery, etc).

Otro tema interesante del sitio, que es totalmente gratuito, financiado por una serie de empresas de medios ligadas a la industria de software, es que además de ser una plataforma abierta para aprender, también lo es para enseñar, ya que ofrece la posibilidad de crear nuevos cursos para compartir conocimientos. Por ahora los cursos deben ser basados en JavaScript, Python, Ruby o Web (HTML/CSS), pero imagino que la oferta se irá incrementando con el tiempo.

Espero que la iniciativa crezca, ya que es un buen recurso para aprender a programar o para acercarse a nuevos lenguajes y técnicas, haciéndolo de manera divertida y con feedback permanente, que es lo que muchas veces hace difícil el hecho de mantener la disciplina en cuestiones de auto-capacitación.

Seguimiento del entrenamiento

Lo más sencillo para experimentar el sitio es entrar directamente a él y comenzar. Me gusta el diseño y la usabilidad, ya que se puede comenzar sin siquiera registrarse. Identificarse es necesario solamente para mantener un seguimiento del avance, y para ello se destaca preferentemente el usar autenticación a través de un proveedor externo (oAuth) como Facebook, Twitter o Google, lo que facilita el compartir los avances en las redes sociales, aunque no es un tema compulsivo y uno puede ser totalmente silencioso.

Para quienes quieran conocer más detalles, el equipo mantiene un blog y por supuesto, pueden seguirlos en Twitter.

lunes, 30 de julio de 2012

Agiles 2012: 24 al 26 de octubre en Córdoba, Argentina (+ fotos)

NewImage

Como todos los años desde la primer edición en 2008, se acerca la conferencia latinoamericana de metodologías ágiles.

Este año la cita es en la ciudad de Córdoba, más específicamente en la Universidad Tecnológica Nacional, del miércoles 24 al viernes 26 de octubre.

En esta 5ta edición, que se realiza por segundo año consecutivo en Argentina (las anteriores fueron 2008 en Buenos Aires; 2009 en Florianópolis, Brasil; 2010 en Lima, Perú; y 2011 nuevamente en Buenos Aires), se mantendrá la agenda mixta de sesiones, talleres y open space, y también vendrán visitantes de diferentes partes del mundo.

Para mi personalmente este año será especial ya que tendré el honor de dar una de las keynotes, compartiendo esa responsabilidad con David Hussman de DevJam.

El llamado a ponencias de la conferencia cerró hace poco, y estimo que en pocos días estará disponible la primer versión del programa, que como siempre va apareciendo como un proceso "iterativo e incremental".

Como no encontré vídeos de la conferencia del año pasado (seguiré buscando), les dejo un video-collage con imágenes de la edición de 2010 en Lima, para que se den idea del ambiente que se vive en estos encuentros.

miércoles, 25 de julio de 2012

Firefox OS: ¿hace falta otra plataforma para móviles? ¡Tal vez si!

Firfox OS

En julio del año pasado la fundación Mozilla anunció el arranque de un nuevo proyecto llamado "Boot to Gecko" (B2G), en referencia a la idea de un sistema operativo orientado a móviles que iniciara directamente Gecko, el motor visual detrás de Firefox.

Semejante idea, en un mundo de dispositivos dominado por iOS y Android, en el que aún a Microsoft le está costando entrar, parece disparatada, pero Mozilla no tiene como objetivo necesario ganar mercado, sino impulsar mayor adopción de estándares web en el terreno de mayor crecimiento actualmente, que son celulares y tablets.

La característica fundamental del nuevo sistema operativo, actualmente conocido como Firefox OS (aunque encontrarán más referencias aún a B2G) es que está basado en un kernel de Linux, una capa de abstracción para el hardware (llamada "Gonk") y por encima el motor del navegador Gecko, soportando HTML, CSS y JavaScript que es sobre lo que corren todas las aplicaciones. Y esto significa todas, como la aplicación principal del teléfono, la lista de contactos, portada, etc.

El entorno de ejecución sobre el que corren las aplicaciones se llama Gaia, y para los que quieran probarlo, pueden obtenerse los builds nocturnos de Gaia clonando la cuenta de GitHub (git://github.com/mozilla-b2g/gaia; los builds corren en Mac OS, Linux y Windows). Hay un guía completa sobre el tema, llamada Gaia Hacking, en la Wiki de Mozilla.

Básicamente Gaia ofrece a los desarrolladores la posibilidad de producir aplicaciones web con el stock estándar de HTML5, más un API JavaScript que les da acceso a características especiales del dispositivo.

El otro factor importante es qué nivel de adopción se pueda esperar de esta plataforma, y en ese sentido es alentador ver que el sistema (inicialmente apuntando a hardware muy económico basado en Snapdragon) está siendo adoptado para próximas ofertas de varias operadoras europeas como Deutsche Telekom, Etisalat, Smart, Sprint, Telecom Italia, Telefónica y Telenor. De hecho, en una conferencia de febrero de este año en España, Telefónica y Mozilla mostraron una versión preliminar del sistema corriendo en dispositivos Galaxy II de Samsung, que vienen nativamente con Android. Otras organizaciones soportando directamente el proyecto son Adobe y Qualcomm (más información en esta gacetilla de prensa).

Como es recurrente en todo proyecto de Mozilla, absolutamente toda la plataforma es abierta, permitiendo a los operadores o fabricantes implementar una capa mínima que provee acceso a sus recursos propietarios. Más allá de eso, todo el diseño del sistema está alineado a respetar los mismos estándares web que se impulsan en los navegadores de escritorio, unificándolos aún más, y con un claro objetivo de que otros jugadores de la industria como Apple, Google o Microsoft sigan adoptando ese camino.