Microhistorias: ¡Yo escribí FAT en un avión, por Dios! - Bill Gates

  • October 12, 2013
  • tuxotron
  • d8bcd476-7b14-4ee4-982c-f21afbcab380_16.jpg

    Gracias a la evolución del hardware, los programadores de hoy en día tenemos muchas más facilidades a la hora de programar, en el sentido de transparencia con respecto al hardware en términos generales, es decir, no tenemos que pensar en como la información va a moverse del disco a la memoria, de la memoria a los registros de la CPU, de como la memoria está organizada, etc.

    Esto no ocurría años atrás. Por ejemplo, con Altair, los programadores ni siquiera tenían un teclado para introducir sus programas, e inicialmente tenían que cargar incluso la rutinas de arranque a través de conmutadores.

    El equipo de desarrollo de Windows 3.0 tenían que escribir código en 16bits. Por aquel entonces la memoria estaba dividida en segmentos y sin entrar mucho en detalles, uno de los objetivos del equipo era el cómo organizar el código en memoria, para que las funciones que se llamaran de forma frecuente y conjuntas se almacenaran en el mismo segmento de memoria. Con esto se conseguían ahorrar ciclos de CPU en la carga de segmentos de memoria. A nivel de sistema, ese ahorro de ciclos de CPU pueden marcar la diferencia. Y por lo visto el equipo de Windows 3.0 pasaba bastante tiempo realizando optimizaciones de este tipo.

    Bill Gates quería estar al día de la evolución de Windows 3.0 y frencuentemente tenía reuniones con el equipo del mismo. En una de las reuniones, Bill Gates, ya cansado de oír sobre las optimizaciones de los segmentos de memoria, etc, se quejó diciendo: “You guys are spending all this time with your segment tuning tinkering. I could teach a twelve-year-old to segment-tune. I want to see some real optimization, not this segment tuning nonsense. I wrote FAT on an airplane, for heaven’s sake.”.

    Traducido viene a decir algo como: “Ustedes pasáis todo el tiempo jugueteando con vuestra optimización de memoria. Yo podría enseñar a un niño de 12 a optimizar la memoria. Quiero ver alguna optmización de verdad, no esta optmización sin sentido. Yo escribí FAT en un avión, por Dios

    Por lo visto esa frase de “Yo escribí FAT en un avión, por Dios” era algo que a Bill Gates le gustaba decir a los programadores, cuando estos, según Bill Gates, no hacían “programación real”.

    Como nota curiosa, en dicha reunión la jefa o manager del equipo cansada de escuchar a Bill Gates quejarse le dijo: “Fine, Bill. We’ll set you up with a machine fully enlisted in the Windows source code, and you can help us out with some of your programming magic, why don’t you.

    Vale, Bill. Te vamos a preparar una máquina con todo el código de Winows y así puedes ayudarnos con algo de tu programación mágica, ¿Por qué no?

    Esto le calló la boca Bill Gates.

    Me pregunto si en vez de Bill Gates fuera Steve Jobs, la jefa le hubiera respondido de la misma manera. Apuesto a que no :)

    Con respecto a que Bill Gates escribiera FAT en un avión, debe ser un mito por dos motivos principalmente:

    1. La primera versión de FAT (8 bits) fue escrito por Marc_McDonald, eso sí, tras varias conversaciones con Bill Gates. Estamos hablando del año 1977. En 1978 creó su Stand-alone Disk BASIC-80, el cual era básicamente el Altair Basic que Bill Gates y Paul Allen habían creado anteriormente, con la ayuda de algunos estudiantes, y en éste se incluyó por primera vez el sistemas de ficheros FAT. Stand-alone Disk BASIC-80 fue creado para sistemas 8080.
    2. En 1978 no existían portátiles u ordenadores que fueran operativos desde un avión.
    Por lo tanto esa frase, no sabemos si Bill Gates la usaba para motivar o poner más presión a los programadores.

    Referencias: FAT I wrote FAT on an airplane, for heaven’s sake

Parte del código fuente de Facebook de agosto de 2007

  • October 12, 2013
  • tuxotron

  • like.jpeg

    En agosto de 2007, alguien mandó a Nik Cubrilovic dos ficheros con el código fuente de la página de inicio (index.php) y la de búsqueda (search.php) de Facebook. Cubrilovic entonces publicó un artículo (Facebook Source Code Leaked) en el que comentaba el hecho, pero no publicó el contenido de dichos ficheros.

    El problema, según parece, radicaba en un fallo de configuración en los servidores de Facebook y afecta a ciertos usuarios. Cinco años después Cubrilovic ha publicado en Github ambos ficheros.

Remake de Super Mario Bros en HTML5 + Javascript

  • October 12, 2013
  • tuxotron
  • index.jpeg

    La combinación HTML5 + Javascript se ha convertido en una mezcla explosiva, la cual nos permite traer a nuestro navegador cosas impensables años atrás. Hemos visto como se ha portado juegos e incluso demos gráficas.

    En esta entrada os enlazamos a un repositorio de Github donde podemos encontrar el juego de Super Mario Bros escrito totalmente en HTML5 y Javasctript.

    El código fuente está bastante comentado, en caso de que te pique la curiosidad y quieras aprender algo del mismo. Y si lo que quieres es echar una partida, puedes ir a www.fullscreenmario.com (requiere Google Chrome, con Firefox no me funcionó y el resto de navegadores no los he probado). Si el sitio no funciona como me pasó a mi, puedes bajarte el fichero .zip con todo el contenido, y desde tu navegador, carga el fichero mario.html.