lunedì 25 aprile 2016

Promemoria: bilancia USB

Sto considerando l'acquisto di una bilancia USB, impedenziometrica (cioè che stima BMI, percentuale d'acqua, massa muscolare, ecc).


Esempio 1: la ION Health:

Raccoglie i dati a bordo. I dati si possono scaricare inserendo una pen-drive USB e premendo poi il tasto SET per 3 secondi; il file viene salvato sulla pen-drive, che poi si può collegare al PC. Il software è per Windows, ma il formato dei dati è .TXT per cui si può smanettare. Non conosco le dimensioni della memoria della bilancia: è un po' seccante dover inserire la pen-drive USB (fornita in dotazione) ogni volta che bisogna scaricare i dati.


Esempio 2: la Beurer BF 480 e la Beurer BG 64:

Queste "parlano" al PC via cavo USB con un protocollo proprietario; per emularlo esiste un sorgente per Linux con libusb e QT 4.8 ma va compilato. Prima di comprare la bilancia, assicurarsi di essere riusciti a compilarlo ed eseguirlo, altrimenti... solo Windows.


Esempio 3: la Newgen Medicals KAW-410:

Questa pure si collega via cavo USB ma si presenta a Linux come un human interface device (tipicamente /dev/usb/hiddev0); trovo in giro qualche sorgente (che non usa librerie esterne e perciò si dovrebbe compilare facilmente), ma è roba del 2008 e non credo che possa essere usata se non come spunto per scrivere un nuovo software (si faccia avanti chi ha il tempo di farlo).


Esempio 4: la Beurer BF 700 oppure la Salter 9154 BK3R oppure la Medisana BS 440:


Queste "parlano" in bluetooth ma solo ad un'apps iPhone/Android. Sulla Salter l'invio dei dati avviene premendo un apposito tastino.

Premessa importante: i dati che misura servono a me, sul mio PC e basta, per cui intendo escludere quelle che possono funzionare solo con apposite "apps" ("apps" che per di più potrebbero spedire i dati anche a server remoti).

mercoledì 13 aprile 2016

Metodo infallibile per vincere al gioco del lotto

È stato arrestato un tizio che aveva vinto MILIONI al gioco del lotto fra il 2005 ed il 2011.



Si tratta di un esperto di sicurezza che aveva modificato aùmm-aùmm gli impianti installando una DLL programmata in modo che in tre precise date dell'anno le estrazioni dei numeri sarebbero state prevedibili (cioè non totalmente "random").

martedì 12 aprile 2016

Etichette dischetti

Brings back memories...




Note:

  • i dischetti 720k erano 5.25" da 80 tracce con drive Teac
  • il dischetto col nuovissimo MS-DOS 3.20 (che sostituiva il 3.11) era formattato a 42 tracce (378k)
  • il Run-C era un interprete del linguaggio C (un eseguibile di ben 183 kilobytes)
  • da Elettronica Stabia furono acquistati in un sol colpo ben quattro dischetti da 5.25" 360k
  • l'etichetta "SPROTETTOR" serviva solo ad impressionare un cugino non proprio a suo agio con la terminologia inglese. Ovviamente chiese una copia dei mirabolanti SPROTETTORS. Ovviamente non la ebbe.

giovedì 31 marzo 2016

Promemoria: domande prima di accettare di prendere in carico un software

Elenco delle domande da fare (cioè delle risposte da ricevere chiaramente per iscritto) ogni volta che mi fanno ereditare un progetto software fatto da altri.

Sviluppo:

- come si fa a installare i tool di sviluppo?
- devo usare per forza il vostro IDE? se sì, perché?
- compilatori e librerie: state usando le versioni più recenti? se no, perché?
- come e quando vanno aggiornati compilatori e librerie? a chi fare riferimento?
- quale sistema di version control si usa per i sorgenti? a chi fare riferimento?
- quali sistemi di bug tracking? sono integrati col version control? a chi fare riferimento?
- quali convenzioni occorre rispettare nel codice?
- cosa si usa per la documentazione?
- chi e quando fa la revisione del codice?
- c'è un database? viene aggiornato? c'è un DBA a cui fare riferimento?

