miércoles, 30 de octubre de 2013

Nuevo sitio: Scrum Masters Community (+ video)

 

El amigo Tobias Mayer, pionero en dictar los talleres de Certified Scrum Master en Argentina, y un combatiente de la metodologías ágiles y Scrum en particular (incluso dando lucha desde adentro de la Scrum Alliance en su momento) lanzó recientemente un muy buen recurso para la comunidad de Scrum: un sitio web llamado scrummasters.community.

En el sitio se pueden encontrar libros, sitios y otros recursos recomendados por la comunidad de Scrum Masters en general, incluyendo algunos comentarios.

Es una especie de catálogo comunitario de recomendaciones, sencillo y útil.

Aprovecho el post para recomendar especialmente el último libro de Tobias, The People’s Scrum, que recopila los mejores artículos de Tobias en los últimos años, y no trata de explicar Scrum, sino que reflexiona sobre el espíritu, sobre el paradigma y las condiciones que estas prácticas crean, y a sus veces requieren.

Les dejo un video corto (~7 minutos; en inglés) de Tobias charlando en un evento sobre Scrum más allá de software.

lunes, 28 de octubre de 2013

Aprendiendo a programar Android en 12 clases gratuitas (+ video)

Por si alguno no se enteró, el equipo de JetBrains adaptó su excelente IDE para Java IntelliJ lanzando junto a Google una versión gratuita llamada Android Studio, que se encuentra en Preview, pero ya disponible para descarga.

Dino Esposito

Como esta gente no se queda quieta, además de lanzar la IDE, que es una alternativa más moderna y mejorada (al menos en mi opinión) a Eclipse, se asociaron también con el sitio de entrenamiento en línea Tuts+ para publicar una serie gratuita de entrenamiento sobre desarrollo en Android, presentada por el italianísimo Dino Esposito (el contenido está en inglese), una personalidad del mundo .NET pero también reconocido por su ductilidad para moverse entre plataformas, y sus cualidades como autor y entrenador.

La serie, llamada Android for the Busy Developer, compuesta por doce episodios, está basada en IntelliJ y no en Android Studio (no se bien por qué, pero para todo lo básico es lo mismo).

La serie completa cubre:

  1. Introducción (~12m) 
  2. Diseñador de Interfaces (~18m)
  3. Interactividad mínima (~11m)
  4. Ciclo de vida (~20m)
  5. Más actividades (15m)
  6. Vistas de Lista (~16m)
  7. HTTP (~14m)
  8. Almacenamiento (~15m)
  9. Menúes (~16m)
  10. Diálogos (~11m)
  11. Preferencias (~15m)
  12. Publicación (~6m)
Como pueden ver, son más de dos horas y media de entrenamiento, totalmente gratis, y más allá de que Dino muestre cómo se usa IntelliJ, los conceptos aplican al desarrollo Android utilizando la herramienta que uno prefiera (incluso si uno prefiere programar en C#, utilizando Xamarin Studio), porque hay mucho sobre la arquitectura y APIs básicas de la plataforma.

Les dejo el primer episodio (~12 minutos), en el que Dino explica cómo hacer el clásico Hello, World, para que vean más o menos el tono de la serie.

 

miércoles, 23 de octubre de 2013

[Autobombo] Libro gratuito de "Introducción a los lenguajes de la web"

Atención: en este post hablo sobre un trabajo mío, porque se trata de un trabajo gratuito y espero que útil para algunos de los lectores. Para ser bien explícito en los casos en que mencione cosas que me involucran directamente, decidí usar un tag (en el título mismo del post) [Autobombo]. Para quienes no comprendan el término, es un argentinismo que usamos para usando alguien se hace propaganda a si mismo. Pueden quedarse tranquilo porque no soy tan productivo, así que no creo que ocurra muy a menudo. :)

Lenguajes de la Web

Con mi compañero de ruta Juan Gabardini terminamos recientemente la versión final (al menos por ahora) de este librito que es, como dice el título, una mera introducción a HTTP, HTML y CSS.

El objetivo del libro es acercar a los conceptos más básicos a gente que se está acercando al desarrollo, o que tiene experiencia en otras áreas, como aplicaciones de escritorio o tecnologías anteriores.

El libro cubre temas como Internet (dominios, direcciones IP y puertos), HTTP (peticiones y respuestas; cookies) HTML5 (elementos, texto, enlaces y formularios), CSS, aplicaciones web mínimas (en PHP, Python y Flask, Ruby y Sinatra), y algo sobre URL semánticas.

Como explicamos en el arranque, no nos metemos en JavaScript, que es un tema mucho más grande, ni entramos en detalles muy profundos, pero tratamos de dejar punteros a otros recursos abiertos donde poder profundizar.

Todavía no lo agregamos a la página de Kleer donde pueden encontrar otros libros gratuitos, pero se viene en breve.

Espero que les resulte útil.

