miércoles, marzo 19, 2008

A dónde van los desaparecidos

Rubén Blades lo pregunta en Desapariciones, y Gustavo Germano lo retrata en "Ausencias", una conmovedora muestra fotográfica sobre personas desaparecidas que mueve al recuerdo y nos refresca la memoria sobre lo que fue el plan sistemático de represión ilegal y desaparición forzada de personas instaurado durante la dictadura de 1976 a 1983.

Les dejo la entrevista que hizo Página 12 y algunas fotos de la muestra, del blog Fototeca de La Razón.

Si van a andar por capital estos días, pueden verla en el Centro Cultural Recoleta desde febrero y hasta el 26 de marzo.

lunes, marzo 17, 2008

El vino no-oficial del debianita

Pues nada mejor que dejarse caer en las tentaciones de Baco para festejar la próxima release de Debian, agendada para septiembre del corriente año. Yo ya voy reservando algunas botellas de vino que, por supuesto, son las indicadas para la ocasión:

Cualquier parecido con la realidad... es pura coincidencia?

Pasado, presente y futuro de los sistemas de archivos

Continuando con la nostalgia del post anterior, les dejo el link a un imperdible artículo publicado en ArsTechnica sobre la historia de los sistemas de archivos, que relata en forma amena los orígenes y particulares de algunos filesystems desde el DECTape pasando por el de CP/M, los FAT-n de MS-DOS y Win9x, NTFS, varios de los clásicos sistemas de archivos que podemos ver en linux como ext2, ext3, ReiserFS, XFS, JFS y otros más, hasta hacer una breve introducción a ZFS de Sun.

Artículo en inglés: From BFS to ZFS: past, present, and future of file systems

viernes, marzo 07, 2008

El DOS y la nostalgia de un informatico... ¿joven?

Es innegable que la tecnología avanza muy rápido; muchas de las cosas que ayer eran lo mejor de lo mejor hoy ni siquiera las recordamos, tratando de mantenernos al tanto de las novedades en la web 2.0, los escritorios en 3d, las inyecciones de código, las Rich Internet Applications, el patrón MVC... Innumerable cantidad de temas y aspectos de la programación y las ciencias de la computación nos mantienen constantemente ocupados.



En toda esta vorágine a veces me detengo y me pongo a pensar en mis primeras incursiones en la informática. Yo no soy muy viejo, o mejor dicho, no me considero un viejo: llevo apenas un cuarto de siglo en esta tierra, y aún así tengo miles de recuerdos y cada tanto me agarra la nostalgia.

Por eso voy a dejar en este post algunas de las cosas que recuerdo ahora, antes de que las olvide por completo. Algunos las leerán y les será como un disparador en la memoria. Otros, quizá, se preguntarán de qué cuernos estoy hablando.

Así que ahí va: levanten la mano, entonces, los que se acuerdan...

del D.O.S...
  • en primer lugar, del MS-DOS, o de-o-ese para los amigos, que fue para muchos, el primer sistema operativo que conocieron, y que los mas nuevos suelen ver como a esa cosa negra donde tenes que escribir un monton para que la pc haga algo.
  • del DOS 4 y pico en particular, que pedía fecha y la hora cada vez que prendíamos el equipo. Un buen compañero me recordó hoy que sólo lo hacía si no tenía ningún autoexec.bat
  • del gestor de archivos DOSSHELL que venía en MS-DOS 4.0 y superiores, con su pantalla en paneles divididos y la funcionalidad de crear menús de aplicaciones. También me acuerdo de las PC-Tools, del XTree (oh por Dios!) y del Norton, pero ese lo veo casi todos los días encarnado en el Midnight Commander de mi Debian.
  • del @echo off arriba de todos los .bat para que no muestre los comandos que se ejecutaban.
  • del comando choice para hacer menús en pantalla.
  • de las líneas LOADHIGH, FILES y BUFFERS del config.sys para tratar de reservar la mayor cantidad de memoria posible y poder jugar a ese jueguito que requería justo 500 y pico kb.
  • de los comandos diskcopy y diskcomp, para copiar y comparar disquetes.
  • del papelito en la cpu: "no voy a volver a borrar el command.com, lo prometo". Aunque ahora ya me acostumbré a usar bash.
  • del doskey y de lo contento que nos pusimos cuando apareció por primera vez, pues servía para mantener y recuperar el historial de los comandos ejecutados en la terminal, algo así como lo que hace la librería GNU readline.
  • del mscdex para cargar los controladores de CD-ROM, aunque eso todavía se ve en algunos lados, notablemente en las instalaciones de win9x.
  • de que los directorios, se llamaban directorios, no carpetas como ahora...

del Hardware...
  • de lo pequeños que eran los microprocesadores en comparación con los actuales.
  • de los discos rígidos de 40 MB tamaño ladrillo y los disquetes Nashua y Verbatim doble densidad de 360 KB. Y las cajas rojas de los disquetes BASF!
  • de que siempre había que prender "primero la impresora, despues el monitor, y despues la cpu", o por lo menos así me lo habían enseñado...
  • de que las PC no tenian ratón (si, si, sin mouse), al menos las PC XT y las primeras AT, hasta que comprábamos uno que salía fortuna.
  • de la resistencia de los rígidos, a prueba de todo (doy fé pues con un amigo de primaria tuvimos andando un Maxtor de 170 MB destapado, y si no fuera porque no tengo donde ponerlo ahora, creo que todavía andaría).
  • del formateo a bajo nivel, los slots de expansión ISA y el botón Turbo que en mi vieja 286 (como esta) pasaba la velocidad de 20 a 25 Mhz (¿overclocking a la antigua?).
  • del setup de la placa madre, que tenía todas las opciones en una sola pantalla (bueno, no había muchas opciones, es cierto).
  • de las placas madre que no tenían setup sino un mini-tablerito de switches, donde sólo sabía Dios qué hacía cada perilla.
  • del "taca-taca-taca-taca" que se escuchaba mientras el post realizaba el conteo y verificaba los escasos 1024 kb de memoria.
  • de lo rápido que iniciaba la PC y de que no había que avisarle para apagarla!

del Software...
  • del GWBasic, su conjunto de instrucciones, y los programas con números de línea de diez en diez.
  • de cómo se editaban archivos de texto con edlin. Y a ponerse a tono con los comandos, eh! que edlin no ha muerto: aún sigue vivo en Windows Vista! hagan la prueba...
  • del Lotus 1-2-3, que fue la primera hoja de cálculo que conocí, con sus menúes que aparecían apretando la tecla /, y ojo con defenestrarlo, que estaba hecho en assembler. Posteriormente salió Quattro-Pro (no confundir con gaseosa) de Borland, y luego el Excel que todos conocemos.
  • del WordStar, cuya configuración residía en el mismo ejecutable y cada vez que era modificada alteraba el archivo, con lo cual hacía saltar a cada rato las alertas del antivirus.
  • del BannerMania, el News y el PrintMaster. Recordarán el primero si ven alguno de esos largos carteles con efectos 3D y las fuentes estiradas impresos con matriz de punto en formulario continuo. Aún hoy no he encontrado un programa que se le asemeje sencillez y variedad de fuentes y efectos.
  • del las utilidades viruscan y clean de McAfee, el MSD y el MSAV (MicroSoft Anti Virus) basado en el CPAV, con sus archivos chklist.ms que se generaban en cuanto directorio pudieran. Acá tienen una lista de los virus que detectaba este flor' de antiviriitus.
  • del Michelangelo y el Avispa, dos virus (viriitus) muy conocidos en la época, el primero extranjero y el segundo argentino, que en su código llevaba una leyenda dedicada a nuestro entonces presidente.

de los Juegos...
  • del simcga, un programa residente en memoria que los que teníamos monitor hércules debíamos cargar para poder jugar juegos con gráficos (pero nada de colores, y de 3d ni hablar)
  • del msherc, para que podamos hacer gráficos en el monitor utilizando QBasic, con resolución de 720x348.
  • del tiempo perdido disfrutado jugando al Sokoban, LHX, Príncipe de Persia (tremendo juego, pensar que ahora lo tengo en el celular), OutRun, BlockOut, BattleChess, JetPack, y otros más a los cuales habría que dedicarles un post entero.
  • de los simuladores de vuelo F-15, F-19 y F-117 y los ruidos (porque era eso, ruido) que hacían a través del parlante de la computadora. Nada de placa de sonido, era con el parlante que va conectado directamente a la placa madre.
A luz de esta retrospectiva, dudo de considerarme un joven. Crecí del lado del mal desde las épocas del DOS y pasé por todas las ventanas siguientes... ahora ya saben por qué utilizo Debian.

Pero para ir finalizando y cerrar el extenso post, me hago una última pregunta:
¿no era más sencilla la informática de esas épocas?

Saludos!

miércoles, marzo 05, 2008

Migrando a GRUB 2

Otavio Salvador propuso en la lista de Debian-Release pasar a utilizar GRUB2 en la próxima release (Debian Lenny) y comenzó un interesante thread al respecto.

Para el que no lo conoce, GRUB es el mnemónico de GRand Unified Bootloader. Un boot loader, o cargador de arranque, es el primer programa que se ejecuta cuando la computadora arranca (salvando la secuencia de arranque en ROM). El boot loader es responsable de cargar y transferir el control al núcleo, o kernel, del sistema operativo. El kernel, luego, incializa el resto del sistema operativo.

GRUB es, para aquellos que tenemos Linux, el "menú que aparece en la pantalla" y que nos permite seleccionar el sistema operativo, o la versión de kernel, que vamos a iniciar. Otro gestor conocido y que muchos hemos utilizado alguna vez, es LILO.

La versión 1 de GRUB, ahora denominada GRUB Legacy, es la que utiliza la mayoría de las distribuciones de GNU/Linux actuales y ya no está siendo desarrollada activamente por la comunidad; no se están añadiendo nuevas funcionalidades y sólo se están aplicando los parches necesarios para mantenerlo al día mientras la versión 2 se estabiliza. De ahí la solicitud de Otavio en la lista de mails.

Los objetivos de esta nueva versión son, entre otros:
  • Permitir scripting, condicionales, bucles, variables y funciones.
  • Interfaz gráfica.
  • Extensibilidad mediante carga dinámica de módulos.
  • Portabilidad a distintas arquitecturas.
  • Internacionalización. Soporte para caracteres fuera del conjunto ascii, mensajes localizados, etc.
  • Mejor administración de memoria.
  • Marco de trabajo modular, jerárquico y orientado a objetos para sistemas de archivo, archivos, dispositivos, unidades, terminales, comandos, tablas de partición y cargadores de SO.
  • Instalación multiplataforma.
  • Modo de rescate para casos en los cuales es imposible iniciar.
  • Corregir errores de diseño de la versión anterior de GRUB, que no pueden resolverse debido a compatibilidad inversa, por ejemplo el numerado de las particiones (he he he ...).
Hay que advertir que, sin embargo, algunos sistemas de archivo todavía no están soportados (faltan reiser3 y reiser4, por ejemplo). Parte del estado de la transición en Debian está documentado en las páginas Grub2 y GrubTransition de la Debian wiki.

Con el objeto de comenzar a testear esta nueva versión, decidí instalarla en una instalación de Debian Lenny local. Para ello, en primer lugar hay que descargar e instalar el metapaquete grub2, que se encargará de efectuar la migración del archivo de configuración anterior al nuevo formato e instalar el nuevo cargador de arranque en modo chainloading, manteniendo la versión de GRUB anterior para permitir la recuperación en caso de una falla.

# aptitude install grub2

El paso siguiente, por cierto bastante evidente, es reiniciar el equipo para verificar el funcionamiento del nuevo cargador de arranque. Verán en la pantalla de selección que la primer opcion de GRUB es iniciar el nuevo cargador de arranque ("Chainload into GRUB 2").

Al ingresar en GRUB2 notarán el cambio en el despliegue de la imagen de fondo (debian-blueish-wallpaper en mi caso, y muy agradable por cierto) y el menú desde el cual podrán seleccionar el sistema operativo a iniciar.

Si ocurrió alguna falla durante el inicio, pueden volver a iniciar cualquiera de los sistemas operativos instalados mediante el primer menú de GRUB (Legacy).

Si todo salió bien, ya pueden sobreescribir el cargador de arranque antiguo con el nuevo. Para ello hay que ejecutar como root:

# upgrade-from-grub-legacy

La configuración en la versión Legacy se almacenaba generalmente en el archivo menu.lst dentro del directorio /boot/grub (o donde tengan instalado el cargador). En GRUB2, la configuración se almacena en el archivo grub.cfg, que es generado automáticamente en Debian por update-grub siguiendo las plantillas almacenadas en /etc/grub.d y el archivo /etc/default/grub

Actualización (29/04/2008): Ya no es necesario incorporar las entradas de los sistemas operativos a mano en la configuración del gestor de arranque. La versión de grub en Debian Lenny puede incorporar automáticamente al menú de arranque los sistemas operativos existentes en el equipo gracias a la detección realizada por el paquete os-prober. De todas formas, dejo tal cual el procedimiento que sigue pues puede servir ante un fallo.

Para añadir una nueva entrada de sistema operativo en el menú hay que crear un nuevo archivo en /etc/grub.d. Por ejemplo, para añadir una entrada de arranque a Windows XP podemos seguir los pasos indicados en este thread y crear un archivo 20_windows_xp en /etc/grub.d con las siguientes líneas

#! /bin/sh -e

cat << EOF
menuentry "Microsoft Windows XP Professional" {
set root=(hd0,1)
chainloader +1
}
EOF

Donde (hd0,1) será lo que tenían definido en menu.lst sólo que con un número más. Vale decir, si era (hd0,0) ahora será (hd0,1). Este cambio viene de larga data y a petición de varios pues, como recordarán, las particiones en GRUB Legacy se numeraban desde el 0, con lo cual siempre eran un número menor a las indicadas por fdisk en Linux, y eso nos ha traído dolores de cabeza a más de uno.

Finalmente queda dar los permisos de ejecución al script y volver a generar la configuración en base a estas plantillas con:

# chmod +x /etc/grub.d/20_windows_xp
# update-grub

Y reiniciar para probar nuevamente...

Si la imagen de fondo de GRUB2 no les agrada, pueden obtener más imágenes instalando el paquete grub2-splashimages o crear una utilizando GIMP o su editor favorito.

Bien eso es todo. Mucha suerte y en el caso de que no tengan éxito, siempre tengan a mano un CD o DVD de Debian de la arquitectura que están utilizando, para iniciar en modo rescate, jeje...

Saludos!

martes, marzo 04, 2008

Peticion para que NVIDIA libere documentación de sus productos de gráficos

Un grupo de comprometidos usuarios de software libre ha lanzado una petición para que NVIDIA libere documentación de su hardware de gráficos. Transcribo aquí la solicitud...

OpenTheBlob.com - Una carta abierta a NVIDIA

NVIDIA Corporation,

Nosotros, la comunidad GNU/Linux y los abajo firmantes, solicitamos amablemente que Uds., la NVIDIA Corporation, incremente los esfuerzos en ayudar a la comunidad open-source a desarrollar controladores para su hardware de gráficos. Sus mayores competidores en este mercado, AMD/ATI e Intel, no sólo han apoyado a la comunidad en el desarrollo de controladores de código abierto, sino que ahora están liberando abiertamente documentación para la programación del hardware.

Si bien estamos agradecidos de que su compañía ofrezca uno de los mejores controladores de gráficos de fuente cerrada para Linux, el mismo no está exento de problemas e impide a muchos usuarios de contar con una verdadera plataforma de software libre. Han mostrado pasión por el open-source en el pasado al dejar de lado el binario nforce-net en favor del controlador forcedeth, generado por la comunidad, para el soporte Ethernet en los chipsets de sus placas madre. Ha habido un rumor de que pueden estar desarrollando una estrategia de código abierto para sus productos gráficos, de modo que si ese es el caso, por favor, háganos saber sus verdaderas intenciones. Incluso si sólo fueran capaces de abrir un subconjunto de su controlador para Linux, ésto demostraría un signo de solidaridad hacia el mundo del software libre.

Estamos unidos bajo el nombre OpenTheBlob.com, pero comprendemos que legalmente puede ser casi imposible liberar la porción binaria de su controlador de gráficos, debido a patentes y a la preservación de la propiedad intelectual en este competitivo mercado. Lo que estamos solicitando, sin embargo, es su apoyo a la comunidad de código abierto en la mayor medida posible.

El controlador de código abierto "nv" que proveen para X es un abominable desastre que se limita a aceleración 2D y no viene sin su cuota de limitaciones y código revuelto. Esperamos que NVIDIA proporcione la documentación de programación concisa a los desarrolladores voluntarios, sin que esté cubierta por acuerdos de no divulgación u otras restricciones de carácter legal.

Hay un grupo de desarrolladores interesados que están dispuestos a contribuir en favor de un driver 3D de NVIDIA abierto. Los desarrolladores de Nouveau están comprometidos con estos ideales de software libre en la medida que han dedicado años haciendo ingeniería inversa a su hardware sin recibir ningún tipo de fondos para esta obra inmensa, sino dependiendo de donaciones de la comunidad. Un controlador oficial de código abierto podría complementar su controlador binario, con el objeto de proveer una mejor experiencia "fuera de la caja" en muchas distribuciones Linux y satisfacer a los clientes -- incluyendo a los clientes corporativos -- que utilizan software de código
abierto.

De manera firme, pedimos a sabiendas de su verdadero compromiso con GNU/Linux y las comunidades de código abierto. Por cada día que permanecen inactivos, sus competidores siguen perfeccionando sus controladores de código abierto y liberando más documentación, dando mayores posibilidades a la comunidad open-source. Por favor, háganos saber lo que está pasando y únanse a la comunidad de código abierto en este esfuerzo.

Atentamente,
Los abajo firmantes
29 de febrero de 2008

La dirección para firmar es http://www.opentheblob.com/nvidia/

Actualización 10/08/2008: Acomodé los saltos de línea de los párrafos, que me habían quedado un desastre.