martedì 23 maggio 2017

I nuovi Surface Pro: ...da urlo!!

Video di presentazione dei nuovi Microsoft Surface Pro:

mercoledì 17 maggio 2017

Limoncello fatto in casa

Dopo il liquore ai kumquat, ora tocca al limoncello: 40 giorni a bagno in alcool 96°, poi filtraggio (vedi sotto), e quindi un'altra settimana di riposo prima di poter degustare. Slurp!


La bottiglia è quella che conteneva l'alcool, e i limoni sono quelli biologici arraggiàti staccati da me medesimo in persona.

martedì 16 maggio 2017

Pizza uà, watashi uà

Orrore, orrore: i primi venti secondi di questo video fanno rabbrividire!

lunedì 8 maggio 2017

sabato 6 maggio 2017

Bicicletta incatenata ai sostegni del treno!

Scenette da circumvesuviana: un extracomunitario nero (sulla destra della foto) in giacca e cravatta, incatena la sua bicicletta ad uno dei sostegni passeggeri, dà un'occhiata rapidissima dall'altro lato, e viene immortalato mentre torna a controllare che la bicicletta sia ancora lì.


mercoledì 3 maggio 2017

"Tanto non passa nessuno!"

Genialata: sciacquare lo scaletto in mezzo alla strada.


martedì 2 maggio 2017

La verità fa male

PROGRAMMAZIONE -- è uno dei rami più difficili della matematica applicata; pertanto i matematici meno abili è meglio che restino puri matematici.

FORTRAN -- cioè "il disordine infantile", non ha alcuna speranza di essere adeguato per una qualsiasi applicazione che abbiate in mente oggi: è incasinato, è rischioso, è troppo impegnativo.

BASIC -- è praticamente impossibile insegnare la programmazione a chiunque abbia avuto a che fare col BASIC in precedenza: come programmatori sono mentalmente mutilati al di là di qualsiasi speranza di rigenerazione.

COBOL -- il suo utilizzo inquina la mente; insegnarlo è un'attività criminale.

COMPETENZA -- un programmatore competente non ha solo buone conoscenze matematiche, ma padroneggia la propria lingua nativa.


prof.dr.Edsger W.Dijkstra, giugno 1975

domenica 30 aprile 2017

La Juve ha sempre rubato le partite...

...per cui devi anche stare attento a dove metti i piedi!


domenica 23 aprile 2017

QRcode indirizzo blog in LEGO

La superficie di un QR-code con correzione minima è di 21x21 pixel per un link fino a 17 caratteri (incluso lo spreco di "http://"), con più caratteri sprecherebbe più spazio (e dunque più pezzi LEGO) per cui ho provato un po' di URL shorteners per abbreviare https://particolarmente-urgentissimo.blogspot.com ed il risultato è questo:
Tinyurl esiste da quindici anni e ormai è difficile trovare una sequenza più breve di quella random suggerita di default.
Questi sono da prendere a pedate: URL cortissimo e hash chilometrico, cioè non vogliono intrusi perché serve solo per le loro apps Hoot Suite (che peraltro facevano cagare).
Questo è il servizio di Twitter, che però in pochi anni ha creato uno sproposito di hash anche su URL ripetuti più volte poiché (mica fessi) ci fanno statistica (quando creato, da quale IP, usato da chi...).
Non male, ma siamo ancora troppo larghi.
Anche questi sono da prendere a pedate perché prepongono una schermata di conferma della cliccata, considerando "spam" i blog della piattaforma Blogspot appartenente all'odiata Google.
Ahimé, lo shortener di Google (cioè quello che più sicuramente durerà fino alla fine di internet) è di 20 caratteri.
Lo shortener Bit.Do permette di scegliersi sequenze cortissime, anche di 3 o 4 caratteri, e siccome "alf" era già usato da un tale Alfredo Luzon che non ha più il sito, ho dovuto aggiungere una lettera e salire così a 18 caratteri, che è ancora troppo.
Finalmente! Dopo qualche tentativo con le lettere più improbabili scopro che la combinazione xq3 non era stata ancora usata e quindi ho finalmente un URL sufficientemente corto

Fuori classifica ci sarebbe anche x.co, lo shortener del provider Godaddy, che permetteva sequenze di quattro lettere casuali (avrei ridotto a 16 caratteri), ma i furbacchioni hanno deciso che il servizio è utilizzabile solo da chi compra loro prodotti.


