Home    About me    Publications    Blog    Tweets    Contacts

Fabio Ruini's blog

'cause Italians blog better

Archivio per la 'Internet and ICT' Categoria

Windows CE: Total Commander su Hyundai ix35

In questo weekend mi sono ritagliato qualche minuto di tempo per giocare un po’ con le apparecchiature installate sulla mia Hyundai ix35. Prima di tutto il routinario aggiornamento del software di bordo (scaricando l’aggiornamento dal solito navigation.com, secondo una procedura già descritta in questo post). Dopodiché ho voluto provare Total Commander, un file manager per piattaforme Windows che offre anche una versione (freeware) dedicata a Windows CE.

Per scaricarlo consiglio di partire dal link pubblicato sul forum USA di Hyundai (più precisamente: https://googledrive.com/…/IX35_USB.zip). Per utilizzarlo e’ poi sufficiente copiare tutto il contenuto dell’archivio scaricato nella root di una periferica di archiviazione USB (unico requisito il fatto che sia formattata in FAT32), inserire quest’ultima nella presa USB della vettura (a motore acceso, ma col sistema di intrattenimento di bordo spento) e poi accendere il display.

L’interfaccia che si presenta all’utente e’ questa:

Total Commander su Hyundai ix35 (2013)

Non usabilissima con dita di medie dimensioni (consiglio di utilizzare la gomma sul retro di una matita o, ancora meglio, di un portamine) consente comunque di accedere ai contenuti della memoria interna nonché, ovviamente, a quelli memorizzati sul dispositivo USB. Il poter “trasformare” il sistema di intrattenimento della Hyundai in un terminale Windows CE apre le porte ad una gamma di possibilita’ di modifiche e personalizzazioni pressoché infinita. Si può infatti spaziare dall’aggiornamento delle mappe del navigatore (vedi ad esempio qui) all’utilizzare applicazioni pronte per l’uso (qualcuno ha detto player multimediali? Tipo TCPMP, voPlayer, PocketMVP o altri elencati a questo link?), allo scrivere utility proprie (e chissà, anche se forse e’ improbabile, che non si riesca ad estrarre e visualizzare informazioni provenienti dalla vettura?).

Insomma, io ho gettato il sasso… :)

SVN 1.8 su Mac OS X 10.10 (Yosemite)

Necessita’ di aggiornare la versione di subversion (1.7) installata di default sul vostro Mac con Yosemite? Il buon Guillaume Jarysta-Dautel, prendendo a sua volta in prestito quanto descritto da tale Sam Oldak, ci mostra come fare:

NB: come sempre in questi casi e’ necessario che sulla macchina vi sia installato Xcode, con tanto di command line tools.

PeaceMaker: il videogioco che insegna a “far la pace” in Medio Oriente

Quello dei Serious Games e’ un settore che negli ultimi tempi sta riscontrando una popolarità in costante aumento. Per quanto mi riguarda ho iniziato da alcune settimane a documentarmi sull’argomento e seguire un corso on-line organizzato da Coursera. Dopo tanta teoria e’ pero’ venuto il momento della pratica. Così’, su input di un collega, ho puntato il mio browser all’indirizzo http://www.peacemakergame.com ed ho scaricato PeaceMaker.

PeaceMaker - screenshot

PeaceMaker e’ un serious game ambientato in Medio Oriente. Al lancio chiede innanzitutto al giocatore di scegliere quale dei due schieramenti disponibili guidare: Autorita’ Palestinese o stato di Israele. Una volta fatto cio’ si entra subito nel vivo del gioco. L’obiettivo, semplice e lineare, e’ quello di condurre il territorio alla pace con una coesistenza reciprocamente accettata tra i due stati. Il giocatore assiste ad eventi di vario genere (attentati, manifestazioni, ecc…) che si susseguono in maniera irregolare e deve prendere decisioni sulla base di questi. Decisioni che possono riguardare la sicurezza, essere di natura politica o relativi allo sviluppo. Dopo ogni scelta trascorre una settimana di tempo ed i risultati ottenuti sono immediatamente visibili. Due indicatori riassumono lo stato della situazione e servono da benchmark per capire come ci si sta muovendo. Nel caso dell’Autorità Palestinese si tratta del livello di approvazione da parte della popolazione palestinese e di quella israeliana, nel caso di Israele l’approvazione che va ricercata e’ invece quella dei propri cittadini e della comunità internazionale nel suo complesso.

PeaceMaker - victory screenshot

Cio’ che e’ particolarmente interessante (ed oltremodo didattico) in PeaceMaker e’ il poter toccare con mano come qualunque decisione abbia un impatto di senso opposto sui vari stakeholder coinvolti. Sia interni (nel caso palestinese: la popolazione, Fatah, Hamas ed il primo ministro), sia esterni (il “pubblico” israeliano, le nazioni unite, gli USA e i Paesi arabi). Aumentare i fondi alla polizia, tanto per fare un esempio banale, fara’ contente alcune fasce della popolazione, Israele e gli attori esterni, ma al tempo stesso sara’ mal digerita da Fatah e soprattutto Hamas, che da sempre vivono in maniera ambigua il rapporto con le loro falangi armate. Allo stesso modo, trattare con certe parti piuttosto che con altre avra’ effetti di vario genere sugli altri attori (dialogare con Fatah, tanto per dire, non piacerà sicuramente ad Israele ed alla comunità internazionale, ma potrebbe essere ben visto dalla leadership palestinese e da ampi strati della popolazione). In ogni momento sono disponibili statistiche relative allo stato dell’economia del Paese, all’autorità percepita del governo, al livello di controllo che l’Autorità’ Palestinese ha sul territorio, all’approvazione da parte del presidente, alla percezione dei palestinesi quali credibili interlocutori da parte degli israeliani ed al livello di cooperazione che Israele e’ pronta ad offrire. Trovare un bilanciamento, come e’ facile intuire (e come la storia insegna) non e’ affatto semplice. Occorre dare un colpo al cerchio ed uno alla botte, mantenendo il più possibile un equilibrio e sperando che la situazione non sfugga di mano per colpa di scelte strategiche errate o azioni intraprese autonomamente da terze parti.

Dallo scorso 4 novembre il gioco, che e’ disponibile sia per piattaforme Windows che OS X, puo’ essere scaricato gratuitamente.

Crawling Twitter con R (e twitteR)

Su input di un ragazzo che sto seguendo da correlatore esterno per la sua tesi di laurea ho rispolverato il buon vecchio R, il popolare tool open source per l’analisi di dati, che non prendevo in mano dai tempi in cui quello che stava studiando per laurearsi era il sottoscritto. Scopo della reunion provare un pacchetto, twitteR, che si propone quale interfaccia alle Twitter API 1.1 e permette in maniera molto semplice di fare crawling dei contenuti pubblicati sul social media in questione.

tweet-viewer-worm-crawling-around-twitter-warning--72c871613b

twitteR può essere installato molto facilmente attraverso il “package installer” fornito da R. In alternativa la pagina ufficiale propone i binari per MacOSX e Windows, nonche’ i sorgenti. Il manuale del pacchetto può invece essere scaricato a questo link.

Tra le varie funzioni che ho trovato interessanti ai fini di crawling segnalo:

  • favorites(user, n=20, max_id=NULL, since_id=NULL, …): restituisce gli n tweets favoriti più di recente dallo user specificato;
  • friendships(screen_names=character(), user_ids=character(), …): ricevuto in input un elenco di screen_names restituisce informazioni se questi utenti sono follower dell’utente autenticato e/o viceversa;
  • getCurRateLimitInfo(resources=character(), …): restituisce un data.frame contenente tutte le informazioni circa i limiti di crawling correnti per l’utente autenticato (vedi screenshot);

    screenshot R twitteR package when executing getCurRateLimitInfo()

  • getTrends(woeid, exclude=NULL, ….): restituisce i trending topic per il woeid (Where On Earth ID) fornito in input;
  • getUser(user, …): restituisce tutte le informazioni disponibili circa lo user fornito in input (informazioni di base, elenco di amici, di follower e timeline aggiornata);
  • searchTwitter(searchString, n=25, lang=NULL, since=NULL, until=NULL, locale=NULL, geocode=NULL, sinceID=NULL, retryOnRateLimit=120, …): restituisce n tweet contenenti il testo passato nella searchString e filtrati secondo gli altri parametri in input;
  • showStatus(id, …): ricevuto in input l’ID di un tweet ne restituisce il contenuto.

Prima di chiudere il post e’ doverosa una sottolineatura per quanto riguarda la gestione delle autorizzazioni necessarie per effettuare il crawling. Il pacchetto twitteR richiede all’utente soltanto una delle due coppie di chiavi che le Twitter API generalmente utilizzano, la API key e la API secret. Su slideshare ho reperito un ottimo documento, a cura di Leonardo Di Donato, che mostra una funzione con la quale gestire l’intero processo di autenticazione da dentro a R in maniera semplice e veloce. Posto qui di seguito il relativo codice.

Nel ringraziare Di Donato per il lavoro svolto e condiviso con la comunita’, posto qui il link al suo “Guida all’estrazione di dati dai Social Network“. Nel caso in cui doveste avere problemi con slideshare, potete scaricare il tutto anche da qui sotto.

Ancora di Twitter e di Sentiment Analysis/Opinion Mining

Come ultimamente mi capita piuttosto spesso, anche oggi ho avuto modo di spendere un po’ di tempo per investigare come poter applicare procedure di Sentiment Analysis/Opinion Mining su contenuti raccolti da Twitter. Vi risparmio il resoconto degli esperimenti (una volta tanto decisamente soddisfacenti) condotti con Twitter4J (e bruscamente interrotti quando le Twitter API hanno iniziato a restituirmi, al posto dei risultati soliti, una serie di warning relativi al rate limiting). Piuttosto, ci tengo a segnalare alcuni buoni articoli sull’argomento che, per quanto non apparsi su journal o proceeding di conferenze particolarmente prestigiosi/e, ho trovato ben fatti (e con un piglio pratico che in questo momento apprezzo in particolare).

Example of sentiment analysis (polarity) about leaders

Il primo di questi articoli illustra la procedura adottata dagli autori per lo sviluppo di SSA-UO, uno strumento di sentiment analysis per Twitter non-supervisionato. La metodologia elaborata da Ortega e colleghi prevede una fase di pre-processing (per la gestione di emoticon e slang, lemmatizzazione e POS-tagging), una di word polarity detection (che, utilizzando WordNet e SentiWordNet, prende in considerazione anche il contesto) ed una di classificazione (appoggiandosi ad una semplice rule-based classifier).

Il secondo paper e’ una review, mediamente estesa, dei principali lavori fatti in materia di opinion mining sulla base di tweet in lingua araba. Nel dettaglio sono 65 gli studi citati, con le principali caratteristiche riassunte in alcune pratiche tabelle.

Infine, l’ultimo articolo descrive un approccio per effettuare sentiment analysis in maniera indipendente dalla lingua di riferimento (i.e., quella nella quale sono scritti i tweet). Per lo scopo, Narr e colleghi utilizzano un Naive Bayes classifier (preso dalle NLTK) che lavora su tweet tokenizzati (utilizzando una versione estesa del tokenizzatore di O’Connor) e si focalizza principalmente sulle emoticon presenti nei messaggi. Per testare le performance del sistema sviluppato, gli autori hanno preparato un dataset di 12,597 tweet, in quattro lingue (inglese, tedesco, francese e portoghese), annotati manualmente (da tre persone diverse, utilizzando il Mechanical Turk di Amazon) come positivi, negativi, neutrali ed irrilevanti. Il dataset può essere scaricato a partire da questo link.

In relazione a quest’ultimo articolo, mi preme sottolineare come esistano anche diverse presentazioni scaricabili da SlideShare. Quella che ho trovato più interessante potete consultarla a questo link. Per un qualcosa di ancora più rapido, invece, a voi un poster.

Pagina successiva »

%d blogger cliccano Mi Piace per questo: