A Ovest Di Paperino

Welcome to the dark side.

  • Touchdown

    Siamo finalmente arrivati in Patria. Come recitava Morpheus, some things will never change. Dopo nove anni ancora non mi riesco ad abituare all'anti-gentilezza d'impatto non appena si tocca suolo italiano. Riassunto di un paio di episodi:

    1. siamo passati dal customer care Alitalia per confermare che il pezzo di carta che avevamo in mano come ricevuta del biglietto elettronico fosse sufficiente per passare la fila alla sicurezza; di tre impiegati una, sul posto di lavoro, parlava allegramente e ad alta voce dei suoi fatti personali con una amica al cellulare. L'altra tentava di aiutarci dandoci informazioni sbagliate (un gate totalmente diverso che senza carta d'imbarco ci ha fatto rischiare di perdere l'ultima coincidenza) mentre il terzo "aiutava" un signore e la sua famiglia rei di voler far passare del cousous in volo
    2. la security: concentrato di maleducazione totale. Trattare clienti come se fossero capi di bestiame è il modo più veloce per farsi licenziare dalle mie parti. Nessuna istruzione su come fare il controllo, un metal detector per ogni due file, incompetenza totale nel trattare i clienti. L'ho già detto?
    3. i pugliesi in viaggio; nulla in contrario con in pugliesi (sono pugliese anch'io) ma mi sembrano una comitiva di ragazzini chiassosi in gita con l'età media di 50 anni. La scena folkloristica al baggage claim sembrava tratta da La mia Africa
    4. la dogana in Italia. Per la prima volta mi hanno chiesto «da dove vieni?». Da «Seattle». «Allora devi fare la dogana». Mi fanno infilare i valigioni nella macchina a raggi-X per la quindicesima volta, ma non il mio marsupio che stava per esplodere. Che cosa potessero trovare via raggi-X ancora non l'ho capito.

    Intanto ieri sera tardi mi son accorto che sono stato PI-zzato (effetto simile all'essere slashdotted). Spero che il mio host abbia tenuto e ringrazio pubblicamente Patrizio Tassone per la citazione e il suo articolo che - se fosse possibile - condividerei al 200%. Alcuni brani che ho gustato:

    Con un ecosistema del genere, già debilitato, i nuovi paletti che la GPL3 inserisce, se da un lato vanno a proteggere quei principi che la FSF persegue, dall'altro rischiano di uccidere il malato, facendolo tornare un gioco per geek
    Ma spostare il discorso sulla libertà è un vantaggio di troppo che si concede a FSF: per come la vede Torvalds, la GPL3 limita le libertà, non le amplia, ficcando il naso in cose che non dovrebbero riguardare la licenza
    [...]
    Si equipara quello che FSF vuole sia "legale" con quello che è il proprio credo.

    Infine questo pezzo è semplicemente favoloso:

    Se oggi si mettono paletti su dove eseguire il software, chi ci garantisce che domani la GPL3.1 o la GPL4 non contengano una clausola che vieterà l'uso di software coperto da GPL nei paesi dove vige la pena di morte, o in quelli non considerati "liberi" (dalla FSF, ovviamente!), o in quelli che non concedono una pensione agli sviluppatori GPL per lavoro usurante? Un po' più di rispetto per le idee altrui e meno proclami aiuterebbero sicuramente a non dividere la comunità creando blocchi contrapposti, ma a favorirne l'espansione.

    Un po' quello che avevo detto anche io con l'allegoria dell'accendisigari.

    BRB

    P.S. in meno di sei mesi Vodafone mi ha invalidato la mia vecchia SIM telefonica. Toccherà comprarne un'altra e trovare una soluzione un po' più permanente.

  • L'Italia di Piero

    Tempo di spiaggie e presto, il mitico Vincenzo Mollica, ci propinerà il classico servizio giornalistico estivo sulla canzone tormentone dell'estate: se scommettessi i miei due cents, sarà l'Italia _DEI_ Piero, perché di Piero per (s)fortuna ce n'è più di uno in circolazione. Devo ammettere che la canzone di Cristicchi è spettacolare: chi non conosce un Piero? E soprattutto, se Cristicchi avesse scelto un nome americano, avrebbe scelto Forrest?

    Ne riporto un brano:

    Piero dice che l'altr'anno è stato sulla luna,
    Piero dice c'ha piantato funghi e mariujana,
    la penisola italiana è un suo stivale,
    Piero è stato assolto dalla corte costituzionale,
    Piero con il suo gommone sbarca clandestini,
    [...]
    Piero ha fatto vincere l'Italia nei mondiali... (vedi ringraziamento nell'about page)
    Piero adesso si è arruolato con i bersaglieri...

     Qualcuno non l'ha ancora sentita? Non ci credo ma nel caso eccone una versione simpaticissima su youtube:

    E fra qualche ora (appena 7) si parte per il lungo viaggio (>20h). In mia assenza non fate niente che io non farei! Stick out tongue

    Technorati tags: ,

  • Don't try this at home

    Tre anni fa è apparso questo post su SlashDot:

    The guys over at winhistory.de managed to get their Windows XP Professional running on a very minimal box: an Intel Pentium clocked down to 8 MHz with 20 MB of RAM. (segue commento sarcastico)

    L'intero esperimento è dettagliato qui.

    Come sono arrivato a ricordarmi di questo post? Una nota su una rivista:

    On a final note, we in the Linux community often criticize Microsoft Windows for the high hardware requirements it seemingly requires.

    Recently one "expert" suggested that Windows Vista's sweet spot comes in at roughly 4GB of Ram. However, I'm still getting over a story on Slashdot in the same week in which Windows XP was installed on a under-clocked 8Mhz original Pentium processor with 16MB of RAM. It just worked. Many Linux distributions probably wouldn't have.

    Fonte Linux Magazine Pro, numero 78 Maggio 2007, pagina 95.

    Delizioso, but don't try this at home!

    -quack

    Technorati Tags: Cazzate

  • Mandatemi a fanzap

    Leggendo il penultimo post di Jeff, sono finito su una pagina che illustra fumettisticamente la teoria GIFT.

    Nella mia esperienza - a parte casi particolari come il forum troll di Punto Informatico - ho scoperto che c'è anche un altro elemento che incide sul difetto di comunicazione online: il fatto che per iscritto non si riesce a comunicare bene quanto dal vivo con uno sguardo, un gesto, un sorriso, un tono smorzato.

    Sfortunatamente succede con e senza anonimato: più volte ho visto mezze tragedie compiersi tra amici sulla cattiva interpretazione di una mezza parola ed ho imparato che nel dubbio è meglio ri-chiedere l'interpretazione di chi scrive.

    Le emoticon nel loro piccolo aiutano un po' e mi rendo conto che la piattaforma che uso non ne semplifica l'uso al commenDatore di passaggio. E allora - in notevole ritardo - ecco le istruzioni su come divertirsi con le emoticon nei commenti. Basta racchiudere lo smile fra parentesi quadre, cioé per ottenere Smile basta digitare [:)]. Le altre sono indicate in tabella qui sotto:


    :) = Smile :D = Big Smile  :O = Surprise :P = Stick out tongue 
    ;) = Wink  :( = Sad  :S = Tongue Tied  :| = Indifferent
    : = Crying   := /> = <img src="/blogfiles/oldemoticons/emotion-10.gif" alt="Embarrassed" /> </td> <td valign="top" width="100">H = <img src="/blogfiles/oldemoticons/emotion-11.gif" alt="Cool" /></td> <td valign="top" width="100">:@=<img src="/blogfiles/oldemoticons/emotion-12.gif" alt="Angry" />  </td></tr> <tr> <td valign="top" width="100">A = <img src="/blogfiles/oldemoticons/emotion-13.gif" alt="Angel" /></td> <td valign="top" width="100">6 = <img src="/blogfiles/oldemoticons/emotion-14.gif" alt="Devil" /> </td> <td valign="top" width="100">8-| = <img src="/blogfiles/oldemoticons/emotion-15.gif" alt="Geeked" />  </td> <td valign="top" width="100">:# = <img src="/blogfiles/oldemoticons/emotion-16.gif" alt="Zip it!" /></td></tr> <tr> <td valign="top" width="100"> <img src= = Whisper :^) = Huh?  <:o) = Party!!!  |-) = Sleep 
    8o| = Super Angry    ^o) = Hmm +o( = Ick! *-) = Confused
    8-) = Confused Y = Yes N = No  


    A guardare il post a cui si riferisce Jeff, c'è da dire che nel complesso mi posso ritenere davvero fortunato: i toni sono generalmente moderati anche se qualche censura è scappata e mentre qualche commento censurabile è rimasto, soprattutto nei post più datati. E allora faccio una proposta: se proprio qualcuno vuole mandarmi a quel paese per qualche post controverso, lo faccia in calce a questo post. Ocio ad usare e ad abusare degli asterischi (altrimenti li sostituirò io), così da non scadere nella cruda volgarità.

    Enjoy! È davvero il caso di dirlo!!

    -quack

    Technorati tags:

  • Rotolando verso Sud

    FungoAtomico L'estate (lavorativa) sta finendo ed è tempo di impacchettare le valigie prima del viaggio che ci aspetta il prossimo Martedì. La tentazione di fare un checkin di codice modello «fungo atomico» e fuggire è molto grande. Altrimenti come farei a far sentire la mia vacanza? Per ora ho lasciato un paio di bbpack e la gatta da pelare ai miei colleghi.

    Resta da pensare ai soliti dettagli insignificanti:

    • cosa mettere nel bagaglio a mano oltre a laptop (non mi aspetto che ci sia la connessione in volo, ma si sa quanto siano simpatici i signori che caricano le valigie in aereo) e allo smartphone versione music-only.
    • procurarsi un paio di passaporti non scaduti (con tutte le vicissitudini del Consolato di S. Francisco non è che sia semplice)
    • prepararsi ad un po' di sfiga accessoria
    • lasciare una lista di task enorme per i miei colleghi da adempiere in mia assenza
    • cominciare ad entrare nel mindset vacanziero
    • perdere gli ultimi grammi possibili in bicicletta. Ringrazio chi mi ha dato tanti consigli e chissà se l'anno prossimo si riesce a fare la Seattle-Portland. Troppi buoni propositi però non portano da nessuna parte, neanche in bici (vedi fallimento clamoroso di quelli di inizio 2006!).
    • decidere la t-shirt da indossare in volo decisa! Trattasi di questa, casomai dovesse capitare qualche francese in volo.

    Il blog ha già assunto un look più disteso (notato il nuovo header?) e spero sia di buon auspicio. Ho intenzione di pubblicare il mio numero di cellulare appena scopro qual è, se magari qualcuno ci volesse contattare quando arriviamo a destinazione.

    Per ora, buon inizio di weekend!

    Technorati Tags: , ,

  • Getting ready for WHS

    Finalmente Windows Home Server è stato rilasciato nello splendore della versione 1.0 e non vedo l'ora di metterci le mani sopra: intanto le vacanze sono a tiro di schioppo e per ora non ha senso neanche pensarci. In attesa di dettagliare un piano per sfrattare lo stupido NAS che ho «assunto», comincio a mettere insieme un po' di link utili per la lista della spesa che si limiterà semplicemente al barebone e qualche accessorio. Di interessante ho trovato:

    barebone1 MSI Hetis 900 
    Non è dotato do firewire (alquanto inutile su WHS ma pensavo ad un plugin Camcorder -> WHS o ad un utilizzo del barebone per MCE).
    mcedisplay

    Pertelian LCD Display

    Utile per mostrare qualche statistica o per MCE.

    Una cosa simpatica che differenzia WHS dai comuni NAS, che di solito girano su una versione embedded di Linux, è la possibilità di creare/installare add-in. Ce ne sono di svariati davvero carini elencati su questo sito. Paradossale che una piattaforma "chiusa" possa risultare più aperta di una piattaforma "aperta" (ovvero quando il codice sorgente dell'OS non serve davvero a un tubo!).

    -Enjoy!

    Technorati Tags:

  • Magari!!!

    Quando anche il Corriere della Sera prende gli abbagli:

    Microsoft taglia il prezzo di Xbox negli Usa
    In più cinque film gratuiti ai nuovi clienti, la console costerà 179 dollari, 20 in meno. Ma tra i due litiganti fa festa Nintendo

    fonte (probabile che nel frattempo correggano)

    Screenshot:

    corriere

    In realtà è stato tagliato il prezzo del lettore HD-DVD per XBOX, tra i meno cari in circolazione (essendo USB funziona di default anche su Vista ma per vedere i film ci vuole il software adatto; con qualche magagna funziona anche su XP). Non sono l'unico ad aver bisogno di una vacanza.

    Technorati Tags:

  • Lo spot del vicino

    Se l'erba del vicino è sempre più verde, lo spot del vicino è sempre più bello.

    Spesso si può arrivare ad una stessa soluzione seguendo vie diverse e parallele e quando due "prodotti" finiscono per assomigliarsi troppo può essere solo una grossa coincidenza. Se ne discuteva anche nei commenti al mio succitato post.

    Quando le coincidenze cominciano a diventare troppe, la statistica insegna che si è davanti ad un fenomeno chiamato volgarmente rip-off. Ognuno può farsi la propria opinione guardando questa pagina. Il video qui sotto è un esempio.

    A sinistra lo spot di Apple, a destra brani tratti da un video di una band chiamata The Postal Service:

    La probabilità che si tratti di coincidenze visto che il regista dei due pezzi è lo stesso? IMHO davvero bassa. La risposta? Apple nega Smile

    [Apple] insisted it had no prior knowledge of the music video

    Mi raccomando, think different! Oh sure...

    -quack!

    Technorati Tags:

  • Mamma ho perso la password

    persosottotitolo: che belle che sono le Rainbow Table

    Nella mia esperienza mi son fatto convinto che la cartina al tornasole per stabilire se qualcuno passa troppo tempo davanti ad un computer è chiedere se ha mai dimenticato una password. Se la risposta è affermativa, si ha a che fare con un geek (nel mio caso ho dimenticato più volte una password!).

    Mentre cazzeggiavo mi informavo sul web, mi sono imbattuto in ophcrack, un programma per crackare le password di Windows; tale programma fa uso delle cosidette Rainbow Table (d'ora in poi semplicemente RT). Il programma così com'è funziona anche per Vista, ma ha in generale alcune limitazioni: le RT incluse permettono di crackare solo password contenenti caratteri alfanumerici. Una password considerata "forte" non può essere perció crackata con la dotazione di RT del programma.

    Una cosa carina è una versione LiveCD basata su Linux che una volta lanciata fa tutto da sola: carica le tabelle in memoria, individua il SAM, e in pochi minuti esegue la ricerca (10 minuti in tutto sulla mia macchina virtuale). Anche tale versione ovviamente è limitata alle password alfanumeriche. RT più complete sono in vendita un po' in giro (quella completa per coprire le password di Windows richiede 60GB di spazio su disco) ed i link sono disponibili nella pagina di ophcrack. Faccio notare che per poter crackare le password di Windows bisogna essere amministratori oppure avere accesso fisico al PC per fare il boot da CD (nel caso qualcuno voglia farsi tentare da aprire un baco).

    Ma come funzionano le RT? Il meccanismo è un po' complicato e parafrasando Einstein ora che l'ho capito potrei anche spiegarlo agli altri. Nella spiegazione faccio riferimento ad un algoritmo "semplificato".

    Le password vengono di solito memorizzate usando una funzione hash che data una password restituisce una stringa "complicata" (d'ora in poi semplicemente hashcode). La funzione hash non è invertibile nel senso che è impossibile trovare una semplice funzione matematica che dato un hashcode restituisca la password. Per generare le RT, viene definita una funzione reduce che dato un hashcode restuisca una nuova password (diversa da quella che ha generato l'hashcode: in parole povere la funzione reduce non è l'inversa della funzione hash in quanto l'inversa come già detto non esiste). Di tale nuova password viene generato un nuovo hashcode il quale verrà poi dato in pasto alla funzione reduce che genererà una nuova password, ecc. ecc. Il tutto per un discreto numero di volte (nell'esempio qui sotto riportato da WikiPedia l'operazione viene effettuata tre volte). In realtà in ci sono diverse funzioni reduce, una per ogni passaggio (nella figura indicate come R1, R2, R3)

     

    RAINBOW TABLE1

    Nell'esempio sopra si parte da password a caso (wikipedia, abcdefgh, passwd) si calcola l'hashcode corrispondente (ao4kd, 1vn6s, dicm4); poi si applica la prima funzione reduce (R1) e si ottiene una nuova password (secret, bernie, culture) e si ripete con le successive funzioni fino ad ottenere l'ultima password (rootroot, myname, linux23). Alla fine di questi semplici passaggi si memorizza nella RT solamente la password di partenza e quella di arrivo.

    Nel caso di cui sopra si avrà una RT fatta in questa maniera:

    wikipedia rootroot
    abcdefgh myname
    passwd linux23

    E ora arriviamo al dunque: come si calcola la password dato un hashcode e una RT? In questo modo:

    1. prendere l'hashcode in ingresso e applicare l'ultima funzione reduce ottenendo una nuova password
    2. confronta tale password con una delle password contenute nella colonna di destra della RT
    3. se la password non esiste nella colonna di destra, applicare all'hashcode di partenza la penultima funzione reduce ottenendo una nuova password, calcolarne l'hashcode e usarlo come nuovo hashcode tornando al punto 1.
    4. se la password invece esiste, restituire al chiamante il valore corrispondente sulla colonna sinistra.

    Ora se la RT è completa e l'hashcode iniziale è valido, alla fine del loop si avrà una password di partenza da dare in pasto ad un'altra funzione che prende in ingresso l'hashcode di partenza e la password trovata dalla procedura precedente, seguendo iterativamente i seguenti passi:

    1. calcolare l'hashcode della password
    2. se coincide con l'hashcode di partenza la password cercata è quella
    3. se non coincide con l'hashcode di partenza genera una password usando la funzione reduce e ricomincia da 1.

    Un esempio: sia secret la password da cercare. Secondo la figura, il suo hashcode è 9kpmw; quindi l'obiettivo sarà trovare la password associata a 9kpmw.

    Applicando la prima procedura con la funzione R3 otteniamo come prima nuova password pippo. pippo non è nella tabella (colonna a destra)  e quindi si itera ancora. Si applica la R2 all'hashcode di partenza ottenendo jimbo, quindi si calcola l'hashcode di jimbo che stando alla figura è v0d$x e da questo generiamo una nuova password usando stavolta R3(rootroot). In questo caso la procedura si ferma perché rootroot è presente nella RT ed è associata a wikipedia come password di partenza.

    Ora tocca avviare la seconda procedura usando wikipedia e 9kpmw.

    Si calcola l'hashcode di wikipedia ottenendo ao4kd. Siccome non è l'hashcode che si sta cercando, si fa un'altra iterazione. ao4kd usando la funzione reduce genera secret. Si calcola l'hashcode di secret che è 9kpmw: ovvero l'hashcode di partenza. La password cercata quindi è secret.

    Con l'algoritmo vero ogni entry della tabella è generato attraverso svariate iterazioni (nell'ordine di diverse migliaia). E a complicare le cose nella realtà può accadere che la prima procedura procuri un falso positivo nel qual caso bisogna continuare ad iterare: dato un buon insieme di funzioni reduce, per generare le RT che coprono tutte le possibili password di Windows sono richiesti diversi anni calcolo. Le RT oggi disponibili sono state infatti ottenute attraverso sistemi di network computing.

    La bellezza di questa tecnica è la totale indipendenza dalla funzione di hash. Quindi si può applicare per generare RT anche per altri algoritmi (MD5 ad esempio). Resta infine da dire che per invalidare l'uso delle RT basta un semplice algoritmo di salting. Tanto di cappello all'inventore di tale tecnica, Philippe Oechslin.

    -enjoy

  • Accendisigari

    (post da prendere poco seriamente)

    accendisigariConosco una persona che non ha mai fumato in vita sua e a cui - in tutta sincerità - il fumo passivo dà veramente molto fastidio. Ha però deciso in maniera bizzarra di lanciare da poco una campagna contro le automobili provviste di prese accendisigari: la sua teoria è che il fumo è il male assoluto e rende schiavi della nicotina; coloro che vendono macchine con accendisigari non fanno altro che alimentare l'industria del tabacco e quindi vanno considerate "complici".

    Tale persona si è spinta oltre: ha fondato anzi tempo un comitato chiamato C.A.L. (comitato automobili libere) e da presidente di tale comitato ora predica la "libertà" di avere una macchina senza accendisigari. Non solo: promuove attivamente tutte le aziende che vendono automobili senza accendisigari.

    Ritengo che la sua sia una teoria un po' bislacca e per diversi motivi. Per cominciare con un esempio neanche io fumo, ma molto spesso ho fatto uso della presa accendisigari per alimentare il cellulare;  una macchina senza accendisigari, benché mi renda libero dal fumo passivo, mi crea non pochi grattacapi per ricaricare i miei gadget. Un altro motivo per cui trovo la sua teoria un po' bislacca è il fatto di definire "libera" un'automobile che in realtà impone dei vincoli: a me sembra palesemente un controsenso. Senza parlare del fatto che fino a ieri produrre automobili con accendisigari non era assolutamente in contrasto con gli ideali del C.A.L.

    Ora in fin dei conti rinunciare all'accendisigari può sembrare anche un piccolo sacrificio soprattutto considerando la premessa che neanche io fumo; ma cosa succederebbe se la persona in questione domani lanciasse una campagna tolleranza zero contro l'uso di alcol e in nome della "libertà" dichiarasse illiberali macchine non dotate di etilometro? Non nascondo che sebbene non fumi io una birra ogni tanto me la faccio e la questione posta così mi pare preoccupante.

    Salut!

  • When dreams come true

    (piccolo resoconto fotografico del concerto di Dolores O'Riordan in Seattle)

    CIMG1371 CIMG1372

    Primo duo spalla, Mike (inglese) e Steve (autoctono). Molto simpatici e disponibili come da chiacchierata post concerto.

    Alle mie spalle tra un'attesa e l'altra una coppia in luna di miele si annoia e tira fuori un mazzo di carte ed intavola una partita a Ramino (ora non so se in America si giochi con un mazzo solo o è semplicemente spirito di adattamento):

    CIMG1375

    Segue il secondo "gruppo" spalla, la band di Jessie Baylin, che si esibisce scalza:

    CIMG1377

    Si prepara il palco e la scaletta per l'esibizione non è niente male:

    CIMG1383

    L'esibizione comincia con l'entrata a sorpresa e Zombie, il pubblico è in estasi:

    CIMG1386 CIMG1387

    Alcuni elementi della band:

    CIMG1391 CIMG1394

    Altre immagini:

    CIMG1407 CIMG1415

    Fine del concerto? No... segue il "bis"

    CIMG1426

    Canzone finale, la mia preferita. Dreams:

    Notare la vicinanza al palco ed il fatto che quasi mi cada addosso (minuto 2:45) per firmare un autografo!

    Bottino della serata, biglietto autografato dalla mitica:

    Image

    -Enjoy

  • La colpa &#232; di Turing

    Questi giorni ho imparato una lezione che non dimenticherò mai per tutta la vita. Ha a che fare con l'interoperabilità in sistemi complessi e su come la responsabilità possa essere inequamente distribuita. Lo faccio con due esempi.

    a. Il baco dello URI handler di Firefox (e Trillian): In questo caso l'interoperabilità è tra due browser, rispettivamente IE7 e Firefox. Quest'ultimo soffre di diversi problemi tra cui il fatto che permette il passaggio di linee di comando alquanto pericolose (basta dare un'occhiata qui: http://kb.mozillazine.org/Command_line_arguments). IE7 non lo fa. Secondo qualcuno, se IE7 invoca Firefox passando una linea di comando pericolosa dovuta ad una concatenazione di stringhe non voluta, la colpa è di IE7. Lo stesso qualcuno ha proposto di disabilitare completamente gli URI handler, visto che sono pericolosi (per intenderci che brivido può essere un link ftp!). Perché non spegnere completamente Internet e andare tutti a casa? Perché in Firefox sono troppo pigri per pensare alla sicurezza (Protected Mode? Fra un anno. Forse. Revisione della command line? Che c'è da rivedere?). Almeno quegli altri hanno ammesso le loro colpe, anche se hanno dato addosso a chi ha fatto disclosure della vulnerability senza prima avvisarli (mai cominciare col mettere in pratica le elementari nozioni di sicurezza). Morale della favola: la colpa è di qualcun'altro (di IE7 che incidentalmente invoca gli URI handler in maniera identica a Firefox, di Windows, delle RFC, ecc.).

    b. Il mio Network Attached Storage (d'ora in poi semplicemente NAS): il mio NAS[1] è un modello che a Settembre troverà un altro felice proprietario per diversi motivi che hanno a che fare con come il protocollo di comunicazione è stato implementato (male) su un sistema operativo non direttamente supportato. Raymond Chen fa una analisi dettagliata di una manifestazione di questo baco che non ha nessuna soluzione possibile. In pratica Windows chiede al NAS se implementa una certa interfaccia, il NAS risponde affermativamente e Windows (solo da Vista in poi) si limita ad usarla. Peccato che poi in realtà il NAS non la implementi correttamente causando non pochi grattacapi agli ignari utenti. Le soluzioni che Raymond analizza per risolvere la situazione sono le seguenti:

    1. Fare assolutamente niente. Il baco è nel NAS, spetta al produttore risolverlo. L'utente medio penserà che siccome non succedeva con XP il baco è di Vista.
    2. Windows deve cercare di capire che il NAS è bacato e avvertire l'utente. L'utente si troverà di fronte alla finestra di dialogo che dice "QUESTO NAS È BACATO: TI SCONSIGLIO DI USARLO". L'utente ovviamente penserà che è un baco di Vista (certo con XP tutto funzionava alla perfezione) mentre il produttore del NAS farà causa a Microsoft
    3. Vista deve dimenticarsi le nuove API e deve limitarsi ad usare le API vecchie; insomma il progresso di Windows deve essere tenuto in ostaggio da qualcuno che ha implementato (male) un protocollo Windows su una piattaforma non Windows. Come chiedere ai WebMaster di non usare HTML 3.x perché il mio browser che ho scritto in 5 minuti supporta solo HTML 1.x. I produttori di NAS veloci "ottimizzati" per Vista daranno la colpa a Vista. L'utente che ha comprato Vista per avere una rete più veloce penserà ovviamente che è un baco di Vista.
    4. Creare una configurazione da qualche parte che indica se usare le vecchie API. Quale valore usare di default? Se si usa "vecchie API" di default, tutti i NAS che implementano le nuove API correttamente saranno costretti ad usare le "vecchie API" più lente (si veda il  punto 3.): la colpa è di Vista. Se si usa "nuova API" l'utente è costretto a capire cosa c'è che non va e come configurare il tutto correttamente quando usa il NAS. Siccome con XP tutto funzionava alla perfezione, l'utente ovviamente penserà che è un baco di Vista.

    (nota: ho incorporato due opzioni proposte da Raymond in una; invito a leggere il post originale sull'argomento molto più completo del mio)

    La costante di tutte queste quattro soluzioni imperfette è una sola: la "colpa" è dell'ultimo arrivato. Ovviamente una situazione del genere mette il produttore del NAS o chi arriva prima in una posizione di favore; che senso ha faticare per implementare correttamente un protocollo visto poi che l'utente medio darà la colpa a qualcos'altro? L'aveva scoperto a suo modo anche Luca. Ed infatti come volevasi dimostrare non c'è nessun aggiornamento del firmware per il mio NAS nonostante il problema sia stato correttamente risolto a monte (il NAS usa librerie software che sono state in seguito patchate per risolvere il problema, ma il produttore del NAS ovviamente se ne è disinteressato).

    Un'ultima nota: questa pratica di usare librerie già pronte senza testarle a fondo (chi le scrive pensa che le testa chi le usa e viceversa) è una pratica perversa molto deleteria e porta scientificamente a diffondere i bachi molto più velocemente di quanto si diffondano le eventuali correzioni.

    Anche se può sembrare così, non sto scherzando: la mia fiducia nel NAS è così bassa che ne faccio il backup periodico per evitare brutti scherzi. Per ogni file importante ho ormai tre copie: locale, NAS e backup del NAS. Ammetto che la colpa è pure un po' mia perché guardando la confezione del NAS si scopre che Vista non è neanche supportato. Alla fin fine sono rammaricato perché ho comprato un NAS per avere peace of mind, ma ironia della sorte mi sento tranquillo solo quando è idle. Big Smile

    La questione del NAS - a differenza della diatriba su FireFox - mi inferocisce in maniera particolare perché lavorando nel campo della backward compatibility, ho scoperto quanto ogni nuova versione di Windows tenda ad essere accomodante rispetto ad applicazioni semplicemente maleducate: figuriamoci cosa possa provare quando vedo che alcune applicazioni creano problemi totalmente irrisolvibili come quello del NAS[2] e quello che leggo in giro è totalmente approssimativo. Poi mi calmo perché penso che questo è un ciclo naturale che si ripete al rilascio di ogni nuova versione del sistema operativo più backward compatibile che c'è: neanche XP in tali occasioni così acclamato riuscì a fare di meglio, senza parlare di quello che si leggeva in giro con il rilascio del SP2.

    Infine voglio fare un paio di precisazioni:

    1. Nessun sistema software è perfetto, meno che mai Vista. Se qualcuno leggendo quanto ho scritto è tentato di pensare ciò, consiglio immediatamente un bel giro su "I miei guai con Vista". C'è pure un post che parla di un baco nel protocollo di rete in questione che sfortunatamente non ha niente a che fare con i problemi cronici del mio NAS. Io stesso ne ho indicato un paio di bachi davvero antipatici.
    2. Sperare che un ipotetico SP possa risolvere un problema per sua natura irrisolvibile dimostra scarsa comprensione del problema stesso. Il baco del NAS infatti era noto ben prima del rilascio di Vista; la data del post di Raymond è 30 Marzo 2006 e il baco non ammette nessuna soluzione sul lato client che sia diversa da "la colpa è di Vista" (sempre ovviamente per l'utente medio: immagino che quello avanzato si sia già informato e stia comprando un nuovo NAS; perché il software scritto male e con intenzione presto manifesterà i suoi strali sfoderando altri bachi).
    3. Non è mia intenzione parlare dello specifico prodotto (che in questo post non ho neanche nominato) ma di un certo tipo di atteggiamento disdicevole che segue l'amara scoperta che il prodotto XYZ non è compatibile con il prodotto ABC

    Il filo conduttore tra i due esempi è uno solo: se c'è un caprio espriatorio qualcuno ne farà uso; se non c'è qualcuno ne farà uso lo stesso da cui l'assunto che sempre secondo qualcuno è l'informatica ad essere bacata, ad aver drammaticamente fallito creando false promesse: ai buoni e volenterosi non resta che andare a casa tanto la colpa è di Turing. Ma da un post con un titolo del genere che ci si voleva aspettare? Big Smile

    -quack

    Technorati tags:

    [1] che per dirne qualcuna non supporta password più grandi di 8 caratteri, non supporta caratteri speciali nelle password e non supporta neanche file più grandi di 2GB impedendomi di fatto di fare un backup totale e tombale

    [2] in la realtà la soluzione c'è: pubblicare un aggiornamento del firmware, ma per l'utente comune che ha diritto a non sapere dell'esistenza di firmware la colpa è sempre di Vista.

  • Dreams

    ...come true. Impossible not to do.

    Questa tipa l'ho già vista da qualche parte. Ma chi è???

  • Ciclismo della domenica

    Ho una mountain bike che in vita sua avrà visto non più di 200 kilometri di strada. Ma siccome il colesterolo da queste parti dilaga, la buona stagione (ahahahah! buona questa) sta per arrivare ed i vecchi costumi da bagno per uno strano effetto relativistico si sono ristretti, mi è venuta un'improvvisa voglia di pedalare anche in virtù del fatto che Redmond è «the bicycle capital of the Northwest». Per rendere lo sforzo ciclistico piacevole mi son procurato due strumenti indispensabili:

    1. colonna sonora; possibilmente canzoni con BPM alto e magari crescente (ottima Waterloo degli ABBA nonostante parli di sconfitta e sia poco adatta agli scopi motivazionali di una playlist)
    2. piccolo tachimetro elettronico da bicicletta (qui conosciuto volgarmente come bike computer).

    Per il primo strumento è bastato il mio Cingular 3125, di cui vado estremamente fiero: nonostante abbia usato solo la memoria interna, che con i suoi 60MB è davvero scarsa. URGE acquistare una micro-SD adeguata agli sforzi.bici

    Lo strumento numero due mi ha dato più grattacapi del solito: passeggiavo in centro (dauntaun) a Seattle e mi son ritrovato a passare davanti ad un negozio di biciclette sportive a cui ho chiesto informazioni. Mi hanno ovviamente mostrato diversi modelli dai 30$ (modello scarso con cavo pericoloso) ai 70$ (modello con sensore wireless). A nulla è servito il fatto che lamentassi che in gioventù grazie ad una raccolta punti white millhouse (mulino bianco: ma mi son preso la licenza poetica per la traduzione) mio fratello avesse ricevuto un mini-computer a costo zero: il commesso mi ha detto laconicamente che il massimo che poteva fare come favore personale millantando una lunga amicizia (?) era 10$ di sconto sul modello «pericolo mortale» (in realtà il modello non aveva niente di così pericoloso: pura strategia di marketing). Sono uscito sconsolato pensando che nel 2007 tale tipo di elettronica costasse ormai cifre davvero irrisorie. Mi son rivolto quindi al più grande store online per questo tipo di affari: IBEI!! Ho trovato quindi un modello davvero niente male per la modica cifra di 9.50$ inclusiva di spedizione con tariffa prioritaria. Un affare!!

    L'aggeggio è arrivato dopo appena 3 giorni e il fogliettino di istruzioni era chiaro ma abbastanza striminzito: nessuna indicazione su quale distanza dal centro della ruota andasse installato il sensore. Santo google mi è venuto in aiuto ricordandomi una nozione di geometria elementare che nella foga del setup avevo abbondantemente dimenticato: siccome il sensore fa le sue misurazioni basandosi sul periodo ed il periodo è proporzionale alla velocità ma indipendente dalla posizione sul raggio, la soluzione è «fa come vuoi». Da allora ho cominciato a raccogliere le statistiche di pedalata: ho resistito alla geekagine di registrarle in un foglio excel... finora. Siccome sono un dilettante, si accettano volentieri suggerimenti su come migliorare la pedalata e ridurre a zero il rapporto sforzo/fitness.

    -quack

    Technorati tags:

  • Tipi da messenger: i Danteschi

    MSNAlighieriSi racconta che Dante Alighieri avesse una memoria davvero prodigiosa. Un aneddoto a tale riguardo vede il sommo poeta camminare per le strade di paese ed incontrare uno sconosciuto che gli chiede:

    «Oh Dante, qual è il tuo cibo preferito?»
    «Le uova» la risposta del sommo.

    Dopo un anno lo sconosciuto reinconta Dante per le stesse strade e chiede:

    «Oh Dante, ma con cosa?»
    «Con il sale», risponde Dante senza minimamente titubare.

    Mi capita spesso di chattare con qualcuno che dopo avermi salutato mi pone domande che mi sembrano strane tipo «ma per quella cosa?» o «hai risolto il problema?» o «allora che mi dici di quel fatto?» facendo riferimento a passate conversazioni «scadute» da svariate settimane. Approfitto allora di questo fantastico mezzo che è il blogghe per dire che a differenza dei miei mirandoliani interlocutori io purtroppo non ho le qualità di Dante Alighieri. Stick out tongue Vuoi per colpa della galoppante età, vuoi per colpa della mia dislessia. La cosa è più imbarazzante per me che per chi mi interpella. Una volta poi, qualcosa del genere è accaduta live e quello che segue è una ricostruzione più o meno fedele.

    Ero in una pizzeria in compagnia della formichina: passa alle sue spalle una persona dal volto familiare che si dirige verso il bagno. Al suo ritorno mi riconosce e si avvicina al tavolo:

    sconosciuto: «Come va?»
    paperino: «Ah bene bene. E tu?»
    sconosciuto: «Ah si pure, un po' di stress sul lavoro...»
    paperino: «eh quello non manca mai, sai com'è...»
    [qualche minuto di conversazione]
    sconosciuto: «beh vi lascio, buona serata»
    formichina: «ma chi è?»
    paperino: «ti giuro che non mi ricordo e siccome neanche lui mi ha chiamato mai per nome ho l'impressione che ci siamo incontrati ma nessuno dei due si ricorda dove»

    Ero troppo in imbarazzo per chiedere «tu chi sei» e alla fine è stato un po' come per Lino Banfi in questa scena del mitico Vieni avanti cretino:

    Happy chatting. Ma di che stavo parlando? Smile

    -quack

  • Firefox URI handler demistificato

    UPDATED 

    Avevo letto giorni fa della diatriba sul baco che affligge Firefox ma sfruttabile via Internet Explorer. Cercherò di spiegare come funziona la cosa facendo spero un po' di chiarezza: siccome il baco chiama in causa i due browser, si sono create due fazioni partigiane diverse che danno la colpa rispettivamente a Firefox e ad IE.

    Prima di tutto la fonte: il baco è stato scoperto da Thor Larholm e la descrizione in inglese può essere letta a questa pagina. Tutte le altre fonti, inclusa Secunia, citano la pagina di Thor.

    Qual'è il problema? Questa chiave del registry che definisce come comportarsi con lo specifico URI handler:

    [HKEY_CLASSES_ROOT\FirefoxURL\shell\open\command\@]
    FIREFOX.EXE -url "%1" -requestPending

    che indica come invocare firefox passando una URL (l'url prende il posto di %1). Se la URL ha la forma:

    FirefoxURL://foo" –argument "qualcosa di losco

    la chiave in questione porterà all'esecuzione di questa riga di comando:

    FIREFOX.EXE -url "FirefoxURL://foo" –argument "qualcosa di losco" -requestPending

    e cioé Firefox verrà eseguito con il parametro aggiuntivo "qualcosa di losco".
    Dove sta il problema? Nella chiave del registry: IE si limita a leggerla, a sostituire %1 con il parametro passato e a invocare il processo risultante. La cosa tragica è che IE, come qualsiasi altro software inclusi i client di posta, non può davvero fare altro. Il problema si presenterebbe quasi identico se al posto dei doppi apici (") fosse usato un qualsiasi altro carattere di delimitazione (#). L'unica alternativa per chi vuole lanciare Firefox è di leggere la chiave del registry, cercare di interpretarla (il programma penserebbe «uhm vediamo, %1 è racchiuso tra doppi apici, quindi mi tocca fare qualcosa, ecc.») e manipolare i parametri per l'applicazione target di conseguenza: ce n'est pas possible! Il chiamante non può essere responsabile per la validazione dei parametri del chiamato, altrimenti occorrerebbero tonnellate infinite di codice che si limita solamente a controllare i parametri: evviva! Qual'è il modo più corretto per sistemare la falla? La soluzione più banale, sicura e funzionale è fare in modo che la URL sia sempre l'ultimo parametro dopo lo switch -url: tutto ciò che segue verrebbe interpretato come URL che a sua volta è posta immagino sotto ampio scrutinio, ma dubito che a questo punto possa essere implementabile per motivi di backward compatibility.

    Con un meccanismo simile lo stesso Thor afferma è possibile lanciare con parametri altre applicazioni tra cui Acrobat, Outlook, ecc. A differenza di firefox però nessuna di queste applicazioni formatta l'HD[1] se vi si passa come parametro "/format C:". Qualcuno ha pure pensato che IE potrebbe semplicemente evitare di invocare tali applicazioni, ma se una applicazione registra un URI handler <sarcasmo>forse lo fa perché vuole essere invocata</sarcasmo>

    Riassumendo:

    • è possibile, via IE, invocare altre applicazioni passando parametri arbitrari (tutte le applicazioni che registrano un handler URI)
    • nessuna applicazione ad eccezione di Firefox esegue ciecamente i parametri passati
    • non c'è nessun motivo pratico per registrare uno URI handler specifico (FirefoxURL://)
    • è possibile che altre applicazioni - oltre ad IE - possano invocare Firefox usando la tecnica descritta e incorrendo nella vulnerabilità illustrata
    • Firefox infine, come mostra il buon Enrico, fa esattamente la stessa cosa di IE ( http://msinfluentials.com/blogs/jesper/archive/2007/07/20/hey-mozilla-quotes-are-not-legal-in-a-url.aspx )

    Insomma la questione sembrerebbe abbastanza controversa, ma i punti giocano tutti a sfavore di Firefox, tant'è che Secunia ha assegnato il baco come vulnerabilità di Firefox (Thor invece parla di vulnerabilità di IE e a questo punto di tutte le applicazioni che invocano URI handler). Ora un baco, anche grave, è sempre un baco, un errore umano, una svista. Ma della questione, leggendo anche le interviste riportate nel post di pseudotecnico, mi hanno sorpreso due cose:

    1. l'atteggiamento di alcuni partigiani (non mi riferisco al post di cui sopra, ma altra roba che ho letto in giro nei forum per troll), che senza neanche capire di cosa si stesse parlando, hanno preso le parti dell'una o dell'altra fazione
    2. l'atteggiamento del team di Firefox, che dopo aver fatto capro-espiatorismo, ha fatto anche del gran-paraculismo tirando fuori la frase ad effetto «pensiamo che sia compito di Firefox garantire una navigazione sicura agli utenti che navigano usando Firefox.»

    Ora secondo me - parere personale del tutto gratuito - Firefox ha diversi pregi, ma la paventata superiorità in sicurezza, soprattutto dopo il rilascio di IE7 per Vista, semplicemente non rientra tra questi. Infatti non mi spiegherei altrimenti questo brano dell'intervista fatta due settimane fa da ZDNet a Mike Schroepfer , VP dell'engineering in Mozilla:

    [ZDNet] Is Protected Mode a priority for Firefox? After the animated cursor attack, Protected Mode became important in user’s minds. Microsoft claimed that IE was more secure than Firefox because of Protected Mode.

    The animated cursor attack would still allow for reading of any files on the local system - so protected mode is no panacea. We believe pro-active and rapid patching of security vulnerabilities is still the best defense. Having said that we also believe in defense in depth and are investigating protected mode along with many other techniques to improve security for future releases.

    Traduco sommariamente:

    Domanda: ma il Protected Mode di Vista è una questione prioritaria per Firefox?
    Risposta:  il protected mode di Vista non è la panacea e la migliore difesa è tappare i buchi velocemente, per cui per ora ci stiamo pensando

    Ritraduco con una metafora:

    Domanda: avete pensato di rilasciare una porta con la nuova serratura disponibile?
    Risposta: la serratura non risolve tutti i problemi in quanto c'è gente che potrebbe entrare dalla finestra (del terzo piano) per cui crediamo che mandare subito una volante dopo un furto rimanga la soluzione migliore. Per le serrature ci stiamo pensando...

    Wow! Da una azienda che parla di sicurezza in questi termini io non «comprerei» neanche notepad. Figuriamoci se comprerei un browser[2] con cui poi andare a controllare il mio modesto conto in banca. Affidare le chiavi di casa a Firefox? Da oggi non se ne parla neanche. Smile

    Update
    La questione comincia ad essere semplicemente ridicola se non fosse oltraggiosamente patetica: http://it.slashdot.org/article.pl?sid=07/07/20/1252215&from=rss
    Non ci voglio e non ci posso credere: uno javascript può rubare le password in Firefox. Congratulations!

    -quack

    [1] sto volutamente esagerando per mostrare la gravità del baco
    [2] il browser ironia della sorte è stato promosso dall'azienda come Safer, Faster and Better; considerando che anche Safari per Windows, con al suo attivo 8 bachi di sicurezza in meno di poche ore, è stato promosso come «designed with security in mind since day one», comincio a pensare che la sicurezza stia diventando davvero uno slogan vuoto. Bah!

  • Refuctoring

    Il refuctoring è una pratica che tende ad aumentare la job-security e come tale non va confusa con il refactoring.

    È infatti risaputo che:

      

    in quanto se il codice diventa più manutenibile, la job-security diminuisce.

    Anche il refuctoring ha la sua teoria alle spalle su cui si possono trovare maggiori informazioni in questo PDF.

    -enjoy

    Technorati Tags: ,

  • Half price books

    La scorsa domenica son passato da un negozio chiamato half price books che vende mobili. Scherzo. Nel mio singolare carrello della spesa sono finiti i seguenti libri:

    Operating System Concepts

    Oltre a presentare i concetti teorici per la progettazione di un sistema operativo, il libro dedica svariati capitoli ad architetture "alternative", incluso un capitolo su Windows XP.
    Tali capitoli sembrano abbastanza dettagliati anche se non esaurienti come può essere un intero libro sull'argomento
    Pro ASP.NET 2.0 in C# 2005

    Di primo acchito sembra un'ottima guida di riferimento per la creazione di siti dinamici in ASP.NET/C# con un intero capitolo dedicato alla creazione di WebServices. Ancora non avevo nella mia libreria casalinga un volume di riferimento su tale argomento... lacuna colmata!
    PHP and MySQL for dynamic web sites

    Certe volte il codice PHP mi sembra davvero oscuro. A volte il codice PHP è davvero oscuro. Per curiosità ho comprato questo testo. Non sono esperto in materia e quindi non saprei giudicare la qualità del contenuto, ma visto che era in forte sconto ho pensato di tenerlo a portata di mano.

    Totale speso 27.94$ + tasse (rispettivamente 7.98$, 9.98$ e 9.98$), sicuramente molto meno che half-price. Mi sembra di aver fatto un ottimo affare! Ora bisogna trovare il tempo per leggerli o almeno scorrerli. Le vacanze sono in arrivo, ma questi non sono testi da leggere in vacanzaStick out tongue.

    -quack

    Technorati tags: , ,

  • Test cases

    universo Qualche giorno fa sono stato invitato ad un meeting di revisione dei test cases per il prodotto XYZ condotto da un tester. Tale tipo di meeting anche se noioso è altamente educativo e può avere inaspettati risvolti umoristici. Uno dei test case recitava:

    • Controllare che dopo la disinstallazione di XYZ il .Net Framework (che XYZ usa) sia ancora installato

    Su questo punto è nata una discussione quasi accesa sull'inutilità di tale verifica, ma la pignoleria di un nuovo tester ha preso il sopravvento ed il test case è rimasto al suo posto; sono stati presi però in considerazione ad altri due corollari del test case di cui sopra suggeriti dal mio collega e da me, entrambi dotati di buon sense of humor:

    • Controllare che dopo la disinstallazione di XYZ tutte le altre applicazioni siano ancora installate
    • Controllare che dopo la disinstallazione di XYZ l'universo esista ancora

    Il secondo suggerimento non è stato accolto solo perché l'universo non implementa la famosa interfaccia ITestable Smile

    -quack

    Technorati tags:

  • Perfezionismo

    Nessuno è perfetto, nessuna azienda (a parte la NASA!) è capace di rilasciare software complesso privo di bachi, ma c'è qualcuno che comunque non smette di inseguire il sogno del perfezionismo. Il che di per sé sarebbe una cosa positiva se avvenisse nell'unico modo possibile, il metodo in due passi:

    1. critica e molto più importante auto-critica
    2. miglioramento delle debolezze che vengono fuori dal passo 1.

    Il modo sbagliato per inseguire il perfezionismo, quello che porta a prodotti apparentemente perfetti ma inevitabilmente bacati, usa altre tecniche:

    • Negazionismo; negare spudoratamente anche l'evidenza
    • Capro-espiatorismo: laddove, il negazionismo fallisce, cercare urgentemente qualcuno da incolpare.

    Quando penso al perfezionismo, mi viene immediatamente in mente Apple. Del negazionismo di Apple ho già parlato. Quelli che seguono sono esempi di capro-espiatorismo:

    Apple certo non è l'unica, ma è sicuramente la migliore. Apple: chi vuoi  incolpare oggi? Smile

    (post da non prendere troppo seriamente)

    -quack!

    Technorati Tags: