martes, 8 de febrero de 2011

Problemas con adjuntos en simscan con ripmime

En la última versión del servidor de correo electrónico que desarrollé, la cual ya está en producción en los últimos tres servidores que instalé, apareció un error inusual. Básicamente, el software de control de contenidos (simscan 1.4.0) estaba rebotando mensajes porque contenían un adjunto no permitido. El problema es llamativo ya que no sucede siempre, lo cual me desorientó bastante.

Hice un desesperado pedido de ayuda en la lista de correo de la herramienta, en el sitio de Inter7 (la empresa que creó la herramienta originalmente), pero no obtuve una respuesta, así que seguí investigando por mi cuenta. UPDATE: Matt Brookings, desarrollador de simscan para Inter7 contestó a mi mensaje hoy (10 de Febrero de 2011) confirmando el bug en simscan (y también en ripmime, el cual voy a comunicar a Paul S. Daniels en estos días) y avisando que iba a revisarlo (Ver archivo de la lista de correo de Simscan: http://news.gmane.org/gmane.mail.qmail.simscan).

Simscan permite especificar una lista de extensiones de archivos los cuales serán rechazados si se adjuntan a un mensaje. Estas extensiones se especifican en un archivo llamado simcontrol, del cual luego se genera (mediante la ejecución de una herramienta complementaria llamada simscanmk) un archivo de base de datos en formato CDB, conteniendo las reglas de control. El archivo se vé de esta manera:

:clam=yes,spam=yes,spam_passthru=yes,attach=.vbs:.lnk:.scr:.cmd:.exe:.com:.bat:.reg:.pif


Esto básicamente significa que los adjuntos con extensión .vbs, .lnk, .scr, .cmd, .exe, .com, .bat, .reg y .pif están administrativamente prohibidos. Bueno, el software estaba rechazando un archivo cuyo nombre resultó ser "d" (si, solo la letra "D" minúscula). Lo extraño es que el mensaje solo tenía un único archivo de Word adjunto (con extensión ".doc").

Así se veía el error:
554 Your email was rejected because it contains a bad attachment: d


Lo extraño también es que no todos los archivos .doc fallaban, sino que el problema parecía darse en ciertos archivos solamente. Esto resultó ser lo más desconcertante de todo. Decidí probar a revisar el ripmime, con quien ya antes había tenido un altercado gracias a un error de capa 8 (si, me equivoqué de versión cuando lo instalé), y esto resultó ser interesante. Sobre una copia del mensaje que rebotaba ejecuté ripmime manualmente y me llevé una sorpresa. Ripmime extrajo varios archivos (5 en total) de un mensaje que supuestamente solo tiene un único adjunto(!).

srv:/usr/local/src/ripmime-tests # mkdir res
srv:/usr/local/src/ripmime-tests # ls -la
total 140
drwxr-xr-x 4 root root 4096 Feb 8 19:29 .
drwxr-xr-x 7 root root 4096 Feb 8 16:04 ..
drwxr-xr-x 2 root root 4096 Feb 8 19:27 res
-rw------- 1 root root 125608 Feb 8 12:37 testmessage.eml
srv:/usr/local/src/ripmime-tests # ripmime --disable-qmail-bounce -i testmessage.eml -d res
srv:/usr/local/src/ripmime-tests # cd res
srv:/usr/local/src/ripmime-tests/res # ls -la
total 96
-rw------- 1 root root 90112 Feb 8 19:27 Documento de prueba.doc
-rw-r--r-- 1 root root 0 Feb 8 19:27 d
-rw-r--r-- 1 root root 0 Feb 8 19:27 textfile0
-rw-r--r-- 1 root root 1094 Feb 8 19:27 textfile1
-rw-r--r-- 1 root root 936 Feb 8 19:27 textfile2


Ahora que sabía de donde salía el famoso archivo "d", el problema estaba en entender porqué el simscan tomaba el archivo como "bloqueado" y rechazaba el mensaje...

Configuré un recordio sobre el puerto 25 de uno de los servidores afectados para poder capturar toda la transacción del servicio SMTP y activé la función de debug del simscan (provista por el patch que escribió John Simpson para poder diagnosticar otro problema en simscan) y ahí empezó a verse la luz...

Pude obtener el siguiente registro:

@400000004d514dd628a87474 simscan: lpart: local part is **
@400000004d514dd628a8d61c simscan: cdb looking up gcastro@example.com
@400000004d514dd62991f5cc simscan: checking attachment textfile0 against .vbs
@400000004d514dd629921cdc simscan: checking attachment textfile0 against .lnk
@400000004d514dd629922894 simscan: checking attachment textfile0 against .scr
@400000004d514dd629923064 simscan: checking attachment textfile0 against .cmd
@400000004d514dd629923834 simscan: checking attachment textfile0 against .com
@400000004d514dd6299243ec simscan: checking attachment textfile0 against .exe
[...]
@400000004d514dd629992d74 simscan: checking attachment d against .com
@400000004d514dd629993544 simscan: checking attachment d against .exe
@400000004d514dd629993d14 simscan: checking attachment d against .bat
@400000004d514dd629997b94 simscan: checking attachment d against .cmd
@400000004d514dd629998364 simscan:[21057]:ATTACH:5.3975s:d:209.85.214.53:gcastrop@example2.com:gcastro@example.com
@400000004d514dd629998f1c simscan: exit error code: 82
@400000004d514dd6299996ec 21057 > 554 Your email was rejected because it contains a bad attachment: d

@400000004d514dd722f67e2c 21057 < QUIT


Y así se hizo evidente que el archivo "d" caía en la regla correspondiente a los archivos con extensión ".cmd", lo cual me intrigó bastante, ya que el nombre de archivo "d" difiere mucho de tener una extensión, y dicha extensión, si la hubiera, dudo que fuera ".cmd", dado que el archivo está vacío...

Lo obvio de todo esto es que ".cmd" termina en una letra "d", lo cual dudé que fuera una mera coincidencia... así que me puse a investigar el código fuente de simscan. Encontré que el archivo simscan.c tiene una función llamada check_attach(), la cual contiene el código que compara los nombres con las extensiones:

while((mydirent=readdir(mydir))!=NULL) {
/* skip . and .. */
if ( mydirent->d_name[0] == '.' &&
(mydirent->d_name[1] == '.' || mydirent->d_name[1] == 0) ) {
continue;
}

for(i=0;i<MaxAttach;++i) {
if ( DebugFlag > 2 ) fprintf(stderr, "simscan: checking attachment %s against %s\n", mydirent->d_name, bk_attachments[i] );
lowerit(mydirent->d_name);
if ( str_rstr(mydirent->d_name,bk_attachments[i]) == 0 ) {
strncpy(AttachName, mydirent->d_name, sizeof(AttachName)-1);
closedir(mydir);
return(1);
}
}
}


mediante otra función llamada str_rstr(), que se encarga de comparar las entradas en un vector de cadenas de texto conteniendo las extensiones, con el nombre del archivo de turno en la iteración ejecutada secuencialmente sobre todos los adjuntos del mensaje. Dicha función toma dos parámetros, el nombre de archivo y la extensión a comparar. Así se ve la función:

int str_rstr(register char *h,register char *n)
{
register char *sh;
register char *sn;

for(sh=h;*h!=0;++h); --h;
for(sn=n;*n!=0;++n); --n;

for(;h>=sh && n>=sn;--h,--n) {
if ( *h!=*n ) {
return(-1);
}
}
return(0);
}


Como puede verse, la función lee de atrás para adelante y compara los textos en forma literal, con lo cual el problema emerge finalmente. Al revisar letra por letra y empezar desde atrás hacia adelante, cuando revisa el nombre de archivo "d" con la última letra de la extensión ".cmd", las dos coinciden. Como no hay más nada para probar, dado que el nombre de archivo consta de una única letra, la función devuelve 0, con lo cual el mensaje es rechazado finalmente por contener un archivo no permitido.

A estas alturas, tenía dos soluciones posibles: o reparaba el ripmime para que deje de extraer archivos que no existen, o modificaba el código fuente del simscan para que haga un chequeo extra sobre los nombres de archivos a comparar con la lista de extensiones. Quise consultar el foro de ripmime para ver si alguien había tenido algún problema similar y discutir una posible solución, pero resultó ser que estaba cerrado por haber recibido spam, así que decidí decantarme por la modificación al código de simscan, el cual me sería más simple y fácil de probar, sin contar con que podía consultar la lista de correo de Inter7 en caso de encontrarme con algo inesperado.

Bueno, de las muchas opciones que se me ocurrieron, la que me pareció más simple y menos invasiva para con el código fué simplemente chequear que el largo del nombre del archivo a chequear en la iteración fuera como mínimo igual al largo de la extensión a chequear. Esto haría más exacto el chequeo y proporcionaría más robustez al software. Sin pensarlo demasiado, hice la modificación al código del archivo simscan.c, agregando código de debugging de la misma forma que John Simpson hizo con el resto del código para poder debuggear los errores anteriores:

for(i=0;i<MaxAttach;++i) {
if ( DebugFlag > 2 ) fprintf(stderr, "simscan: checking attachment %s against %s\n", mydirent->d_name, bk_attachments[i] );
lowerit(mydirent->d_name);
if ( strlen(mydirent->d_name) >= strlen(bk_attachments[i]) ) {
if ( str_rstr(mydirent->d_name,bk_attachments[i]) == 0 ) {
strncpy(AttachName, mydirent->d_name, sizeof(AttachName)-1);
closedir(mydir);
return(1);
}
} else {
if ( DebugFlag > 2 ) fprintf(stderr, "simscan: attachment name '%s' (%d) is shorter than '%s' (%d). IGNORED\n", mydirent->d_name, strlen( mydirent->d_name ), bk_attachments[i], strlen( bk_attachments[i] ) );
}

}


Ahora si el largo del nombre de archivo a comprobar es menor al largo de la extensión, el simscan simplemente lo ignora:

[...]
@400000004d517ee02c8894d4 simscan: attachment name d (1) is smaller than .vbs (4)
@400000004d517ee02c895054 simscan: checking attachment d against .cmd
@400000004d517ee02c8a0fbc simscan: attachment name d (1) is smaller than .cmd (4)
@400000004d517ee02c8acb3c simscan: checking attachment d against .lnk
@400000004d517ee02c8b8aa4 simscan: attachment name d (1) is smaller than .lnk (4)
[...]


Y el simscan ya no falla con el error críptico que desencadenó esta entretenida sesión de debugging.

Queda publicado este patch, el cual dejo aquí para que quien quiera pueda utilizarlo:

diff -ruN simscan-1.4.0/simscan.c simscan-1.4.0-tested/simscan.c
--- simscan-1.4.0/simscan.c 2011-02-08 20:26:06.095067924 -0200
+++ simscan-1.4.0-tested/simscan.c 2011-02-08 18:16:11.003064430 -0200
@@ -1735,10 +1735,14 @@
for(i=0;i if ( DebugFlag > 2 ) fprintf(stderr, "simscan: checking attachment %s against %s\n", mydirent->d_name, bk_attachments[i] );
lowerit(mydirent->d_name);
- if ( str_rstr(mydirent->d_name,bk_attachments[i]) == 0 ) {
- strncpy(AttachName, mydirent->d_name, sizeof(AttachName)-1);
- closedir(mydir);
- return(1);
+ if ( strlen(mydirent->d_name) >= strlen(bk_attachments[i]) ) {
+ if ( str_rstr(mydirent->d_name,bk_attachments[i]) == 0 ) {
+ strncpy(AttachName, mydirent->d_name, sizeof(AttachName)-1);
+ closedir(mydir);
+ return(1);
+ }
+ } else {
+ if ( DebugFlag > 2 ) fprintf(stderr, "simscan: attachment name '%s' (%d) is shorter than '%s' (%d). IGNORED\n", mydirent->d_name, strlen( mydirent->d_name ), bk_attachments[i], strlen( bk_attachments[i] ) );
}
}
}


Debe tomarse en cuenta que este patch está pensado para aplicarse sobre simscan 1.4.0 con el patch http://qmail.jms1.net/simscan/simscan-1.4.0-combined.4.patch de John Simpson (Thanks, John!).

Bueno, un problema menos... a seguir con los otros.

Happy hacking!

lunes, 17 de enero de 2011

2010: El año que (NO) hicimos contacto...

Por allá por los 60', un astrónomo llamado Frank Drake dió el puntapié inicial para crear lo que hoy todavía conocemos como el proyecto SETI (Search for Extra Terrestrial Intelligence). Ya hacía algunos años que había sucedido aquel incidente luego del cual Kenneth Arnold popularizó el término "platillo volador" y que de alguna forma dió inicio a la ola de avistamientos que después resultaran en las primeras investigaciones serias del gobierno de los Estados Unidos sobre el tema de los OVNIs.

Antes de seguir, quisiera hacer un alto para hacer una aclaración importante acerca de la nomenclatura y el real significado de la sigla "OVNI", así como también sobre el concepto como es visto por el común de la gente. Cuando alguien habla de un OVNI, la primera imagen que a todos le viene a la mente es la de "una nave espacial tripulada por hombrecitos verdes o grises, provenientes de otro planeta", cuando en realidad, la sigla únicamente sirve para designar a "cualquier fenómeno u objeto en el cielo que no puede ser identificado sin lugar a dudas por el observador". Esta diferenciación es primordial, ya que mucha gente rápidamente desestima a los testigos de avistamientos y los tacha de locos gracias a esta interpretación errónea de la realidad, muchas veces descartando un hecho fidedigno en pro de la ferviente verdad de los más numerosos (o sea, de los que no ven "naves espaciales flotando en el cielo").

Aclarado esto, confieso haber sido testigo de tres avistamientos a lo largo de mi vida, y lo digo con la convicción de saber que realmente eran OVNIs, o sea, "algo que ví flotando en el cielo y que no pude identificar claramente como algo cotidiano, como un avión, un globo, un pájaro o el reflejo de la Luna o de Venus contra las nubes". Si bien he teorizado al respecto, evidentemente no puedo concluir que se trató de naves espaciales de otro planeta, lo cual de alguna forma simplificaría mucho la situación... Solo uno de esos avistamientos tuvo características inusuales, pero como dije, no puedo afirmar categóricamente nada.

Volviendo al tema central, SETI viene intentando (entre otras cosas) hacer contacto con alguna raza extraterrestre inteligente desde su creación. La idea es simple, aunque las limitaciones de distancia y tiempo son un problema de dificil solución hasta el momento. Para tener una idea del problema, solo hace falta saber que la luz del Sol tarda aproximadamente 8 minutos y 19 segundos en llegar a la tierra, así que la visión que tenemos de nuestra estrella está desfasada en el tiempo (digamos "atrasada") 8 minutos y 19 segundos con respecto a la realidad, y el Sol está "acá nomás", a solo 149.000.000 de kilómetros... La siguiente estrella más cercana está a 4.1 años luz, o sea que la visión que tenemos de ella tiene un desfasaje temporal de 4.1 años con respecto a la realidad... y así sucesivamente con el resto de las estrellas. Esto complica enormemente la tarea de comunicarnos con cualquier otra raza inteligente fuera del planeta, ya que la velocidad de transmisión de información más rápida que conocemos es la de la luz (si descartamos de plano el extraño vínculo que parece existir entre partículas y que fuera el centro de la paradoja Einstein-Podolsky-Rosen, la cual demuestra la existencia de una "acción a distancia" que perturba las mediciones de ciertos valores entre partículas de forma tal que parece que las mismas estuvieran "comunicadas" entre sí), y ciertamente no es práctica a través de distancias interestelares. Asumiendo que nuestras transmisiones están siendo emitidas a una potencia apenas detectable desde hace 76 años (las primeras transmisiones de radio se hicieron en el año 1938), a estas alturas habríamos alcanzado aproximadamente unas 3500 estrellas, de las cuales ninguna tiene una civilización inteligente con ganas de comunicarse (esto se desprende de la aplicación de la ecuación del mismo Drake del que hablábamos al principio de este artículo...), ya que según los cálculos menos conservadores, las civilizaciones inteligentes capaces y deseosas de comunicarse con otras estarían separadas entre sí por una distancia de 2.000.000.000 de años luz, lo cual daría por tierra con la idea de poder comunicarnos con extraterrestres...

Nos queda entonces esperar a que los hombrecitos verdes o grises estén de viaje, cerca del sistema solar y que se "den una vuelta" por nuestro planeta para visitarnos, asumiendo que no lo han hecho o lo están haciendo en este momento. Esto implicaría que son mucho más avanzados que nosotros, por lo menos en cuanto a métodos de viaje por el espacio. Velocidades "luz" o "subluz" no parecen prácticas, a menos que tengas una nave enorme, repleta de recursos y con varias generaciones de viajeros en camino a algún lugar recóndito de la galaxia y sin posibilidad de retorno. Si los viajeros fueran inmortales, tendría lógica, ya que esta gente tendría "todo el tiempo del mundo para viajar", pero para otros seres mortales, el viaje por sí mismo sería un asunto a demasiado largo plazo como para valer la pena.

Si el nivel tecnológico de una raza inteligente está lo suficientemente desarrollado como para permitir viajar a velocidades superiores a la de la luz (léase "warp", "hyperespacio", "ftl", etc.), el viaje sería por supuesto mucho más rápido, y por lo tanto, es factible de ser realizado en poco tiempo, dando la oportunidad a estos extraterrestres de llegar cerca y comunicarse con nosotros en un período relativamente corto, digamos dentro del alcance de una "vida terrestre".

Con respecto a las formas de viaje más rápidas que la luz, a muchos les sorprenderá saber que en 1994 un científico mexicano llamado Miguel Alcubierre, patentó un modelo teórico del motor "warp". El sistema se denomina "Alcubierre Drive" (disponible también en español) (original, ¿no?) y si bien su modelo no ha sido aplicado en forma práctica aún, se espera que el avance tecnológico permita una primer implementación en algunos años (el gran problema de este modelo es que requiere de la existencia y manipulación de "materia exótica", la cual casualmente no abunda salvo en teorias sobre materia oscura y estados raros de la materia).

Por ahí hay un proyecto que data de los años 60' y que describe un posible vehículo (llamado "Dédalo" ("Daedalus") en honor al padre de Ícaro), el cual tendría la capacidad de viajar a un 12 % de la velocidad de la luz (unos 35.000 kilómetros por segundo, aproximadamente), y que sería lanzado desde una órbita alta de la Tierra hasta apagar sus motores, luego de un período de casi 50 años. El motor de este ingenio es denominado "Motor inercial de fusión en confinamiento", la cual es una tecnología probada y lista para ser usada. La única razón por la cual Dédalo no ha abandonado la Tierra aún en un viaje interestelar, es su costo (como siempre...). Con esto se acaba nuestra capacidad de viaje por el espacio.

Definitivamente, nuestra mejor oportunidad sería si nuestros visitantes ya estuvieran en camino, viajando por el espacio hace mucho tiempo a velocidades increíbles y con un sistema de comunicaciones que les permitiera "escucharnos" de alguna manera y acceder a conocernos mediante una visita formal. Lamentablemente, podemos decir que eso no ha pasado todavía. Si bien existen personas que afirman haber sido contactadas por inteligencias de otros planetas, sus afirmaciones son bastante sensacionalistas y se prestan a la especulación. Hay casos significativos, sobre todo en el área de las abducciones, muy poco se puede afirmar como verídico y fidedigno.

Para peor, Hollywood ha hecho contribuciones bastante negativas a lo largo de los años, con películas como "Body Snatchers", "Alien", "Independence Day", "Progeny", "Signs", "Predator", "The fourth kind", "Skyline", "Battle: Los Angeles", etc... las cuales hacen palidecer obras "positivas" como "The Day the Earth Stood Still", "Contact", "Encounters of the third kind", "E.T.", etc., así que probablemente cuando alguien vea "algo" que parece ser una nave tripulada por seres de otros planetas, lo más probable es que le tiren con cuanto elemento contundente tengan a mano, haciendo del "Primer Contacto" el inicio de un conflicto bélico de proporciones extra-planetarias.

Y si, no estamos preparados todavía para semejante proeza como un primer contacto con una civilización inteligente. Sin lugar a dudas, yo, si fuera un extraterrestre, miraría de lejos este "asentamiento irregular" al que llamamos Planeta Tierra, sacudiría la cabeza y me daría la vuelta de nuevo al lugar de donde vine, seguramente un planeta donde todos los habitantes conviven pacíficamente, dando su parte para mejorar su existencia como raza y donde todos persiguen el bien común. No se los puede culpar por eso...

Seguramente, esta es la razón por la cual no hicimos contacto todavía. Talvéz estén realmente ahí afuera, se acerquen lo suficiente con sus vehículos como para vernos (y dejarse ver), y eventualmente, llegarán a la conclusión de que lo mejor que pueden hacer es quedarse al margen y observar, esperando que "esto" llegue a una conclusión. Talvéz sean algo así como los personajes del cuento de Asimov "The Gentle Vultures" ("Los Buitres Bondadosos"), que observaban desde lejos, esperando que una civilización llegara a un punto de quiebre (léase "aniquilación por una guerra") y luego hacían su llegada triunfal, brindando ayuda a los sobrevivientes a cambio de un pequeño impuesto que sirviera para financiar la operación... (cualquier similitud, aunque sea vaga, con la operación "War on terrorism" de los yankees es pura coincidencia...).

Lo "malo" de todo esto entonces es no haber hecho contacto con otra raza inteligente. De alguna manera, creo que ese evento nos haría crecer como seres humanos y talvéz nos obligaría a madurar ante la seguridad de no estar solos en el Universo. Sé que a estas alturas nuestra capacidad de asombro ha mermado significativamente. La constante exposición a los medios de comunicación y a obras de arte sobre dicha temática nos ha hecho desarrollar una especie de escudo que evita que nos maravillemos ante la inmensidad y las posibilidades del Universo, pero todavía tengo esperanza en que si algún día tenemos contacto con otra raza de seres inteligentes, nos daremos cuenta de ello y haremos lo correcto.

Si no es así, no estoy seguro de querer estar acá cuando suceda...

:wq

domingo, 3 de octubre de 2010

Seagate Cheetah vs Glock 19 :-)

Hace casi cuatro meses tuvimos un problema con nuestro servidor principal. El problema implicó el fallo de la controladora SCSI y de uno de los discos en una unidad de RAID L5 de 4 discos, con consecuencias catastróficas para el sistema. Los discos eran unidades marca Seagate Cheetah de 36 GB, los cuales nunca habían dado un problema desde que se instalaron en el servidor.

Bueno, el disco que fué eliminado del RAID una vez que pude volver a recomponer el sistema, terminó en una repisa en espera de encontrar un destino más apropiado, talvéz "más violento" que la lenta muerte de las cosas que quedan en desuso. La placa lógica de la unidad se retiró y se dejó almacenada como repuesto para otro disco de las mismas características, pero la burbuja, con el resto de los componentes internos, motores, platinas, cabezas lectoras, etc., quedó "intacta", lista para ser usada como pisapapeles, contrapeso o divertimento. Y no puedo negar que me quedaron resentimientos al respecto del tener que reinstalar todo y la pérdida de tiempo que me generó, así que básicamente le hice a ese disco la promesa de que iba a sufrir por haberme hecho trabajar todo un fin de semana, y por haberme hecho atrasar más de un mes en mi trabajo.

Un lugar tranquilo donde practicar tiro
Y bueno, como el fin de semana tuve que ir al "interior" de visita, aproveché la oportunidad para llevarme el disco, un panel LCD de un notebook, roto en una fatídica caída, mi Glock 19 y dos cajas de municiones. ¿El resultado? Bueno... las imágenes hablan por si mismas.

Los blancos dispuestos para el juego
No esperaba que el LCD resistiera demasiado... Es solo plástico, cristal y un marco fino metálico. Las balas lo atravesaron como si fuera papel. El disco sufrió seis impactos, tres de ellos fueron directos y lo atravesaron, destruyendo los componentes internos. Los otros tres impactaron sobre el blindaje de la burbuja, deformando el marco metálico y la tapa, aunque no llegaron a penetrar, dado que se los dí estando el disco en posición horizontal (caído en el suelo), y básicamente golpearon el mismo tangencialmente. Creo que al disco le llegó su destino de forma más que apropiada... :-)

El LCD después de recibir los primeros impactos de fuego rápido desde 15 metros
Después de declarar terminada mi práctica, hice la recuperación de las vainas y examiné los blancos. Incluso, llegué a recuperar algunos proyectiles, aunque su estado evidentemente no es el que cabría esperar, por lo menos para los seguidores acostumbrados a ver C.S.I. Esta es una foto de algunos proyectiles recuperados, junto a una vaina vacía y una munición viva.


Por pura curiosidad, le disparé a la pared de una casona abandonada, solo para sacarme la duda de qué tan destructiva puede ser una munición de 9mm disparada a corta distancia, y para mi sorpresa, el disparo penetró lo suficiente como para atravesarla por completo(!). El material cohesivo y el revoque estaba en un estado lamentable, pero no esperé que una bala fuera a atravesarla y seguir camino... (¡Ojo, talibanes! ¡No siempre una pared detiene una bala!)

