lunedì 28 ottobre 2024

Tastiere “americane” ANSI? No grazie.

Con la crescente diffusione delle tastiere meccaniche custom con grande possibilità di personalizzazione, si ripropone l’idea di passare dalle tastiere ISO “italiane” a quelle ANSI “americane”. Questo perché indubbiamente ci sono molti più prodotti e soprattutto molti più keycaps acquistabili nel formato ANSI.

Pur riconoscendo la maggior comodità del layout ANSI in certi contesti, dopo attente considerazioni ho deciso di non cedere. Vi spiego perché.

Per intenderci il formato ANSI è quello che non ha caratteri nazionali accentati sulla tastiera, ha il tasto “Invio” piccolo e un tasto in meno sulla tastiera, quello accanto al tasto “maiuscole” di sinistra, che conseguentemente è più largo.

Premetto che tra la fine degli anni 90 e i primi anni 2000 ero un forte sostenitore della fazione ANSI: all’epoca programmavo molto e indubbiamente la tastiera ANSI è più comoda per programmare e per usare sistemi operativi “a lunga digitazione” tipo Unix. Pensandoci, i linguaggi di programmazione e i sistemi operativi sono stati progettati da persone che usavano nativamente tastiere ANSI e quindi sono stati pensati comodi per quel tipo di tastiere. A questo si aggiunge che in quegli anni acquistare i computer negli Stati Uniti costava sensibilmente di meno, dal 20 al 30%, specie se si riusciva a portarli a casa evitando le dogane grazie a qualche fortunato amico che si recava oltreoceano per piacere o per lavoro. Inoltre era anche possibile strappare un ulteriore 20% di sconto sui dispositivi Commodore o Apple se si era parte del Developer Program oppure se si aveva un amico che lavorava in quelle aziende e poteva “portarti fuori” dei dispositivi con l’Emploee Discount. Quindi era molto facile avere a che fare con computer con tastiere ANSI, e si faceva di necessità virtù.

Teniamo presnete che le tastiere ANSI in combinazione con i diversi sistemi operativi offrono soluzioni molto smart per digitare praticamente qualsiasi carattere accentato e anche la maggior parte dei caratteri speciali usati nelle diverse lingue, con combinazioni di tasti comodi e razionali che vengono rapidamente acquisiti nella memoria muscolare delle mani. Faccio riferimento ai cosi detti “tasti muti”, argomento che non approfondisco in questo documento. In quegli anni scrivevo anche molto sia in Italiano che in Inglese su diverse riviste del settore informatico e usare una tastiera ANSI non mi è mai stato di intralcio.

Gli anni passano, iniziano ad allinearsi i prezzi di mercato e le disponibilità dei computer tra Italia e USA, verso il 2005 decido di cambiare MacBook e di scegliere la tastiera ISO italiana.

Inizialmente volevo ordinarlo con la tastiera americana — cosa sempre possibile — ma avrei dovuto effettuare un’ordine speciale e non volevo attendere. Quindi per l’acceso desiderio di avere il nuovo computer lì e subito, ho abbandonato la strada dell’ANSI per l’ISO. Definitivamente.

Non è stato troppo traumatico adattarsi al nuovo layout ma sicuramente è stato necessario passare un periodo di adattamento nel corso del quale la memoria muscolare ha dovuto ri-formarsi. Per un certo periodo la produttività è calata perché ogni tanto dovevo interrompere il ritmo di digitazione e pensare ai tatsi premere, distraendomi anche dal flusso di idee che si stavano trasformando in codice o testo.

Da quel momento tutti i computer che ho avuto si sono sempre presentati con tastiere italiane e non ho più avuto necessità di voltarmi indietro. Superato il periodo di addestramento non ho avuto rimpianti e se prima dovevo usare combinazioni di tasti per scrivere i caratteri accentati, poi simili combinazioni le dovevo inserire altrattanto automaticamente per inserire codice o utilizzare le consolle Unix.

Arriviamo al 2024: scopro il mondo delle tastiere meccaniche e subito si propone prepotentemente l’opzione di tornare ad usare il formato ANSI per potersele gustare in tutte le sfumature e configurazioni. Sappiamo infatti come sia limitata la scelta di tastiere di tipo ISO, ma soprattutto quella dei keycaps ISO italiani!

Il primo pensiero è corso con nostalgia a quanto trovavo produttivo lavorare con il formato ANSI 20 anni fa e di come sia stato tutto sommato non traumatico passare successivamente da uno all’altro. Sarebbe stato altrettanto semplice pensare di cambiare nuovamente tornando all’ANSI.

Appena prima di “premere il grilletto” su una bellissima tastiera meccanica ho però riflettuto a come non avrei potuto cambiare la tastiera del mio attuale MacBook Pro che è ovviamente ISO italiana, così come tutte le altre tastiere che mi sarei dovuto trovare ad usare occasionalmente. Sicuramente uso parecchio il portatile in mobilità con la sua tastiera che trovo peraltro molto comoda con il grande trackpad a portata di dita. Sarei quindi stato costretto a commuatre frequentemente formato, dalla nuova tastiera ANSI alle altre tastiere ISO. L’idea di avere sempre con me anche una tastiera meccanica per una auspicata massima produttività è sicuramente non pratica ed è stata rapidamente scartata. Dubito seriamente che il costante switch tra i due formati mi consenta di sviluppare una memoria muscolare efficiente come quella già maturata con il layout ISO italiano.

Ecco quindi perché io ho deciso di dire no allo switch al formato americano ANSI. Alla fine le tastiere che tanto ci piacciono dovrebbero principalmente consentirci in una scrittura più piacevole, confidente e sicura, quindi ultimamente più veloce e stress free… e se questo è l’obiettivo, la soluzione è stare vicini al formato che conosciamo bene, che abbiamo assimilato nella memoria muscolare dopo anni e anni di allenamento e che abbiamo già sui nostri computer di uso quotidiano. Il buon ISO italiano, formalmente chiamato “IT-ISO”.

Questo non vuol dire che per una persona giovane che passa molto tempo a programmare e/o a interagire intensamente da consolle con sistemi operativi Unix e/o che scriva pareccchio in lingua inglese la scelta di sperimentare il formato ANSI US non sia consigliabile. Per me tuttavia non ci sarà fallback, perché programmo meno di un tempo, uso sì sistemi Unix ma non più di qualche ora al giorno e l’esigenza di scrivere lunghi testi in Inglese è ormai passata. Conosco bene la tastiera ISO Italiana, ho più computer portatili con quella tastiera e non voglio dover passare da una all’altra mettendo in crisi la mia memoria muscolare tanto preziosa.

Come sopravvivere e indugiare in tastiere comode e piacevoli pur restando nella fazione ISO Italiano?

Premesso che non è troppo difficile trovare una tastiera meccanica nel formato desiderato con impostazione ISO, la parte difficile è trovare i copritasti nella nostra lingua che ci consentano di avere le combinazioni cromatiche e di profilo preferiti. Qui di seguito raccolgo e cercherò di tenere aggiornato una serie di note e suggerimenti raccolti durante le mie esperienze e ricerche.

Copritasti Italiani! Non sono facili da trovare, ma ci sono. Su Amazon ad esempio si trovano quelli di YMDK in diverse colorazioni con profilo OEM, io ho acquistato il colore Carbon e mi sono trovato bene. Si trovano anche su Aliexpress praticamente allo stesso prezzo e sul loro sito ymdkey.com.

Un altro fornitore di copritasti in italiano può essere Goblin Techkeys.

Anche il famoso produttore di tastiere meccaniche Keychron offre — oltre a testiere ISO — anche copritasti italiani, al momento solo con profilo OEM.

Se ne trovate altri segnalatemelo in un commento! Soprattutto se trovate dei profili SA con layout IT-ISO!

Link Amazon e non solo:
https://amzn.to/4dpvCYI
https://amzn.to/4doYNej
https://amzn.to/4dsjHJq
https://goblintechkeys.com/products/italian-classic-vintage-keycaps-set-retro-keycaps
https://www.keychron.com/collections/iso-ansi-jis-keycaps

Disegnarsi i propri copritasti! Ebbene si, mediante il sito YUZU è possibile disegnarsi i tasti per qualsiasi tastiera, anche quelle più strane e naturalmente è completamente supportato il layout ISO. Ho effettuato il mio primo ordine e lo sto impazientemente aspettando, l’esperienza è stato molto piacevole, ma per chi ha bisogno di layout ISO italiano oltre ad un piacere diventa anche una necessità. Al momento l’unica limitazione è data dall’unico profilo a disposizione, Cherry, che è comunque uno dei profili più usati e a cui è più facile abituarsi.

Esiste un’alternativa meno user friendly: FK Caps. Loro offrono la possibilità di scegliere diversi profili, però tutti piatti a parte il Cherry, e anche la possibilità di creare keycaps con trasparenza per poter lasciare passare la luce delle retroilluminazioni sotto ai tasti.

Altra alternativa è Goblin Techkeys dove è possibile sia acquistare copritasti già pronti (almeno uno anche in ISO Ita come indicato sopra) ma anche commissionarne di personalizzati anche ISO.

Link:
* YUZU: https://yuzukeycaps.com/lang/italian
* FK Caps: https://fkcaps.com/custom/
* Goblin: https://goblintechkeys.com/collections/all-custom-keycaps-1

Adesivi! Si piccoli adesivi possono venire in grande aiuto quando siamo costretti ad acquistare tastiere con layout ISO ma di lingue differenti. Personalmente trovo i formati ISO più vicina alla lingua italiana quelli considerati “Nordic” o in subordine “Spagnolo”. Tutte le altre hanno ad esempio le parentesi tonde sui tasti 9 e 0 anziché 8 e 9 e — nonostante sia abituato a scrivere senza guardare i tasti — non so perché per le parentesi mi se non sono corrette mi disturbano parecchio. In ogni caso è possibile acquistare con pochi euro dei set di adesivi per il layout italiano nei colori bianchi e neri che possono essere applicati sui tasti “non conformi” trasformando qualsiasi altro layout ISO nel formato IT-ISO in modo sufficientemente pulito (se avete scelto tasti biancho o neri) e sufficientemente duraturo. Senza contare che è anche possibile disegnarli in casa e stamparli su carta adesiva o al limite incollarli noi stessi, con risultati sicuramente meno promettenti in termini estetici e di durata. Vi riporto qu ii link a delle etichette che ho utilizzato con soddisfazione, sono applicate su una tastiera che uso al 30% del tempo da circa un mese e ancora non ho riscontrato problemi.

Link Amazon:
https://amzn.to/3BqivsX

Copritasti Scrivibili! Esistono copritasti bianchi o neri con cappuccio trasparente rimovibile che vi consentono di inserire un foglino con la descrizione del tasto. È una soluzione che non consiglio perché sicuramente non faranno match con il profilo e altezza dei tasti, potrebbero essere più utili per eventuali tasti macro o altre personalizzazioni, ma comunque li elenco come possibile alternativa.

Link Amazon:
https://amzn.to/3Uc3K3B
https://amzn.to/3ZDy6PU

Cannibalizzare vecchie tastiere! Fatto anche questo: cercare su Ebay o Subito chi mette in vendita vecchie tastiere meccaniche con layout italiano. Per essere sicuri cercare espressamente chi vende tastiere con switch Cherry, perché molti vendono vecchie tastiere spacciandole per meccaniche perché hanno i tastoni che fanno rumore ma non sanno di avere tastiere a membrana che non hanno copritasti standard. Purtroppo vecchie tastiere vintage tendono ad avere prezzi di vendita elevati, è più facile trovare tastiere gaming vendute sui 20€, ma state attenti che spesso purtroppo hanno dei caratteri orribili. Non è escluso anche che possano essere acquistate tastiere gaming italiane da marche “di consumo” a prezzi più bassi di quanto costerebbe un set di copritasti in italiano!

Tastiera HHKB ISO! Ebbene sì, nonostante possa sembrare un’eresia, è possibile trovare tastiere “ispirate a HHKB” in formato ISO e — creandosi un set custom con YUZU — farsi un layout italiano perfetto! Mi sono imbarcato in questa impresa estrema e vi racconterò tutto in un documento dedicato. Basti dire al momento che è possibile procurarsi le tastiere M0110 da Vortex oppure in modo più avventuroso da YMDK.

mercoledì 19 agosto 2015

Accesso FTP a editor di siti web su server

Mi capita spessissimo di configurare un nuovo server Ubuntu come server web e dover creare utenti con accesso FTP per la gestione del server. Ogni volta ci perdo uno o due giorni! Detesto perdere tempo per stupide cose. Una volta per tutte mi scrivo cosa si deve fare...

  1. Installare FTP server, se non già presente. Questa volta ho installato vsftp.
  2. creare account utenti con useradd (o adduser) configurando password, home e tutto quanto
  3. definire un gruppo che sarà usato per dare accesso in scrittura ai file del sito. È possibile usare www-data (usato da Apache) oppure un gruppo diverso per ciascun sito per differenziare i privilegi. Se si crea un nuovo gruppo, crearlo con groupadd
  4. Se necessario impostare tutti i file sul server con quel gruppo con "chgrp -R nomegruppo root/sito/web"
  5. impostare bit scrittura per il gruppo, io imposto anche il sgid, con "chmod -R g+rwxs root/sito/web" e per sicurezza anche l'accesso in scrittura e esecuzione per tutti con "chmod -R o+rx root/sito/web"
  6. iscrivere l'utente al gruppo con "usermod -a -G nomegruppo userlogin"
  7. creare nella home dell'utente un link alla root del sito con "ln -s root/sito/web www"
  8. modificare settaggi ftp server 

In particolare vsftp per default non consente di scrivere (questo mi ha fatto perdere 1/2 giornata) e quando è configurato e per scrivere i file questi non sono leggibili né scrivibili dal gruppo (altre 3 ore).

Impostare il parametro "write_enable=YES" e "local_umask=0002". Se volete caricare eseguibili anche impostare "file_open_mode=0777".

Se volete attiavre le connessioni passive, aggiungere "pasv_enable=YES" e per limitare le porte "pasv_max_port=10100" e "pasv_min_port=10090" così da limitare la finestra di porte aperte del firewall.

Riavviare vsftp con "service vsftpd restart" e tutto dovrebbe funzionare come atteso.

Già che ci siamo, altre 2 ore buttate perché apache2 non aveva configurato mod_rewrite, quindi se vi serve usare path alternativi e non funziona, guardate subito lì....

mercoledì 3 settembre 2014

Contenitore USB3 con cavo fisso

Finalmente lo ho trovato: un contenitore USB3 con cavo fisso e anche protezione morbida: così non devo mai dimenticarmi il cavo!!

Potete vederlo e comprarlo da questo link su amazon (anche con il servizio Amazon Prime);

Icy Box IB-AC6032-U3 - Cavo adattatore da 6,4 cm (2,5''), SATA su USB 3.0

ATTENZIONE: purtroppo il cavo non è ben schermato, e tanto meno il drive essendo in un involucro di silicone, e quando si usa questo dispositivo la connessione Wi-Fi si disabilita!

Quindi fatemi sapere se trovate un lettore USB3 con una schermatura come si deve!!

giovedì 22 maggio 2014

Safe ssh access to web developers

I spent 24 hours on this and I guess it's worth sharing.

Target: having several web developers being able to access the server by SFTP publishing contents in different locations in the web server path. We want a "server safe" way of providing ssh access, that means chrooted access.

Solution: a ChRooted sftp access to user home directory with direcotries linking to where the user is allowed to post on the /var/www dir root of the web service. But we cannot link out from the rooted home directory right? No we can, using "mount --bind" command!

Another trick to debug sftp connection server side: open up port 2222 on the firewall and run
"/usr/sbin/sshd -p 2222 -d -D" (with the complete path) on the server and "sftp -P 2222 user@host" on the client, all possible issues will be clear. Most likely you will have to fix some privileges on the chrooted dir.

This solution is much beter chan ChRoot directly in /var/www dirs!!

For more info about chrooting the user on sftp login, use google or see the following useful links:



sabato 19 aprile 2014

Sky Go su altri dispositivi Android

Strano ma vero, Sky Go può essere scaricato dal play store solo su alcuni dispositivi Samsung. Strano.
In realtà installarlo su altri dispositivi, come il mio ottimo Nexus 5 Google/LG, è molto semplice e funziona benissimo.
Vedete come fare da questo link.
Enjoy

giovedì 3 aprile 2014

Sollevare la Volvo XC70

Da parecchio tempo sto pensando di prendermi una Volvo XC70 usata, da spendere pochino, per vedere che effetto fa. Devo anche fare del moderato fuori-strada in campagna/boschi che sono piuttosto malandate, non percorribili con una auto normale, specie quando si creano dei solchi lungo la strada sassosa.
Per questo mi è venuta l'idea di eventualmente anche alzarla un po'... pensavo di trovare facilmente dei kit per questo scopo e invece no... qui raccolgo un po' di materiale recuperato sull'argomento, e non mi dispiacerebbe raccogliere anche qualche parere esperto o esperienza.



giovedì 27 marzo 2014

NEXUS 5

Per una serie di motivi, non da ultimo quello di poter laorare con un device NFC basato su KitKat, aka Android 4.4, ho acquistato il non più nuovissimo Google Nexus 5.

Già ero stato felice possesore del Nexus S e sapevo cosa voleva dire avere un telefono Google: user experience molto pulita e funzioni hardware complete ma al tempo stesso essenziali.

In poche parole sono molto felice del dispositivo. Considerate che passavo da un Notes II quindi ero viziato con parecchie funzionalità e software di Samsung, ma non ne rimpiango nessuna con il Galaxy 5. Onestamente in rete si trovano parecchie recensioni ma dipingono il prodotto molto peggio di quanto sia realmente, forse perché le recensioni sono tutte riferite a parecchi mesi fa, appena era uscito e prima degli aggiornamenti hardware. In realtà non ho riscontrato la maggior parte dei difetti citati.

Innanzitutto raccomando vivamente l'acquisto online sul Play Store di google (play.google.com) ad un prezzo imbattibile, correntemente €349 per la versione con 16GB e €399 per la versione con 32GB. Se considerate che mi sono sentito chiedere 460€ per la versione da 16GB in un negozio di una nota catena, l'acquisto online è imperativo. L'efficienza è ottima perché la consegna è arrivata puntuale in 2 giorni dall'Olanda con corriere UPS con un costo di trasporto di soli €9,99.

Meccanicamente il dispositivo è molto compatto e leggero. La qualità della plastica è ottima, con effetto gommato per quello nero e una plastica molto piacevole per quello bianco. Il rosso era esaurito al momento del mio ordine, ora è nuovamente in stock. Se siete indecisi tra nero e bianco, prendetelo bianco: è molto più originale e credo tenga anche meglio il prezzo perché ce ne sono meno in giro. Se sapete osare, prendetelo rosso! Considerate inoltre che non è espandibile, quindi consiglio la versione da 32GB se appena pensate di caricare un po' di musica o addirittura dei video.

L'esperienza Google sul cellulare è molto sobria e a me piace particolarmente.

Lo schermo a 1960x1080 non sfigura accanto ad un iPhone5. Il sistema operativo un po' ancora sì... ma così è.

Consiglio vivamente di attivare il nuovo compilatore runtime sperimentale ART: velocizza ancora di più la già sbalorditiva velocità dell'interfaccia utente (ai livelli di iOS su iPhone5) e consente un sensibile risparmio energetico. Per intenderci usando il dispositivo poco potrei addirittura arrivare a coprire 36 ore senza ricarica, quando con il Notes2 arrivavo comunque a malapena a sera.

Per attivare ART prima di tutto dovete attivare il menu sviluppatore premendo 7 volte sulla voce Impostazioni / Info sul telefono / Numero di build. Così facendo comparirà in Impostazioni la voce "Opzioni sviluppatore". Accedendovi, verso l'alto, troverete la voce "Seleziona Runtime" dove potete scegliere ART.

Considerate che dopo aver cambiato runtime il telefono dovrà riavviarsi e convertire tutte le applicazioni: per circa 200 apps io mio sisema ha impiegato una 15-ina di minuti.

lunedì 25 novembre 2013

Macintosh Firmware Upgrade for Seagate Laptop SSHD ST1000LM014

While I thought Samsung idea of distributing ISO booting CD images to upgrade HDD firmware, working on Mac and PC, was brilliant, I was less excited once I figured out that doing the procedure on my MacBook Pro resulted in an endless booting.

I am referring to the Samsung boot firmware upgrade for SM15 available as per today, November 25th 2013 reachable trough the link posted below.

However I noticed that, booting with the Upgrade CD image:

  • On a MacBook Pro with ST1000LM014 resulted in immediate shutdown after booting in Linux
  • On a PC notebook with a different HDD with Windows OS worked properly
  • On a PC notebook with ST1000LM014 Mac formatted resulted in immediate shutdown after booting in Linux

I therefore concluded that the problem is the Mac formatting on the drive would not allow it to be seen by the OS, that would probably not mount the partitions, and therefore the Seagate tool aborts and the shutdown procedure completes immediately.

The thing is: mounting the partitions should not be a requisite to be able to address the drive! Seagate must change this.

I anyway managed to upgrade my Laptop SSHD drive from SM14 to SM15 in a dangerous and risky way. DO IT AT YOUR OWN RISK! Before following this procedure just verify that eventually there is an updated upgrade image without this issue!

Risky procedure to upgrade to SM15


What you need:


  • Another SATA drive with Windows or DOS system on it
  • Seagate Firmware Upgrade CD burned from ISO image


Procedure:

  1. Attach the Win/Dos SATA disk to the MacBookPro (or a PC notebook). Keep the system in a way where you can access the hard drive with the system on. I kept my MacBook Pro on a side with display lid at 90 degrees keeping a hand on the hard drive (!).
  2. Boot from the Seagate upgrade CD keeping the "c" key pressed on the keyboard
  3. The system will boot and this time not shut down!
  4. Very carefully (!!) disconnect the Windows hard drive and plug the SSHD disk to upgrade. This is definitely not a recommended operation and the odd working position makes it even more dangerous. Be sure to be quick in the unplug replug operations and be very careful not to stress the delicate SATA ribbon cable on the MacBook Pro slot!!
  5. Select option 2 to verify disk. The first time it reported several errors.
  6. Select option 2 once again... this time to me it reported proper values for the drive!
  7. Finally, select option 1 and the upgrade will go trough. If you are upgrading from SM11 or 12 the operation may take very long, so be prepared to fix (maybe with tape?) the drive in place and let it run for 10-20 minutes. I was upgrading from SM14 so it took 3-4 minutes. Even if the system appears to be doing nothing, just keep waiting with faith!
  8. Once the process completes, you may want some gratification selecting option 2 once again to verify the version is correctly upgrade to SM15
  9. Then press ESC to exit the upgrade procedure and powerdown the system
  10. Finally you can fix the disk in place properly and close the MacBook for good!

Useful links:

  • Seagate Firmware Upgrade for Mac procedure: link
  • Seagate form to access firmware upgrades: link
  • Seagate forum post on this issue: link
  • Japanese blog mentioning the issue: link

domenica 24 novembre 2013

Ogni disco può rompersi in qualsiasi momento

Questa massima, tradotta da "Any drive can fail anytime" dovrebbe sempre essere tenuta presente. La tecnologia ci ha abituato a sistemi sempre più robusti e sempre più economici. I computer si cambiano sempre più spesso e quindi non hanno il tempo di invecchiare.

No so voi, ma io in passato ogni anno avevo a che fare con dischi danneggiati e sistemi da recuperare, ma ultimamente mi stavo abituando a questo concetto...

Settimana scorsa lo ho dovuto affrontare nuovamente, però, e ne ho approfittato per scoprire i passi avanti, ma anche i falsi positivi, che la tecnologia dei dischi ha fatto negli ultimi 5-10 anni.

Premetto che ho un MacBook Pro da circa 2 anni al quale avevo cambiato il disco con un Seagate Momentum XT da 750GB modello ST750LX003, sì il disco ibrdo di cui avevo parlato in un posto precedente. Come ogni utente Mac diligente, ho il mio bravo time capsule, quindi affronto con spavalderia il rischio di dischi danneggiati. Ogni utente Mac dovrebbe usare questo ottimo prodotto, o almeno fare un backup costantemente con un disco estero Time Machine.

Vado subito al punto, presentando le cose interessanti che ho "scoperto".


1. Vai a fidarti dello SMART ...!

Lo stato SMART "verificato" è un colossale falso positivo. Possibile che un disco con quasi 3000 settori danneggiati sia considerato "SMART VERIFIED"?

Includo qui di seguito la lettura delle informazioni SMART, noterete a riga 22 che l'esito della saluto del disco è "PASSED". Questa è l'informazione riassuntiva che vi forniscono i tool tipo Disk Utility.
Ma se guardate i dettagli nelle righe 76 e 77 (Current_Pending_Sector e Offline_Uncorrectable) si vede che sono stati individuati 2912 settori danneggiati e che non sono stati rimappati/sostituiti (valore 0 per Reallocated_Sector_Ct in riga 61). Il firmware dei dischi infatti ha un certo numero di settori "di scorta" e quando si rende conto che un settore scritto è danneggiato, rimappa il settore danneggiato su uno di questi settori di scorta, rendendo il disco apparentemente integro. Ma, cosa strana, pur avendo trovato quasi 3000 settori danneggiati, nessuno è mai stato "riparato"!

1:  MacBook-Pro-di-Ascanio-Orlandini:~ ascanio$ smartctl -a /dev/disk4  
2:  smartctl 6.2 2013-07-26 r3841 [x86_64-apple-darwin13.0.0] (local build)  
3:  Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org  
4:    
5:  === START OF INFORMATION SECTION ===  
6:  Model Family:   Seagate Momentus XT (AF)  
7:  Device Model:   ST750LX003-1AC154  
8:  Serial Number:  W20079DP  
9:  LU WWN Device Id: 5 000c50 0495444f6  
10:  Firmware Version: SM12  
11:  User Capacity:  750. 156. 374. 016 bytes [750 GB]  
12:  Sector Sizes:   512 bytes logical, 4096 bytes physical  
13:  Rotation Rate:  7200 rpm  
14:  Device is:    In smartctl database [for details use: -P show]  
15:  ATA Version is:  ATA8-ACS T13/1699-D revision 4  
16:  SATA Version is: SATA 3.0, 6.0 Gb/s (current: 1.5 Gb/s)  
17:  Local Time is:  Sun Nov 24 13:01:56 2013 CET  
18:  SMART support is: Available - device has SMART capability.  
19:  SMART support is: Enabled  
20:    
21:  === START OF READ SMART DATA SECTION ===  
22:  SMART overall-health self-assessment test result: PASSED  
23:    
24:  General SMART Values:  
25:  Offline data collection status: (0x00)     Offline data collection activity  
26:                           was never started.  
27:                           Auto Offline Data Collection: Disabled.  
28:  Self-test execution status:   (  0)     The previous self-test routine completed  
29:                           without error or no self-test has ever   
30:                           been run.  
31:  Total time to complete Offline   
32:  data collection:           ( 617) seconds.  
33:  Offline data collection  
34:  capabilities:                 (0x73) SMART execute Offline immediate.  
35:                           Auto Offline data collection on/off support.  
36:                           Suspend Offline collection upon new  
37:                           command.  
38:                           No Offline surface scan supported.  
39:                           Self-test supported.  
40:                           Conveyance Self-test supported.  
41:                           Selective Self-test supported.  
42:  SMART capabilities:      (0x0003)     Saves SMART data before entering  
43:                           power-saving mode.  
44:                           Supports SMART auto save timer.  
45:  Error logging capability:    (0x01)     Error logging supported.  
46:                           General Purpose Logging supported.  
47:  Short self-test routine   
48:  recommended polling time:       (  1) minutes.  
49:  Extended self-test routine  
50:  recommended polling time:       ( 147) minutes.  
51:  Conveyance self-test routine  
52:  recommended polling time:       (  2) minutes.  
53:  SCT capabilities:          (0x1081)     SCT Status supported.  
54:    
55:  SMART Attributes Data Structure revision number: 10  
56:  Vendor Specific SMART Attributes with Thresholds:  
57:  ID# ATTRIBUTE_NAME     FLAG   VALUE WORST THRESH TYPE   UPDATED WHEN_FAILED RAW_VALUE  
58:   1 Raw_Read_Error_Rate   0x000f  102  061  006  Pre-fail Always    -    4174600  
59:   3 Spin_Up_Time      0x0003  098  098  000  Pre-fail Always    -    0  
60:   4 Start_Stop_Count    0x0032  091  091  020  Old_age  Always    -    9472  
61:   5 Reallocated_Sector_Ct  0x0033  100  100  036  Pre-fail Always    -    0  
62:   7 Seek_Error_Rate     0x000f  078  060  030  Pre-fail Always    -    8716117542  
63:   9 Power_On_Hours     0x0032  095  095  000  Old_age  Always    -    4996  
64:   10 Spin_Retry_Count    0x0013  100  100  097  Pre-fail Always    -    0  
65:   12 Power_Cycle_Count    0x0032  092  092  020  Old_age  Always    -    8354  
66:  184 End-to-End_Error    0x0032  100  100  099  Old_age  Always    -    0  
67:  187 Reported_Uncorrect   0x0032  001  001  000  Old_age  Always    -    31723  
68:  188 Command_Timeout     0x0032  100  253  000  Old_age  Always    -    0  
69:  189 High_Fly_Writes     0x003a  100  100  000  Old_age  Always    -    0  
70:  190 Airflow_Temperature_Cel 0x0022  071  050  045  Old_age  Always    -    29 (Min/Max 21/29)  
71:  191 G-Sense_Error_Rate   0x0032  100  100  000  Old_age  Always    -    0  
72:  192 Power-Off_Retract_Count 0x0032  100  100  000  Old_age  Always    -    345  
73:  193 Load_Cycle_Count    0x0032  001  001  000  Old_age  Always    -    231137  
74:  194 Temperature_Celsius   0x0022  029  050  000  Old_age  Always    -    29 (0 12 0 0 0)  
75:  195 Hardware_ECC_Recovered 0x001a  038  027  000  Old_age  Always    -    4174600  
76:  197 Current_Pending_Sector 0x0012  065  065  000  Old_age  Always    -    2912  
77:  198 Offline_Uncorrectable  0x0010  065  065  000  Old_age  Offline   -    2912  
78:  199 UDMA_CRC_Error_Count  0x003e  200  200  000  Old_age  Always    -    0  
79:  254 Free_Fall_Sensor    0x0032  001  001  000  Old_age  Always    -    1  
80:    
81:  SMART Error Log Version: 1  
82:  ATA Error Count: 31636 (device log contains only the most recent five errors)  
83:       CR = Command Register [HEX]  
84:       FR = Features Register [HEX]  
85:       SC = Sector Count Register [HEX]  
86:       SN = Sector Number Register [HEX]  
87:       CL = Cylinder Low Register [HEX]  
88:       CH = Cylinder High Register [HEX]  
89:       DH = Device/Head Register [HEX]  
90:       DC = Device Command Register [HEX]  
91:       ER = Error register [HEX]  
92:       ST = Status register [HEX]  
93:  Powered_Up_Time is measured from power on, and printed as  
94:  DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,  
95:  SS=sec, and sss=millisec. It "wraps" after 49.710 days.  
96:    
97:  Error 31636 occurred at disk power-on lifetime: 4996 hours (208 days + 4 hours)  
98:   When the command that caused the error occurred, the device was active or idle.  
99:    
100:   After command completion occurred, registers were:  
101:   ER ST SC SN CL CH DH  
102:   -- -- -- -- -- -- --  
103:   40 51 01 ff ff ff 5f Error: UNC at LBA = 0x0fffffff = 268435455  
104:    
105:   Commands leading to the command that caused the error were:  
106:   CR FR SC SN CL CH DH DC  Powered_Up_Time Command/Feature_Name  
107:   -- -- -- -- -- -- -- -- ---------------- --------------------  
108:   42 00 01 ff ff ff 0f 00 22d+14:22:22.273 READ VERIFY SECTOR(S) EXT  
109:   42 00 01 ff ff ff 0f 00 22d+13:38:36.874 READ VERIFY SECTOR(S) EXT  
110:   42 00 78 ff ff ff 0f 00 22d+13:36:54.046 READ VERIFY SECTOR(S) EXT  
111:   42 00 78 ff ff ff 0f 00 22d+12:53:00.110 READ VERIFY SECTOR(S) EXT  
112:   42 00 78 ff ff ff 0f 00 22d+12:09:18.412 READ VERIFY SECTOR(S) EXT  
113:    
114:  Error 31635 occurred at disk power-on lifetime: 4996 hours (208 days + 4 hours)  
115:   When the command that caused the error occurred, the device was active or idle.  
116:    
117:   After command completion occurred, registers were:  
118:   ER ST SC SN CL CH DH  
119:   -- -- -- -- -- -- --  
120:   40 51 78 ff ff ff 5f Error: UNC at LBA = 0x0fffffff = 268435455  
121:    
122:   Commands leading to the command that caused the error were:  
123:   CR FR SC SN CL CH DH DC  Powered_Up_Time Command/Feature_Name  
124:   -- -- -- -- -- -- -- -- ---------------- --------------------  
125:   42 00 78 ff ff ff 0f 00 22d+13:36:54.046 READ VERIFY SECTOR(S) EXT  
126:   42 00 78 ff ff ff 0f 00 22d+12:53:00.110 READ VERIFY SECTOR(S) EXT  
127:   42 00 78 ff ff ff 0f 00 22d+12:09:18.412 READ VERIFY SECTOR(S) EXT  
128:   42 00 78 ff ff ff 0f 00 22d+12:08:52.988 READ VERIFY SECTOR(S) EXT  
129:   42 00 78 ff ff ff 0f 00 22d+11:24:59.271 READ VERIFY SECTOR(S) EXT  
130:    
131:  Error 31634 occurred at disk power-on lifetime: 4966 hours (206 days + 22 hours)  
132:   When the command that caused the error occurred, the device was active or idle.  
133:    
134:   After command completion occurred, registers were:  
135:   ER ST SC SN CL CH DH  
136:   -- -- -- -- -- -- --  
137:   40 51 08 ff ff ff 5f Error: UNC 8 sectors at LBA = 0x0fffffff = 268435455  
138:    
139:   Commands leading to the command that caused the error were:  
140:   CR FR SC SN CL CH DH DC  Powered_Up_Time Command/Feature_Name  
141:   -- -- -- -- -- -- -- -- ---------------- --------------------  
142:   25 00 08 ff ff ff 0f 00 39d+18:42:24.045 READ DMA EXT  
143:   35 00 08 ff ff ff 0f 00 39d+18:42:23.725 WRITE DMA EXT  
144:   35 00 08 ff ff ff 0f 00 39d+18:42:23.395 WRITE DMA EXT  
145:   35 00 08 ff ff ff 0f 00 39d+18:42:23.054 WRITE DMA EXT  
146:   35 00 08 ff ff ff 0f 00 39d+18:42:22.669 WRITE DMA EXT  
147:    
148:  Error 31633 occurred at disk power-on lifetime: 4966 hours (206 days + 22 hours)  
149:   When the command that caused the error occurred, the device was active or idle.  
150:    
151:   After command completion occurred, registers were:  
152:   ER ST SC SN CL CH DH  
153:   -- -- -- -- -- -- --  
154:   40 51 08 ff ff ff 5f Error: UNC 8 sectors at LBA = 0x0fffffff = 268435455  
155:    
156:   Commands leading to the command that caused the error were:  
157:   CR FR SC SN CL CH DH DC  Powered_Up_Time Command/Feature_Name  
158:   -- -- -- -- -- -- -- -- ---------------- --------------------  
159:   25 00 08 ff ff ff 0f 00 39d+17:59:08.702 READ DMA EXT  
160:   25 00 08 ff ff ff 0f 00 39d+17:16:15.731 READ DMA EXT  
161:   35 00 08 ff ff ff 0f 00 39d+17:16:14.818 WRITE DMA EXT  
162:   35 00 08 ff ff ff 0f 00 39d+17:16:14.496 WRITE DMA EXT  
163:   35 00 08 ff ff ff 0f 00 39d+17:16:14.177 WRITE DMA EXT  
164:    
165:  Error 31632 occurred at disk power-on lifetime: 4966 hours (206 days + 22 hours)  
166:   When the command that caused the error occurred, the device was active or idle.  
167:    
168:   After command completion occurred, registers were:  
169:   ER ST SC SN CL CH DH  
170:   -- -- -- -- -- -- --  
171:   40 51 08 ff ff ff 5f Error: UNC 8 sectors at LBA = 0x0fffffff = 268435455  
172:    
173:   Commands leading to the command that caused the error were:  
174:   CR FR SC SN CL CH DH DC  Powered_Up_Time Command/Feature_Name  
175:   -- -- -- -- -- -- -- -- ---------------- --------------------  
176:   25 00 08 ff ff ff 0f 00 39d+17:16:15.731 READ DMA EXT  
177:   35 00 08 ff ff ff 0f 00 39d+17:16:14.818 WRITE DMA EXT  
178:   35 00 08 ff ff ff 0f 00 39d+17:16:14.496 WRITE DMA EXT  
179:   35 00 08 ff ff ff 0f 00 39d+17:16:14.177 WRITE DMA EXT  
180:   35 00 08 ff ff ff 0f 00 39d+17:16:13.855 WRITE DMA EXT  
181:    
182:  SMART Self-test log structure revision number 1  
183:  Num Test_Description  Status         Remaining LifeTime(hours) LBA_of_first_error  
184:  # 1 Short offline    Completed: read failure    90%   4990     836091760  
185:  # 2 Short offline    Completed: read failure    80%   4988     836091760  
186:  # 3 Short offline    Completed: read failure    90%   4988     836091760  
187:  # 4 Short offline    Completed: read failure    90%   4987     836091760  
188:  # 5 Short offline    Completed: read failure    90%   4987     836091760  
189:  # 6 Short offline    Completed: read failure    90%   4978     836091760  
190:  # 7 Short offline    Completed: read failure    90%   4944     836091968  
191:    
192:  SMART Selective self-test log data structure revision number 1  
193:   SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS  
194:    1    0    0 Not_testing  
195:    2    0    0 Not_testing  
196:    3    0    0 Not_testing  
197:    4    0    0 Not_testing  
198:    5    0    0 Not_testing  
199:  Selective self-test flags (0x0):  
200:   After scanning selected spans, do NOT read-scan remainder of disk.  
201:  If Selective self-test is pending on power-up, resume after 0 minute delay.  
202:    
203:  MacBook-Pro-di-Ascanio-Orlandini:~ ascanio$   
204:    

Quel che è peggio, se vedete i dati SMART, anche dopo aver richiesto delle verifiche e dopo che queste sono terminate con errori irreparabili (si vedano le linee 182-190) lo stato globale risulta sempre essere "SMART overall-health self-assessment test result: PASSED"! 

Morale: la tecnologia SMART è notevole, ma è usata malissimo dai sistemi operativi. Per fare una vera diagnostica non basta fidarsi del parametro finale ma occorre interpretare tutta la tabella, e anche effettuare dei self test. Occorre monitorare nel tempo l'evoluzione di questi parametri e sollevare allarmi. Cosa che dovrebbe fare il parametro riassuntivo dello SMART, ma evidentemente non lo fa bene.

Esiste un ottimo tool in proposito, per Mac: SMARTreporter, che traccia e tiene una storia delle prestazioni SMART dei dischi e effettua periodicamente i self test interni. Inoltre tiene traccia degli errori in lettura, come si vedrà più avanti. L'altro tool indispensabile è SmartMonTools, disponibile per praticamente tutti i sistemi.

2. Errori in lettura, I/O Error

E questa è un'altra scoperta importante... il disco sa riconoscere errori in scrittura e li usa per rimappare settori danneggiati, ma non gli errori in lettura! Che vengono però gestiti dal kernel del sistema forzando un certo numero di retry - situazione che può mandare in blocco il sistema se ripetuti frequentemente, blocco non permanente ma tipo 20 secondi di blocco dell'interfaccia utente.

Mi sono accorto del problema proprio perché, durante un backup, il sistema diventata ripetutamente non risponsivo. Ho controllato il log di sistema (con "Console" su Mac) e ho trovato simpatiche righe "kernel disk0s1: I/O error".

Anche in questo caso SMARTreporter non solo controlla i parametri SMART del disco, ma anche gli errori di lettura nel log di sistema!

Infatti se si subiscono errori su zone del disco già scritte, questi saranno riconosciuti solo dal sistema operativo! Il disco non puà intervenire rimappando il blocco altrimenti perderebbe tutti i dati del blocco scritto. Invece se si va a scrivere in una zona di disco vuota, se si presenta un errore il disco trasparentemente cercherà di riallocare il blocco con quelli di scorta. Un errore in scrittura quindi implica che il disco è severamente danneggiato tanto che non è più possibile sostituire i blocchi (come nel mio caso).


Il mio nuovo disco

Come saprete, sono un fan dei dischi ibridi di Seagate, nonostante questo disco mi sia morto così presto (poco più di un anno, con all'attivo solo 4996 ore, riga 63).

Dovendo prendere un nuovo disco, mi sono chiesto se prendere lo stesso (Momentum XT da 750GB ST750LX003) oppure la terza generazione di dischi ibridi "Laptop Solid State Hybrid Drive" ST1000LM014 da 1T. (Seguendo il link qui fornito accedete direttamente ad una ricerca su Amazon così che troverete anche il prezzo più attuale del prodotto. Inoltre se lo comprate seguendo questo link, Amazon mi riconoscerà qualche punto percentuale quindi se volete comprarlo e dirmi grazie potete farlo seguendo questo link...)

Perché il dubbio? Il "vecchio" Momentus XT è un disco da 7500rpm, mentre il nuovo di terza generazione è sì più grande ma gira ai soliti 5400rpm, ma ha 64MB di cache di primo livello contro i 32 del modello precedente. Sempre 8GB di memoria NAND allo stato solido. Inoltre la nuova generazione dovrebbe aver migliorato gli algoritmi di caching permettendo anche l'uso della ssd anche in scrittura. Alla fine ho scelto il secondo, quello di 3za generazione, sperando che l'intelligenza sia più importante della "forza bruta" della velocità di rotazione, almeno per i file medio/piccoli che si usano abitualmente. Lo ho comprato su Amazon a meno di 90€ (quello vecchio mi era costato 140€ 1,5 anni fa!).


Politica di Seagate

Da una verifica online il disco risulta ancora in garanzia fino a maggio, praticamente due anni da quando lo ho comprato (giugno 2012), ho potuto fare le pratiche di richiesta di rientro e spedirò il disco domani. Vediamo quanto impiegano per rimandarmelo, ma fino ad ora la procedura è stata molto veloce. Avevo anche scritto al supporto tecnico e mi hanno risposto il giorno dopo con consigli utili, tipo usare il tool SeaTools per fare indagini di basso livello e tentare una riparazione, che è comunque fallita.


Nel frattempo mi sono fatto un po' di esperienza sul recovery mondo Mac, quindi se vi serve qualche consiglio fresco, scrivete pure! 

E buon backup a tutti!

sabato 9 novembre 2013

Bravo Italo

Continuo a spostrarmi su e giù per l'Italia con il treno e ogni volta devo scegliere tra Trenitalia e NTV. Ultimamente ho quasi sempre, anzi, da mesi sempre preo Trenitalia perché non potendo pianificare i miei viaggi in anticipo, Trenitalia è sempre più conveniente: a volte di qualche euro, a volte del 50% perché vengono spesso offerti grandi sconti per i titolari di Cartafreccia (fondamentale loggarsi PRIMA di scegliere l'itinerario per vedere i prezzi scontati, tipo 25€ per Firenze - Milano anziché 50).

Ieri ho scelto di spendere 2 € in più per la corta tratta Bologna-Firenze per provare di nuovo i servizi di Italo dalla nuova stazione AV.

Devo dire che la spesa mi è stata ampiamente ripagata dalla estrema cordialità del personale di terra. In Italia è sempre molto raro trovare persone che sembrano fare volentieri il proprio lavoro, che ti sorridono, che ti salutano, e... che siano utili!

Ho potuto sperimentare che alle casse automatiche la carta fedeltà RFID effettivamente ti permette di essere riconosciuto semplicemente avvicinandola, e le ragazze di aiuto effettivamente mi hanno permesso di fare il biglietto velocemente e mi hanno mostrato questa funzionalità.

Lungo il binario non solo ci illustravano con cortesia dove si sarebbe fermata la nostra carrozza, ma anche consigliavano alle persone da quali porte entrare per evitare di creare "tappo" nel vagone per attraversarlo tutto. Complimenti davvero.

Internet a bordo non era male, considerato il tratto quasi completamente in galleria.

Una sola solita perplessità: perché per loggarsi se si mette il proprio username e password dell'account Italo Più NON FUNZIONA la login, ma solo se si rimuovono le credenziali? È sempre
stato così.... poco male ma è un po' un controsenso....

Comunque bravo italo.

venerdì 1 novembre 2013

Come prendere una Freccia quando non ci sono più posti

Se dovete prendere a tutti i costi una Freccia e non ci sono più posti disponibili, potete prendere un biglietto per una Freccia successiva e anche per solo una fermata intermedia. Pagherete solo una multa di 8€ (cambio treno) e eventualmente un conguaglio per la tratta.

MAI, mai salire invece senza alcun biglietto...

Di seguito quello che mi è successo ieri. Non garantisco che le regole applicate possano cambiare e/o essere applicate in modo differente, quindi se seguite il mio consiglio, lo fate a vostro rischio e pericolo.....

La storia:

Ieri pomeriggio 31 ottobre mi trovavo nella stazione centrale di Milano  e cercavo di prendere un treno per Firenze. Ovviamente non c'erano più posti disponibili, su nessun treno, compreso i treni "lenti": le macchine automatiche non consentivano di vendere nulla.
Anche l'applicazione online di Trenitalia non dava alcuna disponibilità così come il sito di Italo... mi aveva dato qualche speranza ma in fase di acquisto del biglietto non mi lasciava completare l'acquisto.

Il colpo di genio è stato cercare un biglietto per Bologna con partenza alle 19.35: lo ho trovato. Ho pensato: salgo sul treno con un biglietto per Bologna e poi mi fermo fino a Firenze, sperando di non essere trovato.

Dopo aver preso il biglietto mi sono accorto che era un biglietto per Bologna su una Frecciabianca per Ancona! Quindi sarei dovuto scendere a Bologna e sperare di trovare un altro treno...

In realtà poi mi sono detto, "%&##!!" e sono salito su una Frecciarossa per Roma delle 19.15, insieme a tante persone che, disperate, sono salite sul treno anche senza biglietto.

Ovviamente il controllore è apparso dopo 10 minuti della partenza. A chi era senza biglietto ha fatto biglietti a bordo pagando 130 € e oltre! E se non erano in grado di pagare, in contanti o con carta di credito, gli faceva il verbale con obbligo di scendere alla prima fermata e sarebbe arrivata a casa una multa di oltre 200€.

Quando è arrivato il mio turno, preparato al peggio, ho mostrato il mio biglietto per Bologna su altro treno... dicendo "Serve a qualcosa?". La risposta è stata "Ha fatto benissimo!". Ho dovuto pagare solo una multa di 8€ e la differenza di prezzo sul biglietto tra il biglietto Milano - Bologna e quello  Milano - Firenze (10€).


lunedì 5 agosto 2013

Netgear Wireless Extender WN2000RPTv2: problemi e soluzioni

Dopo aver installato un Wireless Netowrk Extender WN2000RPTv2 i problemi di copertura del Wifi in una casa piccina ma con muri molto spessi è stato risolto, tuttavia spesso i dispositivi avevano problemi a farsi assegnare un IP nella rete "estesa", ed ero costretto a riavviare il dispositivo.

Cercando un po' in rete ho trovato questo post che ha risolto le mie pene.

Premesso che il mio router ADSL è un Netgear DGN2200v3, ho risolto il problema agendo sul router, nella sezione Advanced/LAN Setup, attivando il protocollo RIP, commutando l'opzione Rip Version da Disabled (default) a RIP_2B.

Magicamente ora ottengo gli IP con tutti i dispositivi anche nella rete estesa.

Se dovessi ricomprare il wireless extender, però, prima di prendere una soluzione totalmente wireless tipo appunto il WN2000RPT, credo che proverei una soluzione basata su un'estensione della rete su powerline e poi un normale access point: forse in questo modo la latenza sarebbe più contenuta. Forse. (Seguendo il link riportato qui sopra partirà una ricerca in Amazon, così che potrete vedere gli ultimi prezzi. Se lo comprate da quel link mi sarà riconosciuto qualche punto percentuale, e potrebbe essere il vostro modo di dirmi grazie).

Eventuali commenti o esperienza in proposito sono benvenute.

Aggiornamento: Nonostante quanto sopra abbia migliorato sostanzialmente il funzionamento, di tanto in tanto era ancora necessario riavviare il range extender. Ho trovato un altro prezioso consiglio che pare funzionare perfettamente: esiste un link "segreto" che consente di attivare un server DHCP del range extender. Non so quanto sia ortodossa la pratica ma consiglio anche a voi di provare ad attivarlo se avete problemi. Per raggiungere la pagina nascosta seguete il link:
http://192.168.0.4/cgi-bin/hidden_dhcpd.html

Ovviamente i'indirizzo IP deve essere quello del vostro range extender WN2000RPTv2

Aggiornamento del 6 dicembre 2013

Non ci sono versi: ogni tanto (ogni 1 o 2 giorni) devo riavviare il range extender perché diventa troppo lento. E comunque, anche da appena riavviato, c'è troppa latenza per usare servizi come VOIP. Per navigare va più che bene, ma il VOIP fa morire.

Ho trovato un articolo abbastanza esauriente che spiega perché i range extender devono essere veramente l'ultima alternativa... eccolo qui.

Credo che proverò al più presto ad usare una soluzione powerline... dopo  aver provato un'antenna direttiva 6dB che comunque non mi fa arrivare un segnale superiore ai -70dB dove devo arrivare. Ho usato questa: TP-LINK TL-ANT2409A 2.4 GHz 9dB, ottima ma non ci arriva. Ci sarebbe anche questa TP-Link ANT2414A 2.4 GHz 14 dB che potrebbe avercela fatta.

Aggiornamento di gennaio 2014

Finalmente ho trovato una soluzione quasi stabile con i moduli HomePlug powerline. Purtroppo ho scelto quelli di D-LINK, mai più! Avrei dovuto restare fedele a Netgear. Ne parlerò in un post separato. Tuttavia sono abbastanza soddisfatto, dopo aver trovato delle prese che garantissero una sufficiente qualità di connessione. Consiglio questi adattatori HomePlug:  Famiglia Powerline Netgear

mercoledì 31 luglio 2013

Rirapare l'azionamento del finestrino posteriore destro di Opel Vectra B del 2000

Qualche giorno fa chiudendo il finestrino posteriore della mia vecchia ma sempre in forma Opel Vectra "B" TDI del 2000 (440 mila km!) ho sentito un agghiacciante rumore, seguito da un ancora più agghiacciante rumore di cavi attorcigliati e il finestrino è rimasto aperto.

Già mi sono immaginato centinaia di Euro volare dalla finestra e giorni di attesa dal carrozziere. So quanto è odioso lavorare dentro alle portiere e quanto tempo ci vuole. So che la complessità della materia suggerirà al tecnico la sostituzione di qualunque cosa, piuttosto della riparazione.

La mia personalità di ingegnere unita alla curiosità di capire cosa effettivamente si è rotto mi ha portato a volerci dare una sbirciatina dentro. Consapevole della non banalità ad aprire le portiere (specie la prima volta, poi diventa tutto un gioco da ragazzi, POI...) mi sono armato di Santa Pazienza, non prima però di essermi documentato sulla procedura di apertura della portiera e del meccanismo di apertura (elettrico) del finestrino posteriore.

La procedura per rimuovere il pannello è sommariamente la seguente, ma prima ricordate di staccare il polo - della batteria per evitare inutili incidenti o corto-circuiti.

  • Rimuovere la griglia tweeter, stando attenti a non rompere i gancetti
  • Rimuovere il pulsante dell'apertura del vetro (apertura elettrico) e staccare il connettore elettrico
  • Rimuovere il tappo nella parte bassa del bracciolo
  • Svitare le tre viti che tengono in posizione il bracciolo posizionate nei tre punti sopra indicati, visibili dopo aver rimosso i rispettivi compomenti
  • Svitare due viti locate nella parte bassa, vicino al metallo della portiera
  • Rimuovere il triangolino di plastica, ma pare ruotando dal retro verso il fronte, ma state attenti che non viene via facilmente e si potrebbe rompere
  • Staccare il cavo della lampadina di cortesia in basso (io ho dovuto rimuovere tutta la lampadina per riuscirci...)
  • Ora la parte più delicata e per me difficile: rimuovere il pannello che dovrebbe essere libero. Da quanto ho capito deve essere sfilato energicamente tirandolo verso l'alto. Io ci sono riuscito facendo una serie svariata di prove e tentativi in varie direzioni...
A questo punto potete rimuovere o tagliare la plastica protettrice (e poi reincollarla o usare nastro adesivo per richiuderla) ed ispezionare l'accaduto.

Confesso che io ho riattaccato il pulsante del vetro e la batteria per vedere cosa succedeva azionando il pulsante.

Il mecanismo del finestrino è composto da un motore che aziona un rocchetto sul quale sono avvolti in due direzioni due cavetti di acciaio che, ruotando in un senso o nell'altro, grazie a due carrucole, portano in su e in giù un cursore che è collegato al vetro.

Nel mio caso si era staccato il cavo che tira il vetro in alto e come conseguenza si era aggrovigliato il cavo nel rocchetto.

Immaginavo che dovesse essere cambiato tutto il meccanismo, ma alcune ricerche su Internet mi hanno fatto capito che invece, dedicandoci un po' di tempo e pazienza, poteva essere riparato!

Tutto il meccanismo ha un prezzo di listino intorno ai 160€, ma si trova su EBay tra i 60 e i 100 €. Però si trovano anche dei kit di riparazione!

Confesso che non mi sarei mai lanciato nella riparazione se non avessi visto questo filmato, veramente ottimo. Attenti che è basato sulla finestra posteriore SINISTRA quindi ho dovuto fare qualche esercizio di simmetria per poterlo adattare al mio caso... ma non sarei mai arrivato al dover usare la MOLA per aprire il cursore! Diciamo che ho seguito queste istruzioni alla lettera dopo aver ordinato il kit e non ho avuto problemi.

Il link al prezioso filmato: http://www.youtube.com/watch?v=zCRMRH3F_I0

Veniamo al kit di riparazione. Le parole da ricercare su EBay per avere risultati internazionali sono "Vectra Window Regulator Repair Kit" e spesso si trovano dalla Germania tra i 15 e i 20 € più spedizione. Attenzione che ci sono kit e kit, con componenti differenti. Una volta che sapete cosa vi si è rotto potete scegliere che kit comprare. Inoltre se ho capito bene questi kit sono uguali per sinistra e destra, ma credo siano differenti almeno le lunghezze dei cavi tra anteriore e posteriore!
Nel mio caso si era rotto il pezzo di plastica bianco che attacca i cavi al cursore, strappandosi il cavo verso l'alto, con conseguente invilupparsi e sciuparsi dei cavi di acciaio.
Attenti che se il cavo è spiegazzato male rischierà di aggrovigliarsi sempre quindi va cambiato!
Ecco un kit molto completo, composto da:
  • coppia di cavi di acciaio;
  • coppia di molle per i cavi;
  • parte plastica del cursore (vedi filmato, quello che si era rotto a me!);
  • fermaglio di metallo da ribattere;
  • rocchetto avvolgicavo (vedi nota qui sotto);
  • fermino di metallo per il cursore (attenzione che nel filmato non lo rimettono, ma secondo me è importante; si potrebbe riciclare quello vecchio ma nel mio caso era danneggiato pure lui!);
  • fermino di plastica ovale per la barra del vetro; attenzione che la maggior parte dei kit non lo comprendono, e non dovrebbe servire. Inoltre, se lo si volesse cambiare, credo che manchi il relativo fermo da ribattere!
  • tappini di plastica neri, che non so dove vadano!! Se lo scoprite ditemelo...
Io in realtà ho acquistato il kit presso il venditore EBay "idealautoteile" e lo ho pagato solo 12 Sterline compreso il trasporto da Istanbul che è stato fatto con UPS con consegna in 24 ore!! Fatto l'ordine domenica pomeriggio, martedì alle 12 era già nelle mie mani! Incredibile. Il mio kit era la versione completa ma senza il fermino ovale. Ci tenevo in particolare invece al fermino di metallo.

L'unica perplessità è stata sul rocchetto, che era leggermente più grande in diametro, magari 1 mm, e questo lo rendeva difficile da inserirsi nella sua sede. Per questo ho deciso di continuare ad usare il vecchio rocchetto, che mi sembrava ancora in buono stato, e entrava meglio anche sull'ingranaggio del motore. Non so se questa parte non fosse stata precisa... se sapete che dovete cambiarlo vi consiglio di misurarlo e chiedere conferma al venditore se sembra anche esteticamente differente.

L'ultima nota è che tutto il meccanismo è tenuto fissato alla carrozzeria della portiera con 6 RIVETTI! Il che vuol dire che

  1. per rimuoverlo dovete "mangiare" il rivetto con un trapano con una punta da 5mm per il ferro (io ho usato un trapanino a mano di fortuna, tanto il rivetto è di alluminio...)
  2. per rimontarlo c'è chi usa delle viti ma si fa tanta fatica, io ho comprato una rivettatrice: dopo aver capito come funziona, è geniale ed è chiaro perché sia stata usata...
Certo una rivettatrice è un investimento in più, ma su EBay o Amazon si trova anche con 15 € compreso il trasporto. Meglio usare una rivettatrice da 5 mm. Io avevo fretta e ne ho comprata una in negozio da 4mm a 20€.

Quindi il totale del mio investimento è stato di € 15 per il kit e di € 20 per la rivettatrice, più circa 3 ore di paziente lavoro. Fortunatamente avevo accesso ad una mola (indispensabile, vedi filmato) ed a un trapano, oltre che al cacciavite Torx per smontare il motore dal meccanismo.

Ah, ultimo avvertimento: quando usate la mola mettetevi dei buoni guanti di pelle. Non solo perché è più sicuro, ma soprattutto perché il pezzo diventa rovente! Mi raccomando, non guanti di plastica.

Buon divertimento

sabato 25 maggio 2013

Includere codice nei post Blogger ma non solo

Scrivendo il post precedente mi sono posto il problema su come includere facilmente del codice in un post, ma anche in qualsiasi altra pagina HTML.

Ho trovato un generatore di codice online molto pratico:

http://codeformatter.blogspot.it/

Se invece avete modo di inserire codice JavaScript sulle vostre pagine, credo che la soluzione migliore sia http://alexgorbatchev.com/SyntaxHighlighter/

Una carrellata di possibili alternative la trovate anche qui, compresa anche una soluzione di Google: http://www.1stwebdesigner.com/css/16-free-javascript-code-syntax-highlighters-for-better-programming/


Odissea R.java alias: perché gli sviluppatori iOS sono più felici

Non so se è capitato anche a voi di perdere un'intera giornata cercando di compilare un'app Android perché improvvisamente non viene più generato il file R.java delle risorse... a me sì e in queste occasioni rimpiango di non stare sviluppando un app per iOS.

Dopo aver passato una giornata saltando da ricerche su Google e analizzare il codice xml delle mie risorse senza sapere cosa stessi cercando, sempre più mi trovavo a pensare: "Possibile che in tutto Internet non esista uno straccio di suggerimento su come eventualmente visualizzare un benedetto messaggio di errore che indicasse cosa potesse non piacere all'IDE percui non venissero generati questo benedetto R.java?!".

Ebbene, finalmente ho trovato il modo di generare il file R.java direttamente da linea di comando e, specificando il parametro "-v", avere una spiegazione di cosa potenzialmente non gli piace. Il comando è "aapt" e si trova in platform-tools dell'SDK di Android!

Può essere lanciato come segue:

 aapt package -v -f -m -S /my_path/my-project/res -J /my_path/my-project/src -M /my_path/my-project/AndroidManifest.xml -I /may_path_to_sdk/android-sdk/platforms/android-8/android.jar -F R.java  

È probabilmente opportuno portare la directory corrente in "/my_path/my_project/gen" e poi lanciare il comando precedente specificando il path per raggiungere l'applicazione: "/my_path/android_sdk/platform-tools/aapt ....". Ovviamente ho usato la sintassi Unix/MacOS, se siete su Windows apportate le ovvie modifiche.

Ho trovato le informazioni in questa pagina:
http://www.herongyang.com/Android/Project-aapt-Android-Asset-Packaging-Tool.html

In realtà così ho scoperto di non aver alcun problema con i miei file XML! Il mio problema è originato da un aggiornamento dell'SDK alla res 17. Dopo aver lanciato l'Android SDK manager (dal menu Windows) questo mi diceva che l'Android SDK Build Tools non era aggiornato e andava aggiornato alla res. 17. Dopo aver completato questo aggiornamento tutto è tornato a funzionare, ma una giornata era ormai volta al termine.

In anni di sviluppo su iOS non ho mai toccato una punta di produttività così bassa o di frustrazione così alta...

venerdì 26 aprile 2013

Auricolare Bluetooth Samsung HM1700

Alla ricerca dell'auricolare Bluetooth perfetto... o almeno usabile.

Per motivi legati all'utilizzo della tecnologia NFC utilizzo da qualche settimana un Samsung Notes II, cosa che mi ha portato a tornare a cercare un auricolare BT.

Sono stato un utilizzatore dei primissimi auricolari BT della Ericsson, chi se li ricorda, quelli che si protendevano fin davanti alla bocca e la cui batteria durava pochissimo... da anni ne sono poi stato alla larga perché detestavo l'idea di dover continuare a caricare oggetti, propendendo per il buon cavo di rame degli auricolari.

Ora mi sono voluto rimettere alla prova con questo dispositivo, vista appunto la grande dimensione del Notes II.

La mia prima scelta è stato il Samsung HM1700, ma devo continuare a cercare qualcosa d'altro.
(Se selezionate il link qui sopra partirà una ricerca del prodotto su Amazon, così che potete vedere gli ultimi prezzi. Se lo acquisterete Amazon mi riconoscerà qualche punto percentuale e potrebbe essere il vostro modo di dirmi grazie)

I gravi problemi che ho riscontrato sono:

  • Il pulsante di gestione delle chiamate, se premuto quando non sei in conversazione, richiama l'ultimo numero. Questo succede SPESSISSIMO PER ERRORE semplicemente toccando l'oggetto, mettendolo, togliendolo o se si dimentica in tasca senza spegnerlo. Poi quando si vuole chiudere la chiamata, se il chiamante riaggancia prima di te, finisce che lo richiami...
  • Praticamente inutilizzabile quando c'è del rumore di fondo perché non ti sentono... il noise cancellation non pare avere effetti concreti, se c'è.
Per il resto è ottimo, ma non mi soddisfa. Se avete suggerimenti sono bene accetti, anche perché non sono riuscito a trovare recensioni o comparazioni efficaci di questi dispositivi.



lunedì 8 aprile 2013

Risparmiare con il boiler / scaldabagno elettrico

Haimé, la nuova casa in cui abito da qualche mese tra i tanti pregi ha il grande difetto di avere il riscaldamento elettrico dell'acqua, mediante il tristemente famoso bolier elettrico, anche detto scaldabagno ad accumulo. Il classico formato da 80 litri, tondo, verticale, di una buona marca ma non particolarmente orientato ai bassi consumi o e senza autoapprendimento dei consumi.
La bolletta elettrica del primo bimestre è stata di 160€ e, sono sicuro, in gran parte o almeno per 40-50€ è dovuta a lui.

Immagine quadro elettrico con timer
Quadro elettrico realizzato
La prima operazione che ho compiuto già da tempo è stata quella di abbassare la temperatura del termostato: l'inquilino precedente era abbastanza folle da aver girato il termostato al massimo, che faceva letteralmente bollire l'acqua a 100 gradi e se non stavo attento usciva vapore dalla doccia!
Tuttavia la "killer solution" è stata quella di realizzare un piccolo quadro elettrico con un timer settimanale. Al momento ho configurato il dispositivo per accendersi per 2 ore alla mattina dalle 5.30 alle 7.30: questa configurazione è sostenibile nel senso che la temperatura è sempre dal 50% al 60% del range della lancetta, tra mattina e sera, considerato una doccia e qualche lavaggio di piatti.
Questa configurazione va più che bene quando a casa ci sono solo io, cosa che capita purtroppo per parecchie settimane consecutive. Quando mi raggiunge la mia metà è sufficiente alzare il tempo di accensione a 3 ore di ogni mattina, dalle 4.45 alle 7.45. È inoltre presente un deviatore che consente di bypassare il timer qualora si desideri forzare l'alimentazione per aumentare la temperatura o avere acqua calda "fuori orario", tipo quando si aspettano ospiti. Due led, uno giallo e uno verde, mostrano l'attivazione del timer (verde) e lo stato di accensione (o per lo scattare del timer o per l'averlo forzato a mano). Considerata la potenza di 1.3kWh e il funzionamento per 2 ore al giorno in fascia noturna, mi aspetto un costo di utilizzo inferiorei ai 0,40€/giorno, il che fa circa 6 € al mese o 12€ al bimestre, e comunque inferiore ai 20€ portando l'utilizzo a 3 ore/notte. Vi farò sapere se le promesse saranno mantenute.

Lo schema elettrico è piuttosto semplice, quindi non lo allego a meno che mi venga richiesto. Il costo per il piccolo quadro elettrico è stato di circa 110€, presso un grossista di materiale per elettricisti, ed è composto da:

  • timer settimanale digitale DIN;
  • led giallo DIN 220V
  • led verde DIN 220V
  • deviatore DIN
  • box 8 unità DIN


Eventuali vostri commenti o esperienze in merito sono benvenuti.

giovedì 12 luglio 2012

Trenitalia: acquisto biglietti e cubovision

Due frustrazioni fresche dal mondo Trenitalia.


Primo: Qualcuno riesce a comprare i biglietti usando la carta fedeltà e chiedendo la fattura? Io no. È la seconda volta che viaggio senza usare la carta fedeltà perché, seguendo la procedura di acquisto con il codice cartafreccia e chiedendo la fattura, la procedura non mi lascia completare l'acquisto per un fantomatico errore di titolo di acquisto non valido prima della richeista della carta di credito.


E poi, dico io... per scegliere l'anagrafica a cui emettere fattura devi inserire la P.IVA della società e premere invio per poi scegliere da un popup il nome della società. Ma che senso ha?? È ovvio che per una P.IVA esista una sola società! Demenziale. In aggiunta il campo P.IVA non ti lascia fare copia/incolla, apparentemente volutamente, quindi devi digitarla ogni volta. Frustrante.


Secondo: Trenitalia si prodiga a dire che viaggiando con la loro connessione Internet WIFI (che è buona, va detto), puoi accedere ai contenuti di Cubovision (www.cubovision.it): messaggi audio, o descrizioni sul sito trenitalia (vedi questo link). Ma possibile che nessuno dia istruzioni chiare?


Sul link citato non è presente alcun link per andare su cubovision, ti dicono di cercare nel portale frecciarossa che compare dopo esserti collegati alla rete WiFi oppure di seguire il link http://portalefrecciarossa.it. Il dominio non esiste, nel senso che ti rimandano alla homepage di Trenitalia, dove ovviamente non si parla di cubovision.


L'unico link compare prima di fare la login sul servizio WiFi, ma ti porta ad un link insesitente (www.treno.cubovision.it) neanche rediretto.


Ma qualcuno li prova i link pubblicati? Possibile non venga proposto un happy-path!? Che tristezza infinita.


Eppure, la triste realtà è che chi finalmente accede a www.cubovision.it, può accedere solo ai comuni contenuti gratuiti del portale, nessun contenuto speciale per i viaggiatori in treno. L'idea sarebbe bella, ma l'implementazione più che pessima.


Forza Trenitalia! Speriamo che la concorrenza vi faccia svegliare un poco.....

SEAGATE HDD MOMENTUS XT ST750LX003 2,5'- 750 GB

Quando ho preso il mio ultimo MacBook Pro volevo a tutti i costi un disco da 7200 RPM 500 GB, ma a tutti i costi sono stato costretto ad usare un disco 750 GB 5000 RPM. Mi sono detto: entro un anno mi potrò permettere un disco allo stato solido.
In realtà oggi, un anno dopo, i dischi SSD cominciano ad essere abbordabili, ma sempre di dimensioni contenute. Però, in un anno, c'è un'alternativa: il disco ibrido Seagate HDD Momentus XT ST750LX003. Si tratta di un disco da 750GB a 7200 RPM (quello che volevo) ma con 8 GB di cache ottimizzata. Per letture e scritture di file grandi e come avere un disco a 7200 RPM molto veloce. ma per accessi più contenuti, che sono la norma nell'utilizzo normale del computer, è come avere un SSD da 750GB con interfaccia SATA da 6Gbps, pagato meno di 140 €.
Considerate che spessissimo il sistema accede ai dischi, non solo per caricare i file e le applicazioni, ma anche per "misteriosa normale gestione", e che le applicazioni MacOS sono molto sparse in differenti file risorse eccetera.
Inutile dire che finalmente il mio MacBook Pro ha raggiunto le performance che si merita. L'upgrade è vivamente consigliato a tutti, ma soprattutto a chi usa Mac.