Manuel Kaufmann (Humitos): El tereré Paraguayo

El fin de semana nos llamó mucho la atención un puestito de venta de "yuyos" que había en la plaza Uruguaya de Asunción, Paraguay. Una cantidad impresionante de gente se acercaba, abría su termo y una señora muy amable machacaba unas hierbas y las volcaba en el termo. Luego, se retiraban...

Como somos muy inquietos, no podíamos dejar de probar ese tereré tan raro (para nosotros) y charlar un poco con la señora del lugar. Aquí está el registro audiovisual:

Roberto Alsina: Escuchas

Ha­ce po­co In­fo­bae pu­bli­có, di­ce "To­das las es­cu­chas de la cau­sa Nis­man so­bre el pre­sun­to en­cu­bri­mien­to del aten­ta­do a la AMIA"

¿Po qué di­go "di­ce"? Por­que no es cier­to. Lo que pu­bli­ca­ron son to­das las es­cu­chas que se hi­cie­ron a los te­lé­fo­no­s ­de Kha­li­l, que se in­ter­vino por la cau­sa AMIA. Son es­cu­chas de la cau­sa AMIA, no de la cau­sa del en­cu­bri­mien­to.

La cau­sa so­bre en­cu­bri­mien­to sur­ge de que Nis­man, al re­ci­bir es­tas es­cu­cha­s, y vien­do el me­mo­ran­dum de en­ten­di­mien­to, de­ci­de que hay un en­cu­bri­mien­to en cur­so, re­ú­ne evi­den­cia, y lo de­nun­cia. Pe­ro las es­cu­chas de la cau­sa de­l en­cu­bri­mien­to son mu­chas me­no­s, son las que pre­sen­tó co­mo evi­den­cia Po­lli­ci­ta, o sea 15 CD­s, que fue­ro­n a­na­li­za­dos por Ra­fe­ca­s, que es (o era, a es­ta al­tu­ra) el juez en la cau­sa del en­cu­bri­mien­to.

Los que se que­jan de que Ra­fe­cas no re­vi­só es­tas otras mi­les de es­cu­chas an­tes de ex­pe­dir­se de­be­rían pen­sar ­res­pues­tas pa­ra un par de pre­gun­tas bá­si­ca­s:

  1. Si Nis­man te­nía es­cu­chas más in­cri­mi­na­do­ra­s, que no es­tán en esos 15 CD­s... ¿Por qué no las agre­gó?
  2. Si Ra­fe­cas no ac­túa en la cau­sa AMIA... ¿Có­mo po­dría ac­ce­der a es­tas es­cu­cha­s?

La pri­me­ra ha­bla mal de Nis­man. Un fis­cal no se guar­da la evi­den­cia. Un fis­cal la pre­sen­ta.

La se­gun­da ha­bla mal de los que du­dan de Ra­fe­ca­s, por­que asu­men que un juez pue­de sim­ple­men­te ac­ce­der a es­cu­chas de otras cau­sas. O tal vez ha­bla mal de la jus­ti­cia por­que la gen­te asu­me que eso es po­si­ble.

La otra co­sa in­te­re­san­te de es­tas es­cu­chas es que, por ejem­plo, se pue­de es­cu­char al "es­pía" Bo­ga­do di­cien­do­ ­co­sas que, a sim­ple vis­ta, no pa­re­cen ser cier­ta­s. Por ejem­plo, di­ce que el 13/1/2013 Bou­dou es­ta­ba in­ter­na­do­ ­con un in­far­to, y que co­mo CFK es­ta­ba de via­je, lo es­con­die­ron pa­ra que no asu­ma Ro­jké­s.

Si fue un in­far­to fue asom­bro­sa­men­te le­ve, por­que el día an­tes Bou­dou re­ci­bió gen­te en el sena­do, y dos días des­pués es­ta­ba inau­gu­ran­do una plan­ta en Be­ra­zate­gui. De he­cho­, hay re­por­tes de que esa mis­ma no­che le pu­sie­ron una mul­ta a su au­to en la AU 25 de ma­yo, pe­ro po­ne­le que eso no es­to­y ­se­gu­ro por­que ca­paz que ma­ne­ja­ba otro.