martes, 22 de octubre de 2013

Libros gratuitos de programación

Libros Gratis de Programación

Revisando las estadísticas de este blog, veo que los posts más populares han sido históricamente los que se refieren a libros gratuitos, así que en un arranque de populismo, decidí agregar uno más.  :)   Al fin y al cabo, si son tan populares, espero que sea porque a los lectores les sirve contar con esos recursos.

Hay una lista ENORME de libros de programación gratuitos en inglés, que se actualiza periódicamente, y de manera colaborativa, y puede verse en:

Quienes quieran colaborar, pueden hacerlo a través de este proyecto en GitHub.

Para quienes prefieren el español hay un recurso bueno y legal que tiene varios libros para leer directamente en línea, de temas genéricos como HTML, CSS, JS, Bootstrap y GIT.

martes, 8 de octubre de 2013

La era de las interfaces aéreas

Desde hace un tiempo vemos cómo las interfaces empiezan a alejarse del mouse, el teclado y últimamente las pantallas.

Mientras que todavía estamos tratando de optimizar al máximo las interfaces táctiles, seguimos teniendo montones de casos en los que lo ideal sería no tener que tocar la pantalla u otro dispositivo. Por ejemplo, en situaciones en las que estamos a cierta distancia de la computadora, o cuando tenemos las manos ocupadas en otras cosa, o sucias (cocinando, reparando un auto, o en medio de una cirugía, por ejemplo).

Kinect

Primero fue Xbox y su accesorio Kinect, uno de los desarrollos más revolucionarios salidos de Microsoft últimamente, que aunque arrancó más orientado al mercado de juegos, pronto agregó una edición para Windows, con su correspondiente SDK, abriendo el dispositivo a lo que que nuestras mentes quieran hackear.

Kinect utiliza una combinación de sensores y un láser infrarrojo que brinda datos de posicionamiento de objetos en 3D. Básicamente, tiene cámaras HD normales e infrarrojas, con lo que consigue no solamente una imagen plana, sino información de distancia. A esto se le suma una serie de micrófonos y una buena cantidad de software.

El SDK para Windows tiene un par de maneras principales de programar: la primera es manipulando los datos en crudo, con el nivel de complejidad que implica, y la segunda es usando un API de más alto nivel que básicamente rastrea posiciones del esqueleto de hasta dos personas simultáneamente. De esta manera se puede programar a más alto nivel, siguiendo el posicionamiento de manos, cabeza, rodillas, etc. Kinect no es muy fuerte aún en reconocimiento de dedos individuales, ni está pensado inicialmente para estar a corta distancia.

 

Leap Motion

Más recientemente se agregó a la partida Leap Motion, un dispositivo mínimo (ver foto), más chico que un teléfono convencional, tal vez un poco más alto. Se conecta por USB a una PC o Mac, y debe ubicarse entre nosotros y el teclado o el trackpad, básicamente bajo el área donde vamos a mover las manos.

La cajita contiene dos cámaras infrarrojas monocromáticas en conjunto con tres LEDs infrarrojos para lograr unos 300 cuadros por segundo a una resolución altísima, y es procesada por software propietario en el mismo dispositivo para proporcionar información de posicionamiento de los dedos muy detallada. Incluso permite detectar cosas como un lápiz en nuestra mano, y utilizarlo para dibujar sin necesidad de tocar la pantalla.

Leap Motion también provee un SDK con lo que pueden desarrollarse aplicaciones que exploten todo es potencial, que en principio es mucho mayor para aplicaciones de precisión, y como medio de interactuar con nuestra computadoras personales.

 

Flutter

Y ahora llega Flutter, recientemente adquirido por Google, y disponible para OS X y Windows, con la particularidad de que no requiere ningún dispositivo externo. Solamente utiliza la cámara incorporada en las notebooks, y detecta (por ahora) unos pocos gestos, orientados en principio a controlar reproductores de media como iTunes, VLC y unos cuantos más que van sumándose, incluyendo ahora algunos sitios como Grooveshark o YouTube, utilizando una extensión de Chrome.

Los gestos que reconoce por ahora son mano abierta para detener o continuar, pulgar a un lado o a otro para ir al track siguiente o al anterior, pero prometen algunos más.

Lo que todavía no está anunciado es un SDK o API para programar sobre el análisis que ellos ya realizan sobre la imagen, pero ahora que Google ha tomado el control, no cuesta mucho pensar en que se integre como funcionalidad básica de Chrome, y porque no, se abra a más usos.

 

Finalmente, para mi lo que queda esperar es más sensores del estilo de Leap Motion integrados directamente en una próxima generación de notebooks, tabletas y teléfonos (hay algunos de Smasung que reconocen ya algunos gestos básicos sin tocar la pantalla) y sobre todo, la aparición de capas de software que realicen la mayor parte de las transformaciones matemáticas necesarias para que podamos luego programar a más alto nivel.