Sincronizzare i file con un drive esterno

Non ho mai trovato un programmino semplice e gratuito per mantenere aggiornata la copia di una directory su un disco esterno. Ci sono evoluti programmi commerciali che lo fanno, ma per una banalità del genere non voglio pagare. Ci sono i tools del sistema operativo ma richiedono troppa attenzione (no, se il file è già presente nella cartella di destinazione e ha la stessa data di ultima modifica non devi sovrascriverlo se no ci mettiamo una vita…). Ci sono ottimi tools open source, come rsync, ma che sono molto complessi e, nel caso di quest’ultimo ottimizzati per la sincronia tra due dispositivi intelligenti (2 pc, 2 server…) in modo da ridurre la banda utilizzata.

Per cui, vista la banalità della cosa, ho deciso di dedicare qualche ora a scriverne uno, invece che a provare l’ennesima cosa che non fa quello che voglio.

Requisiti che mi sono dato :

  • Sincronia unidirezionale da una cartella sorgente ad una di destinazione
  • Possibilità di scegliere se rimuovere o meno i file cancellati nella sorgente anche nella destinazione
  • Nessuna richiesta di conferma all’utente
  • Parametrizzazione da linea di comando, cosi si fa un bello script e non ci si pensa più
  • Resistenza all’errore. Se fallisce la copia di un file o l’esplorazione di una cartella si passa alla successiva

La versione molto alpha (ma che già fa tutto quello che voglio) è disponibile a questo indirizzo : https://bitbucket.org/sgalliani/mysync/downloads/20160131%20mySync.zip

Smaterializzazione

Stiamo traslocando altrove. Dire dove non è cosi banale.

Non ci sono limiti di tempo, non ci sono file da fare, non si scrive più a mano, il denaro c’è ma non si vede. Gli edifici in muratura perdono di sostanza. L’impiegato che, annoiato e noioso, risponde sempre alle stesse domande e un pò per vendetta vi rimbalza qua e là diventa l’ultima opzione. Le trappole burocratiche cessano di esistere perchè la guida è in tempo reale.

Un sogno? Forse, ma un passo alla volta ci si sta arrivando. Con buona pace di chi difende metodi paleolitici solo perchè sono più affini delle sue abilità. La resistenza è inutile.

Da VmWare a VirtualBox

Tradizionalmente ho sempre usato vmware, piattaforma storica di virtualizzazione, che offre di tutto e di più. Accelerazione 3D hardware, utilizzo delle estensioni del processore, multicore e multiprocessore, supporto per windows e linux sia come guest che come host … ma … per linux fondamentalmente è una scocciatura perchè non supporta tutti i kernel. Dovendo essere installati dei moduli del kernel questi devono essere compatibili col kernel in uso. Cosa tutt’altro che banale se si usa linux come host. Tant’è che su Kubuntu 10.04 ho dovuto usare una patch non ufficiale fornita dalla community per far andare vmware. E ovviamente dimenticarmi di aggiornare alla 10.10… fortuna che è una LTS.

L’alternativa è virtualBox. Prodotto meno maturo, ma neanche cosi tanto. Il vantaggio è che legge il formato dei dischi di Vmware, quindi in teoria si puo switchare da un prodotto all’altro con la stessa virtual machine.
In teoria, appunto. In pratica no. Perche Vmware usa di default l’ IO APIC mentre virtualbox no. Virtual box si puo configurare per usare questa modalità ma le prestazioni rispetto a vmware sono nell’ordine di 1 a 3. Inoltre la scheda di rete virtuale di virtualbox e vmware ha lo stesso hardware id quindi il sistema operativo guest fa un pò di confusione e continua a cercare di usare i driver di vmware anche se sono stati correttamente installati i driver di virtual box.

