Friday, October 8, 2010

Ruby 2.0

Matz Matsumoto estará en San Francisco y en Silicon Valley la semana entrante, presentando "Ruby 2.0".

Otros de los temas que estará abordando serán la aplicación de Ruby en los campos de embedded, cloud computing, y supercomputación.

Referencia:
http://www.investfk.com/

Ubuntu 10.10

La nueva versión de Ubuntu, 10.10 saldrá dentro de ...


The next version of Ubuntu is coming soon


Referencia:
http://www.Ubuntu.com

Sunday, September 5, 2010

Ruby 1.9.2

Acaba de salir Ruby 1.9.2.

Ruby 1.9.2 es compatible con 1.9.1, excepto algunos cambios:

* Muchos métodos nuevos;
* Nuevo socket API (mejor soporte para IPv6)
* Nuevos cifrados
* clase Random que soporta varios generadores de números aleatorios
* Time ha sido reimplementado. Ya no tiene problema con el año 2038.
* algunas mejoras a regexp.
* $: ya no incluye el directorio corriente.
* dl ha sido reimplementado encima de libffi.
* nueva biblioteca psych que envuelve a libyaml. Se puede usar en vez de syck.

Ruby 1.9.2 pasa 99% de RubySpec.

Ruby 1.9 tiene 4 Niveles de soporte:

* Soporte para:
* Debian GNU/Linux 5.0 on IA32.
* Buen esfuerzo para:
* mswin32, x64-mswin64, mingw32
* MacOS X 10.5 (Intel) and 10.6
* FreeBSD 6 and later (amd64, IA32)
* Solaris 10
* Symbian OS
* No verificado para:
* Otras distribuciones Linux
* Otras versiones de MacOS X.
* cygwin
* AIX 5
* Otros sistemas compatibles con POSIX
* BeOS (Haiku)
* No soporta:
* Otros sistemas



Referencia:
"Ruby 1.9.2 is released", en la pagina oficial de Ruby

Monday, June 28, 2010

Ruby 1.8.7

Acaban de lanzar la versión 1.8.7-p299 de Ruby.
Es una versión de mantenimiento que corrige varios errores. Leer el ChangeLog.

Referencias:
http://www.ruby-lang.org/en/

Monday, June 14, 2010

Rails 3.0 RC

Hola amigos,

Esta notica para darles gracias a todos los que han estado leyendo el blog, y también a los que me han enviado comentarios positivos sobre el libro. Bueno saber que las pocas ideas que comparto por este medio sirven para ayudar a alguien al otro lado del mundo.

Hemos estado por acá un poco distraídos con el Mundial de Fútbol, así que pido disculpas, pues he tenido el blog un poco descuidado.

Lo último que acabo de leer es que Rails 3.0 RC (Release Candidate) está por salir en cuestión de días, así que os invito a estar pendientes.

El enlace de Rails es:
http://rubyonrails.org/

No os preocupéis, que Ruby sigue siendo nuestro lenguaje favorito. Los comentarios por esta parte del mundo son que "Ruby y Rails hacen ver a Java como un legado del pasado, algo así como recordamos cariñosamente a COBOL". :-) Definitivamente, Ruby y Rails son herramientas para construir el futuro.

Tuesday, March 9, 2010

Conferencia Ruby Nation

La conferencia RubyNation tomará lugar en Abril 9-10, en Reston, Virgina, y contará con la participación de Dave Thomas, y otros presentadores. Entre los temas a discutir está Rails 3.0 ... todo el mundo está hablando sobre Rails 3.0, en estos días.

Referencias:
RubyNation, sitio oficial
Agenda

Gráficos con Ruby y SVG

Hace un tiempo me puse a jugar con las diferentes formas de hacer gráficos en Ruby. Una de ellas es usando el paquete Tcl/tk, para pintar sobre un canvas en una ventana. Otra forma más interesante que descubrí después, fue por medio del lenguaje SVG. Se escribe un programa en Ruby que genere un archivo en formato SVG, y cuando este se abre con el browser, se puede apreciar un gráfico.

¿Por qué SVG?
* Porque es uno de los estándares de internet,
* porque se puede utilizar en aplicaciones cliente-servidor por internet,
* porque el nuevo HTML5 también tiene soporte para SVG, y,
* porque los nuevos browsers ya implementan soporte para HTML5 y SVG.

SVG es un lenguaje derivado de XML, declarativo, para hacer gráficos de vectores. Define primitivas para hacer líneas, rectángulos, elipses, círculos, etc, que se pueden utilizar para derivar gráficos complejos. Tiene también incluída la capacidad para hacer fills con efectos de luz y sombras (raster effects), texto, fonts, y animación.

Veamos un ejemplo sencillo:


<?xml version='1.0'?>
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 
  'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'>

<svg width='12cm' height='12cm' viewBox='0 0 1200 1200' 
  xmlns='http://www.w3.org/2000/svg' version='1.1'>

<desc>SVG creado con un programa en Ruby.</desc>

<rect x='1' y='1' width='800' height='800' 
  fill='none' stroke='blue' stroke-width='2'/>

<g stroke='green' transform=' scale(3)'>
  <line x1='50' y1='50' x2='50' y2='100' stroke-width='5'/>
  <line x1='50' y1='50' x2='75' y2='25' stroke-width='5'/>
  <line x1='50' y1='50' x2='100' y2='50' stroke-width='5'/>
  <line x1='50' y1='100' x2='100' y2='100' stroke-width='5'/>
  <line x1='75' y1='25' x2='100' y2='50' stroke-width='5'/>
  <line x1='100' y1='50' x2='100' y2='100' stroke-width='5'/>
  <text x='50' y='120' font-size='20' font-family='Verdana'>
    casa1
  </text>