Si era un pro­ble­ma que asu­ma Ro­jké­s, qué ra­ro que no fue un pro­ble­ma cuan­do asu­mió me­ses an­tes, en ma­yo­. ­Si era tan­to pro­ble­ma to­do, que ra­ro que CFK si­guió de gi­ra un par de se­ma­nas má­s. O se­rá que Bo­ga­do de­cía cual­quie­ra por­que es un fi­gu­re­ti.

Ha­y, sí, co­sas in­te­re­san­tes en las es­cu­cha­s. Co­mo cuan­do pi­den "pi­z­za na­po­li­ta­na sin ja­mó­n", de­mos­tran­do fe­ha­cien­te­men­te su ca­rác­ter de is­la­mis­tas fa­ná­ti­co­s.

Y hay otras que so­n, tal ve­z, re­le­van­tes pa­ra la cau­sa AMIA, co­mo cuan­do al­guien di­ce te­ner un vi­deo del aten­ta­do­. ­Pe­ro eso no es re­le­van­te pa­ra la cau­sa del en­cu­bri­mien­to. Es re­le­van­te pa­ra la cau­sa AMIA. La cau­sa pa­ra la que ­se hi­cie­ron las es­cu­cha­s. La cau­sa que lle­vó Nis­man por 10 año­s. El Nis­man que se su­po­ne oyó es­ta­s es­cu­cha­s, en la cau­sa que él mis­mo in­ves­ti­ga­ba. Y que al pa­re­cer no hi­zo na­da al res­pec­to.

La pre­gun­ta im­por­tan­te acá no es "¿­Por qué Ra­fe­cas no hi­zo na­da con es­tas es­cu­cha­s?". La pre­gun­ta im­por­tan­te es "¿­Por qué NIS­MAN no hi­zo na­da con es­tas es­cu­cha­s?".

Y esa es la pre­gun­ta que na­die pa­re­ce ha­cer­se.

GiLgAmEzH: Fades 2.0

Fueron (creo) unas 2 semanas desde que salió el release 1.0 de Fades las que demoramos en sacar el 2.0 :). El ritmo estuvo muy bueno y sobre todo largas charlas de qué camino tomar. Cuándo salió la 1.0 Robert Collins nos hizo algunos comentarios sobre xattr , y después de una linda charla via IRC fades empezó a hacer honor a la primer palabra de su sigla para mutar a una caché de virtualenvs en lugar de tener uno por cada script. De paso se arreglaron varios errores y se mejoraron muchas cosas.

¿Qué hay de nuevo en esta release?

  • Tiene un cache para virtualenvs creados en el sistema; mejora la reutilización y velocidad.
  • Como resultado del feature anterior, ya no guarda metadata por script (en el script).
  • Permite indicar el nombre del projecto si es diferente al del módulo (ej: "import bs4 # fades.pypi beautifulsoup4 == 3.5")
  • Soporta requerimientos complejos de versión: (ej: "<2.6,>1.3,!=1.9")
  • Maneja paquetes a los que pip les cambia el nombre
  • Otros cambios y correcciones menores.

Mas info: https://github.com/PyAr/fades/releases/tag/2.0

GiLgAmEzH: Compilar versión vieja de PHP para Archlinux

