Open_flash_chart Lazy Rails Plugin es Sinatra compatible
July 21st, 2008
En la Pizzaconf Uruguay, presentaron Sinatra y lo encontré ideal para armar una aplicación de ejemplo para Open Flash Chart Lazy. Ya lo puse en marcha y estoy trabajando en armar los tutoriales para el plugin. Pueden ver algo acá (no esta listo, falta bastante)
Sample App Open Flash Chart Lazy
Sources de la sample app en Sinatra
Saluti
P
Charla Introducción Ruby on Rails 2.1 en Santiago
July 16th, 2008

Primero que nada quiero contarles que la Universidad Pacífico de Santiago de Chile, incorporó en su carrera de Comunicación Multimedia la enseñanza de Ruby y Rails para la parte de desarrollo web.
El viernes 18 de julio del 2008 presentaré una charla introductoria de Ruby on Rails con motivo de las clases que daré en la Universidad del Pacífico de Ruby y Rails en septiembre de este año.
La charla es abierta al público en general y será gratuita.
Dirección: Universidad del Pacífico sede Providencia Av. Ricardo Lyon 227, Providencia Viernes 18 a las 10 de la mañana.
Los espero…
Open_flash_chart Lazy Rails Plugin updated
July 13th, 2008
Tuve que incluír un gráfico de barras, asi que ahora está incluído, también revisé la doc (primitiva) y faltaba especificar la ruta dentro de un hash.
Algunas mejoras:
- Corrección de la documentación (actualizado en el anuncio original).
- Bar chart fue incorporado.
- Atributos generales del gráfico pueden ser especificados ahora.
Próximos pasos:
- Más ejemplos
- Más de un gráfico inline (en lo posible sin tocar open_flash_chart_2)
Seguiremos mejorándolo.
Si alguien lo usó y tiene alguna idea o sugerencia, bienvenido!
P
Cruzando el charco Pizzaconf!
July 12th, 2008

Diego Algorta organizó en su casa la Pizzaconf Uruguay!!!
De que va esto?
En el contexto del Grupo Ruby Uruguay, nos juntamos a charlar de Ruby, Rails, Tecnología, damos algunas presentaciones y comemos pizza dentro de una reunión casi diría familiar.
Si hay alguno que pueda venir avise.
Aca va el paste del mail de convocatoria de Diego Algorta del grupo Ruby Uruguay.
Así que si alguien tiene algo para mostrar que lo haga! Por ejemplo, Foca… me encantaría que nos des una introducción de 10 o 15 minutos a sinatra. Pedro podría hablarnos de algo de lo que está haciendo, también Rabble podría mostrarnos algo de lo que sabe… Lau nos podría mostrar su proyecto Agree2! Pero Lau no podrá venir… :-/
Si sólo quieren compartir pizzas, igual ta bueno.
Nos vemos el Domingo a las 19 hs. en mi casa:
Carlos Lallemand 1669 entre Nancy y Chamizo. Pueden sacar un mapa en www.mapred.com
Avisen quién viene!
Te interesa que la Rails Summit Brasil se dé en español?
July 11th, 2008
Fabio, puso disponible una encuesta para saber cuanta gente puede ir y evaluar la posibilidad de una traducción simultánea al español.
Gasten unos segundos de su tiempo y contesten, realmente sirve esa información.
P
Open_flash_chart Lazy Rails Plugin
July 11th, 2008
Hace tiempo que no hacía un plugin. Surgió la necesidad de hacer un dashboard con gráficos de usuarios, suscripciones, participación etc. Estuvimos analizando varias opciones y quedó OpenFlashChart les recomiendo miren los samples, no estan nada mal.


