lunedì 31 agosto 2009

Hmm... Zippy per la Beagleboard

clipped from www.tincantools.com
BeagleBuddy Zippy Ethernet Combo Board
La Zippy, prossimamente disponibile su TinCanTools, è una scheda di espansione per la Beagleboard che include:

- una porta Ethernet

- un altro slot SD/MMC (supporta sia quelle da 3.3V che da 1.8V, recuperando i segnali dal connettore di espansione della Beagleboard);

- un real-time clock a batteria (con le batterie "a bottone" da 12mm di diametro)

- un'altra porta RS232 (con regolare connettore tipo Cannon a 9 poli, anche questa recuperata dal connettore di espansione della Beagleboard, dove originariamente era a logica 1.8V)

- un'altra porta I2C (dal connettore della Beagleboard, però portata ai livelli TTL 5V, come sulla Arduino per intenderci)

Nota: nella foto il prototipo è di colore verde, ma la versione finale sarà rigorosamente di colore "rosso Beagleboard".

Costa 79$ più spese di spedizione (urk!!) dagli USA o Canada o Filippine.

Commento mio: ricca dotazione di hardware, anche se in fin dei conti la combinazione è un po' strana:

- il secondo slot SD/MMC sarà utile solo se si usa la Beagleboard come desktop (per esempio una SD con il sistema operativo e i dati di base e un'altra per i dati "volanti", di logging, multimedia temporaneo, etc). Negli altri casi, basta comprare una SD/MMC "più grande".

- la ethernet sarà spesso utile (sia se si pianifica un sistema embedded, sia se si pianifica un sistema desktop); diventa inutile in caso di sistema "wearable" o "embedded isolato" o qualora si preferisse il wifi. Nota: attualmente abbiamo già tutti la possibilità, in caso di connessione ad un PC Linux, di usare la porta USB come dispositivo di rete ("ifconfig usb0 192.168..."). Una porta ethernet "vera" servirà per collegarsi ad un router.

- il real-time clock è utilissimo fino alla versione C2; a partire dalla Beagleboard C3 è possibile saldare on board una batteria per il clock, senza scomodare real-time clock esterni; io ho una C2 ma penso di risolvere diversamente il problema dell'orologio (agganciando un GPS si ha sempre l'orario/calendario preciso a portata di mano).

- avere un'altra porta RS232 è una comodità solo per alcuni progetti embedded; non ha molto senso avere due RS232 su un sistema desktop o multimedia; nel mio caso mi sarebbe utile (così avrei una RS232 per il terminale ed un'altra libera per il mio vecchio GPS); in fin dei conti non sembra una cosa per cui sbavare...

- la porta I2C a 5V sarà utile solo se si collega qualche accrocchio che parla solo in I2C (nell'ecosistema della Arduino si trovano diverse cosette sfiziose). Tragicamente il Wii Nunchuck è una I2C a 3.3V (a 5V funziona ancora ma temo che si riduca di parecchio il suo ciclo di vita).

Beagleboard, la box dei suggerimenti

Beagle_with_url


  1. Top Ideas


  2. Hot Ideas


  3. New Ideas 6


  4. Accepted Ideas


  5. Completed Ideas

Avete qualche idea per la Beagleboard? Volete "votare" per le idee già espresse? Volete suggerire qualcosa ai più smanettoni?

Ecco la lavagnetta magica con la raccolta delle idee. Ogni utente ha a disposizione 10 "voti" e può assegnare in bacheca fino a tre voti su ogni idea, oppure proporne di sue.

Tutto in inglese, ovvio!

Hmm... TV-B-Gone

clipped from www.adafruit.com
TV-B-Gone Kit
Questo magico arnese, al tocco di un tasto, spara via infrarossi la sequenza di spegnimento di un paio di centinaia di modelli diversi di televisori: i LED ad alta potenza riuscirebbero nell'intento anche a decine di metri di distanza.

Sono seriamente tentato di comprarla...

GPS e altri componenti

Interessante.
Quale ricevitore GPS usi?

Ho un vecchissimo ricevitore Garmin GPS II Plus, il cui firmware è datato febbraio 1997. Esce su RS232 in NMEA classico, usa solo quattro pile stilo, ha un processorino intel 386sx (ma guarda chi si rivede dopo tanti anni!) con 512k RAM ed un display LCD grafico di 64x40 pixel a due colori, ma non ha le mappe (che all'epoca pare non fossero state ancora inventate). La sua antenna non è amplificata, e pertanto riceve solo all'aperto e se puntata per bene verso il cielo. L'arnese è waterproof per cui si presta bene sulla bicicletta; quando fu lanciato sul mercato costava 1700$ e li valeva tutti.

Sul solito Sparkfun e altrove vedo dei piccoli ricevitori GPS che escono in TTL 5V, altri sono TTL 3.3V (il che mi lascerebbe libera la RS232 per il terminale); alcuni addirittura restituiscono cinque o dieci letture NMEA al secondo anziché una al secondo (ma averne tante è utile solo per gli UAV). Ho scoperto per caso che anche la protuberanza GPS della mia ricetrasmittente Yaesu VX8 usa un GPS del genere (piccolo come un cioccolatino); sono tentato di fare esperimenti con quest'ultimo, anche se col tester vedo che lì vi passano sia i 3V che i 3.3V (stranezze giapponesi: tensione differente tra alimentazione e porta seriale? boh), poiché non mi va di spendere 60-90$ per comprarne un altro.

Sempre da Sparkfun comprai l'IMU-6DOF (sistema inerziale a 6 gradi di libertà), che ha un accelerometro 3D, un giroscopio 3D (misura velocità angolari) ed un magnetometro 3D (che dovrebbe servire solo per "compensare") e può parlare su seriale TTL 3.3V o su Bluetooth. Purtroppo, nonostante sia vantato per "10 bit di risoluzione su ogni asse", sono in pratica affidabili solo i 4 o 5 più significativi; per ottenere veramente i 10 bit il calcolo sarebbe da demandare ad un Kalman filtering, faccenda matematica alquanto complessa, e che non ho ancora affrontato perché spero sempre di trovare qualcuno che lo abbia già sviluppato su misura di quel 6DOF. Con 4-5 bit di risoluzione utile (cioè tagliando via i bit meno significativi perché "rumorosi") ci si può fare un controller per videogames, ma non un flight attitude controller per un UAV.

A proposito di UAV, c'è in giro un sacco di gente che ha realizzato velivoli di tutti i tipi; quello che più mi ha convinto è il quadcopter svizzero (su moin.ch), che ha più di mezzo chilo di "carico pagante" al decollo. La Beaglebord è alquanto leggera e si presterebbe bene per progetti del genere; con tutta quella potenza di calcolo (e pure col DSP) non oso immaginare cosa si potrebbe combinare in tempo reale durante il volo (il problema di quegli arnesi è il peso, per grandissima parte batterie e motori); in tal caso servirà un kernel Linux con estensioni real-time (eh, chissà quando si decideranno ad assorbire nel kernel ufficiale le estensioni real-time).

"Rientrati" i soldi dell'abbonamento mensile!

Massimo mi sconsigliava di comprare l'abbonamento mensile per agosto 2009 (una mazzata da 61,90 euro), poiché viaggiando poco non sarebbero rientrate le spese. Ma l'abbonamento non lo uso solo per andare a lavorare... ed infatti ecco i soldi che avrei dovuto spendere se non avessi avuto l'abbonamento mensile:

1:  1,70€
2:  3,70€
3:  4,80€
4:  4,80€ + 2,20€
5:  4,80€
6:  4,80€ + 1,10€
7:  4,80€
9:  2,40€
10: 2,40€
14: 2,20€
20: 4,60€
22: 2,20€
23: 3,70€
24: 4,80€
26: 2,40€
27: 4,80€ --- e con questo abbiamo ampiamente superato i 61,90€: costo abbonamento "recuperato"!

28: 4,80€
29: 1,70€
31: 4,80€

Paperino si pappa l'Uomo Ragno!

clipped from www.freedomlive.it
http://www.freedomlive.it/consigli/immagini/topolino.jpg
clipped from www.marketwatch.com

Disney to Acquire Marvel Entertainment

Worldwide leader in family entertainment agrees to acquire Marvel and its portfolio of over 5,000 characters

clipped from img.qj.net
http://img.qj.net/uploads/articles_module/68122/Marvel_qjpreviewth.jpg
(E Topolino sfracella i Fantastici Quattro!)

La notizia di oggi è che la Disney si è comprata la Marvel, per pochi spiccioli (quattro miliardi di dollari).

Spiccioli!! Pensate che il 2 giugno, a Chiasso, le nostre forze dell'ordine hanno sequestrato non Quattro, ma Centotrentaquattro miliardi e mezzo di dollari...

...utili a comprare trentatre volte consecutive la Marvel e avanzano ancora abbastanza soldi per pagare un gelato ad ogni essere umano presente sulla faccia della Terra!

Idea: far pagare chi deposita soldi in banca

Per la prima volta nella storia una banca centrale applica un tasso negativo!
La scorsa settimana Svensson è passato all'azione: impostando un tasso di interesse sui depositi pari a - 0,25%, la banca centrale svedese è la prima banca centrale al mondo ad entrare nel territorio inesplorato del tasso negativo.
Come funziona un tasso negativo?
In teoria, con un tasso positivo come accade solitamente, depositate soldi in banca e la banca vi riconosce un interesse. Con un tasso negativo, invece, dovete pagare voi la banca perchè possiate depositare soldi nella banca stessa.
In pratica, è una tassa sul mantenere i soldi in banca.
Tasso negativo ai depositanti?

Allucinante...!

Evitare rumori molesti!

clipped from 4.bp.blogspot.com
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1FQq-xw1GpPPVrbHUD9uumWTPBSvL6DX98-zh_vNMe7iVx_2m4Qk-eke-VWIji9mF05ugAmRZzrmPoY3GM4wMi9rmcf5X53DmMU4CNWHtV6xqfFjYABNAQVoO5ElrXxYgWpBnJqZ2mPE/s200/scoreggia_146.jpg
Bene. Allora, le scorregge umane sono infiammabili, dunque si potrebbero usare per alimentare una turbina a gas. Ergo, le scorregge sono lenergia del futuro. Certo, c'e' il problema tecnico di raccoglierle, ma ogni problema tecnico ha una soluzione tecnica, quindi e' fattibile.

Mac OS X: 1599 giorni di vulnerabilità!!

The Story of a Simple and Dangerous Kernel Bug

Among other things, the update for Mac OS X 10.5.8 also fixed an interesting kernel bug related to the way the fcntl call is handled. The bug was identified as CVE-2009-1235 and the first exploit seems to be from June 2008. The variant that I discovered is much simpler and is, as far as I know, the one that really convinced Apple to solve the issue. :-) The oldest kernel I was able to test the problem was Darwin 8.0.1 which corresponds to Mac OS X 10.4 “Tiger”. The Tiger was announce in June 28, 2004 but was released to the public on April 29, 2005 and it was advertised as containing more than 200 new features. The bug was closed on August 5, 2009 so the number of days the vulnerability was alive was 1599 days (4 years and 3 months).

#include <fcntl.h>
#include <sys/ioctl.h>
int main()
{
fcntl(0, TIOCGWINSZ, 0);
return 0;
}
Pare che la Apple abbia finalmente chiuso un tremendo bug di sistema che permetteva, in una sola riga di programma, di iniettare codice malevolo eseguito in modalità superuser.

Bastava dimensionare una finestra a determinate dimensioni e poi eseguire la fcntl con terzo parametro uguale a zero. Il terzo parametro è un indirizzo. Dato che il kernel non controllava la validità dell'indirizzo (cioè quello zero), ci andava a scrivere e... ZOT!

Per la cronaca, alla Apple bastava inserire in Mac OS X una sola riga, del tipo: if(buffer==NULL) return EINVAL;

Dalla prima segnalazione alla correzione sono passati quattro anni e tre mesi (più esattamente, 1599 giorni). Apple colabrodo!

Pagina politica

clipped from www.dagospia.com
http://www.dagospia.com/img/foto/04-2009/19452.jpg
Oggi politica!

La foto parla da sola

Trasmissione dati a costo ultraridotto

clipped from hackaday.com
hr_RF_circuit
Ancora da Hack-a-day, un suggerimento su come trasmettere dati via wireless da una Arduino all'altra, entro poche decine di metri (dicono 500 piedi, ma non so quanto ci sia da fidarsi), a 2400 baud. Non male.

Li avevo già segnalati tempo fa, ma come al solito a leggerne notizie su Hack-a-day fa tornare tutta la voglia...

Il trasmettitore costa $3.95, il ricevitore costa $4.95; mi pare che da Sparkfun all'Italia la spedizione sia attorno ai 4-5$. Con poco più di una decina di euro si potrebbe fare. Io non li ordino ancora solo perché ho lì ancora diverse cose in "backorder"...

Nokia N900, vediamolo in azione...

clipped from www.youtube.com

Tablet PC: autoeletti esperti sproloquiano..

Il problema di base dell'articolo è che Rusconi scrive di tablet ma non conosce i Tablet PC. Non sto dicendo che non conosce la differenza tra il Dell Latitude XT ed il Fujitsu Stylistic ST6012: non si tratta di conoscere o meno i modelli. Rusconi non sa proprio cosa sia un Tablet PC, come dimostra il fatto che inserisce il tablet nello stesso gruppo/famiglia degli UMPC, dei dispositivi "Internet oriented di Nokia" o del Kindle di Amazon. Insomma, per Rusconi un tablet sarebbe un dispositivo dotato di "touchscreen".
A inizio agosto, un tipo che non conosce i tablet ma scrive su LIVEdigitally ha pubblicato un articolo abbastanza stupido sui Tablet PC, a cui Sumocat di GottaBeMobile ha risposto a tono. Sfortunatamente l'articolo stupido è stato ripreso anche in Italia; i contenuti non cambiano di molto.
Interessante commento di Giacomo su Tablet PC italico.

E poi va sempre a finire che la gente che non capisce niente di un determinato argomento pontifica, venendo poi addirittura favorevolmente commentata e ascoltata.

Per craccare l'iPod Nano si usa il LEGO RCX

clipped from www.nycresistor.com
This is Farthens nanotron that will help linux4nano to do more address bruteforcing in less time.
Complimenti per l'inventiva...!

Compilare gpsd 2.39 sulla Beagleboard

Istruzioni preliminari, proverò poi a tradurle in inglese quando tutto funziona bene.

Tragicamente, un opkg install gpsd tenterebbe di installare un sacco di paccottiglia di freesmartphone.org che sulla Beagleboard non serve a un tubo. Per cui è meglio compilare gpsd dai sorgenti originali.

Dunque:
* parto da un'installazione Angstrom con la Narcissus
* avendo ovviamente cura di selezionare "machine=Beagleboard"
* non dimenticando di installare "development: Toolchain"

Ho già sulla memory card della Beagleboard i sorgenti di gpsd:
* prelevati i sorgenti (stable release 2.39) dal sito ufficiale

Importante: occorre connettersi a internet dalla Beagleboard ed installare un po' di pacchetti "development". Per connettermi alla macchina Linux (che è già su internet e fa già masquerading) mi è bastato dare sulla Beagleboard (agganciata alla USB della macchina Linux):

ifconfig usb0 192.168.0.22
route add default gw 192.168.0.1

e dare ovviamente l'ifconfig per 192.168.0.1 sulla macchina Linux.

Per installare i pacchetti mancanti è bastato eseguire sulla Beagleboard:

opkg install libxext-dev libxpm-dev
opkg install dbus-dev ncurses-dev 
opkg install libdbus-glib-1-dev

Nota: l'installazione di alcuni di questi produce una carretta di "unsatisfied recommendation", ma sembra che non creino problemi.

Purtroppo, per qualche strano motivo, è indispensabile anche eseguire questi due comandi e allargare a dismisura CFLAGS e LDFLAGS, altrimenti la compilazione si blocca:

cd /lib
ln -s /usr/lib/libstdc\+\+.la .

Avviato quindi Linux Angstrom sulla Beagleboard, entro in login e compilo:

Nota: se durante il "configure" esce un messaggio di errore "libtool: link: cannot find the library `/lib/libstdc++.la'" oppure un messaggio di warning "xgps won't be built" vuol dire che avete dimenticato di eseguire gli opkg di cui sopra.

cd /tmp
tar xpjf gpsd-2.39.tar.gz
cd gpsd-2.39
export CFLAGS="-mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -march=armv7-a -I/usr/include/X11 -I/usr/include/glib-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/glib-2.0/include -I/usr/lib/dbus-1.0/include"
export LDFLAGS="-L/usr/lib -L/lib -ldbus-1 -ldbus-glib-1"
./configure --prefix=/usr --enable-dbus
make
make install

Nota bene:

1) il "make install" ha bisogno di privilegi root;

2) la compilazione dura pochi minuti; purtroppo xgpsspeed, xgps, etc non vengono compilati perché nella Angstrom Narcissus mancano le librerie Lesstiflibxaw e affini.

Dunque gli eseguibili utili, alla fine, sono:
- sotto sbin: gpsd
- sotto bin: cgps  gpsctl  gpsdecode  gpsflash  gpsmon  gpspipe  gpxlogger  lcdgps

***

domenica 30 agosto 2009

C++: la list.size è... O(n) !!?!?

clipped from gcc.gnu.org

6.8.


list::size() is O(n)!


See
the Containers
chapter.

Queste sono le cose che veramente mi provocano conati di vomito.

La programmazione è un'arte. E come tutte le arti, spesso finisce in mano a degli incompetenti, degli sfaticati, degli estrosi (per non dire un'altra parola).

Sì, nella Standard C++ Library, la list::size() è a complessità O(n) (che vergogna!).

Consigli sulla FZ50

Ho una FZ50, ma non so come regolarla... cosa devo mettere alla compressione JPEG? Che livelli ISO mi conviene usare? E gli scene modes? E la nitidezza e gli altri parametri? Perché consigli la DCR6600Pro-55 anziché la DCR6600Pro "normale"?

Ho ancora la FZ50 e non ho ancora intenzione di sostituirla: l'unico modo di fare un salto di qualità è spendere duemila euro per una reflex con ottiche degne di questo nome. Non sono nemmeno un "maestro" della FZ50, visto che quando una cosa funziona bene uno è meno tentato di esplorare altre funzioni; per di più ho i miei gusti (per esempio non giro i video, mi sembra una feature inutile).

