Wednesday, December 31, 2008

Acaba de Salir Ruby 1.9.1-release candidate 1

Yuki Sonoda acaba de anunciar a Ruby 1.9.1-"release candidate", la primera versión estable de Ruby 1.9.1.

Hasta que no salga la versión final de Ruby 1.9.1 no habrá noticias, ni enlaces, ni recursos, pero recomiendan usar la guía de Dr Nic's llamada "Future proofing your Ruby code - Ruby 1.9.1 is coming". La presentación de Sam Ruby en OSCON sobre Ruby 1.9 también debe resultar ilustradora para los que sabemos poco sobre 1.9.

Referencias:
Anuncio de Yuki Sonoda
"Ruby 1.9.1 Release Candidate Released", anuncio en RubyInside
"Future proofing your Ruby code - Ruby 1.9.1 is coming", la guía de Dr Nic
presentación de Sam Ruby en OSCON sobre Ruby 1.9

Monday, December 29, 2008

Matz en RubyConf 2008

Matz Matsumoto, el autor del lenguaje de programación Ruby, dio un discurso clave, "keynote", en RubyConf 2008, en Noviembre.

Su tema fue "Por qué Ruby?". Dice Matz que adora los lenguajes de programación. Ruby fue diseñado para "maximizar la libertad".