Per ottenere un passaggio (quasi) di successo il primo passo è di abilitare l’ IO APIC in virtualbox, far partire la macchina e quindi installare il software addizionale per il sistema operativo guest (windows nel mio caso).
Un bel riavvio e si otterra il classico e comodo mouse integrato tra guest e host, video che si auto ridimensione in base alla finestra e prestazioni in filino migliorate (non molto). Per utilizzare la scheda di rete è necessario aggiornare manualmente il driver passando dalla gestione dell’hardware e selezionare tra quelli compatibili con hardware ovviamente quello di virtualbox.
Un altro riavvio e un controllo sulla buona funzionalità della rete evidenzia comunque che il collegamento virtuale è instaurato a 100Mbit e non a un 1Gbit (probabilmente nella maggior parte dei casi non c’è un impatto significativamente negativo ma in host con un buon hardware alle spalle la comunicazione host-guest potrebbe avvenire a velocità più basse di quanto teoricamente possibile).

A questo punto ci si rende conto come le operazioni di IO su disco siano di una lentezza disarmante e molto ma molto focalizzate sul processore. Come se ogni accelerazione hardware sia completamente inesistente.
Per disabilitare l’ IO APIC bisogna prima dire al sistema operativo guest che le cose cambiano, quindi cambiare la configurazione a mano nell’xml che rappresenta la configurazione di virtualbox, e quindi proteggerlo da scrittura … perche quando si abilita l’IO APIC su VBox pare essere per sempre, nel senso che ogni volta che ricaricate una configurazione con l’opzione disabilitata, questa viene riabilitata in automatico. Per i dettagli : http://ubuntuforums.org/showthread.php?t=1330484

Quindi cosa ne ho guadagnato ?
La libertà di aggiornare alla release successiva, una migliore integrazione della clipboard (su vmware linux fa schifo, funziona una volta su mille), e migliori tempi di congelamento delle VM.

Cosa ho perso ?
Prestazioni, nonostante tutto è ancora parcchio piu lenta … tipo un 50% di tempo in piu a parità di operazione mista IO e CPU Bound (esempio: compilazione) e possibilità di congelare le VM (è vero che è veloce ma se non può scrivere nel file di configurazione che esite una sospensione della macchina, al successivo utilizzo questa verrà ignorata)

Quindi ?
Probabilmente torno a vmware…

A quelli di Firefox

bisognerebbe far presente che, no, 1.1 giga di memoria per un browser con aperto 5 schede in nessun modo porteranno questo stesso a migliorare la sua diffusione.

E questo è solo un esempio di come il gigantismo stia uccidendo quello che è stato uno dei motori dell’innovazione (grazie all’aderenza agli standard e all’aver creato una concorrenza dove non c’era).

Bisognerebbe dirgli che possono e devono fare di meglio. Che la velocità di esecuzione di javascript va già benissimo cosi, inutile fare a gara di millisecondi con Chrome. Che degli skin “Persona” ce ne frega poco nulla. Ma invece bisognerebbe ricordargli va risolto una volta per tutte il memory leak che affligge la volpe rossa da tempo immemorabile, e che con la maggiore complessità degli attuali siti ha raggiunto livello da urlo. E che qualcuno vorrebbe poter tenere aperto gmail senza che venga resa impossibile la visione di un video con VLC.

O forse bisognerebbe solo dirgli “attenzione che passiamo tutti a Chrome/Opera”.

Da vista a kubuntu, senza perdere nulla

Ho deciso di formattare il portatile e di installarci la nuova release in versione azzurrina della celebre distribuzione linux. Il problema è che non voglio perdere nulla. Ne dati (e fin qui ci siamo), ne funzionalità (qua un pò meno).

La procedura che ho pensato è forse poco ortodossa, ma la garanzia è totale. Quello di cui abbiamo bisogno è un secondo pc con ottime capacita di archiviazione, VMWare converter, VMWare workstation, un Cd di Kubuntu x64 e un pò di tempo.

VMWare converter permette di virtualizzare un pc fisico. Il che è una gran cosa perche alla fine hai una assicurazione sia sui dati che sulle funzionalità. Si mette nella stessa rete il portatile e il computer con X tera-byte a disposizione. Si installa sulla vittima VMWare Converter (che tra l’altro è disponibile gratuitamente) e si virtualizza il primo pc sul disco del secondo, via rete. Tempo stimato un paio d’ore per 130 gigabyte da trasferire.

