Cobos y Macri

Hoy leía la noticia de que Cobos (primera vez como Presidente) recibió a Macri. Uno de los comentarios de algún lector fue este:

El rico vive del pobre, el policía dice que cuida a los dos. El ciudadano común se cuida de los tres. El trabajador mantiene a los cuatro. El vago vive de los cinco. El comerciante comercia con los seis. El abogado enreda a los siete. El cantinero emborracha a los ocho. El cura absuelve a los nueve. El doctor cura a los diez. El sepulturero entierra a los once. El partido de turno gobierna a los doce. El presidente engaña a los trece y a su vez: Al rico lo hace más rico. Al pobre lo hace más pobre. Al más pobre lo hace bobo. A los bobos los hace ministros, diputados, senadores y así dejan de ser pobres. El consuelo es que en los países latinoamericanos sólo cinco ‘personas’ tienen problemas: ¡Yo, tú, él, nosotros y vosotros!. Ya que “ellos” la pasan fantástico.

Bisecando con Mercurial (o encontrando changesets con bugs)

Hace un tiempo vengo leyendo y estudiando Mercurial, un sistema de control de versiones distribuido. Sin embargo todo lo que se es teoría, ya que mis amigos (con los que podría probarlo) no quieren dejar Subversion. Pero bueno… sin decir quiénes son, y al saber que ellos leen mi blog, sólos se darán cuenta que están en el error 🙂

A grandes rasgos (y según lo que yo entendí y veo más notorio), la gran diferencia entre los sistemas de control de versiones centralizados como Subversion o CVS y los distribuidos como Git, Mercurial y Bazaar, es que los primeros imponen más restricciones que sus pares distribuidos. En Subversion por ejemplo, si accedo a mi repositorio vía Internet, y en algún momento no tengo conexión, entonces no puedo hacer commits. Si quiero ver los logs de algunas revisiones o realizar otras operaciones que no sean updates o commits, necesito acceder al repositorio central, lo que es más lento.

En los sistemas centralizados hay un servidor central, y varias copias de trabajo, una por cada desarrollador. En los sistemas distribuidos puede o no haber un servidor central con el repositorio, pero la diferencia es que todos los desarrolladores tienen el repositorio completo, no una copia de trabajo. Es decir que cada persona posee la versión actual más toda la historia del proyecto en su computadora, lo que permite operar en modo offline. Esto puede parecer ineficiente, pero de hecho no lo es: los grandes proyectos de Software Libre como Linux, NetBeans, OpenJDK, Mozilla, y en un futuro GNOME también, usan estos sistemas, ya que ofrecen grandes beneficios (especialmente para los proyectos Open Source). Imagínense hacer commits, crear branches, etc, sin necesidad de conexión. Y cuando termino mi trabajo, luego de revisarlo bien, ahí recién puedo subir todo, o sino decirle a mi colega desarrollador que actualice su repositorio desde el mío.

En definitiva, con un sistema distribuido puedo trabajar con menos restricciones que con uno centralizado.

Continuá leyendo Bisecando con Mercurial (o encontrando changesets con bugs)