You are currently browsing the category archive for the ‘Geek’ category.
Ho appena comprato un Acer One per mia sorella e prima di lasciargli su il solito W… e domani farmi richiamare per sapere come fare a togliere quella centinaia di virus, mi sono chiesto perchè non convertirla al mondo linux. E’ da tempo che mi dice che vuole farlo ma non c’è mai stata l’occasione. Ora googlando un po le opzioni erano tante ma mi sono fermato su MeeGo, il team di sviluppo di MeeGo ha annunciato la disponibilità della prima release stable da qualche giorno. Si tratta dell’unione di Moblin, di Intel, con Maemo, di Nokia, due noti sistemi operativi mobili open source basati entrambi sul kernel Linux. Dalla fusione di questi due progetti nasce MeeGo, una piattaforma indirizzata ad un’ampia varietà di dispositivi mobili ed embedded, inclusi smartphone, MID, tablet, netbook, televisori e sistemi di infotainment per auto. MeeGo v1.0 si può scaricare in due versioni, una con browser Chrome ed una con Chromium; la differenza è che, nel primo caso, si deve accettare la EULA Google.
Quel che adesso viene chiamato MeeGo Netbook User Experience è il sistema operativo nato dalla collaborazione di questi due grandi sistemi, che hanno unito i loro progetti in un’unica soluzione. La prima release definitiva riprende e migliora alcune delle caratteristiche e gran parte dell’interfaccia grafica di Moblin Linux. E’ un sistema operativo nato per macchine costantemente connesse alla rete, un po’ come sarà il prossimo Google Chrome OS.
La prossima release, v1.1, è prevista per ottobre con supporto agli schermi touchscreen utile sugli smartphone e i tablet. Da sottolineare il fatto che non è stato ancora ufficializzato il porting su sistemi basati su processori ARM.
Rilasciate anche le API pubbliche che includono le librerie Qt 4.6 (tutte le novità sono qui) che non ho ancora provato, ma che sicuramente vedrò nei prossimi giorni. Le applicazioni che girano su MeeGo sono sviluppate per mezzo del ben noto application development framework Qt, software ereditato da Nokia nel 2008 in seguito all’acquisizione di Trolltech. Qt è uno dei più maturi toolkit di sviluppo open source, ed è stato scelto sia per la sua già grande diffusione – Nokia parla di oltre 5000 utenti aziendali – sia per il supporto multipiattaforma, che consente agli sviluppatori di far girare lo stesso codice su più architetture e OS, inclusi Symbian e Win… Mobile.
Allora da dove iniziamo, l’interfaccia è veramente semplice e il sistema nel complesso è velocissimo, sono pero ancora poco convinto su questa interfaccia organizzata per tab disposte nella parte superiore dello schermo. Queste tab sono: Myzone, Zones, Applications, Status, People, Internet, Media, Devices, Bluetooth, Network, e Time e possono essere gestite nelle impostazioni inserendone altre due disabilitate di default.
MyZone
Myzone è la tab che rappresenta più o meno la home page di MeeGo. Mosta in maniera molto ordinata e graficamente gradevole gli appuntamenti, le cose da fare, i messaggi, gli ultimi aggiornamenti e le applicazioni lanciate. Nessuna delle altre piattaforme che ho visto sino ad ora hanno una cosa simile fatta così bene anche se poi alla fine non utilizzate tutte queste cose la schermata non e così bella come dovrebbe essere.
Zones
All’inizio sono rimasto un po confuso da questo nome e sinceramente ci ho messo un po per capire che diavolo fossero ste zone ma dopo ho capito che non è altro che una task bar, system tray o come la volete chiamare che mostra le applicazioni avviate. Se non ci sono applicazioni avviate allora si vedrà solo la descrizione dell’area altrimenti si vedranno delle anteprime come nella figura qui sotto.
Applications
Questa tab si spiega da sola, ma se proprio voletefare finta di non capire sappiate che qui trovate le applicazioni installate sulla machina. Ci sono 2 sezioni sotto questa tab una per le applicazioni preferite (Favorite) ed una per le vostre applicazioni (Your applications). Le applicazioni preferite sono quelle che voi avete spuntato nella parte delle vostre applicazioni cliccando sull’iconcina che trovate su ogni icona. Meego eredita questo comportamento da KDE Plasma Netbook e dal KDE Kickstart Menu. Solo che qui funziona meglio.
Status
Questa tab ti permette di configurare i vostri account per Twitter e Last.fm. Se usate Twitter potete postare e leggere gli aggiornamenti da questa schermata come nella tab MyZone. Per Last.fm invece potete vedere che musica stanno ascoltando i vostri contatti. Impostare gli account è semplicissimo non capisco perché la scelta di questi soli 2 social network. Probailmente questo è quello che avevano pronto ma c’e da spettarsi in una prossima release che il numero dei social network supportati aumenti.
People
In questa tab vengono mostrati tutti i vostri contatti per gli account di Google Talk, Jabber, MSN, Yahoo!, AIM, ICQ e altri sempre se li avete impostati. Empathy, questo il nome dell’IM utilizzato è un software molto stabile ed in continuo sviluppo, ricco di tool e plugin che scoprirete via via che lo utilizzate. Se avete avuto altre esperienze con qualche altra distro desktop probabilmente ne conoscerete già le peculiarità.
Internet
Questa è la tab dedicata ad internet, come avrete dedotto dal nome, in poche parole qui trovate tutte le ultime pagine che avete visitato, i vostri preferiti o le pagine aperte nel nostro browser ordinate cronoligicamente e rappresentate da piccole anteprime che potete cliccare per riaprire. Trovate inoltre un campo per la ricerca in Google che aprira i risultati nel vostro browser.
Media
Non si riferisce a chiavine USB, dischi o smart media cards reader, ma semplicemente al multimedia. Utilizza Banshee come player, e che conoscerete se avete avuto a che fare con qualche altra distro, comunque molto simile ad Amarok per intenderci. Nulla da dire su Banshee se non che è scritto in Mono, che personalmente non amo, e che non posso farci girare i miei script per Amarok in python. per capire ome funziona vi basta cliccare un po qua e la ma se proprio volete iniziare immediatamente allora sappiate che funziona come tutti gli altri player cercate la fonte e cliccate su play, iniziera a suonare 😉
Devices
Qui trovate le informazioni di servizio del vostro netbook, che di solito siete abituati a vedere nella task-bar, sul livello della batteria, lo spazio libero ed utilizzato su disco, i controlli volume dell’audio, le cartelle del vostro sistema e tutte le periferiche di archiviazione che ci avete attaccato (chiavette USB, hard disk esterni o lettori MP3).
Bluetooth
L’Acer su cui ho provato MeeGo purtroppo non ha il Bluetooth, ma da quanto posso capire, spero di non sbagliarmi, direi che nella finestra di sinistra trovate le periferiche nei dintorni rilevate e nella finestra di destra trovate le impostazioni disponibili una volta selezionata la periferica che volete usare/accoppiare.
Network
In questa tab trovate tutte le connessioni attive e non o quelle impostate che potete attivare si puo passare velocemente in modalità off-line chiudendo tutte le connessioni attive. Ho provato solo la connessione via cavo e wuella wireless e funzionano decentemente, anche se riesce difficile se non impostare connessioni wireless con reti nascoste. Per il collegamento con Broadband ho solo impostato la connessione e sembra avere gia tutti i parametri per l’Italia.
Time
Quest’ultima tab racchiude tutto ciò che e legato alle date e gli orari quindi gli appuntamenti, i task e i fusi orari (non tutti abbiamo gli zii in australia). Come vedete dall’immagine l’organizzazione e semplice ed efficace senza troppi fronzoli grafici o bottoni da cliccare per vedere le ultime o le prossime cose. Per quanto riguarda gli appuntamenti potete usare il vostro calendario, ma e supportato anche Google Calendar quindi potete condividere facilmente il vostro calendario. per quanto riguarda i Task viene utilizzato qualcosa di veramente semplice e non c’è il supporto a servizi come Google Task o Remember the Milk.
Concludo con il dire che sicuramente merita di essere provato, quindi cosa aspettate? Se volete provare MeeGo sul vostro netbook, sappiate che sono supportati al momento tutti i modelli basati su Atom, ma in particolare:
- Asus EeePC 901, 1000H, 1005HA, 1008HA, EeePC 1005PE, Eeetop ET1602
- Dell mini10v, Inspiron Mini 1012
- Acer Aspire One D250, AO532-21S, Revo GN40, Aspire 5740-6025
- Lenovo S10
- MSI U130, AE1900
- HP mini 210-1044
- Toshiba NB302
La iso è scaricabile da qui (800 Mb).
– Fine –
Postato con Kblogo
Ieri, 10 novembre, Google ha anunciato un nuovo linguaggio di programmazione, Go. Non sono riuscito a trovare il link ufficiale e da quanto leggo qua e là mi pare che non sia un progetto ufficiale ma solo di alcuni sviluppatori (Robert Griesemer, Ken Thompson, e Rob Pike) che utilizzano il loro tempo libero, circa il 20% delle loro ore lavorative, per sviluppare altri progetti. Lo sviluppo di Go inizia verso la fine del 2007 ma solo verso la meta del 2008 la sua implementazione iniza a funzionare ed e proprio in quel periodo che Ian Lance Taylor e Russ Cox entrano nel progetto. Anche se non maturo al punto giusto qualche giorno fà il rilascio ufficiale. Il linguaggio si presenta come un C object-oriented molto ottimizzato. Presenta caratteristiche tipiche dei linguaggi dinamici, ma mantiene, quasi immutate, caratteristiche del C. Tutti ci saremmo aspettati un nuovo linguaggio riscritto quasi totalmente e comunque innovativo rispetto a quello che si trova sulla piazza invece l’innovazione forse sta nel tornare indietro, almeno sarà questo che avranno pensato a casa Google. Le caratteristiche principali del linguaggio, come vengono presentate sul sito sono:
- semplice – presenta una sintassi semplice paragonabile a quella di un C misto a Python
- veloce – ovviamente essendo un linguaggio compilato avrà delle performance migliori (pragonabile a quelli scritti in C dicono)
- sicuro – è un linguaggio a tipizzazione statica e un particolare modello di memoria. Ha i puntatori, ma non quelli del C
- concorrenza – implementata a livello nativo e grazie all’utilizzo delle “goroutine”, semplici funzioni eseguite concorrentemente, possiamo scrivere programmi che sfruttano il parallelismo in tutta tranquillità
- divertente – implementa meccanismi di garbage colection, che più che divertente mi sembra necessario per un linguaggio moderno, sintassi pulita, dicono loro, metodi per tutti i tipi e velocita nel deployment di applicazioni.
La ma scotte di Go è quella che vedete in immagine, si chiama Gordon ed è un esemplare di gopher che non so che animale sia e penso nemmeno wordreference.com (http://www.wordreference.com/enit/gopher) sappia esattamente di cosa si tratti.
Al momento Go supporta solo 2 piattafome GNU/Linux e Mac OS e 3 set di istruzioni: amd64, 386 e arm anche se ques’ultima non supportata, non ancora almeno come dicono, su Mac OS. Ha un compilatore nativo specifico per ogni set di istruzioni chiamti 5g, 6g, 8g rispettivamente per arm, amd6a e 386 e prendono il nome dal sistema Plan 9 dei Bell Lab di cui Pike e Thompson erano sviluppatori negli anni ’80. Mi sorge il dubbio che questa mascotte sia cugina di quella di Plan 9, sembrano essere lo stesso animale amorfo anche se dicono essere un coniglio che si chiama Glenda. Ovviamente esiste anche una versione di GCC apposita per compilare i programmi scritti in Go ed i binari prodotti sembrano essere nativi quindi nulla di pseudo compilato o interpretato da qualche LLVM (Low Level Virtual Machine). Le aspettative per questo linguaggio sembrano essere molte ma qello principale sembra essere quello di scalzare al C++ dal dominio della programmazione concorrente. Il web server che ospita il sito è scritto in Go e solo quello dicono visto che ancora non è pronto per andare in produzione. Bhe che dire io l’ho gia provato e presto postero qualche test ed impressione in merito. ovviamente se ho scritto qualcosa di sbagliato e qualcuno dovesse sentirsi in dovere di smentire me lo faccia sapere, commenti e email sono lì per questo. Per finire in bellezza guardatevi il promo:
– Fine –
Postato con Kblogo
Questo brevissimo post per informare, se esistono*, tutti gli assidui lettori di questo blog che mi è venuta l’idea di fare anche questa. Si ho creato un piccolo portale che mira a creare ed identificare una comunità veramente grande e attiva che si diverte e smanetta con il nostro caro Arduino e simili. Quindi se avete un blog o un sito che parlano di Arduino, ma anche un po di altro, e siete interessati ad entrare nella comunità allora utilizzate la procedura per la sottomissione delle candidature. Ovviamente non ci sono parametri al momento per questo una volta controllato il link verrete inseriti nel Planet. Se intanto non avete un blog potete seguire gli aggiornamenti RSS o seguirci su Identi.ca e Twitter. Se poi avete suggerimenti, consigli o volete collaborare in qualche modo basta farmelo sapere, se siete qui avete gia tutti gli strumenti necessari. A guarda quasi dimenticavo di darvi l’indirizzo www.planetarduino.org.
– Fine –
Postato con Kblogo
Sto per realizzare qualcosa con Arduino ed il Wiimote, quindi inizio a postare un po di documentazione che potrebbe servirmi e potrebbe servire anche a voi. Di seguito lo schema del connettore a 6 pin del vostro/mio Wiimote visto di fronte:
- 1 (filo rosso) – +3V
- 2 (filo giallo) – Clk
- 3 (filo rosso) – controller connesso?
- 4 (non connesso) – Non usato
- 5 (filo verde) – Data
- 6 (filo bianco) – GND
— Fine —
Postato con Kblogo
Se sapete usare Subversion di sicuro non vi serve questo post, ma se non avete ben capito come fare a postare il vostro codice sul vostro repository di Google Code allora forse questo potrà aiutarvi. Ovviamente non è una guida passo passo, se cercate qualcosa di completo la vostra ricerca continua, ma se volete caricare il vostro codice allora è arrivato il momento di iniziare. Per prima cosa registrate il vostro progetto su Google, una volta completata la fase di registrazione andate nella tab Source del vostro progetto autenticatevi e quindi copiate il link per i membri autenticati, qualcosa di simile a questo:
# Project members authenticate over HTTPS to allow committing changes.
$ svn checkout https://your-progect-name.googlecode.com/svn/trunk/ your-progect-name --username youraddress@gmail.com
Ovviamente suppongo che voi abbiate già installato Subversion per la vostra piattaforma, se non l’avete fatto questo è il momento di farlo e ovviamente googlate per trovare qualcosa di adatto alle vostre esigenze. Fatto questo aprite il vostro terminale, console, o qualsiasi forma di riga di comando che avete ed incollateci il link che avete copiato, quello sopra per intenderci. Verrà creata nel vostro computer una cartella con il nome del progetto entrateci dentro ed iniziate ad inserire tutti i vostri file e le vostre cartelle. appena fatto digitate nel vostro terminale un
$ svn status
? file1.c
? file2.py
? cartella1
In questo modo sappiamo quali file sono stati aggiunti e cioè tutti quelli con il punto interrogativo che li precede, ora non ci resta che aggiungere questi file al nostro progetto eseguendo
$ svn add file1.c
$ svn add file2.py
$ svn add cartella1
e continuando per ogni file e/o cartella aggiunta nella cartella principale del nostro progetto. A questo punto abbiamo il nostro progetto in locale, ovviamente possiamo editare i file, aggiungerli ma per toglierli? Possiamo usare un semplice
$ svn delete file3.m
se poi volete potete digitare un svn help per una lista dei comandi, sono semplici da capire e la documentazione di Subversion vi darà consiglio. Ora che abbiamo finito di editare il nostro progeto è arrivata l’ora di aggiornare il nostro progetto anche sul server quindi digitando semplicemente
$ svn commit -m "Messaggio sulle vostre modifiche (aggiunte, cancellazzioni, ecc.)"
A questo punto ci verrà chiesto il nostro nome utente, la parte iniziale del vostro indirizzo Gmail, e una password, che non è quella del vostro account, ma è una password che trovate nelle impostazioni dell’hosting, inseritela e tutto verrà caricato online. Per verificare che tutto sia andato a buon fine potete andare sulle pagine del progetto e controllare che l’upload sia andato a buon fine. Da ora in poi vi basta modificare i vostri file come volete basta che alla fine facciate un commit e anche il vostro progetto online sarà aggiornato. Spero di essere stato chiaro e come al solito vi invito a commentare se avete bisogno.
Happy Coding!!!
– Fine –
Post scritto con KBlogo
Mentre cercavo come utilizzare l’accellerometro del mio MacBook mi sono imbattuto in questo articolo che spiega come simulare l’accelerometro sul nostro IPhone Simulator visto che non c’è di default, senza l’ausilio di un vero IPhone. Come spiega Karan Vasudeva, autore dell’articolo, bisogna scaricare UniMotion che legge l’SMS (Sudden Motion Sensor) del Mac e che ritorna i valori in vari formati. Poi bisogna scaricare un’altro software, scritto da Otto Chrons, e che trovate qui. Quest’ultimo software e diviso in due parti, uno va installato sul simulatore e l’altro va incluso nei vostri programmi sotto forma di libreria semplicemente inserendo un
#import "AccelerometerSimulation.h"
a questo punto, sempre Karan, usa il suo script python che lega i 2 software e passa il risultato di UniMotion all’IPhone Simulator attraverso il codice di Otto. Ma come funziona e cosa centro io? Allora ricapitoliamo: il software di Otto, ACCSim, è diviso in 2 parti, un server e un client, il server sta in ascolto sulla porta 10552 in attesa di una stringa tipo:
ACC: , timestamp, x, y, z
il client invece e costituito in questo caso dallo script di Karan che raccoglie dalla periferica questa stringa e passata al server. A questo punto entro in gioco io, che grazie alla libreria python trovata, PyAppleSMS e di cui parlo nel post precedente, ho modificato lo script di Karan per utilizzare questo modulo in modo da rendere il tutto piu leggero e facile e con l’utilizzo di un unico script.
Per testare il tutto quindi scaricate il software di Otto, copiate ed incollate questo script python nel vostro editor preferito:
import sys, socket, time, traceback
import applesms
kCFAbsoluteTimeIntervalSince1970 = 978307200.0 # from CFDate.c
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(('',0))
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
while 1:
try:
x, y, z = map(lambda x: -1 * x, applesms.coords())
# change epoch to be compatible with CFAbsoluteTimeGetCurrent()
currentTime = time.time() - kCFAbsoluteTimeIntervalSince1970
accdata = ','.join(map(str,('ACC: 0',currentTime,x,y,z)))
sock.sendto(accdata, ('', 10552))
# print '% .2f % .2f % .2f' % (x, y, z)
except (ValueError, KeyboardInterrupt):
sock.close()
sys.exit(-1)
except applesms.error, e:
print 'An error occurred in PyAppleSMS module: %s' % str(e)
sys.exit(-1)
except:
traceback.print_exc()
che altro non è che lo script di Karan che però utilizza la libreria PyAppleSMS. Avviando AccelerometerGraph, un programma di esempio che trovate nella Knowledge Base di ADC e che vedete nell’immagine sopra, e lo script che trovate sopra vi accorgerete che funziona, non so quanta attendibilità può esserci nel formato fornito, ma so che funziona e legge i dati. Vi rimando alle pagine linkate quà e là per il post per le rispettve informazioni.
Spero di essere stato chiaro, se pero cosi non fosse sentitevi liberi di chiedere delucidazioni in merito, i commenti esistono per questo!!
EDIT: Funziona anche con le nuove versioni dell’IPhone SDK 3.0
– Fine –
Post scritto con KBlogo
Una delle cose che mi piacciono di più del mio nuovo MacBook è proprio l’accelerometro (Sudden Motion Sensor) montato ormai su quasi tutti i modelli Mac e che servono a far bloccare le testine dell’hard disk in caso di caduta del portatile. Quello che ho cercato è come usare questo accessorio per qualche altro utilizzo. Cercando un po su Google sono arrivato su questa pagina, in italiano, dove questo ragazzo ha creato un modulo scritto in C per interrogare l’SMS con Python. Vi basta scaricare il modulo, PyAppleSMS, decomprimerlo e installarlo con un semplice
python setup.py install
una volta installato potete leggere i valori dell’SMS semplicemente importando il modulo e chiamare il metodo per leggere le coordinate. Un esempio lo trovate nell’archivio del modulo altrimenti bastano queste due righe di codice:
import applesms
(x, y, z) = applesms.coords()
Ora sta a voi farci qualcosa di utile, potete usarlo nelle vostre applicazioni o nei vostri giochi.
Buon lavoro a tutti!!!
– Fine –
Post scritto con KBlogo
Finalmente qualche giorno fa sono riuscito ad installare Linux sul mio palmare. Avevo iniziato qualche tempo fà ma poi non ricordo perche ho abbandonato, ma l’altro giorno riprovandoci, in pochi minuti, ci sono riuscito. Installato il sistema ho scelto come windows manager GPE che risulta essere molto leggero e stabile, requisiti fondamentali visto che l’ho installato su un Ipaq 3630. Subito è sorto il problema di come farlo connettere ad Internet visto che non ha ne bluetoooth ne wireless. Documentandomi ho visto che era anche possibile farlo usando una connessione USB ma la mia basetta (cradle) era seriale, sembravo essere perseguitasto dai problemi ma eBay è venuto in mio aiuto e alla modica cifra di 3 euro + 12 di spedizione (ladri) me ne sono procurato uno. Dato che non esiste nessuna guida in italiano ho deciso di postare qui la procedura sia per me che per gli altri. Vabbè iniziamo:
Nota: Queste istruzioni sono state testate su una Ubuntu 7.04 e Familiar 0.8.3
Queste operazioni vanno eseguite sulla macchina principale (pc, laptop)
echo "usbnet" > /etc/modutils/usbnet update-modules
mapping hotplug script grep map usb0 iface usb0 inet static address 192.168.2.200 netmask 255.255.255.0 broadcast 192.168.2.255 pre-up /etc/network/ipaq
#!/bin/sh sleep 5 exit 0
sudo chmod a+x /etc/network/ipaq
iface usbf inet static address 192.168.2.202 netmask 255.255.255.0 network 192.168.2.0 gateway 192.168.2.200
sudo ifup usb0
192.168.2.202 ipaq
ping ipaq
- Apri Firestarter.
- Clicca “Edit -> Preferences“
- Clicca “Network Settings“
- Sotto “Local network connected device“:
- Poi “Detected device(s):” seleziona “Unknown device (usb0)“
- Spunta “Enable Internet connection sharing“.
- Clicca “Accept“.
sudo scp /etc/resolv.conf ipaq:/etc
ping google.it
—- Fine —-
USB Flashlight – video powered by Metacafe
Originale non vi sembra? Se riesco a trovare un cavo usb che non uso me la faccio, magari con un paio di led al posto della lampadina 😉
Non lo fa inserire nelle pagine quindi vi tocca solo il link….