Después de todo, fué una buena tarde de catársis y entretenimiento.

La próxima vez, voy a llevar más municiones, y probablemente más discos duros... ya que no duran demasiado (nota mental: descartar la idea de hacer chalecos anti-balas con discos duros usados...) :-)


Lamento las pocas fotos. La próxima vez, prometo traer más fotos interesantes.


Para los interesados, acá están los "datos técnicos":

Municiones: 9mm Luger/Parabellum Winchester 147 grains (subsónica) TCMC (Truncated Cone Metal Case) y Federal "American Eagle" 124 grains (supersónica) FMJ (Full Metal Jacket).
Distancias: entre 10 y 15 metros (posiciones móviles).

La próxima vez hago una prueba de precisión (esta fué de velocidad), aunque tengo que conseguir mejores municiones para eso... :-)

:wq

jueves, 2 de septiembre de 2010

Las calles de la ciudad de la costa

No, no es el nombre de una nueva serie de televisión basada en la historia de algún detective canario, cuyos lentes de sol reflejan playas con extraño parecido a las de Miami, donde bellas chicas pasean en mallas de dos piezas mostrando sus acostumbrados atributos...

Se trata de la historia del legado orográfico de Tabaré Hackembruch, perpetuado ahora por nuestro intendente Marcos Carámbula.

¿El problema? Simple: La frágil consistencia del suelo del que se componen las calles de la ciudad de la costa, y el estado de devastación y destrucción que presentan luego de una lluvia.

Básicamente, cada vez que llueve las calles se convierten en un entramado de pozos y lomas, distribuídos en un patrón semi caótico, que cabría suponer se trata de geoglifos, cráteres, u otro tipo de irregularidad geográfica. Esta disposición hace imposible a un vehículo (sea de la cantidad de ruedas que sea, desde un monociclo hasta un camión con zorra) evitar rebotar imparablemente, dependiendo de si las ruedas están en una cresta (superficie elevada que se crea entre dos pozos contíguos) o en uno de dichos pozos.

La velocidad máxima en estas condiciones es de 20 Km/h., con suerte... Ir más rápido es garantía de rotura en homocinéticas, llantas, amortiguadores o ejes... dependiendo del modelo de vehículo que se utilice y de la edad de los mismos. No faltan historias de gente que ha quedado varada, con su automóvil inmovilizado por una rotura, o porque su motor se ahogó intentando salir de una laguna "natural", creada por alguna lluvia copiosa o por la afluencia de cauces en un cruce.

He escuchado de historias de vehículos volcados en las cunetas y hasta que no ví algunos, no pude creerlo.

El martes pasado, pasé por al lado de una pareja que observaba con una rara mezcla de incredulidad, impotencia y se podría decir que divertimento, como su vehículo (un Volkswagen Gol de la década de los 90) reposaba semi enterrado en una cuneta, luego de volcar al intentar transitar por el borde de la calle, en un vano intento de evitar algunos de los pozos que constituyen la Avenida Eduardo Marquez Castro. Me pareció de extremo mal gusto parar a tomar una fotografía para documentar la situación, así que solo les pregunté si necesitaban una mano, a lo cual me dieron a entender que ya habían llamado al guinche y que no hacía falta que me preocupara. Hoy a la tarde, un ómnibus de COPSA (el 7E8R) sufrió las mismas consecuencias, aunque afortunadamente no tan graves (no llegó a volcar), y esta vez no me dió vergüenza de sacar una foto (se ve fea porque fué sacada con el celular y en movimiento, pero marqué el ómnibus para que se viera claramente). Y como leyeron bien, esto sucedió en una "avenida"...


Los pozos tienen diferencias de hasta 15 centímetros entre el borde y el fondo, así que no hablamos de simples "irregularidades" del terreno. Son pozos que pueden destruir un vehículo en poco tiempo, así que la mayoría de la gente suele tratar de evitar los caminos más transitados, utilizando caminos alternativos, los cuales duran lo suficiente como para que el clima mejore y la intendencia pase las máquinas (una aplanadora y una reclamadora de pavimento), las cuales una vez que pasan, dejan el camino más transitable, aunque no perfecto.


Muchas veces pasan varios días después de la lluvia para que la intendencia envíe las máquinas, y además, no lo hace en todos los caminos, sino en los más importantes. Con factores como la frecuencia de las lluvias, la disponibilidad de las máquinas, la agenda de la intendencia y la buena disposición de los operarios, creo que estamos jodidos hasta límites insospechados.


Cuando estaba Hackembruch, nos quejábamos de que no arreglaba las calles, lo cual no era de extrañarse, ya que el hombre estaba ocupado atendiendo la estación de combustible y sus otros negocios satélite... pero ahora que está Carámbula, y ya no hace un período, sino dos... ¿cual es el asunto? ¿Cuando se va a resolver el problema de las "calles" de la costa, por lo menos de las principales "avenidas"? ¿No estaba esto en la agenda de la intendencia cuando era época de las elecciones?... ¡Ah!, claro... eso fué en el primer período... no para ÉSTE período, que es el segundo. Para el primero, este muchacho se llenó la boca diciendo que iba a arreglar todo, cosa que obviamente era una de esas promesas demagógicas que suelen hacer los políticos, pero claro... como vendía "el cambio", todos se pensaron que era cierto y lo votaron. ¿Debería extrañarme?...

Saqué algunas fotos del estado de las calles en una de mis travesías por el balneario. Ni siquiera Mordor está tan destruída... (si miran bien, verán fotos del "Anduín de la costa" y de la "Quebrada del Solymar")...

Parece en Anduín, pero no es... es una calle de la ciudad de la costa después de una lluvia
En fin... podría seguir hablando horas del tema... y hasta podría sugerir soluciones al problema, pero claro... yo solo soy un ciudadano que respeta la ley y paga sus impuestos, así que estoy al fondo de la "pirámide alimenticia", por lo menos en lo que respecta a los "derechos"...

La otra es dejar de quejarme y comprarme un hovercraft... pero acá ningún comercio tiene la "visión" necesaria como para darse cuenta del mercado que hay para este tipo de vehículos en estos lugares. Además, tienen que sacarse de encima la torta de cuatriciclos que tienen a la venta, algo que se puso de moda a pesar de que no sirve para evitar los pozos, y no es más seguro que una motocicleta normal, sin importar cuantos puntos de apoyo tenga... El hovercraft sin embargo, con su suspensión "aerea" sería el vehículo más apropiado para estos parajes (Nota mental: avisarle a Motociclo...).


En fin... dicen que todo va a cambiar cuando se haga el saneamiento... pero ya ven, ¡se dijeron tantas cosas que nunca pasaron!

:wq

 
Gustavo Castro

Crea tu insignia