Archlinux siempre tiene la versión más nueva de todo, eso tiene muchas cosas positivas. Algo que suele pasar es que tenemos que usar algo que está productivo y que tiene una versión mucho más vieja que la instalada. Hace poco tuve que laburar con un Drupal que estaba usando PHP 5.3 y no me quedó otra que compilarlo. Así que acá dejo los pasos de cómo hacerlo (básicamente la linea del configure).

  • Descargar el source en /usr/local/src.

  • Hacer un symlink en /usr/include/freetype2/freetype/freetype.h -> ../freetype.h (sin esto da un error porque no encuentra freetype.h)

  • Ejecutar configure, make y make install:

    ./configure --enable-mbstring --with-mysql --with-mysqli --with-zlib \
    --with-png-dir=/usr --with-jpeg-dir=/usr \
    --with-freetype-dir=/usr/include/freetype2/ --with-curl --with-gettext \
    --with-pdo-mysql --with-pdo-sqlite --with-bz2 \
    --prefix=/usr/local/php-5.3.29 --with-libdir=lib64 --with-gd \
    --with-libdir=lib64 --enable-cgi --enable-sockets --with-mcrypt \
    --with-xpm-dir=/usr
    
    make
    make install
    
  • Hacer un symlink de /usr/local/php-5.3.29 a /usr/local/php

  • Copiar el php.ini que tengamos a /usr/local/php/lib

  • Si usamos Apache en httpd.conf hay que hacer un Include de /etc/httpd/conf/extra/httpd-fastcgid.conf

GiLgAmEzH: HP Pavilion dv5 1251nr

En el último mes decidí cambiar la notebook y ahí ando evaluando modelos. Sacando cuentas me acordaba maso menos que la que tengo ahora tiene unos 5 años. Lo que me parece una linda cantidad de tiempo para una notebook.

Siempre me acordaba que yo había sacado una foto el día que la compré. Así que hoy la busqué y la pongo acá para no perderla.

/images/paviliondv5.jpg

El CD de Ubuntu está ahí porque no dejé que windows arranque ni una sola vez en la maquina (tenia un windows vista). Arranqué con el Live CD, elimine toda partición e instalé. :)

Roberto Alsina: Política y Periodismo

Yo leo mu­cho. Así a ojo, el 80% de lo que leo son pá­gi­nas we­b, tan­to pa­ra mi la­bu­ro co­mo pa­ra in­for­mar­me o di­ver­tir­me. Tam­bién leo li­bro­s, la gran ma­yo­ría es­ca­pis­ta­s, y ahí ten­go es­ta­dís­ti­cas y sé que leo­ u­na canti­dad bas­tan­te preo­cu­pan­te. Por eso siem­pre me sor­pren­de cuan­do al­guien no quie­re lee­r.

Me sor­pren­de cuan­do es mi hi­jo y me sor­pren­de más cuan­do es gen­te adul­ta, edu­ca­da y sin pro­ble­mas ta­le­s ­co­mo que le cues­ta leer por­que apren­dió el año pa­sa­do. Pe­ro más to­da­vía me sor­pren­de, y de he­cho­ ­me pro­vo­ca fu­ria cuan­do, en un te­ma de ac­tua­li­da­d, pu­dien­do so­bre el te­ma que le in­te­re­sa, se ­pre­fie­re leer pe­rio­dis­mo so­bre ese te­ma.

Por ejem­plo, en vez de leer co­sas es­cri­ta­s, a un ni­vel per­fec­ta­men­te no téc­ni­co por al­guien co­mo Phil Plai­t a­cer­ca del es­pa­cio, de los pla­ne­ta­s, de as­te­roi­des y es­tre­llas se pre­fie­re leer una no­ta he­cha por un ­pe­rio­dis­ta que no en­tien­de del te­ma y to­ca de oí­do.

En vez de leer so­bre eco­no­mía a un eco­no­mis­ta, se pre­fie­re leer a un pe­rio­dis­ta de eco­no­mía. Y en vez de leer fa­llos de jue­ce­s, se pre­fie­re leer no­tas pe­rio­dís­ti­cas so­bre los fa­llo­s.

Ob­via­men­te, hay ex­pli­ca­cio­nes. No to­dos tie­nen el tiem­po li­bre pa­ra leer­se las 60 pá­gi­nas que es­cri­bió Ra­fe­ca­s, ­mu­cho me­nos las 300 de Nis­man, pe­ro si vas a opi­na­r, es lo mí­ni­mo que po­dés ha­ce­r. Te­nés que in­ten­tar­lo­. ­Si ni si­quie­ra lo in­ten­tá­s, en­ton­ces te li­mi­tás a ha­blar por bo­ca de gan­so, te ase­gu­rás la ig­no­ran­cia. ­Tam­bién pue­de pa­sar que sea un do­cu­men­to de­ma­sia­do téc­ni­co. Yo leí lo de Ra­fe­cas y hay par­tes que se ­me es­ca­pan, por­que no soy abo­ga­do. Pe­ro lo in­ten­to.

