Vaccini – cose da chiarire

A parziale chiarimento della vicenda Wakefield e vaccinazione, mi piacerebbe che non si dimenticassero alcuni particolari.

Il Dott. Wakefield è stato “indagato” dal GMC (organo inglese che si occupa di questioni mediche) non in quanto le sue ricerche non fossero attendibili, bensì per il metodo con il quale si sono svolte.

Sono state condannate “eticamente” le pratiche, considerate scorrette, con le quali sono state fatte le ricerche, con prelievi di sangue effettuati senza il consenso dei bambini, ecc.

Premesso che questa è la stessa cosa che viene fatta quando si costringe una famiglia di un bambino a fare l’iniezione di un vaccino, e considerato che nessun bambino è risultato compromesso da queste operazioni, e considerato che le famiglie dei bambini erano, al contrario informate, ritengo che la cosa più importante non siano le tecniche ma i risultati, mai smentiti dall’organo di controllo.

Qualche link

http://news.bbc.co.uk/2/hi/health/8483865.stm

https://www.theguardian.com/society/2010/jan/28/andrew-wakefield-mmr-vaccine

Incongruenze sui vaccini…

Ummmh. Bambini che fanno male ad altri bambini. Siamo arrivati a livelli assurdi. Per spingere i vaccini ora ci si inventano anche le epidemie. 

In Europa ci sono 800.000 morti all’anno per lo smog: 
http://www.lescienze.it/news/2019/03/12/news/morti_inquinamento_atmosferico-4331321/

Eppure il problema sono i bambini non vaccinati. Se non ci fosse da piangere mi vien da ridere.

Non ci sono epidemie. Nulla giustifica l’accanimento italiano per spingere le famiglie a vaccinare i propri bambini.

Punto.

Configurare sqlite su raspberry pi 3

Per poter usare sqlite3 è necessario installare i relativi pacchetti debian.

Per l’uso come command tools è sufficiente lanciare il comando:

sudo apt-get install sqlite3

mentre per configurare l’uso in ambiente c si deve lanciare il comando:

sudo apt-get install libsqlite3-dev

Per installare ncurses si devono installare i pacchetti developer:

sudo apt-get install libncurses5-dev libncursesw5-dev

Configurazione Bluetooth su raspberry pi 3

La configurazione Bluetooth si trova dentro il file /etc/bluetooth/rfcomm.conf.
All’interno si deve configurare il ssid della rete a cui ci si collega e le relative password di accesso.
Successivamente, per fare il pairing bisogna mettere il dispositivo in modalità di attesa: è sufficiente il comando
sudo hciconfig hci0 piscan

A questo punto il dispositivo si porrà in attesa di essere pareggiato con un altro (la consueta password 1234 dovrebbe essere corretta).

Una volta configurato il tutto, è necessario istruire raspberry a fare lo start del Bluetooth all’avvio. Il comando da inserire in /etc/inittab oppure in /etc/rc.local è

sudo bluez-simple-agent

Nel file inittab si deve caricare una riga per permettere di aprire un terminale attraverso una porta del Bluetooth. Lo supporta sia windows (utilizzando putty) che raspberry.

Creare hotspot WIFI virtuale con windows 7

A partire da windows 7 è possibile utilizzare una chiavina WiFi di quelle super integrate (come la minuscola TP-link WN 725N) per creare una rete virtuale a cui collegarsi con smartphone o tablet.

Per farlo, dopo aver installato i driver del dispositivo wifi e essersi assicurati che funzioni) la situazione dovrebbe essere come quella visibile in figura:

Rete WIFI
Rete WIFI

In particolare il sistema configurerà la schedina come classica scheda di rete (visibile a sinistra con il nome “Connesisone rete wireless).

Ora, per operare come hotspot è necessario avviare il relativo servizio, ovvero creare una scheda virtuale, con il comando:

netsh wlan set hostednetwork mode=allow ssid=MYWIFI key=password keyusage=persistent

fornito all’interno del prompt dei comandi in modalità amministratore.

Ovviamente nel comando è necessario personalizzare il nome della rete e la password.

A questo punto nel pannello di configurazione della rete si vedrà anche la nuova rete wireless (nella figura la colonna  più a destra “Connessione rete wireless 2”).

Questa risulterà, però non connessa.

Per abilitare la connessione è necessario fornire il comando:

netsh wlan start hostednetwork

Successivamente sarà necessario andare sulla connessione “reale”, quella ethernet connessa alla rete e andare nelle sue proprietà.

Qui, si deve scegliere la scheda Condivisione e spuntare “Consenti al altri utenti in rete di collegarsi tramite la connessione internet di questo computer”.

Nel menu a tendina è necessario scegliere “Connessione rete wireless 2”.

A questo punto la funzionalità è abilitata e ci si potrà connettere all’hotspot.

Per spegnere il dispositivo è necessario inviare il comando di stop al servizio:

netsh wlan stop hostednetwork

Ovviamente sarà necessario abilitare il servizio ogni volta che necessita, in quanto all’avvio non sarà disponibile di default.

Video di “Installazione di xamarin”

 

Creazione gcode per pcb

Esistono numerosi strumenti, anche free, che permettono la creazione di file gcode per la fabbricazione di un pcb mediante tecnica cnc.

Lo strumento secondo me più comodo è utilizzabile online, all’indirizzo http://rapid-pcb.com.

Questo permette di generare un file gcode per le forature ed uno per la tracciatura semplicemente inviando i relativi file drl e gerber nel sito.

La generazione del file di foratura richiede, però le seguenti specifiche:

  1. Il formato excellon di tipo 1
  2. Misure in sistema metrico (mm)
  3. le coordinate devono avere il formato “3.3”, ossia 3 cifre intere e tre decimali, senza soppressione degli zeri iniziali

Queste specifiche si inseriscono facilmente dentro DesignSpark pcb. In particolare, per quanto riguarda il drill file, bisogna innanzitutto configurare le coordinate in mm, in tutte le maschere dove compaiono i bottoni “inches/mm”.

Si deve scegliere la riga corrispondente a “Drill Data”, poi Device Setup e qui indicare il “Formato 1”, “Remove Duplicate holes”  e “Output in metric units”. In Integer e Decimal indicare 3.

Per quanto riguarda il Bottom (o Top) copper è necessario indicare al sistema che i fill pattern non siano elaborati in hardware dalla cnc. In pratica si deve togliere la spunta al checkbox “Hardware fills (G36, G37)”, altrimenti in sostituzione di eventuali copper plane verranno generati solamente i bordi.

Configurazione Autologin per raspberry 3

Con la versione jessie di raspbian è cambiata anche la modalità di autologin, rispetto alla vecchia configurazione di inittab.

In pratica c’è un comodo comando da lanciare dentro raspi-config, nei parametri di boot.

Basta scegliere autoboot on conole as pi e il gioco è fatto.

Come ti configuro il controller “THT Arcade console 2P USB Player”

La configurazione di questo controller con raspberry dipende da alcuni parametri settati nei file di configurazione, in alternativa il sistema rileva solo un unico joystick pilotato dalle due levette. Innanzitutto è necessario estrapolare il codice del dispositivo, che deve essere stato rilevato correttamente all’avvio del kernel. Si dà il seguente comando:

# cat /proc/bus/input/devices
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name=”Xbox Gamepad (userspace driver)”
P: Phys=
S: Sysfs=/devices/virtual/input/input0
U: Uniq=
H: Handlers=js0 event0
B: PROP=0
B: EV=b
B: KEY=7fdb0000 0 0 0 0 0 0 0 0 0
B: ABS=3001b

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name=”Xbox Gamepad (userspace driver) #2″
P: Phys=
S: Sysfs=/devices/virtual/input/input1
U: Uniq=
H: Handlers=js1 event1
B: PROP=0
B: EV=b
B: KEY=7fdb0000 0 0 0 0 0 0 0 0 0
B: ABS=3001b

I: Bus=0003 Vendor=16c0 Product=05e1 Version=0101
N: Name=”THT THT Arcade console 2P USB Player”
P: Phys=usb-3f980000.usb-1.4/input0
S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0/0003:16C0:05E1.0001/input/input2
U: Uniq=
H: Handlers=js2 event2
B: PROP=0
B: EV=1b
B: KEY=3ff 0 0 0 0 0 0 0 0 0
B: ABS=3
B: MSC=10

I: Bus=0003 Vendor=16c0 Product=05e1 Version=0101
N: Name=”THT THT Arcade console 2P USB Player”
P: Phys=usb-3f980000.usb-1.4/input0
S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0/0003:16C0:05E1.0001/input/input3
U: Uniq=
H: Handlers=js3 event3
B: PROP=0
B: EV=1b
B: KEY=fff 0 0 0 0 0 0 0 0 0
B: ABS=3
B: MSC=10

I parametri che servono sono quelli che compaiono al centro della stringa Sysfs=….. /0003:16C0:05e1………

Questi vanno inseriti nel file /boot/cmdline.txt in fondo all’unica riga presente, aggiungendo la stringa:

usbhid.quirks=0x16c0:0x05e1:0x040

Un bel reboot et voilà.

Compilare apps con Xamarin

Con la versione 2015 del Microsoft Visual Studio è possibile compilare apps compatibili con i tre ambienti iOS, Android e Windows Phone, con un unico progetto.
Per installare tale feature è necessario avere installato l’update 2 di Visual Studio 2015, disponibile nel sito Microsoft.
Contemporaneamente è necessario installare gli strumenti per android, almeno il Android sdk che può essere installato anche senza tutto l’ambiente di Android Studio che è gigantesco.
Prima di creare apps android è necessario indicare a Visual Studio dove trovare la directory di Android SDK e questo si fa dal menu Strumenti -> Opzioni -> Android Settings e cliccando su “Android Sdk location”. Questo deve puntare alla directory dove è stato installato l’sdk, ossia alla directory superiore a quella dove si trova adb.exe.
Per velocizzare il debug delle applicazioni android si deve scaricare anche il pacchetto “Intel® Hardware Accelerated Execution Manager” (HAXM) della Intel e si può fare scaricandolo dal sito Intel HAXM oppure ancora meglio scaricando l’apposito pacchetto dal sdk android manager.
Assicurarsi di installare la versione 6.0.1 o superiore.
Usando l’sdk manager, questo farà solo il download del pacchetto nella directory extras. Da qui dovrà essere lanciato il setup che tipicamente comporta il lancio di un silent_install.bat.

Gestione di video con PiPlay

PiPlay è un ottimo strumento per la gestione dei vari emulatori disponibili in rete.
Dopo averlo un po’ configurato, l’ho installato in auto, insieme a una bella coppia di televisorini da 7 pollici. Questi sono reperibili nei vari mercatini al costo di circa 33€ e quindi rappresentano un’ottima alternativa ai dispositivi all in one, quelli per intenderci dotati di lettore dvd.
L’esperienza d’uso di un raspberry, per quanto riguarda la disponibilità di software è pressoché totale. Esistono ottimi lettori di video e anche ottimi emulatori di console per videogiochi.

Il problema principale di PiPlay risiede nel fatto che permette unicamente di “giocare” e non di vedere video e film (magari scaricati dalla rete, oppure rippati).
D’altra parte, PiPlay è configurato con python e, con un po’ di dimestichezza con l’uso di questo linguaggio, si può fare davvero di tutto.
Quindi, perché non provarci ?

Innanzitutto è meglio utilizzare una distribuzione di Linux da installare in una macchina virtuale. Io ho scelto ubuntu.
Accedere alla distribuzione creando un utente pi e password raspberry (le stesse di piplay) e scaricare, usando firefox, il progetto sorgente del launchmenu.py da github pimame-menu per poterlo vedere ed eventualmente modificare/testare.
Scompattare lo zip dentro la directory /home/pi/pimame.
Se non è già disponibile installare python con il comando apt-get install python3
Infine può essere comodo installare anche sqlite, in quanto gran parte della configurazione di piplay viene mantenuta su questo db.
Poi installare sqlite per vedere l’attuale contenuto del menu di piplay. Dare il comando
# sudo apt-get install sqlite3 libsqlite3-dev

Il database di configurazione di piplay è situato in /home/pi/pimame/pimame-menu/database/config.db

Usando sqlite si possono vedere le varie voci di menu che vengono visualizzate a video, con i vari emulatori disponibili. A queste voci se ne possono aggiungere altre che, per esempio, permettano di vedere video salvati nella memoria della scheda.
Per fare questo, aprire con sqlite il db config.db, poi andare in “Browse data” e selezionare la tabella menu_items. Le varie voci sono facilmente identificabili nell’elenco e si dividono in emulators, games e utilities, nella colonna type.
La colonna “visible” permette di rendere visibile o invisibile le varie voci. Io ho reso invisibili alcuni emulatori che non mi interessano in modo da occupare il minimo dello spazio a video.

Nella colonna “Command” va indicato il comando da lanciare quando si seleziona la voce dall’interfaccia di piplay. Io ho aggiunto per fare una prova il comando omxplayer “/home/pi/video/prova.avi” per testare un semplice video.

Infine, per gestire il caricamento automatico dei video presenti all’interno di una certa cartella, ho predisposto un’apposita funziona in python. Aprire con gedit il file che si trova in /home/pi/pimame/pimame-menu/pmmenu/pmconfig.py e aggiungere, dopo la init, la funzione:

def getVideos(self,directory,menu_items):
#carica i video dalla directory
for root, directories, files in os.walk(directory):
for filename in files:
filepath = os.path.join(root,filename)
menu_item = {'id':100,'label':filename,'icon_id':'','type':'utility','visible':1,'command':'vlc --play-and-exit '+filepath,'rom_path':'','include_full_path':1,'include_extension':0,'override_menu':1,'icon_file':'','icon_selected':'','position':'','scraper_id':''}
menu_items.append(dict(menu_item))

e il richiamo dentro la _init_ con la seguente istruzione:
self.getVideos('/home/pi/pimame/video',config['menu_items'])
subito sotto l’istruzione config['menu_items'] = [dict(zip(keys,value)) for value in values]

Questo fa si che all’interno dell’interfaccia principale di piplay compaiano in automatico anche tutti i video della cartella video e che questi possano essere lanciati cliccando sulla loro icona. Questo file pmconfig.py va poi trasferito nella medesima posizione del raspberry, avendo l’accortezza di modificare l’istruzione vlc (di ubuntu) nella corrispondente omxplayer del mitico raspberry.

Et voilà, il video è servito!

Aggiornamento del 17 Aprile 2016

Su schermi molto piccoli e con bassa risoluzione, quali quelli che si acquistano nelle fiere realizzati apposta per i cruscotti delle automobili, le scritte dei riquadri di piplay sono molto piccole. Praticamente invisibili.

I riquadri che rappresentano film riportano un titolo che non si riesce nemmeno a leggere.

Per ovviare bisogna intervenire in un file che si trova sotto themes/default/theme.yaml, ricercando al suo interno la scritta

num_items_per_row

e

item_height

e correggerle di conseguenza.

Nel mio caso erano num_items_per_row = 6 e item_height = 220. Li ho trasformati in num_items_per_row=2 e item_height=300.

Così facendo le scritte sono tornate ad essere ben visibili, anche se per arrivare agli ultimi film della lista ora bisogna scorrere diverse pagine.