Collaudo:

- come si fa il deploy di prova? e in ambiente di collaudo? e in rilascio?
- chi e come conferma la correttezza dei deploy? se fallisce, chi e quando se ne deve occupare?
- chi e come può accedere ai log? posso accedere ai log aggregati? se no, perché?
- come si eseguono i test? i test disponibili coprono tutta la casistica?
- riguardo alla sicurezza, ci si può già fidare a mettere il progetto in "produzione"?
- quale è normalmente il carico di lavoro? come si può misurare?
- può sopportare carichi improvvisi e imprevisti? si può verificare?

Esercizio:

- come posso sapere se una mia modifica ha drasticamente rallentato o appesantito il sistema?
- cosa perde il cliente in caso di disservizio in esercizio?
- il contratto col cliente prevede una SLA? chi è il responsabile che la deve assicurare?
- le violazioni alla SLA sono trattate come bug del software?
- in caso di disservizio dovuto a fattori esterni, entro quanto tempo deve tornare operativo il sistema?
- cosa deve succedere in caso di disservizio iniziato in giorni festivi?

mercoledì 30 marzo 2016

Promemoria installazione Ubuntu 16.04

Dopo l'installazione di default e dopo aver aggiornato i pacchetti:
sudo apt-get -y update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade && sudo apt-get -y autoremove

sistema:
sudo apt-get install psensor indicator-multiload vinagre moserial guvcview gnome-tweak-tool unity-tweak-tool lighttpd vsftpd wireshark traceroute u-boot-tools lm-sensors gconf-editor xsel gparted vim ssh ubuntu-restricted-extras ncftp units minicom powertop smartmontools arj nmap

n.b.: il pacchetto xsel serve per usare dalla shell:
alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'

altri browser:
sudo apt-get install chromium-browser midori arora epiphany-browser qupzilla flashplugin-installer

creatività:
sudo apt-get install gimp audacity gnuplot5-qt povray openshot inkscape xournal sweethome3d lyx

social: solo IRC grafico e Twitter da command-line:
sudo apt-get install hexchat twidge

multimedia:
sudo apt-get install xawtv pavucontrol vlc mplayer mencoder flac lame id3v2 youtube-dl 

emulazione/simulazione:
sudo apt-get install wine dosbox dosemu virtualbox-qt virtualbox-guest-additions-iso

un po' di fonts aggiuntivi:
sudo apt-get install fonts-isabella fonts-linuxlibertine ttf-aenigma ttf-adf-* ttf-anonymous-pro ttf-sjfonts ttf-tiresias ttf-mscorefonts-installer

programmazione: Rust ancora non è installabile dai repository ufficiali, dunque:
sudo apt-get install ruby z88dk git arduino netpbm exif gcc-msp430 msp430mcu msp430-libc gcc-msp430 libjpeg-progs libjpeg62-dev usbutils binwalk tidy autoconf libtool

gaming:
sudo apt-get install prboom-plus

altro:
sudo apt-get install ibus-table-emoji ubuntu-keyboard-emoji

modifiche all'interfaccia: nell'Unity Tweak Tool modificare:
unity-tweak-tool : Launcher : Web Apps : Amazon / Ubuntu One
                 : Launcher : Icon size: 40
                 : Window Manager : HotCorners : Spread All Windows
                 : Appearance : Fonts : Ubuntu12, UbuntuMono13, UbuntuCondensed12, UbuntuBold12
                 : Appearance : Cursor : Whiteglass

installazione di Skype: prima occorre installare la paccottiglia di prerequisiti di librerie i386:
sudo apt-get install libqt4-dbus:i386 libqt4-network:i386 libqt4-xml:i386 libqtcore4:i386 libqtgui4:i386 libqtwebkit4:i386 libxss1:i386 libxv1:i386 libqtdbus4:i386 libaudio2:i386 libmng2:i386 libqt4-declarative:i386 libgstreamer-plugins-base1.0-0:i386 libqt4-opengl:i386 libqt4-sql:i386 libqt4-xmlpatterns:i386 libqt4-script:i386 libgstreamer1.0-0:i386 libcap2:i386 sni-qt:i386 libssl1.0.0:i386 libpulse0:i386 libasound2-plugins:i386