Dunque inserisco http://bit.do/xq3 in uno dei tanti siti che permettono di creare un QRcode (tipo goqr.me), lancio il LEGO Digital Designer e ricopio il disegno (c'è voluto meno a ricopiarlo a mano che a cercare una di quelle utility che ti chiedono il link e ti generano il progetto già pronto, inoltre ho tentato di sfruttare al massimo le flat tile nere che già ho a stock) e il risultato è questo:


E naturalmente ha funzionato al primo colpo, scandendolo così, dallo schermo del PC al programmino mBarcode del cellulare:


venerdì 21 aprile 2017

giovedì 20 aprile 2017

Cavalleria Rustica

Foto 1, cliccare per ingrandire: "Quiz patente: indovina chi intralcia l'incrocio":


Foto 2: osservare l'ombra, il cavallo sta letteralmente volando:


martedì 18 aprile 2017

The Almighty ComputerMan in the SuperMarket !!!

Giacca. Cravatta. Computer portatile poggiato sul cestone "gruppo tre calze tennis" (in modo che se ne perdi una te ne resta una di scorta). Cuffie iPhone con musica comprata su iTunes. Connessione wifi del supermercato. Zaino poggiato a terra con batteria esterna USB per il telefonino, ricaricabatterie del notebook, vari gadget USB indispensabili quando si è in giro. Aria estremamente professionale.

Secondo me sta controllando se i calzini in offerta a 3,99€ si trovano su Amazon a 3,49€, in modo da risparmiare comprandoli on-line.


venerdì 14 aprile 2017

Come godo!! Huzzah power in my hands!

Ho comprato questi Adafruit Huzzah, microcontroller con wifi (sia client WPA2 che accesspoint, basato su ESP8266) a 80 MHz, con alimentazione da batteria 3.7V (e da USB con ricarica) e nove pin GPIO (alcuni dei quali rimappabili in una SPI e una I²C).

A bordo c'è già installato il firmware NodeMCU basato su una versione semplificatissima del linguaggio scripting Lua (per cui non ho neppure bisogno di usarlo in modalità Arduino) con tanto di prompt comandi sulla seriale USB.


L'applicazione-tipo è questa:
  • sempre connesso alla wifi di casa
  • ogni tot secondi legge il valore dei pin
  • invia il risultato su socket del server (in pratica: serve per accedere a quei pin via wifi anziché i soliti bluetooth o porta seriale).
Oltre ai soliti moduli per i sensori più diffusi (lux, umidità, ecc.) le librerie supportano anche features simpatiche (HTTPS client, crittografia SHA256, client MQTT, data/ora da SNTP, client Websocket, stati deep sleep, ecc.; alcune richiedono la ricompilazione del nodemcu) fermo restando il limite di una ventina di kilobytes di RAM; del resto, se deve solo inviare valori ad un server locale o a un broker Mosquitto, gli basta la connessione wifi e il client HTTP, non ha bisogno neppure di conoscere data/ora.

Come tutti i prodotti originali Adafruit è ottimo ma costa un sacco di soldi (attualmente 3600 euro al chilo).

Il buongiorno si vede dal mattino:
  • impostare il terminale seriale a 9600 8N1 sulla porta /dev/serial/by-id/usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_0136E32E-if00-port0
  • premere il tastino di reset, compare la scritta: NodeMCU 0.9.5 build 20150318  powered by Lua 5.1.4
  • se non è ancora impostato un autoexec (init.lua) comparirà anche la scritta lua: cannot open init.lua
  • al prompt dare i comandi per connettersi e verificare l'indirizzo IP assegnato:
      wifi.setmode(wifi.STATION)
      wifi.sta.config("SSID_del_mio_wifi", "mia_password")
      print(wifi.sta.getip())
  • a questo punto può trasferire dati via internet:
      c = net.createConnection(net.TCP, 0)
      c:on("receive", function(s, c) print(c) end )
      c:connect(80, "www.adafruit.com")
      c:send("GET /testwifi/index.html HTTP/1.1\r\nHost: www.adafruit.com\r\nConnection: keep-alive\r\nAccept: */*\r\n\r\n")
  • (cioè: crea una connessione attraverso il wifi, associa un evento in caso di "receive", invia una GET.... e qualche attimo dopo, in caso di "receive" andata a buon fine, arriva la stringa di Adafruit "if you can read this, it's working :)"
  • ovviamente non è necessario accedere al web, si può usare anche un IP fisso su una rete locale wifi.