Nos explica Matz, por qué queremos un lenguaje:
* Porque hace que programar sea más fácil;
* su primer lenguaje fue BASIC y luego descubrió LISP; estos lenguajes están a ambos extremos de la escala;
* la comunidad y la gente es importante; su entusiasmo es importante;
* la productividad y la eficiencia es importante;
* mucha gente usa Ruby debido a Rails;
* Rails: un lenguaje (basado en Ruby) para hacer aplicaciones para la red;
* Rake: un lenguaje (basado en Ruby) para construir aplicaciones;
* RSpec: un lenguaje (basado en Ruby) para hacer testing;
* Ruby es un Meta-DSL (meta-lenguaje usado para crear lenguajes en dominios específicos;
* Gartner proyecta 4 millones de usuarios de Ruby para el 2013;
* cuidado que no nos dejemos llevar por el deseo al dinero; podríamos perder algo muy importante;
* las razones más importantes para Matz son el amor al lenguaje y a la comunidad.


Referencia:
Discurso de Matz en RubyConf 2008 (video en línea)

RubyConf 2008

RubyConf 2008 tuvo lugar en Noviembre, en Orlando, Florida.

Yo estuve tan ocupado en Silicon Valley, que se me pasó y no me di cuenta. Sin embargo, los videos de la conferencia están en línea para que todos los disfrutemos. Hay discursos de Matz, y de la gente de MacRuby, JRuby, IronRuby, etc. También hay un discurso sobre Ruby 1.9, entre muchos otros interesantes.

Poco a poco iré resumiendo los que me llamaron la atención.

Referencia:
RubyConf 2008 discursos en línea

Dave Thomas en RubyConf 2008

Dave Thomas, autor de uno de los libros claves sobre Ruby, dio un discurso en RubyConf 2008. En él, propone a la comunidad que es hora de bifurcar a Ruby; y habla sobre las características nuevas de Ruby 1.9.1.

Entre otras cosas, propone los siguientes proyectos:
* Ruby liviano ("RubyLite"): porque las versiones de Ruby se están haciendo demasiado grandes, exponencialmente;
* Ruby Paralelo ("Pruby"): paralelismo con el operador "//=";
* Ruby con tipos opcionales ("oTuby"): tipos de datos para mejor documentación e interfaces;
* Ruby basado en clausuras ("Cluby"): sintaxis simple para bloques con lambdas;

Al final Dave concluye: "No hay nada malo con Ruby. De hecho, todos queremos mucho a Ruby. Pero tampoco hay nada malo con experimentar ideas y variaciones. Debemos divertirnos."

Para más detalles, favor consultar el enlace en la referencia.

Referencia:
Discurso de Dave Thomas, video en linea

Sunday, December 28, 2008

Rhodes para Aplicaciones Móbiles

Rhodes es un marco de desarrollo de aplicaciones (parecido a Rails), liviano, para dispositivos móbiles tales como iPhone, Windows Mobile, y Blackberry, con planes futuros para Android y Symbian.

Rhodes es esencialmente una combinación de lo siguiente:
* una implementación mínima de Ruby para dispositivos móbiles;
* un micro-marco MVC (Modelo-Vista-Controlador) que consiste en una estructura de directorios, archivos y una convención de nombres. Para escribir aplicaciones en este marco, se editan plantillas ERB que crean HTML para mostrar datos;
* un generador de aplicaciones llamado RhoGen que genera un controlador básico Create-Read-Update-Delete y las vistas asociadas para los objetos de datos específicos;
* un cliente de la máquina de sincronización RhoSync;
* un gestionador sencillo de objetos relacionales (ORM) llamado Rhom;
* un servidor web que se instala en el dispositivo móbil y corre localmente;

Rhodes cabe en 2 MB de almacenamiento local en el dispositivo móbil.

Rhodes fue hecho en XRuby, una versión de Ruby en Java que compila y produce Java bytecodes. (XRuby es diferente a JRuby)

Referencia:
Rhodes, página oficial
Rhodes Tutorial
XRuby, página oficial

Rails Metal

Rails Metal es un micro-marco de ejecución de Rails, para usar a nivel de middleware, de respuesta extremadamente rápida. Fue diseñado para evitar el overhead causado por el router de Rails y el Action Controller.

En últimas, Rail Metal es un wrapper alrededor de Rack. Rack 1.0 será parte de Rails 2.3.

Referencia:
"Introducing Rails Metal", en rubyonrails.org
Rack, página oficial

Friday, December 26, 2008

Rails y Merb Unen sus Fuerzas

Los marcos de desarrollo para la red, Rails y Merb han decidido poner fin a la rivalidad y unen fuerzas en un solo proyecto.

Ambos son marcos de desarrollo de código libre (open source) para crear aplicaciones y servicios para la red, usando el lenguaje de programación Ruby. Rails existe desde 2004, y Merb surgió al principio de este año como lo que muchos ven como una alternativa más rapida y liviana.

La rivalidad entre ambos marcos estaba dividiendo a la comunidad, dice el creador de Merb Ezra Zygmuntowicz. Así que los programadores se reunieron y decidieron unir los dos proyectos en la versión 3 de Rails futura.

David Heinemeier Hansson escribió: "Estamos poniendo fin a la rivalidad entre Merb y Rails: Merb se une a Rails en Rails 3!"

"Nos hemos dado cuenta que trabajar unidos con un mismo objetivo es mucho mas productivo que duplicar esfuerzos a cada lado de la cerca", escribió. "Merb y Rails comparten mucho en términos de diseño y sensibilidad, de manera que unir fuerzas parece ser el paso obvio a seguir. Todo lo que tuvimos que hacer fue sentarnos a hablar y decidirlo, y eso fue lo que hicimos."

"El plan es unir en Rails 3 las características que hacen a Merb diferente", escribió Yehuda Katz, co-autor de Merb. "Esto hace posible usar Rails 3 para los mismos casos en que se usa Merb. En efecto, Merb 2 es Rails 3."

El plan exige que Rails 3 sea un marco más modular, de manera que los programadores puedan empezar con la base de Rails y añadir componentes a medida que los necesiten. Merb también portará las mejoras en desempeño hacia Rails. "Esto incluye decisiones de arquitectura que mejoran el desempeño", escribió Katz.

Rails tendrá una API (interfaz de usuario) pública con un paquete de testing, que usuarios y programadores de plug-ins puedan usar, y esto es algo único que hoy ya tiene Merb.

No será una re-escritura súbita de Rails, dijo Heinemeier Hansson. "Sera una mejora progresiva de Rails que juzgará iniciativas nuevas sobre su impacto en compatibilidad con el pasado, y su utilidad general", escribió.

La meta "probable y demasiado optimista" será tener una versión beta de Rails 3 para la conferencia RailsConf en Mayo 2009.

Antes de eso, Rails 2.3, "un paquete de cositas buenas", está planeado para salir en Enero, dijo.

"Para ser perfectamente claros, no estamos abandonando el proyecto Merb," escribió Katz. "Hay muchas aplicaciones en producción corriendo Merb que dependen de mejoras oportunas y en una visión clara hacia el futuro."

Añade: "Si ud usa Merb hoy, sígalo usando. Si está considerando usar Merb para un proyecto porque satisface sus necesidades, use Merb. No lo vamos a dejar abandonado en el frío y haremos todo lo posible para asegurar que sus aplicaciones no se queden pegadas en el pasado."


Referencias:
"Rails and Merb Web Frameworks Agree to Merge", artículo en PCWorld
"Merb se une a Rails 3", en rubyonrails.org
Merb, sitio oficial
Rails, sitio oficial

Friday, December 19, 2008

Aumenta el uso de Lenguajes Dinámicos en el Asia

Lenguajes de programación dinámicos tales como PHP, Perl, Javascript, Ruby, y Python, han "pegado" en una forma grande en Asia, de acuerdo con una encuesta hecha por Evans Data a más de 400 ingenieros de software en la región del Asia-Pacífico.

Evans Data encontró que el 88% de los programadores usan lenguajes dinámicos parte del tiempo, y más del 40% los usan más de la mitad del tiempo. La mayoría de los programadores del Asia usan Javascript, pero PHP también se usa en proyectos de 45% de programadores.

En general, el uso de lenguajes dinámicos seguirá igual en el 2009, pero el uso de Perl declinará, mientras que el uso de ActionScript aumentará.

"Los programadores siempre están buscando formas de eliminar complejidad innecesaria y metodologías obsoletas, y adoptan técnicas que hacen el programar más sencillo y rápido, especialmente ahora que todo el desarrollo de software está centrado en la red", dice el CEO de Evans Data, John Andrews.

"El alto uso de lenguajes dinámicos en Asia es consistente con la alta concentración de desarrollo de software para la red en la región Asia-Pacifico."

El estudio también encontró que más del 20% de los programadores planean lanzar proyectos "para la nube" en los siguientes seis meses, y 60% esperan incrementar el desarrollo de software para dispositivos.

Referencia:
"Dynamic Language Use Pops in Asia", eWeek (12/16/08) Taft, Darryl K.

Monday, December 15, 2008

Velocidad de Ruby

En esta semana Antonio Cangiano publicó un blog comparando la velocidad de las diferentes versiones de Ruby.

El resultado es el siguiente:


Parece que Ruby 1.9.1 va a causar una muy buena impresión, cuando salga oficialmente.

Para la explicación, les invito a leer su blog.

Referencia:
"Reflections on the Ruby shootout", por Antonio Cangiano
"The Great Ruby shootout", por Antonio Cangiano

libro "Patrones de Diseño en Ruby"

El libro "Design Patterns in Ruby", de Russ Olsen, salió el año pasado, y se nos había olvidado mencionarlo ... pido disculpas.
 


Es un libro importante, porque nos enseña a usar patrones de diseño en Ruby, de manera que nuestros diseños sean modulares, extensibles, elegantes, y re-usables.

Este es un recurso bastante valioso para diseñadores de software.

Referencia:
"Design Patterns in Ruby", en Amazon

El Ranking de los Lenguajes de Programación

Tiobe.com acaba de publicar el ranking de los lenguajes, como se ven en este año. Según parece, Ruby ha perdido un poco de terreno.

El ranking se hace basado en el número de ingenieros, cursos, y vendedores de software mundialmente. También se usan las máquinas de búsqueda Google, MSN, Yahoo! y YouTube, para calcular el ranking.

From tiobe200812

Referencia:
Indice de lenguajes en Tiobe.com

Tuesday, November 25, 2008

Rails 2.2

Acaba de salir Rails 2.2. Qué trae de nuevo?

Esta versión contiene una lista larga de arreglos, mejoras, y adiciones, que hacen que todo en Rails sea mejor y con menos problemas.

* Internationalización, por defecto:
Lo más importante es que Rails ahora incluye un marco de internacionalización completo, que ha sido diseñado ahí desde el principio. El trabajo del grupo i18n ha sido impresionante y finalmente Rails incluye una solución sencilla y extensible.

* Mejor soporte a etag y last-modified
Tiene incluído mejor soporte a validadores de HTTP en la forma de etag y last-modified. De esa manera puede evitarse procesamiento costoso si el cliente ya tiene las últimas versiones. También hace más fácil el uso de Rails con gateway proxies.

* Thread safety y connection pool
Josh Peek añadió "thread safety" a Rails, y Nick Sieger de JRuby trabajó para darle a Active Record un "connection pool" propio. Así que ahora todos los elementos de Rails son seguros para "threads", y esto es una cosa buena para los muchachos de JRuby. Para C Ruby, todavía se depende de bibliotecas que no bloqueen antes de que pueda haber diferencia, pero están trabajando en ello.

* compatibilidad con Ruby 1.9 y JRuby
Jeremy Kemper ha estado trabajando en compatibilidad entre Ruby 1.9 y JRuby. Rails 2.2 es compatible con ambos, y otra vez, puede que hayan bibliotecas y gems que no lo sean. Así que han puesto bastante trabajo en camino tratando de que todo sea completamente compatible.

* Mejor documentacion del API y guías
Finalmente, el último empuje ha sido hacia la documentación de Rails. El proyecto de docrails de Pratik ha hecho un progreso inmenso. No solamente la documentación de los APIs ha mejorado, sino hay también una secci&oacte;n nueva de gu&ias generada a partir de la documentación, que ahora reside con la fuente. Un proyecto de la comunidad, con bastantes contribuidores. Ambos novatos y veteranos apreciarán el esfuerzo puesto en la documentación.

Para leer sobre todo esto, revisen el archivo "Rails 2.2 release notes" que es otra de las guías del proyecto docrails.


Referencia:
Rails 2.2 en RubyonRails.orgacute;

Friday, November 21, 2008

Ruby y Rails en el New York Times

En la conferencia sobre Ruby que se está llevando a cabo en Boston, acaban de anunciar que el New York Times usó Ruby y Rails para publicar resultados sobre las elecciones.

Referencia:
"Computerworld: Ruby on Rails rolls into the enterprise"

Conferencia de Ruby en Boston

En esta semana se lleva a cabo la "Professional Ruby Conference" en Boston.

Entre los participantes conocidos están: Obie Fernandez, autor de "The Rails Way", y Ezra Zygmuntowicz, fundador de Engine Yard, co-autor de "Deploying Rails Applications".

Referencia:
http://www.voicesthatmatter.com/ruby2008/
Agenda

Tuesday, November 18, 2008

Tim O'Reilly y Paradigmas Tecnológicos

En días pasados les mencionaba a Alvin Toffler y sus paradigmas históricos, con el modelo de las olas: primera ola (edad agrícola, poder por la fuerza bruta), segunda ola (edad industrial, poder por dinero), y tercera ola (edad digital y genética, poder por el conocimiento).

El término "cambio de paradigma" (o "paradigm shift", en inglés) fue creado por Thomas Kuhn en 1962 en su libro "La estructura de las revoluciones científicas", y describe "una re-estructuración de la teoría, y una re-evaluación de los hechos, un proceso evolucionario, un tiempo donde ocurre un cambio de época, donde toman lugar ideas nuevas y descubrimientos".

 Tim O'Reilly, el dueño de la publicadora de libros técnicos O'Reilly, es también considerado por muchos como un visionario, y fue quien propuso que en el campo de tecnología de la información (TI) también ha habido algunos cambios de paradigma, que de alguna manera son parecidos, y se puede establecer un paralelo con los paradigmas históricos, el modelo de las "olas", propuestos por Toffler.


La siguiente figura ilustra los paradigmas tecnológicos:


O'Reilly dice que la primera ola de TI trajo el dominio y el monopolio de los computadores grandes (mainframes), el hardware de control centralizado, y el software alquilado. IBM era rey. 


 En la segunda ola, dominada por Microsoft, ocurre un cambio de interés hacia el software. El hardware pierde su status y se convierte en una mercancía que todo el mundo puede tener (PCs).


El siguiente paradigma cambia una vez más las reglas de la industria: programadores independientes y motivados (conocidos como "hackers") producen el movimiento de software libre ("código abierto", "open source"), e Internet. Internet se convierte en la siguiente plataforma. El software se convierte en una cosa gratuita orientada por estándares que dependen de protocolos compartidos. El ambiente se centra en las comunicaciones. El nuevo valor para los negocios proviene de los servicios a los usuarios. Los procesos se vuelven transparentes. 


Estas tres olas, como sus contra-partes históricas, traen nuevas formas de pensar. La colaboración, lograda por las redes, facilita un fenómeno cultural nuevo que va mucho más allá del sector tecnológico. Surgen redes colaborativas para analizar información del espacio (SETI@home), y modelos de calentamiento global. Compañías como Google, Amazon y eBay se convierten en procesos que reflejan la dinámica de la participación de sus usuarios.

Para los interesados, les invito a leer las referencias. Incluye un reporte de una comisión de la Union Europea, analizando el impacto de esta tercera ola tecnológica.

Referencias:
Tim O'Reilly, en la wikipedia
O'Reilly, compañía editora de libros
Thomas Kuhn y "Paradigm Shift"
"Open Source Paradigm Shift", Tim O'Reilly (Junio, 2004)
"Economic impact of open source software in innovation and the competitiveness of the Information and Communication Technologies (ICT) sector in the EU", European Commission (20-Nov-2006)

Thursday, November 13, 2008

Toffler y los Paradigmas Históricos

El sociólogo y futurista Alvin Toffler, en sus libros "La Tercera Ola" (1980) y "Powershift" (1990), investigó el impacto de tecnologías sobre las sociedades.

Toffler describe tres tipos de sociedades, basadas en el concepto de "olas":





 La "primera ola", fue la era agrícola, la edad de monarquías, y familias grandes; el paradigma dominante fue el ejercicio del poder a través de la fuerza bruta. De esa manera se levantaron imperios y se edificaron ciudades fortificadas. El que tuviera, y supiera usar, el garrote más grande y pesado, era rey.


La "segunda ola", fue el cambio que se produjo con la revolución industrial, que trajo ciudades grandes, centralización, burocracias, fabricación de productos en masa, educación masiva, y armas de destrucción masiva. El dinero, y los bancos, se convierten en la fuente de poder. La segunda ola también trajo la destrucción sistemática del planeta, la contaminación ambiental, y el calentamiento global. [Durante este tiempo, las instituciones de la primera ola siguen presentes, pero su influencia se hace menor] 


 La revolución electrónica y de computación, a partir del final del siglo XX, traen la "tercera ola", y, esta vez, el conocimiento se levanta como la siguiente fuente de poder. La nación-estado (un concepto de la primera ola) se vuelve obsoleta, surgen corporaciones multinacionales, y la producción masiva de productos (segunda ola) se ve eclipsada por la generación de conocimiento, y procesamiento de información, como la actividad económica primaria. Los productos se vuelven adaptables, y su valor depende de qué tanto conocimiento incluyan en su diseño. También surgen la genética, y la nano-tecnología. La computadora se convierte en un "amplificador" del conocimiento, e Internet, en el medio de comunicación y la base de datos planetaria. [Las instituciones de la primera y segunda ola siguen presentes, pero cada día influyen menos]


Este último concepto se consolida a principios del 2000: los consumidores se vuelven también productores. Toffler inventa la palabra "prosumer" para referirse a este tipo de persona. Esto trae cambios en la economía: cuando surge el iPod, las casas disqueras colapsan; las video grabadoras, los DVDs y YouTube, ponen a las empresas de televisión en apuros. Los blogs empiezan a eclipsar a las noticias. Este tema lo desarrolla Toffler en su último libro "Revolutionary Wealth" (2006), donde enfatiza que la economía se está re-estructurando alrededor del "prosuming". Esto incluye el surgimiento del movimiento de software libre, Linux, y el esfuerzo colaborativo de los productos Web 2.0.

Muchos de los conflictos que se ven en este momento, como la guerra en Iraq, y las caídas recientes de la bolsa de valores, se pueden también explicar desde el punto de vista del conflicto entre estos paradigmas, política (primera ola) y economía (segunda ola), y la dificultad que tienen las instituciones obsoletas en adaptarse al nuevo mundo del conocimiento (tercera ola): se re-inventan o se extinguen.

Referencias:
*"The Third Wave", Alvin Toffler, (Bantam, 1984), ISBN 0553246984
* "Powershift", Alvin Toffler, (Bantam, 1991), ISBN 0553292153
* Alvin Toffler en la wikipedia
* "Revolutionary Wealth", Alvin Toffler (Currency Books, 2006), ISBN 978-0-385-52207-6
* Thomas Kuhn y los Cambios de Paradigma
"Prosumer" en la wikipedia

Desde Silicon Valley

Me encuentro este mes en Sunnyvale, el corazón de Silicon Valley, bien ocupado en viaje de negocios. Por esa razón, estimados lectores, os pido disculpas por no haber actualizado mi blog con la misma frecuencia con la que lo hacía antes.

Sin embargo, he notado que seguís visitando, y no os pienso decepcionar.

Así que se me ocurre compartiros, a partir del siguiente blog, algunas palabras sobre las ideas que han dado forma a esta tecnología del código libre. No las veréis directamente relacionadas con Ruby, a corto plazo, aunque los lectores perspicacez veréis la relación.

Y os invito a que me dejéis comentarios, para darme cuenta si estáis leyendo mis notas, y animarme a seguir.

Wednesday, November 12, 2008

Conferencia Scotland on Rails 2009

Acaban de anunciar la conferencia Scotland on Rails 2009. Tendrá lugar entre los días 26-28 de Marzo, en Edinburgo, Escocia.

Referencia:
Scotland on Rails 2009

Monday, November 3, 2008

Editor RubyMine

Acaba de hacerse disponible el editor JetBrains RubyMine para Ruby, para Windows, Mac OS, y Linux.

Corre sobre la plataforma IntelliJ, soporta compleción de código, refactoring, vistas múltiples, soporte para Rails (con HTML, CSS, Javascript), RSpec, Test::Unit, debugging, y se integra con versionadores tales como CVS, Git, Perforce, y Subversion.

Está bastante avanzado. Vale la pena echarle una mirada.

Referencias:
JetBrains RubyMine

Ruby 1.9.1-preview

La versión 1.9.1-preview de Ruby se encuentra disponible.

Es estable, moderna, rápida, multilingüe. y trae una sintaxis mejorada.

La versión final de 1.9.1 saldrá en Diciembre, así que esta es la oportunidad de ensayarlo y ver qué trae de nuevo.

Thursday, October 16, 2008

Ruby en ascenso?

Según Koders.com, el uso de Ruby ha aumentado por un factor de 20 desde 2004.

"Ruby es ahora el cuarto lenguaje más pedido en koders.com, después de Java, C/C++ y C#."

Qué significa esto?

De 154 personas entrevistadas en una encuesta, 44% dicen que ven más oportunidades de trabajo para programadores Rails, ahora que la economía Norteamericana entra en recesión, contra 15% que ven "problemas de empleo" en el futuro próximo.

Gartner Inc, la compañía de investigación en mercadeo dice que para el 2013 se espera que haya 4 millones de programadores Ruby.


Referencias:
Koders.com
"Ruby's Vocal Minority", artículo en Cnet
"Ruby's popularity on the Up: An ideal Haven for the Recession?", artículo en RubyInside

Merb, una alternativa a Rails

Merb es un marco de desarrollo de software hecho en Ruby, y es más modular que Rails; es más pequeño, y diseñado con énfasis en desempeño.

Ayer la compañía EngineYard, de San Francisco, anunció la primera tirada de este marco de desarrollo, código libre, Merb. De acuerdo a EngineYard, Merb fue diseñado para crear aplicaciones Ruby rápidas, de alto desempeño. Es similar a Rails, un marco basado en el patrón MVC, pero tiene una arquitectura modular, con un núcleo mínimo y limpio, que es sencillo, ordenado, y fácil de extender.

Yehuda Katz, programador del proyecto Merb dice lo siguiente:

"A medida que desarrollamos Merb, nos concentramos en su desempeño y modularidad. Rails incluye unas 80 mil líneas de código; el núcleo de Merb tiene solamente 6 mil líneas de código. Hay más módulos y podréis usar tantos o tan pocos como queráis. Merb envía respuestas a requisitos simples más rápidamente que Rails, y es mucho más fácil de entender y adaptar."

Uno de los puntos claves de Merb es su portabilidad, aunque todavía no han terminado de hacer la gema que lo instale en la plataforma Windows. Dice Katz que en tres semanas estará lista. "Hicimos las versiones Mac y Linux primero, pero la versión Windows está en la mira para el final de Octubre."

De acuerdo a Katz, Merb debe despertar interés en grupos de desarrollo pequeños; para aquellos programadores que no fueron capaces de pasar del 80% de Rails, y para aquellos que queráis adaptar el marco. También debe ser interesante para aquellas aplicaciones web que requieran un breve tiempo de respuesta.

Referencias:
Merb, página oficial
EngineYard, los autores de Merb

Saturday, October 11, 2008

Tim O'Reilly: la Red y el Mundo

El magnate de la publicación, Tim O'Reilly quiere decirle a los jóvenes ingenieros de sistemas que dejen de hacer software para "tirarle ovejitas a los amigos en Facebook", o para "beber cerveza en el iPhone". En vez, que se vuelvan serios y traten de hacer diferencia en el mundo.

En las palabras del clásico de los negocios, "Hecho para Durar: hábitos de las compañías visionarias", de James Collins y Jerry Porras, dice O'Reilly que se deben enfocar en las metas difíciles: grandes, miedosas, audaces.

Este es uno de los temas en la conferencia "Web 2.0: Web Meets World" de este año, que tuvo lugar en San Francisco en la primavera, y en Nueva York, el mes pasado. [Les invito a seguir los enlaces y escuchar los videos.]

Dice O'Reilly que no solamente es la cosa correcta para hacer, sino que ahora que la crisis de crédito se extiende a Silicon Valley, la financiación se hace escasa, y las compañías nuevas empiezan a dejar ir a sus empleados. En Silicon Valley parece que se ha perdido un poco la pasión y del idealismo que promovian la innovación de antaño, y en cambio, se han dedicado a buscar dinero con ideas estúpidas.

Llenos de dinero y oportunidad, después del resurgimiento post-dot-com, dice, algunos empresarios se han refugiado en una "burbuja de realidad" y se han aislado de los problemas que acosan a la humanidad, tales como pobreza, enfermedad, calentamiento global, etc. Dice O'Reilly que deberían seguir el modelo de algunas de las compañías más exitosas en el mundo de la tecnología, incluyendo a Google y a Microsoft, las cuales surgieron del esfuerzo de sus fundadores de "hacer cosas que valieran la pena".

Cuando O'Reilly habla, el mundo escucha.

Referencias:
"Built to Last: Successful Habits of Visionary Companies", de James Collins y Jerry Porras
Video del discurso de Tim O'Reilly en San Francisco
Video del discurso de Tim O'Reilly en Nueva York, el mes pasado
Mensaje de O'Reilly a los ingenieros de software, blog en LATimes

Tuesday, October 7, 2008

Lista de Tutoriales sobre Rails

Acaban de publicar una lista de páginas de Internet que enseñan a usar Rails.


http://www.digitalmediaminute.com/article/1816/top-ruby-on-rails-tutorials

Tutorial: AJAX en Rails

Acaban de publicar un artículo sobre el uso de AJAX en Rails, usando Prototype. Incluye un artículo breve con código de ejemplo.


Referencia:
AJAX in Ruby on Rails, en SYS-Con.

Lista de Recursos sobre Rails

Les invito a explorar esta lista, que acaban de publicar, con recursos adicionales sobre Ruby on Rails:

http://www.idolhands.com/ruby-on-rails-resources/

Ojalá les resulte útil.

Monday, September 29, 2008

Libro Nuevo "Rails Up and Running" (2nd Ed)

Acaban de anunciar la segunda edición del libro "Rails: Up and Running", de Bruce A Tate, de la editorial O'Reilly.
ISBN-13: 978-0-596-52200-1

Cubre Rails 2.1, y todos esos otros temas a los que ya estamos acostumbrados: scaffolding, Active Record, Views, Ajax, Testing.

Referencia:
"Rails: Up and Running", de Bruce A Tate, O'Reilly, 2008."

Friday, September 26, 2008

Libro Ruby Gratuito

Acaba de hacerse disponible el libro "The Ruby Way", de Hal Fulton, para descargarlo gratuitamente, en formato *.chm (Microsoft help) . 


Referencia:
"The Ruby Way", de Hal Fulton en formato chm, en rapidshare

Metaprogramación en el Ruby C API

Acaban de publicar un artículo interesante sobre metaprogramación en el Ruby C API.

Referencia:
"Metaprogramming in the Ruby C API".

Thursday, September 25, 2008

Inteligencia Artificial en Ruby

Ola Bini de ThoughtWorks, en Suecia, anunció recientemente la intención de traducir el libro "Paradigms of Artificial Intelligence Programming" de Peter Norvig, de Lisp a Ruby.

El código se encontrará disponible en github.

Referencia:
Ola Bini, sitio oficial

Conferencia Lone Star Ruby 2008

Conferencia Lone Star Ruby 2008 tuvo lugar entre los día 4-6 de Septiembre, en Austin, Texas.

Partes de la conferencia se encuentran en video en línea.

Referencia:
Conferencia Lone Star Ruby 2008, sitio oficial

Rails en Genética

Me acabo de encontrar esta presentación que parece implicar que ya hay un proyecto en la red usando Rails para desplegar resultados de análisis genéticos.



El sitio se llama ensembl.org y reúne datos y herramientas para genetistas, que les permite reportar y analizar diferentes proyectos relacionados con el genoma humano, además del de otras especies. Parece indicar que empezaron a construir muchos de los módulos en Perl, pero ahora están usando Ruby/Rails.

Todavía no he encontrado un texto que explique esto, pero las imágenes de la presentación y el portal hablan por si solos.

Referencia:
Genomes on Rails
ensembl.org

Tuesday, September 23, 2008

Neal Ford habla sobre Programación Políglota

Neal Ford, de ThoughtWorks, nos habla en una entrevista sobre la influencia creciente del lenguaje Ruby. En esta entrevista, nos dice lo siguiente:

* Que ya Java lleva 12 años de historia, y empieza a parecer un lenguaje viejo;
* la compatibilidad con lenguajes anteriores, C/C++, pasa a ser una desventaja;
* Afortunadamente Java es dos cosas: lenguaje y plataforma;
* usando la plataforma Java, se puede ahora escribir en otros lenguajes, tales como Groovy, un dialecto de Java más moderno;
* también vale la pena mirar a a JRuby, que es un lenguaje super-moderno (Ruby), pero esta versión compila a bytecodes de Java;
* Ruby es un lenguaje mucho más expresivo que Java o Groovy; de hecho, quizás se puede decir que Ruby es el lenguaje más poderoso en este momento;
* JRuby es Ruby corriendo sobre la plataforma Java.
* en la escala de Paul Graham, Java obtiene 4/9 puntos; Ruby obtiene 8/9.
* Rails es una plataforma para desarrollo web, y mucho de su potencial lo deriva de Ruby, que es un lenguaje bastante poderoso.
* Mingle, hecho en Ruby/Rails, pero también en JRuby; explota la productividad de Ruby/Rails, y la conveniencia de la plataforma Java;
* este modelo se verá más y más, "programación políglota": el uso simultáneo de varios lenguajes y plataformas, porque no hay un lenguaje ideal para hacerlo todo.
* Hoy en día los programadores usan varios lenguajes simultáneamente: Java, SQL, Javascript, XML, HTML, etc
* Seguirá siendo común el uso de lenguajes especializados para solucionar problemas específicos.
* Debido a la limitación en el hardware de la "Ley de Moore", nos acercamos al límite físico del número de transistores por unidad de espacio, así que, de ahora en adelante, veremos múltiples "núcleos" de procesadores, y por lo tanto, habrá necesidad de explorar la programación paralela.
* Con "programación políglota" las partes concurrentes se pueden escribir en Scala, o Jaskell (un dialecto Java de Haskell), que pueden manejar la concurrencia intrínsicamente, aliviando al programador de los dolores de cabeza; escribir la otra parte (GUI) en Ruby/Rails, y el resto en la misma JVM.
* Con Groovy y JRuby se pueden hacer meta-programas. Este hecho hace que Ruby sea muy apetecido y se le encuentre muy superior a Java. La meta-programación permite la posibilidad de extender las clases básicas de Java. Poder extender java.lang.String es una cosa necesaria en cualquier proyecto que se haga.
* Los lenguajes y ambientes restringidos (Java, C#) afectan la productividad de los mejores programadores.
* Ruby/Rails es un buen ambiente para programar, pues Ruby tiene esa flexibilidad en el lenguaje.
* En Java han tratado de hacer lo mismo con AspectJ, pero es demasiado complejo.
* Rails es un lenguaje específico para desarrollar aplicaciones web, hecho en Ruby, crea una abstracción que simplifica el trabajo; usa el poder de Ruby, y lo simplifica para programadores.
* "Something Nimble", un sitio explicando cosas que se pueden hacer en Ruby;
* debido a la complejidad de aprender varios lenguajes, habrá gente que se especialice en Scala, etc.
* los tres mejores libros (según Neal Ford) son:
- "The Pragmatic Programmer", Hunt & Thomas
- "Refactoring", Fowler, et.al.
- "Smalltalk Best Practice Patterns", Kent Beck

Referencias:
Entrevista en InfoQ (24-Aug-2008)
sitio oficial de Paul Graham
Programación Políglota
Haskell, sitio oficial
Groovy, sitio oficial
JRuby, sitio oficial
AspectJ, sitio oficial
Ruby on Rails, sitio oficial
Something Nimble, sitio oficial

Friday, September 19, 2008

Web 2.0 Expo

Se está llevando a cabo la conferencia "Web 2.0 Expo" en Nueva York esta semana.

Algunas de las presentaciones ya se encuentran disponibles en línea.

Esta conferencia es importante porque, como muchas otras, nos muestra el estado del software en el mundo, y también da una idea de las tendencias futuras.

Una de las tendencias, según Tim O'Reilly, es el posicionamiento de compañías tales como Amazon, eBay y Google, como plataformas para servicios.

Nos dice el Sr. O'Reilly que las compañías inteligentes deben seguir y fomentar la ingenuidad de sus "alpha geeks", en vez de suprimirla, pues ellos nos dicen hacia dónde quiere la tecnología ir.


Referencias:
"Web 2.0 Expo", sitio oficial
Presentaciones Web 2.0 Expo, NY, Septiembre 2008
"The O'Reilly Radar", Tim O'Reilly, Abril 2008

IBM y Software Social

IBM acaba de anunciar en la conferencia "Web 2.0 Expo", que va a crear un centro de desarrollo sobre software social, en Cambridge, Massachussets (cerca de las universidades Harvard y MIT).

IBM es una compañía de primera ola (hardware) que ha estado tratando de re-inventarse desde que llegaron las dos siguientes olas tecnológicas (2da ola: software, y 3ra ola: internet y código libre). Con esta última movida IBM trata de mantener su re-orientación para mantenerse relevante.

Referencia:
"IBM putting social networking under microscope", noticia en cnet-news

Tuesday, September 16, 2008

Proyecto Kenai de Sun

Sun Microsystems, una de las compañías inmensas de segunda ola, "el imperio malévolo", como dicen los de tercera ola, acaba de lanzar un proyecto de código libre llamado Kenai, basado en Rails, con la intención de atraer aplicaciones para hacer el hosting con ellos.

Dicen que usan los sistemas de control Subversion y Mercurial, además de proveer tracking, foros, y otras cosas.

Parece que la intención no es combatir contra otros sitios de hosting, sino demostrarle al mundo que Sun también puede hacer código libre, y que están preparados para el futuro de la red (un futuro no solamente basado en Java EE, sino también en LAMP/SAMP).

Para más detalles ver la presentación de Fernando Castaño en RailsConf Europe 2008, hace dos semanas.

Referencias:
"Sun Aims at Google with Open-source Project Hosting Site" artículo aparecido en PCworld
Proyecto Kenai, sitio oficial
Proyecto Kenai en el blog de Tim Bray
"Achieving high throughput and scalability with JRuby on Rails" de Fernando Castaño, en RailsConf Europe 2008.

Nueva Documentación sobre Rails

Parece que ha salido documentación sobre Rails nueva, de muy buena calidad:

http://guides.rails.info/

Se la recomendamos a todos.

Tuesday, September 9, 2008

TechCrunch50 2008

Se lleva a cabo esta semana la conferencia TechCrunch50 2008 en San Francisco.

Es un evento importante, pues incluye presentaciones de las compañías de tecnología nuevas ("startups" de Silicon Valley), exponiendo sus nuevos modelos comerciales, e ideas creativas.

Muchas de las presentaciones estarán en línea, así que estaremos pendientes.

Una de las compañías que se presentaron ayer, por ejemplo, se llama "Yammer" y ofrece un servicio parecido a Twitter para compañías, con posibilidad de comunicarse con Blackberry, iPhone, email, y SMS. Y la buena noticia es que ellos también están usando Ruby/Rails, así que les celebramos su logro.

Referencia:
TechCrunch50 2008
Sesiones en línea de TechCrunch50 2008
Yammer

Monday, September 8, 2008

Código Libre: Lo que podemos aprender de los franceses

Hace como una década, los países europeos asumieron un fuerte liderazgo en el movimiento de código libre, particularmente Francia, dejando a los programadores de EEUU atrás.

Francia ha usado proyectos de alto calibre y políticas que dan soporte al código abierto (libre) a todos los niveles de tecnología en el gobierno y en educación. Ahora Francia da soporte continuado a código libre a través de una comisión económica, establecida por el presidente francés Nicolás Sarkozy, que recomienda usar beneficios arancelarios para estimular aún más el desarrollo de código libre.

El éxito de código libre en Francia debería servir como ejemplo a los programadores e ingenieros de EEUU, para mostrar que todos pueden prosperar cuando trabajan bajo una sola visión tecnológica compartida.

En Francia, todos los estudiantes de computación aprenden código libre, mientras que en los EEUU la mayoría de las universidades usan herramientas tradicionales. Consecuentemente, en Francia abunda el talento de código libre, y el desarrollo es más rapido, al mismo tiempo que se mantienen productos de software de alta calidad.

El beneficio más importante de código libre puede ser la habilidad de unir varios proyectos para crear una plataforma única y unificada. Miguel Valdez, co-fundador del proyecto Bonita, el cual desarrolló un sistema libre de workflow, cree que los ingenieros de código libre franceses tienen un mejor entendimiento que el que tienen en EEUU sobre cómo reusar código, y sobre cómo integrarlo con otros sistemas.


Referencia:
"Código Libre: Lo que ud puede aprender de los franceses", artículo en InfoWorld

Thursday, September 4, 2008

Presentaciones RailsConf 2008 Europe

Rails Conf 2008 Europe esta tomando lugar en esta semana en Berlín, y ya se encuentran disponibles, en línea, algunas de las presentaciones.


Referencia:
Presentaciones en linea

¿Qué servidores usar para Rails?

Una de las sesiones que están dándose en este momento en Rails Conf Europe 2008 en Berlín se llama "Deploying and Monitoring Ruby on Rails". La presentación ya se encuentra en línea, y dice lo siguiente (resumido):

Los servidores a usar son:
* sitio liviano: Apache 2.2 + mod_rails
* sitio moderado:
   - Apache 2.2 + mod_proxy_balancer, al frente (como frontend proxy)
   - Mongrel o Apache/mod_rails, atrás (backend)
   - archivos estáticos con Apache
* sitio pesado:
   - usar un balanceador de carga redundante
   - parte dinámica con Apache/mod_proxy_balancer + Apache/mod_rails,
   - parte estática con nginx/lighttpd


Referencias:
"Deploying and Monitoring Ruby on Rails"
mod_rails = Phusion Passenger.
Apache
Mongrel
nginx
lighttpd

Wednesday, August 27, 2008

Prawn: generador de PDFs

Prawn, (traducido como "camarón") es una biblioteca Ruby para producir documentos en formato PDF. 


Prawn se puede instalar de la forma tradicional:
gem install prawn


Una vez instalado, es facílisimo de invocar:

require 'prawn'

Prawn::Document.generate("utf8.pdf") do
font "#{Prawn::BASEDIR}/data/fonts/DejaVuSans.ttf"
text "áéíóúñü" * 20
end


Prawn ya soporta 11 fonts, incluyendo Helvetica, Courier, DejaVuSans, Times, y Comic Sans. También soporta la inserción de imágenes, tablas, el posicionamiento del contenido.

En este momento se requiere la ayuda de la comunidad para que lo usen y lo mejoren.

Referencia:
Prawn, página oficial

Tuesday, August 26, 2008

BOSSMan para Hacer Búsquedas en Yahoo

Recientemente Yahoo! lanzó a BOSS ("Build Your Own Search Service") un servicio para hacer búsquedas programáticamente, parecido al antiguo Yahoo! Search API. Yahoo ha removido el límite de 5,000 consultas por día, y provee datos sin formato, de manera que vosotros mismos podéis re-organizarlos a vuestro gusto, y no hay necesidad de dar crédito a la fuente de la información.



Para Rubistas, Jay Pignata ha desarrollado BOSSMan, una biblioteca Ruby que permite interactuar con el servicio web Yahoo! BOSS. Es facilísimo iniciarse con esto; instalarlo con RubyGems de la siguiente forma:


gem sources -a http://gems.github.com
gem install jpignata-bossman



Después, tenéis que registraros con Yahoo para que os den un "application ID". Esto no se puede evitar, y una vez que ya lo tengáis, a jugar con BOSSMan !:


require 'rubygems'
require 'bossman'
include BOSSMan

BOSSMan.application_id = "reemplazar vuestro Application ID aquí"

news = BOSSMan::Search.news("Asimov", 0, 3)
news.results.each do |result|
puts "#{result.title} [from #{result.source}]"
end



BOSSMan puede hacer búsquedas de páginas Web, noticias, e imágenes. El resultado lo podéis vertir a formatos JSON, XML, o YAML y accesar todos los atributos correspondientes. Excelente!

Referencias:
BOSSMan en github.com
BOSS en Yahoo

Libro Nuevo: "Practical Rails Plugins"

"Practical Rails Plugins", por David Berube, y Nick Plante (APress, 2008).

Muestra cómo usar una variedad de plugins para Rails, con ejemplos. Allí encontraréis cómo crear aplicaciones rápidamente que involucren video asíncrono, códigos geográficos, mapas, gestión de contenido, votos de la comunidad, y generación de documentos PDF. 


También muestra cómo:
* instalar y administrar los plugins;
* administrar el proceso de desarrollo con plugins para testing, incremento de un modelo, y validación de datos;
* usar plugins para expandir la capacidad de una aplicación, con atributos tales como OpenID, autenticación, manejo de ficheros, gráficos, y búsqueda de texto;
* crear y distribuir vuestros propios plugins para el uso de otros miembros de la comunidad.

Referencias:
"Practical Rails Plugins", página del libro.
"Practical Rails Plugins", en Amazon.

Thursday, August 21, 2008

Entrevista reciente a David Heinemeier Hansson

David Heinemeier nos cuenta por qué le gusta vivir en Chicago.

Ver el video [duración: media hora]:


Dice que Chicago es un buen lugar para vivir y trabajar, porque se puede tener un mejor balance entre trabajo y vida personal. No tiene una cultura "inflada" como la de California, sino mucho más "realista".

Dice que el secreto del éxito está en ser realistas con un producto que el público desee y con un precio justo. Las compañías de California, en cambio, piensan solamente en crecer (demasiado, y rápidamente), y esto puede ser contra-producente porque crea un concepto falso del producto y de la realidad.

Dice que Rails ha sido aceptado bien por la industria. Ya no se trata solamente de una curiosidad. Rails ya lleva 5 años de vida.

La cultura de Rails empezó como algo "bohemio, iconoclasta", "la causa rebelde", "el rechazo del dogma". Muchas de las ideas originales de Rails han sido aceptadas y se encuentran establecidas como sabiduría práctica.

Sun, "el imperio maligno", tiene también gente interesante pragmática, usando tanto JRuby como Java.

Ruby y Rails no pudieron haber sido concebidos, diseñados, por gente que trabajara en diseño solamente. Tuvieron que ser diseñados por gente con orientaciõn pragmática; con problemas reales a resolver.

David dice que no le gusta el título de "ingeniero", sino que prefiere la palabra "artesano".

Dice que Java, y C#, son conceptos del pasado, que encapsulan el modelo "cascada" ("waterfall"), otro paradigma y estilo, no compatible con las ideas, y la cultura, de "software ágil". La diferencia es que muchas de las ideas de "software ágil" ya se encuentran encapsuladas en Rails.

Sobre ideas y tecnologías futuras, menciona que el papel de la base de datos, como un gran "hash", es un concepto interesante. (CouchDB, BigTable)

Generación de "hash-keys", "concurrencia", "cash-expiration", son otros temas que también le interesan en este momento.

Dice que "Basecamp" sigue creciendo y para escalarlo han puesto bastantes servidores y montones de mongrels.

[la entrevista se vio interrumpida por la lluvia y por un oficial del estado que solicitó un permiso oficial para poder filmar]

Friday, August 15, 2008

Rails Conf Europe 2008



Se acerca la fecha para "Rails Conf Europe 2008", organizada por O'Reilly, que tendrá lugar entre el 2 y el 4 de Septiembre, 2008, en Berlín, Alemania. Contará con la participación de David Heinemeier Hansson, de 37signals, y con otros personajes representando varias compañías: Sun Microsystems, Engine Yard, Thoughtworks, RubyCentral, entre otras.

Incluye una gran diversidad de temas interesantes.

Referencias:
Rails Conf Europe 2008
Programa

Wednesday, August 13, 2008

Rails Summit Latin America

Ha sido anunciado el sitio para registrarse para el evento "Rails Summit Latin America" que tendrá lugar entre los días 15 y 16 de Octubre, en São Paulo, Brazil.




Referencia:
Rails Summit Latinoamerica

Tuesday, August 12, 2008

Rails - Videos Educativos en YouTube

Me encontré estos videos educativos sobre Rails que fueron adicionados recientemente en YouTube:

Parte 1
Parte 2
Parte 3
Parte 4
Parte 5
Parte 6

Cada uno de los videos dura una hora, o más.
Se originaron en la universidad de Berkeley, en California.

Ruby 1.8.7-p72 y 1.8.6-p287

Acaban de salir las versiones de Ruby siguientes:
* Ruby 1.8.7-p72, y,
* Ruby 1.8.6-p287


Referencias:
www.ruby-lang.org
Qué hay de nuevo en Ruby 1.8.6.287
Qué hay de nuevo en Ruby 1.8.7.72

Monday, August 4, 2008

Libro nuevo: "Pensamiento y Aprendizaje Pragmático"

Creo que a todos nos beneficiará este libro:

 "Pragmatic Thinking and Learning", Andy Hunt (O'Reilly, 2008)


Andy Hunt es el autor del famoso libro "The Pragmatic Programmer", donde nos da bastantes buenas ideas sobre cómo volvernos buenos programadores y diseñadores de software. Además es co-autor del famoso libro "Programming Ruby" con Dave Thomas. Así que este último libro, que es para aprender a pensar y a aprender, nos va a caer bastante bien.

Referencias:
"Pragmatic Thinking and Learning" en O'Reilly
"Pragmatic Thinking and Learning" en Amazon

Libro Nuevo: "Rails para la Empresa"

Acaban de anunciar tambien este otro libro sobre "Rails para la Empresa", de O'Reilly, en Amazon:

"Enterprise Rails" ("Rails para la Empresa"), en inglés, de Dan Chak
ISBN-10: 0596515200
ISBN-13: 978-0596515201

Referencia:
"Enterprise Rails" en Amazon

Libro Nuevo: "Rails Pocket Reference"

Acaban de anunciar el siguiente libro de referencia en la editorial O'Reilly:

"Rails Reference Guide", por Eric Berry (USD 9.99)
Primera Edición, Septiembre 2008
Número de Páginas: 192
Serie: Referencia de Bolsillo
ISBN 10: 0-596-52070-0
ISBN 13: 9780596520700
 


Dicen que cubre Rails 2.1.

Referencia:
"Rails Pocket Reference" en O'Reilly
"Rails Pocket Reference" en Amazon

Lista de Proyectos de Código Libre que Utilizan Rails

El sitio www.opensourcerails.com lista proyectos de código abierto/libre que utilizan Rails.

Referencia:
OpenSourceRails

Ruby y Arduino

Hay una interesante iniciativa que trata de programar el dispositivo Arduino, un proyecto de hardware abierto, con Ruby. Está basado en RAD ("Ruby Arduino Development"), un marco que traduce instrucciones Ruby a C, para luego ser compilado y controlar el micro-controlador Arduino.

Arduino es una plataforma electrónica de código libre, para hacer prototipos flexibles basados en hardware y software. Fue creada intencionalmente para artistas, diseñadores, y aficionados, en fin, para cualquiera que esté interesado en crear objetos o ambientes interactivos.

Les invito a ver el video, que parece interesante.

Referencia:
Arduino
RAD (Ruby Arduino Development)
Video demostración de Ruby con Arduino

Tuesday, July 29, 2008

Ruby en este momento

Aquí hay un video de Chad Fowler explicando lo último que está pasando con Ruby en este momento.

http://blog.jaoo.dk/2008/07/28/what-is-the-next-killer-app-for-ruby/

En resumen: Adhearsion es la siguiente plataforma (API) para desarrollar aplicaciones de telefonía (VOIP) con Ruby. Está basada en Asterisk.

Referencias:
Adhearsion (para VOIP)
Asterisk (código libre PBX)

Ruby 1.9 Abandona 9 Plataformas

Yuki Sonoda ha anunciado la disponibilidad de Ruby 1.9.0-3, una versión intermedia y todavía experimental de Ruby 1.9 (hay que esperarse hasta Diciembre para la versión 1.9.1 que será la apropiada para usar en producción).

Adicionalmente, Ruby 1.9 va a dejar de dar soporte a las siguientes plataformas porque no tienen quien las mantenga activamente:

* BeOS
* WinCE
* OS/2
* Interix
* bcc32
* Classic MacOS
* djgpp
* VMS
* human68k

A menos que alguien tome la iniciativa y se ofrezca a mantener estas plataformas, antes del 25 de Septiembre, estas serán abandonadas por Ruby.

Finalmente, este es el plan para las siguientes versiones:
* Ruby 1.9.0-4 saldrá el 25 de Agosto;
* 1.9.0-5, el 25 de Septiembre;
* 1.9.1 RC1, el 25 de Octubre; (esta versión es importante y debemos examinarla todos, así que pongámosla en nuestros calendarios);
* 1.9.1 RC2, el 25 de Noviembre, y,
* 1.9.1 el 20 de Diciembre, 2008.

Referencia:
Anuncio de Ruby 1.0.0-3
Plan y Calendario para Ruby

Monday, July 28, 2008

RailsConf Europa 2008

Tendrá lugar entre los días 2 y 4 de Septiembre, 2008 en Berlín.
Habrá presentaciones, notas clave, y enseñanza por expertos cubriendo todo el espectro de técnicas y prácticas sobre Rails.

Referencia:
RailsConf Europa 2008

OSCON 2008 videos

Acaba de terminar, la semana pasada, la conferencia sobre código libre "OSCON 2008"("Open Source Conference") organizada por O'Reilly, la publicadora de libros técnicos.

La siguiente es una página con algunos de los videos a entrevistas interesantes que se llevaron a cabo durante ese evento:

O'Reilly Open Source Convention

Microsoft se esfuerza en Ruby

Microsoft anunció planes para involucrarse más en Ruby y participar en el proyecto RubySpec que intenta producir una biblioteca de tests para definir si una implementación del lenguaje se conforma al standard o no.

John Lam, el jefe de desarrollo de runtimes para lenguajes dinámicos expresó que la compañía está escuchando a los clientes y van a hacer posible que Ruby se beneficie de .Net. por medio de IronRuby.

Esto fue anunciado la semana pasada en el evento OSCON de O'Reilly.

Referencia:
Microsoft bolsters Ruby efforts
El Proyecto RubySpec
IronRuby
O'Reilly's OSCON 2008

Thursday, July 24, 2008

Ruby en Oscon 2008

En esta semana se lleva a cabo OSCON, la conferencia sobre código libre, "Open Source Convention", organizada por O'Reilly, en Portland, Oregon (EEUU).

Tienen bastantes sesiones sobre Ruby. Ver el programa completo del evento aquí.


Referencias:
O'Reilly OSCON 2008

Monday, July 21, 2008

Rails Wiki

Parece que el wiki sobre Rails ha recibido un poco de atención, y ha sido actualizado recientemente.

Referencia:
wiki.rubyonrails.org/rails

Libro Nuevo: "Rails para programadores PHP"

Rails for PHP Developers, (Pragmatic Bookshelf, Feb-2008) por Derek DeVries, y Mike Naberenzy. ISBN: 978-1-9343560-4-3

Referencia:
Rails for PHP Developers

Thursday, July 17, 2008

Microsoft vs Open Source

Un artículo reciente (en la revista Time) sobre don Bill Gates, dice que una de las razones por las que se retiró recientemente fue que se dio cuenta de que ya perdió la batalla contra Internet y el movimiento de software libre.

Ahora los genios de Microsoft (porque todavía quedan algunas personas brillantes trabajando allí) quieren desesperadamente conseguir "market share" y por eso siguen intentando adquirir a Yahoo. Será que este gigante podrá re-inventarse como lo hizo IBM y aprender a jugar el juego de la nueva era?

Referencia:
Time: "Bill Gates, PC genius, Internet fool"
Will Bill Gates’ departure usher in open source friendly era at Microsoft?

Ubuntu con Wubi

Aquellos que tengáis ganas de instalar Ubuntu Linux, pero tenéis miedo de que de pronto la instalación tenga demasiados pasos, o que estos puedan ser irreversibles y de pronto puedan hacer algún daño ... bueno, pues hay un programa maravilloso que se llama "Wubi", y es un instalador de Ubuntu. Corre desde Windows (he aquí algunas imágenes), es extremadamente sencillo de usar. Haced reboot al final, y ya estáis usando Ubuntu. En caso de que queráis luego arrepentiros, pues se desinstala Ubuntu, y Windows no se da cuenta de nada.

Tener en cuenta que Wubi funciona mejor en 32 bits. Le dais el parámetro --32bit.
[En 64 bits no funciona flash.]

Yo dejé de usar Windows hace como 3 años, y nunca he vuelto atrás.

Referencia:
Instalador Wubi
Ubuntu Linux

Tuesday, July 15, 2008

Amazon invierte en EngineYard para Ruby/Rails en la Nube

EngineYard, la compañía que ofrece una plataforma para Ruby y Rails en "la nube", ha recibido financiamiento que incluye ayuda de Amazon, una de las compañías "pesadas" de Internet.

Hoy anunció la compañía basada en San Francisco, que tiene $15 millones de dólares de inversión adicional a los $3.5 millones que tenía en Enero. Ha recibido ayuda de New Enterprise Associates, Inc. (NEA), Amazon, y del inversor Benchmark Capital.

Se espera que esa inversión ayude a continuar su innovación en los productos de codigo abierto, Rubinius y Merb.

Rubinius, es un proyecto para desarrollar la siguiente generación de una máquina virtual para el lenguaje Ruby, que lo hará más accesible para desarrollo y extensión. Merb es un marco de desarrollo, agnóstico con respecto a ORM (Object-Relational Mapping), a biblioteca JavaScript y plantillas para el lenguaje.

Engine Yard, fundada en 2006, ofrece una plataforma Rails con servicios completamente administrados. Combina recursos de cluster de alto nivel para correr applicaciones Ruby y Rails en "la nube".

Amazon también ha estado ofreciendo servicios basados en "la nube", por más de dos años, y su participación encaja bien con el posicionamiento de Engine Yard al frente de los dos mercados emergentes: Ruby/Rails y computación en la nube.

Esta noticia muestra que Ruby/Rails cada día recibe más atención e importancia.

Referencias:
Amazon helps boost Engine Yard’s cloud computing efforts with capital infusion
Amazon, NEA Invest in Rails Hosting Startup Engine Yard

Friday, July 11, 2008

Rails Brazil Summit 2008

Acaban de anunciar la conferencia Rails Brazil Summit 2008 que va a tomar lugar en São Paulo, Brazil, en los días 15 y 16 de Octubre, en el auditorio Elis Regina.

Contará con la participación de personas famosas en el área de Rails, los autores de varios libros: David Hansson (desde Europa en video online), Chad Fowler, Charles Nutter, Thomas Enebo, Ninh Bui, Hongli Lai, David Chelimsky, Chris Wanstrath, Dr. Nic Williams, Obie Fernandez, Jay Fields.

Habrá traducción simultánea de inglés y portugués al español durante el evento.

La página para registrarse será publicada a principios de Agosto. Hay que estar pendientes.

Mientras tanto, hay un questionario para determinar quiénes estarían visitando de los países latinoamericanos. Si ud está interesado(a) favor registrarse aquí.

Así que si tienen la oportunidad, no se lo pierdan !!! El mayor evento en el Hemisferio Sur, sin lugar a dudas.

Referencia:
AkitaOnRails
Rails Summit Latino-América
Encuesta para Latino-América

Monday, July 7, 2008

Insoshi

Insoshi, el software para una red social escrito en Rails, por el autor del libro Railspace.

Referencias:
Insoshi
Railspace.

Sunday, July 6, 2008

Ruby Kaigi 2008: Entrevista a Matz Matsumoto

Ruby Kaigi 2008, tuvo lugar en Tsukuba, Japón, entre el 20 y el 22 de Junio. Allí se reunió el comité ejecutivo de Ruby. Este artículo es una traducción del artículo aparecido en InfoQ Japón.

Este año, el tema de la conferencia fue "diversidad". Hoy vemos la emergencia de, no solo el interpretador Matz Ruby, sino otro número de proyectos, tales como JRuby y IronRuby, que son casi completamente compatibles con Matz Ruby. También vemos la adopción de Ruby por usuarios en las empresas, razón por la cual la conferencia ha añadido otro día a su agenda, el "Viernes de Negocios".

El primer día de la conferencia se llevó a cabo una discusión entre el creador de Ruby, Yukihiro "Matz" Matsumoto, y Eihiro Saishu sobre "cómo podemos usar a Ruby con los sistemas empresariales". Eihiro Saishu es el CEO de EC-One, una compañía de software que construye sistemas usando Java y Ruby. También es el fundador de Ruby Business Commons, una comunidad que promueve el uso de Ruby en los sistemas empresariales.

El primer tema de discusión fue sobre las razones por las cuales Ruby ha sido adoptado lentamente en el espacio empresarial. Algunas compañías grandes reúsan permitir a los programadores usar Ruby porque se lo percibe como una novedad con futuro incierto.

Eihiro Saishu dice: "A la fecha, se han construído sistemas con Java, pero una vez que he usado Ruby, he notado un cambio significativo en la motivación de los ingenieros y he esto ha resultado en un aumento de la productividad. El valor de venta de nuestros sistemas escritos en Ruby se estima cerca de los 4 millones de yenes [casi 37,500 dólares americanos]."

Matz comenta que "usuarios de áreas urbanas, tales como Tokyo, son más tercos en cuanto a los lenguajes que usan, mientras que usuarios de ciudades locales, tales como mi pueblo Shimane, usualmente no tienen preferencias fuertes sobre un lenguaje, siempre y cuando este satisfaga sus necesidades; a no ser que tenga un requisito especial, he estado usando Ruby por 10 años ya."

Matz y Eihiro Saishu concluyen que problemas de eficiencia usando Ruby usualmente tienen otras causas, tales como conecciones lentas a la base de datos, o Javascript, pero no son problemas con Ruby, per se. Matz añade que "es una lástima que la gente se deshace de Ruby diciendo que es un lenguaje lento, sin querer examinarlo con más cuidado". Sin embargo, él también admite que "no podemos negar el hecho de que Ruby sea más lento que otros lenguajes, tales como Java".

Seguidamente discutieron el papel del ingeniero Ruby, empezando por el reciente lanzamiento de la certificación "Asociación Ruby de Programadores Ruby Certificados". El primer examen es nivel Plata, ya disponible y le seguirán otros niveles más altos como Oro y Platino, en el futuro.

Matz dice que "de hecho, no necesitamos exámenes", pero continúa " es razonable tener exámenes para medir nuestra habilidad objetivamente". Eihiro Saishu añade: "Si el número de ingenieros que usan Ruby aumenta, el número de programadores que usen Ruby también aumentará. Esto significa que el valor relativo del programador Ruby decrecerá." Matz menciona que compañías en los EEUU están haciendo grandes cantidades de dinero con el incremento en la productividad que Ruby les da, y ya es hora de que las compañías japonesas empiecen a tomar ventaja de este hecho.

Matz cree que Ruby se encuentra en la posición donde estaba Java hace 10 años, donde la gente estaba bastante entusiasmada sobre este lenguaje. "Pero parece que este entusiasmo se está disipando. Estoy aspirando a mejorar a Ruby y a aumentar sus puntos a favor, al mismo tiempo que trataré de evitar los puntos negativos que ya han afectado a Java, de esta manera garantizando que Ruby seguirá siendo algo que entusiasme las mentes de los curiosos".

El primer día de la conferencia también tuvieron lugar las sesiones con patrocinadores, así como la sesión de la comunidad con Chad Fowler y Rich Kilmer.

La segunda parte de Ruby Kaigi 2008 tiene por objeto los planes para la estandarización de Ruby, el plan para la versión 1.9 y mención de algunas de las funciones planeadas para el versiones futuras.

Referencia:
Artículo en InfoQ (en inglés)
Artículo en InfoQ (en japonés, 日本語)

Noticias de Ruby Kaigi 2008: Estandarización

Estandarización

Yukihiro "Matz" Matsumoto expresó su intención de estandarizar a Ruby. El esfuerzo de estandarización será dirigido hacia la intención de mejorar la compatibilidad entre las diferentes implementaciones de Ruby, tales como JRuby y IronRuby, y facilitar el paso de Ruby hacia el gobierno japonés, que en el 2007 anunció guías sobre el uso de estándares abiertos (open standards) en lugar de productos específicos. Matz planea entregar el estándar a la organización ISO (International Organization for Standardization); sin embargo, no se ha definido una fecha concreta de cuándo esto sucederá, solo que "podría tomar, por lo menos, un par de años".

El Camino hacia Ruby 1.9x

El segundo día de la conferencia, Koichi Sasada—el creador de YARV—mostró un mapa para Ruby 1.9x y anunció sus planes para soltar la versión estable 1.9.1 en Diciembre de 2008. La versión corriente Ruby 1.9.0 fue siempre con la intención de ser usada para desarrollo [experimental], mientras que la versión 1.9.1 está planeada para ser la primera versión estable de la serie 1.9, y por lo tanto, se podrá usar en producción. En el mismo día, salieron las siguientes versiones actualizadas: 1.9.0-2, 1.8.7-p22, 1.8.6-p230, y 1.8.5-p231.

El plan para la versión 1.9 es como sigue:

* Julio 25: 1.9.0-3
* Agosto 25: 1.9.0-4
* Septiembre 25: 1.9.0-5 (feature freeze)
* Octubre 25: 1.9.0-6 (1.9.1 RC1)
* Noviembre 25: 1.9.0-7 (1.9.1 RC2)
* Diciembre 20: 1.9.1

El Siguiente Ruby

Koichi Sasada habló sobre las características posibles que se implementarían en versiones futuras de Ruby.

* Soporte para máquina virtual múltiple (MVM, Multiple virtual machine) de Ruby, por ejemplo, para poner a Ruby en los teléfonos celulares.
* Ruby Atómico: Poder compilar Ruby con los módulos necesarios solamente. Ruby Atómico se enfoca hacia los dispositivos embutidos (embedded).
* Byte Code Serialization: Como tecnología que permita Ruby Atómico, byte code serialization puede ser útil; puesto que no hay necesidad de analizar el código fuente, el parser no se requiere y se puede excluir de la compilación si se incluye el código serializado completo. Esto puede resultar ser útil para controladores de microprocesadores en dispositivos caseros o para distribuir el código hacia otros nodos de un cluster.
* Traductor de bytecode a C: usando la generación de código fuente a partir de bytecode se pueden aplicar optimizaciones que ya se conocen en compiladores C y facilitar plataformas que no tengan una implementación de Ruby.
* Optimización para números de punto flotante se puede tratar como un valor inmediato en máquinas de 64 bits: Comparado con el método de asegurar el número de punto flotante en la heap, esto permite reducir a la mitad la cuenta y hacerlo más rápido así como disminuir el número de actividades del colector de basura (garbage collector, GC). Estudios han demostrado que esto casi que duplica la eficiencia de la aritmética de punto flotante.
* Repasar la asignación de memoria (Memory Allocator) y el colector de basura (GC): Puesto que el costo del GC y la asignación de memoria ha aumentado con la introducción de YARV, parece válido considerar un GC en tiempo real o un GC compacto.
* De-optimización efectiva: En respuesta a la recarga de clases (class reloading) y la redefinición de métodos, el código compilado por JIT se puede restaurar para ser luego modificado.

Referencia:
http://www.infoq.com/news/2008/07/rubykaigi

Wednesday, July 2, 2008

Libro Nuevo "Learning Rails"

Está por salir otro libro nuevo sobre Rails llamado "Learning Rails", de la editorial O'Reilly.
Por lo que dice la descripción, parece bien escrito y se enfoca a explicar Rails desde afuera hacia adentro: desde las vistas hacia los modelos y controladores.

Referencia:
http://oreilly.com/catalog/9780596518776/?CMP=AFC-ak_book&ATT=Learning+Rails

Libro nuevo "Facebook con Rails"

Acaba de salir un libro nuevo de la editorial O'Reilly sobre cómo programar componentes para Facebook usando Rails. El libro se llama "Developing Facebook Platform Applications with Rails", por Michael J Mangino. Explica el uso de Rails con las interfaces FBML and FQL de Facebook.

Referencia:
http://oreilly.com/catalog/9781934356128/

Friday, June 27, 2008

Libro nuevo sobre Rails

"The Art of Rails" (El arte de Rails) se llama el nuevo libro sobre el tema, de la editorial Wrox. Cubre Rails 2.0.

Referencia:
http://www.amazon.com/exec/obidos/tg/detail/-/0470189487/

Wednesday, June 25, 2008

RailsConf Europa 2008

Acaban de anunciar un programa preliminar para la conferencia RailsConf 2008 que tendrá lugar en Berlín (Alemania), en Agosto.

Referencia:
http://en.oreilly.com/railseurope2008/public/schedule/presentations/General

Monday, June 23, 2008

Radiant CMS

RadiantCMS es una aplicación para administración de documentos ("content management system") escrita en Ruby/Rails. Sin embargo, hay que tener cuidado, pues solo funciona con Ruby 1.8.6.

Referencia:
http://radiantcms.org/

Rails Bootcamp 2009

Acaban de anunciar Rails Bootcamp 2009. Va a tomar lugar en Frankurt, Alemania, en el monasterio "Kloster Eberbach", en Marzo del 2009.

Referencia:
http://poocs.net/2008/6/20/ruby-ruby-on-rails-bootcamp-2009

Rails-Doc

Acaban de publicar el sitio rails-doc.org.

Trae documentación sobre Rails y sus características más importantes son las siguientes:

  • permite hacer una búsqueda rápida por palabras clave, e,

  • incluye notas de la comunidad.

Ruby/Rails vs Alternativas

Sin lugar a dudas, Ruby y Rails son hechos el uno para el otro, y en este momento son las tecnologías más favorecidas por los programadores.

Existen alternativas y hay gente que las usa. Estos son otros pares de lenguaje/marco para desarrollo de software gratuito.



La popularidad de Ruby/Rails radica en que son relativamente más fáciles de aprender (que los citados anteriormente), y extremadamente rápidos para desarrollar aplicaciones para internet. Además, Ruby/Rails escalan bastante bien; es decir, fueron diseñados de tal manera que son fáciles de modificar, y la aplicación desarrollada no degrada en complejidad, ni en rendimiento, a medida que crece.

Es claro que en este blog favorecemos a Ruby/Rails, pero eso no quiere decir que los otros marcos no merezcan respeto y atención. De hecho, Ruby/Rails son más eficientes porque llegaron después y sus diseñadores aprendieron de los errores (o limitaciones) de sus antecesores. Hay quienes prefieren quedarse con lo que ya conocen (y eso hay que respetarlo), y también hay otros que, debido a las demandas de su trabajo, a veces no tienen opción de escoger. Sin embargo, si tenéis la oportunidad de empezar a trabajar en un proyecto nuevo, os invito a contemplar la posibilidad de usar Ruby/Rails. Os va a sorprender (positivamente, por supuesto).

Nota: en días pasados tuve la oportunidad de mencionar alternativas a Rails con Ruby.

Ruby vulnerable

Un técnico de Apple acaba de descubrir cierto número de vulnerabilidades en Ruby, que resultan en la negación del servicio al cliente.

La solución es instalar los siguientes upgrades:
  • Para Ruby 1.8.x: 1.8.5-p231, or 1.8.6-p230, or 1.8.7-p22.

  • Para Ruby 1.9.x: 1.9.0-2.



Detalles:
http://www.ruby-lang.org/en/news/2008/06/20/arbitrary-code-execution-vulnerabilities/

Ruby Kaigi 2008

"Ruby Kaigi 2008" (literalmente "Reunión/Conferencia sobre Ruby") tuvo lugar en los últimos tres días en Tsukuba, Japón. Esperemos a ver si publican las presentaciones.

Aquí está la lista de las sesiones principales.

Wednesday, June 18, 2008

Libros Gratuitos sobre Ruby

Me encontré esta lista de libros gratuitos sobre Ruby (todos en inglés).

http://linkmingle.com/list/List-of-Free-Online-Ruby-Books-freebooksandarticles

Monday, June 16, 2008

Ruby en el browser

Si alguna vez tenéis la necesidad de ensayar algo en Ruby, pronto, y no tenéis el interpretador instalado en aquella máquina, es bueno saber que hay una versión que se puede usar en línea.

Se encuentra aquí:
http://tryruby.hobix.com/

Editores para Ruby

Algunos de los editores IDE (ambientes integrados para desarrollo), gratuitos, comunmente usados, para escribir aplicaciones con Ruby y Rails, son los siguientes:
(por orden alfabético)

  • ConText: editor para Windows, práctico, gratuito, multi-lenguaje, multi-ventana.

  • GNU Emacs: uno de los primeros editores, aún bastante popular; gratuito; escrito en Lisp; para Windows y Linux.

  • Heroku: escrito en Rails (!), bien fácil de usar.

  • Komodo: editor gratuito, extensible, multi-lenguaje; para Linux, Apple Mac, y Windows.

  • Netbeans: IDE gratuito, escrito en Java; soporta varios lenguajes.

  • Notepad++: editor gratuito, basado en Scintilla; para Windows.

  • RadRails: editor escrito en Java, para usar con Aptana Studio o Eclipse; gratuito.

  • SciTE: editor básico; viene incluído con Ruby para Windows; para Windows, Apple Mac, y Linux.

  • Textmate: editor para el Apple Macintosh; gratuito.

  • TextPad: otro editor gratuito, sencillo y confiable; para Windows; se le puede incluir sintaxis de colores para Ruby.

  • vim: editor multi-ventanas, con sintaxis de colores, y macros, para más de 100 lenguajes; gratuito; disponible para Windows, Linux.



Otros editores, pero comerciales (hay que pagar por ellos):

  • IntelliJ: IDE para Java y otros lenguajes.

  • ED for Windows: editor avanzado para varios lenguajes (34, incl. Ruby); trae auto-corrección, macros, plantillas (templates), etc.