quindi procurarsi dal sito skype la versione per Ubuntu Precise e installarla:
sudo dpkg -i skype-ubuntu-precise_4.3.0.37-1_i386.deb

supporto extra (USB 2.0, USB 3.0) per VirtualBox: scaricare dal sito Oracle l'Extension Pack per VirtualBox 5 per Linux, quindi installarlo con:
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack*

si possono liberare quasi 600 mega eliminando la documentazione di TeX:
sudo apt-get remove texlive-latex-extra-doc texlive-latex-recommended-doc texlive-latex-base-doc texlive-pictures-doc

lunedì 14 marzo 2016

Ho schiattato un fusibile...

Parecchi anni fa comprai da Sparkfun questo sbrilluccicoso Benchtop Power, che da un connettore ATX estrae 3.3V, 5V, 12V e -12V con tanto di fusibili e perfino LED di accensione.
L'ATX da 500W, che mi costò solo 18 euro (e ci credo: efficienza 70% con carichi da almeno 1A), è capace di tirar fuori 48A a 5V oppure 16A a 12V (e soli 0.8A sulla -12 e "appena" 32A sulla 3.3V).

Oggi ho involontariamente cortocircuitato un'alimentazione e schiattato il relativo fusibile (Sparkfun ce li ha messi da 5A perché "a chi può mai servire più corrente?"), evitando danni peggiori. Ho riciclato quello della -12V mai usato.


sabato 12 marzo 2016

Interruttori Android? malemale!!

Allora, un tizio va in un albergo di Londra e scopre che lì gli interruttori per la luce, per le tende, ecc., sono dei tablet Android incassati nel muro (fa tanto figo premere un tablet anziché un interruttore!). Lo scopre perché l'apps "Orologio con Touch Interruttore" è andata in crash (vedi foto).

Un paio di questi tablet non erano completamente incassati ed esponevano addirittura una porta ethernet. Il bravo tizio, che per puro caso ha in valigia uno switch ethernet e dei cavi, mette il suo notebook Linux in mezzo e sniffa il traffico mentre "preme" il touchscreen di tali "interruttori" Android: il Wireshark gli dice che stanno transitando pacchetti in formato Modbus (un protocollo inventato nel 1979, trentasette anni fa era solo per i PLC, ovviamente senza alcun tipo di crittografia).

Trova con Google una libreria Pymodbus per "parlare" in Modbus e... da command-line accende e spegne gli aggeggi. E subito si accorge che nell'indirizzo IP è indicato anche il numero della camera! Praticamente in albergo alle tre di notte può accendere alla massima luminosità tutte le luci e aprire tutte le tendine e scatenare il panico.

Invece, tomo tomo onesto onesto, va a dirlo al proprietario dell'albergo che gli risponde che presto prenderà provvedimenti.

Morale della favola: domotica? touch? android? mmmmm!!!

martedì 8 marzo 2016

Crolla un altro bastione: la Microsoft annuncia SQL Server per Linux

