Charlas del FOSS4G 13

Estoy viendo algunas (la mayoría) de las charlas del FOSS4G que hay en esta lista de youtube. Llevo las primeras 25, y comparto en dos grupos las que me han parecido más interesantes y otras que he visto con una mínima descripción.

Recomendables

  • TileServer. Buena introducción a que es WMTS y cuando usarlo. Así como una demo de lo fácil que es convertir un ráster a tiles y servirlo como tileserver-php. Recomendable si no sabes lo que es WMTS.
  • Leaflet: Past, Present, Future. Charla divertida donde cuentan la historia de leaflet y lo que esperan del futuro. Nada técnico pero interesante para estar al día del mundillo. De paso deja un par de lecciones de como conseguir que un proyecto de software libre triunfe.
  • OpenLayers 3: Under The Hood. Recomendable. Es interesante ver como han repensando la librería, y lo que hay alrededor de la misma, integración continua, como hacen los builds,…
  • Application Development With OpenLayers 3. Es un resumen de como usar la api de ol3 para hacer tus propias aplicaciones.

Otras

Stallman, ese viejo rockero

Stallman y GhandalfHace unas semanas Stallman estuvo de gira por Galicia dando conferencias y algunos amigos, me preguntaron si merecia la pena verlo. La verdad es que no es fácil contestar a eso.

Para mi Stallman, fue la figura clave del movimiento del Software Libre durante muchos años. La mayoría de las veces las innovaciones son sólo evoluciones de hechos culturales o tecnologías existentes. Los conceptos acuñados por Stallman, en cambio, se pueden considerar disruptivos.

Creador de la Free Software Foundation, de emacs uno de los dos mejores editores de texto existentes, de una de las licencias de Softare Libre más extendidas y del compilador libre de C (entre otros lenguajes) más usado. Por uno cualquiera de estos hechos merecería sus laureles, pero resulta que estuvo implicado en los cuatro.

Pero ahora mismo Stallman es como uno de esos viejos rockeros, que casi sin voz repiten una y otra vez sus viejas canciones. Sigue llenando auditorios y merece la pena ir a uno de sus directos, pero va siendo hora de que los que estamos en esto, transmitamos que hay mucha más gente con cosas interesantes que contar.

Libro: Tropas del espacio

He acabado de releer estos días Tropas del Espacio, ganadora del premio Hugo a la mejor novela en 1960. Es una mezcla entre space opera y cadete espacial de tinte bastante militarista que ha generado rios de tinta y bits. Para mi la mayor crítica al libro, cada cual puede tener sus ideas, es el tono adoctrinador de la novela, con largos flashbacks que te desconectan del hilo principal, muy distinto, por ejemplo al estilo Stephenson que trata al lector como alguien inteligente donde el proceso reflexivo va implícito en la historia.

Si sólo estás buscando un space opera o una novela de aventuras en el espacio es mejor que pruebes con otra cosa como El aprendiz de guerrero o La vieja guardia. Si estás buscando una opinión diferente sobre el derecho al voto o la educación juvenil mezclada con exoesqueletos, tienes está novela disponible en tu tienda habitual o probar con este magnet para tu programa de torrent favorito.

Por cierto, que si has visto la película no te preocupes, tienen bastante poco que ver.

Otras críticas del libro que me han resultado interesantes:

 

IDE para desarrollo web en cliente

Estoy buscando un IDE (o editor de código) para desarrollo web centrado en el cliente (JavaScript, HTML y CSS). Tras duckduckgodear un poco ya tengo una lista de los entornos que voy a me gustaría probar, no necesariamente en este orden:

  • Webstorm. De jetbrains. No es libre ni gratuito pero sale muy bien parado en las comparativas.
  • Sublime Text. Tampoco libre ni gratuito, pero al igual que el anterior muy bien valorado.
  • Eclipse. Con plugins para desarrollo web o la versión pre-empaquetada.
  • Emacs. Que nunca decepciona cuando inviertes suficiente tiempo en él.
  • Aptana. Lo he estado usando para python y va aceptable.
  • NetBeans. A pesar de que nunca lo he usado tiene críticas entusiastas.
  • Brackets. Un editor libre creado por Adobe con muy buena pinta. (actualizado 26/Junio/2014)
  • Atom. Un editor libre creado por GitHub, basado en nodejs. También con muy buena pinta, pero por ahora sin binarios para Linux. (actualizado 26/Junio/2014)
  • Mozilla Web IDE. Todavía parece bastante verde, y no tengo claro que sea lo que busco, pero parece que Mozilla ha intentando montar un IDE directamente en Firefox. El target principal de aplicaciones es su sistema para moviles FirefoxOS pero debería valer para la web.(actualizado 26/Junio/2014)

