giovedì 23 marzo 2017

Fabiola Gianotti

Articolo che riscopro dopo dopo anni http://www.repubblica.it/scienze/2014/12/28/news/io_tra_dio_e_il_big_bang_fabiola_giannotti_direttrice_del_cern_la_signora_dell_universo_di_dario_cresto-dina-103841329/

Merita decisamente!
Ci sono una perla dietro l'altra, segnalo giusto l'ultima "in ordine di apparizione":

"Non siamo un'azienda. Guai a soffocare con il controllo e un'organizzazione pesante l'essenza della ricerca, che si basa sulle idee. Penso a una direzione leggera, attraverso il consenso. Se il più giovane degli studenti ha l'idea giusta si proverà a fare ciò che il suo intuito ha suggerito. Siamo spinti dalle idee, non dalle gerarchie"

... forse ormai anche le aziende dovrebbero essere un po' meno "aziende" e un po' più CERN

mercoledì 22 marzo 2017

It is a profoundly erroneous truism...

"It is a profoundly erroneous truism... that we should cultivate the habit of thinking of what we are doing. The precise opposite is the case. Civilization advances by extending the number of important operations which we can perform without thinking about them."
— Alfred North Whitehead, An Introduction to Mathematics (1911)

... il buon Alfred non immaginava certo automobilisti dotati di smartphone

martedì 28 febbraio 2017

Django-rq comandi utili

Sono passato a django-rq
Funziona bene e fa il suo mestiere

A volte si creano situazioni un po' anomale (es. a causa di un worker che "esce male")

Ecco dunque alcuni comandi che possono essere utili
Ed esempio il seguente comando mostra a terminale la situazione di tutte le code:
$ rq info

Ci sono poi alcuni comandi che si possono dare da redis-cli...
Selezione de DB redis e visualizzazione di tutte le key utilizzate da rq
127.0.0.1:6379> select 0
127.0.0.1:6379> keys rq:*
Vedere tutte le proprietà di un job:

127.0.0.1:6379> hgetall rq:job:3f8a4ace-84a5-42ad-9a26-7ef0e5bae3ec
Lista di tutte le code utilizzate (non è detto che siano tutte quelle definite):
127.0.0.1:6379> smembers rq:queues
Lista dei job nella coda my-queue:
127.0.0.1:6379> zrange rq:finished:my-queue 0 100

Ricordarsi poi che per verificare la situazione si può ridare:
$ rq info

Riprendiamo ora il caso iniziale e chiediamoci come cancellare la situazione di un worker che è "uscito male"
127.0.0.1:6379> smembers rq:workers
127.0.0.1:6379> srem rq:workers rq:worker:"host-name"."pid"
dove "host-name" e "pid" sono rispettivamente il nome della macchina e il pid del processo che non esiste più

Per verificare poi la situazione direttamente da interfaccia admin di Django-RQ oppure con un:
$ rq info

Per vedere lo stato di un singolo job:
127.0.0.1:6379> hget rq:job:6ac9c3d2-ffa0-49c3-a2d2-3641248cb884 status

Ed infine due comandi super PERICOLOSI (use at your own risk!):
127.0.0.1:6379> flushdb  # rimuove tutte le key dal db corrente
127.0.0.1:6379> flushall  # rimuove tutte le chiavi da ogni db

Avete altre indicazioni? Scrivetele nei commenti, grazie!

lunedì 13 febbraio 2017

Collaborare costa

Ieri a casa mia si parlava di euristiche utilizzate dalla mente per decidere.
Si ragionava della diferenza tra euristiche, induzione e deduzione (... ebbene sì, la domenica a pranzo capita di tenere discussioni del genere 😊 )
Comunque oggi un amico mi ha segnalato questo: DeepMind: se due AI si scontrano, cosa succede?("I ricercatori Google hanno fatto sfidare macchine dotate di intelligenza artificiale a videogame che simulano dilemmi sociali. Il risultato apre spiragli di luce sulla futura capacità di adattamento dei robot")
Un paragrafo che mi ha colpito è: "In Wolfpack invece è stato evidenziato che per collaborare (scelta più opportuna) è richiesta molta potenza di calcolo. Solo l'intelligenza artificiale più sofisticata ha quindi propeso per la collaborazione con migliori risultati."

Come dire che le AI a volte non collaborano... "per fare meno fatica"!
Il che mi ha fatto pensare che in effetti anche per la mente umana l'attività del collaborare/co-lavorare, comporta un dispendio di energie psicoficiche che invece l' "andare avanti per la propria strada" non richiede