Notizia dal blog Microsoft: SQL Server per Linux - annunciato per il 2017 - forse da oggi hanno cominciato a svilupparlo: int main() { ...


Nel 2001 il presidente della Microsoft (Ballmer) aveva detto «Linux è un cancro che si aggrappa alle intellectual property ogni volta che le tocca».

giovedì 3 marzo 2016

JSL (Japanese Sign Language)

Lingua giapponese dei segni:

martedì 1 marzo 2016

domenica 28 febbraio 2016

Ma... ma è... ma è un CAMPER !!








Autore: lo sloveno Chapachuk su Eurobricks.

venerdì 26 febbraio 2016

Quaaaaanto?!? two grands ?


No, non lo compro. A parte il fatto che se ne vanno poi altri cinquecento euro di dazi doganali...

giovedì 25 febbraio 2016

Un LEGO Certified Store in Italia!

Cos'è un LEGO® Certified Store?

Un LEGO® Certified Store (LCS) non è di proprietà di The LEGO Group ed è gestito da una terza parte (Percassi in questo caso) dietro accordo con The LEGO Group stesso.

Un LEGO® Certified Store (LCS) è un negozio progettato da The LEGO Group, e replica esattamente il "look" e la "experience" di un LEGO Store ufficiale.

Tutti i mobili, la grafica e i complementi d'arredo sono progettati da The LEGO Group.

Un LEGO® Certified Store (LCS) offre i seguenti "servizi" che ispirano e sviluppano i "costruttori di domani" attraverso un creativo "gioco libero" e lo sviluppo della immaginazione:
  • Pick-a-Brick wall (PAB) – un "arredamento" customizzato con contenitori cilindrici riempiti con mattoncini ed elementi LEGO dai quali gli acquirenti/clienti possono scegliere e prelevare a mano quelli di cui hanno bisogno per costruire quello che hanno pensato o progettato.
  • Set LEGO già montati e circondati da un nastro a marchio LEGO (“Brand Ribbon”) lungo tutto il perimetro/attorno alla circonferenza del negozio per ispirare i fan LEGO.
  • “The Living Room”, un'area gioco interattiva che, posizionata al centro del negozio, darà ai bambini la sensazione e l'esperienza "hands-on, minds-on” (si potrebbe tradurre con "mani sui mattoncini - mente accesa") con i mattoncini LEGO.
  • Set LEGO esclusivi disponibili in contemporanea a Stati Uniti e Germania
(notizia da Mattonito)

mercoledì 24 febbraio 2016

Come godo!! SunFounder power in my hands!!

Ho comprato su Amazon un monitor SunFounder 7" TFT da accoppiare ad una Beagleboard.

Il monitor viene venduto "per Rasperry Pi bla bla bla", in realtà è un normalissimo monitor da sette pollici scarsi, utilizzabile da qualsiasi cosa abbia un'uscita HDMI o VGA.

Il monitor Asus 27" troneggia sul monitor Sunfounder 7"

È un monitor Sunfounder 1024x600 con diagonale da 173mm (6.8"), nonostante la copertina del manualino e della confezione dicano che è solo 800x480 (all'interno del manualino però nella pagina delle specifiche indicano come risoluzione fisica 1024x600, e l'ho verificata personalmente; non so se sono stato fortunato oppure se gli 800x480 siano stati già venduti tutti).

Va alimentato a 12 volt; nella confezione c'è un alimentatore 12V con spina adattatrice Bosch.

Viene riconosciuto dal PC Linux Ubuntu come un "Do Not Use RTK 32" (l'EDID riporta Monitor Name 32V3H-H6A Model 4c54 Serial Number 1 Year 2007: evidentemente una partita di chip riciclati da nove anni fa). In assenza di segnale compare la classica schermata blu "NO SIGNAL".

Ha due normali ingressi HDMI e VGA (disposti orizzontalmente e lontano dal bordo, cosa molto buona) più un cavo che fuoriesce dall'interno (non staccabile) collegabile ad un cavo adattatore AV (fornito in dotazione e addirittura con capsula col fusibile). Ha anche uno speaker piezoelettrico e nei menu OSD permette perfino di impostare la radio FM sugli 87-89 MHz, probabilmente usando il cavo integrato AV+alimentazione come antenna (la radio però non l'ho provata). È dotato perfino di un telecomando a infrarossi che replica i tasti fisici (va abilitato nell'OSD coi tasti fisici), e di una basetta.

Le due caratteristiche più brutte sono il cavo che fuoriesce dall'interno (non staccabile, a meno di rinunciare alla garanzia) e la scritta marchiata a fuoco "7 INCH HD TFT COLOR MONITOR".


I sei tasti fisici esterni sono:
- PC/AV: cambia modalità HDMI-AV1-AV2-VGA (verrà ricordata alla prossima accensione)
- rotazione: specchio orizzontale, sottosopra, sottosopra specchio, normale (evidentemente pensato per essere usato con le retrocamere)
- Menu, +, -: menu OSD per le impostazioni luminosità, contrasto, ecc.; il menu di default è in inglese, ma ha anche la lingua italiana con qualche accento sbagliato qua e là
- On/Off.

Alla pressione del tasto di accensione On/Off, ci mette circa un paio di secondi ad accendersi. Se viene tolta e poi ripristinata l'alimentazione, non si riaccende (occorre premere di nuovo On/Off).

Sia in modalità HDMI che VGA, dichiara varie risoluzioni video ma non la risoluzione nativa 1024x600 a 60 Hz (cioè 49 MHz pixel clock, 37.35 kHz orizzontale, 59.85 Hz verticale) o 75 Hz (con 62.5 MHz pixel clock). Per impostarlo correttamente da Linux occorre aggiungere un parametro command-line al kernel per indicare che l'uscita video utilizzata ha la risoluzione 1024x600 a 60 Hz sempre "enabled":
video=DVI-D-1:1024x600@60e

In alternativa - sempre da Linux - occorre smanettare col perfido "xrandr" di Xorg per attivarlo come monitor secondario (estensione del desktop) o in "mirroring" (sconsigliabile a causa dello stretching, tranne magari per i casi di foto/video full-screen); per esempio, sul notebook ho dovuto impostare dopo l'avvio di Xorg:
xrandr --newmode 1024x600 62.50 1024 1072 1176 1328 600 603 613 629 -hsync +vsync
xrandr --addmode HDMI-0 1024x600
xrandr --output HDMI-0 --mode 1024x600
(nota: sulla Beagleboard l'uscita DVI digitale passa sul connettore HDMI, per cui ho usato DVI-D-1; basta verificarlo col comando head /sys/class/drm/*/status mentre su altre macchine occorrerà usare qualcosa tipo HDMI-0, VGA-1, ecc.).

La risoluzione 1024x600 non è né carne né pesce: verticalmente è un pochino più ampia di un 16:9. Il pannello TFT è controllato da un chip RTD2660H, driver TTL per HDMI che adatta allo schermo (scaling/stretching) l'immagine che gli arriva da VGA/HDMI/AV, ma l'effetto è fastidioso se non è foto/video ma grafica/testo (infatti il prodotto è evidentemente pensato per essere collegato a una retrocamera da automobile).

Dal monitor non sono riuscito a ottenere audio dal canale HDMI, non so se l'audio sia supportato anche da HDMI o solo dagli ingressi AV.

La visuale, dichiarata di appena 70°, pare in realtà ancora più ridotta, e sulle immagini a colori forti si nota da vicino un po' di flickering (come retrocamera da auto andrà bene, come monitor per sviluppatori di software sarà una rogna).


Ovviamente l'ho smontato, infischiandomene della garanzia, per staccare l'orrendo cavo AV+alimentazione (connettore bianco in basso verso destra) ed avere attaccati al pannello solo il mio cavo HDMI e il cavetto di alimentazione. Per aprirlo basta svitare due viti sul retro (una delle quali è coperta dall'adesivo del sigillo di garanzia) e poi - con molta, molta attenzione - staccare il coperchio incastrato in una serie di fragili dentini e senza danneggiare i fragili connettori (specialmente quello del TFT). La plastica del case non è rigidissima e tende a piegarsi o addirittura a formare crepe.

Non ho provato, ma probabilmente è possibile tenerlo sempre acceso cortocircuitando il tasto di accensione.

Sulla board si vedono i fori per aggiungere un buzzer, un pannello touchscreen e un secondo speaker, ma è chiaro che il monitor è stato costruito in economia (mi preoccupa solo il jack di alimentazione 12 volt, quello nero in alto a destra, che in caso di strattoni potrebbe staccarsi).