Perl Best Practices – Regla Primera
Siempre programa como si la persona que acabe manteniendo tu código sea un violento psicópata que sabe dónde vives.
Siempre programa como si la persona que acabe manteniendo tu código sea un violento psicópata que sabe dónde vives.
Si hay una excepción para toda regla, entoces también debería haber una excepción para la regla que dice que hay una excepción para toda regla.
«Todo es relativo» se contradice a sí misma, porque si todo es relativo entonces la misma frase es relativa y no todos los casos son relativos; con lo cual se entra en un bucle bastante curioso.
En una entrevista a Einstein un pediodista le pregunta “¿Me puede Ud. explicar la Relatividad?” Einstein contesta “¿Me puede Ud. explicar cómo se fríe un huevo?”. El periodista lo mira extrañado y le contesta “Pues, sí, sí que puedo”, a lo cual Einstein replica “Bueno, pues hágalo, pero imaginando que yo no sé lo que es un huevo, ni una sartén, ni el aceite, ni el fuego”.
Todo valor introducido por el usuario es tonto o malicioso a menos que se demuestre lo contrario.
- Michael Howard, experto en seguridad
…el número de instalaciones Unix ha alcanzado el número de 10, y esperamos que aumente…
Ken Thompson y Dennis Ritchie, Junio 1972

Escrito por: Diego Calleja
Hans Reiser intentó hacer evolucionar los sistemas de archivos a algo nuevo, que solucionara los problemas que hay en los sistemas de hoy. Una de sus frases que más me gusta es: “el que existan bases de datos es un síntoma de que hay algo mal”, o algo así. Tomemos por ejemplo el Spotlight de Apple, Beagle o “Google desktop search”. Todos ellos buscadores de escritorio. ¿Cual es su objetivo? Básicamente e ignorando el problema de los formatos, hacer “grep” en tus datos. Para poder hacerlo, ¿que se hace? Se construye un indice en un archivo. Es decir, se hace un índice de los datos que ya tienes en el sistema de archivos. Y las bases de datos, ¿qué son? En esencia, sistemas de archivos: tienen un espacio, y en el organizan datos y los devuelven cuando se les pide con una interfaz diferente a los jerárquicos. Para mas inri, normalmente las bases de datos tienen sus archivos en otro sistema de archivos: Es decir, para atender una búsqueda tienen que manejar las estructuras de su sistema de archivos y despues hacer peticiones a otro sistema de archivos.
Hans Reiser tenía una visión: Un sistema de archivos ‘genérico’ capaz de funcionar como sistema de archivos jerárquico, como base de datos, y que fuera capaz de hacer búsquedas como las que hace spotligth, pero sin tener que indexar nada: Los datos están en el sistema de archivos, ergo el sistema de archivos debería saber buscar mejor que nadie la informacion sin necesidad de hacer un índice adicional de esos mismos datos. Idem para las bases de datos. Quería buscar una interfaz genérica capaz de hacer todo tipo de consultas. No se puede negar: Puede que reiser4 no fuera la implementación adecuada de esa idea (entre otras razones, por ser de los primeros sistemas de archivos que lo implementan y estar avanzando en territorio desconocido), pero la idea era (es) genial.
Noticia publicada el 9/3/2007: Hans Reiser culpable de asesinato
Relacionada: “Use ReiserFS or I will F’n kill you”
Concluyo que hay dos formas de realizar el diseño de una aplicación: La primera es hacerlo tan sencillo que obviamente no tenga deficiencias y la segunda es hacerlo tan complejo que no tenga deficiencias obvias.
A cambio de nuestro conocimiento incompleto tenemos la alegría de la exploración.
Experiencia es reconocer el error cuando se lo vuelve a cometer.
- un programador.
Extraído del libro “Redes de computadoras”, de Andrew S. Tenembaum:
Una de las formas más comunes para transportar datos de una computadora a otra es almacenarlos en cintas magnéticas o medios extraíbles (por ejemplo, DVD’s grabables), transportar físicamente la cinta o los discos a la máquina de destino y leer dichos datos ahí. Si bien este método no es tan avanzado como utilizar un satélite de comunicaciones geosíncrono, con frecuencia es más rentable, especialmente para aplicaciones en las que un ancho de banda alto o el costo por bit transportado es un factor clave.
Un cálculo simple aclarará este punto. Una cinta Ultrium estándar puede almacenar 200 gigabytes. Una caja de 60 x 60 x 60 cm puede contener aproximadamente 1000 de estas cintas, con una capacidad total de 200 terabytes, o 1600 terabits (1.6 petabis). Una caja de cintas puede enviarse a cualquier parte de los Estados Unidos en 24 horas por Federal Express y otras compañías. El ancho de banda efectivo en esta transmisión es de 1600 terabits/86400 seg o 19 Gbps. Si el destino está a sólo una hora por carretera, el ancho de banda se incrementa a casi 400 Gbps. Ninguna red de computadoras puede superar esto. La moraleja:
Nunca subestime el ancho de banda de una camioneta que va a toda velocidad por la carretera.