Por ahora voy a empezar con Aptana e iré contando. ¿Vosotros que usais?

 

The biggest waste in product development is re-learning

The biggest waste in product development is re-learning.

Product development teams are large and diverse. When someone on the team learns something, that knowledge needs to spread quickly to the whole team. Otherwise, someone else could learn an opposing truth and the two people could begin working at cross purposes. The re-learning process can also span time. What one part of the team learns earlier in the development process could become important to another part of the team later. Spending time and money learning the same thing multiple times is a waste of opportunity and a potential source of contradictory decisions.

Learning from Lean. Kent Beck.

Como funciona git reset y porqué no usar git-flow

Scott Chacon demistifica en el siguiente vídeo git reset, que es probablemente uno de los comandos más complejos de entender de git.

En su blog y en este gist hay alguna explicación adicional.

Hacia el final de la charla le preguntan que opina de git flow, lo que le permite explicar porque no le gusta y recomienda leer el workflow que siguen en github. Merece la pena leerlo.

Tres podcast de JavaHispano sobre legislación

Si eres desarrollador hay un par de aspectos de la legislación de las que deberías tener ciertas nociones. Propiedad intelectual, LOPD, LSSICE, Licencias de Software, Software Libre,… son conceptos que si bien seguramente no tienes porque dominar, al menos te deberían sonar. Ultimamente he oído tres podcasts de JavaHispano donde tocan alguno de estos aspectos que no está de más escuchar:

  • Propiedad intelectual del software. Que responde a preguntas como ¿Qué derechos tiene un programador asalariado sobre el software que escribe? con respuestas como basicamente ninguna a no ser que pacte previamente.
  • Ley de Protección de Datos Personales (LOPD): Desde que es la ley hasta que debería saber un desarrollador para que sus programas estén adaptados a la ley. O sentencias y explicaciones como que Internet no es considerado por la ley una fuente accesible al público y por tanto, a pesar de que alguien ponga una dirección de correo en una web un tercero no tiene legitimidad para emplear ese correo en una campaña de publicidad.
  • Introducción y reflexiones sobre Software libre. ¿Qué es el software libre?. Diferencias entre la OSI y la FSF. Tipos de licencias, … El podcast es bastante opinativo como ellos mismos reconocen y no estoy de acuerdo con algunas de las cosas que dicen. Pero si no tienes mucha idea es una buena introducción.

Y tu. Conoces otras fuentes básicas de legislación, licencias, etc. que todo desarrollador de software debería leer.

Lo que está en juego en Siria

Lo que está en juego en Siria es una serie de tres artículos (1, 2, 3) imprescindibles aparecidos en el blog de Guerras Postmodernas que trata de explicar las causas y el ritmo actual del conflicto desde una perspectiva amplia alejándose de los, ya demasiados, comentarios acerca del imperialismo yanki.

Tampoco os perdais el paralelismo entre la guerra cívil siria y la guerra civil española, basándose en la tesis de que ambas se convirtieron en guerras de intermediarios (proxy war).

Libro: Beggining Ruby: From novice to proffesional de Peter Cooper

He terminado estos días de leer el libro de Peter Cooper, Beginning Ruby: From Novice to Professional (Expert’s Voice in Open Source)
, es una segunda edición del 2009 publicada por Apress. El libro se puede comprar desde la página del autor.

Tiene 658 páginas, pero entre espacios en blanco, índice de referencias, índice de contenidos y secciones prescindibles para quien ya sepa algo de programación se queda en bastantes menos. Además, es fácil de leer.

Si ruby no es el primer lenguaje que aprender mi recomendación es empezar por el apéndice A. De un vistazo rápido tienes una gran parte de la sintaxis básica del lenguaje, que ya te permite empezar a hacer alguna prueba.

A partir de ahí lo más fácil es leer el libro en orden, es fácil identificar aquellas secciones prescindibles, como la de instalar ruby en distintos sistemas operativos del capítulo 1, la introducción a ppo del 2, los operadores básicos del 3,… Sobre todo en los primeros capítulos hay cosas básicas que pueden saltarse, y a partir de la mitad del libro algunas cosas muy específicas que se pueden leer en diagonal, simplemente saber que existen y volver a ellas si en algún momento te hace falta.

Me gusta del libro que empieza despacio, siendo asequible para alguien con poca experiencia previa en programación pero avanza rápido y gradual hacia temas más avanzados cubriendo un montón de aspectos del lenguaje que pueden hacer falta. Incluye comentarios sobre estilo del código, tests automáticos (esta parte podía estar un poquito mejor) y desarrollo web, incluido un capítulo sobre rails que te da para dar los primeros pasos en ese framework.

También me gusta que hay bastantes pequeños snippets de código autoejecutables y dos capítulos enteros de aplicaciones un poco más completas, el capítulo 12 en el que desarrollas un bot con el que dialogar es una gozada.

Lo que menos me gusta es que a pesar de que cubre ruby 1.9, se nota que está escrito para la 1.8 y luego actualizado.
En definitiva un buen primer libro para quien ya sepa programar y quiera aprender como ruby puede solucionar alguna de sus necesidades

Libros de ruby para principiantes

Tras mi rápida visita a Ruby a través del Mr Neighborly’s humble little ruby book he estado buscando otros libros para principiantes que me dieran una visión más amplia del lenguaje. Recopilo algunos de los libros que se suelen recomendar con mis propias impresiones sobre lo que he leído de ellos. No he leído ninguna así que puedo equivocarme en las apreciaciones, si no estás de acuerdo deja un comentario.

Beginning Ruby: From Novice to Professional, Second Edition

.
Está reconocido como uno de los mejores libros para novatos, avanza desde las cosas más sencillas hasta cubrir hasta iniciarte en temás más complejos como ruby on rails o testing. Combina bastantes ejemplos pequeños de código con algunos más grandes.

The Ruby Programming Language

.
Considerado más bien de nivel intermedio, busca transmitir las interioridades del lenguaje, aunque se suele considerar como uno de los mejores libros para aprender. Uno de los autores del libro es Yukihiro Matsumoto el creador de Ruby.

  • Versión de Ruby empleada: 1.8 y 1.9
  • Páginas: 448
  • Año de la última edición: 2008

Programming Ruby: The Pragmatic Programmer’s Guide

Fue el primer libro en inglés publicado sobre Ruby y es probablemente el libro más referenciado. Pero se ve que también tiene unos cuantos detractores. Hay una cuarta edición del libro publicado por ahora como borrador que cubre la versión 1.9 y la 2.0. Para ruby 1.8 se puede comprar la segunda edición.

La primera edición del libro sobre ruby 1.6, de 2001 se puede consultar online en ruby-doc y en rubycentral

  • Versión de Ruby empleada:1.9 y 2.0
  • Páginas: 1000
  • Año de la última edición: 2013 (en borrador)

The Well-Grounded Rubyist

Entre nivel inicial e intermedio, parece pensado pensado para quien tiene cierta idea y quiere conocer las particularidades del lenguaje con más profundidad. Muestra un montón de pros y contras del lenguaje y sus idioms pero no llega a desarrollar un proyecto de código concreto. Es otro de los libros más mencionados.

  • Versión de Ruby empleada: 1.9
  • Páginas: 487
  • Año de la última edición: 2009


Conclusiones

Lo que yo estoy buscando es un libro fácil de leer y que tenga algún ejemplo realista de código y no pequeños snippets, por ello me he decidido darle una oportunidad al Beggining Ruby. Trataré de contar que tal está cuando lo acabé.

Referencias

Otros libros

Sobre Ruby también hay bastantes libros gratuítos:

y si lo que buscas es algún libro más avanzado, estos son los que suelen recomendar: