domenica 25 gennaio 2009

Laura in informatica

Mi sono sempre sentito discriminato in quanto non sono "laurato". Non ho mai conseguito una laura in informatica. Non conosco nemmeno una Laura vera. A dire il vero, da ggiOvane, avevo tentato di laurarmi, ma le vicende della vita a cui non ci si può opporre, mi hanno impedito di farlo. Avrei voluto laurarmi. Mi ero pure iscritto ad ingegerìa (vedi post sugli ingegèri). Niente laura. Solo un misero "diplomna" (vedi post precedente). Google mi dà pietosamente una mano. Se cerco un posto di lavoro dedicato ad un laurato, il motore digitale mi avvisa... forse cercavi "laureato". No. Sembra che nelle offerte di lavoro cerchino proprio un laurato, uno con tanto di laura in informatica, un figlio dei "fratelli Capone....che siamo noi". Ma dai... sono chiaramente degli "erori" di battitura e la colpa è sicuramente del webmaster che ovviamente non è laurato. Se avesse una laura non farebbe certi "erori". OK. Pensavo di essermi perso qualcosa per strada. Magari era stato istituito un apposito corso di laura in informatica per soddisfare i discriminati che ne sono privi e calmare gli invidiosi che sono invece laureati. Sembra che la laura in informatica sia abbastanza richiesta e pubblicizzata, a tal punto da sospettare la nascita di un nuovo termine (neologismo), come ad esempio il blossig, ovvero gossip a mezzo blog. Prendersi una laura in informatica è davvero importante. Con una laura nel cassetto, si evita automaticamente, per privilegio divino acquisito, di essere additati come smanettoni. Un laurato conta più di un "diplomnato". Autorevoli agenzie di collocamento e recruiting cercano disperatamente laurati. Importanti ed autorevoli università, sfornano laurati di primo livello. Professoroni e ingegneri, pontificano la laura conseguita con anni di ricerca, studio ed abnegazione. Il messaggio è chiarissimo...ggiOvani!! LAURATEVI in informatica, il lavoro del futuro!!!!

P.S. Programmare un attività nel piccolo orifizio. Ripeto: Programmare un attività nel piccolo orifizio.

Erori

Una delle attività più dispendiose,e quindi trascurate, nello sviluppo dei siti web, è il controllo ortografico dei contenuti. Nonostante ormai siano onnipresenti i correttori ortografici "automatici", non è raro (è frequente) imbattersi in strafalcioni ortografici o errori di battitura. In un blog la cosa può essere perdonata. Un blog è prevalentemente un diario on-line ova l'autore dispone dei contenuti come meglio crede. Generalmente non c'è fine commerciale, un blogger infatti non ha l'obbligo di dimostrare ai lettori la propria serietà e cura nei contenuti. Poco importano gli errori ortografici, la semantica, la grammatica... non deve vendere nulla e non deve certo convincere nessuno che dietro al blog c'è un gran lavoro di sviluppo per dimostrare di essere una grande azienda. Ad ogni scrittura di ogni post, non segue l'attività di debug, di controllo, di analisi. La lettura può risultare anche poco scorrevole, a volte confusa, poco importa. Diversamente, i siti aziendali o commerciali che presentano errori, rappresentano un boomerang per l'attività. Si pensi ad una grande azienda, con centinaia di dipendenti, che non considera importante l'offerta di contenuti chiari e corretti. Cosa si può pensare di un sito aziendale che è infarcito di errori di ortografia?. Quale immagine ci si fà di un attività commerciale che non cura la comunicazione con i potenziali clienti? Compreresti un on-line un "prosiutto" a cui vengono abbinate pagine di descrizione che ne decantano le virtù? Di esempi se ne possono fare a iosa. Di certo, c'è che gli errori di ortografia compaiono dove meno ci si aspetta. Se già l'approccio all'azienda afflitta da questa piaga era avvicinata con il sospetto che deriva dalla mancanza di poter toccare con mano i prodotti, un errore ortografico nel sito di presentazione rappresenta un ottimo motivo per non comprare nulla e rivolgersi ai concorrenti più attenti e meglio organizzati. Personalmente, quando mi imbatto in un sito di qualche azienda e riscontro degli errori ortografici, immediatamente mi faccio un immagine di questa. Un titolare grezzo ed ignorante (la quasi totalità degli imprenditori), di quelli che comandano, danno ordini che devono essere eseguiti senza discutere e che è abituato a seguire direttamente l'ufficio acquisti, incarica il solito cuggino brufoloso di sviluppargli il portale di presentazione promettendo in cambio il lauto compenso di 10 euro a pagina sviluppata. Il cuggino informatico, che si sente in dovere di accettare in cambio del lauto compenso anche per dimostrare le proprie abilità acquisite in ben tre anni di studi universitari, inizia immediatamente a lavorare per dare risultati il più presto possibile. Lo scrupolo di rileggere e controllare i contenuti viene immediatamente soffocato e represso dalla fretta del titolare che ha "urgenza" di pubblicare il sito. Un dipendente dell'azienda, un ragazzetto sveglio che si sta diplomando alla scuola serale, segnala al titolare che il sito contiene degli errori. Il ragazzetto viene licenziato in quanto non si deve permettere di sputare nel piatto dove mangia e per sentenza della Cassazione non deve criticare il datore di lavoro. Complimenti. E'un classico, con qualche variante ma un classico, un evergreen qui in "itaglia", popolata da webmaster "diplomnati" ignoranti grezzi e cretini, da imprenditori ignoranti, miopi, stupidi ed avidi, da laureati ignoranti, arroganti e presuntuosi, da ingegneri ignoranti ed impreparati che hanno preso un "laura", da gente onesta che per paura se ne sta zitta e nascosta, in attesa che l'orda barbarica termini la distruzione ed il saccheggio. Ciao

P.S. Ripulire il garage di notte. Ripeto: Ripulire il garage di notte.

venerdì 16 gennaio 2009

Riparazioni (Ruote pivotanti)

Da un pò di giorni una rotella della poltrona basculante che uso nello studio dove lavoro, si sfila dalla sua sede. E' un problema che si è già verificato in passato. All'epoca, ho risolto con l'acquisto di un set completo di rotelle nuove, prontamente sostituite con la premura di conservare quelle vecchie ancora funzionanti. La premura si è rivelata azzeccata in quanto anche il nuovo set, dopo un paio di anni, ha iniziato a presentare lo stesso problema. Il corpo è di plastica, così come le ruote fissate su un perno di metallo tenero. Sono fissate ad incastro e con il passare del tempo, complice l'uso intenso, la sede del perno si consuma quel tanto che basta a non tenere più. Per un pò ho resistito sostituendo quelle rotte con quelle sane del primo set originale. Oggi, terminato il "giro" di sostituzione, non posso più fare finta di nulla e mi sono trovato di fronte al dilemma... acquisto di un altro set o riparazione artigianale? Un rapido sguardo al conto in banca mi convince per la seconda opzione. Allora, prendo il perno e ci faccio un foro sull'asse. Ad avere un tornio con contropunta si va molto meglio, ma anche con un buon trapanino a colonna e con un pò di attenzione e pazienza si riesce a fare un lavoro abbastanza centrato (in questo caso la precisione non è di primaria importanza). Filettatura dei fori (M4) e foratura delle ruote di plastica (5mm). L'unico modo per una riparazione definitiva è fissarci delle viti e non pensarci più. Inutile pensare di fissare le rotelline con della colla epossidica, magari con il rischio di incollare anche il perno e bloccare per sempre la rotazione (con buona pace del pavimento che ringrazia). Decido anche di non acquistare le viti. Vado a frugare nel contenitore dove ne ho raccolto qualche migliaio (pazientemente nel tempo) e saltano fuori 4 bellissime viti anodizzate in un intenso blu cobalto, con testa flangiata e corpo da 15 mm.
Dato che sbagliando si impara, per le prossime due terrò conto della profondità del foro nel perno in modo che sia leggermente inferiore alla lunghezza della vite. In questo modo riesco a fissare per bene le viti (di alluminio) in modo che non si svitino, lasciando nel contempo spazio alle ruote per muoversi. Ad ogni modo ho risolto avvitando le viti (in modo da lasciare un pò di gioco alle ruote) bloccandole con un pò di colla, così come ho bloccato il perno alle ruote per evitare che con il tempo ed i movimenti si sfilassero. Esteticamente non si dovrebbe notare (eventualmente la prossima volta prevedo casomai di mettere il mastice dentro la filettatura per un fissaggio definitivo). Ed oplà, lavoro finito, 5 minuti ed ho risparmiato una ventina di euro in quanto le rotelline non le vendono sfuse (ovviamente) ma 5 alla volta (per le poltrone da ufficio). Almeno non seguono la politica delle batterie, dove trovi confezioni che ne contengono sempre una in più o in meno di quelle che servono effettivamente. OK. un altra soddisfazione. Stasera,per festeggiare esco, vado al bar e mi sa che ordino pure un grappino assieme al caffè, via, esageriamo! Non bado a spese. alla prossima

P.S. Il cane è bagnato. Ripeto: Il cane è bagnato.

domenica 11 gennaio 2009

Recuperare dati da supporti danneggiati

Per chi ha un attività o gestisce un impresa, l'evento più disastroso che scatena il panico è la sorpresa data dalla perdita dei dati elettronici dai supporti usati per memorizzarli. Mi accorgo di ciò quando entro in ufficio e trovo una moltitudine di chiamate perse al cellulare. Il disastro si verifica solitamente negli orari meno opportuni, quasi sempre nei giorni festivi e spesso quando sono oberato di impegni inderogabili. Solo allora divento indispensabile ed oggetto di suppliche, mai accompagnate dalla promessa di retribuire adeguatamente la mia disponibilità a risolvere la situazione. Stavolta è toccato ad una chiavetta usb, con gli archivi dei clienti di un dentista. Non mi chiedo come mai i dati dei clienti siano memorizzati in un archivio di lavoro su una chiavetta usb invece del PC dello studio dentistico. Accetto l'incarico "agratis" e, dato che non è la mia attività principale ma solo un favore fatto in funzione di un lavoretto che dovrei far fare alla mia arcata dentale superiore, sperando nella disponibilità futura ad un pagamento "in natura" (cambio merce), decido di dare un occhiata al supporto. A volte mi arrivano dei casi veramente disperati, supporti danneggiati a tal punto che il recupero è quasi impossibile. Ecco qui gli strumenti che utilizzo per riportare il sorriso a chi si affida a me, anche se non sempre la fiducia riposta trova una vera soluzione.
Gli strumenti che uso per il recupero dei dati? Sono dei programmi in ambiente GNU-linux. Vediamoli:

dd_rescue
È una variante dell'utility unix “dd”. Estrae i dati dal supporto e trasferisce ciò che è leggibile su un file o su un device a blocchi. Crea un "clone" dei dati con blocchi a zero se non riesce a leggerli dall'origine.

fsck
E' uno strumento di unix per la manutenzione dei filesystem. È composto da una suite di programmi, ciascuno dei quali lavora su uno specifico filesystem: per esempio fsck.ext3 lavora su filesystem ext3, fsck.vfat su FAT16/FAT32, ecc… Verifica la consistenza della struttura del filesystem e risolve gli eventuali problemi. Può lavorare sia su device a blocchi (es. /dev/sdb /dev/hda ecc...) che su file immagine (creati ad es. con dd_rescue).

testdisk
E' un programma di recupero dati interattivo che ricostruisce in modo "semi-automatico" una tavola di partizione danneggiata. Legge i settori iniziali di ciascun cilindro del disco e cerca quelli che potrebbero assomigliare ad una partizione. E' in grado di rilevare in automatico il tipo di filesystem (ne riconosce davvero moltissimi) e le sue dimensioni provando anche a volte di correggere problemi di consistenza.

photorec
L'interfaccia è simile a testdisk. Recupera i files direttamente dall'area dati senza affidarsi al filesystem. È utile quando il filesystem è pesantemente danneggiato e/o non è supportato dagli altri strumenti. Sarebbe da impiegare come ultima spiaggia dato che è in grado di recuperare solo alcuni tipi di file. Ovviamente non può mantenere i nomi originali dei files, per cui ci si potrebbe trovare nella situazione di aprirli uno ad uno per comprendere cosa contengano aiutandosi con l'estensione.

La procedura
Do per scontato che nelle operazioni di recupero si utilizzi uno strumento predisposto a farlo, ovvero un PC con gli strumenti software installati, spazio sufficiente per trasferire i dati da recuperare, eventualmente delle porte ide libere (evito, se posso, gli adattatori usb-ide), collegato ovviamente in rete per scaricare eventuali aggiornamenti.


Controllo il partizionamento del supporto per individuare quali partizioni contiene. Se il device è /dev/sdb:

fdisk -l /dev/sdb

Se l'MBR è corrotta non si può effettuare il mount in sola lettura, altrimenti provo a montare in read-only la partizione in esame (SDB1 per la prima):

mkdir -p /mnt/dati
mount -o ro /dev/sdb1 /mnt/dati

Se il mount non va a buon (MBR è corrotta) o non è leggibile, devo clonare l’intero disco:

ddrescue /dev/sdb /mnt/immagine_chiavetta.img

Con il comando precedente, estraggo tutto il dispositivo con tutte le sue partizioni.

Se dd_rescue va a buon fine senza errori, occorre ripristinare una tavola di partizione corretta:

testdisk /mnt/immagine_chiavetta.img

che esegue una scansione dell’immagine alla ricerca dei possibili punti di inizio delle partizioni. Se esce il messaggio "partition sector don't have the end mask 0xAA55" significa che la tabella delle partizioni è completamente andata (salta al passo photorec direttamente) e difficilmente è possibile ripristinarla a mano (in alcuni casi si può fare).
Se tutto va bene, testdisk ripristina il tutto e si può procedere a salvare la nuova MBR. Quando si lavora con testdisk può essere necessario impostare a mano la geometria del disco CHS Cilindri - testine - settori per traccia: sui dischi vecchi i dati sono riportati sull'etichetta, mentre in quelli più attuali è riportata solo la dimensione in blocchi: in questo caso il firmware del disco usa una geometria fittizia per mappare l’indirizzo LBA dei blocchi: i settori per traccia sono sempre 63 e le testine 255: il numero di cilindri si calcola dividendo la dimensione in blocchi per 16065.

Dopo la ricostruzione della tavola di partizione, si può estrarre l’immagine solo della partizione che ci interessa: Per sapere dove inizia e dove finisce:

sfdisk -d /mnt/spazio/immagine.img

Ci si annota “start” e “size” della partizione: supponendo che i valori siano rispettivamente 63 e 156296322 posso estrarre l’immagine sovrascrivendo quella completa ottenuta in precedenza:

ddrescue -i (numero_inizio)b -s (numero_size) /dev/sdb /mnt/immagine_partizione.img

Si può così tentare un fsck: supponendo un filesystem di tipo FAT:

fsck -t vfat /mnt/immagine_partizione.img

e montare in loopback l’immagine:

mkdir -p /mnt/chiavetta
mount -o loop,ro /mnt/immagine_partizione.img /mnt/chiavetta

Il lavoro è terminato e si può procedere con l'analisi dei dati. Se, come nel mio caso la FAT è completamente andata, l’ultima possibilità consiste nell’uso di photorec:

mkdir -p /mnt/chiavetta/files
cd /mnt/chiavetta/files
photorec /mnt/immagine_partizione.img

Il supporto di origine può essere inutilizzabile o inaffidabile per memorizzarci altri dati. Se si desidera comunque riutilizzarlo, va formattato con il comando:

dd if=/dev/zero of=/dev/sdb bs=1

A meno di spiacevoli sorprese, in molti casi si riesce a recuperare qualcosa, magari non tutto. Possono però capitare dei comportamenti "strani". Con dd possono comparire errori di I/O che interrompono il processo di recupero. Anche dd_rescue può conteggiare errori di lettura. A volte l'errore di I/O è volatile, nel senso che si verifica saltuariamente ed imprevedibilmente in settori diversi. E' comunque indispensabile riuscire a salvare il maggior numero di blocchi (tutti se possibile) altrimenti il tentativo è inutile. A volte l'errore deriva da una chiavetta "consumata", ovvero utilizzata oltre il numero di cicli di scrittura consentiti. In altri casi può essere un problema hardware del circuito di interfaccia alla porta usb che si manifesta solo in particolari condizioni di temperatura. In questi casi essere un pò maghi e conoscere qualche rito sciamanico può aiutare. Alla prossima

P.S. Invertire il 7 con l'8. Ripeto: Invertire il 7 con l'8.