Lo que es real­men­te im­per­do­na­ble, es cuan­do un pe­rio­dis­ta ha­bla so­bre es­to sin leer­lo. Es im­per­do­na­ble ­por­que su tra­ba­jo es in­for­mar­se y "ba­ja­r" ese co­no­ci­mien­to, se­pa­rar el grano de la pa­ja y dar una ­ver­sión más en­ten­di­ble pa­ra el pú­bli­co que no tie­ne el tiem­po, o el co­no­ci­mien­to, o la in­cli­na­ció­n ­pa­ra ha­cer­lo por sí mis­mo. Pe­ro siem­pre tie­ne que ha­cer­lo re­mi­tien­do a de don­de saca la in­for­ma­ció­n.

No pue­de de­cir "el fa­llo de Ra­fe­cas es una mier­da" y no de­cir por qué es una mier­da. Tie­ne que ­dar da­to­s, ex­pli­car por qué el de­re­cho di­ce otra co­sa, por qué Ra­fe­cas se equi­vo­ca, o mien­te, o e­rra, o de­li­ra. Pe­ro co­mo los pe­rio­dis­ta­s, hoy en día no sien­ten esa obli­ga­ció­n, por­que so­n ­so­lo in­tér­pre­tes del hu­mo­r, adi­vi­nos le­yen­do tri­pas de ani­ma­li­tos pa­ra pro­nos­ti­car el fu­tu­ro­, ­por­que el mé­ri­to es te­ner "fuen­tes" que les per­mi­tan ade­lan­tar lo que va a pa­sar en vez de ­re­por­tar y co­men­tar en lo que pa­sa, el pú­bli­co es­tá huér­fano.

Tan te­rri­ble es el es­ta­do del pe­rio­dis­mo po­lí­ti­co en Ar­gen­ti­na hoy en dia que hay si­tios en­te­ro­s ­que se de­di­can a ve­ri­fi­car si lo que di­cen los po­lí­ti­cos es cier­to, cuan­do eso de­be­ría ser par­te in­te­gral de ca­da no­ta que se pro­du­ce re­por­tan­do so­bre las de­cla­ra­cio­nes.

Los pe­rio­dis­tas se di­vi­den, hoy en día, en las si­guien­tes ca­te­go­ría­s:

Loros
Boludos que repiten lo que dice otro. Van a discursos y los reportan. Toman declaraciones y las repiten. Leen gacetillas y las copian. No son interesantes.
Oráculos
Tienen "fuentes". Les ponen nombres pintorescos como "Garganta", o simplemente se refieren a ellos con descripciones como "bien informadas" o "de alto nivel". Se dedican a pronosticar el futuro en vez de reportar. A veces aciertan. A veces dicen cualquiera. Fallar no tiene repercusión alguna en sus carreras. Dado que sus notas no necesitan reflejar la realidad, pueden pasar décadas metiendo sus patas sucias en sus fuentes, impunes y despreciables.
Analistas
Intérpretes de la realidad. Creadores de narrativas basadas en hechos. Bueno, a veces. Estos aspirantes a bioquímicos toman hechos dispares, agregan (en algunos casos) su propia ideología, y crean un cuentito que explica todo. A veces el cuentito es cierto. A veces es mentira. A veces es simplemente un cuentito, que no significa nada.

Pe­rio­dis­tas que to­men la rea­li­da­d, in­ves­ti­guen pa­ra ex­pan­dir lo que se co­no­ce, re­por­ten ve­raz­men­te ­lo que en­cuen­tren e in­ter­pre­ten los he­chos im­par­cial­men­te, sim­ple­men­te no co­noz­co.

Vea­mos ejem­plo­s.

Majul el Oráculo

Por fa­vor lean el edi­to­rial La pre­si­den­ta y Ra­fe­ca­s, en­tre la es­pa­da y la pa­red en La Na­ció­n. Al­gu­nas ci­tas es­co­gi­da­s:

"Aunque Daniel Rafecas no adelantó lo que iba a hacer ni siquiera a su familia, dos altas fuentes que transitan los pasillos de Comodoro Py y que están vinculadas con la causa vaticinaron que al juez federal no le queda otra alternativa que convalidar la imputación contra la Presidenta por el delito de encubrimiento en el atentado contra la AMIA."

Las fuen­tes son "al­ta­s". ¿Tal vez le min­tie­ron al po­bre Luis? Ni si­quie­ra, da­do que Ra­fe­ca­s, se­gun la mis­ma no­ta "no ade­lan­tó lo que iba a ha­cer ni si­quie­ra a su fa­mi­lia", las "al­tas fuen­tes" so­la­men­te es­ta­ban dan­do opi­nio­nes pro­pia­s. ­Tra­duz­co ese pá­rra­fo de Ma­jul a cas­te­llano ho­nes­to:

"Dos personas que conozco que son abogados me dijeron que les parece que Rafecas no desestima la imputación".
"Está concentrado en la lectura del expediente que le elevó el fiscal Pollicita. De hecho, desde que recibió el escrito ni siquiera se comunicó con él, a pesar del respeto profesional y mutuo afecto que se profesan", me dijo otro fiscal federal con información confiable."

Acá la fuen­te es "o­tro fis­cal fe­de­ra­l", pe­ro uno "con in­for­ma­ción con­fia­ble" no co­mo otros fis­ca­les fe­de­ra­le­s. Apa­ren­te­men­te tie­ne tan­ta in­for­ma­ción que sa­be a quien lla­ma y no lla­ma un jue­z. Pe­ro ... ¿"o­tro fis­cal fe­de­ra­l"? ¿O sea que las otras "al­tas fuen­tes" tam­bién eran fis­ca­les fe­de­ra­les Luis?

"Dos fiscales y dos jueces que leyeron el requerimiento de Pollicita sostienen que su presentación fue impecable."

Ok, en­ton­ces uno o dos de las "al­tas fuen­tes" eran fis­ca­le­s, y ca­paz que uno era jue­z. Ma­ju­l, te­nés que es­con­de­r un po­co me­jo­r...

"La lógica de atenerse a los hechos para impulsar o desestimar una investigación es también la que seguiría Rafecas en el caso de convalidar las imputaciones que decidió Pollicita,"

Nó­te­se co­mo su­til­men­te (pa­ra los stan­dar­ds de Ma­ju­l) se di­ce que so­lo se aten­dría a los he­chos si con­va­li­da. Si des­es­ti­ma no.

"sin que el antecedente de su recusación en la causa Ciccone por haber intercambiado mensajes de texto con el abogado del vicepresidente Amado Boudou influya de alguna manera."

Y acá la em­ba­rra de nue­vo, por­que Ra­fe­cas no in­ter­cam­bia­ba men­sa­jes de tex­to con el abo­ga­do de Bou­dou. Los in­ter­cam­bia­na con Da­nu­z­zo Itu­rras­pe, que era el abo­ga­do de Nu­ñez Car­mo­na.

En re­su­m­men: Ma­jul ti­ra co­mo cier­ta da­ta de sus "al­tas fuen­tes", que sus fuen­tes no tie­nen co­mo sa­be­r, se de­ja ope­ra­r ­por cual­quie­ra que le atien­da el te­lé­fo­no, ti­ra pro­nós­ti­cos com­ple­ta­men­te erra­do­s, y avi­sa que si no pa­sa lo­ ­que el di­ce, hay al­go ra­ro.

