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

Pubblicato venerdì 29 ottobre 2010 alle 10:41 PM - 12 commenti so far
Archiviato in: Codice

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

Pubblicato giovedì 28 ottobre 2010 alle 12:48 AM - 15 commenti so far
Archiviato in: Recensioni

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)

Pubblicato domenica 24 ottobre 2010 alle 7:57 PM - 31 commenti so far
Archiviato in: Codice

Mac Security Features

AppleSloppy

[cit.]

Per i miracoli, si stanno ancora attrezzando…

Pubblicato venerdì 22 ottobre 2010 alle 12:58 AM - 10 commenti so far
Archiviato in: Apple, Security

Offsite Backup–intervallo

Avevo promesso un post dedicato all’assemblaggio dei vari pezzi ma mi son scontrato con qualche difficoltà con OpenSSH a cui penso valga la pena dedicare questo post. La modalità SSH che mi interessa è quella senza password e cioè basata su keyfile per fare in modo che il client installato sul mio PC di test si collegasse automaticamente al server. Il keyfile in pratica sostituisce l’uso della password tramite una chiave privata RSA.

È stato un bagno di sangue ma ce l’ho fatta. In sintesi quello che ho scoperto. Ci sono due versioni di SSHWindows:

  1. quella ‘ufficiale’ 3.81p-1 datata 9 Luglio 2004
  2. quella derivata, 4.2p2-2, qualche anno più nuova

La prima ha un baco molto antipatico: non riconosce i permessi per Windows e si rifiuta, nonostante sia considerato un “warning” e non un errore, di caricare un keyfile senza i permessi settati correttamente; la cosa buffa è che settarli correttamente è impossibile. Il problema si scavalca installando la ‘nuova’ versione ma non è finita.

Sul lato server l’installazione di SSHWindows crea un servizio con permessi di LocalSystem. Questo previene la possibilità di impersonare l’utente desiderato usando il keyfile restituendo un errore di tipo “public key auth seteuid fails”. Cercando su Google e passando per tipi misteriosi che dichiarano che Windows 2003 non è un sistema multi user e blah blah blah mi son ficcato solo in vicoli ciechi. Ho provato invece a far girare il servizio OpenSSH con le credenziali di destinazione sperando che funzionasse al primo colpo. Un ulteriore intoppo, i permessi sbagliati nella cartella dei log, facilmente sistemabile.

Riassumendo i passi correttivi:

  1. installare sshwindows in versione “derivata” su entrambi i lati della connessione
  2. seguire il tutorial indicato in questa pagina per generare la chiave RSA
  3. cambiare i permessi con cui gira il servizio OpenSSH
  4. aggiungere l’utente desiderato al folder di log

Et voilà il gioco è fatto. Visto che sono riuscito a procurarmi ben due librerie diverse per .Net che consentono la connessione SSH, spero di trovare un ritaglio di tempo per creare un client customizzato da fare girare come un servizio alla stregua di PeoneFS. Nella prossima puntata metto tutti i pezzi insieme, ma garantisco che non sarà l’ultima. Ho in mente una versione due dell’accrocchio che… ssst…

-quack

Pubblicato mercoledì 20 ottobre 2010 alle 11:40 PM - 2 commenti so far
Archiviato in: Backup