Saltar a contenido

Index

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í

VII Jornadas de SIG Libre de Girona

Este año gracias a Cartolab he tenido la oportunidad de asistir de nuevo a las Jornadas de SIG Libre de Girona.

Como en años anteriores, el ambiente y la organización fueron magníficos. A pesar de que no había tanta gente como hace dos años, el compromiso de la comunidad geo con estas jornadas y el buen hacer del sigte hace que siempre merezca la pena ir.

Este año, desde cartolab, siguiendo la línea que tenemos para las jornadas de presentar contenidos formativos, análisis y cooperación para el desarrollo llevamos una comunicación sobre el Curso Online de SIG para Cooperación al Desarrollo , que ayudamos a elaborar el año pasado junto a Ingeniería Sin Fronteras, la empresa iCarto y el laboratorio de la USC, Laborate.

El eje de la presentación consistía en tratar de mostrar, como si bien las necesidades pueden ser iguales en los distintos territorios, las problemáticas que se daban en unos y en otros eran distintas. Por ejemplo la necesidad para la elaboración de un plan de ordenación territorial es igual en Galicia, que en Jinotega (Nicaragua), pero los problemas en Jinotega, donde sólo el 40% de las familias tiene una escritura de propiedad de la tierra, y sólo el 25% de las personas tiene algún tipo de ingreso , son distintos a los que nos encontraremos en Galicia. La presentación es algo minimalista pero si queréis más podéis anotaros al curso.

Mover un torrent de transmission a otro ordenador

Una nota rápida para explicar como mover una descarga (completa o incompleta) de transmission a otro ordenador. El escenario es sencillo, tengo los torrents divididos entre dos ordenadores, y se dió el caso de que quería mover uno de los torrents de uno de los ordenadores al otro. Mover toda la información de transmission de un ordenador a otro es sencillo, basta mover los ficheros descargados a la misma ruta en el otro ordenador, y copiar la carpeta ~/.config/transmission. Mover sólo uno es parecido, simplemente hay que ser un pelín más cuidadoso.

  1. Copiar del ordenador 1 a un almacenamiento temporal o similar los ficheros relacionados con nuestro torrent:
    • El fichero .resume en ~/config/transmission/resume
    • El .torrent en ~/config/transmission/torrent
    • El propio fichero descargado, si está incompleto da igual, reanudará la descarga desde el punto correcto.
    • Anotar la cantidad de datos descargados y enviados para ese fichero
  2. Abrir transmission en el ordenador 2 y abrir el .torrent del ordenador 1. Preferiblemente agregarlo en modo pausa para que no comience la descarga automáticamente
  3. Copiar a la ubicación del ordenador 2 donde se descargará el fichero, el fichero del ordenador 1
  4. En transmission, botón derecho sobre el torrent pausado, y «Verificar datos locales«.

Con esto estaría listo, pero si somos un poco más quisquillosos con las estadísticas y las opciones tenemos que efecutar un par de pasos más.

  1. Cerrar transmission en el ordenador 2
  2. Copiar el .resume del ordenador 1 al directorio adecuado en el ordenador 2
  3. Abrir con un editor de texto el fichero ~/config/transmission/stats.json y actualizar los valores de downloaded-bytes y uploaded-bytes

stats.json guarda las estadísticas de ejecución del programa, para actualizar los valores de interes simplemente multiplicaremos las megas descargadas/subidas por 1048576 (1024×1024) para pasar de megas y bytes y lo sumaremos a los valores que ya tenían.

Si es sólo para mover un fichero este procedimiento está bien, si es para mover más habría que hacer un script.

Referencias