<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8765457363511550557</id><updated>2012-02-16T21:50:08.143-03:00</updated><category term='node.js'/><category term='repositorio'/><category term='ajgenesis'/><category term='jQuery'/><category term='mug'/><category term='Ruby'/><category term='software'/><category term='ecommerce'/><category term='html'/><category term='Rails'/><category term='mac'/><category term='RoR'/><category term='rails 3.2'/><category term='heroku'/><category term='generacion'/><title type='text'>Recorriendo Otros Rumbos</title><subtitle type='html'>Escribiendo sobre lo que aprendo del mundo Ruby y RoR.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://recorriendootrosrumbos.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>petek luis</name><uri>https://profiles.google.com/111856420537277180984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-oEpOYxImxRQ/AAAAAAAAAAI/AAAAAAAAAAA/1zgaNV6MY3M/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8765457363511550557.post-6913379399503583272</id><published>2012-01-26T18:20:00.001-03:00</published><updated>2012-01-28T12:25:03.746-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='rails 3.2'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Instalación de Ruby 1.9.3 y Rails 3.2 en Mac con Lion</title><content type='html'>&lt;span style="font-family: inherit;"&gt;Solo quería tener la nueva versión de rails corriendo en mi Mac para probar y luego contarles... pero lo que parece fácil no siempre lo es.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;Instalé ruby 1.9.3 con el &lt;a href="http://beginrescueend.com/rvm/install/" target="_blank"&gt;rvm&lt;/a&gt;, y comenzaron los errores.&amp;nbsp;Busqué un poco en la web y&amp;nbsp;&lt;a href="http://pragmaticstudio.com/blog/2010/9/23/install-rails-ruby-mac" target="_blank"&gt;PragmaticStudio&lt;/a&gt;&amp;nbsp;me dio una ayuda. La solución era solo agregar un parámetro.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span style="font-family: inherit;"&gt;$ rvm install 1.9.3 &lt;b&gt;--with-gcc=clang&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;Este parámetro le indica cual es el compilador que queremos utilizar. El xcode 4.2 del OSx en Lion toma otro compilador por defecto.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;Luego nos pasamos a la instancia recién generada.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="font-family: inherit;"&gt;$ rvm use 1.9.3&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;El gem install rails realiza el resto del trabajo.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="font-family: inherit;"&gt;$ gem install rails&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;entonces creamos nuestro primer proyecto.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="font-family: inherit;"&gt;$ rails new prueba320&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Se crea toda la estructura para el proyecto con nombre&amp;nbsp;&lt;b&gt;prueba320&lt;/b&gt; pero cuando quiere realizar el &lt;b&gt;bundle install&lt;/b&gt; automático con la generación, me da error... Noooooooooooooooooo!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-5tdqLiPVebU/TyFA1dv-MrI/AAAAAAAAH84/M3BTuSAK0bc/s1600/bug+rails320-ruby193.tiff" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="385" src="http://4.bp.blogspot.com/-5tdqLiPVebU/TyFA1dv-MrI/AAAAAAAAH84/M3BTuSAK0bc/s640/bug+rails320-ruby193.tiff" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;A buscar un poco en Internet y con la ayuda de @lguardiola, salió andando... como?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-family: inherit;"&gt;Aquí la receta&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;El problema se presenta con esta combinación&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Mac + Lion + xCode 4.2 + Ruby 1.9.3 + Rails 3.2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Existe una incompatibilidad entre openssl que viene en Lion y Ruby 1.9.3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Primero desinstalamos con rvm el ruby 1.9.3&lt;/span&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="font-family: inherit;"&gt;$ rvm remove 1.9.3&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;luego instalamos el pkg que queremos&lt;/span&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="font-family: inherit;"&gt;$&amp;nbsp;&lt;b id="internal-source-marker_0.7078085213433951"&gt;&lt;span style="background-color: white; color: #222222; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;rvm pkg install openssl&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;luego instalamos con los parámetros para compilador y openssl a utilizar&lt;/span&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="font-family: inherit;"&gt;$ rvm install 1.9.3&amp;nbsp;--with-gcc=clang&amp;nbsp;&lt;b id="internal-source-marker_0.7078085213433951"&gt;&lt;span style="background-color: white; color: #222222; font-size: 13px; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;--with-openssl-dir=$rvm_path/usr&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-EyydKBLyblY/TyFDa3QyR6I/AAAAAAAAH9A/MaZblGlFyC4/s1600/ruby193rvmInstallWithParam.tiff" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="202" src="http://2.bp.blogspot.com/-EyydKBLyblY/TyFDa3QyR6I/AAAAAAAAH9A/MaZblGlFyC4/s640/ruby193rvmInstallWithParam.tiff" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family: inherit;"&gt;cuando esto termina, nos movemos a la instancia con ruby 1.9.3 e instalamos rails 3.2.0&lt;/span&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="font-family: inherit;"&gt;$ rvm use 1.9.3&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="font-family: inherit;"&gt;$ gem install rails&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;y si todo fue como lo esperamos&lt;/span&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="font-family: inherit;"&gt;$ rails new prueba320&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Es un éxito total. Ya podemos comenzar con nuestro primer ejemplo.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8765457363511550557-6913379399503583272?l=recorriendootrosrumbos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://recorriendootrosrumbos.blogspot.com/feeds/6913379399503583272/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2012/01/instalacion-de-ruby-193-y-rails-32-en.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/6913379399503583272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/6913379399503583272'/><link rel='alternate' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2012/01/instalacion-de-ruby-193-y-rails-32-en.html' title='Instalación de Ruby 1.9.3 y Rails 3.2 en Mac con Lion'/><author><name>petek luis</name><uri>https://profiles.google.com/111856420537277180984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-oEpOYxImxRQ/AAAAAAAAAAI/AAAAAAAAAAA/1zgaNV6MY3M/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-5tdqLiPVebU/TyFA1dv-MrI/AAAAAAAAH84/M3BTuSAK0bc/s72-c/bug+rails320-ruby193.tiff' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8765457363511550557.post-7479767915197155946</id><published>2012-01-23T00:00:00.000-03:00</published><updated>2012-01-28T11:36:22.168-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='rails 3.2'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Rails 3.2</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-vujNYiyEJIY/TxzMu_5y1oI/AAAAAAAAH8w/lEI1jKfzUys/s1600/rubyonrailsorg.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="150" src="http://1.bp.blogspot.com/-vujNYiyEJIY/TxzMu_5y1oI/AAAAAAAAH8w/lEI1jKfzUys/s320/rubyonrailsorg.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Una nueva version de &lt;a href="http://edgeguides.rubyonrails.org/3_2_release_notes.html" target="_blank"&gt;rails&lt;/a&gt; para comenzar el año.&lt;br /&gt;Que corta vida tuvo la version 3.1...&lt;br /&gt;&lt;br /&gt;La primera intención era sacar la nueva version para diciembre del 2011, pero esperamos un poquito mas y salió.&lt;br /&gt;&lt;br /&gt;Esta sería la última version que soporte Ruby 1.8.7, tome nota. Ya es hora de actualizarse a la version de Ruby 1.9.3 es veloz y estable.&lt;br /&gt;&lt;br /&gt;Una nueva revision de &lt;a href="http://pragprog.com/book/rails4/agile-web-development-with-rails" target="_blank"&gt;Agile Web Development with Rails&lt;/a&gt;&amp;nbsp;esta lista y publicada. Contiene todas las mejoras incluidas en esta nueva version.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Sr7G0Y_ibHg/TxzMkBkvXZI/AAAAAAAAH8o/yjLHocl6ynU/s1600/AgileWebDevelopmentWithRails.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-Sr7G0Y_ibHg/TxzMkBkvXZI/AAAAAAAAH8o/yjLHocl6ynU/s1600/AgileWebDevelopmentWithRails.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Es muy interesante la mejora en modo de desarrollo cuando se produce un cambio en la recarga del modelo. Según David se inspiraron en &lt;a href="https://github.com/paneq/active_reload" target="_blank"&gt;Active Reload&lt;/a&gt;&amp;nbsp;de &lt;a href="http://robert.pankowecki.pl/" target="_blank"&gt;Robert Pankowecki&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;El otro cambio que mejoró mucho la perfomance son las mejoras introducidas en Routes, al incorporar el motor&amp;nbsp;&lt;a href="https://github.com/rails/journey" target="_blank"&gt;journey&lt;/a&gt;&amp;nbsp;.&lt;br /&gt;&lt;br /&gt;Hace poco descubrí Arel (&amp;nbsp;&lt;a href="http://erniemiller.org/2010/03/28/advanced-activerecord-3-queries-with-arel/" target="_blank"&gt;aquí&lt;/a&gt;&amp;nbsp;algo sobre esto para saciar su curiosidad por Ernie Miller o &lt;a href="http://asciicasts.com/episodes/239-activerecord-relation-walkthrough" target="_blank"&gt;aquí&lt;/a&gt;&amp;nbsp;por asciicast&amp;nbsp;)&amp;nbsp;, ahora en esta nueva version expandieron esto con un metodo para que nos muestre que esta haciendo y como, algo mas interesante que el to_sql&lt;br /&gt;&lt;br /&gt;TaggedLogging y&amp;nbsp;Active Record Store son mejoras muy interesantes.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Comenzando a probar&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Tengo instalado RVM y en una de las instancias con Ruby 1.9.3 actualice rails con&lt;br /&gt;$ gem update rails&lt;br /&gt;$ rails new prueba320&lt;br /&gt;&lt;br /&gt;... mas en el próximo post!&lt;br /&gt;&lt;br /&gt;Una rapida revision de las mejoras en la página de &lt;a href="http://weblog.rubyonrails.org/" target="_blank"&gt;webrails&lt;/a&gt;&amp;nbsp;(en ingles) escritas por&amp;nbsp;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;a href="http://www.loudthinking.com/about.html" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; text-align: center; text-decoration: none;"&gt;David Heinemeier Hansson&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;Se actualizo completamente la página '&lt;a href="http://ruby.railstutorial.org/ruby-on-rails-tutorial-book?version=3.2#top" target="_blank"&gt;Ruby on Rails Tutorial&lt;/a&gt;' uno de los tutoriales que mas me gustan. Creo ya haberlo escrito un par de veces...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Y en el horizonte vemos emerger la version 4.0, rapido que se viene el día...&lt;br /&gt;&lt;br /&gt;Ahh la gema del mes para &lt;a href="https://github.com/meskyanichi/backup" target="_blank"&gt;Backup&lt;/a&gt;&amp;nbsp;de&amp;nbsp;&lt;span style="background-color: white; line-height: 16px;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;a href="http://michaelvanrooijen.com/" target="_blank"&gt;Michael van Rooijen&lt;/a&gt;, pueden ver un simple ejemplo y comentarios &lt;a href="http://freelancing-gods.com/posts/backing_up_with_backup" target="_blank"&gt;aquí&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8765457363511550557-7479767915197155946?l=recorriendootrosrumbos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://recorriendootrosrumbos.blogspot.com/feeds/7479767915197155946/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2012/01/rails-320.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/7479767915197155946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/7479767915197155946'/><link rel='alternate' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2012/01/rails-320.html' title='Rails 3.2'/><author><name>petek luis</name><uri>https://profiles.google.com/111856420537277180984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-oEpOYxImxRQ/AAAAAAAAAAI/AAAAAAAAAAA/1zgaNV6MY3M/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-vujNYiyEJIY/TxzMu_5y1oI/AAAAAAAAH8w/lEI1jKfzUys/s72-c/rubyonrailsorg.png' height='72' width='72'/><thr:total>0</thr:total><georss:featurename>Ciudad Autónoma de Buenos Aires, Capital Federal, Argentina</georss:featurename><georss:point>-34.6084175 -58.3731613</georss:point><georss:box>-34.71297 -58.5310898 -34.503865000000005 -58.2152328</georss:box></entry><entry><id>tag:blogger.com,1999:blog-8765457363511550557.post-3223415122968207538</id><published>2012-01-09T10:31:00.000-03:00</published><updated>2012-01-22T10:36:33.210-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>Un año de RoR, un año de Recorriendo otros Rumbos</title><content type='html'>&lt;pre class="brush:xml;" style="text-align: left;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;A transcurrido un año desde el 9 de enero del 2011, cuando después de dar muchas vueltas,  decidí comenzar a escribir este Blog.&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Partí con unos pocos objetivos &lt;/span&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Ir contando sobre los temas que surgieran mientras aprendía y trabajaba &lt;/span&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;con&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Ruby,&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;RoR y su ecosistema.&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Mantener una frecuencia de publicación de dos post por mes (esto no lo logre).&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Escribir solo en español, después veremos si puedo con uno en ingles.&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Disfrutarlo.&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;a href="http://2.bp.blogspot.com/-B_Y-XvSgjPg/TxlfYF6XWKI/AAAAAAAAH70/mp5R-OrDRdY/s1600/Happy-New-Year.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-B_Y-XvSgjPg/TxlfYF6XWKI/AAAAAAAAH70/mp5R-OrDRdY/s320/Happy-New-Year.jpg" width="320" /&gt;&lt;/a&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;En este año he caminado, he tropezado y me he&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;vuelto a levantar. No solo, por suerte, conte con&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;amigos, &lt;/span&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;profesionales y maestros. También con&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;algunos aprendices, he sembrado y cosechado.&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Realice varios proyectos con estas nuevas&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;herramientas. Convertí un equipo Net, MsSql y&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Windows a&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;uno basado en Ruby, Rails, Postgres&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;y Heroku (en los sistemas operativos vamos&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;peleando).&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;b&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Agradecimiento&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Gracias a los lectores, por los tweets y los comentarios.&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Tengo algunos agradecimientos especiales para Martín Salías (@MartinSalias), Angel 'Java' Lopez&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;(pasara a 'Ruby' @AjLopez), Maximiliano Dello Russo (@maxidr), Luis Guardiola (@lguardiola),&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Claudio Annecchini, Pablo Van Diest, Sebastian Diaz y a todos los integrantes de los equipos de&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;trabajo con los que tuve la suerte de compartir este año.&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Quiero agradecer especialmente a mi familia que leen y me aconsejan sobre los post antes de publicarlos.&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;span style="font-weight: 800;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;b&gt;Constancia&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Logré continuar escribiendo durante un año a un promedio de un post&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;por mes.&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Visto desde acá, me parece poco. &lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;a href="http://3.bp.blogspot.com/-SkuRW_k1-eQ/TxmrWKs9ApI/AAAAAAAAH8Y/Unf6LpD9hho/s1600/new+year+party.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="254" src="http://3.bp.blogspot.com/-SkuRW_k1-eQ/TxmrWKs9ApI/AAAAAAAAH8Y/Unf6LpD9hho/s320/new+year+party.jpg" width="320" /&gt;&lt;/a&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;b&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Mejora&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;a href="http://4.bp.blogspot.com/-ZqfFo-lHQ3g/TxlhJoZazkI/AAAAAAAAH8I/ZSnO7meaI9Q/s1600/fireworks.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Continuar mejorando, una letanía, un norte... &lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;La captura de las ideas para los post, es algo que me cuesta.&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Generalmente se me ocurre algo, tengo algo que me llamo la atención&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;y pienso que no es suficiente para escribir sobre eso.&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;b&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;El faltante&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;El post sobre la segunda charla que realizamos en el MUG acompañado&lt;/span&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt; por @lguardiola y @maxidr&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;b&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Aportar a la comunidad&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Compartir&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Mostrar lo que hago o en que ando. Desde el principio fue uno de los ax&lt;/span&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;iomas.&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;b&gt;Sorpresa&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Una grata sorpresa fue encontrarme con gente en la RubyConfAr que seguían este Blog.&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Otra, la cantidad de entradas que registra el Blog, actualmente mas de mil por mes... esto si &lt;/span&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;que me&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;sorprende.&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;b&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;b&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Indice de lo publicado durante este año&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;a href="http://recorriendootrosrumbos.blogspot.com/2011/12/ecommerce-en-ror.html" target="_blank"&gt;eCommerce en RoR&lt;/a&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;a href="http://recorriendootrosrumbos.blogspot.com/2011/12/entrenando-con-ruby-y-ror.html" target="_blank"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Entrenando con ruby y RoR&lt;/span&gt;&lt;/a&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;a href="http://recorriendootrosrumbos.blogspot.com/2011/11/que-me-dejo-la-rubyconfar.html" target="_blank"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Que me dejo la RubyConfAr&lt;/span&gt;&lt;/a&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;a href="http://recorriendootrosrumbos.blogspot.com/2011/10/rails-en-la-nube-se-llama-heroku.html" target="_blank"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Rails en la nube se llama Heroku&lt;/span&gt;&lt;/a&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;a href="http://recorriendootrosrumbos.blogspot.com/2011/10/rails-tiene-scaffold-nosotros-usamos.html" target="_blank"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Rails tiene scaffold nosotros utilizamos AjGenesis&lt;/span&gt;&lt;/a&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;a href="http://recorriendootrosrumbos.blogspot.com/2011/10/no-solo-de-ror-vive-el-programadoror.html" target="_blank"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;No solo de RoR vive el programadoRoR&lt;/span&gt;&lt;/a&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;a href="http://recorriendootrosrumbos.blogspot.com/2011/09/githerokueach-do-repos.html" target="_blank"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;(Git..Heroku).each do |repo|&lt;/span&gt;&lt;/a&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;a href="http://recorriendootrosrumbos.blogspot.com/2011/05/primera-charla-sobre-ruby-ruby-on-rails.html" target="_blank"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Primera charla sobre Ruby y Ruby on Rails&lt;/span&gt;&lt;/a&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;a href="http://recorriendootrosrumbos.blogspot.com/2011/04/ruby-on-rails-una-pareja-solida_03.html" target="_blank"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Ruby on Rails una pareja solida&lt;/span&gt;&lt;/a&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;a href="http://recorriendootrosrumbos.blogspot.com/2011/03/ruby-todo-terreno-ahora-probando-en-mac.html" target="_blank"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Ruby todo terreno ahora probando en Mac&lt;/span&gt;&lt;/a&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;a href="http://recorriendootrosrumbos.blogspot.com/2011/01/dejamos-la-orilla-y-nos-internamos-un.html" target="_blank"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Dejamos la orilla y nos internamos un poco&lt;/span&gt;&lt;/a&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;a href="http://recorriendootrosrumbos.blogspot.com/2011/01/primeros-pasos-con-ruby.html" target="_blank"&gt;Primeros pasos con Ruby&lt;/a&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-YwBmprVz1EY/TxleO7wblKI/AAAAAAAAH7k/_0DhLKSiIdU/s1600/marathon-race.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;img border="0" height="254" src="http://4.bp.blogspot.com/-YwBmprVz1EY/TxleO7wblKI/AAAAAAAAH7k/_0DhLKSiIdU/s320/marathon-race.jpg" width="320" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;pre class="brush:xml;" style="text-align: center;"&gt;&lt;span style="font-family: Times, 'Times New Roman', serif;"&gt;Continuemos!!! esto recién comienza...&lt;/span&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;pre class="brush:xml;"&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8765457363511550557-3223415122968207538?l=recorriendootrosrumbos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://recorriendootrosrumbos.blogspot.com/feeds/3223415122968207538/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2012/01/un-ano-de-ror-un-ano-de-recorriendo.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/3223415122968207538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/3223415122968207538'/><link rel='alternate' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2012/01/un-ano-de-ror-un-ano-de-recorriendo.html' title='Un año de RoR, un año de Recorriendo otros Rumbos'/><author><name>petek luis</name><uri>https://profiles.google.com/111856420537277180984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-oEpOYxImxRQ/AAAAAAAAAAI/AAAAAAAAAAA/1zgaNV6MY3M/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-B_Y-XvSgjPg/TxlfYF6XWKI/AAAAAAAAH70/mp5R-OrDRdY/s72-c/Happy-New-Year.jpg' height='72' width='72'/><thr:total>0</thr:total><georss:featurename>Ciudad Autónoma de Buenos Aires, Capital Federal, Argentina</georss:featurename><georss:point>-34.6084175 -58.3731613</georss:point><georss:box>-34.71297 -58.5310898 -34.503865000000005 -58.2152328</georss:box></entry><entry><id>tag:blogger.com,1999:blog-8765457363511550557.post-8025377093590751346</id><published>2011-12-26T00:19:00.001-03:00</published><updated>2011-12-26T00:19:07.518-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='ecommerce'/><title type='text'>eCommerce en RoR</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-5doWV6nb3Ws/TrcbVUq19gI/AAAAAAAAHjI/dmSAB2PK9CQ/s1600/logo-e.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="82" src="http://2.bp.blogspot.com/-5doWV6nb3Ws/TrcbVUq19gI/AAAAAAAAHjI/dmSAB2PK9CQ/s320/logo-e.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Gem&amp;nbsp;&lt;a href="https://github.com/drhenner/ror_ecommerce"&gt;ror-ecommerce&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;En estos dias&amp;nbsp;comencé&amp;nbsp;a evaluar el utilizar la gema ror-ecommerce de &lt;a href="http://www.linkedin.com/profile/view?id=6758357&amp;amp;authType=NAME_SEARCH&amp;amp;authToken=EiYg&amp;amp;locale=en_US&amp;amp;srchid=f538dd4a-e9c6-40e9-8b8f-0245adc59141-0&amp;amp;srchindex=1&amp;amp;srchtotal=3&amp;amp;goback=%2Efps_PBCK_*1_David_Henner_*1_*1_*1_*1_*2_*1_Y_*1_*1_*1_false_1_R_*1_*51_*1_*51_true_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2&amp;amp;pvs=ps&amp;amp;trk=pp_profile_name_link"&gt;David Henner&lt;/a&gt; para un proyecto.&lt;br /&gt;&lt;br /&gt;Tengo que destacar lo atento de David, con la simple mension del tag #rorecommerce en un tweet, se puso a mi disposición para cualquier duda que me surgiera.&lt;br /&gt;&lt;br /&gt;La intención era construir una aplicación típica de carrito de compras. Donde tenemos&amp;nbsp;artículos&amp;nbsp;para la venta con sus precios y existencias, clientes que se registran para compras, diferentes formas de pago y manejo del envio.&lt;br /&gt;&lt;br /&gt;También probe &lt;a href="http://spreecommerce.com/" target="_blank"&gt;spreecommerce&lt;/a&gt;, algo mas elegante pues no es intrusivo a la aplicación. De todas formas, considere que para mis conocimientos actuales y las necesidades de este proyecto no era el adecuado.&lt;br /&gt;&lt;br /&gt;La primera impresión me llevo a pensar que requería muchas gemas... algo que en general no me gusta mucho. Luego de chequear las dependencias vi que no era así.&lt;br /&gt;&lt;br /&gt;Existe un ejemplo que es absolutamente funcional.&lt;br /&gt;&lt;br /&gt;Contiene un esquema de dos partes. La primera consta de una tienda virtual para los supuestos clientes de nuestros productos y las otra parte administra todos los recursos, como productos, precios, tipos de productos e imagenes.&lt;br /&gt;&lt;br /&gt;Esta solución esta probada y&amp;nbsp;David recomienda el uso de ruby 1.9.2 y rails 3.&lt;br /&gt;&lt;br /&gt;Si piensa utilizar &lt;a href="http://www.heroku.com/" target="_blank"&gt;heroku&lt;/a&gt; para hostear su aplicación tenga en cuenta la gema solr, sunspot_rails&amp;nbsp;y las imagenes. En mi caso saqué la dependencia de solr y las imagenes las subí al servicios &lt;a href="http://aws.amazon.com/s3/" target="_blank"&gt;S3&lt;/a&gt; de &lt;a href="http://aws.amazon.com/articles/846?_encoding=UTF8&amp;amp;jiveRedirect=1" target="_blank"&gt;amazon&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Si esta necesitando comercio&amp;nbsp;electrónico, pase por el sitio de &lt;a href="http://www.linkedin.com/profile/view?id=6758357&amp;amp;authType=NAME_SEARCH&amp;amp;authToken=EiYg&amp;amp;locale=en_US&amp;amp;srchid=f538dd4a-e9c6-40e9-8b8f-0245adc59141-0&amp;amp;srchindex=1&amp;amp;srchtotal=3&amp;amp;goback=%2Efps_PBCK_*1_David_Henner_*1_*1_*1_*1_*2_*1_Y_*1_*1_*1_false_1_R_*1_*51_*1_*51_true_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2_*2&amp;amp;pvs=ps&amp;amp;trk=pp_profile_name_link" target="_blank"&gt;David&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;script&gt; src="http://crux-framework-tools.googlecode.com/svn/trunk/misc/highlight/highlightLoader.js"&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8765457363511550557-8025377093590751346?l=recorriendootrosrumbos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://recorriendootrosrumbos.blogspot.com/feeds/8025377093590751346/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2011/12/ecommerce-en-ror.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/8025377093590751346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/8025377093590751346'/><link rel='alternate' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2011/12/ecommerce-en-ror.html' title='eCommerce en RoR'/><author><name>petek luis</name><uri>https://profiles.google.com/111856420537277180984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-oEpOYxImxRQ/AAAAAAAAAAI/AAAAAAAAAAA/1zgaNV6MY3M/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-5doWV6nb3Ws/TrcbVUq19gI/AAAAAAAAHjI/dmSAB2PK9CQ/s72-c/logo-e.png' height='72' width='72'/><thr:total>1</thr:total><georss:featurename> Ciudad Autónoma de Buenos Aires, Capital Federal, Argentina</georss:featurename><georss:point>-34.6084175 -58.3731613</georss:point><georss:box>-34.71297 -58.5310898 -34.503865000000005 -58.2152328</georss:box></entry><entry><id>tag:blogger.com,1999:blog-8765457363511550557.post-2580103651497352824</id><published>2011-12-08T10:33:00.001-03:00</published><updated>2011-12-10T19:02:58.636-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Entrenando con Ruby y RoR</title><content type='html'>&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-cf62i5mnlME/TuPU8S-8H8I/AAAAAAAAHvI/6h2Fq1F8C_A/s1600/aikido-pic.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/-cf62i5mnlME/TuPU8S-8H8I/AAAAAAAAHvI/6h2Fq1F8C_A/s200/aikido-pic.png" width="186" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Lo mas&amp;nbsp;difícil&amp;nbsp;es comprender que necesitamos aprender y entrenarnos.&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Un excelente post para comprender mejor este punto de vista es &lt;a href="http://msmvps.com/blogs/lopez/archive/2008/01/02/aprendiendo-de-jason-bourne.aspx" target="_blank"&gt;Aprendiendo de Jason Bourne&lt;/a&gt;&amp;nbsp;de&amp;nbsp;&lt;a href="http://www.ajlopez.com/" target="_blank"&gt;@ajlopez&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Me disperso con mucha facilidad y en general dispongo de poco tiempo. Por esto particularmente al aprender un lenguaje o tecnología nueva, debo encararlo como un proceso metódico y programado.&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Que metodos y recursos utilizo con&amp;nbsp;&lt;a href="http://www.ruby-lang.org/es/" target="_blank"&gt;Ruby&lt;/a&gt;&amp;nbsp;y &lt;a href="http://rubyonrails.org/" target="_blank"&gt;RoR&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Primero resguardo una hora diaria para aprender, normalmente es por la mañana a primera hora, tengo menos interrupciones y comprobé que mi cerebro sigue trabajando el tema durante todo el día.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Creo un documento donde voy plasmando lo aprendido. Se compone de pequeñas frases, links, ejemplos&amp;nbsp;extraídos&amp;nbsp;de libros o de páginas, problemas, errores cometidos. Y así en crudo, lo comparto con el grupo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Realizo pequeños proyectos, pruebas, spikes algunos para entender otros para dejar constancia de lo aprendido (esto siempre sirve para divulgar con mayor facilidad).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Utilizo y recorro los tutoriales que aparecen en internet (abajo nombro algunos). Trato de ser constante es esto.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Leo los blogs y sigo por &lt;a href="http://twitter.com/#" target="_blank"&gt;twitter&lt;/a&gt;&amp;nbsp;a los referentes de la comunidad.&amp;nbsp;&lt;span class="Apple-style-span" style="background-color: white; color: #444444; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;@yukihiro_matz&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #444444; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;@dhh, @rbates, @godfoca, @luislavena, @mario_chavez, @tenderlove, y muchos mas.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Libros&lt;/b&gt;&lt;/div&gt;&lt;div&gt;ruby&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Whys Poignant Guide to Ruby&lt;/li&gt;&lt;li&gt;Little Book Of Ruby&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ror&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;a href="http://4.bp.blogspot.com/--tKjiTJdnco/TuETwemU13I/AAAAAAAAHrg/rlexQvd0n8U/s1600/tryruby.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="169" src="http://4.bp.blogspot.com/--tKjiTJdnco/TuETwemU13I/AAAAAAAAHrg/rlexQvd0n8U/s320/tryruby.png" width="320" /&gt;&lt;/a&gt;&lt;li&gt;Agile Web Development With Rails&lt;/li&gt;&lt;li&gt;Learn Ruby On Rails in 4 Days&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Cursos en linea&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://tryruby.org/" target="_blank"&gt;try ruby&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://rubymonk.com/" target="_blank"&gt;ruby monk&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;a href="http://rubykoans.com/" target="_blank"&gt;rubykoans&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.rubylearning.org/class/" target="_blank"&gt;rubylearning&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.ruby-doc.org/docs/ProgrammingRuby/" target="_blank"&gt;programming ruby&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/-8305_XPQ26M/TuPSqPECE8I/AAAAAAAAHvA/01lmOGA5ni0/s1600/railsforzombies.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="201" src="http://1.bp.blogspot.com/-8305_XPQ26M/TuPSqPECE8I/AAAAAAAAHvA/01lmOGA5ni0/s320/railsforzombies.png" width="320" /&gt;&lt;/a&gt;&lt;a href="http://ruby.learncodethehardway.org/book/" target="_blank"&gt;learn the hard way&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://ruby.railstutorial.org/" target="_blank"&gt;ruby on rails tutorial&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://guides.rubyonrails.org/" target="_blank"&gt;rails guide&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://railsforzombies.org/" target="_blank"&gt;rails for zombies&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://railscasts.com/" target="_blank"&gt;railscast&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-TnIX4LbaSI0/TuETvqOt9HI/AAAAAAAAHrY/OpLeS_7Lro8/s1600/rubymonk.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="196" src="http://3.bp.blogspot.com/-TnIX4LbaSI0/TuETvqOt9HI/AAAAAAAAHrY/OpLeS_7Lro8/s320/rubymonk.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Cursos presenciales&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Existe oferta, no es mucha, pero esta creciendo.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Para febrero del 2012 en argentina, la &lt;a href="http://www.cessi.org.ar/" target="_blank"&gt;CESSI&lt;/a&gt;&amp;nbsp;y el Ministerio de Trabajo están impulsando un &lt;a href="http://www.becascontrolf.com.ar/cursos/29/power-builder-ruby-on-rails-y-testing-de-software-ruby-on-rails" target="_blank"&gt;curso&lt;/a&gt; de 80 horas, para aprender sobre Ruby, RoR, Git, deploy en producción, etc.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hace unos meses con dos amigos charlamos sobre Ruby y RoR en el &lt;a href="http://www.mug-it.org.ar/" target="_blank"&gt;MUG&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;Coding Dojos&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;Practicas&amp;nbsp;intensivas sobre un ejemplo simple buscando aprender algún tip o técnica especifica.&amp;nbsp;(debo realizar mas de esto)&lt;/div&gt;&lt;div&gt;Los amigos de &lt;a href="http://www.kleer.la/en" target="_blank"&gt;kleer&lt;/a&gt; realizan estas &lt;a href="http://www.slideshare.net/kleer_la/kleer-yoseki-coding-dojo-rubyconfar" target="_blank"&gt;prácticas&lt;/a&gt; en forma abierta.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Compañeros de trabajo y/o amigos&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Explicar/Aprender a/de otros.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Pair programming&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Listas de correo&lt;/b&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;a href="http://rubysur.org/" target="_blank"&gt;RubySur&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Comunidad &lt;/b&gt;(a mi entender una de las patas mas importantes)&lt;/div&gt;&lt;div&gt;Los meetup, las conferencias y los encuentros de práctica en las oficinas o los bares.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/-jnEbTgypwGg/TuPWXU0rSpI/AAAAAAAAHvQ/BcONPZDJgWU/s1600/runners.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/-jnEbTgypwGg/TuPWXU0rSpI/AAAAAAAAHvQ/BcONPZDJgWU/s200/runners.png" width="137" /&gt;&lt;/a&gt;Escribir sobre algún tema en particular o relacionado. Como en este caso!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Busque su propio método, sus tiempos mas productivos, su forma de aprender y entrenar.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Encuentre su camino.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Recorralo! No se arrepentirá.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8765457363511550557-2580103651497352824?l=recorriendootrosrumbos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://recorriendootrosrumbos.blogspot.com/feeds/2580103651497352824/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2011/12/entrenando-con-ruby-y-ror.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/2580103651497352824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/2580103651497352824'/><link rel='alternate' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2011/12/entrenando-con-ruby-y-ror.html' title='Entrenando con Ruby y RoR'/><author><name>petek luis</name><uri>https://profiles.google.com/111856420537277180984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-oEpOYxImxRQ/AAAAAAAAAAI/AAAAAAAAAAA/1zgaNV6MY3M/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-cf62i5mnlME/TuPU8S-8H8I/AAAAAAAAHvI/6h2Fq1F8C_A/s72-c/aikido-pic.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8765457363511550557.post-4777160105147295921</id><published>2011-11-09T17:54:00.001-03:00</published><updated>2011-11-13T19:04:12.455-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Que me dejo la RubyConfAr</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-dja_s4yDKws/Tr6TJtAIW5I/AAAAAAAAHjc/pN3iHnGU4P8/s1600/rubyconfar.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="96" src="http://3.bp.blogspot.com/-dja_s4yDKws/Tr6TJtAIW5I/AAAAAAAAHjc/pN3iHnGU4P8/s400/rubyconfar.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;A esta altura del año, los compromisos traen aparejado que nos quede poco tiempo para dedicar a otras cosas que no sean las productivas.&lt;br /&gt;&lt;br /&gt;Pero este año me había planteado el tema de participar en la RubyConf fuese como fuese.&lt;br /&gt;&lt;br /&gt;Estoy mas que complacido con esa decision.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;¿Que me dejo la &lt;a href="http://rubyconfargentina.org/es/event/now" target="_blank"&gt;RubyConfAr&lt;/a&gt;?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Conocimiento&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Sorpresa&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Emoción&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Alegría&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-83GJ13_G6Kc/TsA7cuEekjI/AAAAAAAAHoY/e3Oxpz9JMyE/s1600/coffebreak.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="213" src="http://1.bp.blogspot.com/-83GJ13_G6Kc/TsA7cuEekjI/AAAAAAAAHoY/e3Oxpz9JMyE/s320/coffebreak.jpg" width="320" /&gt;&lt;/a&gt;Compartí con amigos y conocí gente muy interesante e interesada en Ruby y todo su ecosistema. Todos en el mismo espacio y tiempo. Great!!!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://rubyconfargentina.org/es/speakers" target="_blank"&gt;&lt;b&gt;Speakers&lt;/b&gt; &lt;/a&gt;de primer nivel. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;aaron patterson&lt;/b&gt; de &lt;a href="http://tenderlovemaking.com/resume.html" target="_blank"&gt;atti&lt;/a&gt;&lt;br /&gt;&lt;b&gt;yutaka hara&lt;/b&gt; de &lt;a href="http://www.netlab.jp/" target="_blank"&gt;network applied communication laboratory&lt;/a&gt;&lt;br /&gt;&lt;b&gt;narihiro nakamura&lt;/b&gt;&amp;nbsp;de &lt;a href="http://www.netlab.jp/" target="_blank"&gt;network applied communication laboratory&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-oiAw3Ld3WVM/TsA5cL1g8uI/AAAAAAAAHoI/QxQnBMkUi48/s1600/LuisLavena.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="211" src="http://1.bp.blogspot.com/-oiAw3Ld3WVM/TsA5cL1g8uI/AAAAAAAAHoI/QxQnBMkUi48/s320/LuisLavena.jpg" width="320" /&gt;&lt;/a&gt;&lt;b&gt;scott chacon&lt;/b&gt; de &lt;a href="https://github.com/" target="_blank"&gt;github&lt;/a&gt;&lt;br /&gt;&lt;b&gt;tom preston-werner&lt;/b&gt; de &lt;a href="https://github.com/" target="_blank"&gt;github&lt;/a&gt;&lt;br /&gt;&lt;b&gt;luis lavena&lt;/b&gt; de &lt;a href="http://www.area17.com/" target="_blank"&gt;area17&lt;/a&gt;&lt;br /&gt;&lt;b&gt;norman clarke&lt;/b&gt; de &lt;a href="http://www.bvision.com/" target="_blank"&gt;business vision&lt;/a&gt;&lt;br /&gt;&lt;b&gt;matt aimonetti&lt;/b&gt; de &lt;a href="http://livingsocial.com/deals/how_it_works" target="_blank"&gt;living social&lt;/a&gt;&lt;br /&gt;&lt;b&gt;konstantin haase&lt;/b&gt; de &lt;a href="http://www.finn.de/about/team" target="_blank"&gt;finn&lt;/a&gt;&lt;br /&gt;&lt;b&gt;koichiro eto&lt;/b&gt; de &lt;a href="http://www-en.sitr.jp/" target="_blank"&gt;social intelligence technology research laboratory&lt;/a&gt;, &lt;a href="http://www.aist.go.jp/index_en.html" target="_blank"&gt;national institute of advanced industrial science and technology&lt;/a&gt; (&lt;a href="http://www.youtube.com/watch?v=B4auh-YFFfE" target="_blank"&gt;video de la representación del router&lt;/a&gt;)&lt;br /&gt;&lt;b&gt;nicolas sanguinetti&lt;/b&gt; de &lt;a href="http://cuboxsa.com/" target="_blank"&gt;cubox&lt;/a&gt;&lt;br /&gt;&lt;b&gt;federico brubacher&lt;/b&gt; de &lt;a href="http://cuboxsa.com/" target="_blank"&gt;cubox&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-oDd1AcVqBT8/TrmXGYsLIHI/AAAAAAAAHjQ/J6j1j4xemuU/s1600/2011-11-08+17.54.16.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-oDd1AcVqBT8/TrmXGYsLIHI/AAAAAAAAHjQ/J6j1j4xemuU/s320/2011-11-08+17.54.16.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;alex coles&lt;/b&gt; de &lt;a href="http://www.payango.com/en" target="_blank"&gt;payango&lt;/a&gt;&lt;br /&gt;&lt;b&gt;stephen anderson&lt;/b&gt; de &lt;a href="http://bendyworks.com/" target="_blank"&gt;bendyworks&lt;/a&gt;&lt;br /&gt;&lt;b&gt;emilio gutter&lt;/b&gt; de &lt;a href="http://www.10pines.com/" target="_blank"&gt;10pines&lt;/a&gt;&lt;br /&gt;&lt;b&gt;patrick huesler&lt;/b&gt; de &lt;a href="http://www.wooga.com/" target="_blank"&gt;wooga&lt;/a&gt;&lt;br /&gt;&lt;b&gt;blake mizerany&lt;/b&gt; de &lt;a href="http://www.heroku.com/" target="_blank"&gt;heroku&lt;/a&gt;&lt;br /&gt;&lt;b&gt;pedro belo&lt;/b&gt; de &lt;a href="http://www.heroku.com/" target="_blank"&gt;heroku&lt;/a&gt;&lt;br /&gt;&lt;b&gt;sean cribbs&lt;/b&gt; de &lt;a href="http://seancribbs.com/" target="_blank"&gt;basho&lt;/a&gt;&lt;br /&gt;&lt;b&gt;pablo torterella&lt;/b&gt; de &lt;a href="http://www.kleer.la/en" target="_blank"&gt;kleer&lt;/a&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-c4DPw4XKpYw/TsAJ9iG80pI/AAAAAAAAHnM/b27dunvRVjU/s1600/ciudad-cultural-konex-2.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-c4DPw4XKpYw/TsAJ9iG80pI/AAAAAAAAHnM/b27dunvRVjU/s320/ciudad-cultural-konex-2.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.ciudadculturalkonex.org/" target="_blank"&gt;Ciudad Konex&lt;/a&gt; fue el lugar elegido, que nos facilito la interacción y el encuentro. Un lugar para tener en cuenta.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-WPbKzmnxCps/TsA7bq8HGmI/AAAAAAAAHoQ/rPWbiRwFFBs/s1600/organizationteam.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="213" src="http://4.bp.blogspot.com/-WPbKzmnxCps/TsA7bq8HGmI/AAAAAAAAHoQ/rPWbiRwFFBs/s320/organizationteam.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Organización&lt;/b&gt;&lt;br /&gt;Muy buena. Prolija en todo sentido. Atenta a los comentarios y sugerencias de los asistentes. Puntualidad para con los speaker y los asistentes.&lt;br /&gt;&lt;br /&gt;Dejo para los mas técnicos y conocedores el evaluar el contenido de cada charla.&lt;br /&gt;&lt;br /&gt;El segundo día se realizaron varios&amp;nbsp;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="font-family: Times, 'Times New Roman', serif;"&gt;Lightning Talks&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 12px;"&gt;,&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, sans-serif; font-size: 12px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;gracias a Yutaka Hara (&lt;a href="http://route477.net/" target="_blank"&gt;@yhara_en&lt;/a&gt;)&amp;nbsp;&amp;nbsp;&lt;a href="http://route477.net/e/?date=20111113#p01" target="_blank"&gt;aquí&lt;/a&gt;&amp;nbsp;les dejo la lista.&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-CYsClsu4xQY/TmzMPh_DBRI/AAAAAAAAHW4/DjgjNgbDsOE/s1600/github.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-CYsClsu4xQY/TmzMPh_DBRI/AAAAAAAAHW4/DjgjNgbDsOE/s1600/github.png" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/-zYJaTDhIqSU/TsA2hEeqtXI/AAAAAAAAHoA/QQGbVav7VcA/s1600/bvision.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-zYJaTDhIqSU/TsA2hEeqtXI/AAAAAAAAHoA/QQGbVav7VcA/s1600/bvision.png" /&gt;&lt;/a&gt;&lt;br /&gt;Hubo luego de las jornadas, DrinksUp por la noche. Gracias a los sponsors &lt;a href="https://github.com/" target="_blank"&gt;GitHub&lt;/a&gt; y &lt;a href="http://www.b-vision.com/" target="_blank"&gt;bvision&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Señores que se repita! Esto es comunidad!&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8765457363511550557-4777160105147295921?l=recorriendootrosrumbos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://recorriendootrosrumbos.blogspot.com/feeds/4777160105147295921/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2011/11/que-me-dejo-la-rubyconfar.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/4777160105147295921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/4777160105147295921'/><link rel='alternate' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2011/11/que-me-dejo-la-rubyconfar.html' title='Que me dejo la RubyConfAr'/><author><name>petek luis</name><uri>https://profiles.google.com/111856420537277180984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-oEpOYxImxRQ/AAAAAAAAAAI/AAAAAAAAAAA/1zgaNV6MY3M/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-dja_s4yDKws/Tr6TJtAIW5I/AAAAAAAAHjc/pN3iHnGU4P8/s72-c/rubyconfar.png' height='72' width='72'/><thr:total>0</thr:total><georss:featurename>Sarmiento 3131, Ciudad Autónoma de Buenos Aires, Capital Federal, Argentina</georss:featurename><georss:point>-34.6066617 -58.4104027</georss:point><georss:box>-34.60829519999999 -58.4128702 -34.6050282 -58.4079352</georss:box></entry><entry><id>tag:blogger.com,1999:blog-8765457363511550557.post-563211330831961447</id><published>2011-10-23T10:11:00.002-03:00</published><updated>2011-10-23T10:11:29.162-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='node.js'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='heroku'/><category scheme='http://www.blogger.com/atom/ns#' term='repositorio'/><title type='text'>Rails en la nube se llama Heroku</title><content type='html'>&lt;b&gt;Ohhh dios &lt;a href="http://www.heroku.com/"&gt;Heroku&lt;/a&gt;, tu que todo lo puedes, has que mis aplicaciones sean veloces, nunca se detengan y soporten millones de visitas!!!&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;a href="http://4.bp.blogspot.com/-htybLZX8JLg/TmzLpP7mvsI/AAAAAAAAHWk/InaIDym7ukg/s1600/logo-developer-heroku.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-htybLZX8JLg/TmzLpP7mvsI/AAAAAAAAHWk/InaIDym7ukg/s1600/logo-developer-heroku.png" /&gt;&lt;/a&gt;&lt;/div&gt;¿sera que estoy pidiendo mucho?&lt;br /&gt;&lt;br /&gt;Veamos un poco mas de cerca.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;¿que es esto?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.heroku.com/"&gt;Heroku&lt;/a&gt; es un servicio en la nube del tipo &lt;a href="http://en.wikipedia.org/wiki/Platform_as_a_service"&gt;PaaS&lt;/a&gt; (Platform as a Service) multi lenguaje (&lt;a href="http://www.ruby-lang.org/en/"&gt;Ruby&lt;/a&gt;, Java, &lt;a href="http://www.php.net/"&gt;PHP&lt;/a&gt;, &lt;a href="http://www.scala-lang.org/"&gt;Scala&lt;/a&gt;, &lt;a href="http://clojure.org/"&gt;Clojure&lt;/a&gt;, JavaScript (&lt;a href="http://nodejs.org/"&gt;node.js&lt;/a&gt;) y &lt;a href="http://www.python.org/"&gt;Phyton&lt;/a&gt;) montado sobre la infraestructura de&amp;nbsp;&lt;a href="http://aws.amazon.com/"&gt;Amazon Web Services&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;¿que podemos hacer?&lt;/b&gt;&lt;br /&gt;Múltiples configuraciones disponibles, nos permiten elegir la mejor relación entre prestaciones y precio.&lt;br /&gt;&lt;br /&gt;Existe la posibilidad de utilizar instancias gratuitas con la suficiente potencia y espacio donde publicar nuestros prototipos y que el mundo pueda disfrutar las maravillas que desarrollamos.&lt;br /&gt;&lt;br /&gt;Se nos permite pasar desde la instancia gratuita a una paga, solo con un click y una tarjeta de crédito internacional.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;RoR y Heroku&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Se llevan muy bien, con &lt;a href="http://git-scm.com/"&gt;Git&lt;/a&gt; podemos sincronizar nuestro proyecto y &lt;a href="http://www.heroku.com/"&gt;Heroku&lt;/a&gt; realizara el trabajo necesario para poner en marcha nuestra solución sobre un server&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #333333; line-height: 18px;"&gt;&lt;a href="http://nginx.org/"&gt;Nginx&lt;/a&gt; y una base de datos&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: whitesmoke; line-height: 13px;"&gt;&lt;a href="http://www.postgresql.org/"&gt;PostgreSQL&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Tengamos muy en cuenta que esto es un servicio en la nube,&amp;nbsp;tuve&amp;nbsp;que aprender que se puede hacer y que no... lindos golpes en los dientes.&lt;br /&gt;&lt;br /&gt;Tenga cuidado con&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;la ubicación donde quiere dejar archivos.&amp;nbsp;&lt;/li&gt;&lt;li&gt;tratar de ejecutar procesos largos y/o de mucha transferencia de datos.&lt;/li&gt;&lt;li&gt;algunas gemas no se llevan bien.&lt;/li&gt;&lt;li&gt;algo que corre perfectamente en modo desarrollo y si no esta bien probado, cuando se lo sube, es sometido a los chequeos estáticos y puede que no se le permita arrancar..&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Por otra parte, podemos realizar backups de los datos, subir modificaciones en caliente, realizar cambios en las estructuras de datos, ver como se comporta nuestro modelo en forma interactiva, revisar el log del web server, etc. Todo esto, en forma idéntica a como lo realizamos en nuestro equipo local.&lt;br /&gt;Un '&lt;i&gt;rails console'&lt;/i&gt; tiene su contrapartida en '&lt;i&gt;heroku console', 'rake db:migrate' &lt;/i&gt;se traduce en&lt;i&gt; 'heroku rake db:migrate'&lt;/i&gt;, fácil no?&lt;br /&gt;&lt;br /&gt;Lea en el sitio de &lt;a href="http://www.heroku.com/"&gt;Heroku&lt;/a&gt; que la documentación esta muy bien armanda y luego...&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color: transparent;"&gt;&lt;span id="internal-source-marker_0.09978964179754257" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;i&gt;$ gem install heroku&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: Times; font-size: small; white-space: normal;"&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="background-color: transparent;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="font-family: Times; font-size: small; white-space: normal;"&gt;&lt;span id="internal-source-marker_0.09978964179754257" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;i&gt;$ heroku create MyApp&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="font-family: Times; font-size: small; white-space: normal;"&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Servicios que se asemejan&amp;nbsp;&lt;a href="http://www.rackspace.com/"&gt;Rackspace&lt;/a&gt;, &lt;a href="http://www.engineyard.com/"&gt;Engine Yard&lt;/a&gt;, &lt;a href="http://www.rightscale.com/"&gt;RightScale&lt;/a&gt;, &lt;a href="http://www.simpleworker.com/"&gt;SimpleWorker&lt;/a&gt;&amp;nbsp;y &lt;a href="http://www.morphlabs.com/"&gt;Morph&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8765457363511550557-563211330831961447?l=recorriendootrosrumbos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://recorriendootrosrumbos.blogspot.com/feeds/563211330831961447/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2011/10/rails-en-la-nube-se-llama-heroku.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/563211330831961447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/563211330831961447'/><link rel='alternate' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2011/10/rails-en-la-nube-se-llama-heroku.html' title='Rails en la nube se llama Heroku'/><author><name>petek luis</name><uri>https://profiles.google.com/111856420537277180984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-oEpOYxImxRQ/AAAAAAAAAAI/AAAAAAAAAAA/1zgaNV6MY3M/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-htybLZX8JLg/TmzLpP7mvsI/AAAAAAAAHWk/InaIDym7ukg/s72-c/logo-developer-heroku.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8765457363511550557.post-6042293030461671500</id><published>2011-10-09T12:45:00.000-03:00</published><updated>2011-10-09T12:45:01.839-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='generacion'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='ajgenesis'/><title type='text'>Rails tiene scaffold, nosotros usamos AjGenesis</title><content type='html'>Unos años atras descubrí los beneficios de la generación de código en forma automatizada.&lt;br /&gt;&lt;br /&gt;Estudie diferentes opciones y me quede con &lt;a href="http://ajgenesis.codeplex.com/releases/view/7262"&gt;AjGenesis&lt;/a&gt;.&amp;nbsp;¿por que?&lt;br /&gt;&lt;br /&gt;Nada mejor que los textos originales del maestro para explicarlo&lt;br /&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2006/11/19/generando-c-digo-hello-world-con-ajgenesis.aspx"&gt;Generando codigo&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2007/06/25/generando-aplicaciones-con-ajgenesis.aspx"&gt;Generando aplicaciones con AjGenesis&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2007/08/02/sobre-la-generaci-243-n-de-c-243-digo.aspx"&gt;Sobre la generación de codigo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Aquí les dejo una grafica del concepto detrás de&amp;nbsp;&lt;a href="http://ajgenesis.codeplex.com/releases/view/7262"&gt;AjGenesis&lt;/a&gt;, por el mismo autor :&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-YfF6mKaqz_I/TpEEm5JBmMI/AAAAAAAAHek/Bz_iKpn4Vvo/s1600/AjGenesisDrawings01-01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-YfF6mKaqz_I/TpEEm5JBmMI/AAAAAAAAHek/Bz_iKpn4Vvo/s400/AjGenesisDrawings01-01.png" width="260" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Tuve la suerte de poder compartir charlas, cursos y después horas de trabajo codo a codo con el maestro &lt;a href="http://www.ajlopez.com/"&gt;Angel 'Java' Lopez&lt;/a&gt;&amp;nbsp;quien me inicio en el arte de la generación de código.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-jXyFRwxmR9w/TaOrep0D-DI/AAAAAAAAHNM/llcIZY687ok/s1600/rails-712759.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-jXyFRwxmR9w/TaOrep0D-DI/AAAAAAAAHNM/llcIZY687ok/s200/rails-712759.png" width="156" /&gt;&lt;/a&gt;&lt;/div&gt;Luego de utilizarlo en proyectos reales para generar soluciones en .Net y Java, fue absolutamente natural utilizarlo para generar proyectos Ruby on Rails.&lt;br /&gt;&lt;br /&gt;A la generación de código la considero un aliado indiscutido en la programación diaria para cualquier equipo de desarrollo maduro.&lt;br /&gt;&lt;br /&gt;Las ventajas son muchas y ninguna es menor o despreciable.&lt;br /&gt;&lt;br /&gt;Podemos realizar facilmente cambios de fondo en la aplicación a un nivel de profundidad que sin esta metodologías y herramientas serían mortales, en tiempo y en calidad.&lt;br /&gt;&lt;br /&gt;Puntualmente en RoR, lo utilizamos para la generación de mas de un 90% de las vistas de los proyectos.&lt;br /&gt;&lt;br /&gt;Si el proyecto tiene una base de datos 'Legacy' utilizamos&amp;nbsp;&lt;a href="http://ajgenesis.codeplex.com/releases/view/7262"&gt;AjGenesis&lt;/a&gt;&amp;nbsp;para extraer la información desde las estructuras de las tablas en la DB y volcar esto en entidades&amp;nbsp;agnósticas&amp;nbsp;con las que luego &amp;nbsp;generamos los modelos, los controladores y las respectivas vistas.&lt;br /&gt;&lt;br /&gt;Recién en este punto avanzamos manualmente, agregando la 'inteligencia' al proyecto. Aportando el diferencial real para que una aplicación tenga ese plus que tanto valora nuestro cliente. La diferencia es que esta etapa para nosotros comienza muy tempranamente.&lt;br /&gt;&lt;br /&gt;Podemos regenerar toda la apariencia de la aplicación, realizando cambios en los templates en que se basa la generación y tener todo funcionando en poco tiempo.&lt;br /&gt;&lt;br /&gt;Tambien nos permite utilizar el tiempo de los desarrolladores senior en cosas que aportan el mayor valor al total del negocio y a los junior no tenerlos programando CRUD´s simples en forma&amp;nbsp;mecánica.&lt;br /&gt;&lt;br /&gt;Hasta acá algunas de las ventajas. Descubra y encuentre las suyas... están allí, no lo dude.&lt;br /&gt;&lt;br /&gt;Si nunca han incursionado en la generación, sepan que se están perdiendo mucho. Si están utilizando &amp;nbsp;pero no probaron con&amp;nbsp;&lt;a href="http://ajgenesis.codeplex.com/releases/view/7262"&gt;AjGenesis&lt;/a&gt;&amp;nbsp;sepan que se están perdiendo mucho. Si ya hacen estas cosas podemos juntarnos, tomar unas cervezas, compartir anécdotas y buenos recuerdos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8765457363511550557-6042293030461671500?l=recorriendootrosrumbos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://recorriendootrosrumbos.blogspot.com/feeds/6042293030461671500/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2011/10/rails-tiene-scaffold-nosotros-usamos.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/6042293030461671500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/6042293030461671500'/><link rel='alternate' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2011/10/rails-tiene-scaffold-nosotros-usamos.html' title='Rails tiene scaffold, nosotros usamos AjGenesis'/><author><name>petek luis</name><uri>https://profiles.google.com/111856420537277180984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-oEpOYxImxRQ/AAAAAAAAAAI/AAAAAAAAAAA/1zgaNV6MY3M/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-YfF6mKaqz_I/TpEEm5JBmMI/AAAAAAAAHek/Bz_iKpn4Vvo/s72-c/AjGenesisDrawings01-01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8765457363511550557.post-9113761856562048781</id><published>2011-10-02T22:23:00.000-03:00</published><updated>2011-10-02T22:23:09.331-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='node.js'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>No solo de RoR vive el programadoRoR</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/-j6vlGiX63iY/Tojtyp-D-rI/AAAAAAAAHeQ/hCfZI1C04yU/s1600/javascript.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-j6vlGiX63iY/Tojtyp-D-rI/AAAAAAAAHeQ/hCfZI1C04yU/s1600/javascript.jpg" /&gt;&lt;/a&gt;Cuando estoy desarrollando una aplicación, realizo aproximaciones sucesivas buscando alcanzar la solución deseada por el usuario.&lt;br /&gt;&lt;br /&gt;Mucho de lo deseado puede ser realizado con Ruby on Rails. Tambien utilizamos&amp;nbsp;gemas como &lt;a href="https://github.com/justinfrench/formtastic"&gt;Formtastic&lt;/a&gt;, &lt;a href="https://github.com/amatsuda/kaminari"&gt;Kaminari&lt;/a&gt;, &lt;a href="https://github.com/nathanvda/cocoon"&gt;Cocoon&lt;/a&gt;, &lt;a href="https://github.com/ernie/meta_search"&gt;Meta_search&lt;/a&gt;, &lt;a href="https://github.com/plataformatec/devise"&gt;Devise&lt;/a&gt;, &lt;a href="https://github.com/ryanb/cancan"&gt;CanCan&lt;/a&gt;, &lt;a href="https://github.com/thoughtbot/paperclip"&gt;PaperClip&lt;/a&gt; y &lt;a href="https://github.com/alexreisner/geocoder"&gt;GeoCoder&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Esta de mas decir que saber Html y Css es un requisito ineludible.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-qvotw3GDRGg/TojtzViukUI/AAAAAAAAHec/nbER4dOq8Ag/s1600/CoffeeScript.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="41" src="http://1.bp.blogspot.com/-qvotw3GDRGg/TojtzViukUI/AAAAAAAAHec/nbER4dOq8Ag/s200/CoffeeScript.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Con todo esto como armamento disponible en cada iteración, intento ver diferentes aspectos que forman parte del desarrollo en ese estadío dado.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ps_VsXHtBfo/TojtyZk1tUI/AAAAAAAAHeM/xWr7z2jnlag/s1600/cucumber_logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="60" src="http://3.bp.blogspot.com/-ps_VsXHtBfo/TojtyZk1tUI/AAAAAAAAHeM/xWr7z2jnlag/s200/cucumber_logo.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;Entonces es cuando surgen los faltantes y debemos urgar en nuestra 'valija de herramientas' para no tratar de clavar un clavo con un destornillador.&lt;br /&gt;&lt;br /&gt;Debemos ver y aprender otras cosas que rodean e interactuan con nuestra plataforma principal. No todo es Ruby on Rails.&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-_5J3n1mAJec/TojtyX4LB8I/AAAAAAAAHeI/IkeGRZ5zbCQ/s1600/html5.jpeg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="142" src="http://2.bp.blogspot.com/-_5J3n1mAJec/TojtyX4LB8I/AAAAAAAAHeI/IkeGRZ5zbCQ/s200/html5.jpeg" width="200" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.w3schools.com/js/js_intro.asp"&gt;JavaScript&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.davidchelimsky.net/2007/05/14/an-introduction-to-rspec-part-i/"&gt;rSpec&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://cukes.info/"&gt;Cucumber&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://github.com/jnicklas/capybara"&gt;Capybara&lt;/a&gt;&lt;/li&gt;&lt;li&gt;H&lt;a href="http://www.w3.org/TR/html5/"&gt;tml5&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.css3.info/"&gt;css3&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://nodejs.org/"&gt;node.js&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://jashkenas.github.com/coffee-script/"&gt;CoffeeScript&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/-Z1AzwqxYmXw/TojtzEB7CuI/AAAAAAAAHeY/BiXf-L6RZtI/s1600/nodejs.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="61" src="http://1.bp.blogspot.com/-Z1AzwqxYmXw/TojtzEB7CuI/AAAAAAAAHeY/BiXf-L6RZtI/s200/nodejs.png" width="200" /&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Para saber que buscar, tengo en mente esta lista de factores&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-z7azqmmqkQs/TokEJDb39ZI/AAAAAAAAHeg/XV5ha5PCzHw/s1600/jquery-logo.gif" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="73" src="http://2.bp.blogspot.com/-z7azqmmqkQs/TokEJDb39ZI/AAAAAAAAHeg/XV5ha5PCzHw/s200/jquery-logo.gif" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Facilidad en el desarrollo&lt;/li&gt;&lt;li&gt;Calidad del producto en general&amp;nbsp;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;confiabilidad&amp;nbsp;&lt;/li&gt;&lt;li&gt;escalabilidad&lt;/li&gt;&lt;li&gt;portabilidad&lt;/li&gt;&lt;li&gt;disponibilidad&lt;/li&gt;&lt;li&gt;usabilidad&lt;/li&gt;&lt;li&gt;facilitar el testeo&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;Y siempre busco entregar lo prometido o algo mejor.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8765457363511550557-9113761856562048781?l=recorriendootrosrumbos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://recorriendootrosrumbos.blogspot.com/feeds/9113761856562048781/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2011/10/no-solo-de-ror-vive-el-programadoror.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/9113761856562048781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/9113761856562048781'/><link rel='alternate' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2011/10/no-solo-de-ror-vive-el-programadoror.html' title='No solo de RoR vive el programadoRoR'/><author><name>petek luis</name><uri>https://profiles.google.com/111856420537277180984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-oEpOYxImxRQ/AAAAAAAAAAI/AAAAAAAAAAA/1zgaNV6MY3M/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-j6vlGiX63iY/Tojtyp-D-rI/AAAAAAAAHeQ/hCfZI1C04yU/s72-c/javascript.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8765457363511550557.post-4346423360037450104</id><published>2011-09-11T20:55:00.003-03:00</published><updated>2012-01-20T08:59:05.844-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='repositorio'/><title type='text'>(Git..Heroku).each do |repo|</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-CYsClsu4xQY/TmzMPh_DBRI/AAAAAAAAHW4/DjgjNgbDsOE/s1600/github.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-CYsClsu4xQY/TmzMPh_DBRI/AAAAAAAAHW4/DjgjNgbDsOE/s1600/github.png" /&gt;&lt;/a&gt;&lt;/div&gt;Cuando comenzamos con un proyecto debemos establecer cual será el lugar donde resguardar el código, la documentación, algunas herramientas, maquetas funcionales, ejemplos. Además queremos que sea accesible para compartir con el equipo de trabajo, amigos y/o el cliente.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-htybLZX8JLg/TmzLpP7mvsI/AAAAAAAAHWk/InaIDym7ukg/s1600/logo-developer-heroku.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-htybLZX8JLg/TmzLpP7mvsI/AAAAAAAAHWk/InaIDym7ukg/s1600/logo-developer-heroku.png" /&gt;&lt;/a&gt;Para muchos de nosotros esto es trivial, configuramos repositorios para realizar una prueba de concepto o un gran proyecto.&lt;br /&gt;&lt;br /&gt;Es automático, un reflejo, un paso obligado para comenzar. &amp;nbsp;Nos da esa seguridad de tener todo bajo control y ordenado.&lt;br /&gt;&lt;br /&gt;Se pueden gestionar repositorios con Visual Source Safe, SVN, Mercurial, Git, &amp;nbsp; mantener versiones diferentes y diferenciadas de todos estos documentos que guardamos, posibilitando ver sus diferencias, integrarlos o descartarlos.&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/--1z-4st6KDc/Tm09R1iA89I/AAAAAAAAHco/4Z_hrfgl8vA/s1600/codeplex.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/--1z-4st6KDc/Tm09R1iA89I/AAAAAAAAHco/4Z_hrfgl8vA/s1600/codeplex.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;De todos estos y tantos mas que se encuentran, yo utilizo SVN y Git. En los&amp;nbsp;últimos&amp;nbsp;6 meses, solo Git pues aprendí a utilizar el cliente para SVN que contiene Git en sus entrañas.&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-CDBi4uJHhzQ/Tm09R6SfT8I/AAAAAAAAHck/5uAZMKupsrE/s1600/sourceforge.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-CDBi4uJHhzQ/Tm09R6SfT8I/AAAAAAAAHck/5uAZMKupsrE/s1600/sourceforge.png" /&gt;&lt;/a&gt;&lt;br /&gt;Podemos utilizar servidores en nuestra red local o en nuestro propio equipo de desarrollo, esto último no es algo muy recomendable... o dejar todo en la nube.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-H8fkPn7mGkk/Tm078RAMNuI/AAAAAAAAHcU/RFS_s0ue9zw/s1600/google-code.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-H8fkPn7mGkk/Tm078RAMNuI/AAAAAAAAHcU/RFS_s0ue9zw/s1600/google-code.jpg" /&gt;&lt;/a&gt;Acá es donde comienzan a aparecer muchos y muy buenos repositorios para elegir. Básicamente hoy estoy utilizando dos, github y heroku. Heroku es un repositorio y un entorno para ejecución de las aplicaciones RoR, pero es un repositorio que sincronizo con Git, tan fácil como el que esta en mi maquina.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-OyO8RNdzRy8/Tm1J97xEczI/AAAAAAAAHcs/Y7wS1CO_bgE/s1600/logo_visual_svn_server.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-OyO8RNdzRy8/Tm1J97xEczI/AAAAAAAAHcs/Y7wS1CO_bgE/s1600/logo_visual_svn_server.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp;Pruebe, utilice, lea, aprenda y use alguno! No existe otra opción. El uso de repositorios y versionado de nuestros proyectos es el único camino.&lt;br /&gt;&lt;br /&gt;Mini tutorial de &lt;a href="http://geneura.ugr.es/~jmerelo/tutoriales/git/"&gt;Git&lt;/a&gt; en español.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8765457363511550557-4346423360037450104?l=recorriendootrosrumbos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://recorriendootrosrumbos.blogspot.com/feeds/4346423360037450104/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2011/09/githerokueach-do-repos.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/4346423360037450104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/4346423360037450104'/><link rel='alternate' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2011/09/githerokueach-do-repos.html' title='(Git..Heroku).each do |repo|'/><author><name>petek luis</name><uri>https://profiles.google.com/111856420537277180984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-oEpOYxImxRQ/AAAAAAAAAAI/AAAAAAAAAAA/1zgaNV6MY3M/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-CYsClsu4xQY/TmzMPh_DBRI/AAAAAAAAHW4/DjgjNgbDsOE/s72-c/github.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8765457363511550557.post-2085748580765643255</id><published>2011-05-01T14:56:00.001-03:00</published><updated>2011-11-06T19:09:21.750-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='mug'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Primera charla sobre Ruby &amp; Ruby on Rails en el MUG</title><content type='html'>&lt;div style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span class="Apple-style-span" style="clear: right; color: black; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;a href="http://4.bp.blogspot.com/-hOXGpkKCrWk/TrcDnTQj72I/AAAAAAAAHi4/VamNaRkwZ9w/s1600/rails.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-hOXGpkKCrWk/TrcDnTQj72I/AAAAAAAAHi4/VamNaRkwZ9w/s1600/rails.png" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/-_cJbHUMOEzw/TrRJr1af9ZI/AAAAAAAAHiU/SRTHZQrT-sA/s1600/mug.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-_cJbHUMOEzw/TrRJr1af9ZI/AAAAAAAAHiU/SRTHZQrT-sA/s1600/mug.png" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/-ZTi3874lvgg/TrcDm_W1NNI/AAAAAAAAHis/Cb1V9UALp4c/s1600/ruby.jpeg" imageanchor="1" style="clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-ZTi3874lvgg/TrcDm_W1NNI/AAAAAAAAHis/Cb1V9UALp4c/s1600/ruby.jpeg" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="clear: right; display: inline; float: none; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;El jueves 28 de abril tuve muchas emociones en un solo día.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;¿Por que? &lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Dí mi primera charla en el MUG, un lugar que aprecio.&lt;/li&gt;&lt;li&gt;Una gran cantidad de personas participaron en el evento, estando realmente interesadas.&lt;/li&gt;&lt;li&gt;Y compartí con Maximiliano Dello Russo (@maxidr) y Luis Guardiola (@lguardiola) una muy entretenida charla mostrando algunos tópicos sobre el lenguaje Ruby y su framework mas famoso RoR (Ruby on Rails)&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;¿De que hablamos?&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Historia, personajes y sus relaciones, impresiones personales y código (mucho código) como nos gusta a nosotros. &lt;br /&gt;&lt;br /&gt;&lt;a href="https://lh6.googleusercontent.com/_ZsQAPf1Jahg/Tb2a5HhIdjI/AAAAAAAAHN4/_d2BP-FKuVo/s1600/20110428191210.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img align="left" border="0" src="https://lh6.googleusercontent.com/_ZsQAPf1Jahg/Tb2a5HhIdjI/AAAAAAAAHN4/_d2BP-FKuVo/s288/20110428191210.jpg" style="display: inline;" /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp; Luis Guardiola y Maximiliano Dello Russo aportando sus &amp;nbsp;conocimientos. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://lh6.googleusercontent.com/_ZsQAPf1Jahg/Tb2a6sUiG6I/AAAAAAAAHOA/2UtWYtnf0UE/s1600/20110428191253.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img align="left" border="0" src="https://lh6.googleusercontent.com/_ZsQAPf1Jahg/Tb2a6sUiG6I/AAAAAAAAHOA/2UtWYtnf0UE/s288/20110428191253.jpg" style="display: inline;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Amigos de muchos años en el camino del desarrollo, muy entretenidos.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://lh6.googleusercontent.com/_ZsQAPf1Jahg/Tb2a5xCB7eI/AAAAAAAAHN8/hNIWxCnMUno/s1600/20110428191145.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img align="left" border="0" src="https://lh6.googleusercontent.com/_ZsQAPf1Jahg/Tb2a5xCB7eI/AAAAAAAAHN8/hNIWxCnMUno/s288/20110428191145.jpg" style="display: inline;" /&gt;&lt;/a&gt;&lt;br /&gt;Acá estoy tratando de explicar una simple cuenta con el IRB o encontrando algo nuevo en el viejo ejemplo de “Hola Mundo”&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Estas son algunas imágenes del encuentro y sus protagonistas. Gracias a Oscar Turquet del &lt;a href="http://www.mug-it.org.ar/" target="_blank"&gt;MUG&lt;/a&gt; por facilitarlas. &lt;br /&gt;&lt;br /&gt;Que puedo decir mas que agradecerles a todos los presentes por estar allí. Y no quiero olvidarme de la persona que logro ponerme frente a un auditorio, mi agradecimiento particular a &lt;a href="http://www.salias.com.ar/" target="_blank"&gt;Martín Salías&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;La presentación y sus consecuencias en el &lt;a href="http://ror-in-mug.blogspot.com/" target="_blank"&gt;blog&lt;/a&gt; (RoR in &lt;a href="http://www.mug.org.ar/" target="_blank"&gt;MUG&lt;/a&gt;) que generamos para continuar el&lt;br /&gt;intercambio.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;Ahhh, no me quiero olvidar… en un mes nos vemos de nuevo en el &lt;a href="http://www.mug.org.ar/"&gt;MUG&lt;/a&gt; y con muchas sorpresas! No te lo pierdas!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8765457363511550557-2085748580765643255?l=recorriendootrosrumbos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://recorriendootrosrumbos.blogspot.com/feeds/2085748580765643255/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2011/05/primera-charla-sobre-ruby-ruby-on-rails.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/2085748580765643255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/2085748580765643255'/><link rel='alternate' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2011/05/primera-charla-sobre-ruby-ruby-on-rails.html' title='Primera charla sobre Ruby &amp;amp; Ruby on Rails en el MUG'/><author><name>petek luis</name><uri>https://profiles.google.com/111856420537277180984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-oEpOYxImxRQ/AAAAAAAAAAI/AAAAAAAAAAA/1zgaNV6MY3M/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-hOXGpkKCrWk/TrcDnTQj72I/AAAAAAAAHi4/VamNaRkwZ9w/s72-c/rails.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8765457363511550557.post-7692755890344907502</id><published>2011-04-03T23:03:00.001-03:00</published><updated>2011-10-02T22:35:12.432-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Ruby on Rails: una pareja solida</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-3mf43ji4Mh0/TR0ZeIrneYI/AAAAAAAAG8o/6mYdeJp_RBM/s1600/ruby.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/-3mf43ji4Mh0/TR0ZeIrneYI/AAAAAAAAG8o/6mYdeJp_RBM/s200/ruby.png" width="199" /&gt;&lt;/a&gt;&lt;/div&gt;Tuvimos mucha actividad en el 'ruby world' desde nuestra ultima publicación.  &lt;br /&gt;&lt;br /&gt;El séptimo encuentro de ruby se llevo a cabo en las instalaciones de &lt;a href="http://argentina.enjoyurbanstation.com/es/" target="_blank"&gt;urban station&lt;/a&gt; en Palermo, un barrio de la ciudad de buenos aires.&lt;br /&gt;&lt;br /&gt;Para mi el primero, pero no será el último. Un grupo excelente, participativo, que escucha, habla y comparte. Mas detalles y video en &lt;a href="http://www.codeandbeyond.org/2011/03/video-ruby-meetup-en-buenos-aires.html" target="_blank"&gt;Code&amp;amp;Beyond&lt;/a&gt; del amigo &lt;a href="http://www.salias.com.ar/" target="_blank"&gt;Martín Salías&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-jXyFRwxmR9w/TaOrep0D-DI/AAAAAAAAHNM/llcIZY687ok/s1600/rails-712759.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-jXyFRwxmR9w/TaOrep0D-DI/AAAAAAAAHNM/llcIZY687ok/s200/rails-712759.png" width="156" /&gt;&lt;/a&gt;&lt;/div&gt;El framework Rails, mas conocido como RoR, por ruby on rails, es un framework para desarrollos web multipropósito completo. Utiliza el patrón MVC para construir la aplicación y para la persistencia de los datos el ORM active record.  &lt;br /&gt;&lt;br /&gt;Para solucionar los problemas que nos platea nuestro desarrollo podemos adicionar distintas gemas (&lt;a href="http://rubygems.org/" target="_blank"&gt;gems&lt;/a&gt;) extendiendo el framework. &lt;br /&gt;&lt;br /&gt;Tanto ruby como rails me han devuelto la alegría mientras construyo software. Una cosa que sin darme cuenta había perdido con Net y Java, pensé que era una sensación personal, pero ahora puedo afirmar que es un sentimiento compartido por otros desarrolladores provenientes de muy variadas plataformas.  &lt;br /&gt;&lt;br /&gt;Bueno, vamos a los bifes. Con rails podemos generar un nuevo proyecto con una linea de comando &amp;gt; rails new 'projectname'.&lt;br /&gt;&amp;nbsp; &lt;br /&gt;La estructura base del proyecto es limpia y fácilmente comprensible, como puede verse en la imagen de abajo. &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;img height="383" src="https://lh5.googleusercontent.com/_ZsQAPf1Jahg/Tb1uF4D4MoI/AAAAAAAAHNw/BxifNtCMjDM/s800/Model.png" width="550" /&gt;  &lt;br /&gt;Tenemos un archivo en el directorio principal de la nueva aplicación 'gemfile' donde especificar lo que utilizaremos en esta.  &lt;br /&gt;&lt;br /&gt;Una sutil pero muy interesante acotación, rails separa desde el primer momento desarrollo, prueba e implementación. Un detalle no menor para un desarrollador con unos kilómetros recorridos. &lt;br /&gt;&lt;br /&gt;Encontraran muchos tutoriales libres y gratuitos por la web, a mi me gusto mucho &lt;a href="http://guides.rubyonrails.org/getting_started.html"&gt;el oficial&lt;/a&gt; y &lt;a href="http://ruby.railstutorial.org/chapters/a-demo-app#main_content"&gt;Ruby on Rails Tutorial&lt;/a&gt; de Michael Hartl. &lt;br /&gt;&lt;br /&gt;Todos los artefactos que se generan son de texto. Esto me permitiría generar todo con el &lt;a href="http://www.ajlopez.com/ajgenesis/" target="_blank"&gt;AjGenesis&lt;/a&gt; de &lt;a href="http://www.ajlopez.com/" target="_blank"&gt;Angel ‘Java’ Lopez&lt;/a&gt; y su sistema libre de modelado. &lt;br /&gt;&lt;br /&gt;Sitios recomendados &lt;a href="http://railscasts.com/" target="_blank"&gt;RailsCasts&lt;/a&gt; de &lt;a href="http://workingwithrails.com/person/6491-ryan-bates" target="_blank"&gt;Ryan Bates&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8765457363511550557-7692755890344907502?l=recorriendootrosrumbos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://recorriendootrosrumbos.blogspot.com/feeds/7692755890344907502/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2011/04/ruby-on-rails-una-pareja-solida_03.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/7692755890344907502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/7692755890344907502'/><link rel='alternate' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2011/04/ruby-on-rails-una-pareja-solida_03.html' title='Ruby on Rails: una pareja solida'/><author><name>petek luis</name><uri>https://profiles.google.com/111856420537277180984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-oEpOYxImxRQ/AAAAAAAAAAI/AAAAAAAAAAA/1zgaNV6MY3M/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-3mf43ji4Mh0/TR0ZeIrneYI/AAAAAAAAG8o/6mYdeJp_RBM/s72-c/ruby.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8765457363511550557.post-8804291837607228789</id><published>2011-03-06T15:22:00.001-03:00</published><updated>2011-10-02T22:36:35.134-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><title type='text'>Ruby todo terreno. Ahora probando en Mac.</title><content type='html'>&lt;img align="right" border="0" height="118" src="https://lh5.googleusercontent.com/_ZsQAPf1Jahg/TR0ZeIrneYI/AAAAAAAAG8o/okBf8inpCIY/s288/ruby.png" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; float: right; padding-left: 0px; padding-right: 0px; padding-top: 0px;" width="111" /&gt;&lt;img border="0" height="113" src="https://lh5.googleusercontent.com/_ZsQAPf1Jahg/TU241oDJIeI/AAAAAAAAHAI/VgpFXFFx2Fk/s288/mac_14.jpg" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" width="131" /&gt;&amp;nbsp; &lt;br /&gt;&lt;strong&gt;¿Cambio de caballo en medio del río? NO!&lt;/strong&gt;&lt;br /&gt;A lo largo de los años he trabajado con varios sistemas operativos, desde el &lt;a href="http://en.wikipedia.org/wiki/CP/M" target="_blank"&gt;CP/M&lt;/a&gt; y el &lt;a href="http://en.wikipedia.org/wiki/MP/M" target="_blank"&gt;MP/M&lt;/a&gt; hasta &lt;a href="http://windows.microsoft.com/en-US/windows/home" target="_blank"&gt;Windows 7&lt;/a&gt;, &lt;a href="http://www.ubuntu.com/" target="_blank"&gt;Ubuntu&lt;/a&gt; y ahora &lt;a href="http://www.apple.com/es/macosx/" target="_blank"&gt;Mac OSx&lt;/a&gt; en su version 10.6.6&lt;br /&gt;&lt;br /&gt;Cuando puedo, pruebo nuevos entornos. Las máquinas virtuales son la mejor opción, para realizar estas prácticas. Estas nos permiten lograrlo sin mayor esfuerzo.&lt;br /&gt;&lt;br /&gt;Gracias a &lt;a href="http://www.salias.com.ar/" target="_blank"&gt;Martín Salías&lt;/a&gt;, un amigo que utiliza Mac desde hace un tiempo, accedí a una Mac donde, lógicamente, me puse a probar Ruby.&lt;br /&gt;&lt;br /&gt;La versión instalada de fabrica es la 1.8.7. Buscando por Internet encontré como instalar &lt;a href="http://www.ruby-lang.org/en/" target="_blank"&gt;Ruby 1.9&lt;/a&gt; y &lt;a href="http://rubyonrails.org/" target="_blank"&gt;Rails 3&lt;/a&gt; en &lt;a href="http://es.wikipedia.org/wiki/Mac_OS_X" target="_blank"&gt;Mac OS X&lt;/a&gt; en un excelente &lt;a href="http://pragmaticstudio.com/blog/2010/9/23/install-rails-ruby-mac" target="_blank"&gt;post de pragmatic studio&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Lo primero que recomiendo es instalar &lt;a href="http://rvm.beginrescueend.com/" target="_blank"&gt;RVM&lt;/a&gt; (el ruby versión manager), y luego tendremos la posibilidad de mantener diferentes versiones de ruby totalmente estancas. El siguiente paso es instalar &lt;a href="http://www.ruby-lang.org/en/" target="_blank"&gt;ruby 1.9.2&lt;/a&gt; para lo que ejecutamos 'rvm install 1.9.2 '&amp;nbsp; pero antes debemos instalar la suite de desarrollo del entorno Mac, para que al descargar e instalar &lt;a href="http://www.ruby-lang.org/en/" target="_blank"&gt;ruby 1.9.2&lt;/a&gt; este se compile y todo continue sin inconvenientes.&lt;br /&gt;&lt;br /&gt;Luego de la instalación y de setear la versión 1.9.2 como la instancia por defecto pude verificar gratamente la mejora en velocidad de este nuevo entorno.&lt;br /&gt;&lt;br /&gt;&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:38af839e-bda1-4553-a54a-6402e78125e8" style="display: inline; float: none; margin: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/Ruby" rel="tag"&gt;Ruby&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Mac" rel="tag"&gt;Mac&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Rails" rel="tag"&gt;Rails&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8765457363511550557-8804291837607228789?l=recorriendootrosrumbos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://recorriendootrosrumbos.blogspot.com/feeds/8804291837607228789/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2011/03/ruby-todo-terreno-ahora-probando-en-mac.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/8804291837607228789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/8804291837607228789'/><link rel='alternate' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2011/03/ruby-todo-terreno-ahora-probando-en-mac.html' title='Ruby todo terreno. Ahora probando en Mac.'/><author><name>petek luis</name><uri>https://profiles.google.com/111856420537277180984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-oEpOYxImxRQ/AAAAAAAAAAI/AAAAAAAAAAA/1zgaNV6MY3M/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh5.googleusercontent.com/_ZsQAPf1Jahg/TR0ZeIrneYI/AAAAAAAAG8o/okBf8inpCIY/s72-c/ruby.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8765457363511550557.post-5390016830851727935</id><published>2011-01-16T18:56:00.001-03:00</published><updated>2011-10-02T22:39:13.836-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Dejamos la orilla y nos internamos un poco</title><content type='html'>&lt;br /&gt;&lt;img align="left" border="0" src="http://lh3.ggpht.com/_ZsQAPf1Jahg/TTOYXmxxJfI/AAAAAAAAG_U/1VbBym8WJ3w/s288/BoatSail.jpg" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; float: left; margin: 0px 34px 0px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt;Si lo entusiasme con el primer post de esta tira y&lt;span style="background-color: white;"&gt; pudo observar&lt;/span&gt; un poco el lenguaje, supongo que su interés ha aumentado y ya quiere comenzar a ver cosas mas interesantes que el ‘Hola mundo’, ¿o me equivoco? &lt;br /&gt;&lt;br /&gt;Existen muchísimos tutoriales y&lt;span style="background-color: white;"&gt; libros, realizare&lt;/span&gt; un repaso por los mas interesantes: &lt;span style="background-color: yellow;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="background-color: white;"&gt;En ingles&lt;/span&gt;: &lt;a href="http://www.sapphiresteel.com/The-Little-Book-Of-Ruby"&gt;The little book of Ruby&lt;/a&gt;, &lt;a href="http://mislav.uniqpath.com/poignant-guide/"&gt;Whys Poignant Guide to Ruby&lt;/a&gt;, &lt;a href="http://www.humblelittlerubybook.com/"&gt;Humble Little Ruby Book&lt;/a&gt;, &lt;a href="http://www.troubleshooters.com/codecorn/ruby/basictutorial.htm"&gt;Ruby Basic Tutorial&lt;/a&gt;, &lt;a href="http://www.ruby-lang.org/en/documentation/quickstart/"&gt;Ruby in Twenty Minutes&lt;/a&gt;, &lt;a href="http://rubyonwindows.blogspot.com/"&gt;Ruby on windows&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;span style="background-color: white;"&gt;En castellano:&lt;/span&gt; &lt;a href="http://rubytutorial.wikidot.com/"&gt;Ruby Tutorial ...o como pasar un buen rato programando&lt;/a&gt;, &lt;a href="http://www.tufuncion.com/ruby-tutorial-basico"&gt;Tutorial básico de Ruby&lt;/a&gt;, &lt;a href="http://www.ruby-lang.org/es/documentation/quickstart/"&gt;Ruby en 20 minutos&lt;/a&gt;, &lt;a href="http://lucas.hispalinux.es/Manuales-LuCAS/doc-guia-usuario-ruby/guia-usuario-ruby.pdf"&gt;Guia para el usuario de Ruby&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;Algunos articulos &lt;a href="http://www.informit.com/articles/article.aspx?p=18225"&gt;The ruby programming language&lt;/a&gt;, &lt;a href="http://linuxdevcenter.com/pub/a/linux/2001/11/29/ruby.html"&gt;An Interview with the Creator of Ruby&lt;/a&gt;, &lt;br /&gt;&lt;a href="http://www.rubyist.net/~slagell/ruby/examples.html"&gt;Ejemplos simples con código fuente&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size: small;"&gt;Comencemos con algo que nos de un poco de contexto&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Variables:&lt;/strong&gt; es cualquier palabra que comienza en minúscula&lt;br /&gt;&lt;pre&gt;x = 10&lt;br /&gt;y = 80&lt;br /&gt;numero2 = –130000&lt;br /&gt;fecha = "10/11/2011"&lt;br /&gt;telefono_principal = "4555-5555"&lt;/pre&gt;&lt;br /&gt;&lt;strong&gt;Variables globales: &lt;/strong&gt;son aquellas que comienzan con un signo ‘$’ y alcanzan todo el programa&lt;br /&gt;&lt;br /&gt;$numero1 = 100&lt;br /&gt;$fecha_de_vencimiento = "01/01/2020"&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Instance Variables: &lt;/strong&gt;piense esto como atributos o propiedades de algo &lt;br /&gt;&lt;br /&gt;@ancho = 70&lt;br /&gt;@largo = 190 &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;# luego&lt;/strong&gt;deuda_en_cuenta_corriente = 1500000&lt;br /&gt;factura_nueva = 20000&lt;br /&gt;pago_anticipado = 500&lt;br /&gt;deuda_actual = deuda_en_cuenta_corriente + factura_nueva - pago_anticipado&lt;br /&gt;print deuda_actual.to_s + "\n"&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Tipo numérico mas básico es el&lt;span style="background-color: white;"&gt; integer&lt;/span&gt; &lt;/strong&gt;(un número sin decimales, positivo o negativo)&lt;br /&gt;numero_negativo = -9876543111.to_s + "\n"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;# ah, les dije que los números también son objetos, por eso tienen metodos.&lt;/strong&gt;numero_positivo = 45_345_671&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;# si, para leer mejor puede separar los miles con &lt;span style="background-color: yellow;"&gt;&lt;span style="background-color: white;"&gt;underscore&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;print numero_negativo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;# -9876543111&lt;/strong&gt;print numero_positivo.to_s + "\n"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;# 45345671&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Strings (cadena de caracteres):&lt;/strong&gt; caracteres, signos de puntuación, números encerrados entre comillas dobles o simples&lt;br /&gt;&lt;br /&gt;apellido = "Petek"&lt;br /&gt;nombre = "Luis"&lt;br /&gt;nombre_completo = apellido + ", " + nombre&lt;br /&gt;print nombre_completo + "\n"&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Símbolos: &lt;/strong&gt;son variables que pueden contener cualquier valor, pero no las usaremos para imprimir o mostrar.&lt;br /&gt;&lt;br /&gt;:a, :b ,:edad_del_abuelo&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Constantes: &lt;/strong&gt;son variables pero se escriben capitalizadas. Pensamos en nombres propios.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Pi = 3.14159&lt;br /&gt;Sodio = "Na"&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Métodos:&lt;/strong&gt; si las variables y las constantes son los &lt;span style="background-color: white;"&gt;sustantivos. Los métodos&lt;/span&gt; son los verbos, las acciones.&lt;br /&gt;la_puerta.abrir&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;# ejecuta el método abrir, haga lo que haga este&lt;/strong&gt;la_puerta.abrir.cerrar&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;# ejecuta el método abrir y luego el cerrar, &lt;span style="background-color: white;"&gt;cómodo ¿no?&lt;/span&gt;&lt;/strong&gt;la_puerta.esta_abierta?&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;# chequea si la puerta esta abierta... ¿había otra manera de hacer esto?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Pasaje de argumentos &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;la_puerta.pintar( 3, :red ).close&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="background-color: white;"&gt;Cualquier código encerrado entre llaves es considerado un bloque de código para ejecutar.&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;2.times { print "Si, Esto es impreso dos veces!\n" }&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Bloque de código do .. end&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;loop do&lt;br /&gt;&amp;nbsp; print "Eterno" &lt;br /&gt;&amp;nbsp; print "Interminable!" &lt;br /&gt;&amp;nbsp; print "Sin fin"&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Rangos&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;(1..5)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # valores entre 1 y 5&lt;br /&gt;&lt;br /&gt;('a'..'z')&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # alfabeto en minúscula&lt;br /&gt;&lt;br /&gt;(0...5)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # valores entre 0 hasta 4. Vea la cantidad de puntos …&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Vectores&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;[1, 2, 3]&amp;nbsp;&amp;nbsp;&amp;nbsp; # es un vector de numeros&lt;br /&gt;&lt;br /&gt;['perro', 'gatos', 'canario']&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # es un vector de&lt;span style="background-color: white;"&gt; &lt;/span&gt;&lt;span style="background-color: white;"&gt;strings&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Hashes:&lt;/strong&gt;&amp;nbsp; piense en un estructura de tipo diccionario. par de datos.&lt;br /&gt;&lt;br /&gt;{'a' =&amp;gt; 'argentina', 'b' =&amp;gt; 'brasil'}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # un ejemplo&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Operadores&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;span style="font-size: small;"&gt;** ! ~ * / % + - &amp;amp;&lt;br /&gt;&amp;lt;&amp;lt; &amp;gt;&amp;gt; | ^ &amp;gt; &amp;gt;= &amp;lt; &amp;lt;= &amp;lt;=&amp;gt;&lt;br /&gt;|| != =~ !~ &amp;amp;&amp;amp; += -= == ===&lt;br /&gt;.. ... not and or&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-3mf43ji4Mh0/TR0ZeIrneYI/AAAAAAAAG8o/6mYdeJp_RBM/s1600/ruby.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/-3mf43ji4Mh0/TR0ZeIrneYI/AAAAAAAAG8o/6mYdeJp_RBM/s200/ruby.png" width="199" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size: small;"&gt;Hasta acá fue instructivo, pero quiero mostrarle un par de rubíes&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Si quiere leer una página web y &lt;span style="background-color: white;"&gt;traer su código fuente:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;require 'net/http'&lt;br /&gt;require 'uri'&lt;br /&gt;src = Net::HTTP.get(URI.parse('&lt;a href="http://www.lmpetek.com.ar/'))"&gt;http://www.lmpetek.com.ar/'))&lt;/a&gt;&lt;br /&gt;puts src&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;# queda todo el html en la variable src&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Si quiere crear una base de datos, una tabla e insertar datos en ella: (requiere tener instalado el sqlite)&lt;br /&gt;&lt;br /&gt;require 'sqlite3' &lt;br /&gt;db = SQLite3::Database.new('DBTest.db') &lt;br /&gt;field_names = %{"codigo"} &lt;br /&gt;db.execute("CREATE TABLE tabla1 ( #{field_names} );") &lt;br /&gt;db.execute("INSERT INTO tabla1 ( #{field_names} ) VALUES ( 12 ) ;")&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Esto debería mantener su interés en alto. Seguiremos desgranando lo que nos oculta este maravilloso lenguaje en los próximos post y ya sabe, &lt;strong&gt;esté atento y mantenga la sintonía.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b372e88b-2bf5-49e1-89a5-a1ebb6751308" style="display: inline; float: none; margin: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/Ruby" rel="tag"&gt;Ruby&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8765457363511550557-5390016830851727935?l=recorriendootrosrumbos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://recorriendootrosrumbos.blogspot.com/feeds/5390016830851727935/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2011/01/dejamos-la-orilla-y-nos-internamos-un.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/5390016830851727935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/5390016830851727935'/><link rel='alternate' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2011/01/dejamos-la-orilla-y-nos-internamos-un.html' title='Dejamos la orilla y nos internamos un poco'/><author><name>petek luis</name><uri>https://profiles.google.com/111856420537277180984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-oEpOYxImxRQ/AAAAAAAAAAI/AAAAAAAAAAA/1zgaNV6MY3M/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_ZsQAPf1Jahg/TTOYXmxxJfI/AAAAAAAAG_U/1VbBym8WJ3w/s72-c/BoatSail.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8765457363511550557.post-7707354170721358931</id><published>2011-01-09T23:57:00.000-03:00</published><updated>2011-11-20T10:23:55.906-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>Primeros pasos con Ruby</title><content type='html'>Como es una costumbre desde hace unos años, intento aprender nuevos lenguajes cada uno o dos años. &lt;br /&gt;Algunos para adoptarlos, otros para asegurarme de no usarlos. &lt;br /&gt;&amp;nbsp;&lt;img align="left" height="173" src="http://lh5.ggpht.com/_ZsQAPf1Jahg/TR0ZeIrneYI/AAAAAAAAG8o/okBf8inpCIY/s288/ruby.png" style="display: inline; float: left; margin: 0px 28px 0px 0px;" width="173" /&gt; &lt;br /&gt;En este caso &lt;a href="http://en.wikipedia.org/wiki/Ruby_%28programming_language%29"&gt;Ruby&lt;/a&gt;, un lenguaje que me interesaba desde hace ya bastante tiempo. ¿Por que? algunas razones son: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Multi plataforma. Linux, Windows, Solaris, OS X e incluso DOS lo soportan.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Dynamic_programming_language"&gt;Dinámico&lt;/a&gt;&lt;br /&gt; &lt;/li&gt;&lt;li&gt;Interpretado&lt;br /&gt; &lt;/li&gt;&lt;li&gt;Orientado a Objetos&lt;br /&gt; &lt;/li&gt;&lt;li&gt;Funcional&lt;br /&gt; &lt;/li&gt;&lt;li&gt;Open Source&lt;br /&gt; &lt;/li&gt;&lt;li&gt;Comunidad fuerte&lt;/li&gt;&lt;/ul&gt;Según el &lt;a href="http://www.ruby-lang.org/"&gt;sitio oficial&lt;/a&gt; 'A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.' &lt;br /&gt;Algunas de las implementaciones del lenguaje &lt;a href="http://en.wikipedia.org/wiki/YARV"&gt;YARV&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/JRuby"&gt;JRuby&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Rubinius"&gt;Rubinius&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/IronRuby"&gt;IronRuby&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/MacRuby"&gt;MacRuby&lt;/a&gt;, y &lt;a href="http://en.wikipedia.org/wiki/HotRuby"&gt;HotRuby&lt;/a&gt;. &lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;Algo de historia&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;Fue creado por &lt;a href="http://en.wikipedia.org/wiki/Yukihiro_Matsumoto"&gt;Yukihiro 'Matz' Matsumoto&lt;/a&gt; en los '90.&amp;nbsp; &lt;br /&gt;La primera versión estable apareció por el año 1995. Tímidamente se abrió paso entre los desarrolladores. &lt;br /&gt;El año 2006 fue la explosión para este lenguaje, probablemente gracias a la salida del mas famoso de los frameworks para desarrollo en Ruby: &lt;a href="http://rubyonrails.org/"&gt;Rails&lt;/a&gt;. &lt;br /&gt;En la actualidad lo podemos encontrar entre los lenguajes mas utilizados en el mundo. (&lt;a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html"&gt;indice TIOBE&lt;/a&gt;) &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A probar que no muerde... &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;Comencé realizando una recorrida por Internet con lecturas sobre el lenguaje. Algunas pruebas en &lt;a href="http://tryruby.org/"&gt;TryRuby&lt;/a&gt; me permitieron sin ningún esfuerzos de instalación o configuración probar y aprender los rudimentos del lenguaje. &lt;br /&gt;Luego instalé en máquinas virtuales Windows y Linux la ultima versión y continué con las pruebas, el IRB es un gran aliado. &lt;br /&gt;&lt;img border="0" src="http://lh3.ggpht.com/_ZsQAPf1Jahg/TSEJBLiBJWI/AAAAAAAAG8o/jgwuGx1e82I/s400/irb.png" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" /&gt; &lt;br /&gt;También puede escribir con la ayuda de un simple editor de texto un poco de código como este &lt;br /&gt;&lt;blockquote&gt;&lt;pre class="brush:ruby"&gt;&lt;br /&gt;puts “Escriba su nombre. Por favor”&lt;br /&gt;miNombre = gets()&lt;br /&gt;puts ”Bienvenido al mundo Ruby ” + miNombre&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;guardarlo, con la extensión .rb y ejecutarlo en la línea de comandos con &lt;strong&gt;&lt;em&gt;ruby &lt;/em&gt;&lt;/strong&gt;&lt;strong&gt;&lt;em&gt;archivo.rb&lt;/em&gt;&lt;/strong&gt; &lt;br /&gt;&lt;br /&gt;Y nunca mas mi mente fue igual.&lt;br /&gt;&lt;br /&gt;Algunos ejemplos para despertar su curiosidad y sorprenderlos &lt;br /&gt;&lt;blockquote&gt;&lt;pre class="brush:ruby"&gt;&lt;br /&gt;puts “Ruby 1.9.2 ” * 3     # Ruby 1.9.2 Ruby 1.9.2 Ruby 1.9.2&lt;br /&gt;puts 6.zero?               # false&lt;br /&gt;&lt;br /&gt;# comparemos objetos&lt;br /&gt;Valores = 1..5&lt;br /&gt;Valores2 = 1...5&lt;br /&gt;PrimerValor = 2&lt;br /&gt;SegundoValor = 6&lt;br /&gt;puts(Valores == Valores2)&lt;br /&gt;puts(Valores === PrimerValor)&lt;br /&gt;puts(Valores.include?(PrimerValor))&lt;br /&gt;puts(Valores === SegundoValor)&lt;br /&gt;# recorremos valores en un vector?&lt;br /&gt;UnVector = %w( Esto es algo muy interesante )&lt;br /&gt;UnVector.each do |elemento|&lt;br /&gt;    puts elemento&lt;br /&gt;end&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;/pre&gt;&amp;nbsp; &lt;br /&gt;Hasta acá, como muestra basta.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Recomendaciones para todo aquel que quiera incursionar con el lenguaje.&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt; &lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;strong&gt; &lt;/strong&gt;&lt;li&gt;&lt;strong&gt;&lt;/strong&gt;Es totalmente &lt;a href="http://en.wikipedia.org/wiki/Object-oriented_programming_language"&gt;orientado a objetos&lt;/a&gt;, por lo tanto debería estar cómodo pensando en objetos. &lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;pre class="brush:ruby"&gt;&lt;br /&gt;UnVector.delete("es")&lt;br /&gt;UnVector.empty?&lt;br /&gt;1.to_s&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;Piense en forma fácil y evidente, estará cerca de la solución.  &lt;/li&gt;&lt;li&gt;Si viene de lenguajes procedurales o ‘mas tradicionales’, actué por instinto y no por conocimientos anteriormente adquiridos.  &lt;/li&gt;&lt;li&gt;Al principio no busque IDE´s, plugins o frameworks, solo aprenda los rudimentos del lenguaje.  &lt;/li&gt;&lt;li&gt;Sin lugar a dudas, si busca una solución para algún problema en su nuevo desarrollo, lo encontrará en &lt;a href="http://ruby-toolbox.com/"&gt;The Ruby Toolbox&lt;/a&gt;, un gran repositorio de herramientas. Simplemente un catálogo ordenado por rubros y calificado por cantidad de descargas y los pareceres de los usuarios.  &lt;/li&gt;&lt;li&gt;Busque en internet, encontrara bibliografía, ejemplos y tutoriales en enormes cantidades.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Esté atento y mantenga la sintonía.&lt;br /&gt;&lt;br /&gt;Próximamente (en las mejores salas) ... vendrán mas notas sobre Ruby y después &lt;a href="http://rubyonrails.org/"&gt;Rails&lt;/a&gt;, &lt;a href="http://heroku.com/"&gt;Heroku&lt;/a&gt;, &lt;a href="http://git-scm.com/"&gt;Git&lt;/a&gt;, &lt;a href="http://www.sinatrarb.com/"&gt;Sinatra&lt;/a&gt;, herramientas, algunos editores y todo lo que vaya recorriendo en el entorno del desarrollo actual de sistemas... en este ecosistema.&lt;br /&gt;&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e7e1e01c-97a4-4e92-8072-8b9247f0057f" style="display: inline; float: none; margin: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8765457363511550557-7707354170721358931?l=recorriendootrosrumbos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://recorriendootrosrumbos.blogspot.com/feeds/7707354170721358931/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2011/01/primeros-pasos-con-ruby.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/7707354170721358931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8765457363511550557/posts/default/7707354170721358931'/><link rel='alternate' type='text/html' href='http://recorriendootrosrumbos.blogspot.com/2011/01/primeros-pasos-con-ruby.html' title='Primeros pasos con Ruby'/><author><name>petek luis</name><uri>https://profiles.google.com/111856420537277180984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-oEpOYxImxRQ/AAAAAAAAAAI/AAAAAAAAAAA/1zgaNV6MY3M/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_ZsQAPf1Jahg/TR0ZeIrneYI/AAAAAAAAG8o/okBf8inpCIY/s72-c/ruby.png' height='72' width='72'/><thr:total>2</thr:total></entry></feed>