Al día si­guien­te, en In­tra­ta­bles en­tre­vis­ta­ron a Luis Ma­jul y se men­cio­nó es­ta no­ta. En nin­gún mo­men­to se le ­men­cio­nó si­quie­ra su pro­nós­ti­co equi­vo­ca­do. Al­ta fuen­te... al­to orá­cu­lo ... al­to gui­so.

Nelson Castro el Analista

Es­ta va a ser más cor­ta que la de Ma­jul por­que Cas­tro es me­nos in­te­re­san­te, y de me­nor vue­lo. Y apar­te por­que en ge­ne­ral sa­le en la te­le en vez de es­cri­bi­r, y me da pa­ja trans­cri­bir­lo. Así que acá tie­nen el vi­deo y al­gu­nas ci­ta­s.

Vea­mo­s. El vi­deo. Y lea­mo­s. Las ci­ta­s.

"La Pre­si­den­ta no se ro­dea de ca­pa­ces aho­ra. Ne­ce­si­ta lea­le­s.

Cuan­do lo que se bus­ca es eso, lo que ocu­rre en el po­de­r, es la obe­dien­cia. Es la antí­te­sis de lo que es la de­mo­cra­cia. De lo que re­pre­sen­ta ese sis­te­ma."

In­te­re­san­te pa­pa­rru­cha­da. Si un pre­si­den­te tie­ne co­la­bo­ra­do­res lea­les y obe­dien­tes, es anti­de­mo­crá­ti­co­. Un pre­si­den­te so­lo es de­mo­crá­ti­co si sus co­la­bo­ra­do­res lo de­so­be­de­cen. Lo opues­to de ca­paz no es in­ca­pa­z, ­lo opues­to de ca­paz es obe­dien­te. Lo opues­to de de­so­be­dien­te es in­ca­pa­z. Y ni men­cio­ne­mos que lo de ­ne­ce­si­tar lea­les es sim­ple­men­te una idea pro­pia de don Nel­so­n.

Re­su­mien­do: Nel­son opi­na al­go. Esa opi­nión es prue­ba su­fi­cien­te de que el go­bierno es anti­de­mo­crá­ti­co.

"Cristina representa en su accionar el descreimiento de la democracia como concepto de plu-ra-li-dad y además como concepto de alternancia de poder"

¿Se en­tien­de co­mo fun­cio­na el ana­lis­ta? El ana­lis­ta de­ci­de una his­to­ria, y la jus­ti­fi­ca va­ga­men­te en ­ba­se a lo in­com­pro­ba­ble, a la opi­nión y a usar mu­chas pa­la­bras lar­gas jun­ta­s.

¿De qué ma­ne­ra Cris­ti­na des­cree de la al­ter­nan­cia de po­de­r? ¿De qué ma­ne­ra es res­pon­sa­bi­li­dad de un ­fun­cio­na­rio elec­to la al­ter­nan­cia en su car­go? ¿No se­ría mas bien res­pon­sa­bi­li­dad de los elec­to­res? ¿O tal vez de la opo­si­ció­n? A me­nos que Cris­ti­na es­tu­vie­ra yen­do por la ree­lec­ció­n... pe­ro no lo­ es­tá ha­cien­do. Y el kir­ch­ne­ris­mo­... ¿No es la úni­ca fuer­za que, sa­bien­do que ga­na­ba las elec­cio­nes ­des­pués del 1er man­da­to de Nes­tor no bus­có la ree­lec­ció­n?

"Esto demuestra lo que le va a doler a la Presidenta dejar el poder. Profundamente. PROFUNDAMENTE. Se nota todos los días."

Ehhh no. No de­mues­tra una go­ma, Nel­so­n. Pro­fun­da­men­te.

"Mas allá de la discusión que da un fallo, el fallo de Rafecas demuestra lo que representa la muerte de Nisman. Efectivamente, un magnicidio institucional. Rafecas ha podido fallar así porque Nisman no está. Emmm. La muerte de Nisman agiganta su dimensión ante estos hechos, porque lo que él sabía, lo que él tenia guardado para exponer, nadie lo podrá saber, seguramente, como él lo sabía."

¿Por qué el fa­llo de Ra­fe­cas de­mues­tra que lo de Nis­man es un mag­ni­ci­dio ins­ti­tu­cio­na­l? ¿­Qué es un mag­ni­ci­dio ins­ti­tu­cio­na­l?

¿Por qué Ra­fe­cas no hu­bie­ra po­di­do fa­llar así si Nis­man es­ta­ba?

¿Por qué afir­ma Nel­son Cas­tro que Nis­man te­nía co­sas guar­da­da­s?

¿Pa­ra qué te­nía Nis­man co­sas guar­da­da­s? ¿Por qué Nis­man no pu­so la evi­den­cia pos­ta que Nel­so­n a­fir­ma que te­nia, en su de­nun­cia? ¿Có­mo es­tá tan se­gu­ro Cas­tro de que exis­te?

Te­ner la fis­ca­lía de ma­yor pre­su­pues­to y per­so­nal del país, y que la evi­den­cia se per­die­s­e ­por la muer­te de Nis­man ¿No in­di­ca­ría una ho­rri­ble in­com­pe­ten­cia por par­te de Nis­man?

Pre­gun­tas que me ha­go es­cu­chan­do a es­te ti­po. Y que es­te ­ti­po nun­ca me va a res­pon­de­r.

O tal vez sim­ple­men­te la evi­den­cia no se per­dió. O la evi­den­cia no exis­te. O el fa­llo de Ra­fe­ca­s no de­mues­tra eso (a Nel­son le en­can­ta la pa­la­bra de­mos­tra­r).

"La causa que seguía el fiscal (por Nisman), ya no existe más, porque Nisman está muerto"

Las pe­lo­ta­s, Nel­so­n. La cau­sa AMIA si­gue, con otros fis­ca­le­s. La cau­sa del en­cu­bri­mien­to si­gue, con un fis­ca­l, ­por­que en esa cau­sa Nis­man no era el fis­ca­l, era el de­nun­cian­te.

Eso, se­ño­ri­ta­s, es lo que pa­sa por aná­li­sis po­lí­ti­co en Ar­gen­ti­na, si­glo 21. Un ti­po de tra­je con ca­ra se­ria ha­blan­do. La pau­sa dra­má­ti­ca. La pa­la­bra rim­bom­ban­te. La ex­pre­sión sin sen­ti­do. La sos­pe­cha. ­La re­pe­ti­ció­n.

Es la cás­ca­ra de aná­li­sis. Es la pre­sen­ta­ción del re­sul­ta­do. Es el pa­pel fir­ma­do por el bio­quí­mi­co, pe­ro que en vez de de­cir­te que te­nés al­ta la glu­co­sa te cri­ti­ca por­que no usás cor­ba­ta. Es, co­mo di­je, ­de vue­lo más ba­jo que Ma­ju­l. Y es di­fí­cil vo­lar mas ba­jo que una la­gar­ti­ja.

En fi­n.

—Al­ber­to Ra­fe­ca­s.

Mariano Guerra: Testing erlang ldap lib eldap with local ldap server the easy way

First we need to pick an ldap server to run, I've heard horror stories about setting up ldap servers locally for testing purposes so I was surpised by how easy it was to setup a ldap server using Apache Directory Studio which is a kind of Visual Tool to manage Apache Directory from an Eclipse based UI.

We start by downloading it from the Apache Directory Download Page

After downloading and unpacking it (snippet for the lazy linux users):

wget http://mirrors.fe.up.pt/pub/apache//directory/studio/dist/2.0.0.v20130628/ApacheDirectoryStudio-linux-x86_64-2.0.0.v20130628.tar.gz

tar -xzf ApacheDirectoryStudio-linux-x86_64-2.0.0.v20130628.tar.gz

Now we start it, in my case I had some segfaults as noted on the download page so I had to add the variable declaration before, it works for fedora, you may have to change the path a little:

GTK2_RC_FILES=/usr/share/themes/Raleigh/gtk-2.0/gtkrc ./ApacheDirectoryStudio

Now that we have it running we will see something like this:

../galleries/code/ldap-erlang/1-first-session.png

We first create a new server by clicking on new server on the bottom left:

../galleries/code/ldap-erlang/2-new-server.png

We pick "ApacheDS 2.0.0" just because we like to be in the bleeding edge (?):

../galleries/code/ldap-erlang/3-select-version.png

If we double click the created server we can see the config, I leave everything as default:

../galleries/code/ldap-erlang/4-server-config.png

We now start the server by clicking the green run button on the bottom left:

../galleries/code/ldap-erlang/5-server-run.png

Then we want to create a connection, we do that by right clicking the server and selecting "Create a Connection":

../galleries/code/ldap-erlang/6-create-connection.png

Then we connect:

../galleries/code/ldap-erlang/7-open-connection.png

Now we can see the details of the server on the top left panel, we click the entry named "dc=example,dc=com" (in my case, if you changed the config it may be different for you.

on the pop up menu we pick "New -> New Entry":

../galleries/code/ldap-erlang/8-new-dc-entry.png

On the dialog we select "Create entry from scratch" and click next:

../galleries/code/ldap-erlang/9-from-scratch.png

We want to create an organization unit to hold our users so we start typing "org" on the "Available object classes" entry until we see the entry "organizationalUnit":

../galleries/code/ldap-erlang/10-organization-unit.png

We select it and click the "Add" button, when the right panel is populated we click "Next >"

../galleries/code/ldap-erlang/11-org-unit-add-next.png

On the next step of the dialog we enter "ou" on the RDN entry and "users" on the right side and click "Next >"

../galleries/code/ldap-erlang/12-ou-users.png

On the next step we click "Finish"

../galleries/code/ldap-erlang/13-users-finish.png

Now we want to create a new user under our "users" organization unit, to do that we right click ont he users ou and again select "New -> New Entry" and pick "Create entry from scratch" and then "Next >".

../galleries/code/ldap-erlang/14-create-inet-org-person.png

after that we look for the object class "inetOrgPerson" and click "Add" and then "Next >":

../galleries/code/ldap-erlang/15-add-next.png

On the next step we enter uid as RDN and the username as value on the right side, in my case it will be mariano because I'm egocentric :P

../galleries/code/ldap-erlang/16-user-uid.png

Then we click "Next >" and on the next step we fill cn (Common Name) and sn (Surename) and click "Finish"

by the way, dc is Domain Component and dn is Distinguished Name ;)

../galleries/code/ldap-erlang/17-set-cn-sn.png

Now we have our first user but it doesn't have a password, let's set it by double clicking the user on the top left pannel and clicking the "New Attribute" on the bar at the top of the center panel:

../galleries/code/ldap-erlang/18-user-new-attr-user-password.png

On the dialog that opens we pick "Attribute type" "userPassword" and click "Next >"

../galleries/code/ldap-erlang/19-select-user-password-next.png

We enter a password:

../galleries/code/ldap-erlang/20-set-password-ok.png

And that's it, we have a user with a password inside an organization unit!

../galleries/code/ldap-erlang/21-user-result.png

Now that we have the server running and one user we can code some erlang to try it.

Most of the code was taken from the Erlang Central Article "How To Talk LDAP from Erlang"

1> Host = "127.0.0.1".
"127.0.0.1"
2> Port = 10389.
10389
3> {_,S} = eldap:open([Host], [{port, Port}]).
{ok,<0.37.0>}
4> UserRest = "ou=users,dc=example,dc=com".
"ou=users,dc=example,dc=com"
5> Username = "mariano".
"mariano"
6> Password = "secret".
"secret"
7> DN = "uid=" ++ Username ++ "," ++ UserRest.
"uid=mariano,ou=users,dc=example,dc=com"
8>
8> eldap:simple_bind(S, DN, Password).
ok
9> eldap:simple_bind(S, DN, "anothersecret").
{error,invalidCredentials}

and that's the basics, there's some more code in the article were this code was based.

You can also find the docs for the eldap library in the erlang documentation for eldap