El foco fue puesto en escribir poco código y hacerlo flexible a posibles cambios en open_flash_chart que esta en beta.
Inicialmente solo soporta gráficos de líneas, pero debería ser fácil agregar soporte para otros gráficos. Fué pensado para resolver un problema, no para resolverlos todos ;-)
Todo
- More doc
- Support for other graphs
- Label annotation for pies
- May be more specs? mmm
- Add series matcher block to allow any kind of matcher for series
- Avoid to specify the start_date for time series for each serie
- Add periodically_call_remote_graph (rodrigo orrego chileonrails)
Known issues
- No soporta dos gráficos inline por vez.
- Los gráficos Inline no son compatibles con prototype.js
Instalación
cd vendor/plugins
git clone git://github.com/peterpunk/open_flash_chart_lazy.git
cd ..
cd ..
rake open_flash_chart_lazy:install
Desinstalación
rake open_flash_chart_lazy:remove
Ejemplos
Accediendo a datos remotos
En el controller …
def progress
bar_graph = OpenFlashChartLazy::Line.new("The title of the graph")
first_serie = OpenFlashChartLazy::Serie.new(
[["2008-1",100],["2008-2",120],["2008-3",130]],
{:title=>"Argentina",:start_date=>Time.mktime(2008,1,1),:items=>8})
second_serie = OpenFlashChartLazy::Serie.new(
[["2008-1",50],["2008-2",40],["2008-3",90]],
{:title=>"Tupungato",:start_date=>Time.mktime(2008,1,1),:items=>8})
bar_graph.add_serie(first_serie)
bar_graph.add_serie(second_serie)
render :text=>bar_graph.to_graph_json
end
En la vista …
<%= remote_graph("my_chart",{:route=>"/admin/dashboard/progress"}) %>
Con datos en la página
En el controller …
def show
@pie_chart = OpenFlashChartLazy::Pie.new("Channels")
channels=OpenFlashChartLazy::Serie.new([["Wealth",34],["Financial",45]])
@pie_chart.add_serie(channels)
end
En la vista …
<%= inline_graph(@pie_chart) %>
Personalizando el gráfico
Todos los atributos son asignados a un hash en general, podes agregar los que sean necesarios para que tu gráfico sea lo que necesitas.
bar_graph.x_axis[:labels][:rotate]="vertical"
bar_graph.x_axis[:labels][:rotate]="vertical"
bar_graph.x_axis[:colour]="#808080"
bar_graph.x_axis["grid-colour"]="#A0A0A0"
bar_graph.x_axis[:stroke]=0.5
bar_graph.y_axis[:colour]="#808080"
bar_graph.y_axis[:stroke]=0.5
bar_graph.y_axis["grid-colour"]="#A0A0A0"
Personalizando el Background
Se puede tambien agregar cualquier atributo al gráfico ya que esto es manejado por method missing.
bar_graph.bg_colour="#FFFFFF"
Otras implementaciones para la versión 2
http://github.com/korin/open_flash_chart_2/tree/master may be not working yet
Otras implementaciones para la versión 1
PullMonkey http://github.com/markcatley/open_flash_chart/tree/master
P
Rails Summit Brasil 2008 - Una Railsconf cerquita!
July 9th, 2008

