Sincronizar carpetas en Mac con rsync

Bueno, aquí les voy a dejar un buen ejemplo de como sincronizar fácilmente carpetas con rsync. Lo primero que tienen que hacer es leer este post en donde les explica como generar una public key, la que será usada luego como mecanismo de autenficación. Una vez hecho eso vamos a crear una flujo en el automator que les tiene que quedar así:

Continue reading

Registrar cambios en tablas con un trigger genérico

Bueno gente, cuando empecé a investigar este tema ví muchas versiones, algunos que decían que era imposible hacerlo con pgsql, otros que sí o sí había que usar plperl, otros que solo con tablelog, en fin.. los que me conocen saben que cuanto más difícil parece la tarea más ganas me dan de hacerla.
El escenario es el siguiente, tenemos varías tablas en una base de datos, y queremos que cuando se hagan cambios en esa tabla se cree otra tabla que guarde estos cambios.

Bueno gente, cuando empecé a investigar este tema ví muchas versiones, algunos que decían que era imposible hacerlo con pgsql, otros que sí o sí había que usar plperl, otros que solo con tablelog, en fin.. los que me conocen saben que cuanto más difícil parece la tarea más ganas me dan de hacerla.El escenario es el siguiente, tenemos varías tablas en una base de datos, y queremos que cuando se hagan cambios en esa tabla se cree otra tabla que guarde estos cambios.

Continue reading

Calcular un área a partir de un punto

Hola gente, esto que estoy por publicar no tendrá mucho sentido para algunos, es una abstracción de la función buffer. Pero el problema es que buffer no es una función muy recomendada para zonas grandes por la cantidad de CPU y RAM que usa. Es por eso que la encapsulé en otra función, luego publicaré aquí mismo la función completa.

Continue reading

Postgres tuplas duplicadas

Bueno, estoy medio apurado así que voy al grano. Imaginen por ejemplo la tabla intersecciones de este post, pues anda todo muy bonito, pero tenemos el problema que se duplican las tuplas, por ejemplo:
geoprop2=# select * from intersecciones where idsegmentoscalle1 = 1 and idsegmentoscalle2 = 6167;
idsegmentoscalle1 | idsegmentoscalle2 | idregiones
-------------------+-------------------+------------
1 | 6167 |
(1 row)

geoprop2=# select * from intersecciones where idsegmentoscalle1 = 6167 and idsegmentoscalle2 = 1;
idsegmentoscalle1 | idsegmentoscalle2 | idregiones
-------------------+-------------------+------------
6167 | 1 |
(1 row)


Lo cual está, dentro de todo, bien ya que es cierto que la calle 1 se intersecciona con la calle 6167 y biceversa, pero se duplican los datos lo cual está mal, es por eso que voy a enseñarles un par de “trucos” para evitar esta redundancia.

Continue reading

Zimbra + Funambol 8.5 sin entorno gráfico

Bueno gente, mi anterior instalación de funambol (versión 7.X) empezó a dar error con las modificaciones que se le hizo a la aplicación del iPhone, por si les sirve el error es este:
….
[2010-07-21 10:57:51,512] [funambol.transport.http] [ERROR] [B190EF60990A956046CB72100C6ABD24] [iph-eTBQtRwEWFu5pP/LHOdmgQ==] [mail@protected.com] [] Error processing the request
java.lang.ArrayIndexOutOfBoundsException: 8192
at org.xmlpull.mxp1.MXParser.parseCDSect(MXParser.java:2869)
at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1189)
at org.xmlpull.mxp1.MXParser.nextToken(MXParser.java:1100)
…..
Así que voy a aprovechar para hacerles un howto de como instalar esto, espero les sirva.

Continue reading