30 de Noviembre de 2007
eventos, ruby, rails
La Conferencia Rails 2007 ha concluido y creo que la sensación general ha sido muy buena. Soy parte del equipo organizador, y es muy agradable ver que la gente ha disfrutado mucho estos dos días, ha hecho nuevos amigos y ha aprendido mucho.

En la Conferencia Rails 2006, que fue la primera, creo que el pensamiento de muchos era, sí, hay más personas como yo que piensan que Rails es fantástico. En esta edición esto ya lo tenemos asumido. Nos han contado muchos casos de éxito, ha habido más presencia empresarial y el número de libros sobre Rails en el stand de Cocodrilo se ha multiplicado.
A continuación enumero las principales ideas que anoté de las ponencias a las que asistí:
- Javier Cañadillas, de Sun, nos habló de JRuby. Estoy deseando probarlo y hacer pruebas con este intérprete. En los entornos empresariales la JVM abunda. Por lo tanto, podemos aprovechar la infraestructura de servidores de aplicaciones Java de un cliente para instalar nuevas aplicaciones Rails. Interesantísimo desde el punto de vista del negocio.
- Fernando Padrón Torres nos habló de la integración de Flex con Rails. De momento veo varias pegas: MXML no es muy sexy y hay que aprender ActionScript. Por el lado positivo veo que las interfaces diseñadas pueden muy ponentes y que Adobe está moviendo hacia un modelo de código abierto el desarrollo Flex. Tecnología a mantener en el radar.
- Marze nos habló de diseño web. Se suele decir que lo importante es el contenido, no el continente. Pero el continente, es decir, el diseño de nuestra página, también está hablando sobre nosotros, es decir, es una forma de contenido. También nos habló de las líneas base, de las rejillas, de la teoría del color, de la tipografía, de los frameworks CSS, de la proporción áurea
- Fernando Blat nos habló de la caché en Rails. Un tema para profundizar en él.
- Sergio Gil nos habló de metaprogramación. Muy interesante.
- Nos reímos mucho con Javier Ramírez. Aprendimos la importancia del software desacoplado y de lo sencillo y productivo que es programarte tus plugins en Rails. Yo de hecho ya me he puesto manos a la obra.
- Jaime Iniesta nos contó su interesante experiencia programando a Boris la araña.
- Juan Quemada y Joaquín Salvachúa nos hablarón de REST. Para mí REST es un nuevo paradigma.
- Y por último, Obie Fernadez nos habló de las novedades de Rails 2.0. Estuvo francamente interesante el debate final, donde la conclusión que saqué es que en el mundo de la programación es mucho mejor equipos muy reducidos de gente muy buena y motivada que equipos grandes y burocratizados. Creo que esto realmente aplicable a cualquier actividad.
30 de Noviembre de 2007
diseño web
En internet existen numerosos sitios que recopilan fuentes. Algunos de ellos anuncian literalmente miles de fuentes. Pero, ¿cuánto tiempo tienes que emplear para escoger entre miles de fuentes? Y, ¿cuántas veces, cuando encuentras una fuente que te gusta, resulta que acaba siendo de pago?

Fawnt, según la descripción de la propia web, recopila fuentes gratis de gran calidad para diseñadores y desarrolladores. Me encanta Fawnt por las siguientes razones:
- Actualmente sólo tiene 55 fuentes, pero efectivamente todas ellas son de una gran calidad. Como dice el refrán, las recopilaciones, si breves, dos veces buenas.
- Las fuentes son gratis.
- Muchas de ellas tienen una estética muy “web 2.0″.
29 de Noviembre de 2007
citas, eventos
Blogging requires passion and authority, which leaves out most people.
Escribir un blog requiere pasión y autoridad, lo que deja fuera a la mayoría de la gente.
–Shel Israel
(en el Evento Blog España 2007)
27 de Noviembre de 2007
ruby, rails
La web social llega a las gemas de ruby. Si ya teníamos Agile Web Development para buscar, comentar y puntuar los plugins de rails, vía oreillynet conozco la existencia de Gemtacular.

Gemtacular es un sitio para puntuar, discutir y buscar información sobre gemas de ruby. Es posible asignar tags a las gemas y consultar las mejor puntuadas . También es posible visualizar la nube de tags global. Además, para entrar en el sitio y comenzar a puntuar y comentar es suficiente con estar dado de alta en rubyforge.
Creo que es una buena iniciativa de Anthony Eden. Espero que tenga éxito.
27 de Noviembre de 2007
ruby, rails
yahoofinance es un módulo de ruby que se utiliza para obtener las cotizaciones de acciones e índices del sitio web Yahoo! Finance. Permite, además de cotizaciones actuales, obtener cotizaciones históricas.

Su instalación es muy sencilla, ya que está disponible como gema:
$ sudo gem install yahoofinance
Bulk updating Gem source index for: http://gems.rubyforge.org
Successfully installed yahoofinance-1.2.2
Asimismo es muy fácil de usar. Éste es un script de ejemplo:
require 'rubygems'
require_gem 'yahoofinance'
quote_type = YahooFinance::StandardQuote
quote_symbols = "tef.mc"
YahooFinance::get_quotes( quote_type, quote_symbols ) do |qt|
puts qt.symbol
puts "==============================================="
puts qt.to_s
end
Y ejecutándolo obtenemos:
TEF.MC
===============================================
YahooFinance::StandardQuote
volume = 39562432
ask = 22.06
lastTradeWithTime = 11:38am - <b>22.05</b>
bid = 22.05
dayRange = 22.03 - 22.42
changePercent = -0.23
date = 11/26/2007
tickerTrend = ====-=
changePoints = -0.05
change = -0.05 - -0.23%
name = TELEFONICA
open = 22.16
previousClose = 22.1
lastTrade = 22.05
averageDailyVolume = 77187648
dayLow = 22.03
time = 11:38am
dayHigh = 22.42
symbol = TEF.MC
Y para obtener, por ejemplo, los datos históricos de los últimos 10 días:
require 'rubygems'
require_gem 'yahoofinance'
# [0] - Date
# [1] - Open
# [2] - High
# [3] - Low
# [4] - Close
# [5] - Volume
# [6] - Adjusted Close
YahooFinance::get_historical_quotes_days( 'tef.mc', 10 ) do |row|
puts "#{row[0]} #{row[4]}"
end
Y ejecutándolo obtenemos:
2007-11-23 22.10
2007-11-22 22.09
2007-11-21 22.39
2007-11-20 22.93
2007-11-19 22.74
2007-11-16 22.86
Se puede observar que devuelve 6 filas en lugar de 10. Esto es porque el valor que le pasamos a get_historical_quotes_days es el número de días naturales, no los días en los que el mercado está abierto.
En la página web del proyecto hay más ejemplos de utilización de este práctico módulo.