Posts tagged: osx

Programmi “must have” per OSX

Ovviamente questa è una classifica completamente ed essenzialmente personale, contenente alcuni software che uso molto spesso sul mio MacBook.

Skim

Lettore PDF leggero, e con alcune feature interessanti. Lo uso molto per prendere “note a margine” delle slide durante le lezioni. L’avevo scaricato, tempo fa, per la sola modalità fullscreen.

http://skim-app.sourceforge.net/

Disk Inventory X

Sono disordinato, e lo sono sempre stato. Questo tool mi aiuta graficamente a trovare file grossi e inutili da eliminare (tipicamente i drive di qualche esperimento fatto con VirtualBox). Non lo uso molto spesso, ma quando lo uso trovo sempre qualche decina di Gb inutilmente occupati.

http://www.derlien.com/

Dropbox

Lo uso da relativamente poco tempo, però continuo a trovarlo molto utile. Ce l’ho sia sul MacBook, che sul pc fisso (linux) e cellulare (android) – lo uso principalmente per sincronizzare fra i due pc i file dell’università e i sorgenti di qualche programmino. Inoltre ci ho salvato i miei dizionari preferiti, e poi ho la cartella condivisa con gli amici per le cose meno serie. Da provare, se vi iscrivete cliccando il link qui sotto mi regalate 250 Mb di spazio.

http://www.dropbox.com/

Fetch Art

Per scaricare le cover dei brani su iTunes, piccola utility che uso saltuariamente.

http://fetchartblog.blogspot.com/

Music Brainz Picard

Usando la magia nera questo software trova le tag giuste per i file .mp3 forniti. Utile per le persone come me che si ritrovano con molti file non taggati.

http://musicbrainz.org/doc/MusicBrainz_Picard

Spotlight da linea di comando

Spotlight è un motore, integrato in OSX, per la ricerca di file sia tramite dati che metadati. Poche informazioni sono reperibili online, ma queste ricerche sono disponibili anche da command line (e quindi potenzialmente inseribili in programmi, script, etc…)

Vediamo velocemente una piccola introduzione. Innanzitutto preso un generico file su OSX, che sia indicizzato, possiamo vedere tutti i suoi dati con il comando mdls:

$ mdls update-cm-7.0.0-RC1-N1-signed.zip
kMDItemContentCreationDate     = 2011-02-16 12:39:47 +0100
kMDItemContentModificationDate = 2011-02-16 12:42:02 +0100
kMDItemContentType             = "public.zip-archive"
kMDItemContentTypeTree         = (
    "public.zip-archive",
    "com.pkware.zip-archive",
    "public.data",
    "public.item",
    "com.apple.bom-archive",
    "public.archive"
)
kMDItemDisplayName             = "update-cm-7.0.0-RC1-N1-signed.zip"
kMDItemFSContentChangeDate     = 2011-02-16 12:42:02 +0100
kMDItemFSCreationDate          = 2011-02-16 12:39:47 +0100
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = 0
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = 0
kMDItemFSLabel                 = 0
kMDItemFSName                  = "update-cm-7.0.0-RC1-N1-signed.zip"
kMDItemFSNodeCount             = 0
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 502
kMDItemFSSize                  = 83449050
kMDItemFSTypeCode              = ""
kMDItemKind                    = "Archivio zip"
kMDItemLastUsedDate            = 2011-02-16 12:42:02 +0100
kMDItemUsedDates               = (
    "2011-02-16 00:00:00 +0100"
)
kMDItemWhereFroms              = (
    "http://mirror.kanged.net/RC/update-cm-7.0.0-RC1-N1-signed.zip",
    "http://mirror.teamdouche.net/?device=passion"
)

Vediamo una lunga serie di metadati collegati al tipo di file, per un file audio saranno i tag ID3, per una foto invece avremo altezza, larghezza, risoluzione, colorspace e molte altre informazioni. La cosa, a mio avviso, più interessante è il fatto che tutti i file scaricati da internet avranno il campo “kMDItemWhereFroms” che salva l’url dal quale è stato scaricato il file, e il suo referrer. Il comando “mdfind” funziona come il classico find/locate di unix, ma permette di ricercare anche per “metadati”, ad esempio per trovare tutte le immagini scaricate da facebook, useremo il comando:

mdfind "kMDItemWhereFroms = *fbcdn*"

Divertitevi!

Recuperare l’errore “Invalid node structure” (recovery) su Snow Leopard + English Version

For a short ENGLISH version (very very short) scroll to bottom of the article.

Attenzione: prima di tutto questa non è una procedura standard, è solo il resoconto di come IO abbia risolto questo problema sul MIO MacBook – non mi dilungo in spiegazioni sui comandi e concetti dei sistemi unix-like, se capite quello che c’è scritto bene, altrimenti lasciate un commento e proverò a darvi chiarimenti, oppure rivolgetevi a qualcuno con conoscenze adeguate. È fondamentale capire che non mi assumo alcuna responsabilità se provando questa procedura perdete tutti i dati, vi si rompe il mac, o simili – fatelo a vostro rischio e pericolo.