Per il JPEG, sulla FZ50 la compressione cambia solo leggermente la qualità, ma te ne puoi accorgere solo quando vai a ritagliarle ad ingrandimento 1:1 (per esempio estraendo 300x300 pixel da una foto da 10 megapixel) ed osservando con puntigliosità e pignoleria...

Intelligent ISO: confesso che non l'ho mai usato. Uso sempre ISO100, alzando (se necessario) a ISO200 in casa e ISO400 quando c'è poca luce; non ho mai usato valori superiori. In alcuni casi ho usato gli ISO "alti" solo per guardare qualcosa che a vista d'occhio non si vedeva; in tal caso, le foto, naturalmente, sono quasi inutilizzabili.

La riduzione del rumore è al livello normale, come pure contrasto, nitidezza, saturazione. Le foto meno sature sembrano più "morte", mentre troppo sature sembrano irreali. La nitidezza eccessiva sembrava farmi peggiorare l'immagine, così come pure i livelli alti della riduzione del rumore.

I modi custom non li ho ancora mai utilizzati. Degli "scene modes" utilizzo soltanto quello ad alta sensibilità e quello per le stelle, perché mi risparmiano il tempo necessario a risistemare la fotocamera. Uso quasi sempre i modi "A" ed "M", nel primo caso per regolare l'apertura finché non mi dà tempi ragionevoli, nel secondo caso per le foto più difficili (troppa luce o troppa poca luce).

Ultimamente sto riscoprendo l'ultrazoom per fare foto con lo sfondo sfocato. Il soggetto è ad un paio di metri dalla fotocamera (il minimo per metterlo a fuoco a 12x di zoom), e lo sfondo (3-4-5 metri dietro di lui) risulta sfocato. E' qualcosa di spettacolare quando fotografi persone o animali.

Quel "-55" è fondamentale perché il DCR6600 originale è a 52mm (cioè va bene solo su FZ10 e FZ20). Per la FZ30 e la FZ50 ci vuole la versione più recente, cioè il DCR6600Pro-55 che ha la filettatura a 55mm (come la FZ50). Trattandosi di una lente così "ampia", c'è il rischio di "vignetting" (fai le foto e ti vengono gli angoli neri), per cui con la "-55" il vignetting è minimo o assente (dipende dalle condizioni di luce), mentre con l'originale (52mm) occorre un anellino step-down (da 52 a 55) che però ha lo sgradito effetto collaterale di allungare lo spazio tra gruppo ottico e lente accessoria, per cui il vignetting diventerà enorme, fastidioso ed ineliminabile (a quel punto è inutile avere la lente accessoria).

Il problema non si presenta con i telefoto (quelli che lo zoom lo allungano).

Dopo la FZ50 la Panasonic non ha più tirato fuori compattone di fascia alta; le varie FZ18-FZ28-FZ38 sono di fascia "economica" (pur avendo più zoom, più megapixel e più feature software, fanno foto con più rumore e meno "risoluzione visiva" della FZ50). L'alternativa alla FZ50 è solo una reflex.

sabato 29 agosto 2009

Slow Leopard ? #FAIL

clipped from www.facebook.com

Snow Leopard ? #FAIL

Globale
Questo è un gruppo aperto. Chiunque può iscriversi e invitare altre persone.
Descrivere qui tutti i #Fail di Snow Leopard che già di suo è #FAIL , diciamo un mezzo obbrobrio.
http://profile.ak.fbcdn.net/object3/1089/73/n144408023082_1220.jpg
Se sei su Facebook, da oggi puoi iscriverti anche tu al gruppo Snow Leopard ? #FAIL per raccogliere notizie e informazioni sui problemi di Mac OS X Snow Leopard 10.6, il piccolo update di Mac OS X (che si avvia a 32 bit anziché 64) che prometteva mari e monti e invece...!

Per iscriverti, clicca qui: facebook: gruppo Slow Leopard? #FAIL !

Pietra lunare? Un falso!

clipped from news.bbc.co.uk


Fake Dutch 'moon rock' revealed

The piece of 'rock' supposedly brought back from the moon, seen in the Rijksmuseum, Amsterdam, 27 August 2009
A treasured piece at the Dutch national museum - a supposed moon rock from the first manned lunar landing - is nothing more than petrified wood, curators say.

At one point it was insured for around $500,000 (£308,000), but tests have proved it was not the genuine article.

clipped from www.radio7.it
http://www.radio7.it/pictures/luna.jpg
Uh-oh. Altri guai... Vediamo questa notizia della BBC inglese:

Una pietra "lunare" donata da Armstrong, Collins ed Aldrin a personalità politiche olandesi nel 1969, dopo quarant'anni si rivela essere un clamoroso legnetto pietrificato, molto terrestre e per niente lunare.

E pensare che era stata perfino assicurata per mezzo milione di dollari...

Portavoce della NASA si dicono stupefatti e senza spiegazioni: cadono dalle nuvole (non dalla Luna)!

Chissà, magari sulla Luna gli americani ci sono stati davvero. Anche se le foto e le pietre lunari souvenir da tempo sembrano tutti di "fabbricazione terrestre"