Pagine

21 febbraio 2011

Internet of things con Massimo Banzi

Giovedì 24 febbraio a Bologna si terrà:
"Internet delle cose - Che futuro ci aspetta"
L'incontro, gratuito, è organizzato da Assi (Associazione Specialisti Sistemi Informativi) e Cofimp. Interverranno Massimo Banzi (co-fondatore del progetto Arduino) e Leandro Agrò (co-fondatore di WideTag e Global Director User Experience di Publicis Healthware International).
Se volete iscrivervi, seguite il link alla pagina dedicata all'evento su EventBrite, ma affrettatevi che al momento sono disponibili solo 5 posti.

9 febbraio 2011

Codemotion 2011

Il 5 marzo si terrà a Roma il primo Codemotion, un evento dedicato a tutti gli appassionati di tecnologia e programmazione.
L'evento, gratuito, è un'evoluzione del JavaDay che dopo 4 anni si apre a tutti i linguaggi di programmazione e diviene appunto Codemotion. L'iniziativa vuole essere una festa dei linguaggi di programmazione: un'occasione per condividere le proprie esperienze e incontrare le aziende sponsor, a cui è possibile lasciare il proprio CV. Tra gli sponsor più conosciuti troviamo Samsung, Oracle, Adobe, Sony Ericsson, IBM e Capgemini.

Il programma si presenta molto ricco, con i primi interventi previsti alle 9.00 e gli ultimi alle 18.00. I talk sono suddivisi in 7 categorie: gaming, mobile, web & beyond, tools & process, hacking & OS e what's hot per un totale di 65 talk spalmati lungo tutto l'arco della giornata.

Durante questo mese di attesa è inoltre possibile iscriversi a due concorsi: Il primo, aperto a tutti, si chiude il 15 febbraio e mette in palio un iPod touch da 32 GB a chi invierà il codice che verrà votato come il più "emozionante". Il secondo invece è aperto solo a studenti universitari e si chiude il 18 febbraio; in questo caso il premio è di 1000€ per i primi tre classificati in grado di creare il processo migliore sulla piattaforma Blueworks Live della IBM.

Personalmente trovo positivo che in Italia si sia riusciti ad organizzare un evento simile, dato che nel nostro paese si fa fatica a scovare eventi di una certa dimensione legati al mondo della tecnologia e della programmazione. Spero vivamente che il tutto si svolga piacevolmente e che il Codemotion diventi un appuntamento fisso.
Ora ho solo un piccolo problema, come faccio a scegliere quali talk seguire? ^_^

Nota: per approfondire, visitate il sito del Codemotion.

8 febbraio 2011

GDD Milano #15 - Data

Piccolo aggiornamento per quanto riguarda la data della quindicesima Girl Geek Dinner Milanese.
L'incontro dal titolo: "User interfaces – Come interagire con la tecnologia e padroneggiarla senza esitazioni" si terrà il 4 marzo in luogo da definirsi.
Se siete una Girl Geek e volete intervenire durante la serata, andate sul sito delle Girl Geek Milanesi, stanno infatti cercando ragazze disponibili a prendere in mano il microfono. Se siete Boy Geek invece, è meglio che cominciate a cercare qualche donzella perché gli uomini accedono solo accompagnati da vere Girl Geek.

OpenMT: Multi-touch DIY

Grazie a twitter ed al blog di Make:, sono venuta a conoscenza di un interessante progetto: OpenMT.
Il progetto è stato sviluppato dalla  Sensible UI, una piccola azienda coreana, che stanca di andare alla ricerca di dispositivi multi-touch adatti ai propri scopi, ha deciso di crearne uno.
La particolarità di questo dispositivo sta nel fatto che è possibile riprodurlo autonomamente grazie al software open-source e ad Arduino. Al momento è disponibile la release 0.1,  che promette di poter operare un trackpad multi-touch 8x8. Il progetto si compone di 3 software (VIS3D, MTView, SGDriver) e di un dispositivo multi-touch basato su Arduino (ArduMT1).
I video mostrano alcuni esempi di funzionamento:




Il software è stato sviluppato per Windows 7, ma confido nel fatto che, se il progetto si dimostrerà valido, presto verrà portato anche su Linux e Mac.
Vi ho stimolato la curiosità? Se volete approfondire potete fare riferimento al sito del progetto OpenMT, al blog ufficiale o alla repository su sourceforge.

7 febbraio 2011

IOBluetoothDeviceInquiry - Ora funziona!

Nonostante avessi richiesto una mano per del codice nel post PyobjC e Cocoa API, sono riuscita in breve a scovare nei meandri della rete qualcuno che come me ha avuto qualche difficoltà a capire il funzionamento della classe IOBluetoothDeviceInquiry e che per questo ha messo a disposizione un esempio corretto. L'esempio originale (lo trovate qui) è stato scritto in objective-c e comprende anche qualche manipolazione dei dispositivi trovati.
Quello che ho fatto è stato semplicemente "tradurre" l'esempio in Python tramite le regole di conversione di PyObjC, eliminare le parti che non mi servivano e personalizzarlo un po':

# Setup the inquiry to search for available devices
inquiry = IOBluetoothDeviceInquiry.alloc().init()
inquiry.start()
NSThread.sleepUntilDate_(NSDate.dateWithTimeIntervalSinceNow_(7))
inquiry.stop()

# Create an array of foundDevices
deviceList = inquiry.foundDevices()
print deviceList.count()

Effettivamente, mi ero già accorta che il mio codice precedente terminava troppo rapidamente, di certo non i 10 secondi cui dovrebbe durare la ricerca, ma non avevo trovato il modo di risolvere la questione e così foundDevices() veniva chiamato troppo presto. Quello che invece non mi è ben chiaro, è perché sia necessario chiamare anche stop(): la ricerca non dovrebbe terminare da sola dopo massimo 10 secondi? C'è ancora qualcosa che mi sfugge?

6 febbraio 2011

Pagamento Sociale

Navigando nella sconfinata rete sono incappata in questo strano modo di farsi pubblicità e "vendere" i propri prodotti. Si chiama Pay with a Tweet e si tratta di rendere disponibili contenuti (libri, mp3, trailer) in cambio di un tweet e nient'altro.
Lo trovo un ottimo modo per farsi pubblicità a patto che i contenuti rilasciati siano di effettiva qualità e non un semplice sotterfugio per diffondere il proprio marchio attraverso i tweet degli utenti.
Al momento il fenomeno non sembra particolarmente diffuso anche se sul sito è scritto che sono stati già creati più di 300.000 tweet-pagamenti. Se vi interessa un elenco dei file "comprabili" andate a dare un occhiata qui. Personalmente sono interessata solo all'offerta dell'Hotel Domspitzen che offre una birra per un tweet, peccato si trovi a Colonia!

5 febbraio 2011

Finiti gli indirizzi IPv4

Appena un paio di anni fa frequentavo il mio primo corso inerente le reti di comunicazione e Internet. In quel corso ci vennero presentati tra le altre cose IPv4, IPv6 e il problema dell'esaurimento di indirizzi pubblici sotto IPv4. Ci venne detto che in realtà da anni esiste un'alternativa, IPv6 appunto, ma che a causa dei costi di aggiornamento delle infrastrutture e della prorogabilità del problema, davvero pochi si erano preoccupati di adeguarsi al nuovo standard.

Bene, è del 3 febbraio scorso la notizia che effettivamente anche gli ultimi indirizzi pubblici sono stati assegnati a vari RIR (per approfondire: qui e qui).

In realtà, per ora, questo non comporta grandi stravolgimenti per gli utenti comuni, ma certo fa pensare, e personalmente mi stupisce, con che rapidità sia cresciuto Internet negli ultimi anni.

PyobjC e Cocoa API

E' da non molto che mi sono avvicinata al mondo Mac e al mondo Python. Le due cose non sono necessariamente legate, ma dato che sto cercando di esplorare le potenzialità del Wiimote e tutti i tutorial e le API che trovo sono o dedicati agli sviluppatori Windows o agli sviluppatori Java, ho pensato di risalire alla fonte e di provare a crearmi una mini libreria personalizzata (forse dovrei chiamarla framework? ^_^) per gestire l'interfaccia bluetooth direttamente da un programma Python.
A dire la verità, esisterebbe già un API scritto proprio per gli utenti della mela, ma è un progetto arrivato alla release 0.4 e mai più toccato dal novembre 2009. La cosa non mi rende molto fiduciosa per quanto riguarda la compatibilità e mi sono quindi detta che avrei speso meglio il mio tempo creandomi un API ad hoc, piuttosto che imparando quella di qualcun'altro e nel frattempo avrei anche preso dimestichezza con Python.

In mio soccorso sono arrivati subito Pyobjc e i framework Cocoa (in particolare IOBluetooth e IOBluetoothUI).
Il primo è un bridge tra Python e Objective-C che si trova direttamente installato in OS X 10.5 o superiori, mentre le seconde sono le API presenti nei sistemi operativi Apple più recenti e sono scritte in Objective-C.

A questo punto, pensavo di avere tutto quello che mi servisse per mettermi a programmare, ed invece sto trovando parecchi intoppi lungo la strada. Il fatto è che trovo pochissima documentazione su Pyobjc, anche se sembrerebbe largamente utilizzato e lodato. Se qualcuno dovesse trovare qualche fonte aggiornata mi farebbe cosa gradita se me la segnalasse, magari in un commento.
Nel frattempo cercherò di raccogliere tutte le informazioni che riesco a trovare in questo e successivi post, in modo che possano essere utili anche ad altri.

Importare un framework in un modulo Python:
Da OS X Leopard per importare un framework in un modulo Python tramite Pyobjc si utilizza:

__bundle__ = objc.initFrameworkWrapper("IOBluetooth",
               frameworkIdentifier="com.apple.IOBluetooth",
               frameworkPath=objc.pathForFramework(
               "/System/Library/Frameworks/
               IOBluetooth.framework"),globals=globals())



E non come suggerito in molti post nella rete:

objc.loadBundle("IOBluetooth", globals(),                 bundle_path=objc.pathForFramework
                (u'/System/Library/Frameworks/
                IOBluetooth.framework'))


il problema a questo punto diventa cercare un device remoto, che nel mio caso è il Wiimote. Ho provato in vari modi, ma il risultato è sempre negativo.
Questo è il codice:

inquiry = IOBluetoothDeviceInquiry.alloc().init()
a = inquiry.start()

if a == 0:

  devices = inquiry.foundDevices()

  print devices.count()

else:

  print "errore"

devices.count() ritorna sempre 0, il che dovrebbe indicare che non è stato trovato nessun device bluetooth. Evidentemente sto sbagliando da qualche parte, ma non riesco a capire dove. Nessuna idea?

Aggiornamento: Ho risolto il problema! Se volete sapere come, leggete questo post.

4 febbraio 2011

Una nuova Girl Geek Dinners Milanese

Sul blog delle Girl Geek Milanesi è di ieri il post che annuncia l'organizzazione di una nuova cena tra geek dal titolo:

"User interfaces: i vari modi per utilizzare il web, i device di nuova generazione e gli strumenti di uso comune in modo semplice e user friendly"

E' da qualche anno ormai che seguo abbastanza assiduamente il blog principale e la sezione milanese, ma solitamente gli argomenti trattati, soprattutto nelle cene, mi hanno sempre interessato marginalmente. Infatti, nonostante apprezzi il lavoro di informazione e networking che svolgono, ho sempre trovato gli argomenti rivolti più ad un pubblico di utilizzatori delle nuove tecnologie che non di sviluppatori. Questa volta invece mi hanno davvero incuriosito e spero di riuscire a presenziare all'incontro.
Per ora non è dato sapere né il giorno, né il luogo della cena, ma è stata presentata una prima scaletta:

-  Interfaccia grafica di un sito web
-  Architettura dell’informazione
-  Usabilità
-  Interazione uomo-macchina
-  Interfaccia game
-  Interfaccia TV
-  Interfaccia mobile

Cercherò di tenervi aggiornati sugli sviluppi della serata e soprattutto spero che per una volta affrontino l'argomento anche dal punto di vista di chi lavora nella tecnologia e non soltanto di chi lavora con essa.

Aggiornamento Firmware TV Toshiba XV635D

Questo tutorial è dedicato a chi come me ha un Toshiba 37XV635D con lettore file video difettoso. Dovrebbe andar bene per tutta la serie XV635D, ma assicuratevi di scaricare il firmware corretto per il vostro modello. Se non vi interessa l'antefatto, passate direttamente alla scritta "UNO", lì inizia il vero tutorial.
Buona lettura.


Dopo quasi 15 anni di onorato servizio il mio vecchio televisore a tubo catodico ha deciso di morire durante la scorsa primavera lasciandomi con un dilemma: ripararlo o cercare un nuovo televisore con DTV (digitale terrestre) e magari ingresso USB? Ovviamente la scelta è ricaduta sulla seconda opzione, visto i costi esorbitanti delle riparazioni, soprattutto su apparecchi vecchi, e l'imminente switch off che mi avrebbe comunque costretto a spender soldi per un decoder.
A dir la verità, io di televisori ci capisco poco e ancora meno di nitidezza dell'immagine o di purezza del suono, l'importante è che si veda e si senta decentemente. Per questo ho scelto un Toshiba 37XV365D che fa il suo dovere, anche se...

E qui arriviamo al punto:  fino a due giorni fa non leggeva i file video dalle chiavette! In un primo momento ho pensato fosse la chiavetta USB ad essere formattata con il file system errato ed invece era giustamente FAT32; poi mi è venuto il dubbio che fosse il formato dei file video ad essere errato, ma anche in questo caso era giustamente un file DivX. Ho escluso subito l'hardware perché la chiavetta si illuminava una volta inserita e perché le foto, invece, si vedevano tranquillamente!
La cosa mi insospettiva parecchio e mi ero fatta l'idea che fosse un problema software, magari qualche file corrotto dato che una volta selezionato il menu "film" il televisore rimaneva acceso, ma con lo schermo nero e una striscettina di pixel bianchi in alto a sinistra.
Ero subito andata sul sito Toshiba a cercare se ci fossero firmware aggiornati, ma anche questo non aveva risolto i miei problemi, tutto era rimasto uguale.
Poi è arrivata l'estate, i centri assistenza chiusi e una xbox 360 che faceva le veci della porta USB difettosa. Fino a due giorni fa, quando mi viene in mente di ricontrollare il sito della Toshiba per vedere se nel frattempo qualcosa è cambiato.
Ed infatti, tombola! Nuovo firmware per i modelli XV365D!
Giusto il tempo di scaricare i file, leggere le istruzioni per l'aggiornamento e voilà! Magicamente la porta USB ora legge anche i file video senza problemi.
Ora, siccome so di avervi tediato abbastanza con questo racconto, passo alle cose importanti: il tutorial!


UNO: PROCURARSI IL FIRMWARE
Prima di tutto dobbiamo procurarci i file per l'aggiornamento.
Andate sul sito Toshiba e dal menu "Prodotti" selezionate "TV LCD/LED" una volta caricata la pagina selezionate dal menu in alto "Servizio e manuali" ---> "Aggiornamento Software", poi premete su "Scarica QUI gli aggiornamenti software per il tuo TV" ed infine sull'immagine "ultimo firmware". Oppure, fino a che dura, andateci direttamente da qui
Giunti a questo punto dovete selezionare il tipo e il modello del vostro televisore, che nel mio caso sono "Televisions" e "37XV635D". Vi si aprirà una pagina con in alto il numero del firmware più recente (al momento in cui scrivo è il 2.1.77.0) e poi tre link: i primi due sono manuali per l'aggiornamento in inglese, mentre il terzo è quello che ci serve realmente, il firmware!

DUE: PREPARASI ALL'AGGIORNAMENTO
A questo punto, abbiamo trovato il firmware, ma non siamo ancora pronti.
Prima di tutto dobbiamo formattare una chiavetta in FAT16 come chiaramente specificato nei manuali in inglese e poi dobbiamo lanciare il file .exe che abbiamo appena scaricato.
Infatti il vero firmware è contenuto all'interno del .exe e su Windows può essere estratto semplicemente avviando il programma. Il manuale parla anche di accettare qualche certificato, ma personalmente non ho sperimentato poiché ho fatto tutto da Mac.
Per estrarre il firmware su Mac OS X 10.6 ho utilizzato un'applicazione gratuita che si chiama "The Unarchiver" e che è in grado di aprire tra gli altri: zip, rar ed exe. All'interno del .exe troverete semplicemente un file e una cartella rispettivamente denominati "eutv9as4.prg" e "eutv9as4".
Dovrete quindi mettere sulla chiavetta FAT16 solo il file "eutv9as4.prg" e la cartella "eutv9as4", sia che siate Windows o Mac.

TRE: AGGIORNARE IL TELEVISORE
Siamo giunti finalmente alla parte più importante: l'aggiornamento vero e proprio. Il procedimento non è complicato, ma come al solito è bene seguire le istruzioni attentamente per essere sicuri della riuscita.
Prima di tutto, mettete il televisore in standby ed inserite la chiavetta USB FAT16 con il firmware nell'apposita porta.
Premete contemporaneamente il tasto "MENU" e "POWER" che trovate sul lato destro del televisore. Teneteli premuti per circa 10 secondi, cioè fino a che la spia rossa dell standby non si spegne. A questo punto rilasciateli e attendete che la spia "on timer" diventi verde e quella dello standby arancio (entrambe le spie sono in basso a destra sulla cornice del televisore): il televisore sta aggiornando il firmware.
Quando la spia "on timer" si spegne a quella dello standby diventa verde, potete togliere la chiavetta USB. A questo punto premete il tasto "POWER" del televisore per circa 10 secondi fino a che la spia dello standby si spegne. La televisione si riavvierà e nel mentre lo standby dovrebbe lampeggiare (in realtà a me è diventato subito rosso, mah!)
Ora potete accendere il televisore e entrando nel menu SETUP/IMPOSTAZIONI, selezionare l'ultima voce (dovete far scendere la pagina!), cioè Reset TV/Ripristina TV. La televisione si riavvierà chiedendovi tutti i dati che vi aveva chiesto alla prima accensione. Terminato il settaggio delle impostazioni, avrete anche terminato l'aggiornamento Firmware.

Mi raccomando, fatemi sapere se sono stata chiara e se anche a voi l'aggiornamento ha sistemato i problemi con i file video.

Nota: ho letto in giro per la rete che il reset da menu non è indispensabile, ma siccome è indicato nel manuale Toshiba, personalmente ho preferito farlo.

3 febbraio 2011

Guida al ripristino delle impostazioni di fabbrica di un Acer

Questa guida illustra come reinstallare il sistema operativo originario sul vostro Acer, senza avere a disposizione i cd/dvd di ripristino creati tramite l'utility eRecovery. Il metodo è stato provato con successo su di un Acer Aspire 5100, ma credo funzioni sulla maggior parte dei portatili Acer.
N.B. Se non siete interessati all'introduzione saltate alla scritta "METODO 1"

Ho deciso di scrivere questa piccola guida in italiano perchè dopo quasi 8 ore di tentativi e di ricerca in tutti i forum inglesi più improbabili, sono finalmente riuscita a ripristinare il mio portatile Acer alle impostazioni di fabbrica senza CD di ripristino e senza poter usufruire della combinazione Alt+F10, predefinita in tutti gli Acer.
La mia difficoltà derivava dal fatto che avevo installato un S.O. diverso da quello che mi era stato fornito al momento dell'aquisto e questo aveva cancellato la possibilità di raggiungere una piccola partizione nascosta nell'hard-disk in cui sono contenuti i file di installazione del S.O. originario.
La procedura descritta nel metodo 3 dovrebbe funzionare se la vostra partiziona nascosta, chiamata PQSERVICE, è ancora intatta. Non dovrebbe invece essere importante con che windows la eseguite o a che versione volete tornare.
Di seguito ho elencato i tre metodi principali per ripristinare le impostazioni iniziali in ordine di difficoltà/lunghezza.


METODO 1
Per prima cosa proviamo il metodo più immediato che quasi sicuramente non farà al caso vostro (ricordate la legge di Murphy -_-):

All'avvio del pc premete ripetutamente "ALT+F10".

Non chiedetemi esattamente quante volte o quando. Voi abbiate fede che se questa combinazione di tasti è attiva ad un certo punto vi apparirà una barra di caricamento bianca nella parte bassa dello schermo e dopo qualche secondo vi apparirà la schermata per il ripristino delle impostazioni di fabbrica. Se non dovesse funzionare ve ne accorgerete dal fatto che partirà direttamente il vostro attuale sistema operativo. Niente paura, abbiamo ancora un paio di metodi da testare!


METODO 2

Entrate nel BIOS e controllate che l'opzione D2D sia enable.
Riavviate e proseguite con il metodo 1.

Se anche questo non funziona, vi resta solo il metodo 3. La procedura è un po' lunga, ma non fatevi spaventare perchè non è complicata.


METODO 3
In se la procedura non è difficile, ma va a toccare file delicati per la vita del vostro pc quindi seguite le istruzioni con un po' di attenzione ;)

Prima di tutto procuratevi "PTEDIT32.exe". Si tratta di un piccolo programmino che non necessita di installazione e che può modificare la visibilità delle partizioni presenti sul vostro pc.
Una volta aperto vi troverete davanti una piccola tabellina che elenca tutte le partizioni presenti, sia visibili che nascoste. Selezionando una partizione vi apparirà la sua dimensione in un riquadro posto nella parte bassa della finestra, in questo modo dovreste capire se è presente e qual è la partizione nascosta. La mia era circa 5GB, in portatili con Vista potrebbe essere sui 10GB; in ogni caso è significativamente più piccola rispetto alle altre partizioni presenti.
Una volta individuata la partizione giusta dovrete cambiare il campo "TYPE" con i numeri "07", questo renderà quella partizione visibile dal prossimo avvio di Windows. Mi raccomando segnatevi i valori che erano presenti in "TYPE" prima della vostra modifica perchè poi li reinseriremo. Nel mio caso avevo "12", ma su molti forum girava il "27" (giocateveli al lotto, si sa mai XD).

A questo punto dovrete riavviare il pc ed entrare su risorse del computer.
Dovrebbe essere apparsa una partizione chiamata PQSERVICE: è la nostra famosa partizione dove è salvata la copia del vostro sistema operativo OEM e tutte le "meravigliose" impostazioni di fabbrica Acer.
Entrate in PQSERVICE e cercate e copiate in qualche posto comodo i file "MBRwrWin.exe" e "rtmbr.bin". Questi due file vi permetteranno di reinstallare il MBR originario Acer dove sono contenute le informazioni necessario affinch'è all'avvio voi possiate utilizzare con successo la combinazione ALT+F10 per accedere all'utility di ripristino.

Per installare l'MBR originario aprite una shell, posizionatevi nella cartella dove avete salvato entrambi i file e scrivete:

mbrwrwin install rtmbr.bin

dovrebbe apparirvi un breve messaggio che vi avvisa di aver spostato un vecchio MBR da qualche parte.

Ora potete chiudere e riavviare nuovamente il pc. Una volta fatto, windows dovrebbe avvisarvi di aver installato un nuovo hardware e dovrebbe chiedervi di riavviare. Seguite il suo consiglio e riavviate ancora una volta. Se volete a questo punto tramite PTEDIT32 potete ripristinare il valore di "TYPE" originario. Non è un passaggio indispensabile, ma vi eviterà di cancellare file importanti dall'unico luogo in cui sono conservati i file di installazione del sistema operativo.

A questo punto, finalmente, premendo ALT+F10 all'avvio dovrebbe apparirvi questa benedetta utility di ripristino!! :)

Se la sfiga dovesse accanirsi contro di voi, andate a dare un'occhiata al BIOS come descritto nel metodo 2. Se nemmeno questo dovesse funzionare..... beh, scavate tra le migliaia di post della rete per vedere se qualcun'altro ha la vostra stessa sfiga :)

Ps. Fatemi sapere se è stato utile o meno ^_-

Ma si sentiva davvero il bisogno di un nuovo blog?

Per rispondere al titolo: probabilmente no! Ma ho pensato che dividere la ragione dal sentimento sarebbe stato meglio. Questo perché forse le due cose non si sposano particolarmente bene, soprattutto in un campo come quello delle nuove tecnologie.
E quindi via con questa nuova avventura, che cercherò di tenere rigidamente separata dall'altra mia creatura  che per il momento continuerà a vivere (o meglio: vegetare) per conto suo. 
Nel frattempo spero di riuscire a presentarvi argomenti sempre interessanti e magari anche qualche tutorial.
Per ora comincio riportando anche in questa sede il tutorial sul ripristino delle configurazioni di fabbrica di un acer (nello specifico un Aspire serie 5100).

Che altro dire... buona lettura!