martes, diciembre 29, 2009

Son los pequeños detalles...

Por ejemplo, que el reproductor VLC nos reciba con gorro navideño en las fiestas.


O la pantalla de inicio de ReactOS, en honor en su versión 0.3.11 "for Workgroups".


Son pequeños detalles, guiños hacia el usuario común, los que nos hacen recordar que detrás de cada software hay gente como uno.

Felices Fiestas!!

jueves, diciembre 10, 2009

All in the name of liberty

Y otra vez se fue noviembre como por un tubo, y aprovecho ahora, diez de diciembre, para publicar algunas fotos de lo que fue uno de los mejores shows que he tenido la suerte de ver.

Sí, estuve en el recital del viernes en River, viendo los viejitos de AC/DC demostrar lo jóvenes que son desplegando un tremendo repertorio ante una audiencia hambrienta de rock.

Para qué les voy a contar como estuvo, ya varios [1] se [2] encargaron [3] de [4] eso [5] y mucho mejor de lo que yo podría detallarlo. Les dejo, sí, algunas fotos fuleras tomadas con el celular (SE K800) y algunos videos de Youtube con buena calidad.

AC/DC Highway to Hell - Live in Buenos Aires Argentina 04-12-09

Ver en alta definición (HD)

viernes 4/12 AC/DC -hells bells river plate

Ver en alta definición (HD)

AC/DC Buenos Aires Dec. 2nd '09 You Shook Me All Night Long

Ver en alta definición (HD)


Fotos










Meh... escucho las campanadas de Hell Bells y todavía se me pone la piel de gallina...

sábado, octubre 24, 2009

ExciteBike à la Robot Chicken

Para los que nos hemos criado frente al Family Game, esta hilarante parodia de ExciteBike hecha por los muchachos de Robot Chicken les traerá una infinidad de recuerdos.

viernes, octubre 16, 2009

Cero planificacion

Por si quedaban dudas de que estamos en un país bananero, el gobierno ahora no sabe si va a cambiar la hora este domingo 18 de octubre de 2009, pasando de GMT-3 a GMT-2. Y hoy es viernes 16. Ya el año pasado los que mantenemos sistemas informáticos aquí en Argentina tuvimos bastantes dolores de cabeza con la indecisión gubernamental, lo que llevó a una gran discusión respecto de la falta de certezas en el cambio horario. Se ve que fueron, por decirlo así, al cuete.

Pero... ¡a ver si se dejan de joder de una buena vez y ponen las cosas en claro!

Yo creo que las opciones ser dos: o mantener siempre GMT-3, o bien usar GMT-3 y pasar a GMT-4 en el otoño.

Si toca mantener un Debian/Ubuntu/loquesea, y si el gobierno decide que SI habrá cambio de huso horario, las opciones son variadas:
  • En Debian 4.0 Etch (que ya no debiera estar en producción), hasta la versión 2008e-1etch3 del paquete tzdata, no está contemplado el cambio de huso horario el domingo. El paquete del repositorio volatile, versión 2009g-0etch1, sí contempla el cambio horario a GMT-2 del domingo 18 de octubre.
  • En Debian 5.0 Lenny, hasta la versión 2009l-0lenny1, sí contempla el cambio horario el domingo.
  • En Debian Squeeze (que tampoco debiera estar en producción), hasta la versión 2009n-1, sí contempla el cambio horario el domingo.
Por otro lado, si el gobierno decide que NO habrá cambio, lo más sencillo es establecer en el servidor, mediante dpkg-reconfigure tzdata, un huso horario fijo tal como ETC/GMT+3 (sí, es +3), que corresponde al huso horario fijo constante GMT-3.

En cuanto se sepa alguna decisión coherente, actualizo el post.

Update 1: ahora me dicen que quizá el cambio se postergue... incompetencia não tem fim.

Update 2: Vuelta atrás. Ahora no hay cambio de huso horario.

Mil gracias a Marga que se encargó de corregir los paquetes tzdata para las releases etch (2009g-0etch1), lenny (2009g-0lenny1), y la rama inestable (2009n-2) de Debian.

Los improperios, como corresponde, diríjanlos a nuestros gobernantes.

miércoles, agosto 12, 2009

X -configure

Lo olvido constantemente:
X -configure
porque tener un xorg.conf en blanco no siempre facilita las cosas.

Especialmente cuando la intención es usar una resolución específica en openbox sin depender de xrandr.

jueves, agosto 06, 2009

Implementación de Servidores Linux 2009

Leo en Kriptópolis que ya está disponible para descarga desde el sitio de Alcance Libre la edición de agosto septiembre del libro "Implementación de Servidores Linux 2009" de Joel Barrios Dueñas, compartido bajo licencia Creative Commons Reconocimiento - NoComercial - CompartirIgual 2.1.

El contenido del libro está basado en CentOS 4 y 5 y en sus 600 páginas comprende:
  • ¿Que es GNU/Linux?
  • Estándar de Jerarquía de Sistema de Ficheros
  • Instalación en modo texto de CentOS
  • Instalación en modo gráfico de CentOS
  • Cómo iniciar el modo de rescate en CentOS
  • Iniciando el sistema en nivel de ejecución 1 (nivel mono-usuario)
  • Cómo compilar el núcleo (kernel) de GNU/Linux en CentOS
  • Cómo gestionar espacio de memoria de intercambio (swap) en GNU/Linux
  • Procedimientos de emergencia
  • Cómo optimizar el sistema de archivos ext3
  • Cómo configurar y utilizar Sudo
  • Cómo crear cuentas de usuario
  • Breve lección de mandatos básicos
  • Funciones básicas de vi
  • Introducción a sed
  • Introducción a AWK
  • Permisos del Sistema de Ficheros
  • Cómo utilizar el mandato chattr
  • Creando depósitos yum
  • Uso de yum para instalar y desinstalar paquetería y actualizar sistema
  • Cómo utilizar RPM
  • Cómo crear paquetería con rpmbuild
  • Cómo asignar cuotas de disco
  • Introducción a TCP/IP
  • Introducción a IP versión 4
  • Cómo configurar correctamente los parámetros de red
  • Cómo configurar acoplamiento de tarjetas de red (bonding)
  • Cómo conectarse a una red Wifi desde la terminal
  • Cómo utilizar lsof
  • Cómo utilizar Netcat (nc)
  • Como utilizar Netstat
  • Cómo utilizar ARP
  • Introducción a IPTABLES
  • Cómo utilizar CBQ
  • Introducción a SELinux en CentOS 5 y Fedora
  • Cómo configurar un servidor DHCP en una LAN
  • Cómo configurar vsftpd (Very Secure FTP Daemon)
  • Cómo configurar pure-ftpd
  • Cómo configurar OpenSSH.
  • Cómo utilizar OpenSSH con autenticación a través de clave pública
  • Cómo configurar OpenSSH con Chroot
  • Cómo configurar NTP
  • Cómo configurar Clamd.
  • Cómo configurar el sistema para sesiones gráficas remotas
  • Cómo configurar un servidor NFS
  • Cómo configurar Samba básico
  • Cómo configurar Samba denegando acceso a ciertos ficheros
  • Cómo configurar Samba con Papelera de Reciclaje
  • Cómo instalar y configurar Samba-Vscan en CentOS 5
  • Cómo configurar Samba como cliente o servidor WINS
  • La ingeniería social y los [incorrectos] hábitos del usuario
  • Configuración básica de Sendmail
  • Opciones avanzadas de seguridad para Sendmail
  • Cómo configurar Sendmail y Dovecot con soporte SSL/TLS
  • Cómo configurar Cyrus IMAP
  • Instalación y configuración de SquirrelMail (correo a través de interfaz HTTP )
  • Cómo instalar GroupOffice en CentOS
  • Apéndice: Enviar correo a todos los usuarios del sistema
  • Cómo configurar clamav-milter
  • Cómo configurar spamass-milter
  • Cómo configurar un servidor NIS
  • Cómo configurar OpenLDAP como servidor de autenticación
  • Cómo configurar OpenLDAP como libreta de direcciones
  • Cómo configurar OpenLDAP con soporte SSL/TLS
  • Cómo instalar y configurar MySQL
  • Configuración básica de Apache
  • Cómo habilitar los ficheros .htaccess y SSI )Server Side Includes) en Apache
  • Cómo configurar Apache con soporte SSL/TLS
  • Cómo configurar un servidor de nombres de dominio (DNS)
  • Cómo configurar Squid: Parámetros básicos para Servidor Intermediario Proxy
  • Cómo configurar Squid: Acceso por autenticación
  • Cómo configurar Squid: Restricción de acceso a Sitios de Red
  • Cómo configurar Squid: Restricción de acceso a contenido por extensión
  • Cómo configurar Squid: Restricción de acceso por horarios
  • Cómo configurar squid con soporte para direcciones MAC
  • Apéndice: Listas y reglas de control de acceso para Squid
  • Cómo configurar un muro cortafuegos con Shorewall y tres interfaces de red
  • Cómo configurar un servidor de OpenVPN en CentOS 5
  • Cómo configurar SNMP
  • Cómo configurar MRTG
  • Cómo instalar Java 1.5 en CentOS 5
  • Cómo instalar la complemento (plug-in) Flash Player para Firefox y otros
  • Cómo configurar escáner en red
  • Usando Smartd para anticipar los desastres de disco duro
  • Cómo crear un disco con instalación personalizada de CentOS 5
  • Glosario de mandatos básicos
  • Ejercicios
En resumen: un libro más que completo.
Para quien lo desea en papel, se pueden adquirir copias impresas en Lulu.com.

jueves, julio 23, 2009

XKCD: Estimación


- "Estoy saliendo de la ciudad, estaré allí en quince minutos...
En realidad, parece más como seis días...
No, espera, serán treinta segundos."

El autor del cuadro de diálogo de copia de archivos de Windows va a visitar algunos amigos.

Via XKCD, por supuesto.

martes, julio 21, 2009

Modem adventures

Dispositivos soportados en esta laptop (ECS/Uniwill L41II):
Host Bridge: Intel Corporation Mobile 945GM/PM/GMS Express Memory Controller Hub... [X]
VGA compatible controller: Intel Corporation Mobile 945GM/GMS Express IGP... [X]
Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express IGP... [X]
Audio device: Intel Corporation 82801G (ICH7 Family) HDA Controller... [X]
PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1/2/3... [X]
USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1/2/3/4... [X]
IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller... [X]
IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller... [X]
Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan]... [X]
FireWire (IEEE 1394): O2 Micro, Inc. Firewire (IEEE 1394)... [X]
SD Host controller: O2 Micro, Inc. Integrated MMC/SD Controller... [X]
Mass storage controller: O2 Micro, Inc. Integrated MS/xD Controller... [X]
Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+... [X]
DVD-RAM writer: MATSHITADVD-RAM UJ-850S... [X]
y ahora también:
Welcome to minicom 2.3

OPCIONES: I18n
Compilado en Feb 24 2008, 16:35:15.
Port /dev/ttySL0

Presione CTRL-A Z para obtener ayuda sobre teclas especiales

AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0
OK
ATI0
SmartLink Soft Modem
OK
ATI1
SmartLink Soft Modem, 2.9.11
Smart Link Ltd.

OK
ATI2
SmartLink Soft Modem, 2.9.11
Smart Link Ltd.

OK
ATI3
hw:0,6
alsa modem driver

OK
ATI7
Country: ARGENTINA
OK
Efectivamente, tras una actualización de sl-modem-daemon (2.9.11~20090222-1), el modem on-board ahora funciona correctamente. No es que necesite conectarme por dial-up, pero nunca viene mal un medio de comunicación adicional.

Con esta actualización, el último dispositivo que quedaba sin funcionar en Debian ahora tiene soporte, por lo que es posible decir que, muy afortunadamente, Linux soporta ahora todos los dispositivos de esta laptop. \o/

martes, julio 14, 2009

Odiar a Microsoft

Russell Coker escribió el artículo "Hating Microsoft" y en lo que a mi respecta, creo que ha dado en el clavo. Traduzco, o mejor dicho, interpreto...
"En discusiones de listas de correo he visto varios usuarios de Windows inquietarse cuando la gente habla de "Odiar a Microsoft", usualmente afirmando que es "poco profesional" odiar un vendedor [de software]. Algunos llegan incluso a decir que es buena idea evitar contratar a alguien que dice odiar a Microsoft -- como si quisiera trabajar para alguien que rechaza un CV basándose en una discusión de lista de correos.

Lo que tienen que entender aquí es que cuando alguien dice "Yo odio a Microsoft", es normalmente en una manera similar a decir "Yo odio el brócoli". Es más una expresión de desagrado que de odio real. El sitio IHateMicrosoft.com tiene animaciones que se asemejan a explosiones nucleares, que sirven para reírse (el sitio también lista algunas razones reales para evitar MS), pero no parece haber evidencia de odio real hacia MS, incluso en los EE.UU., no parece haber nadie que desee utilizar la violencia para resolver el problema de MS.

Se odia a los doctores que practican el aborto, pero no a MS.

Lo siguiente que la gente necesita saber es que una porción significativa del sentimiento "Odio a Microsoft" viene de gente que pasa alrededor de 40 horas a la semana siendo pagados para usar software de MS. Tengo la suerte de que ya han pasado algunos años desde la última vez que utilicé software de MS, y muchos años más han pasado de cuando que me vi forzado a utilizarlo seriamente (es decir, cualquier otra cosa que no sea usar Windows como un cliente de correo y SSH), así que tengo poca necesidad inmediata de enfadarme con ellos. Pero la gente que se ve forzada a utilizar o dar soporte a software de MS diariamente llega, a menudo, a ponerse descontento con la situación.

Son las pequeñas cosas como un bug en ActiveX, que expone a un compromiso remoto a los usuarios de Outlook e Internet Explorer, las que molestan realmente a la gente. Nunca hubo una necesidad de tener ActiveX, y menos la necesidad de que funcione vía email o de que esté habilitada por defecto. Pero MS publica software que funciona de esa forma y ahora todos los usuarios deben esperar pacientemente por un parche (o arreglárselas con una solución alternativa).

Otro tema que parece traer algunas quejas es el uso de términos como "M$" y "Microsloth". Si eso le molesta, ¡contrólese, por favor! ¡Es una empresa de software, no una religión! Los documentos oficiales de la compañía deben tener todas las marcas registradas correctamente escritas, pero para discusiones informales en una lista de correo creo que es una jerga apropiada. En cualquier caso, tómelo como una declaración de posible tendencia [o parcialidad].

Yo no uso esos términos pero, de nuevo, puede que sea porque soy lo suficientemente afortunado de no utilizar software de MS. Cuando alguien no puede evitar utilizar software inferior debido a las prácticas anti-competitivas de MS, es entendible que pueda descargar su frustración escribiendo incorrectamente una marca registrada.

Recuerde que el Inglés es muy diferente a cualquier otro lenguaje usado para programar computadoras. Usar "M$" en vez de "Microsoft" no le dará un error de sintaxis o un error sobre utilizar una variable no declarada. La palabra "odio" tiene distintos significados dependiendo del contexto.

Original de Russel Coker bajo licencia Creative Commons Attribution-Noncommercial-Share Alike 3.0

domingo, julio 12, 2009

100 habilidades esenciales de un geek

Anton Olsen compiló en Wired una lista de las 100 habilidades esenciales que debe tener un geek. Obviamente no es completa, pero es una aproximación interesante.

Esto va a terminar siendo un Meme. A ver cuantos años de tratamiento me harían falta para volver a la normalidad...
  1. Properly secure a wireless router. Check
  2. Crack the WEP key on a wireless router. Nope. Todavía no me hizo falta, todo el mundo usa wifi abierta.
  3. Leech Wifi from your neighbor. Check
  4. Screw with Wifi leeches. Check
  5. Setup and use a VPN. Check
  6. Work from home or a coffee shop as effectively as you do at the office. Check
  7. Wire your own home with Ethernet cable. Check
  8. Turn a web camera into security camera. Check
  9. Use your 3G phone as a Wi-Fi access point. Nope, tengo un celular de los viejos.
  10. Understand what “There’s no Place Like 127.0.0.1” means. Check
  11. Identify key-loggers. Check
  12. Properly connect a TV, Tivo, XBox, Wii, and Apple TV so they all work together with the one remote. Nope, demasiados aparatos que no tengo.
  13. Program a universal remote. Check, más el de la tarjeta de tv en linux.
  14. Swap out the battery on your iPod/iPhone. Nope, tengo iNothing.
  15. Benchmark Your Computer. Check
  16. Identify all computer components on sight. Check
  17. Know which parts to order from NewEgg.com, and how to assemble them into a working PC. Check
  18. Troubleshoot any computer/gadget problem, over the phone. Check
  19. Use any piece of technology intuitively, without instruction or prior knowledge. Check
  20. How to irrecoverably protect data. Yo diría, destruir datos en forma irrecuperable... Check
  21. Recover data from a dead hard drive. Check, incluso viendo girar en vivo los platos.
  22. Share a printer between a Mac and a PC on a network. Nope, no Mac.
  23. Install a Linux distribution. (Hint: Ubuntu 9.04 is easier than installing Windows). Check
  24. Remove a virus from a computer. Check
  25. Dual (or more) boot a computer. Check
  26. Boot a computer off a thumb drive. Check
  27. Boot a computer off a network drive. Check, y varias a la vez con PXE.
  28. Replace or repair a laptop keyboard. Nope, y espero que no en el corto plazo.
  29. Run more than two monitors on a single computer. Nope, máximo dos en el desktop.
  30. Successfully disassemble and reassemble a laptop. Nope, y espero que no haga falta.
  31. Know at least 10 software easter eggs off the top of your head. Nope, llego a contar cuatro.
  32. Bypass a computer password on all major operating systems. Windows, Mac, Linux. Nope, no he intentado en Mac.
  33. Carrying a computer cleaning arsenal on your USB drive. Check
  34. Bypass content filters on public computers. Check
  35. Protect your privacy when using a public computer. Check
  36. Surf the web anonymously from home. Check
  37. Buy a domain, configure bind, apache, MySQL, php, and Wordpress without Googling a how-to. Nope, aún no me decido por el dominio.
  38. Basic *nix command shell knowledge with the ability to edit and save a file with vi. Check
  39. Create a web site using vi. Check
  40. Transcode a DVD to play on a portable device. Nope
  41. Hide a file in an image using steganography. Check
  42. Knowing the answer to life, the universe and everything. Nope
  43. Share a single keyboard and mouse between multiple computers without a KVM switch. Check
  44. Google obscure facts in under 3 searches. Bonus point if you can use I Feel Lucky. Check
  45. Build amazing structures with LEGO and invent a compelling back story for the creation. Check
  46. Understand that it is LEGO, not Lego, Legos, or Lego’s. Check
  47. Build a two story house out of LEGO, in monochrome, with a balcony. Check, tuve muchos LEGO.
  48. Construct a costume for you or your kid out of scraps, duct tape, paper mâché, and imagination. Nope
  49. Be able to pick a lock. Nope
  50. Determine the combination of a Master combination padlock in under 10 minutes. Nope
  51. Assemble IKEA furniture without looking at the instructions. Bonus point if you don’t have to backtrack. Nope, al menos no de IKEA.
  52. Use a digital SLR in full manual mode. Nope, sólo la analógica en modo manual, he.
  53. Do cool things to Altoids tins. Nope
  54. Be able to construct paper craft versions of space ships. Check
  55. Origami! Bonus point for duct tape origami. (Ductigami) Check (single point)
  56. Fix anything with duct tape, chewing gum and wire. Check
  57. Knowing how to avoid being eaten by a grue. Nope. No vale el animal de Another World?
  58. Know what a grue is. Nope
  59. Understand where XYZZY came from, and have used it. Nope
  60. Play any SNES game on your computer through an emulator. Check
  61. Burn the rope. Nope
  62. Know the Konami code, and where to use it. Nope
  63. Whistle, hum, or play on an iPhone, the Cantina song. Nope
  64. Learning to play the theme songs to the kids favorite TV shows. Nope
  65. Solve a Rubik’s Cube. Check, sólo si vale despegar los colores.
  66. Calculate THAC0. Nope
  67. Know the difference between skills and traits. Check
  68. Explain special relativity in terms an eight-year-old can grasp. Check, aunque aún no hizo falta.
  69. Recite pi to 10 places or more. Nope, llego a 3.1415926.
  70. Be able to calculate tip and split the check, all in your head. Check, mas un plus por haber hecho el cálculo.
  71. Explain that the colours in a rainbow are roygbiv. Check
  72. Understand the electromagnetic spectrum - xray, uv, visible, infrared, microwave, radio. Check
  73. Know the difference between radiation and radioactive contamination. Check
  74. Understand basic electronics components like resistors, capacitors, inductors and transistors. Check
  75. Solder a circuit while bottle feeding an infant. (lead free solder please.). Nope, si lo intento quizás termine soldando un bebé y alimentando un circuito.
  76. The meaning of technical acronyms. Check
  77. The coffee dash, blindfolded (or blurry eyed). Coffee [cream] [sugar]. In under a minute. Check
  78. Build a fighting robot. Nope
  79. Program a fighting robot. Nope
  80. Build a failsafe into a fighting robot so it doesn’t kill you. Sh*t! it's coming after us!!
  81. Be able to trace the Fellowship’s journey on a map of Middle Earth. Nope
  82. Know all the names of the Dwarves in The Hobbit. Nope
  83. Understand the difference between a comic book and a graphic novel. Check
  84. Know where your towel is and why it is important. Check, towelie said it to me.
  85. Re-enact the parrot sketch. Check, poor parrot.
  86. Know the words to The Lumberjack Song. Check
  87. Reciting key scenes from Monty Python and the Holy Grail. Double check
  88. Be able to recite at least one Geek Movie word for word. Nope
  89. Know what the 8th Chevron does on a Stargate and how much power is required to get a lock. Nope
  90. Be able to explain why it’s important that Han shot first. Check
  91. Know why it is just wrong for Luke and Leia to kiss. Check, ajjjj...
  92. Stop talking Star Wars long enough to get laid. Check, al menos una vez.
  93. The ability to name actors, characters and plotlines from the majority of sci-fi movies produced since 1968. Check, pero defina bien mayoría.
  94. Cite Mythbusters when debunking a myth or urban legend. Check
  95. Sleep with a Cricket bat next to your bed. Nope
  96. Have a documented plan on what to do during a zombie or robot uprising. Nope, está todo en mi cabeza.
  97. Identify evil alternate universe versions of friends, family, co-workers or self. Nope
  98. Be able to convince TSA that the electronic parts you are carrying are really not a threat to passengers. Nope
  99. Talk about things that aren’t tech related. Check, religión y política, pero solo a veces.
  100. Get something on the front page of Digg. Nope

martes, julio 07, 2009

(Mayormente) útiles reglas de desarrollo de software

Se fue junio como por un tubo, y si bien han habido varias noticias en el entorno open source, muchos ya se han encargado de ellas. La salida de Mozilla Firefox 3.5, VirtualBox 3.0, y recientemente VLC 1.0 y algunas más que no recuerdo.

Aviso, de paso, que si alguno quiere tener Firefox 3.5 en Debian amd64, puede obtener el fuente y compilarlo, o bien aprovechar los paquetes pre-release de Iceweasel 3.5 que Mike Hommey tuvo la delicadeza de poner a nuestra disposición.

Pero lo de hoy es una breve traducción de un post que ayer publicaron en Pingdom titulado "Quirky but (mostly) useful software development rules", recordando reglas con las cuales adhiero bastante.

Regla del noventa-noventa
El primer 90% del código ocupa el 90% del tiempo de desarrollo. El 10% restante del código ocupa el otro 90% de tiempo de desarrollo.

(puede parecer equivocada, pero es así)

Ley de Hofstadter
Siempre lleva más tiempo del que uno espera, incluso si se tiene en cuenta la Ley de Hofstadter.

Ley de Brooks
Agregar gente a un proyecto atrasado, lo atrasa aún más.

Ley de Lister
La gente, presionada por el tiempo, no piensa más rapido.

Método MoSCoW
Una técnica para priorizar la entrega de requerimientos durante el desarrollo. MoSCoW significa:

[M]UST have this. -- DEBE tener esto.
[S]HOULD have this if at all possible. -- DEBERÍA tener esto si es posible.
[C]OULD have this if it does not affect anything else. -- PODRÍA tener esto si no afecta otra cosa.
[W]ON’T have this time but WOULD like in the future. -- NO tendrá esto ahora pero PODRÍA tenerlo en el futuro.

Principio KISS
«Manténgalo breve y simple» («Keep It Short and Simple»), en la forma más educada.

Ley de Gall
Un sistema complejo que funciona es siempre una evolución de un sistema simple que funcionó.

Peor es mejor, o estilo Nueva Jersey
Describe como un producto "inferior" puede ser mejor desde la perspectiva del usuario. Un software limitado pero fácil de usar puede ser más popular entre los usuarios que un software "mejor", pero más abarcativo.

Décima regla de Greenspun
Cualquier programa C o Fortran lo suficientemente complicado contiene una implementación ad-hoc, informalmente especificada, lenta y llena de errores de la mitad de Common Lisp.

Ley de Zawinski
Cada programa intenta expandirse hasta que puede leer mail. Aquellos programas que no pueden expandirse de esta manera se reemplazan por otros que sí pueden.

Ley de Linus
Dado un número suficientemente elevado de ojos, todos los errores se convierten en obvios.

Ley de Murphy
Clásica: Si algo puede salir mal, saldrá mal.

Ley de Sutton
Ve a donde está el dinero.

Es decir, al diagnosticar un problema, uno debería confirmar primero si se trata del diagnóstico mas común, p.ej. probando la solución más evidente. Toma su nombre del ladrón Willie Sutton, que atracaba bancos "porque ahí es donde está el dinero."

Ley de Wirth
El software se ralentiza más deprisa de lo que se acelera el hardware.

Ley de Conway
Una pieza de software refleja la estructura organizacional de la organización donde se produjo.

Principio de Hollywood
No nos llame, nosotros lo llamaremos.

En vez de que el programa ejecute al sistema, el sistema ejecuta su programa.

Principio de Dilbert
Los trabajadores más incompetentes son promovidos sistemáticamente al lugar donde pueden hacer menos daño: la administración.

Fuente: Quirky but (mostly) useful software development rules (Pingdom) y Wikipedia

jueves, mayo 07, 2009

Adios a un maestro

Me entero por Tech Source from Bohol (y por reddit, pero no por slashdot, curiosamente) de una triste noticia: Fravia+ nos ha dejado tras una difícil enfermedad.

Para quienes hemos hecho andanzas en cracking y en la ingeniería inversa, Fravia ha sido mucho más que un maestro. Por mi parte, alrededor del año 98 tuve acceso por primera vez (y con un viejo módem Zoltrix de 33,6kbps) a la web [http://fravia.com] que mantuvo hasta su muerte y que es uno de los más completos repositorios de documentación sobre ingeniería inversa, con excelentes artículos de su autoría y de varios contribuyentes. Su web, replicada en varios mirrors por el mundo, es por así decirlo una especie de portal del tiempo, lo podrán ver por el estilo que conservó desde su creación; y a la vez un acervo muy completo de conocimiento, pero sólo para aquellos que saben encontrarlo.

Fiel a su estilo, antes de partir nos dejó un mensaje de despedida: Sour 'n Sweet Swan Song.

Desde este humilde espacio vayan mi agradecimiento y mis más sinceros respetos. Y como rezaba en los artículos, recuerden:
There is a crack, a crack in everything.
That's how the light gets in.

martes, mayo 05, 2009

Ohnosegundo: una unidad de tiempo distinta

Entre otros, tenemos el milisegundo, el nanosegundo, el picosegundo... y el ohnosegundo.

Según Urban Dictionary,

OHNOSEGUNDO: Esa minúscula fracción de tiempo que tarda el cerebro en darse cuenta de que ha efectuado un error GIGANTESCO y conciliar el hecho de que es demasiado tarde. Como en "David envió a su novia fotos de él mismo con otra mujer, por accidente, lamentándose un ohnosegundo más tarde".

Yo tengo, lamentablemente, cierta propensión a utilizar esta unidad de tiempo bastante seguido. Por suerte algunas empresas han tomado conciencia de la gravedad del tema. Una medida conocida contra el ohnosegundo es, por ejemplo, el Undo Send de Google Mail.

jueves, abril 30, 2009

Kernel Mode-Setting con Intel 945GM en Debian

Hoy dediqué unos minutos a probar Kernel Mode-Setting en el Debian de la laptop, aprovechando que tiene una placa de video Intel Mobile 945GM/PM/GM, que según dicen funciona razonablemente bien para KMS.

El sistema operativo de la laptop es casi en su totalidad Debian Lenny, salvo por el OpenOffice, que es el 3.1 de experimental, por lo que no quería meter demasiados paquetes de otros repositorios.

Para arrancar, hace falta un kernel bastante nuevo. En inestable está el 2.6.29 que para esto viene muy bien. De paso trae soporte para ext4 y btrfs.

Posteriormente, algún servidor X.org más o menos reciente: xorg, xserver-xorg 7.4 y xserver-xorg-core 1.6.1 de unstable, más las dependencias que correspondieron (xserver-xorg-input-*, xserver-xorg-video-*, hal, console-setup, etc.).

También es necesario un driver de video intel actualizado: xserver-xorg-video-intel 2.7.0, con libdrm-intel1 y libdrm2, todo de sid. Y finalmente, para no perder la aceleración 3d, hay que actualizar libgl1-mesa-glx, libgl1-mesa-dri, libglu1-mesa y mesa-utils a la versión 7.4.

Luego de reiniciar con kernel 2.6.29 (aunque no es necesario, conviene para ver que todo ande correctamente) el pegamento que une a toda esta mezcla es crear un nuevo initrd con KMS habilitado desde el inicio, para ello, en el archivo /etc/initramfs-tools/modules hay que agregar.
# Enable Kernel Modesetting
intel_agp
drm
i915 modeset=1
Y luego regenerar el initramfs:
# update-initramfs -k `uname -r` -u
tal como se especifica en la Debian Wiki.

Como ultimo paso antes de reiniciar con KMS activado hay que editar el archivo de configuración xorg.conf, comentando todas las líneas (todas) o directamente creando un archivo xorg.conf de tamaño cero (previo backup por supuesto) pues ahora el servidor X trata de autodetectar los dispositivos existentes.
# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.pre-kms
# rm /etc/X11/xorg.conf
Y listo. Reinicio y arriba KMS.

Con aceleración UXA, compiz y todo, la interfaz gráfica se siente realmente mucho más liviana, incluso mejor que sin compiz en el driver anterior, y el cambio entre terminales y la gráfica es casi imperceptible.

La verdad, es una maravilla. Mis felicitaciones a todos los que metieron código para hacer posible este avance. Esperemos que llegue pronto a las restantes placas de video.

martes, abril 28, 2009

Te invito a salir de Facebook


Mauro tiene:
3.141592 amigos
653 fotos
589 notas
79 publicaciones en el muro
31 grupos
Te invito a salir de Facebook

Hola, Lector:

Estoy un poco cansado de que las redes sociales como myspace, facebook, hi5, dadanet, badoo, tagged, sonico y pichuflito utilicen la lista de contactos de mis amigos para autopromocionarse haciendo spam contra todas las direcciones que poseen. No tengo dudas de que si el servicio realmente vale la pena, mi amigo se tomaría el tiempo de invitarme escribiendo y enviandome un mensaje desde su propia cuenta de correo.

Por eso, te pido que me acompañes en esta cruzada para salir de Facebook, o al menos no darle acceso a tu lista de contactos.

Gracias,
Mauro

Para saber como salir de facebook, hacé clic en alguno de los siguientes enlaces:
http://www.malaspalabras.com/me-borre-de-facebook
http://www.lanacion.com.ar/1088028




Mira quién más te ha invitado a Facebook:
Fernandito Puchero
14 cervezas

Martín Cito
Anís 8 hermanos

viernes, abril 17, 2009

Festival de Instalación de Software Libre FLISoL 2009

El Festival Latinoamericano de Instalación de Software Libre (FLISoL) es el evento de difusión de Software Libre más grande en Latinoamérica. Se realiza desde el año 2005 y su principal objetivo es promover el uso del software libre, dando a conocer al público en general su filosofía, alcances, avances y desarrollo. Para tal fin, las diversas comunidades locales de software libre (en cada país, en cada ciudad/localidad), organizan simultáneamente eventos en los que se instala, de manera gratuita y totalmente legal, software libre en las computadoras que llevan los asistentes. Además, en forma paralela, se ofrecen charlas, ponencias y talleres, sobre temáticas locales, nacionales y latinoamericanas en torno al Software Libre, en toda su gama de expresiones: artística, académica, empresarial y social.

El FLISOL 2009 se llevará a cabo el sábado 25 de abril. Por cuarta vez consecutiva, el UNLUX organizara la actividad en la ciudad de Luján. Este evento está dirigido a todo público, sin importar el nivel de conocimientos técnicos que se posea. Hay para todos los gustos, cultura y arte libre, licencias y derecho de autor, etc.

Este año la jornada comprenderá la instalación de software libre y se ofrecerán las charlas
  • "Instalación del sistema operativo GNU/Linux Ubuntu"
  • "Un tipo común tambien puede usar Linux"
  • "Vi/Vim no come dedos, es sólo un mito" (Vi/Vim para principiantes)
  • "Cómo meter cuatro elefantes en un fitito" (Virtualización)
    * Los títulos de las charlas pueden no ser los oficiales, sepa ud. disculpar
Agendando...
Más Info en www.installfest.info/FLISOL2009/Argentina/Lujan

martes, abril 07, 2009

Maquinas virtuales como escritorios con VirtualBox y Debian Lenny

Hace un tiempo un colega me comentó una idea bastante extraña que tenía para máquinas virtuales, que podría ayudarle a administrar algunos sistemas bajo su dominio. Me había quedado pendiente publicar este post al respecto.

Viene más o menos así: un lote de computadoras utilizadas en forma alternada por varios usuarios, cada uno de los cuales requiere un conjunto dado de programas instalados; algunos de estos programas son incompatibles entre sí por diferencias de versiones, o presentan conflictos con el sistema operativo, o requieren privilegios de administración, etc.

Entonces pensó en una solución posible utilizando máquinas virtuales para cada usuario, donde tuviera instalado el software que requiere con los privilegios que requiere y con independencia del resto de los usuarios. De esta forma cada persona que llega debería ingresar al sistema, iniciar la aplicación de virtualización, seleccionar e iniciar su máquina virtual, y realizar el procesamiento que requiera. Al finalizar, debería apagar la VM y luego cerrar la sesión en el sistema. Lo mismo que hacemos todos aquellos que usamos VMs.

Pero -dijo- no estaría mal presentarle al usuario una lista de máquinas disponibles ni bien ingresa al sistema, de manera tal de no requerir iniciar la aplicación de virtualización. O mejor, iniciar la máquina virtual asignada al momento de iniciar sesión y presentarla al usuario como si fuera el escritorio real. Al apagar la máquina virtual, el sistema debería volver a la pantalla de login.

Bien, independientemente de que sea una buena o mala solución utilizar VMs, el concepto es interesante.

¿Es posible? Veamos si se puede realizar en forma sencilla con VirtualBox...

1. Preparando el Host

1.1. Instalar con el sistema operativo, en este ejemplo será Debian GNU/Linux 5.0 Lenny con una instalación base. Ni "entorno de escritorio", ni "sistema estándar", ni nada de eso: la idea es mantenerlo lo más sencillo posible.

1.2. Una vez instalado, generalmente desactivo la instalación de paquetes recomendados para no cargar el sistema con paquetes prescindibles. Para ello:

# echo "APT::Install-Recommends \"false\";" >> /etc/apt/apt.conf

1.3. Sobre el S.O. instalar Xorg, LXDE para la administración y GDM como gestor de sesiones. En realidad, es posible utilizar Openbox o Fluxbox solamente y prescindir de LXDE, pero a fines didácticos dejaremos el entorno completo.

# aptitude install xorg lxde gdm

1.4. Sobre esto instalar VirtualBox OSE y los módulos requeridos, que serán cargados automáticamente al iniciar el sistema real.

# aptitude install virtualbox-ose virtualbox-ose-modules-`uname -r`
# echo vboxdrv >> /etc/modules

2. Creando las cuentas de usuario

2.1. Ahora es el turno de crear las cuentas de usuario que tendrán acceso a las máquinas virtuales. Para este ejemplo definiremos tres usuarios que llamaremos asterix, obelix y getafix (algún patrón conocido):

# adduser asterix
# adduser obelix
# adduser getafix

2.2. Es necesario añadir estos usuarios al grupo vboxusers para que puedan utilizar las máquinas virtuales. Es posible hacerlo en la creación, pasando un parámetro al comando adduser, pero así queda bien explícito:

# adduser asterix vboxusers
# adduser obelix vboxusers
# adduser getafix vboxusers

2.3. Reiniciar el equipo para que tome los cambios. Alternativamente es posible cargar vboxdrv y e iniciar GDM. En cualquier caso, al finalizar se verá la pantalla de inicio de sesión. Opcionalmente puede configurarse el gestor gráfico para que muestre la lista de usuarios disponibles (Menú Acciones / Configurar el gestor de entrada).

3. Creando la máquina virtual para un usuario

3.1. Ingresar bajo el nombre de usuario cuya VM se desea crear e iniciar VirtualBox.

3.2. Allí definir una máquina virtual de la manera tradicional, nombrándola igual que el usuario (asterix, en este ejemplo) y estableciendo la memoria a utilizar, el sistema operativo, el tamaño de disco, etc...

3.3. Una vez creada la VM, iniciarla y proceder a instalar el sistema operativo deseado mas las aplicaciones requeridas. Adicionalmente, instalar las "Aplicaciones del huésped" (guest tools) en la máquina virtual.

3.4. Al finalizar, apagar la VM correctamente y cerrar VirtualBox.

4. Estableciendo el inicio de la máquina virtual al inicio de sesión

4.1 Crear un archivo de texto llamado .xsession en el home del usuario, conteniendo lo siguiente:

#!/bin/sh
exec VBoxSDL -vm $USER -fullscreen

4.2. Cerrar la sesión de usuario y volver a iniciar sesión. La máquina virtual deberá iniciar automáticamente en pantalla completa.

4.3. Para salir / cerrar, apagar del sistema operativo virtual, o bien pulsar CtrlDer+H, o CtrlDer+Q. El sistema deberá cerrarse correctamente y volver a la pantalla de inicio de sesión.

5. Crear las máquinas para los restantes usuarios

... procediendo de manera análoga al caso anterior.

6. ¡Listo!

Ya tenemos una VM Jukebox en el equipo, o algo por el estilo.
Ahora a por una buena taza de café.

I. Algunas notas adicionales

I.1. Es posible utilizar VirtualBox 2.1.4 (en vez de 1.6.6), añadiendo el repositorio testing en /etc/apt/sources.list e instalando los módulos apropiados mediante module-assistant.

I.2. Se puede cambiar la configuración de inicio de cada VM desde el mismo script en .xsession. Por ejemplo, si se desea iniciar la máquina virtual con 64 MB de ram, el script deberá contener

exec VBoxSDL -vm $USER -fullscreen -m 64

o para iniciar con una imagen ISO en la unidad de CD virtual:

exec VBoxSDL -vm $USER -fullscreen -cdrom ARCHIVO.ISO -boot d

I.3. Para cambiar la tecla con la cual se administra la máquina virtual, por ejemplo con la tecla WIN Derecha (en vez de con Ctrl Derecha), utilizar:

exec VBoxSDL -vm $USER -fullscreen -hostkey 312 0

donde el valor del parámetro hostkey define la tecla a utilizar. Ejecutando el comando VBoxSDL -detecthostkey en una terminal es posible obtener el parámetro correspondiente al conjunto de pulsaciones deseado.


Bueno, todo esto para ver si la idea era posible usar una máquina virtual como escritorio.
Pues resulta que sí, con algunos comandos y tres líneas de código (4.1).
Creo que no me olvidé ningún paso, en caso contrario, me avisan.

Suerte y saludos!

Actualización 2010: Charly (un maestro!) me ha hecho saber que en Ubuntu 9.10 Karmic, el archivo .xsession es ignorado totalmente, por lo cual al iniciar sesión el usuario vuelve al escritorio de Gnome en vez de ver iniciar la máquina virtual. No tengo idea qué es lo que tuvo en mente la gente de Ubuntu con este extraño comportamiento, pero ya hay varios bugs reportados [398300, 459122, 465349] con algunos parches posibles.

martes, marzo 31, 2009

Postgf*ck

Este marzo vino movido, de ahí la ausencia de posts en el blog, y abril pinta peor...
El de hoy es breve y sencillo: un rant a PostgreSQL, o al sistema de archivos, o al LVM, o a la alineación de los planetas.

La cosa viene así. Una aplicación externa escrita en Java que está funcionando hace más de un año se queja y tira excepciones por doquier. Para quienes están acostumbrados a la verbosidad de las excepciones en Java, buscar la fuente del problema en 13651 líneas del log de excepciones para 73 errores, no es algo del otro mundo; en realidad todo se resumía a lo siguiente:
org.postgresql.util.PSQLException: ERROR: fecha fuera de rango para
timestamp
Ésa, estimado lector. Ésa es la fuente del problema; lo demás era cháchara adicional. Así que del log de excepciones pasamos al log del motor de base de datos, a ver que tenía para declarar.

Efectivamente el error se repetía varias veces. Lo bueno es que postgres añade al mensaje de error la consulta SQL efectuada para que uno vaya viendo que es lo que salió mal. Lo malo, ahora, era la consulta. Nunca había visto en detalle las consultas que esa aplicación le tiraba al servidor de base de datos, pues como ya viene compilado todo y lo único que hay que hacer es ponerlo en el servidor de aplicaciones, ni me había molestado.

Resulta que la consultita SQL es un select de 60 líneas de longitud, líneas completas de izquierda a derecha, una sucesión de caracteres que cubría una pantalla completa y otra media. Quince SELECT unidos, algunos con subconsultas. Es la primera vez que veo semejante montón de uniones y subconsultas, fechas y comparaciones. De espanto, la verdad. De más está decir que si el sistema anda rápido es todo gracias al planner de ejecución del motor de base de datos.

El paso siguiente fue hacer un volcado de la base de datos para mantener como resguardo, de forma tal de poder restaurar la base al estado original en caso de necesitar efectuar modificaciones. Así que con
$ pg_dump -Ft -b appdb > appdb-snapshot.tar
nos quedó un archivo de unos cincuentitántos megas listo para recuperar.

La parte que sigue es una tarea detectivesca de descomponer la consulta para ver en cual de todas las fechas fallaba. Aquí viene bien el algoritmo de búsqueda dicotómica: partimos la consulta al medio y ejecutamos la primera mitad en el servidor: si falla está allí, sino, en el resto de la consulta.

Primera partición... Falló... Bien, partimos la mitad que falla... Falló otra vez... y así hasta dar con la comparación:
postgres=> SELECT codigo, detalle, vencimiento FROM elementos
WHERE vencimiento <= '2009-03-30';
ERROR: fecha fuera de rango para timestamp
Humm... 2009-03-30 es una fecha válida, como así también 2009-04-01, y sin embargo el error es el mismo. Ahora, con 2009-03-24 y previos anda perfecto, pero no con los posteriores. Se vé que tiene un tema con el 24 de marzo, hasta ahí todo bien, pero de fechas siguientes ni hablar.

Y más allá de ése, no tira ningún otro error, eh. Extraño por demás.

¿Estarán los dañados índices de la tabla? Luego de reconstruir los índices el error era el mismo. No, no están dañados los índices.

¿Será la versión de PostgreSQL que tiene un bug? Restauramos el backup en dos equipos diferentes, uno con la misma versión y otro con una superior, y en ambos casos todo anduvo de maravillas. No, no es la versión de postgresql.

Restauramos el backup en el servidor de producción y ahí lo tienen andando.
¿Moraleja? todavía la estoy buscando...

lunes, febrero 16, 2009

Pseudo-soluciones recursivas

En el mensaje de error en Epiphany:


Recuerda al clásico chiste "Keyboard not found. Press any key to continue.", no?
A veces dependemos demasiado de Google...

domingo, febrero 15, 2009

Debian Lenny ya es estable

Breve y conciso: Debian GNU/Linux 5.0 "Lenny" ha sido publicada.
"El Proyecto Debian se complace en anunciar la publicación oficial de la versión 5.0 de Debian GNU/Linux, nombre en clave "lenny", tras 22 meses de desarrollo constante. Debian GNU/Linux es un sistema operativo libre que soporta un total de doce arquitecturas de procesador e incluye los entornos de escritorio KDE, GNOME, Xfce y LXDE."

El anuncio con las principales características, las notas de la versión, y por supuesto, el link de descarga (les recomiendo por bittorrent).

martes, febrero 10, 2009

Un viaje por los senderos de la memoria

El post de TuxRadar, un recorrido por las distribuciones realizado en el número 1 de la revista Linux Format, en mayo de 2000, me trajo a la memoria muy buenos recuerdos de cuando comencé a escribir mis primeros comandos en Linux. Fue con un SuSE Linux 5.1, en la época donde lo estándar era Win95, y no pensaba ni remotamente en tener una conexión a 'Internés' en casa.

Entonces viendo esas capturas de pantalla de TuxRadar, decidí desempolvar aquél CD y volver a experimentar con aquella vieja distro que ahora tiene unos 11 años. Hoy en día QEMU ofrece una base sólida sobre la cual es posible hacer fácil y rápidamente este tipo de instalaciones, pero si no fuera por las máquinas virtuales, tendría que buscar el hardware adecuado a la época para no tener incompatibilidades.

Así que con el CD en mano, una disco virtual de 1 GB y 128 MB de memoria "prestados", procedí a iniciar QEMU para arrancar con la instalación del sistema.

Dejo aquí unas cuantas capturas de pantalla que fui tomando durante la instalación, algunas más ya con el sistema instalado, y otras de sitios web vistos con los navegadores disponibles para que tengan una idea de como lucía el linux desktop de antaño.

SuSE Linux 5.1, 11 años más tarde.


Boot desde el CD-ROM
Linux version 2.0.33, ya bastante avanzado, compilado con GCC 2.7



La pantalla de pre-instalación, desde el CD-ROM.



Esperando el Yet Another Setup Tool (YaST).



Eligiendo idioma, teclado y medio de instalación.



Preparando las particiones raíz y swap.



Un reinicio para escribir la tabla de particiones, y ahora eligiendo el sistema de archivos ext2 (no había otra opción).



Qué vamos a instalar? ABSOLUTAMENTE TODO !
Total... tengo todo un giga para desperdiciar !



Sólo 330 paquetes para instalar. Muy rápido en QEMU.



Algunas instrucciones para leer.
"Esta versión incorpora correcciones para el bug F00F en Pentium."



Qué kernel desea instalar? Hay para todos los gustos.



Configurando el viejo LI(nux)LO(ader)



Hacemos una nueva entrada para iniciar el sistema.



Configurando la red (aunque me equivoqué y despues la tuve que cambiar).



Listo, ya está todo instalado?



Un nuevo usuario para romper el sistema.



Ratón para la consola, porque sin ratón no vive el hombre.



Login-al-fin
Have a lot of fun!



Un reinicio para arrancar desde cero.



Problemas con la red?



Iniciando YaST (another time)...



para arreglar el tema de la red.



Mensajes del kernel (parte I)



Mensajes del kernel (parte II)



Tenemos Midnight Commander para el sistema de archivos,



Pico y Vim para editar algun que otro texto.



Y Python 1.4 para ejecutar algún que otro script.



Navegando barrapunto con Lynx.



Google en Lynx.



La UNLu en Lynx.



El eterno configurador de XFree86 3.3.1



X funcionando, y con gestor de sesiones.



Primer login al entorno gráfico, un FVWM2



VIM y YaST en gráfica.



Un entorno bastante más familiar: FVWM95.



YaST (yet another time) para instalar KDE.



KDE, versión 0.10 o por ahí.
La verdad no cambió nada...!



KFM, el gestor de archivos de KDE pre-Konqueror.



Más navegador de archivos.



La ayuda de KDE.



Algunas utilidades más.



El centro de control de KDE...



... y opciones del escritorio.



El editor de textos KEdit



KCalc, KZip, Terminal.



El buscador de archivos. Suena familiar, no?



Porque no solo de XTerm vive el hombre.



Reproductor de audio, de CD, buscaminas y paint en KDE.



Qué recuerdos! El XBill.
Sálva a los equipos del tremendo virus Wingdows!



La ayuda de SuSE en Arena, el navegador web.



Cómo estamos de espacio libre...



Google por Arena... Hummm...



La web de este excelente libro se tiene que ver bien.
Structure and Interpretation of Computer Programs.



La UNLu por Arena (arena hasta en el fondo)



Irreconocible? es Youtube



Pagando impuestos a través de KFM.



Debian por KFM.



Google con KFM? no se con qué abrirlo!



Structure and Interpretation of Computer Programs en KFM (bastante mejor).



La web de Slackware, una de las páginas que mejor se muestra en KFM.


Bien, hasta aquí llegó el recorrido. Me queda el archivo de imagen para seguir rompiendo el sistema, que de verdad anda rápido con 128 megas, a pesar de estar emulado y sin aceleración alguna (sin KQEMU).

Si alguna vez habían visto estas pantallas, seguramente les habré traído gratos recuerdos. Y si es la primera vez que las ven, pues es un breve paseo por lo que era una distro de linux hace una década atrás.

Que les parece. Habrá avanzado la comunidad linuxera? Con todo esto, yo creo que sí.