A Ovest Di Paperino

Welcome to the dark side.

  • Security by obscurity

    È security by obscurity la propria password.

    È security by obscurity la sequenza di password ed il protocollo per lanciare le testate nucleari.

    È security by obscurity la chiave di casa.

    È security by obscurity l’opacità delle pareti che garantisce il diritto alla privacy.

    È security by obscurity la chiave privata degli algoritmi di crittografia a chiave pubblica.

    È security by obscurity l’insieme delle informazioni che mi permettono di accedere per telefono al mio conto in banca.

    È security by obscurity tutto quello che definisce la nostra identità. Se un alieno prendesse le nostre sembianze non riuscirebbe ad ingannare nessuno se non fosse anche a conoscenza di tutto il contenuto della nostra mente.

    Chi fa informatica con buon senso sa che la security by obscurity è la sola colonna portante della sicurezza: si può creare il più inviolabile dei lucchetti, ma funziona solo se la chiave non è appesa alla maniglia. Chiaro? Chi dice il contrario dovrebbe dare l’esempio e vivere in una casa di cristallo. O magari cominciare a leggere Odifreddi.

    -quack

    Update: ho sistemato tutti i typo su suggerimento di cpp_programmer.

  • Lunedì quiz–nono ed ultimo

    Su richiesta del nonno, scrivere un algoritmo che determini se ci sono ancora mosse possibili in una partita di Bejeweled o se sia GameOver.

    image

    L’input della funzione è una matrice NxN di byte dove il valore rappresenta uno dei possibili 256 colori (non è detto che siano in uso tutti).

    A giudicare la soluzione sarà il nonno stesso. Smile

    -quack

  • Blu Ray e Media Center

    Incredibilmente ad oggi non c’è una soluzione decente per guardare un Blu Ray direttamente su Media Center. Ho provato due programmi (PowerDVD e TotalTheater) e l’integrazione con MCE è pessima oltre a non supportare correttamente My Movies.

    Ho chiesto ad un collega fissato con la super definizione che mi ha guidato verso un processo abbastanza indolore per guardare film ed episodi sul big screen casalingo. Si assume che i contenuti da fruire siano non protetti o che la protezione sia stata rimossa con uno dei tool disponibili gratuitamente.

    Il processo di basa sull’uso dei file Matroska (MKV) che rispetto agli AVI hanno un paio di vantaggi: la possibilità di avvolgere contenuti Blu Ray senza bisogno di alcuna conversione.

    Primo passo: installare i codec necessari sul computer mediacenter. Ho trovato quelli di shark essere comprensivi di tutto il necessario seppur infarciti di crapware facilmente disinstallabile. Su un sistema a 64 bit è necessario anche installare alcuni codec aggiuntivi, aggiuntivi in quanto da installare in aggiunta a quelli per architetture a trentadue bit.

    Secondo passo: installare una chiave di registro disponibile nelle due versioni a 32-bit o 64-bit.

    Passo finale: convertire il contenuto BR in MKV tramite il fantastico tool MakeMkv, il migliore in circolazione. È shareware, lo si può provare gratuitamente per 30 giorni rinnovabili se si decide di rimanere con la Beta, sinceramente più stabile di molti prodotti golden. Il risultato finale è un file .MKV che si può mandare in play tranquillamente su Media Center. Se il file contiene diversi stream audio e non si vuole ascoltare lo stream di default l’unica soluzione è di usare VLC.

    Enjoy

    -quack

  • Nubi grigie su WP7

    Conclusione: se le cose stanno come oggi, la Windows Phone division non ha davvero capito un pazzo di niente. Probabile che forse finisco addirittura per restituire il telefono e tenermi Android stretto.

    I fatti: questo telefono doveva essere diverso. Competere con iPhone anche nel rapporto tra MS e gli operatori telefonici. Infatti sono state spese tantissime parole per chiarire se, come e quando costoro possono bloccare gli upgrade, ma se ne bloccano uno il successivo non lo possono bloccare ecc. La cosa, per quanto grave è totalmente irrilevante, se agli operatori si da il permesso di tagliare feature come la tastiera internazionale. Non solo:

    • la WP division non può “sistemare” il problema, ovvero i futuri update avranno come target solo i pezzi di OS già installati
    • questo doveva essere un OS “uguale per tutti”. È già stato complicato scegliere un telefono in base all’operatore, alle politiche, alle tariffe, ai modelli, ecc. Ora va aggiunta pure la variabile delle feature che l’operatore può tagliare a sua discrezione. Questa era molto visibile, chissà quante altre opzioni possono subire la stessa fine
    • ho chiesto ad un mio amico e collega nella WP division come mai il testing è stato molto limitato; un sacco di piccole imperfezioni avrebbero potuto essere sistemate in tempo se si fosse raggiunta una massa critica; la risposta è stata che c’erano pochi dispositivi in giro e non se ne potevano dare più di un tot. Ora che però il dispositivo ce lo metto io “entrare nel programma della prossima beta” rimane altrettanto impossibile.

    Ora capisco che per rilasciare prima di Natale c’era bisogno di qualche scorciatoia. Ma visto che MS (ri)scendeva in campo contro il dispiegamento avanzato di Android e iPhone mi sarei aspettato che almeno sulle questioni importanti e strategiche l’azienda imbroccasse la strada giusta.

    Giusto per chiarire: non è lo specifico problema che mi irrita, ma mi fa paura il fatto che nonostante le promesse questo è quello che gli operatori possono fare con WP7. Certo, possono fare la stessa cosa con Android, ma Android non deve partire da zero o offrire di più.

    -quack

  • Lunedì quiz 8

    Input: un numero intero non tanto grande.

    Output: un array contenente i nodi foglia di un albero binario inverso completamente bilanciato di profondità pari al valore in input.

    Per albero binario inverso intendo un albero in cui ogni nodo ha un puntantore al nodo “padre”.

    BinaryTree

    È responsabilità dell’algoritmo allocare un numero necessario e sufficiente di nodi (il campo “data” non è necessario da inizializzare).

    -quack

  • HD7 e WP7: il buono, il brutto e il cattivo

    Recensione “ufficiale” del telefono, partendo dal verdetto finale: troppi difetti di gioventù, se quelle teste di cippa lippa del team di sviluppo avessero fatto provare il dispositivo a qualche vetusto di smartphone come me, molti di questi difetti non sarebbero neanche esistiti.

    Il buono:

    1. Lo schermo. Sarà che sto invecchiando, ma anche se ci vedo bene la grandezza sembra “giusta”. La qualità del touchscreen mi sembra superiore, nonostante la pellicola di protezione, a quella del Nexus One. Forse la pellicola è l’unico accessorio decente venduto a corredo nei negozi T-Mobile. Uno schermo grande vuol dire anche una tastiera virtuale più grande e quindi migliore digitazione
    2. L’interfaccia. Non parlo di bellezza ma di praticità. Ad una settimana mi sembra se non migliore per lo meno alla pari
    3. Zune software: il pensiero che ci voglia una applicazione per fare l’upload delle canzoni mi fa venire il mal di pancia. Però devo dire che Zune Software è un ottimo digestivo: avevo avuto qualche noia con un filmato pescato in rete (non per piratare ma mi serviva Biancaneve in italiano); Zune non ha riconosciuto il codec (GSpot riporta DIVX3) e si è rifiutato di farne l’upload; il Nexus One si beve tutto ma alla fine il filmato non si vede. Tra i due approcci insomma, meglio quello guidato soprattutto visto che, a differenza di iTunes, il telefono è utilizzabile out-of-the box senza problemi, audio/video a parte.HTC-HD7-from-T-Mobile-1-e1286806131609[1]
    4. Wi-Fi Sync. Se si collega il telefono all’alimentatore e si è in presenza di una Wi-Fi casalinga, dal punto di vista del PC risulta collegato come se fosse in USB, con lo stesso segnale audio tipico di quando si inserisce una pennetta USB. Non ho ancora esplorato tutte le possibilità ma me gusta mucho
    5. Zune Pass. Non sono abbonato, probabilmente non mi interessa ma mi fa piacere che l’optional esiste
    6. Integrazione con XBOX Live: sono un utente XBOX live, ci giocavo a Fifa 20xx. Fatta bene
    7. Facebook: piacevole anche se passibile di miglioramenti
    8. Il pulsante dedicato per le foto. Torna utile per scatti semi-improvvisati.
    9. La radio Fm, ora posso tornare in palestra…. (se!)
    10. Il piccolo cavalletto, davvero una genialata.
    11. Sapere che posso scrivere applicazioni .Net/XNA mi fa godere come un riccio anche se non ne scriverò mai una
    12. L’integrazione con Exchange: perfetta, perfetta, perfetta. Solo questo vale il “prezzo” della piattaforma. Tutti i miei colleghi con iPhone sono ultrafelici per come tutti gli scenari end-to-end siano stati “inchiodati” al primo colpo
    13. Metro: la qualità visiva è sorprendente. Il rapporto tra la grandezza dei font, gli elementi della UI e il layout è da 10 e lode. In questo Android è molto indietro
    14. Overall Experience: curata meglio di Android nonostante qualche feature in meno. Meno frammentazione, più guidelines = risultati superiori alla media
    15. Netflix: adesso che finalmente si son decisi a proporre un piano streaming only sapere di poter guardare qualche episodio/film durante qualche attesa noiosa mi alletta parecchio

    Il brutto

    1. Non c’è la meravigliosa possibilità di poter cambiare al volo la lingua della tastiera virtuale e dell’annesso dizionario. Questo diventa insopportabile visto il punto successivo
    2. Il sistema dei suggerimenti è molto anni novanta. In Android la parola “sbagliata” è comunque la prima scelta possibile, quindi anche se la tastiera fosse impostata sul linguaggio sbagliato, il dolore è davvero minimo. In WP7 alcuni suggerimenti vengono automaticamente accettati. Siccome tendo a guardare la tastiera mentre scrivo e mi aspetto che se ci azzecco non devo correggere, quando lo sguardo volge a quello che è stato effettivamente scritto rabbrividisco
    3. Tastiera: mi sarebbe piaciuto un feedback tattile
    4. Client Twitter: decisamente non ci siamo. Quasi al livello di “cattivo”
    5. Assenza di power widget e in generale un sistema di notifica su cosa sia attivo: con Android è facilissimo attivare/disattivare/monitorare tutti i circuiti radio. Non ho capito infatti perché un paio di volte il blutooth si è spento.
    6. L’algoritmo di messa a fuoco: peggio della Coolpix che è scritto da tabaccai
    7. La mancanza di un sistema sostitutivo al copia ed incolla. Mi sarebbe piaciuto ad esempio un qualcosa che da una mail crei un contatto completo. Il sistema riconosce i numeri di telefono, perché non fare un piccolo sforzo
    8. Durata della batteria: sicuramente legata alla grandezza dello schermo. Non ci siamo
    9. Avrei adorato se ci fosse stata la possibilità di avere una applicazione GPS vera e propria. C’è TeleNav ma è ad abbonamento mensile/giornaliero ed il prezzo davvero non giustifica il navigatore casual come me.
    10. Il costo delle applicazioni è verso l’altro a differenza di Android. Spero che la qualità giustifichi
    11. La prima versione del market andrebbe bocciata: non ci sono suggerimenti, le ricerche sembrano funzionare solo sul nome e vengono automaticamente estese al mondo audio/video. Impossibile poi trovare qualcosa se lo spelling non è corretto al 100%: cercavo un client foursquare ma ho trovato solo canzoni. Quasi “cattivo”, si salva solo in virtù del fatto che le applicazioni sono poche e si trovano comunque in fretta.

    Il cattivo

    1. Il browser è perverso. Sinceramente imbarazzante. Perché non posso digitare l’indirizzo o aprire i preferiti in modalità landscape che mi permette una goduriosa tastiera virtuale extralarge?? Qualitativamente non arriva neanche alla sufficienza per quanto è penoso. Spero che sia la prima cosa a cui mettano mani nel prossimo upgrade vociferato per Gennaio

    Il pessimo

    1. Per far riconoscere il dispositivo correttamente sempre più spesso sono costretto a riavviarlo. Ovvero il telefono prende a caricarsi ma niente connessione USB.

    Tutto sommato il telefono è usabile nonostante i difetti di gioventù. Le pecche non sono “bachi” veri e propri come lo schifo di stack blutooth di Android, sono più che altro difetti di design. Dal punto di vista di qualità (come funziona quello che funziona) mi sembra decisamente un passo avanti alla concorrenza.

    Tutto quello che in positivo o negativo manca in questa recensione è dovuto a due motivi principali: mi è sfuggito oppure non è rilevante per l’uso che io faccio del telefono.

    -quack

  • Spin doctor

    La settimana scorsa sono stato un paio di giorni a Bellevue Square, un centro commerciale abbastanza grande e up-scale (si riconoscono dal fatto che non ci sono i piccoli booth che vendono corsi di lingue, occhiali da sole, sali del mar morto o custodie per cellulari). Mi ha fatto molto impressione vedere due cose:

    • il Microsoft Store: grande ad occhio dalle quattro alle sei volte quello di Apple a pochi metri di distanza; fila immensa per entrare immagino più per la novità che per la possibilità di comprare prodotti disponibili altrove
    • la fila per la Kinect, un grandissimo successo che farà la XBOX 360 il regalo dell’anno anche per le famiglie di solito propense verso la Wii

    Son contento così non se con un po’ di rammarico che si poteva fare meglio e prima. Apple intanto diventa sempre più antipatica: una vetrina in larga parte occupata dalla gigantografia dei Beatles. Alla fine ce l’ha fatta Steve Jobs ma se ci penso, mi chiedo: ce l’ha fatta a far che? A portare su iTunes la sua band preferita? E quindi? Sicuramente non è persona che non può permettersi di comprare la discografia del quartetto in tutte le edizioni più esclusive. Altrettanto sicuramente non è mecenatismo allo scopo di far conoscere al mondo, dietro lauto compenso, i propri beniamini, soprattutto quando non se li è filati davvero nessuno. Vendetta nei confronti dell’etichetta discografica più volte ostica per motivi di copyright? Dubito. Credo che sia invece soddisfazione del desiderio di onnipotenza che si può provare nel far soldi coi propri miti: “quand’ero giovane mettevo i soldi da parte per comprare i dischi dei Beatles, ora sono i Beatles che lavorano per me”. Anyway… al centro dei miei pensieri di oggi c’è la cosiddetta SIM universale, secondo me un’idea malvagia e perversa figlia della mania di controllo di Jobs. Leggendo i soliti siti pro-Apple sono rimasto sorpreso che anche su tale questione c’è un modo per far sembrare il progetto come vantaggioso per i clienti anche quando le cose violano palesemente i principi economici di base come una mela che cade verso l’alto viola i principi della fisica.

    Faccio un esempio: il successo del sistema GSM è dovuto al fatto che si può scegliere telefono in maniera indipendente dall’operatore. Finora, sussidi per l’acquisto a parte che reputo tendenzialmente giusti se tengono in conto tutti i fattori in gioco, le cose sono andate più o meno bene. Con l’iPhone però questo è cambiato: in America è impossibile comprare il telefono ed usarlo con T-Mobile, non solo a causa di difficoltà tecniche inventabili solo in USA, ma anche a causa di tutti i lucchetti imposti dagli accordi tra Apple e AT&T. Nonostante AT&T causa contratti capestro che fa firmare ai suoi utenti non abbia nessun incentivo a bloccare tecnicamente il telefono, il telefono è comunque bloccato. Ciononostante chiunque può sfilare la SIM AT&T e infilarci quello che vuole facendo decadere la garanzia, magari per usare il telefono in giro per il mondo senza le necessarie donazioni di organo per finanziare il roaming.

    Come si può girare la notizia è farla sembrare un’innovazione benvenuta agli utenti? Un paio di perle:

    In questo contesto, ogni utente iPhone o iPad diventerebbe di fatto un utente in roaming su qualunque network reale, ma senza le complicazioni del caso. Per esempio, si potrebbe acquistare un pacchetto ore, un giorno, una settimana o un mese di connettività in Europa senza doversi preoccupare di SIM, gestori o tariffe di roaming.

    spindoctorGeniale. Non vedo l’ora che Apple diventi un concessionario di auto virtuale. Apro il portafogli, tiro fuori la moneta, ed Apple sceglierà per me l’auto che va bene senza che mi debba preoccupare di avere a che fare con gli antipaticissimi agenti del punto vendita.

    Se un utente dovesse riscontrare difficoltà a connettersi (scarsa copertura, problemi di rete, lentezza, etc.), potrebbe chiedere ad Apple di intervenire, e grazie agli accordi siglati con multipli operatori, potrebbe effettuare istantaneamente il passaggio verso un network più performante.

    Questo in un mondo perfetto in cui tutti gli operatori del mondo sono felici di dare una percentuale dei loro introiti ad Apple sapendo che Apple potrebbe decidere, senza penali, senza vincoli o altro di passare il cliente ad un gestore della concorrenza.

    Ma secondo me il fondo lo si tocca con questa frase:

    Diciamo così perché se da una parte l’idea appare davvero rivoluzionaria, dall’altra l’esistenza di un “grande intermediario e consigliere degli acquisti dei clienti” per musica, video, software e connettività fa un po’ paura. Anche se ha la mela sopra.

    Grande fratello incute sempre timore. Soprattutto se ha la mela sopra!

    -quack

    P.S. è triste vedere i post di gente che sta passando con gioia e gaudio da iPhone a WP7. Qualcuno è rimasto cliente Apple nonostante passasse più tempo ad avere a che fare con i bachi di Exchange o il sensore di prossimità, che ad usare il telefono come tale. Potevano per lo meno sforzarsi di provare Android, per ora la piattaforma migliore anche se con un margine molto piccolo.

  • Lunedì quiz - 7

    Scrivere un algoritmo super performante in grado di analizzare il risultato di partite tic-tac-toe e dichiarare se c’è il vincitore per ogni partita. Si assume che le partite abbiano risultati validi quindi la risposta è limitata ad 1, X o 2.

    image

    -quack

  • Incentivi

    Il sottotesto dei due libri dedicati alla Freakonomia è abbastanza elementare: azzeccare gli incentivi giusti è un processo sperimentale non privo di errori; facilmente evidenziabili a posteriori ma alcune volte quasi impossibili da pronosticare a priori.

    La questione è rimbalzata nei miei pensieri leggendo uno degli ultimi post di Raymond Chen, intitolato If you measure something, people will change their behavior to address the measurement and not the thing the measurement is intended to measure. Nel post lui fa riferimento ad aneddoti molto ben conosciuti nell’ambiente. Partendo dal manager che misurava la produttività utilizzando il numero di checkin come metrica, passando per gli operatori di Amazon che riattaccano il telefono in maniera brusca e per finire al mercato nero dei bachi. Una storia quest’ultima abbastanza “recente” se si guarda la data di pubblicazione. A quanto pare la famosa vignetta di Dilbert che ha da poco compiuto quindici anni non è molto conosciuta negli ambienti del management:

    image

    In Microsoft esiste una pratica molto simile e serve ad incoraggiare l’individuazione di bachi al di fuori del processo formale di testing; si chiama Bug Bashing, si invita tutto il team a cercare quanti più bachi possibili nel prodotto e vince che raccoglie più punti in base alla qualità e alla quantità dei bachi trovati. L’effetto collaterale è che, non appena viene annunciato un Bug Bash, il test team smette di “lavorare” e documentare i bachi ed ogni elemento del team si crea una piccola riserva di bachi pronta all’uso. I developer poi finiscono per documentare bachi molto oscuri lasciando trasparire la conoscenza conscia di difetti persino molto gravi. Il trucco sta nel giusto equilibrio nel scegliere la data dell’annuncio con l’obiettivo di dare a tutti la possibilità di partecipare attivamente avvertendo con abbastanza anticipo ma al tempo stesso ridurre al minimo le riserve dei tester. Più che una scienza è un arte.

    -quack

    P.S. vado a scrivermi una Ferrari.

  • Lunedì quiz - 6

    Creare un iteratore che riceva un altro iteratore in input e rimuova i duplicati consecutivi dall’iterazione; evitare possibilmente le facility di iterazione del C# 2.0. La lista di input è fatta di interi (positivi e negativi) marcata da 0 come elemento finale.

    Esempio:

    input: 1,2,2,2,2,2,5,2,3,1,1,1,6,0; output: 1,2,5,2,3,1,6,0.

    Domanda bonus:

    Si possiedono due uova identiche che si rompono se lanciate da una specifica altezza. Stabilire da quale piano di un grattacielo di 100 piani le uova si rompono minimizzando per il caso peggiore.

    -quack

  • Stipa-link #2

    1. L’astronauta che fa causa a Dido per la foto sull’album.
    2. Come creare una meridiana personalizzata basata sulla posizione geografica. Interessante
    3. ZFS, benchmark interessantissimo.
    4. Alcune ipotesi su Stuxnet
    5. L’arte della titolazione cinematografica nella storia
    6. La guida alla codifica video per tutti i cellulari
    7. Il mercato azionario analizzato come una complicatissima macchina multitasking
    8. Come nascondere una chiavetta USB in un mouse.
    9. Gli hard disk da 3TB arrivano sul mercato. Purtroppo il mercato non è pronto (nota a margine, WHS non supporta le partizioni GPT in modalità drive extender)
    10. Non esiste un piano B per la migrazione a IPv6
    11. Sempre a proposito di HD, la recensione del RevoDrive X2. Caro Babbo Natale…

    -quack

  • Risorse per il programmatore .Net

    Raccolta di link a tool, librerie e progetti interessanti per chi programma in .Net.

    1. EmailVerify.Net: scritta da Efran Cobisi (*), autore della consigliatissima e autorevolis-sima “PowerShell 2.0 – Guida Completa”, MVP blogger, amministratore dell’altrettanto autorevole sito PowerShell.it e tante altre cose (quasi più cariche di un politico italiano ); trattasi di una libreria utile alla validazione sintattica e semantica degli indirizzi email: per semantica intendo che supporta la possibilità di controllare che una mailbox esista veramente; che non sia un indirizzo usa e getta e tanti altri controlli simili. Utile per quei siti in cui sia critico validare l’indirizzo email come nei casi di chi distribuisce trialware-shareware, comunità online “serie”, ecc. È una libreria commerciale trialware utilissima nei casi specifici come valida alternativa al processo antipatico di “ti mando una mail con un link da cliccare per confermare la tua casella”
    2. EasyHook - The reinvention of Windows API Hooking; utilissima per i programmatori più smaliziati che vogliono dirottare una API di Windows e creare il proprio FileMon/RegMon/DiskMon/NetMon/MonMon stile Russinovich senza doversi districare tra i bit e i byte in C++; opensource codeplex approved!
    3. SSH.NET Library: libreria per utilizzare le funzionalità SSH all’interno delle proprie applicazioni e magari scrivere un client super affidabile come il mio con quattro righe di codice, così poche che mi vergognerei di pubblicare…
    4. Pex and Moles: Lascio al lettore il gusto di scoprire di cosa si tratta.

    -quack

    (*) recensita dietro gentile richiesta dell’autore

  • Americo gravinese

    Piccole e grandi coincidenze tra la lingua americana e il dialetto gravinese, valide in un intorno con un raggio di 10km massimo.

    Stingy (sting’): tirchio
    Droopy (drupè): in inglese maldestro, in gravinese “cadere”
    Damage (dammagge): stesso significato

    Bonus: mouse (mauus). Verso di richiamo per gatti, non sto scherzando. Sinceramente non ho nessuna teoria a riguardo.

    -quack

  • Lunedì quiz - 5

    Data una struttura che rappresenta un nodo “persona” con due puntatori ai nodi “genitori” (padre e madre); dati due nodi di partenza, scrivere una funziona che determini se i due nodi hanno un antenato in comune.

    -quack

  • Offsite backup–parte 4: finale?

    I pezzi del puzzle e gli appuntamenti precedenti:

    1. la prima parte era dedicata ai requirement generali
    2. la seconda parte, dedicata ai punti fondamentali e ad una analisi delle possibili soluzioni
    3. la terza parte a come ho risolto il problema del criptaggio dei dati
    4. un intermezzo dedicato ad un piccolo problema con SSH

    Questo post finale è dedicato al mettere insieme i vari pezzi che compongono la mia soluzione.

    Hardware: un HD esterno Seagate con dock. Il vantaggio di tale soluzione è che ci sono dei dock con micro-Linux che potrebbero funzionare stand-alone ad un costo irrisorio per le funzionalità offerte. Ad ogni modo mi sono limitato ad usarlo come unità esterna collegata al PC offsite.

    Software:

    • OpenSSH, da installare in versione server sul server casalingo. Ovviamente va aperta l’apposita porta (22) sul firewall. Discusso in dettaglio al punto 3 di cui sopra.
    • Un client SSH fatto a mano: non è pronto per il mondo in quanto c’è ancora qualche baco da sistemare, ma l’idea è di creare un client inossidabile. Gli altri client che ho provato hanno il difetto di disconnettersi senza avvertire.
    • DeltaCopy, una versione grafica di RSync. Da installare lato client sul server casalingo e lato server sul PC offsite. Ho provato tante GUI ma questa seppur spartana ha tutte le feature che interessano: task scheduler integrato con quello di sistema e client SMTP che alla fine di ogni backup invia una mail dettagliata
    • PeoneFS, vedasi punto due di cui sopra

    Praticamente il PC offsite si collega via SSH al server casalingo. Nel collegarsi crea un tunnel-rovesciato sulla porta di RSync (873). Questo significa che la porta 873 sul server di casa sarà un tonnel alla stessa porta del server RSync sul PC offsite. Sul server casalingo ci gira il client RSync e PeoneFS; il client è configurato per fare il backup dal drive PeoneFS al server RSync ad una certa ora specifica di ogni giorno.

    Sperando che un diagramma valga più di cento parole:

    OffsiteDiagram

    Possibili miglioramenti: rsync, per quanto sia molto efficiente nel trasferire spezzoni di file, non mi sembra sia altrettanto efficiente nel caso di confronto di directory molto ampie. Quando ci sono tantissimi file in ballo come nel mio caso un backup dura almeno un’ora. Sto pensando ad un modo di utilizzare il Remote Differential Protocol in combinazione con il Sync Framework per ottenere il migliore dei mondi possibili. Ma questo è un progetto per più di un weekend.

    -quack

  • Lunedì quiz - 4

    Data una matrice di caratteri NxM ed un array di stringhe che definisce un vocabolario, trovare tutte i vocaboli contenuti nella griglia usando le regole del paroliere. Ovvero: si può partire da qualsiasi lettera e muoversi in ciascuna delle otto direzioni (incluse le diagonali) passando per una determinata lettera solo una volta. Esempio la parola ROZZA nella griglia qui sotto:

    image

    La griglia ha dimensioni conosciute ma non determinate a priori (ovvero non si può ottimizzare su dimensioni specifiche).

    -quack

  • Weekend coding

    Uno degli spezzoni più topici di “Office Space” è il momento in cui il protagonista chiede al vicino di casa che cosa farebbe se avesse un conto in banca multi milionario: spiega che il modo in cui una persona risponde da indicazioni sulle proprie inclinazioni e trovare un lavoro che risponda a tali inclinazioni è fonte di quotidiana serenità. Il vicino di casa per la verità un po’ rustico risponde che con un tal conto in banca farebbe un mini Bunga Bunga party (two chicks at the same time, man!). Il tutto mi ha fatto riflettere su come ho speso una piccola parte del mio weekend scorso…

    lawrence-office-space

    Eravamo rimasti che con MyMovies ho avuto l’opportunità per utilizzare al meglio le quintalate di byte non utilizzate. Ho pensato perciò al modo più pratico di rippare i neo-classici senza sbattermi tanto. Ho creato una piccola applicazione che non fa altro che aspettare l’inserimento di un DVD, copiarne il contenuto e sputarlo fuori. L’unica operazione manuale rimanente è quella di sfilare un DVD e infilarne un altro. Mi è sembrato opportuno fare girare l’applicazione sul server che di suo è sempre online, ma ci voleva un sistema per notificare che tutto andasse per il verso giusto o meno senza dover tenere gli occhi incollati ad uno schermo. Ho deciso per una notifica audio con tre wav distinti: uno “accessing data” per indicare che il DVD video è stato riconosciuto come tale e due suoni distinti per indicare l’esito del ripping con o senza errori. A questo punto, forte dell’esperienza di PeoneFS, ho deciso di convertire l’applicazione in un servizio (demone) in modo tale da essere resiliente al reboot e non richiedere un’utenza loggata per il tutto. Ovviamente sviluppo su Windows 7 e con dei brevi esperimenti non sono riuscito a trovare il modo per far proferire neppure un sibilo dal servizio tirato su alla meno peggio; mi son meravigliato della cosa e cercando su Google ho trovato le teorie più assurde: all’atto pratico però l’audio era perfettamente funzionante su XP/Win2k3. Ho deciso di chiedere delucidazioni interne e…

    …sorpresa! Il problema è dovuto ad un baco introdotto in Windows Vista dovuto al fatto che la sessione in cui girano i servizi non è più la stessa di quella in cui gira il desktop. Un mio collega mi ha ringraziato per la scoperta ma dubito che il baco verrà sistemato con i prossimi SP. Io mi son tranquillizzato, seguirà un po’ di fit&finish e vai con un bel ripping di massa.

    -quack

  • My Movies

    Disclaimer: i creatori di questa applicazione WorkWare promettono una licenza in regalo per chi fa una recensione. Io però non ho ancora visto niente e comunque la “recensione” la faccio volentieri lo stesso.

    Ho un serverozzo che ha ormai due slot da 3.5” liberi; ho un paio di HD impolverati da qualche tera e una prateria di byte disponibili in diminuzione costante ma non tragica. Ho pensato di utilizzare piccole lande di byte per rippare i film più neo-classici della filmografia italiana quando ho scoperto l’esistenza di “my movies”. Un plugin per Windows Media Center e Windows Home Server che permette di gestire la libreria virtuale.

    L’applicazione – accoppiata con un WebService favoloso – è una bomba in quanto fa da:

    1. gestione della collezione con tanto di meta-dati (attori, anno di produzione, copertine) sincronizzabili automaticamente con il WS04
    2. plugin per mediacenter che permette di usufruire della libreria senza sbattere tanto la testa. Scorrendo i film per copertina ed avendo accesso a tutte le funzionalità di un DVD virtuale
    3. ripping engine per Windows Home Server; configurato in una certa maniera può automaticamente rippare i dischi ed aggiungerli alla libreria automagicamente
      01 - Music Disc Copier.png

    Funzionalità a parte, che sono esattamente quello che uno vorrebbe vedere in un prodotto simile, la fattura dell’applicazione è decente seppur con qualche noia di troppo. Ad esempio, se riconosce un DVD, compare un riquadro sullo schermo del mediacenter (una specie di finestra di dialogo) che richiede l’uso del telecomando per mandarla via. Stessa cosa per l’avviso di un upgrade. Probabilmente da qualche parte c’è l’opzioncina adatta, ma mi aspetterei che di default le finestre di dialogo siano visibili per non più di qualche secondo. Un’altra noia è il modo un po’ arzigogolato con cui si devono “registrare” film non riconosciuti, come è tipico di alcuni DVD prodotti con i piedi (la maggior parte di quelli italiani, diciamolo!).

    La nota dolente è la parte dell’upgrade. My Movies infatti ha un database centralizzato basato su SQL che una volta sì e una volta pure viene aggiornato con una nuova versione del client che rende gli altri client incompatibili. Questo significa che se per sbaglio si accetta l’upgrade, lo si deve accettare su tutti gli altri PC, incluso l’Home Server. Poi mi aspetterei che lo schema di un database alla versione 3.passa non debba aver bisogno di essere aggiornato così spesso, ma come Chrome insegna ognuno conta le versioni a modo suo, non c’è nessuna regola scritta.

    L’applicazione ha alcune feature di base gratuite ed altre a pagamento sotto forma di punti (in vendita anche in cambio di moneta contante). Ci sono feature da 500 punti, da 1250 punti, ecc. però non sono mutualmente esclusive. Ovvero se compro 500 punti, sblocco tutte le feature che ne richiedono non più di 500. Se ne comprassi altri 500, sbloccherei le feature che ne richiedono mille e così via. Le feature più costose (il ripping automatico) costano in tutto 2500 equivalenti a circa 100$ che non è male. Ma la cosa più interessante è che si può acquistare punti contribuendo all’arricchimento del webservice, ovvero provvedendo i dati per i film non presenti nel loro archivio. Ogni film, in base a cosa si contribuisce, elargisce fino ad una cinquantina di punti.

    Il tutto mi ha spinto a scrivere un ripping engine per WHS molto più spartano ma anche molto più efficiente: i particolari seguiranno, è un’altra storia interessante.

    Il download e le funzionalità di base, che poi tanto di base non sono, di MyMovies sono completamente gratuite incluso l’uso del webservice, per tanto il consiglio è il solito: accattatavillo!

    -quack

  • Lunedì quiz - 3

    Mi porto un po’ avanti con un quiz molto facile rispetto ai soliti. La difficoltà più grossa è descrivere un tale algoritmo per telefono.

    Dato un albero binario di nodi contenenti due valori per ogni nodo (X, Y) e ordinato per X, trovare e stampare tutti i nodi che hanno entrambi i valori più grandi di un nodo di riferimento.

    In poche parole, implementare: PrintNodes(node root, node referenceNode)

    -quack

    (*)ordinato per X: tutti i nodi a sx di un determinato nodo K hanno X <= X(K)

  • Mac Security Features

    AppleSloppy

    [cit.]

    Per i miracoli, si stanno ancora attrezzando…