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).

venerdì 15 aprile 2016

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 traccie (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!!!