Saltar a contenido

2013

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:

Plugin de análisis de redes en gvSIG 1.x

Una pregunta habitual en las listas de correo de gvSIG es si hay alguna herramienta para realizar análisis de redes. En Cartolab hemos estado buscando enlaces a algunos recursos del plugin llamado «piloto de redes» que es el más empleado para estos análisis para poder compartirlos.

El plugin de piloto de redes (a veces también se lo llama «network extension«, «análisis de redes» o «extGraph«) es mantenido por Scolab y dispone de una página web en la forja de join-up, pero parece desactualizada.

Instalación

La última versión de este plugin es compatible con la versión 1.12 de gvSIG, y se puede instalar desde el administrador de complementos.

Herramientas -> Administrador de complementos -> Seleccionamos org.gvsig.graph y seguimos las instrucciones.

Resumen de uso

  1. Se carga una capa de líneas con los líneas conectadas, sin repetir y digitalizadas en el sentido de la circulación.
  2. Si queremos un análisis mas acertado deberíamos como mínimo un atributo donde esté definido el coste y otro en el que esté definido el sentido. El coste representa cuanto cuesta recorrer ese tramo en las unidades que nosotros queramos, distancia, tiempo,… En el campo sentido Asignamos un valor al sentido que se puede seguir por esa línea (el de la digitalización, ambos sentidos, contrario a la digitalización)
  3. A continuación vamos a Red->calcular topología de red que nos generará un fichero .net en el mismo direcotorio que la capa original con esa red. Aquí podemos decidir asignar cierta tolerancia a nuestra capa, por si los nodos no están perfectamente conectados,…
  4. En la siguiente pantalla, emparejamos los campos que nos solicitan. No es necesario rellenarlos todos. Si escogemos sentido le diremos que valor corresponde a de cada sentido posible.
  5. Cuando se carga la red nos preguntará por el campo que tiene un identificador para las geometrías, por ejemplo los nombres de las calles.
  6. Con la red cargada tenemos las opciones de introducir paradas, barreras o realizar los análisis. Las paradas se pueden administrar desde Red->Gestión de paradas. Son puntos de inicio, fin o de paso intermedio obligatorio de un cálculo de rutas. También se comportan como puntos a partir del cual determinar el equipamiento más cercano,… Las barreras son puntos por los que se impide el paso.
  7. Entre cálculo y cálculo recordar Red -> Borrar -> «Eliminar lo que nos interese»

Videotutoriales

  • Una serie de cuatro vídeos (unos 10, 15 minutos en total) con lo más básico del la extensión de redes para calcular rutas óptimas. Emplea la versión 1.1.2 de gvSIG pero permite ver lo más importante.
  • Vídeo de 6 minutos, demostrativo de varias de las funcionalidades de la extensión. . Cálculo de rutas. Matriz de distanticas y tiempos. Punto más cercano. Árbol de recubrimiento mínimo. Área de servicio. Está bien para de un vistazo saber todo lo que hace.

Manuales

Otros recursos

Libro: Mr Neighborly’s humble little ruby book

Estos días he estado leyendo el libro sobre ruby Mr Neighborly’s humble little ruby book. Aprovecho para hacer una pequeña reseña.

La razón de escoger este, es que es la primera referencia que aparece en la guía de inicio rápido de ruby on rails, y no quería invertir tiempo en buscar otra referencia. El libro se puede consultar de manera gratuita en html y pdf, aunque tiene una sección de donaciones. Está escrito en 2006 y usa ruby 1.8.5 con lo que algunas cosas pueden estar un poco desactualizadas. El pdf tiene 147 páginas pero de texto efectivo andará por las 130. Si te pasa como a mi, que algunos capítulos no te interesan mucho, se puede leer en unas 6 u 8 horas. El libro tiene un estilo desenfadado, con (malos) guiños cómicos al lector de tanto en tanto.

Entra de forma bastante rápida y práctica en temas de interés, sin perder demasiado tiempo en introducciones o aspectos muy básicos de oop o programación, habituales en este tipo de tutoriales. Desde luego es insuficiente para alguien sin experiencia previa, pero si conoces algún otro lenguaje dinámico como python, enseguida te ayuda a ver las mayores diferencias. De hecho a menudo hace comparaciones con otros lenguajes.

En el capítulo 4 hay una sección entera dedicada a la API de Windows, que para mi no tenía mayor interés, y otra sobre threads, que por ahora me llega con ojear.

El capítulo 5 está dedicado a lo que podríamos llamar networking (sockets, http, ftp, web services) y algo de base de datos. Si lo que buscas es conocimientos básicos de ruby para luego aprender rails, se puede saltar. Es mejor coger estos conceptos directamente a través de rails.

En el último capítulo habla un poco de testing lo cual está muy bien, porque tampoco es algo muy habitual.

Los dos anexos tampoco son de especial interés, y algunos de los enlaces que aparecen en ellos no funcionan.

En definitiva:

  • Se lee relativamente rápido
  • Si vienes de python te permite entender las mayores diferencias del lenguaje sin mucho problema
  • Seguramente hay cosas mejores por ahí