Il baco 25enne

Filed Under (Blog) by Zarathustra3M on 12-05-2008

Tagged Under : , , , , ,

Il 1983 è un anno importante per l’informatica moderna.
E’ l’anno del IBM PC XT, del Apple Lisa; è l’anno in cui il Pioneer 10 è uscito dal Sistema Solare. Ed è anche l’anno di nascita del più vecchio baco del mondo BSD (ma non solo), corretto solo pochi giorni fa.

Tutto ebbe inizio con un mail inviata, alcuni giorni fa, a Marc Balmer, uno sviluppatore OpenBSD, da parte di un utente OpenBSD. Nella mail, l’utente segnalava dei crash di SAMBA mentre venivano serviti alcuni client MS-DOS. Dopo i primi test del caso, il problema è apparso su TUTTI i sistemi BSD.

La prima reazione di Marc Balmer è stata di segnalare il problema al Team di Samba, ma prima ha indagato un pò più in profondità il problema. Incredibilmente, il problema era presente in TUTTI i BSD, liberi e non, perfino in Mac OS X. Andando indietro nel tempo tra le release, ecco trovato il ‘paziente zero’. 4.2BSD, rilasciato nell’agosto del 1983. Queste le parole di Marc Balmer:

This code will not work as expected when seeking to the second entry of a block where the first has been deleted: seekdir() calls readdir() which happily skips the first entry (it has inode set to zero), and advance to the second entry. When the user now calls readdir() to read the directory entry to which he just seekdir()ed, he does not get the second entry but the third.

Marshall Kirk McKusick, autore originale della libreria *dir(), ha commentato:

As the original author of the *dir() library, you probably fixed one of my bugs :-). Prior to the *dir() commands, programs just opened, read, and interpreted directories directly. I had to update a shocking 22 programs (a large percentage of the programs available on UNIX at the time) to replace their direct interpretation of directories with the *dir() library calls.

La correzione è stata banale:

The fix is surprisingly simple, not to say trivial: _readdir_unlocked() must not skip directory entries with inode set to zero when it is called from __seekdir().

Sorry that it took us almost twenty-five years to fix it.

ha commentato Marc Balmer scherzando :) .

Articolo originale:
http://osnews.com/story/19731/The_25_Year_Old_BSD_Bug

MS VI

Filed Under (Immagini) by Zarathustra3M on 16-04-2008

Tagged Under : , , , , ,

Se la Microsoft avesse scritto lo storico editor vi

Microsoft Vi

http://dottormale.netsons.org/blog/2008/04/15/ms-vim/

Sun mangiatutto

Filed Under (Blog) by Zarathustra3M on 12-02-2008

Tagged Under : , , , ,

  • January 2008 – MySQL AB, the company offering the popular open source database MySQL (deal anticipated to close in mid-2008)
  • February 2008 – innotek, the company offering the VirtualBox product

Ok, fermiamoci un momento.

La gloriosa Sun Microsystems, nota al grande pubblico per la piattaforma Java, si ritrova adesso con le mani in pasta in (Open)Solaris, OpenOffice, MySQL, PostgreSQL, Virtual Box, Java, Netbeans.

Tralasciando i particolari tecnici, se la Sun, col progetto Indiana del padre di Debian, riesce a rendere omogenea la piattaforma OpenSolaris, con le grandi risorse investinte nell’interfaccia GNOME, in OpenOffice, Java ed ora Virtual Box, puo’ fare seria concorrenza a Microsoft e Apple nel mercato desktop.

Questa volta credo che Linux se la vedra’ brutta. Non che mi dispiaccia, ho piu’ volte fatto notare come la comunita’ Linux manca di quel qualcosa in piu’ che serve per sfondare sui desktop.

Ed intanto giorno dopo giorno Sun mi da sempre piu’ la speranza di un sistema Unix sul desktop, una piattaforma stabile, potente, flessibile, e soprattutto facile ed immediata, come hanno gli utenti Apple grazie al favoloso Mac OS X.

Possibile che stiamo assistendo all’inizio del crollo della piattaforma Microsoft Windows ?
Si. E di questo sono molto felice.