Números grandes

Constantemente leemos, escuchamos y hablamos sobre números grandes. Números tan grandes que perdemos noción de tamaños y dimensiones.

Cuando uno se pone a pensar, es bastante frecuente (y extraño al mismo tiempo) encontrarnos con números y cifras que difícilmente sepamos lo que en realidad significan. Algunos ejemplos que podemos leer en diarios, o escuchar en radio y televisión son:

  • Facebook tiene más de 500 millones de usuarios
  • Youtube sirve al rededor de 250 millones de vídeos por día
  • Twitter procesa, aproximadamente, 50 millones de tweets por día
  • Se descubren planetas a 2000 años luz de la Tierra
  • La deuda externa de los países arrojan cifras de miles de millones de dólares
  • Grandes empresas publican ganancias que se miden en miles de millones de dólares
  • Catástrofes naturales que obligan a evacuar a cientos de miles de personas
  • etc.

Estos volúmenes difícilmente los podemos imaginar, y lo único que hacemos es compararlos con cifras anteriores, y a partir de ahí decidimos si algo subió o bajó “mucho” o “poco“. Pero seguimos sin saber lo que representan.

Un ejercicio útil (y divertido) es comparar, o contrastar, estos números con cosas que nos resulten un poco más conocidas o simples de dimensionar. Por ejemplo: Continue reading Números grandes

La anécdota de Bohr

Sir Ernest Rutherford, presidente de la Sociedad Real Británica y Premio Nobel de Química en 1908, contaba la siguiente anécdota:

Hace algún tiempo, recibí la llamada de un colega. Estaba a punto de poner un cero a un estudiante por la respuesta que había dado en un problema de física, pese a que este afirmaba con rotundidad que su respuesta era absolutamente acertada. Profesores y estudiantes acordaron pedir arbitraje de alguien imparcial y fui elegido yo. Leí la pregunta del examen: “Demuestre como es posible determinar la altura de un edificio con la ayuda de un barómetro“.

El estudiante había respondido: “lleve el barómetro a la azotea del edificio y átele una cuerda muy larga. Descuélguelo hasta la base del edificio, marque y mida. La longitud de la cuerda es igual a la longitud del edificio“. Continue reading La anécdota de Bohr

¡Asnos estúpidos!

Naron, de la longeva raza rigeliana, era el cuarto de su estirpe que llevaba los anales galácticos. Tenía en su poder el gran libro que contenía la lista de las numerosas razas de todas las galaxias que habían adquirido el don de la inteligencia, y el libro, mucho menor, en el que figuraban las que habían llegado a la madurez y poseían méritos para formar parte de la Federación Galáctica. En el primer libro habían tachado algunos nombres anotados con anterioridad: los de las razas que, por el motivo que fuere, habían fracasado. La mala fortuna, las deficiencias bioquímicas o biofísicas, la falta de adaptación social se cobraban su tributo. Sin embargo, en el libro pequeño nunca se había tenido que tachar ninguno de los nombres anotados.

En aquel momento, Naron, enormemente corpulento e increíblemente anciano, levantó la vista al notar que se acercaba un mensajero.
—Naron —saludó el mensajero—. ¡Gran Señor!
—Bueno, bueno, ¿qué hay? Menos ceremonias.
—Otro grupo de organismos ha llegado a la madurez.
—Estupendo, estupendo. Hoy en día ascienden muy aprisa. Apenas pasa año sin que llegue un grupo nuevo. ¿Quiénes son?

El mensajero dio el número clave de la galaxia y las coordenadas del mundo en cuestión.

—Ah, sí —dijo Naron—, Lo conozco. —Y con buena letra cursiva anotó el dato en el primer libro, trasladando luego el nombre del planeta al segundo. Utilizaba, como de costumbre, el nombre bajo el cual era conocido el planeta por la fracción más numerosa de sus propios habitantes.

Escribió, pues: La Tierra.

—Estas criaturas nuevas —dijo luego— han establecido un récord. Ningún otro grupo ha pasado tan rápidamente de la inteligencia a la madurez. No será una equivocación, espero.

—De ningún modo, señor -respondió el mensajero.
—Han llegado al conocimiento de la energía termonuclear, ¿no es cierto?
—Sí, señor.
—Bien, ése es el requisito —Naron soltó una risita—. Sus naves sondearán pronto el espacio y se pondrán en contacto con la Federación.

—En realidad, señor —dijo el mensajero con renuencia—, los observadores nos comunican que todavía no han penetrado en el espacio.

Naron se quedó atónito.

—¿Ni poco ni mucho? ¿No tienen siquiera una estación espacial?
—Todavía no, señor.
—Pero si poseen la energía termonuclear, ¿dónde realizan las pruebas y las explosiones?
—En su propio planeta, señor.

Naron se irguió en sus seis metros de estatura y tronó:

—¿En su propio planeta?
—Si, señor.

Con gesto pausado, Naron sacó la pluma y tachó con una raya la última anotación en el libro pequeño. Era un hecho sin precedentes; pero es que Naron era muy sabio y capaz de ver lo inevitable, como nadie, en la galaxia.

—¡Asnos estúpidos! —murmuró—.

Isaac Asimov.

Veremos lo que trae el tiempo

Había una vez un campesino chino, pobre pero sabio, que trabajaba la tierra duramente con su hijo.
Un día el hijo le dijo:
—¡Padre, que desgracia! Se nos ha ido el caballo.
—¿Por que le llamas desgracia? —respondió el padre— Veremos lo que trae el tiempo…

A los pocos días el caballo regreso, acompañado de otro caballo.

—¡Padre, qué suerte! —exclamó esta vez el muchacho— Nuestro caballo ha traído otro caballo.

—¿Por que le llamas suerte? —repuso el padre— Veamos que nos trae el tiempo.

En unos cuantos días mas, el muchacho quiso montar el caballo nuevo, y este, no acostumbrado al jinete, se encabritó y lo arrojó al suelo. El muchacho se quebró una pierna.

—¡Padre, qué desgracia! —exclamó ahora el muchacho— ¡Me he quebrado la pierna!

El padre, retomando su experiencia y sabiduría, sentencio:

—¿Por que le llamas desgracia? ¡Veamos lo que trae el tiempo!

El muchacho no se convencía de la filosofía del padre, sino que gimoteaba en su cama. Pocos días después pasaron por la aldea los enviados del rey, buscando jóvenes para llevárselos a la guerra. Vinieron a la casa del anciano, pero como vieron al joven con su pierna entablillada, lo dejaron y siguieron de largo.

El joven comprendió entonces que nunca hay que dar ni la desgracia ni la fortuna como absolutas, sino que siempre hay que darle tiempo al tiempo.

Servidores web y SSL

La implementación de SSL en servidores web permite garantizar autenticación y privacidad entre los extremos de una comunicación. Esto es: asegurar que el cliente está conectado al servidor correcto, y asegurar que la información transmitida entre los extremos (cliente y servidor) no puede ser vista por nadie que esté en el medio de la comunicación.

Implementar SSL en un servidor web es una tarea que aparentemente se realiza con cero esfuerzo, y es, posiblemente, ésta razón la que lleva a cometer varios errores que debilitan sensiblemente las garantías de autenticación y privacidad que uno debe (y seguramente desea) garantizar.

Quisiera exponer a continuación algunos de los errores más frecuentes con los que suelo encontrarme al analizar la seguridad de servidores web que implementan SSL:

DNS: Las inconsistencias en la configuración de los DNS es uno de los factores que pueden debilitar la garantía de la autenticación. Encontrarme con que www.midominio.com apunta a un servidor web, mientras que midominio.com apunta a otro es algo bastante común.

Puertos: Al ingresar a http://www.midominio.com se espera ver el mismo contenido que al ingresar a https://www.midominio.com. Publicar aplicaciones distintas, en distintos puertos, y bajo el mismo dominio no contribuye en nada, y es un frecuente error.

Certificados auto-firmados: Los certificados auto-firmados obligan a los usuarios a ignorar cuadros de diálogo que advierten sobre la autenticidad del servidor al cual se están conectando. En estas condiciones, cualquier mensaje de advertencia “real” que sea presentado será también ignorado por el usuario.

Certificados incompletos: Si al ingresar a www.midominio.com se espera ver el mismo contenido que al ingresar en midominio.com, es también de esperar que en ninguno de los dos casos aparezcan mensajes de advertencia sobre la autenticidad del sitio o el uso de certificados. En estos casos, el uso de certificados multi-dominio es una de las soluciones.

Contenido mixto: Mezclar la carga de contenido a través de canales planos y canales cifrados puede dar lugar a ataques de tipo MitM. No se debe mezclar el uso de canales cifrados y canales planos en una misma aplicación web.

Configuración del servidor web: Muchas de las implementaciones de SSL descansan sobre la configuración estándar que incluye el servidor web. Esta configuración no suele ser lo suficientemente robusta como para poner un servidor web en producción, y mucho menos expuesto a Internet.

Domando al escritor

Recientemente me encontré con un muy buen libro: Writer 3.3 para escritores.

Writer es el procesador de textos incluido en OpenOffice.org y su reciente fork LibreOffice

Este texto, a diferencia de otros, se focaliza en el uso de Writer para escritores; ya sea el profesional de las letras o el amateur que escribe por el puro placer de hacerlo.

Desde el correcto uso de estilos y plantillas, hasta la estructura de los archivos odt, pasando por el uso de Math y Draw, los campos y las referencias cruzadas, la base de datos bibliográfica, el correcto uso del registro de página, ligaduras tipográficas gracias a la tecnología Graphite… y un largo etcétera que se extiende por más de 300 páginas, el lector encontrará en este volumen todo lo necesario para trabajar con OOo/LibO Writer en su máximo potencial.

En esta tercera edición se incluye además un nuevo capítulo dedicado al trabajo en colaboración. Las diferencias entre OpenOffice.org Writer y LibreOffice Writer son también comentadas en detalle.

Puede conseguir este libro (y sus nuevas versiones/ediciones) a través del sitio del autor, donde además encontrará mucha información adicional sobre OpenOffice.org, LibreOffice, Fotografía Digital en Linux, Soporte Multimedia en Linux, Programas de uso científico, y varios temas más.

Aquí dejo la tercera edición de este libro.

Hardware viejo, ¿software viejo?

Existe una tendencia generalizada que consiste en asociar el uso de hardware viejo con el uso, o instalación, de software viejo; de modo tal que, tanto hardware como software, resulten coetáneos.

Esta idea de vincular hardware viejo con software viejo en principio parece lógica, pero basta analizarla un poco para convencernos que nada está más lejos de la realidad.

Frecuentemente me encuentro con hardware que hoy podemos considerar viejo (Pentium III, Pentium IV, etc) ofreciendo servicios importantes, como DNS, Proxy, filtros antispam y antivirus, para correo electrónico, etc. Esto lo he visto no sólo en pequeñas empresas, sino también en medianas y grandes.

En muchos de estos casos me resulta llamativo la resistencia que se suele ofrecer a actualizar el software que se está ejecutando sobre esos equipos argumentando cosas como: “Esos equipos son viejos, no podemos actualizar el software. Estamos pensando en reemplazar los equipos para poder actualizar el software”

Lo que uno pretende de una nueva versión de un software es que ésta sea mejor, y cuando hablamos de mejor software, no hablamos necesariamente de nuevas funcionalidades, lo que podríamos definir como más, sino que pretendemos, estrictamente, que sea mejor.

Que un software sea mejor implica, entre otras cosas, que haga un mejor uso de los recursos de hardware que utiliza para funcionar, es decir, un mejor uso de la memoria, un mejor uso de CPU, un mejor uso de los dispositivos del almacenamiento, etc. Podemos decir, entonces, que una nueva versión de software será mejor que la anterior si hace un uso más eficaz de todos los recursos de hardware que éste necesita.

Este razonamiento suena mejor, ¿no? Incluso suena mucho más coherente ¿no le parece?

No estoy muy seguro de cómo funciona esto de la evolución del software en todas las plataformas y en todos los sistemas operativos, pero si lo estoy sobre como funciona dentro del modelo de software libre; y sobre GNU/Linux en particular.

Como administrador de sistemas GNU/Linux puedo asegurar, y hasta demostrar, que cada nueva versión de software es realmente mejor a la anterior, al punto que, en hardware viejo lo mejor es instalar las versiones de software más nuevas en vez de versiones viejas.

El hardware debe dimensionarse según el uso y la carga de trabajo que recibirá, y no por el software que en él se ejecutará.

Si la mayor carga de trabajo que el hardware debe soportar es ejecutar un sistema operativo, y sus servicios, probablemente algo no esté bien, y casi con seguridad el costo de su infraestructura no tendrá ninguna relación con los servicios que ofrece.