Fabio Akita le había contado a Diego en la Railsconf sobre la posible Rails Summit en Brasil . Bueno esto es un hecho y cuenta con muchas presencias importantes como: David Hansson (via video online); Chad Fowler; los encargados de JRuby, Charles Nutter y Thomas Enebo; de Holanda de Phusion Ninh Bui y Hongli Lai; Mr. RSpec, David Chelimsky; el creador de Github, Chris Wanstrath; nada menos que Dr. Nic Williams; el escritor del libro The Rails Way, Obie Fernandez; Jay Fields, de ThoughtWorks.
También gente importante de la comunidad Rails Brasil Manoel Lemos, de Brasigo ; Carlos Eduardo, de e-Genial ; Fabio Kung, el JRuby-man, de Caelum ; Vinicius Teles de Improve it ; George Guimarães de Pagestacker.
Esto será el 15 e 16 de Octubre, en San Pablo.
Para los que quieran ir estamos viendo la forma de organizarnos y que nos salga menos. es importante tener en cuenta que tiene un cupo limitado, el costo es de 600 pesitos o u$s 200 dolares.
Yo estoy con ganas, depende como quede mi agenda en estos días.
Pueden suscribirse a la lista Ruby Argentina: Grupo Ruby Argentina ruby[[arroba]]lista.rubyargentina.com.ar
Los que están interesados en ir nos estamos juntando en este wiki para garronear, ahorrar, pichulear etc.
Ruby coders meeting at Buenos Aires
June 18th, 2008
No se porqué escribí el título en inglés, pero bueno un poco tarde pero seguro.
Hoy en Bangalore nos juntamos algunos de los que andamos con esto de Ruby y Rails en Argentina.
Donde?
En humboldt y Niceto Vega en un bar muy lindo que se llama Bangalore, buena cerveza, buena musica, y mucho geek para hoy.
Nos vemos ahí
P
Gartner lo ve ahora pero nosotros lo vimos hace casi 3 años
June 13th, 2008
Si, hace bastante que vengo evangelizando sobre Ruby y cada vez hay mas adeptos. Ahora Gartner habla de Ruby será que Gartner no escala?
Mas allá de los comentarios graciosos (para pocos) y el autobombo que puedo hacer, lo importante es este reportaje que me hicieron en una importante publicación online de tecnología en centroamérica link
La cosa se esta moviendo, POR FIN!
Libro de Rails 2.1 gratis
June 10th, 2008
Nuevo libro escrito por un colega Brasilero Carlos Brando: http://www.nomedojogo.com/2008/06/09/new-free-book-ruby-on-rails-21-whats-new/
Lo recomiendo sobre todo para los que ya vienen con Rails y quieren aprender que hay nuevo en 2.1
Algun translator con algo de tiempo para pasarlo al español?
LA Railsconf significa Railsconf Latinoamericana
June 6th, 2008
En la Railsconf 2008 de Portland nos juntamos los latinos y con la ayuda de Fabio Akita el Brasilero que esta haciendo aportes de muy buena calidad.
El tiene gran parte del tema resuelto para hacerlo en Brazil, el tema es participar, ayudar, promover y obtener mas gente involucrada para hacer que este evento sea excelente y poder juntar a los latinos que estamos apasionados con Ruby y Rails, hay una lista para discutir esto:
la-railsconf@googlegroups.com
Espero poder tener tiempo para escribir algo de la Railsconf, esto lo escribo medio apurado, ya contaré de mis andanzas por Portland y Costa Rica.
Saludos
Oferta laboral
May 7th, 2008
Hace un tiempo no era sencillo encontrar este tipo de ofertas laborales, ahora tampoco ;-)
Estamos buscando un programadro Rails con experiencia para un proyecto en funcionamiento, buen clima de trabajo, zona de microcentro y relación de dependencia con posiblidad de crecimiento para una empresa de telecomunicaciones.
Experiencia en BDD rspec,REST y OpenId es un plus.
Enviar mail con cv a jobs [ arroba ] virtualizar.com.ar
Grupo de Usuarios Ruby del Uruguay
April 26th, 2008
Nuevito, recien inagurado por nuestro amigo del otro lado del charco Diego Algorta Casamayou el Grupo de Usuarios Ruby de Uruguay Ya que los argentinos somos un virus maligno que se esparce por todo el mundo, podemos participar no? :-D
Exitos y mantenganos informados y a ver si cruzamos el charco a dar alguna que otra charla o workshop.
GIT (no, la banda no)
April 15th, 2008
(Sé que no soy el único que entendió el chiste del título, asi que a hacerse cargo).
Ahora a lo que nos compete: Acá en OnRails no queríamos ser menos :P, y viendo la gran cantidad de blogs que hablan de GIT, no nos queríamos quedar sin nombrarlo.
There’s a new SCM in town.
Los últimos dos años he usado SVN, con algun que otro problema, pero sin realmente tener algo concreto para quejarme. Antes de SVN trabajé como administrador de ClearCase, que es la herramienta de SCM de Rational, que luego fue comprada por IBM. ClearCase (CC) se caracteriza por muchas cosas (muchas negativas), siendo la burocracia una de ellas. Como admin pude experimentar el sufrimiento de laburar con un esquema complejo, y que no facilitaba el trabajo de los desarrolladores. CC permite un montón de operaciones que en SVN son muy difíciles o muy propensas a generar conflictos. En CC se podían crear muy facilmente los “streams”, que no eran otra cosas que branches, justamente uno de los temas que GIT resuelve por sobre SVN.
Hace un mes comencé a meterme con este “nuevo” SCM, me empapé bastante del tema y puedo decirle las caracteristicas que para mi son más relevantes:
Aclaración al margen: Esto no es una guía sino que simplemente intenta transmitir algunas de las sensaciones generadas en las primeras semanas de uso. Recursos sobran a mi entender.
La creación de branches es trivial.
En SVN era necesario hacer “svn copy ../trunk ../branches/mi_branch”, y luego hacer checkout en otro directorio apuntando a la ruta recién creada, terminando así con varios directorios del mismo repo, cada uno apuntando a un branch diferente.
Con GIT es solo cuestión de ejecutar: git branch mi_branch, y luego hacer checkout mi_branch. Si, sin cambiar de directorio. GIT cambia los archivos automáticamente según el branch seleccionado. Quizás con un ejemplo se vea mejor.
(Mi prompt indica el branch actual, si lo quieren usar copien este link en $HOME/.profile)
driven:~/programming/test_app $ git init
driven:~/programming/test_app $ git add . # Agregando archivos, sino git no se hace cargo
driven:~/programming/test_app $ git commit -a -m "Initial Import"
driven:~/programming/test_app (master)$ git branch
* master
driven:~/programming/test_app (master)$ git branch req_23568
driven:~/programming/test_app (master)$ git branch
* master
req_23568
driven:~/programming/test_app (master)$ git checkout req_23568
Switched to branch "req_23568"
driven:~/programming/test_app (req_23568)$
A partir de aquí solo me restaría trabajar en el req_23568, hacer commit lo que sea necesario (los commits son por branch) y luego hacer un rebase del master (nuestro omni presente branch) apuntándolo a req_23568. Cómo sería eso?
driven:~/programming/test_app $ mate . # trabajo, mucho, cambio, pongo, saco
..
driven:~/programming/test_app (req_23568) $ git commit -a -m "Algo 1"
...
driven:~/programming/test_app (req_23568) $ git commit -a -m "Algo 2"
....
driven:~/programming/test_app (req_23568) $ git commit -a -m "Algo 3"
# laburo con repo remoto? Antes deberia hacer un pull.
driven:~/programming/test_app (req_23568)$ git checkout master
driven:~/programming/test_app (master)$ git pull # por default es el origin
driven:~/programming/test_app (master)$ git checkout req_23568 # y vuelvo
driven:~/programming/test_app (req_23568)$ git rebase master # por si alguien estuvo laburando en master
driven:~/programming/test_app (req_23568)$ git checkout master # si todo funciono OK me paso a master
Switched to branch "master"
driven:~/programming/test_app (master)$ git rebase req_23568 # y realizo el rebase
... mucho ruido ... (ojo, muy útil)
driven:~/programming/test_app (master)$
Nota: Se actualizó acorde a lo sugerido por el estimadísimo Luis Lavena.
Lo que hace rebase es interesante. Rebobina el branch MASTER al momento en que se creo el branch REQ_23568, aplica lo cambios del mismo, y luego aplica todos los commits que se hayan aplicado posteriormente en el branch MASTER.
No hay un servidor centralizado.
Cada uno tiene una copia, y es autónoma de la de los demás. Todas las operaciones se realizan localmente y luego se envían los cambios a los repositorios remotos que uno tenga configurado localmente. Obvio, siempre hay que tener permiso, sino no pasa un byte.
Ignorar archivos es una huevada.
Sólo hace falta crear el archivo .gitignore en el root del repo y cargarlo con entradas que pueden incluir el nombre relativo del elemento a excluir, o wildcards más abarcativos.
driven:~/programming/backoffice (tab_container)$ cat .gitignore
.DS_Store
*.log
tmp/**/*
config/database.yml
db/*.sqlite3
db/schema.rb
db/schema.sql
Incluye una herramienta excelente para visualizar los branches y cambios aplicados o no.
Se llama gitk. Incluir el parámetro—all para que muestre información sobre todos los branches, y no solo el actual/current.
Muchas cosas más.
Dejo para cada uno que tenga ganas la tarea de investigar el stash, que a mi entender es una idea excelente. Este Linus la tiene clara.
Ah, además se integra con SVN muy facilmente. Podésusarlo localmente y hacer commit contra un repo SVN cuando termines. Para los demás que usen SVN es transparente.
Conclusión preliminar.
GIT es la evolución obligada luego de SVN. En mi caso me facilitó mucho poder trabajar con ciertos temas que requerían atención inmediata y otros que llevaban un poco más de tiempo de desarrollo.
Un branch para cada cosa. A guardar, a guardar, cada cosa en su branch! (bueh, suficiente, no?)
¡RubyGems 1.1.0 disponible en MacPorts!
April 10th, 2008
El entusiasmo se debe a que este switcher por fin puede instalar Rails 2.0 en su nueva MacBook usando sólo MacPorts. Dejemos que comparta su alegría con todos nosotros. ¿Alguien más puede aportar su experiencia instalando Rails 2.0 en OSX con Fink? ¿O todos aquí instalan RubyGens "a mano"?




