A Django site.
Febrero 15, 2009
» Herramientas

Los programadores que usamos Python, no dependemos de herramientas externas al lenguaje en la forma que se depende de ellas cuando se usa un lenguaje como Java.

I can’t tell you how many times I’ve heard people say they wouldn’t use Ruby because it lacks automated refactoring tools. Ruby doesn’t actually need them in the way Java does; it’s like refusing to switch to an electric car because there’s no place to put the gasoline. But programmers are a stubborn bunch, and to win them over you have to give them what they think they want.

http://steve-yegge.blogspot.com/2007/02/next-big-language.html

Diciembre 3, 2008
» humitos

Hace algún tiempo (no mucho) que estoy subscripto a la lista de correos de RubyLit (Ruby del litoral). La principal idea de suscribirme a esta lista era más o menos estar al tanto sobre Ruby On Rails e intentar aprender algo de lo que comentaba esta gente que tanto sabe.

Sinceramente fue pasando el tiempo y cada vez la empecé a leer menos, como la mayoría de las listas a las que estoy suscrito, a excepción de PyAr que ya establecí un vínculo un poco diferente a las demás.

Además me dí cuenta que es muy difícil seguir una lista de correo si no te nutrís de conocimientos por otro lado. Me pasaba que cuando leía algunos mails se me hacía imposible entender de qué estaban hablando y muchas veces intentaba buscar una analogía con Django, lo cual no me parece del todo bien, porque tiene algunos enfoques distintos y quizás haya que tratarlos por separado. Me gustaría saber bastante más de Ruby On Rails para poder afirmar mi opinión anterior con un buen fundamento, pero de momento es lo que sospecho de todas las cosas que he hablado con Gastón (uno de los chicos de RubyLit, más conocido como mi archi-enemigo).

En las semanas pasadas leo un mail de Gastón que proponía una reunión para juntarse a tomar unas cervezas y comer unas pizzas con la gente de Rubylit. Sutilmente pregunté si podía ir ya que era del otro bando, y aunque suene un bolazo o parezca mentira, hay muchas personas que tiene problemas por utilizar uno u el otro (entiéndase Ruby o Python –Uh! puse a Ruby primero :) ).

Algunos se cagaron de risa, bah la mayoría, y me sugirieron que vaya sin ningún problema que tenían ganas de verme y que de hecho podíamos comparar algunas cosas entre los distintos lenguajes (entiéndase quince contra uno –estaba muerto :D )

La cuestión es que propuse que si iba, iba con la remera de Python Argentina y se la cambiaba a alguno para que la próxima reunión de la comunidad a la que uno pertenece de forma directa lleve la remera del otro bando. Además iba a ser muy gracioso.

Al final llegó el día de la reunión, yo estuve toda la tarde en lo de Gastón hablando al pedo, tomando unos mates e intentando configurar algunas cosas en la notebook (luego comentaré que hice por si a alguno le sirve para algo). Pasada la tarde nos fuimos para Puerto Café en 25 de mayo y mendoza. Ni bien llegamos nos informan de que había un evento privado, y que además no era ni más ni menos que de Patrimonio Joven un sector del lugar dónde trabajo yo (Ministerio de Innovación y Cultura). Asique hablamos con el dueño para que les pida permiso y que nos armen el living al costado de ellos. Por suerte no hubo ningún inconveniente. Ahora si, para la próxima va haber que reservar el lugar con anticipación :P .

En ese breve tiempo que esperamos que nos abran llegó Juanjo, otro infiltrado de la comunidad enemiga, Ja! Que se vino con unos bolsos y demás. Hasta el dia de hoy sospecho si no tenía cámaras y micrófonos para grabar todo lo sucedido esa noche :) .

Entramos y enseguida largamos con las cervezas y los maníes. Se fue sumando gente y en menos de 30 minutos ya éramos unos cuantos, charlé con gente que hacía mucho que no veía, hablamos un poco de Django, Ruby On Rails, Ruby y Python, pero no mucho. Salieron algunos temas un poco locos de la mano de César Ballardini (un grande), que vino con la RFC de los monos y el sistema de envío de mensajes de las palomas. También escuché algunas anécdotas de gente que tiene unos años más que yo en el tema de la informática y me puse al tanto de algunas tecnologías antíguas que nunca había escuchado nombrar.

Resumiendo, la reunión estuvo muy muy buena, lástima que hablamos muy poco sobre Ruby, me hubiese gustado más ponerme al tanto de algunas cosas de ROR, pero sinceramente la pasé muy bien, esta gente es muy copada. ¿Para cuando la próxima?

PD: al final no se hizo el intercambio de remeras porque Gastón la mariconeó con el tamaño de la misma y demás. Yo personalmente lo tomé como una arrugada :)


Noviembre 30, 2008
» Primer experiencia con Ruby

El jueves a la noche, bolso en mano ya que partía para Córdoba al día siguiente, participé de una reunión de RubyLit, el grupo de usuarios de Ruby del Litoral. Muchos ya eran cocidos y a otros los conocí ahí, la pasamos bárbaro, comimos pizza y charlamos mucho. Mi problema radicaba en que nunca había escrito un programa en este lenguaje de programación, por lo que media hora antes de salir para el evento seguí este tutorial on line que te enseña lo básico en 15 minutos (digamos que lo suficiente como para no pasar verguenza :D), les dejo el link para los que quieran empezar a probar este lenguaje:

http://tryruby.hobix.com/

Y, por supuesto, la foto de rigor:

Setiembre 18, 2008
» Python versus Ruby. Best comparison ever.

I was googling for DRb alternatives in Python (I found pyro and dopy, but decided on pyro as it has an Ubuntu package), and came across this excellent post. Check it out, but this is the jam of the toast:

To me, from a practical programming perspective (say that 10 times
fast), Python and Ruby are *very* similar. Obvious differences are of
course, things like the indentation thing; Ruby feeling more like
object-orientated stuff was baked in rather than added on; Python being
a little faster, etc.

I went back and forth trying to decide. What finally sold me on Ruby
was a feature that I had little use for until Hal Fulton helped the
light bulb to go on above my head. Blocks! More specifically, blocks
used as closures.

Hal convinced me to rewrite KirbyBase and allow the user to specify
query syntax using blocks. When I finally figured out how easy it was
to add this functionality and how much power it gave the user to specify
queries, I was sold.

What really put me over the top was when I recently went back and
rewrote the Python version of KirbyBase and tried to duplicate all of
the functionality of the new Ruby version. Python doesn’t have blocks.
It has lambda, but it is pretty crippled. In Python, a lambda can only
be one expression and you can’t do assignment in a lambda. What’s
worse, Guido doesn’t even like lambda and he is planning on removing it
from the language.

Now, you can still do closures in Python by actually passing a named
function, but using blocks is just so much more elegant.

Before this, I had *used* blocks for things like #collect and #each.
But it was only when I started having my own user-defined methods accept
and use blocks that I really started to understand how powerful they
make Ruby.

Anyway, sorry for the long post. To make a long story short, I chose
Ruby. I still program in Python on the side. I’m hoping to soon
release a Python version of KirbyBase that is equivalent to the Ruby
version. But, without those blocks, it’s just not as much fun (although
list comprehensions are cool!). Hope this helps answer your question.

Jamey Cribbs

Julio 7, 2008
» And the winner is…. Ruby on rails

Jeje.. que linda vuelta que di. Hace mas de 5 meses que vengo probando distintos lenguajes de programacíon y algunos de sus respectivos frameworks. Finalmente y un poco por la fuerza, me quedo por el momento con Ruby on rails.

Desde hace un mes en mi trabajo estamos programando en Ruby on rails, la decisión no fue una imposición en si, pero si una “fuerte” sugerencia por parte de nuestro cliente! :) Y la verdad que siempre esta bueno que te paguen por aprender cosas nuevas asi que, todos aceptamos el desafío con optimismo.
Luego de llevar un poco mas de un mes usándolo, puedo asegurar que el cambio fue 100% positivo. Rails es una herramienta extremadamente productiva pese a que el aprendizaje del lenguaje Ruby puede ser un poco duro al principio.

Hoy sin ser un experto, (ni mucho menos jeje) puedo asegurar que rails me ha provisto toda una serie de buenas practicas de programación que antes no tenía. Entre ellas, el testing por mencionarles solo una.

Bueno, cuando tenga mas ganas de escribir voy a comentar mas cositas al respecto. :)

Mayo 26, 2008
» Ruby and Python


Hoy en el canal de IRC de Python Argentina cramm mandó una URL que mostraba un bug de Ruby. Primero lo probé y no noté nada extraño. Después me dijeron que Ruby se comía toda la memoria de la máquina y lo probé. Acá está la demostración

“…saquen sus propias conclusiones…”