Ieri sera il MAC si era freezato – il motivo è presto detto: tempo fa mi è scivolato (una ventina di centimetri) mentre il drive stava scrivendo, immagino che si sia rovinato parzialmente il disco, o il filesystem. Il giorno dopo riavviando il sistema andava lentissimo e il comando “sudo dmesg” segnalava diversi “Disk I/O error”. Questo errore in realtà segnala sia problemi hardware (per i quali il drive va sostituito) sia problemi software – ad esempio inconsistenze nel filesystem. Il mio era il secondo caso (è per questo che non sono sicurissimo che il drive si sia danneggiato, potrebbe aver “rimappato” i settori danneggiati su quelli di riserva) – ed ho risolto avviando il mac in modalità singolo utente (bisogna premere cmd+s all’accensione) e lanciando il comando “fsck -fy”, che in teoria è prassi standard per risolvere certi problemi (e in linea di massima non necessita di un backup) – ma il problema che mi si era presentato stamattina era ben diverso, e non risolvibile in questo modo.

Il comando fsck, sta per “filesystem check” ed è in grado di riparare i danni al filesystem, o comunque di renderlo funzionante (al costo di perdere alcuni dati) – per questo consiglio un backup di tutto ciò che è leggibile, e possibilmente anche dell’intera immagine del disco, prima di procedere. Per fare un backup basta inserire un drive esterno (usb), montarlo, e copiarci dentro tutti i dati.

Nel dettaglio, prima di inserire il drive esterno, lanciate questo comando e guardate l’output.

# ls /dev/disk*
/dev/disk0	/dev/disk0s1	/dev/disk0s2

Ora inseriamo il drive e lanciamo di nuovo il comando

# ls /dev/disk*
/dev/disk0	/dev/disk0s1	/dev/disk0s2	/dev/disk1	/dev/disk1s1

Ecco, in questo esempio il drive esterno ha preso il nome di “disk1″ e la sua unica partizione (nel mio caso NTFS) si chiama “disk1s1″. A questo punto, dobbiamo creare una cartella dove “montare” il drive, e fare il mount. Ri-montiamo il root in modalità read-write, con il comando “mount -uw /”, creiamo il mountpoint “mkdir /mnt” e finalmente facciamo il mount (nel caso di ntfs, di avere il supporto ntfs-3g, e del drive disk1 con unica partizione) : “mount -t ntfs-3g /dev/disk1s1 /mnt”.

A questo punto potreste avere qualche warning, o errore di timeout (io ho avuto quest’ultimo) ma facendo “ls /mnt/” possiamo controllare che il drive sia montato – vedendo se il terminale ci elenca i contenuti. A questo punto ho creato un archivio “tar” contenente tutta la mia directory utente, con il comando

tar -cvf /mnt/backup.tar /Users/qualsiasi

Dove sostituirete il vostro username al mio, ovviamente. Se uno volesse proprio essere sicuro, potrebbe anche farsi una copia byte per byte del drive sul mac, con

dd if=/dev/disk0s2 of=/mnt/mac_hd.img

Vi invito a leggere la manpage di dd per conoscere le opzioni aggiuntive da dare (bs count etc…) – Ma soprattutto fate attenzione che il file “mac_hd.img” non esista già sul vostro drive (verrà sovrascritto senza chiedere conferma).

Attenzione: dev’essere vostra cura fare il backup di tutti i file necessari, nel mio caso mi importava solo della directory utente, ma voi potreste avere file importanti anche in altri punti del filesystem. Io per i dati più importanti uso anche un servizio esterno, gratuito, e multipiattaforma (OSX, Linux, Windows, Android..) che è Dropbox, questo è il mio “referral link”.

Completati questi passaggi possiamo tentare questo comando, che è un po’ l’ultimo tentativo prima di dover formattare tutto (o addirittura cambiare drive) e ripristinare i propri dati dal backup.

Riavviamo di nuovo in “single user” (con cmd+s all’accensione) e lanciamo questo comando:

# fsck_hfs -pfry /dev/disk0s2

Ricordatevi che il risultato potrebbe portarvi in qualunque situazione, da un mac completamente funzionante (come quello dal quale sto scrivendo quest’articolo) ad un limbo con il drive vuoto – potrebbe perdervi tutti i dati non backuppati, e per sfregio potrebbe anche autodistruggere il macbook. A vostro rischio e pericolo, divertente il fatto che le opzioni contengano proprio “fry” a ribadire la pericolosità. Se siete fortunati, dopo un bel po’ di lavoro vi dirà che il filesystem è ok. Se siete sfortunati come lo sono stato (parzialmente) io, vi dirà che dopo tre tentativi non è riuscito a correggere l’errore. In questo caso lanciate il comando “fsck -fy” una o due volte, finchè non vi dice che è tutto ok. Se continua a darvi errore – mi sa che dovete buttare il drive e/o formattarlo e reinstallare tutto. Almeno ci abbiamo provato.

Attenzione: prima di tutto questa non è una procedura standard, è solo il resoconto di come IO abbia risolto questo problema sul MIO MacBook – non mi dilungo in spiegazioni sui comandi e concetti dei sistemi unix-like, se capite quello che c’è scritto bene, altrimenti lasciate un commento e proverò a darvi chiarimenti. È fondamentale capire che non mi assumo alcuna responsabilità se provando questa procedura perdete tutti i dati, vi si rompe il mac, o simili – fatelo a vostro rischio e pericolo.

Warning: this is NOT a standard procedure – it’s the way I have fixed MY macbook – i’m not here to explain unix-like commands and concepts, I you understand what’s written good – if not you could leave a comment or ask someone who knows. I’m not taking any responsibility over any damage this procedure could cause to your mac, ranging from data loss to global termonuclear war (and all things in between).

This morning I had a “Disk I/O Error” in the dmesg, and I tried the standard procedure of booting single user and running fsck, but i got an “Invalid node structure” error. So I did a backup on a USB external drive of my user folder. To do this backup i ran (at command line) “ls /dev/disk*” before and after connecting the drive – so I could identify what was his name in the system. In the examples above you could see my drive was “disk1s1″ (this means disk one – partition one, my usb drive has only one partition). I had to make root filesystem writeable, with “mount -uw /” and to create a mountpoint “mkdir /mnt” – after this I mounted the drive with “mount -t ntfs-3g /dev/disk1s1 /mnt” (pay attention, this is for a NTFS drive on a MAC with macfuse+ntfs-3g installed, your setup may be different).

After mounting the drive, I did a “tar -cvf /mnt/backup.tar /Users/my_user” to backup all my stuff. If I had enough space (and enough time) I could have done a “dd if=/dev/disk0s2 /mnt/disk.img” (check on the drive if disk.img already exists, this command doesn’t ask for confirmations to overwrite).

Warning: backup ALL you need. I kept all my files in my user directory, but it’s up to you to see where your data is and backup it properly. For important files I use an external service available on OSX, Linux, Windows and Android, Dropbox: this is my referral link.

After this i did a (be careful, this command will likely loose some data, or ALL data, on the disk) “fsck_hfc -pfry /dev/disk0s2″ and waited to finish (takes long time). It reported it cannot fix the drive in 3 attempts, so I ran “fsck -fy” after that (i needed to run two times) to finally read on the screen that the filesystem was successfully fixed. If yours keeps saying it’s not fixed chances are that you’re gonna have to change the hard drive, or at least need to do a full format and reinstallation. At least we tried.

Navigare fra le “Tab” di Firefox con il multitouch

Non è una cosa difficile, si usa il gesto “twirl” ovvero la rotazione, per passare da una tab a quella precedente o successiva. Aprite firefox (3.5) e digitate nella barra degli indirizzi “about:config”. Seguite la trafila di rito dove Mozilla vi dice di stare attenti, bla bla, e scrivete “gesture” nel filtro.

Ora impostate così queste voci:

browser.gesture.twist.left = Browser:PrevTab
browser.gesture.twist.right = Browser:NextTab

Godetevi la nuova funzione.

Nuove antenne e nuovi orizzonti

Tran Max UVS-300

Tran Max UVS-300

Eccola qui, l’antenna che ho appena acquistato. Non l’ho ancora montata perchè sono in fase di studio del suo sostegno. Comunque le caratteristiche tecniche sono, sinteticamente: 5,2 m di altezza, 8.3 dB di guadagno sui 2 metri, e 11.7 dB sui 70 centimetri. Potenza massima 200 W.

Adesso vedrò di alzarla il più presto possibile, la discesa vorrei farla con un Aircell 7, o un RG-213. E poi si vedrà.

Oltre all’antennaggio, sono passato al lato oscuro dell’informatica. OSX. Che è ottimo, pochissime lacune, invece molte cose funzionali, come il multitouch che all’inizio sembra un effetto inutile per sbalordire, e invece è utile soprattutto se accoppiato a MultiClutch al quale ho assegnato solo “Swipe Down” (ovvero 3 tocchi che scorrono verso il basso) a   ?+H, ovvero “Hide/Nascondi”.

Per il momento sono a corto di programmi HAM per OSX, alcuni li sto provando, ma appena avrò un setup decente, scriverò le mie scelte.

Adesso che è finita la lunga pausa estiva, riprenderò a scrivere qualcosa di tanto in tanto su questo blog, come facevo prima dell’estate. L’idea è sempre quella di arrivare ad una certa regolarità… ma la vedo dura.

Concludo con l’informazione che sto provando Arch Linux, con KDE4 sul mio Desktop, e dopo un inizio non esaltante le cose stanno andando meglio. Il vecchio portatile verrà presto convertito in un serverino casalingo (Samba shares, condivisione stampante, backup).

Alla prossima!