</g>

<g stroke='blue' transform=' translate(200,0) scale(3)'>
  <line x1='50' y1='50' x2='50' y2='100' stroke-width='5'/>
  <line x1='50' y1='50' x2='75' y2='25' stroke-width='5'/>
  <line x1='50' y1='50' x2='100' y2='50' stroke-width='5'/>
  <line x1='50' y1='100' x2='100' y2='100' stroke-width='5'/>
  <line x1='75' y1='25' x2='100' y2='50' stroke-width='5'/>
  <line x1='100' y1='50' x2='100' y2='100' stroke-width='5'/>
  <text x='50' y='120' font-size='20' font-family='Verdana'>
    casa2
  </text>
</g>

<g stroke='red' transform=' translate(400,0) scale(3)'>
  <line x1='50' y1='50' x2='50' y2='100' stroke-width='5'/>
  <line x1='50' y1='50' x2='75' y2='25' stroke-width='5'/>
  <line x1='50' y1='50' x2='100' y2='50' stroke-width='5'/>
  <line x1='50' y1='100' x2='100' y2='100' stroke-width='5'/>
  <line x1='75' y1='25' x2='100' y2='50' stroke-width='5'/>
  <line x1='100' y1='50' x2='100' y2='100' stroke-width='5'/>
  <text x='50' y='120' font-size='20' font-family='Verdana'>
    casa3
  </text>
</g>

</svg>


En el ejemplo anterior se puede apreciar el uso de las primitivas <rect> para dibujar rectángulos, <line> para líneas, <text> para texto; y, <g> para agrupar primitivas bajo un mismo color. Notar también el uso de la propiedad 'transform' para mover y escalar los dibujos. Los lectores cuidadosos habrán notado que las coordenadas de las líneas de las tres "casas" son las mismas. La diferencia está en el uso de la propiedad 'transform'.

El resultado, cuando se ve este archivo con el browser es el siguiente:




Como se puede apreciar, no es difícil generar SVG desde Ruby. Con un poco de imaginación podemos generar gráficos más "sofisticados" tales como los siguientes:

La "Curva Dragón":




Epitrocoides:




Hipotrocoides:




Buscando, me encontré con estos otros módulos para hacer SVG con Ruby, pero no encontré suficiente información para iniciarme con ellos:
* RCairo
* Ruby/RSVG, parte de Ruby/GTK2 (?)
* SVG::Graph
* ruby-svg
* SVuGy

Referencias:
La especificación de SVG, en w3
Curva Dragón, en la wikipedia
Epitrocoides, en la wikipedia
Hipotrocoides, en la wikipedia

Monday, March 1, 2010

MountainWest RubyConf 2010

Entre los días 11 y 12 de Marzo, en Salt Lake City, tendrá lugar la conferencia MountainWest RubConf. Contará con la participación de Matz (el autor de Ruby), y de Yehuda Katz (co-autor de Rails 3, y de un libro sobre jQuery).
 

Referencias:
MountainWest RubyConf, página oficial
Programa, MountainWest RubyConf 2010.

Rails Online Conf

Hace dos semanas terminó la "Rails Online Conf", patrocinada por O'Reilly.

Los PDFs de la conferencia se pueden adquirir gratuitamente, y el audio se puede pedir registrándose. Dan una idea de lo nuevo en Rails 3, y crean anticipación para la conferencia RailsConf que tendrá lugar en Junio, en Baltimore.

Referencia:

Rails Online Conf, Febrero 2010

Conferencia RailsConf 2010

Este año,la conferencia RailsConf tomará lugar en Baltimore, Maryland, entre los días 7 y 10 de Junio, y estará patrocinada por Ruby Central Inc, Aptana, O'Reilly, Engine Yard, y otros.

El programa de las presentaciones, tutoriales, y otras sesiones, se encuentra en la página oficial. El tema principal de este año es "Rails 3".

Referencias:
RailsConf 2010, pagina oficial
Programa

Hobo

Hobo es un programa de código abierto para Ruby y Rails, para construir applicaciones web rápidamente. Oficialmente ha alcanzado la versión 1.0, después de tres años de esfuerzo en desarrollo por la comunidad Hobo, y patrocinio por Barquin International (Washington). 

Como parte de la celebración, el equipo de Hobo ha sacado una cantidad de cosas nuevas para principiantes, y para que la comunidad los disfrute. Tiene un logo nuevo, y han sacado dos libros digitales gratuitos, para ayudar a los programadores a iniciarse rápida y fácilmente con esta herramienta:

* "Rapid Rails with Hobo", es un libro a nivel introductorio, y,
* "Hobo at Work", una guía más detallada.

Desde la versión Beta hasta ahora, Hobo a cambiado considerablemente. Hace super-fácil crear aplicaciones Rails. Tiene un generador de migraciones sofisticado, con generador automático de índices, un modelo refinado de interfaz gráfica (UI), y ciclos de vida para simplificar procesos de pasos múltiples, además de otra cantidad de mejoras en el código base y su funcionalidad.

Para más detalles, visitar la página oficial de Hobo, o seguir la "guía de dos minutos".

Referencias:
Hobo, página oficial
Libros gratuitos sobre Hobo