Un paio di cose, forse tre

Jun 5, 2009 - 0 comments - Archiviato in: #Pippe Mentali

  1. Il mistero dell’opacità e dei problemi di compatibilità di IE8 si va praticamente dipanando. Quest’articolo spiega che la realtà delle cose è molto meglio di come l’avevo descritta. Se la sintassi usata è quella corretta, non c’è bisogno di apici e i vecchi fogli stile continueranno a funzionare. Il motivo per cui la sintassi (nuova e vecchia) è diversa da quella “standard” sta nel fatto che anche l’implementazione differisce, probabilmente per motivi storici visto che i filtri sono stati aggiunti nella versione 4.x di IE e che il focus di IE8 era la compatibilità con CSS 2.1. Bocche cucite sul futuro
  2. In questi giorni si era malignato tantissimo sul fatto che Windows Update installasse silenziosamente un’estensione per FireFox, che non si potesse disinstallare, ecc. ecc. Quest’articolo spiega un po’ meglio come sono andate le cose. È stata una scelta maldestra, anche secondo me, ma se la scelta maldestra la fa il monopolista il cospiravistometro va a fondo scala. La lista delle applicazioni che installano plugin/estensioni in maniera silente ha dell’incredibile: Java-VLC-Acrobat-Hulu-iTunes ecc. ma in passato non ho mai letto nessuno malignare, anche se capisco che un Windows Update possa sembrare più malignabile. Ottima la possibile scelta di pubblicare l’estensione sul sito ufficiale di Mozilla
  3. L’Unione Europea vuole forzare la possibilità di chiedere all’utente quale browser scaricare. Mi chiedo perché mai limitarsi al browser. È un’idea politicamente geniale. Rilasciare Windows con IE/FF/Opera/Chrome, WMP/WinAmp/ecc.
    Tecnicamente non ho sentito mai niente di così stupido negli ultimi vent’anni.
    * in base a quale criterio scegliere il software da mettere in bundle? Diffusione percentuale? E se volessi scrivere il mio browser, perché dovrei essere svantaggiato rispetto agli altri?
    * e tali aggiornamenti vanno considerati parte di Windows Update? E se la casa produttrice non volesse? In passato il bundle di software di terze parti si è rivelato catastrofico sia sotto il punto di vista tecnico che legale. Qualcuno dovrebbe chiedersi come mai Adobe Flash è stato “rimosso” da Windows Vista (era in XP)
  4. Comminare multe: è facile, ma i miei piccoli studi di economia mostrano chiaramente che una multa è una forma di tassazione e tutte le tassazioni danneggiano più o meno l’utente in proporzione all’elasticità della domanda. La domanda per un prodotto che detiene il monopolio è estremamente inelastica e questo vuol dire che il costo viene trasferito sull’utente finale in maniera esagerata. Questo è vero anche per la multa comminata ad Intel in base al principio di voler difendere i consumatori. Però si prende un provvedimento che con certezza matematica danneggia i consumatori senza avere nessuna certezza che il danno ci fosse stato. Anche perché vedo un certo tipo di accordi come vere e proprie vendite di diritti in esclusiva: in base a quale ragione il fatto che Asus venda il diritto di esclusiva della sua linea ad Intel in cambio di sconti sui processori si deduce che tale operazione danneggia gli utenti? Lo sconto sui processori finisce per raggiungere il cliente finale, no?

Ecco, ho finito per dirne quattro. L’intento è di sollevare una discussione, su alcuni punti ho bisogno di vedere motivazioni “opposte”. Sperando di tenere il trollometro a fondo scala verso il basso.

-quack

Thanks God for YouTube

Jun 5, 2009 - 0 comments - Archiviato in: #Cazzate

Guardavo Training Day sul mio MediaCenter, uno dei tanti film registrati dalla TV “tradizionale” e la registrazione era tagliata nel mezzo del monologo finale di Alonzo. Sono rimasto come un pesce lesso: la colpa è soltanto mia che mi son fidato della precisione della guida tv ‘mmerigana che evidentemente non è ugualmente precisa per tutti i canali; rispetto però ai palinsesti italiani, dotati di variabilità che a volte supera l’intero giorno solare, sono orologi svizzeri. Il film è già stato uno strazio da guardare per tutti i F*CK audio censurati: che ci metti un po’ a capire che sta succedendo perché non sono coperti dal solito biiip ma ridotti a mero silenzio. Motherf*cker diventa semplicemente mother e la comprensione va letteralmente a *biiip*. Il finale tagliato è stato un colpo di grazia inaspettato e tremendo.

Per fortuna c’è su youtube, in versione non censurata; e diciamolo: il film ne è valsa la pena. King Kong aint got shit on me!

-quack

Standard e trasparenza

Jun 2, 2009 - 0 comments - Archiviato in: #Blog-Tech #Codice

Ieri giochicchiavo con una piccola feature da inserire in Blogoo che avevo stimato in mezz’ora di research and development (ma poi è andata a finire in leggera contro-tendenza). Volevo fare in modo che nel momento in cui si invia un commento comparisse una finestra trasparente con una ruota che gira stile boot loader di OS X. La parte più difficile dell’impresa è stata trovare la gif animata: l’avevo vista in giro usata come avatar in diversi forum, ma non ne ho mai annotato la URL e ritrovarla è stata una missione quasi impossibile. Come vuole Murphy oggi ho notato una GIF molto simile e a tratti meglio indicata navigando per caso.

Trovata la GIF è stato abbastanza semplice generare il codice JavaScript che implementasse la funzionalità voluta: un bel DIV in primo piano ma nascosto che diventa visibile con il click del pulsante, roba che si trova in giro al primo secondo colpo ravanando su stackoverflow.com.

Le ultime difficoltà le ho trovate implementando il livello di trasparenza in maniera tale che funzionasse con i tre motori di rendering principali e le varie sub-version. Il browser più problematico è stato – manco a dirlo – IE8, che nella modalità di rendering di default non ne voleva proprio sapere di gestire la direttiva. Bingolando tra i forum si trova solo gente incazzata e poca razionalità: se ci penso mi sono incazzato anche io pensando quanto fosse stupido scegliere di non supportare l’opacità così come era disponibile in IE7. La realtà invece è molto più pragmatica: la vecchia sintassi non è “conforme” e lo standard dice chiaramente cosa fare in presenza di tag non conformi e cioè vanno ignorati. I dettagli sono racchiusi in questo post. La cosa che mi ha fatto più riflettere è che la totalità delle lamentele di cui ho letto era critica nei confronti di tale scelta giustificando l’astio con qualche pregiudizio. E mi son reso conto che quanto avevo letto in passato e cioè che molti hanno chiesto a gran voce il supporto agli standard non sapendo neanche quanto di ciò che usassero lo fosse davvero; chi scriveva faceva l’esempio dei bordi arrotondati che “tutti gli altri browser” supportano tranne IE. Esempi che poi sono alla base di test suites come gli (in)famosi Acid Test v. 3.

Morale della favola: non sempre quello che si desidera è quello che si dice di voler desiderare. Si è desiderato a gran voce il pieno supporto degli standard quando in realtà si voleva “un rendering che fosse compatibile quanto più possibile tra i vari browser”.

L’ultimo ostacolo era la mancata animazione della GIF in IE8 su Win7/RC; ho notato subito che era un problema legato al caching delle GIF ed è bastato aggiungere un parametro casuale fasullo alla fine della URL per risolverlo. Questo ad ulteriore supporto del fatto che non ritengo che questo sia il miglior mondo possibile dal punto di vista dell’HTML e dintorni bachi inclusi. Come ci si muove da questo al prossimo (HTML 5? Flash/Gears/SL vNext?) è un problema per niente banale.

-quack

P.S. funziona?

iPhone 3.0 vs. cupcake

Jun 1, 2009 - 0 comments - Archiviato in: #Apple #Cazzate #Google

Ho già ceduto alla tentazione di un raffronto della versione precedente dei due smart-telefonininini.

È tempo di aggiornare un po’ le cose visto che sono un po’ di giorni che ho fatto l’upgrade a Cupcake, versione 1.5 (ma più simile ad una 2.0) del sistema Android.

Si vocifera che la nuova versione hardware dell’iPhone porterà anche la bussola e una fotocamera con auto-focus; se sia vero o vaporware lo si saprà solo fra qualche giorno. Sta di fatto che l’HTC Dream, già al rilascio della versione 1.0 possedeva queste caratteristiche. Che hanno anche il loro perché: la bussola è indispensabile per applicazioni come Google-Sky utile a chi ha avuto sempre difficoltà a distinguere Venere da Mizar. L’applicazione, l’ho provata, svolge in maniera egregia il suo dovere. La camera con auto-focus è conditio sine qua non per la creazione della mia applicazione preferita, ShopSavvy in grado di scannerizzare un codice a barre, effettuare automaticamente una ricerca ed elencare i risultati in ordine di prezzo.

Cosa manca a Cupcake (oggi) che sarà presente in iPhone 3.0 (domani?)? Niente che _mi_ interessi. Phone wide search che non include il contenuto dei messaggi email? Poco interessante. Peer to peer BlueTooth? Non saprei, non mi sono ancora trovato in una situazione in cui questo fosse indispensabile.

Cosa mancherà all’iPhone 3.0 che è disponibile oggi con Cupcake? Oltre a tutto quello che mancava già 4 mesi fa (la totale indipendenza da crapware come iTunes sia per gli update che per la gestione dei contenuti, la libertà di poter sbloccare l’operatore telefonico gratuitamente, il customer service al servizio clienti, fotocamera e bussola) va aggiunto ora anche il supporto per la registrazione video.

Accetterei 2 iPhone in cambio del mio G1?

imageAd oggi no (salvo motivi di ordine economico).

-quack

Bing

May 28, 2009 - 0 comments - Archiviato in: #Cazzate #Google

Il nuovo motore di ricerca aiuto alle decisioni made in Redmond si chiamerà Bing (Bing Is Not Google).

bing

Finalmente un namespace separato visto che per anni si predicava di voler far concorrenza a Google e si è razzolato molto male, a cominciare da un branding molto confuso (Search . Live . Decche). Roba da suscitare in alcuni la classica domanda che faceva BillG quando si imbufaliva durante le review: ma chi li paga questi?

In tema di search, una immagine molto esplicita dei rapporti tra donne, uomini e Google.

Donne Uomini e Google-enjoy

L’arte del repro

May 27, 2009 - 0 comments - Archiviato in: #Codice

Qualcuno si ricorderà il baco che causava il crash di IE8 con le pagine del mio blog contenenti il video di YouTube:

Operazione terminata

(apropò, grazie a tutti per la segnalazione!)

Dopo un paio di settimane di dialogo via email con quelli di IE8 mi son deciso ad alzare la cornetta e parlare con uno dei capoccia a voce. Gira e rigira mi son riproposto di dimostrare la mia tesi, ovvero che il crash fosse dovuto a YouTube + TinyMCE, con una pagina HTML creata ad hoc. Ovviamente, come succede in questi casi, il baco non voleva saperne di manifestarsi. Ho dovuto indagare ancora un altro po’ e scoprire per tentativi che per mandare in crash IE8 in maniera semi-catastrofica bastano questi tre elementi:

  1. Gli script di lightbox all’inizio della pagina
  2. Un video di YouTube
  3. Una textarea con TinyMCE alla fine della pagina

Se si spostano gli script di lightbox alla fine dell’intera pagina il problema sparisce e tutto funziona come dovrebbe. In gergo questo viene definito minimal repro ed è una vera arte che solo i più smaliziati sanno apprezzare.

Ed è proprio spostando gli script lightbox a fondo pagina che ho risolto (e salvato l’onore?) con il mio blog. In compenso mi aspetto una citazione o una statua per i 1144 byte capaci di portare IE8 alla semi catastrofe. Per la catastrofe vera e propria serve qualcosa di più, ma a questo punto lascio ai professionisti il compito di capire e sistemare il perché.

-quack

Autogestione

May 26, 2009 - 0 comments - Archiviato in: #Cazzate

La discussione degenerata sugli alimentatori mi ha fatto riflettere un po’ sui limiti di questo blog. uncle-samÈ facile farsi trascinare in loop polemici che di fatto portano scarso valore aggiunto a qualsiasi conversazione. Ho pensato a come implementare una soluzione che rientri tuttavia nella natura semi-seriosa del luogo di perdizione. Butto giù un paio di idee ma questo post, più che altri, è aperto ai contributi di chi vuole partecipare.

  • istituire un sistema di cartellini da visualizzare accanto al nome di chi commenta. L’idea è quella di una piccola gogna mediatica basata sul comportamento tenuto negli ultimi X giorni di conversazioni; il cartellino rosso segnala a chi lo riceve, ma anche e soprattutto agli altri coinvolti, che la discussione sta rapidamente decadendo
  • un’alternativa potrebbe essere un trollometro che misura la percentuale di trollaggio che tutta la conversazione ha raggiunto. Se il trollometro supera una certa percentuale/valore, il thread viene sospeso per qualche ora/giorno; interventi “calmieranti” porterebbero ad abbassare il trollometro portando ad un circolo si spera virtuoso
  • altro?

A supporto di un proseguimento imparziale ci vorrebbe un gruppo di co-moderatori (3 o 5) da eleggere a furor di popolo. I co-moderatori non devono essere necessariamente imparziali ma il gruppo da essi costituito essenzialmente bilanciato. Pensavo a vere e proprie elezioni “popolari” da effettuare in un giorno preciso nelle prossime settimane.

Sono aperto ad idee ed invito, per la seconda volta in pochi giorni, la maggioranza silenziosa a partecipare al dibattito.

-quack

P.S. ovviamente queste idee non sono tutte farina del mio sacco e cosa più importante occorroni candidati moderatori!!

Opinioni

May 24, 2009 - 0 comments - Archiviato in: #Cazzate

Scena (allegorica) e cazzata della domenica tratta da un viaggio in treno. Un avventore siede a sua insaputa accanto a Del Piero. Arriva il controllore che controlla i biglietti quando…

Avventore: Mi scusi sa dirmi quanto è finita la partita della Juventus?

Controllore: Ha pareggiato zero a zero, pessima partita

Del Piero: Ehm, a dir la verità la partita è terminata due a zero per la Juve, i gol sono stati segnati negli ultimi 3 minuti, forse il controllore si è perso il finale

Avventore: Ah davvero?

Controllore: Ma non lo stia a sentire… ma come non l’ha riconosciuto? Ma è Del Piero, è ovvio che sia di parte…

Del Piero: Eh, ma a dir la verità io riportavo solo un fatto accaduto…

Controllore: Ma si vergogni, parlare così senza qualificarsi della squadra per cui lei gioca… ma che mondo!

Opinioni. Il saggio diceva che come per gli attributi sessuali ognuno ha le sue. Ma i fatti?

-quack

Pass the pigs

May 23, 2009 - 0 comments - Archiviato in: #Cazzate

Un paio di settimane fa, in una serata sociale, mi è stato mostrato questo semplicissimo gioco da tavolo molto simpatico. Si gioca con due maialini che si lanciano come dadi e si acquisiscono punti in base all’esito del lancio. Esito che dipende dalla posizione dei singoli maialini: ogni combinazione è associata a dei punti e alla fine di ogni lancio si può decidere se proseguire o incassare i punti accumulati. Il rischio è quello di sortire una combinazione che fa perdere tutti i punti accumulati nella stessa mano o – nel caso peggiore in cui i due porcellini si toccano – di perdere tutti i punti della partita. In tali casi il passaggio di mano al giocatore successivo è obbligato.

Sembrerebbe un gioco completamente basato sulla fortuna se si prescinde dal fatto che ci sono esseri umani in grado di controllare il lancio di dadi non truccati (Steve Forte, Claudio Facilla, ecc.). Condizionale d’obbligo perché vince chi accumula più punti ma l’ultimo “giro” viene invocato dal primo giocatore che supera i 100 punti accumulati. Una volta finito il suo turno, tale giocatore deve lasciare a tutti gli altri la possibilità di completare il loro ed è a questo punto che le sorti della partita posso essere rovesciate anche in maniera estrema da serie ininterrotte di lanci fortunati dettate dalla disperazione finale. pass da pigs

Tutto chiaro? Se non lo fosse si può provare la versione flash based gratuita online. La bellezza è che la confezione può essere ridotta a dimensioni subtascabili. Ciascuno dei due porcellini non è più grande di 2 cm di lunghezza.

Qui in america sembra famoso come il nostro “gioco dell’oca” e non mi risulta di averlo mai visto in giro in Italia. Da aggiungere che i porcellini sono immuni alla recentemente famosa influenza suina.

-enjoy

Sono un Mac

May 22, 2009 - 0 comments - Archiviato in: #Cazzate

Versione riveduta e corretta Made in Paperopoli:

Sono un Mac

P.S. realizzata in 5 minuti usando solo software free as in beer (Pinnacle VideoSpin).

-quack

MouseRug

May 21, 2009 - 0 comments - Archiviato in: #Cazzate

Nell’era dei mouse a sfera antecedente a quella laser attuale (che dire gran comodità), il tappetino per mouse era un accessorio fondamentale. La qualità della superficie faceva molta differenza per chi aveva record di topometro da guiness dei primati.

Al giorno d’oggi tale necessità è andata scemando ed i tappetini sono diventati pezzi da PC-arredamento. In ufficio ancora conservo un mousepad con la forma ed il disegno del casco di Michael Schumacher ricevuto in regalo alla vigilia della partenza per gli Stati Uniti. Da pochi giorni invece ho “riscoperto” il mondo dei mouserug. Tappetini per mouse che imitano alla perfezione i disegni dei più pregiati tappeti persiani e non solo.

Alla fine ho comprato questo, di ispirazione Kazaka (?):

eaglema ravanando ravanando ho scoperto un mondo. Ci sono alcuni “modelli” che hanno disegni bellissimi come questa tigre tibetana:

TigerMouseRug

ed un negozio vero e proprio dedicati a questi piccoli oggetti di decoro su Yahoo che spedisce anche in Europa. Fossi un po’ più debole di spirito, mi farei venire la voglia di collezionarli tutti. Mi sforzerò di accontentarmi di questi due.

-quack

Il pericolo è il mio mestiere

May 20, 2009 - 0 comments - Archiviato in: #Codice

Il numero di Giugno della rivista Technet disponibile online dedica ampio spazio all’Application Compatibility Toolkit giunto da pochi giorni alla versione 5.5. La seguente figura è tratta dal primo articolo introduttivo in cui Chris Jackson parla di quali acrobazie un Data Collection Package (DCP) debba fare per poter essere eseguito sui PC da inventariare:

Data Collection PackageLa parte tratteggiata in verde rappresenta il DCP così come era concepito nelle versioni precedenti alla 5.02 e tutto l’ambaradan a sinistra è stato introdotto per dare la possibilità agli amministratori di dominio di usare un pacchetto MSI anziché un EXE per distribuire il DCP sulle macchine target (gli MSI sono più semplici da distribuire per un sacco di ragioni che non ci stanno a margine di questo post).

I vincoli alla soluzione del problema erano tanti:

  • chi ha scritto il codice tratteggiato non lavorava più al nostro progetto
  • l’ambaradan deve girare anche su Windows 2000 (con qualche limitazione)
  • testare l’ambaradan è complicatissimo
  • i tempi di consegna come al solito rivolti con uno sguardo al passato
  • gli MSI non sono disegnati per “eseguire codice” ma per installare
  • si può eseguire un solo MSI per volta, almeno su alcune versioni di Windows
  • cercare di lasciare quanto meno tracce possibili: non perché si tenta di nascondere chissà che ma in quanto per osservare correttamente lo stato del sistema bisogna modificarlo il meno possibile

Il primo tentativo è stato quello di riscrivere la logica all’interno di AFSetup in una custom action ma dopo 2 mesi di prove e riprove, con risultati di test davvero poco confortanti, abbiamo capito che era un’operazione impossibile. L’ideale sarebbe stato fare in modo di creare un MSI che lanciasse AFSetup.exe senza lasciar traccia, ma gli MSI non sono fatti per operazioni stealth. La prima cosa che fanno è aggiungere una voce alla lista di “Add/Remove Programs”.

La soluzione è balenata poco dopo: un MSI il cui unico scopo è di installare una finta voce di registro (!) e che per farlo lancia una custom action allo scopo di disinstallare l’MSI e proseguire…. tentativo naufragato perché la custom action viene “uccisa” non appena parte la disinstallazione.

Siamo giunti quindi alla soluzione definitiva: la custom action estrae un eseguibile (il secondo msi5.tmp in figura, prontamente battezzato “The Entity”) che si mette in attesa dell’avvenuta “disinstallazione”. Dopo di che la custom action invoca la disinstallazione e il primo MSI muore senza lasciare nessuna traccia. Questo segnala a “The Entity” di entrare in azione estraendo un altro eseguibile (il mitico afsetup.exe) e suicidandosi; a questo punto afsetup.exe è in esecuzione come se fosse stato lanciato direttamente (tranne per “The Entity” che verrà cancellato il prima possibile) riconducendoci allo stesso scenario ampiamente testato nella versione 5.01 (di cui sapevamo benissimo pro e contro).

L’idea di “The Entity” ce l’ho messa io, il mio collega ha velocemente buttato giù un prototipo ed ha funzionato quasi al primo colpo. In tutto questo ambaradan c’è da passare dei parametri ad AFSetup.exe in maniera “sicura”. Non tanto per paranoia ma per evitare ulteriori domande durante i meeting dell’SDL prima del rilascio. Il mio collega ha pensato dapprima a salvare i valori nel registry in modo tale che “The Entity” li recuperasse e li passasse ad AFSetup; poi abbiamo pensato al file system. C’è voluta una doccia, da sempre fonte ispiratrice di idee brillanti, per trovare la soluzione di Colombo: le variabili di ambiente! Si propagano “gratuitamente” di processo padre in processo figlio e sono più scarsamente accessibili all’esterno della genealogia dei processi.

Tutto questo me lo sarei dimenticato o tenuto in serbo per qualche racconto avventuroso ai nipoti se non fosse stato per Chris Jackson che si è preso la briga di ficcanasare nei dettagli implementativi e facendo per un breve attimo rivivere in me l’emozione di mettere al mondo “The Entity”. Chris è uno dei tuttologi dell’AppCompat e il suo ultimo blog post parla di un’altra storia basata stavolta su ACT 5.5; materiale per un altro post forse un po’ più divertente di questo.

-quack

Boot chaining

May 17, 2009 - 0 comments - Archiviato in: #Security

Due progetti interessanti ed uno abbastanza controverso basati sul boot chaining (?) mi hanno tenuto abbastanza impegnato durante il weekend.

Il primo riguarda l’installazione di OSX su PC non marcati Apple (*). Per spirito di hackeraggio ho seguito una delle tante guide che spiega come installare OSX su un Dell Mini. A quanto pare l’hardware del Mini è tra i più compatibili con OSX ed è stato tutto un fiorire di guide da 10 mila passi guai a sgarrarne uno e di tool “semi-automatici aspetta e spera” che automatizzano alcuni di questi. Il mio obiettivo era di testare la possibilità di installare OS X e Windows 7 in dual boot: obiettivo abbastanza stimolante in quanto OS X richiede una partizione GPT per il boot, Windows 7 richiede una partizione MBR. In questo caso il boot chaining avviene caricando un bootloader prima del boot di OS X e che faccia credere ad OS X di essere su un Mac. Qualcuno di questi è abbastanza sofisticato da presentare un menù grafico con tante opzioni e le icone più appropriate in base al sistema operativo.

Il secondo riguarda il supporto CableCard su hardware generico. C’è molta affinità tra questi due perché da specifiche CableCard il software di decoding può girare solo su PC blessed dal consorzio. Qualcuno un po’ per caso ha scoperto che dal punto di vista pratico questo blessing avviene con la presenza di una stringa nel BIOS e che alcune schede madre teoricamente non-blessed contengono tale stringa comunque. Qualcuno si è spinto oltre ed ha riconvertito qualcuno dei tool per piratare Windows in un boot loader che simulasse il blessing di CableCard come alternativa alla manipolazione diretta del BIOS. Materiale molto interessante che mi ha fatto esitare un po’. (Detto fra noi il blessing è una ca*ata pazzesca, inventato più per motivi politici che tecnologici)

Last but not least qualche giorno fa era tornato alla ribalta su Slashdot l’ennesimo episodio-scoop dei due ricercatori che con VBootkit erano riusciti a prendere controllo di Windows 7 (mi meraviglio di come mai qualcuno in Intel/AMD non abbia cercato ancora un briciolo di pubblicità mostrando come creando un micro-processore apposito, si possa prendere il controllo dell’OS). Aldilà della faccenda puramente politica del tirare fango stupidamente, la questione è interessante in quanto VBootkit, che altro non è che un chain-loader primordiale, inverte i ruoli di “vittima” e “carnefice”. Se nei primi due casi la vittima è il sistema (OS X che crede di girare su Mac, CableCard che crede di girare su HW blessed) nel terzo vorrebbe essere l’utente. Condizionale d’obbligo perché alcuni sistemi operativi propriamente configurati impediscono già di default tale tipo di attacchi. Windows 7, a differenza della concorrenza, è uno di questi ed al lettore attento si lascia l’onere della dimostrazione del teorema.

-quack

Auto blu

May 14, 2009 - 0 comments - Archiviato in: #Seattle e dintorni

In Italia auto blu è spesso sinonimo di spreco.

A Seattle e dintorni può essere sinonimo di occasione sprecata, qualora non la si decori con l’adesivo più appropriato:1241901395731 Ed in tema di adesivi uno un po’ simpatico e triste ma vero:

Bush Office -quack

Crash proof

May 13, 2009 - 0 comments - Archiviato in: #Apple

Chissà se il dipartimento marketing di Apple si parla con il dipartimento sviluppo di MacOS. Me lo chiedo perché questo spot è stato messo in circolazione durante gli stessi giorni del rilascio del Service Pack 7 per OSX:

Lo spot colpisce nel segno. I Mac non crashano mai e non prendono virus. Fintanto che:

  1. si aggiorna il sistema all’ultimo service pack ogni tot mesi circa, che migliora l’affidabilità di questo e di quello, risolve quel problemino lì, aggiusta quel problemino là, ecc.
  2. se prima di fare l’aggiornamento si fa il backup del PC, si chiudono tutte le applicazioni e si promette – giurin giurello – di non interrompere il processo di installazione. E se non si è installato software “che modifica il sistema” di terze parti (stessa fonte punto 1.)
  3. se non si è abbastanza sfortunati di rientrare in qualche casistica speciale in cui bisogna aspettare l’update dell’update.
  4. se si è bravi nel seguire le guide di lifehacker nel caso il Mac diventa lento e “gonfiato”
  5. se si è abbastanza “furbi” da non farsi infettare e far diventare il proprio Mac uno zombie

eppoi ancora per il punto sei, il punto sette, …, il punto diecimilaquindici, ecc. ecc.

O in maniera più sintetica: quando sono spenti; come avviene da sempre per qualsiasi strumento di calcolo più complesso di una calcolatrice solare.

-quack

Domenica infernale

May 11, 2009 - 0 comments - Archiviato in: #Cazzate

Alla fine ce l’ho fatta ad uscirne vivo. Ma il resoconto è un’interessante concentrazione di sfiga.

  1. Ho aumentato il voltaggio della RAM sul MediaCenter. Al riavvio schermo nero prima del POST. Comincio a pensare a qualche messaggio sparato sull’uscita VGA/DVI prima che l’uscita HDMI (a cui è collegato il televisore) venga inizializzata. Me la cavo con un adattatore DVI-HDMI riciclato dal vecchio MediaCenter che ora conserverò preziosamente come una reliquia. Il messaggio dice testualmente “che i valori di voltaggio sono incompatibili con CPU, li abbiamo resettati per voi ma per punizione premi F1 per l’acknowledge”
  2. Sono costretto a reimpostare tutto il BIOS e visto che ci sono faccio una modifica aggiuntiva – che mi sono dimenticato di citare nei commenti – e al tempo stesso sposto la RAM su un altro banco. La modifica è quella di assegnare 256MB aggiuntivi oltre ai 256MB già assegnati alla scheda grafica.
  3. Al riavvio e lancio di Windows è un festival di crash e BSOD. Evidentemente il taglio di 256MB ha aumentato la probabilità di colpire le celle bacate che flippano come grilli in primavera
  4. Decido per la soluzione meno dolorosa: quello di procurarmi 2GB di RAM da sostituire e – come dice Scrooge – che potrebbero diventare upgrade magari per qualche altro PC. Compro 2GB di RAM mezza altezza (che figata, perché non ci hanno pensato prima!!) ma nel pasticcio mi accorgo che i 4 pin del cavo 20+4 di alimentazione erano “laschi”. Prima, dopo o durante, non sono più sicuro. Visto che c’ero e che mi serviva un DVD-ROM “esterno” per altri esperimenti, ho preso un lettore Lite-ON blu-ray. Ero passato da Blockbuster lo scorso Venerdì e mi sono reso conto che la selezione era niente male. In più avevo tanta voglia di sostituire il cavo EIDE con un cavo sata per migliorare la situazione aereodinamica all’interno del case.
  5. Al riavvio di nuovo schermo nero, ma questa volta neanche l’uscita DVI è attiva. Porca paletta mi occorre uno schermo con ingresso VGA e mi accingo a collegare il MediaCenter all’Acer F22. Effettivamente ho fatto qualcosa di terribile giocando con il pin di reset dell’RTC senza leggere le istruzioni e il risultato è che il BIOS è andato a farsi fottere. Sorrido perché qualche anno fa questo voleva dire dover sostituire la scheda madre mentre un messaggio su schermo mi invita ad inserire un supporto (floppy, CD-ROM o USB) contenente il file del BIOS.
  6. Provo con il BIOS su chiavetta USB, ma dopo aver letto il file il PC si pianta.
  7. Provo con un’altra chiavetta USB da 16GB, ma il file non viene neanche individuato (su manuale c’è scritto la chiavetta deve essere da 4GB o meno)
  8. Provo su CD-ROM ma il drive SATA non viene neanche rilevato durante il POST
  9. Ricollego il vecchio DVD-ROM via IDE in maniera temporanea et voilà il rinfresco del BIOS, con una versione aggiornata a pochissimi giorni fa, avviene al primo colpo. Nel frattempo mi accorgo che questo PC vede come bootabili solo le prime 4 porte SATA e quindi mi tocca spostare l’arrangiamento dei dischi visto lo spazio esiguo tra i cavi.
  10. Riavvio il PC e mi dice che i valori del BIOS sono incompatibili: F1 per modificarli, F2 per accettarne di default e andare avanti. Peccato che dopo aver modificato i valori con F1 e riavviato riappare la stessa schermata. Insomma tutte le modifiche fatte vengono annullate e riappare il laconico messaggio. Con F2 però almeno riesco a fare il boot di Windows anche se con la configurazione di default scheda video e scheda audio non funzionano come dovrebbero
  11. Comincio a pensare al peggio: la memoria FLASH che contiene i dati del BIOS si è danneggiata ma prima di arrendermi tento un’ultima mossa disperata. Il downgrade del BIOS, non si sa mai che l’ultima versione sia stata flashata incorrettamente o che sia bacata per natura
  12. Ta-Dà tutto funziona correttamente, il MediaCenter è salvo, il lettore BD-ROM rilevato, ecc. ecc. Decido di installare un software di riproduzione MCE friendly di cui avevo letto il giorno prima su un altro PC (che pensavo fosse la WorkStation).
  13. All’avvio della WorkStation mi compare un messaggio di errore di consistenza del FS sul disco dati, quello che contiene materiale che non ho ancora fatto in tempo a backuppare (tutte le vacanze di natale non ancora editate in video!!). Comincio a sentire un brivido lungo la schiena e mi parte qualche vaff*nculo preventivo. Avevo da pochi giorni scambiato il disco da 1TB nella workstation con quello da 500GB nel server visto che quest’ultimo è sempre più affamato di spazio e qualcosa a quanto pare è andata storta. Per farlo mi ero armato di un altro disco da 500GB che avevo usato per travasare i dati, ma che ora era irrimediabilmente vuoto
  14. Apro la Workstation e mi accorgo che a causa dell’esiguo spazio il cavo Sata sembra danneggiato. Lo sostituisco con un altro ma qualcosa ancora non va. Tiro fuori il disco e lo collego esternamente al laptop e i dati ci sono tutti. Decido quindi di inserire il disco da 500GB da travaso e fare finalmente la copia finale di backup sull’altro. Il disco sembra meccanicamente in fin di vita ma riesco comunque a recuperare tutti i dati. Potrebbe essere un problema legato al cradle esterno che ha sempre fatto i capricci con la workstation.

Tutto è bene quello che finisce bene. Mi son portato in ufficio, dove ho accesso a PC in parcheggio facilmente smontabili, il banco da 2GB che presumo difettoso. A casa mi aspetta invece l’HD da 500GB da “analizzare” in qualche modo.

Il mio numero di scarpe è 9.5 e per esercizio per il lettore si lascia calcolare la probabilità congiunta di tutti gli eventi descritti in un universo parallelo in cui gli effetti della legge di Murphy siano trascurabili.

-quack

Quizillo weekend #42

May 9, 2009 - 0 comments - Archiviato in: #Cazzate

Cercare il colpevole in:

bugchecks

sapendo che:

  • la maggior parte dei crash delle applicazioni è dovuta all’errore infame 0xC0000005
  • i BSOD sono dovuti a 0x1000008e, 0x0000001a, 0x0000004e, 0x00000099 (x 2), 0x00000019 (x 3)

Punti bonus a chi sa dire il numero di scarpe in versione US calzato dal proprietario del PC in questione. Happy bug hunting.

-quack

Internescionàl

May 8, 2009 - 0 comments - Archiviato in: #Cazzate #Video

A Bari un quadro elettrico si ripara così:

Spero che il video non urti la sensibilità di alcuno.

-quack

Bait and switch

May 7, 2009 - 0 comments - Archiviato in: #Cazzate

Espressione tipica americana che indica l’azione di attirare i clienti con offerte fantasmagoriche che si vaporizzano (per “esaurimento scorte” escao altri motivi) mentre se ne materializzano altre meno convenienti. Se il pesce cliente è affamato può capitare che abbocchi.

Come raccontavo precedentemente mi ero deciso a tagliare il cordone ombelicale della linea telefonica tradizionale e passare al VOIP e mi son ritrovato a scegliere tra l’offerta di Comcast e quella di T-Mobile. A dir la verità avevo già accettato la prima quando un mio amico e collega mi ha parlato dell’esistenza di un piano telefonico a soli 10$ al mese e per di più scontabili per i clienti di T-Mobile. Ho cancellato il contratto con Comcast e mi son fiondato nel negozio T-Mobile. Le prime sorprese non sono state positive:

  1. avrei dovuto fare l'upgrade del piano telefonico da 60 minuti inclusi a quello da 600 minuti inclusi.
  2. avrei dovuto firmare un contratto di due anni con penali per eventuale rescissione ecc. ecc.

A fronte di tutto ciò uno sconto non indifferente di 135$ una volta che fosse avvenuto il porting del numero di telefono pre-esistente. Ieri ho installato il cazzillo, ci ho giocato un po’ ed ho deciso di attivare il porting via telefono. Mi dicono che sarebbe avvenuto il giorno X e che era tutto a posto. Decido di chiedere come funziona l’accredito-sconto e mi dicono che lo sconto una tantum non è compatibile con lo sconto corporate e che se me l’avevano promesso nel negozio sarebbe stato saggio parlare con il negoziante e trovare con loro una soluzione salomonica.

Stamattina, visto che mi rimangono pochi giorni di tempo per cancellare completamente l’offerta, mi sono presentato in negozio ed il commesso molto gentilmente contatta la base e mi dà una seconda atroce notizia. Si “erano sbagliati”, lo sconto è effettivamente incompatibile, ma per scusarsi mi offrono un upgrade ad un piano telefonico cellulare “illimitato”. L’upgrade non è gratuito: costerebbe 10$ in più al mese (un’offertona!!) e al tempo stesso eliminerebbe per sempre lo sconto aziendale. Fatti due conti ho deciso che l’offertona non è per me, visto che a mala pena riesco a consumare gli attuali 60 minuti mensili. Per fortuna me ne son accorto in tempo, spero che questi tentativi non mi siano costati quei 35$ di attivazione annullabili dopo 30 giorni di servizio.

Ebbene sì mi è crollato un mito: questo è il primo pacco che ricevo da T-Mobile in tanti anni di fedele clientela. Bah.

UPDATE: sono andato nel negozio T-Mobile all’interno di “The Commons” e mi hanno garantito che loro mi faranno ottenere il rimborso dei 135$. Mah

-quack

Technical Compliance

May 7, 2009 - 0 comments - Archiviato in: #Cazzate

Sul supporto di Office 2007 SP2 qualcuno dixit:

Microsoft Office 2007 SP2 claims support for ODF 1.1. With hard work and careful thinking, they have successfully achieved technical compliance but zero interoperability!

Come è possibile? Lo spiega Rob Weir. Stupendo questo pezzo:

Spreadsheet interoperability is not hard. This is not rocket science. Everyone knows what TODAY() means. Everyone knows what =A1+A2 means.

Everyone knows? Dipende. Lo stesso Rob Weir, solo qualche mese fa, specificava:

There are many other examples, if you care to seek them out. But what you will not find is an examination of what OOXML actually specifies for spreadsheet formulas, or confirmation that it was done sufficiently. Maybe the assumption is that this would be a trivial task, documenting Excel's behavior? What could possibly go wrong?

Let's find out.

First, let's take the trigonometric functions, SIN (Part 4, Section 3.17.7.287), COS (Part 4, Section 3.17.7.50) and TAN (Part 4, Section 3.17.7.313). Hard to mess these up right? Well, what if you fail to state whether their arguments are angle expressed as radians or degrees? Whoops. Same problem for the return value of the inverse functions, ASIN (Part 4, Section 3.17.7.12), ACOS (Part 4, Section 3.17.7.4), ATAN (Part 4, Section 3.17.7.14), and ATAN2 (Part 4, Section 3.17.7.15). It is hard to have interoperable versions of these functions if the units are not specified. What kind of review in Ecma would miss something so simple?

Everyone knows che in una funzione trigonometrica gli angoli sono da sempre definiti in radianti visto che i radianti sono stati definiti apposta per le funzioni trigonometriche

Cosa “sanno tutti” dipende da quali specifiche si sceglie di leggere. Prima si va predicando che le formule sono un argomento così delicato che bisogna dedicarci molta attenzione, poi si critica chi pur attenendosi ad uno standard (che fa cagare e parlo di ODF 1.1) rinuncia a cacciarsi in quel ginepraio che vien fuori tra compatibilità con il passato e specifiche alla genitale di canino. Così lasche che si può ottenere interoperabilità zero e compliance al 100%.

Cosa buffa è che:

The irony here is that the formula language used by OpenOffice (and by other vendors) is based on that used by Excel, which itself was not fully documented when OpenOffice implemented it.

Mi inchino davanti a tanta genialità mentre mi convinco, se proprio ce ne fosse bisogno,  che il vero problema di Open* siano le cicale come Rob.

-quack