30 de abril de 2005

frases interesantes..

...extraidas de aquí:


  • "Set it to use vi as editor, rm `which pico` and be happy - usually patch is mangled by pico, not pine itself.

    ..ooO(and if somebody starts whining "but puko is user-friendly" you don't want their patches anyway)" - Alexander Viro, explicando porque pine se come parches

  • "Linux doesn't support any sub-32-bit computers, and despite the occasional deranged people interested in retro-computing (ie Alan Cox) I doubt itseriously will.." - Linus Torvalds

  • "A computer is a state machine. Threads are for people who can't program state machines." - Alan Cox

  • "An innovation a day keeps the monopolist away" - Alan Cox

  • "> Wouldn't it have made more sense to make the 'len' parameter an unsigned int?

    Oh yes.
    And wouldn't it be nicer if the sky was pink, and God came personally down to earth and stopped all wars and made you king?" - Linus

  • "If I need to put content identification in, well guess what - thats a list
    ((my_name "Hello") (his_name "Foo"))
    and XML is simply lisp done wrong." - Alan Cox

  • "scanf is tough" -- programmer Barbie... - Alexander Viro

  • "People do have a right to put their code under whatever license they like. Now, _I_ won't use the stuff I don't have a source for unless I have exceptionally good reason to believe that authors of that stuff are among the few percents of programmers who *can* find their arse without outside help. But that has nothing to do with licensing or any moral considerations and everything to the fact that I know what kind of crap most of the software is." - Alexander Viro, software libre desde un punto de vista práctico

  • "> It seems they wold be throw! XML in kernel is too much. Openoffice and

    They won't be thrown. They will be slowly driven under the nails, so that victim could experience the joy equal to that of dealing with XML" - Alexander Viro

  • "cp -a fs/ext{2,69}
    cp -a include/linux/ext{2,69}_fs.h
    cp -a include/linux/ext{2,69}_fs_i.h
    cp -a include/linux/ext{2,69}_fs_sb.h
    for i in fs/ext69/* include/linux/ext69*; do
         vi '-cse ext|%s/(ext|EXT)2/\169/g|x' $i;
    done
    vi '-c/EXT/|y|pu|s/2/69/|s/Second/FUBAR/|x' fs/Config.in
    vi '-c/ext2/|y|pu|s/ext2/ext69/g|//|y|pu|&g|//|y|pu|&g|//|y|pu|&g|x'
    include/linux/fs.h
    had done the trick last time I needed something like that, but that was long time ago..." Alexander Viro, enseñando comandos simples para crear un sistema de archivos nuevo

  • "... and don't ask me about the extraneous parenthesis. I bet some LISP programmer felt alone and decided to make it a bit more homey." - Linus

  • "Call me stupid [ Chorus: "You're stupid, Linus" ], but I actually compiled and booted this remotely." - Linus

  • /* First check any supplied i/o locations. User knows best. <cough> */ - comentario de drivers/net/ne.c

28 de abril de 2005

Mac OS X 10.4

Si uno lee los análisis de Mac OS X 10.4 - que "curiosamente" se publica oficialmente el mismo día que termina el WinHec 2005, donde hasta los mas pro-microsoft han salido decepcionados - se encontrará con que a grandes rasgos el texto de los análisis es:

Spotlight. Dashboard. Spotlight, Spotlight, Spotlight. Dashboard, Dashboard. Spotlight. Dashboard, Dashboard, Dashboard [...]

Básicamente es eso. Afortunadamente, Arstechnica está aquí para rescatarnos y ya se puede leer el análisis. Especialmente interesante es la última página, donde describe los cambios que se han ido produciendo en el kernel de mac os x. Es muy curioso, porque habla sobre como el kernel de mac os x tenía unas interfaces totalmente inestables y cambiantes, que luego intentaron mantener la interfaz estable - pero en detrimento de muchas mejoras de rendimiento que requerian cambiar esa interfaz. Tambien hace un resumen interesante de las mejoras de "escalabilidad smp" del kernel:

  • En panter y anteriores, mac os x no permitia que dos procesos estuvieran en el kernel simultaneamente, como open y netbsd. O sea: La escalabilidad no era tal, por suerte Apple no vende mas de dos procesadores en un solo equipo asi que el problema no era tan grande. Pero se acercan los dual core, que en no mucho tiempo serán quad-core, y....
  • En las betas de Tiger, en vez de uno se pusieron dos puntos de sincronizacion: Uno para la capa de red, y otro para el resto del kernel.
  • En la versión final de Tiger, los bloqueos son mas "finos" y pueden entrar todos los procesos que quieran, los bloqueos se hacen en cada subsistema o en cada estructura de datos que las necesite
Que es una mejora bastante grande, y no la han anunciado tanto como lo de spotlight. Por la descripción coincide más o menos a como era linux en 2.4, aunque usando como usan código de freebsd 5.x que como ya se han pasado sus 3 ó 4 años sufriendo por ellos, la cosa les habrá sido mucho más sencilla. Por supuesto Mac OS X no está al nivel que está linux en este terreno (ni al de windows, pero ve y dilo en los foros de mac...) pero apple tampoco vende maquinas con 512 procesadores como hacen los de SGI. Mac OS ya tiene su trono en el escritorio despues de todo, pero es bueno saber que mejoras tan importantes llegan justo a tiempo de los "dual core"

Entre otras cosas interesantes del análisis de arstechnica: Launchd, una BUENA revisión de spotlight, y otra gran noticia parece ser quartz 2D extreme. Hasta ahora mac os empleaba quartz extreme para hacer transparencias, sombras, pero para dibujar caracteres, renderizar una pagina web, y todo el trabajo 2d, lo hacia la CPU. Ahora ayuda la tarjeta gráfica, asi que tiger en verdad debera ser mucho mas ligero para el uso habitual. Qué se puede decir, impresionante

25 de abril de 2005

la solución definitiva para los anuncios en internet

A raiz de una noticia en slashdot que hablaba sobre las novedades de adsense. se me ocurrió preguntar si había un metodo mejor que mi método tradicional que consiste en "añadir lista de servidores de anuncios a /etc/hosts para que se resuelvan a direcciones IP incorrectas cuando intentan mostrarte un anuncio"

En slashdot, como en cualquier lado, hay gente buena y gente mala, y una persona buena, en forma de anonymous coward me respondió con el script que usa el para actualizar su servidor DNS cada noche.

Y gracias a esa respuesta he conocido a esta maravillosa, maravillosa web donde mantienen una lista de mas de 1500 "servidores de anuncios". Es más, te la proporcionan en múltiples formatos: para /etc/hosts, en formato XML para Microsoft ISA server, para squid, para el c:/WinNT/system32/drivers/etc/hosts de windows, para mozilla, para BIND, o para lo que sea. El caso es que la página es genial, y tiene montones de herramientas y trucos para permitir bloquear servidores de anuncios y mantenerlo actualizado. De cualquier manera con esta y un poco de script se puede hacer cualquier cosa

No tengo nada en contra de los anuncios, simplemente NUNCA hago click en ellos y me comen ancho de banda, asi que me libro de ellos y au

13 de abril de 2005

The Old New Thing

Si alguien no tiene ya en su lista de RSS's al blog de Raimond Chen debería tenerlo. La razón: Posts como este: http://blogs.msdn.com/oldnewthing/archive/2005/04/12/407562.aspx.

Es uno de los trabajadores mas viejos de Microsoft, pero su blog merece la pena. Normalmente se dedica a explicar "porque esto es así", dando a continuación una pequeña de leccion de historia que puede ir a través de Windows 3.1, windows 95, y las razones de compatibilidad por la que es eso es así. Como un buen historiador, nunca suele decir "esto es mejor o peor", solo "esto es asi por esto" - a pesar de que muchas veces las chapuzas queda implicitas en el contenido. Y si no es eso, código: Como se hace mejor tal cosa, como se hace lo otro, como se pasan parametros en no se que procesador

Por ejemplo. Es sabido que en windows portar drivers a windows de 64 bits es un infierno en algunos casos, porque los punteros son de 64 bits y los long int siguen siendo de 32. Hacer asignaciones del tipo "puntero = long int" parece ser algo muy comun, asi que todos los drivers que hacen eso no funcionan al recompilar en 64 bits. Ahora bien: ¿Porque esa decisión tan estúpida? Solo en el blog de Raimond Chen uno se puede enterar. Desde los pequeños detalles como Por qué los archivos y directorios sin fecha rompen la ordenacion en el explorer o por qué un \\ no autocompleta los nombres de pcs en la red, a como reportaba MS-DOS los errores, pasando por una historia muy educativa de como los ingenieros de Microsoft pidieron a los de Intel que aceleraran la gestión de instruccines inválidas, petición que les parecio un chiste - pero parece ser la manera de la que algun Windows hace las llamadas al sistema. Una joya. Espero que publiquen una selección de sus posts en libro algún dia, si no lo han hecho ya.

12 de abril de 2005

9 de abril de 2005

CPU hotplug

Es curioso cuando un día vas y te encuentras con esto: (p3 dual normalito)

root@estel ~ # grep processor /proc/cpuinfo
processor       : 0
processor       : 1
root@estel ~ # echo 0 > /sys/devices/system/cpu/cpu1/online
root@estel ~ # grep processor /proc/cpuinfo
processor       : 0
root@estel ~ # echo 1 > /sys/devices/system/cpu/cpu1/online
etc, etc etc. Lo gracioso del asunto es que la velocidad de la CPU desactivada se "acelera" un poco al igual que ocurre cuando la CPU está al 100% o antes de arrancar el SO, sospecho que será porque cuando se desactiva se le saca del "proceso inactivo" que utiliza "hlt" para que consuma menos y al desactivarlo dejara de hacerlo y algún otro tipo de iteración, vaya usted a saber cual. Ah, y no deja desactivar la cpu0, será porque es la "cpu principal", supongo

1 de abril de 2005

april fool's day

Una de las cosas buenas del "mundo geek" es que tenemos dos dias de "santos inocentes", como bien apunta Eduardo Minguez. En las listas del kernel como es tradición ha habido unos pocos intentos. El mejor de todos a mi parecer es el último enlace porque parece una mezcla entre broma y "parche real" (ver final del todo del mensaje). Del año pasado recuerdo uno bastante impresionante, una copia de la funcionalidad de subst.exe de msdos (que permitia asignar una unidad a una "carpeta") con los parches necesarios para el kernel y bash y todo.

En slashdot han puesto unos cuantas noticias falsas y en The Register nos anuncian que Jobs se va a poner a diseñar muebles para IKEA. En Gmail no suelen andar con bromas: Celebrando un año de su lanzamiento han aumentado el tamaño de las cuentas a 2 GB y han añadido soporte para escribir texto enriquecido con avecrem. La gracia de los 2 GB es que han puesto un contador en la página principal que va subiendo hasta los 2 GB poco a poco y que coincide con el espacio que te va marcando en la parte de abajo dentro de la cuenta, tambien han puesto un bonito gráfico hecho a boli en el que explican como gmail proporciona "infinito + 1" GB de espacio