OpenVPN: estabilidad, economía y simpleza en VPNs

A la hora de montar redes privadas virtuales (VPNs) muchos consultores aconsejan a sus clientes la utilización de hardware específico (dedicado). Tipicamente se instala un router (enrutador) Linksys BEFVP41 (u$s 180) como servidor y routers Linksys BEFSX41 (u$s 120) en cada red a conectar, todo esto utilizando el protocolo IPSec. En caso de querer conectar PCs o Notebooks individuales (por lo general con Windows XP/2000) se suele configurar un tunel IPSec o utilizar el cliente de VPN Microsoft (que utiliza el poco recomendable protocolo PPTP).

Esta solución tiene varios puntos en contra:

Sigue leyendo «OpenVPN: estabilidad, economía y simpleza en VPNs»

Microsoft y la Agencia Nacional de Seguridad de los EE.UU.

Desde el movimiento del software libre siempre se ha alertado que el software privativo, distribuido en forma de código binario cerrado, representa una grave amenaza contra la privacidad de las personas.

La reacción usual de muchos, cuando se les dice que si uno solamente recibe el código binario no puede saber a ciencia cierta qué es lo que hace el programa (y qué es lo que no hace), es de incredulidad. Generalmente se muestran excépticos ante la posibilidad de que una empresa incluya funciones ocultas en los programas cuyo código binario comercializa.

Aunque hay gran cantidad de casos demostrados de prácticas de este tipo (inclusión de Spyware, Rootkits, etc.), ninguno alcanza la magnitud que tendría, de ser cierta, la relación entre Microsoft y la Agencia Nacional de Seguridad de los EE.UU. (NSA).

Sigue leyendo «Microsoft y la Agencia Nacional de Seguridad de los EE.UU.»

Aplicaciones web con plantillas

Comencé a desarrollar aplicaciones web hace más de 6 años. Inicialmente utilicé Perl y luego también PHP, Rails, entre otros.

Al poco tiempo de escribir mi primera aplicación interesante noté algo que no me parecía apropiado. Partes de mi programa se ocupaban de obtener los datos enviados por el usuario (entrada), otras se encargaban de realizar los cómputos en función de dichos datos (proceso), en tanto que otras se encargaban de producir el código HTML que se enviaba al usuario (salida), mostrando los resultados del proceso y permitiendo la posterior interacción con el sistema (menúes, enlaces, etc.). Lo que me perturbó es que una parte demasiado significativa del programa se ocupaba de esta última función y, peor aún, no podía separarla adecuadamente del resto del sistema.

Sigue leyendo «Aplicaciones web con plantillas»

La complejidad de los algoritmos

Hace unos años presencié una discusión entre dos programadores sobre la «eficiencia de los programas«. Ellos discutían sobre la manera de especificar el problema en la herramienta CASE que utilizaban, para que el programa generado fuera más «eficiente«. La discusión era acalorada y tenían visiones muy diferentes del asunto (yo, al no conocer ni de cerca la herramienta en cuestión, no entendía ni media palabra de sus argumentos).

Hasta que en un momento no pude contenerme y decidí meter el dedo en el ventilador: A ver, una pregunta, ¿cuándo un programa es más eficiente que otro? – les dije. Para mi asombro (aunque debería haberlo intuído), ambos me respondieron al unísono: ¡Cuando es mas corto!.

Sigue leyendo «La complejidad de los algoritmos»

Fibertel y su proxy transparente

Durante el día, la cosa funciona razonablemente bien, pero desde las 2 am. en adelante… se vuelve imposible acceder a la web. Fibertel, mi ISP, lo niega; pero es claro que están usando un proxy transparente.

Hace un tiempo escribí un artículo quejándome de las barbaridades que hacen muchos ISPs con el pretexto de «mejorar la experiencia del usuario«, cuando en realidad lo único que quieren es reducir sus costos. Aquí va algo más sobre cómo nos estafan…

Sigue leyendo «Fibertel y su proxy transparente»

Entrevista al CEO de MySQL

Via Barrapunto encontré una entrevista realizada al CEO de la empresa MySQL AB, Marten Mickos. Me asombró gratamente el buen nivel de las preguntas y la excelente calidad de las respuestas (precisas, sintéticas y clarificadoras).

En la misma trata temas como el modelo de negocios de una empresa «open source«, la dinámica de los desarrollos libres, su relación con la competencia (fundamentalmente con Oracle), los casos de éxito más importantes de MySQL y los peligros de las patentes de software; aportando algunos detalles muy curiosos (¡¿Oracle usa MySQL?!)

Sigue leyendo «Entrevista al CEO de MySQL»

Contra la matriculación obligatoria

Hace unos días, me encontré con la novedad de que en la provincia argentina de Santa Fé se está propiciando la matriculación obligatoria en un consejo profesional de informática. Esta lamentable iniciativa se suma a otras ya tristemente consumadas, como en las provincias de Córdoba, Tucumán, Buenos Aires.

Mientras es indispensable la creación de colegios y asociaciones profesionales de informáticos, como la Sociedad Argentina de Informática (SADIO) y la pionera mundial Association of Computing Machinery (ACM), es terriblemente pernicioso para la informática y la sociedad toda la creación de marcos regulatorios que obliguen a la matriculación en consejos profesionales para el ejercicio de «actividades informáticas«. No es casual que, por ejemplo, las citadas asociaciones profesionales estén en contra de este tipo de regulación.

A raíz de esto, me decidí a «resucitar» un documento producido hace unos años por la SADIO en el cual se realiza un profundo análisis sobre este tipo de iniciativas.

Sigue leyendo «Contra la matriculación obligatoria»

Por qué no entendemos matemáticas (II)

En una entrada anterior de este blog, publiqué la traducción de un documento en el cual Dijkstra analiza una de las principales causas de las dificultades que se nos presentan a la hora de aprender matemáticas (y, en general, de lidiar con abstracciones).

Después de haber recibido algunos buenos comentarios sobre este asunto, y para seguir con la polémica, aquí va otro artículo en el mismo sentido.

Sigue leyendo «Por qué no entendemos matemáticas (II)»

Contrariando la intuición

Este es uno de esos problemas cuya solución no se lleva muy de acuerdo que digamos con nuestra intuición. Es muy simple (aritmética de la primaria):

Tenemos dos recipientes con las mismas cantidades de agua y tinta, respectivamente. Tomamos una gota del recipiente con agua y la volcamos al recipiente con tinta. Lo revolvemos hasta obtener una mezcla totalmente homogenea. Finalmente tomamos una gota de éste último y la volcamos al recipiente con agua.

Sigue leyendo «Contrariando la intuición»

Por qué no entendemos matemáticas

Una de las cuestiones que preocupaba mucho a Edsger Dijkstra era la didáctica de la matemática (y de la computación, como parte de esta). En este breve artículo, nos da lo que podría ser la «punta del ovillo» en búsqueda del por qué las matemáticas superiores (y, a veces, las no tan superiores) nos resultan tán difíciles de comprender y dominar.

Sigue leyendo «Por qué no entendemos matemáticas»