Un hotspot wi-fi dove serve

Segnalo l’esistenza di questa fantastica applicazione per Symbian chiamata JoikuSpot. Il suo scopo è trasformare il vostro telefonino nokia Umts/WiFi in uno strumento per fare da ponte tra queste due tecnologie. Un vero e proprio router wifi, insomma. Se siete spesso in movimento col vostro portatile è un ottima idea per poter sfruttare lo stesso collegamento (… e quindi pagare un solo abbonamento…) per usare il web sia tramite cellulare che tramite notebook.

Ovviamente è compatibile con qualsiasi aggeggio supporti il wifi, che poi sia la fotocamera, la stampante, la console o qualche strano aggeggio con una mela morsicata a lui non importa.

La versione Light non supporta la crittografia ed è gratuita … per utilizzi intensivi in zone affollate è consigliata la versione Premium.

Le prestazioni sono ovviamente identiche a quelle di una chiavetta di pari generazione. L’unico vero limite resta la batteria, messa a dura prova dall’utilizzo delle due componenti radio nello stesso momento.

P.S. : Per quanto sembri strano agli utilizzatori di altri sistemi operativi mobili, non serve roottare / crackare / jailbreakkare per usare questa applicazione.

jOra

jOra è un plugin per Eclipse che svolge un compito molto simile a Toad o Pl/Sql Developer. Permette in buona sostanza di naviagare in piu database, modificare i dati, creare procedure, function o package Pl/Sql, creare e modificare tabelle e quant’altro.

Ha l’autocompletamento del codice e dell’sql come Pl/Sql Developer (un pochettino meno avanzato ma son dettagli), permette di usare più connessioni contemporaneamente come Toad, insomma un buon software. Come vantaggio rispetto ai due programmi citati è multi-piattaforma (essendo in java), non ha bisogno di avere una installazione di Oracle Client in locale con tns names configurati, basta il driver JDBC e una stringa di connessione valida e in più è freeware.

Un sogno ? Purtroppo no, perchè ha lo spiacevole inconveniente di mangiare memoria ad una velocità impressionante. Tipo 500 mega spariscono dopo aver aperto (e chiuso) un decina di tabelle.

Spero comunque che risolvano il problema di memory leaking presto, perchè le potenzialità per surclassare tools ben più noti ci sono.

Malware

Se qualcuno dei miei 3 visitatori ha ricevuto una notifica riguardo alla presenza di malware su questo sito me ne scuso, non è ovviamente nelle mie intenzioni trasformare in zombie i vostri pc, ne dovete pensare che trascuri il software installato. Aggiorno con regolarità, non uso plugin e temi provenienti da fonti dalla dubbia reputazione … eppure capita.

Infatti questa mattina google mi scrive, anzi scrive a abuse(chicciola)b0sh.net, admin(chicciola)b0sh.net, administrator(chicciola)b0sh.net, contact(chicciola)b0sh.net, info(chicciola)b0sh.net, postmaster(chicciola)b0sh.net, support(chicciola)b0sh.net, webmaster@b0sh.net segnalandomi che da questo momento in poi il mio sito veniva marcato come potenzialmente dannoso.

Da una rapida indagine scopro un collegamento ad un javascript remoto alla fine di Index.php. Il software (wordpress) è stato interamente sostituito e reinstallato ma non penso sia stata una falla in questo software a permettere la modifica del file. In realta sullo stesso server, con lo stesso utente girava una versione non “aggiornatissima” di phpBB, celeberrimo target di spammer e cracker, che credo sia stata sfruttata per propagare l’infezione. In ogni caso anche la phpBB è stata sanitizzata (con l’equivalente digitale del napalm) e aggiornata. Certo che farsi tirare le orecche da BigG non è mai piacevole.

P.S. : I linguaggi di scripting sono tanto bellini, ma se c’è un buchino piccolo piccolo… a confronto un buffer overflow sembra una vulnerabilità trascurabile.