giovedì 17 dicembre 2015

UE social network vietati ai minori di 16 anni - BUFALA


Leggo stamani la notizia che l'U.E. vorrebbe proibire social network & co. ai minori di 16 anni.

Non entro nel merito della questione eta' (oltretutto e' pure una bufala), non e' questo il punto. Gia' adesso i social network americani (facebook - eta' minima) devono imporre un'eta' minima di 13 anni. Com'e' altresi' un dato di fatto che molti utenti hanno meno di quest'eta'.

Il fatto e' che questi limiti lasciano un po' il tempo che trovano per due semplicissimi punti:

Punto uno: territorialita':

Il social network rispetta le Leggi vigenti nel Paese dove ha la sede, molti social network sono americani ed e' per questo che impongono un'eta' minima di 13 anni. Quindi un'eventuale normativa europea non avrebbe impatto su un social network "estero". E' il concetto di territorialita', valgono le Leggi dello Stato dove l'azienda risiede...

Punto due: autocertificazione:

Non c'e' una verifica, l'utente autocertifica di avere piu' di 13 (16, 18, 21, millemila) anni. Come si puo' intuire, e' facile mentire in un caso o nell'altro. Non cambierebbe niente... Chi si vuole iscrivere non ha altro che da fare $ANNO_CORRENTE - $ETA'_RICHIESTA_PER_ISCRIVERSI (o farlo fare alla calcolatrice di windows) e mettere una spunta ed il giochino e' fatto...

Quindi come abbiamo visto sopra il divieto non e' affatto obbligatorio ne' potrebbe esserlo visto che l'UE non ha giurisdizione al di fuori dell'UE, e per il poco che ne so gli stati membri devono recepirne le normative affinche' queste entrino in vigore (quindi anche se fosse, dovrebbe esistere un social network con la sede in uno Stato membro, e questo dovrebbe recepire la normativa UE prima che questa entri in vigore), e terzo com'e' aggirare la limitazione dei 13 anni e' altrettanto facile aggirare quella dei 16...

Per tanto l'unica difesa valida sono i genitori che controllino ma sopratutto educhino i figli ad un comportamento responsabile. Come insegnate a vostro figlio ad attraversare la strada, che e' pericoloso e ci sono le macchine, allo stesso modo dovete educarli all'utilizzo di internet. A non divulgare dati personali a nessuno, che e' facilissimo falsificare la propria identita', che come non bisogna parlare con sconosciuti "fisici" non bisogna nemmeno parlare con sconosciuti virtuali.

Per approfondire: vi rimando a due articoli del buon Paolo Attivissimo:

Alla prossima!

giovedì 3 dicembre 2015

antibufala fast: bollo alle bici

l'articolo e' stato riscritto dopo la pubblicazione iniziale

Il popolo della rete indignato perche' il senatore filippi vuole mettere il bollo alle bici. Ma come al solito il senso comune difficilmente capisce quello che e' vero, ma solo quello che gli interessa capire.

Infatti la richiesta originale del senatore e' un po' diversa.

Il testo originale del ddl #1638 e' qui. La modifica voluta dal sen. Filippi e' questa aggiunta (grassetti miei) un’idonea tariffa per i proprietari: 1) delle motoslitte, disciplinandone le caratteristiche costruttive e funzionali, nonché la circolazione con un apposito contrassegno identificativo, documenti di circolazione e di guida e l’assicurazione per la responsabilità civile verso terzi; 2) delle biciclette e dei veicoli a pedali adibiti al trasporto, pubblico e privato, di merci e di persone [...]

Quindi almeno a me, che pure non sono un burocratese, mi pare chiaro che dal testo della Legge si vogliano si' tassare le bici ma solo quelle adibite al trasporto di merci e di persone.

Poi che tassare le bici sia una manovra scema e anti-ecologica e' verissimo, ma se bisogna dirla tutta bisogna dire che Filippi non ha proposto di tassarle tutte, ma solo alcune. Anche se avrebbe fatto meglio a lasciare perdere...

Perche' il complottismo lunare e' una stronzata galattica


Prova 1:

Brevissima lezione di storia per contestualizzare il momento in cui avvennero: piena guerra fredda. Gli USA e l'URSS si fronteggiavano in tutti i modi possibile, e anche se non arrivarono mai allo scontro diretto si fecero guerra "di traverso" (corea & co). Quindi se ci fosse stata la possibilta' di sputtanare la credibilita' dell'avversario agli occhi del mondo l'avrebbero fatto, e come se l'avrebbero fatto.

Prova 2:

Non c'erano solo i russi ma non so quante migliaia di astronomi in tutto il mondo, se l'apollo non fosse mai andato sullo spazio (o se avesse fatto un giretto senza passare dalla luna) se ne sarebbero accorti tutti non solo i russi...

Prova 3:

E' impossibile tenere nascosto un complotto. Qualcuno prima o poi parla (vedi Snowden) - ne parlo qui

Prova 4:

Le prove sono talmente tante e talmente evidenti che sarebbe stato impossibile fabbricarle tutte.

Prova 5 quella finale:

I campioni prelevati dagli astronauti non hanno origine terrestre (sono fatte di materiale che non si trova qui sulla terra). Quindi qualcuno e' andato materialmente su a raccoglierle. Mi scuso se il link e' in inglese, ma la en.wiki e' molto piu' affidabile della nostrana.

Repubblica passepartout

Chi glielo dice a Repubblica che si scrive Passepartout?

mercoledì 18 novembre 2015

HIbernate criteria - mini tutorial

Questo post non vuole essere esaustivo nei confronti dei criteria, vuole essere una mini-guida per chi si approccia per la prima volta a questo strumento.

La creazione di un criteria

Hibernate gestisce autonomamente il criterio di sessione e transazionalita' (quindi effettua suo sponte commit&rollback). Per utilizzare i criteria quindi avete bisogno che il vostro ambiente vi fornisca una sessione (di hibernate). Un Criteria si crea chiedendolo all'istanza della sessione che avete in mano e invocando il metodo "createCriteria" e passandogli come parametro la classe dell'entity sulla quale volete effettuare query.

Il metodo list()

Una volta fatto questo potete iniziare a fare query su quella tabella. Se volete tutti gli elementi potete fermarvi qui ed invocare direttamente il metodo list() del criteria. Questo metodo restituisce una List di Object per cui o fate un cast o la lasciate cosi' com'e'. Questo metodo si invoca quando il criteria (e quindi la query) puo' restituire piu' di un oggetto.

Il metodo uniqueResult()

Se invece siete sicuri che il risultato sara' unico (p.e. una count o state andando per id) allora c.uniqueResult() e' quello che fa per voi. Restituisce un object quindi dovrete fare un cast per ottenere la vostra entity.

Aggiungere condizioni

Se non si potessero aggiungere condizioni i criteria servirebbero a ben poco, no? Ecco che la classe Restrictions viene in nostro aiuto. invocando il metodo add del criteria da voi creato potete passargli una Restriction in maniera statica (quindi Restrictions.qualcosa). Che sara' eq se volete l'uguaglianza, analogamente lt/gt se minore/maggiore stretto e le/ge se <= / >= divertitevi ad esplorare tutte le possibilita' di Restrictions ce ne sono un sacco (in + lista etc).

Projections

Analogamente il metodo setProjections del criteria vi permette di aggiungere una "proiezione" - ovvero di modificare la select. Analogamente alle restrictions tutto quello che vi serve e' nella classe Projections. Per esempio .rowCount() vi restituira' un unico risultato contentente un numero con il totale delle righe per quella tabella .property(String property Name) vi permette di effettuare la select di un'unica colonna e cosi' via

La comodita' dei criteria

Rispetto ad altri strumenti (come la Query di hibernate) il criteria ha di comodo che genera automaticamente la query necessaria ad estrarre i dati e quindi il codice e' molto piu' compatto e leggibile, soprattutto se non sappiamo se i parametri del metodo ci verranno passati tutti. Un semplice if ci permette di aggiungere al criteria la restriction solo se il parametro e' valorizzato (evitando per esempio il doppio if delle query, uno per mettere la condizione e uno per valorizzare il parametro). Inoltre riducendo la quantita' di codice scritte minimizza il rischio di errori. Hibernate (e non solo i criteria) trasforma il tipo di dato su db in quello dell'entity. Quindi se su db c'e' un varchar (ma con un numero dentro) perche' il dba non e' un dba voi potete dichiararlo come Integer/Long/che vi pare e hibernate ve lo trasformera'. Analogamente potete farci una count o una sum. Inoltre usando criteria/hql che vengono convertiti da hibernate nel dialetto del db che si sta usando, rende il codice indipendente dal database, permettendo di cambiare db se necessario, semplicemente aggiornando il file persistence.xml

Non e' tutto oro quello che luccica

Per contro non hai il controllo diretto di quello che il framework sta facendo, a volte gli errori possono non essere significativi (ho avuto di recente un "where condition not found where expected" dovuto ad un (ok erano due!) nome di colonna sbagliato nell'entity - ma me ne sono accorto soltanto quando ho modificato il metodo per far eseguire ad hibernate una query sql e poi trasformare il result set derivante in entity. Inoltre ci sono cose che hibernate non gestisce bene (una per tutte le union). O le select di un substring ('pippo' = substring(x,y) di una certa colonna).

Come gia' detto questo articolo non e' per niente esaustivo, e' un primo approccio (veloce) ai criteria. Quando ho tempo approfondiro'

Alla prossima!

mercoledì 4 novembre 2015

Laika eroe spaziale


Questo lo screenshot di un link che circola su facebook.

Laika e' stato il primo essere vivente ad andare nello spazio. Non era mai stato fatto prima. Non c'erano dati sui quali fare studi, non c'erano campioni. Non c'era niente. Era stato lanciato un satellite (lo Sputnik) ma non era vivo.

Sinceramente mi sembra naturale che sia stata scelta una cavia prima di mandare un essere umano. Forse all'autore dell'articolo no, e avrebbe preferito essere mandato lui (o chiunque consideri un animale piu' importante di un essere umano). Ma checche' ne pensino gli animalisti l'uomo non e' un semplice animale. Nessun animale sa parlare o pensare o esprimere concetti complessi. Magari loro non si sentono superiori, ma lo siamo. Nessun animale progetta e costruisce macchinari complessi, nessun animale accende il fuoco o cucina.

Usare una cavia, per quanto brutto possa essere uccidedere un animale innocente, e' necessario. Serve per vedere se una certa cosa e' fattibile, serve per avere dei dati e dei campioni di studio. Vi propongo un ottimo articolo di Medbunker a riguardo della sperimentazione animale - leggetelo.

L'esplorazione spaziale non serve solo per vantarsi davanti agli altri Paesi (ed effettivamente con lo sputnik e il lunik l'URSS acquisi' effettivamente un bel po' di prestigio), ma tutte le ricerche che servono per mandare l'uomo nello spazio hanno poi ripercussioni sulla vita sulla terra. Servono inoltre ad avere delle conoscenze dirette del cosmo. Servono a farci sentire piccoli


Servono a darci la giusta misura di quello che siamo. Servono a farci capire che la Terra e' un'isola nel cosmo, e quindi checche' ne dicano gli animalisti/ambientalisti l'esplorazione spaziale giova alla loro causa, perche' aiutano le persone a rendersi conto che la Terra e' l'unica che abbiamo e che se la distruggiamo non ci rimane nient'altro.

Quindi Laika e' un martire, avrebbe preferito vivere? Sicuramente. Era innocente? Senza dubbio. Ma il suo sacrificio e' servito per fare un passo avanti. Laika e' morta perche' noi potessimo vivere meglio. Grazie al sacrificio di Laika l'umanita' ha imparato qualcosa di piu' sull'esplorazione spaziale. Orribile ma necessario.

Sinceramente trovo molto piu' "disumano" l'atteggiamento di chi preferisce sacrificare un essere umano ad un animale.

Se volete approfondire: a che serve andare nello spazio di Paolo Attivissimo

Alla prossima!

mercoledì 28 ottobre 2015

java quando usare un pojo e quando le entity

Premessa: stiamo parlando di un contesto in cui c'e' un framework di persistenza nel mezzo se si usa sql e result set il discorso perde di validita'.

Premessa 2: per qualche ragione non c'e' una relazione tra gli oggetti che ficchiamo nel bean

La entity ha il vantaggio di tirare l'oggetto fuori dal db in maniera relativamente veloce ma dall'altro lato se devo visualizzare dati provenienti da piu' entity peggiorano la leggibilita' del codice.

Un pojo ha il vantaggio che tutti i dati vengono da lui ma deve essere "trasformato" e quindi richiede dell'elaborazione in piu'.

Se si tratta di poche righe puo' valerne anche la pena ma se son tante il tempo richiesto per trasformarle in pojo puo' essere tanto.

Come regola generale e' sempre bene limitare il numero di dati da "trasportare" quindi cercando di forzare l'utente ad immettere dei parametri di ricerca
ma se le righe continuano ad essere tante usero' le entity per dare una panoramica generale per poi costruire un pojo nel momento un cui l'utente clicca per accedere al dettaglio...

giovanni fai tre danni

...io non dormo te non muori e la candela si consuma.

Popolarissimo detto la cui origine e' spiegata qui

Dicesi di qualcuno che seppur involontariamente causa numerosi problemi.

lunedì 26 ottobre 2015

Matrimonio gay


Premessa:

Questa e' la mia opinione - liberissimi di pensarla diversamente.

In primis: sono favorevole al matrimonio (quindi al riconoscimento legale) dell'unione tra persone dello stesso sesso. Anche perche' non sarebbe altro che un riconoscimento dal punto di vista giuridico di una situazione che gia' esiste. La convivenza tra persone dello stesso sesso e' una realta', e pure da tanto. Possiamo fare gli ipocriti e fare finta di niente, oppure aggiornarci e prenderne atto anche a livello giuridico.

Checche' ne dicano le solite oche, non mettera' in crisi la famiglia tradizionale, perche' come sono sempre esistiti gli omosessuali, sono sempre esistiti gli etero. Anche perche' se no ci saremmo gia' estinti. Non e' riconoscere dei diritti a delle persone che mette in crisi la famiglia. La famiglia e' messa in crisi dalla totale assenza di politiche sociali. Se avete dei figlioli il nido costa piu' di 200€ al mese + mensa (altro centinaio d'euro). Non sono poche. Ma le scelte sono altrettanto limitate, soprattutto se non hai parenti che te lo possono tenere. Se la madre e' dipendente puo' usufruire della maternita', ma molto spesso la donna viene discriminata perche' potrebbe avere figli. Questo mette in crisi la famiglia. La famiglia e' in crisi perche' lavoro non si trova, o se ne trova poco. La famiglia e' in crisi perche' chi lavora e' precario e non ha la possiblita' di mettere su casa. La famiglia e' in crisi perche' mantenere un figliolo costa e costa tanto. E' un impegno e le agevolazioni da parte dello Stato e del datore di lavoro sono pochissime per non dire nulle.

Non certo il matrimonio tra persone dello stesso sesso.

Vogliamo parlare di adozioni? Anche quella e' una situazione che gia' esiste. Non ci credete? Avete mai sentito parlare di genitori rainbow sono omosessuali che hanno avuto figli da una relazione etero. In maniera "tradizionale" diciamo. Quindi questi bambini crescono in una famiglia omosessuale (o almeno con un genitore omosessuale). E quindi?

Allora perche' non prendere atto che questa situazione esiste e regolamentarla? Ci sono tanti bambini che stanno in un istituto e a cui manca il calore e l'amore di una famiglia. Che sia etero o omo. E allora perche' negare il calore di un abbraccio a questi bambini?

C'e' chi obietta che la societa' non e' pronta, ma se non e' pronta per le adozioni omosessuali non e' pronta nemmeno per i genitori rainbow. Senza contare che non e' che si aspetta che la societa' sia pronta per un certo fenomeno. La societa' si adatta a quello che e' la realta' dei fatti e i genitori omosessuali sono una realta' che le sentinelle in piedi lo vogliano o meno...

Potreste pensare che qualche genitore gay voglia adottare per capriccio. Beh, le attuali procedure di adozione lo escludono a priori. Sono talmente macchinose e complicate che nessuno adotta per capriccio. Di solito chi vuole i figli per capriccio fa prima a farli nella maniera consueta. E sono tanti.

Ah e chi obietta che da famiglie omosessuali verranno bambini "traviati" si ricordi che tutti gli omosessuali derivano da due eterosessuali...

Alla prossima!

domenica 25 ottobre 2015

Gnome 3 non aggiunge voce di menu

- si sono masochista nonostante mi faccia schifo quello che e' diventato gnome continuo ad installarlo nella speranza che siano riusciti a fare qualcosa di decente -

oggi parliamo di un'installazione fresca di debian 8 (visto che la 7 aveva diversi problemi soprattutto dovuto all'architettura mista 32/64 bit) - scheda video presa al primo colpo - configurazione dei due monitor semplice come semplice e' impostare un monitor primario diverso -

l'eclipse fornita dai repo e' indigo quindi anche no - mi scarico la mars j2ee la scompatto nella mia home e vado a creare una nuova voce di menu' se non fosse per il fatto che non posso farlo perche' l'ok e' disabilitato -
chmod 700 lascia il tempo che trova

la mia soluzione:
creato uno script .sh per lanciare eclipse e creata una nuova voce di menu' per lo script e cosi' funziona...

non nego che ci siano altre soluzioni (tipo mettere le mani al file del menu') ma non avevo ne' tempo ne' voglia...

alla prossima!

venerdì 23 ottobre 2015

Truffa telefonica

L'articolo e' stato aggiornato dopo la pubblicazione iniziale:
Ricevo una chiamata da +34390863090051 che dice di essere Rossi dell'Istituto di Sanita' senza il superiore.
Riaggancio senza nemmeno farlo finire per 2 motivi:
1. ha chiamato sul mio numero personale che non e' pubblico ma solo per pochi amici
2. l'istituto di sanita' si chiama "istituto superiore di sanita'
3. non chiama persona per persona ma fa comunicati ufficiali
4. googlando il numero si trovano parecchie telefonate da questo numero con gente che si spaccia per l'agenzia delle entrate etc
quindi e' una truffa
ok avevo detto due
dopo di che ho blacklistato il numero

aggiornamento: mi e' stato poi rivelato dall'autore che trattasi di un'app per scherzi telefonici.
valgono le regole generali di prudenza: mai fidarsi di quello che dice l'interlocutore soprattutto se non si conosce il numero

A te che ieri quasi mi tamponi

Antefatto: sono andato a riprendere la moto dal meccanico. Siccome ha cambiato (tra le altre cose) anche le pasticche, per cui devono assestarsi, ho scelto di fare la Statale invece della superstrada (piu' frenate = minor tempo di assestamento). Per un tratto ci sono stati i Carabinieri che andavano decisamente piano (40-50 col limite di 70). La situazione era questa: davanti i carabinieri, due macchine, io e dietro il genio senza lampada.

Che questo fosse un diversamente furbo s'e' visto subito perche' mi stava letteralmente attaccato. Se questa manovra e' fastidiosa in auto (venire tamponati non e' mai piacevole, ma auto contro auto difficilmente rischi la vita), in moto decisamente la trovo odiosa - perche' devo rischiare di morire per colpa della tua idiozia?

Questo tizio oltretutto prova due o tre manovre pericolose, tra cui il passarmi da destra. Al che mi scanso inchiodo e lo faccio passare. Voglio vedere dove va...

Questo appena superatomi inchioda. Non so se si sia offeso per il gesto accompagnatorio (braccio disteso alla - levati di torno) oppure piu' realisticamente abbia visto i Carabinieri davanti, fatto sta che inchioda.

Memore di un'avventura precedente (dove un tizio che ho lasciato passare mi ha letteralmente inchiodato davanti) quando questo inchioda lo ripasso.

Poi i Carabinieri hanno girato, lui e' sparito (credo abbia parcheggiato due metri piu' avanti*) e io sono tornato a casa**

Ma questo voglio chiedergli: ma se vedi una colonna (due macchine e una moto... una colonnina) che va piano, tra cui un veicolo che potrebbe benissimo superarli tutti e non lo fa, non ti viene il dubbio che ci sia un valido motivo? Come quelli che superano chi si ferma davanti alle strisce... Ma se s'e' fermato ma chieditelo il perche'! E soprattutto rispetta quella cazzo di distanza di sicurezza! Che se tu l'avessi fatto probabilmente ti avrei anche lasciato passare (anche se poi ti saresti fermato lo stesso vista la presenza del Carabinieri).

Sono il primo che se ha voglia di andare piano e vede arrivare qualcuno dietro appena puo' si scansa e lascia passare, ma i cazzoni che mettono a rischio la sicurezza degli altri proprio non li tollero.

Alla prossima!


*quindi che fretta avevi?

**salvo trovare chiusa la Statale a S.Romano ed essere costretto a montare in superstrada

giovedì 22 ottobre 2015

Java - farlo bene farlo sbagliato

Quando si sviluppa software bisognerebbe sempre avere un'occhio alle risorse, perche' queste comunque non sono infinite. Se su progetti piccoli la differenza e' poca, quando si inizia a parlare di centinaia di migliaia di righe da tirare giu' - su database che ne contengono decine di milioni ogni singola query conta.

  • Andare a fare una chiamata in hql per tirarti giu' le righe che ti servono: bene
  • Fare un ciclo su ognuna di queste righe per trasformare le entity in un pojo: un po' meno bene
  • Fare una chiamata a database con una select count per sapere quante righe hai estratto: lo stai facendo sbagliato

Il problema e' che no, non me lo sono inventato... Invocare il metodo size() sulla lista che ti restituisce hibernate era troppo difficile?

...e poi dice che quella query e' lenta... No e' lento chi l'ha scritta...

mercoledì 21 ottobre 2015

Java - scrivere oggetti diversi su file

Il problema e' questo: si tratta di generare dei file con dei dati (non importa sapere quali) da inviare ad un determinato Ente. Questo Ente vuole un formato particolare e a seconda del tipo di file da generare o sono diversi gli oggetti dai quali si prendono i dati o e' diversa la disposizione dei campi o entrambe le cose.

Una soluzione potrebbe essere quella di avere una classe che scrive i file per ogni occasione da generare. Ma non mi piaceva, tanto codice da scrivere, poco riutilizzabile, poco pratico e poco elegante.

Ecco allora la mia soluzione (non escludo che ce ne possano essere di migliori): due classi, una astratta e una che scrive fisicamente il file. La classe che scrive il file se ne frega altamente di tutto. Lei scrive una riga su file e basta. Ha un metodo statico che prende come parametri un'istanza concreta della classe astratta (e li' e' il trucco) e il file da scrivere. Questa classe astratta ha un metodo (astratto anch'esso) getRows() che non fa altro che restituire una lista di stringhe (che sono le righe da scrivere sul file). Sara' poi l'implementazione concreta della classe astratta che dira' come effettivamente queste righe devono essere fatte. Ovviamente bisognera' avere un'implementazione concreta per ogni tipo di file.

La classe template

La classe (astratta) Template: ha un metodo astratto getRows che restituisce la lista di righe come dev'essere scritta su file. Ovviamente e' astratto perche' sta a chi la implementa definire come la singola riga dev'essere fatta. Ha inoltre un metodo getEndLine per definire il carattere di fine riga (anche questo puo' cambiare a seconda delle specifiche)

La classe file writer

La classe file Writer: ha un solo metodo statico che scrive il file. Il file me lo faccio passare come parametro (insieme al Template) e lo restituisco "riempito". Potrei anche restituire un nuovo file e farmi passare il nome o crearne uno temporaneo. Per questioni di come e' implementato il contesto mi tornava piu' comodo cosi'. Il "barbatrucco" e' delegare all'implementazione della classe template come le righe del file devono essere fatte. Al filewriter non interessa, prende una riga per volta, la scrive e chiude lo stream.

Il momento della scrittura sara' uguale per tutti (lo fa sempre file writer). Basta implementare i vari template secondo le specifiche che verrranno fornite dall'ente ed e' a posto. Anche qualora queste specifiche cambiassero, o se si deve generare dei tipi di file nuovi, basta cambiare o implementare nuovi template...

Alla prossima!

11 Settembre il passaporto impossibile

Molto, molto, molto brevemente Spesso si sente obiettare che e' "strano" che nei resti del 911 si sia trovato un passaporto intero di un dirottatore.

Bene del disastro del Columbia (che e' precipitato da piu' in alto, per piu' tempo ad una velocita' e temperature maggiori) e' stata trovata molta piu' roba, compreso un casco. Articolo di attivissimo qui

domenica 18 ottobre 2015

Rispetto della Legge

L'obbedienza alla Legge non deve mai essere un atto meccanico, pedissequo. perche' la Legge puo' essere sbagliata (piu' o meno volontariamente) o ingiusta. ci vuole sempre il filtro della ragione del buon senso e del cuore. pensiamo alle Leggi razziali. se non hanno fatto i danni che han fatto in Germania e' solo perche' siamo italiani. Grazie a Dio.

venerdì 16 ottobre 2015

Ciclisti e strada


L'altro giorno leggevo un post, del quale pero' non ritrovo purtroppo il link che sostanzialmente cercava di giustificare (con parecchia arroganza per altro) il motivo per il quale i ciclisti (quelli colle tutine e le bici da corsa per intendersi, non un normalissimo tizio con una normalissima bicicletta) tendono ad andare in "gregge".

In soldoni il senso dell'articolo era questo: le biciclette hanno il diritto di andare piano (e ci mancherebbe), e che siccome e' obbligatorio mantenere una distanza di 1,5mt in fase di sorpasso e' meno pericoloso farlo se i ciclisti sono raggruppati che non se sono in fila perche' ci metti meno tempo.

A parte che sembra il classico paradosso di Achille e la Tartaruga perche' va da se' che se supero una fila lunga di ciclisti non la superero' tutta in un colpo ma ne superero' un po' per volta la' dove le condizioni della strada me lo permettono e quindi gia' questo fa cadere tutto il ragionamento. E' molto piu' facile superare una fila fatta di una persona che sta' da una parte che non una massa confusa di "pecore".

primo: la distanza laterale e' minore (devo stare meno in mezzo alla strada) e questo mi consente di superare meglio.

secondo: mantenere la distanza da un compagno che si muove e' difficile, quindi una massa raggruppata difficilmente andra' in una traiettoria che segue la strada, e questo complica ulteriormente la manovra di sorpasso.

Poi e' verissimo che i ciclisti hanno il sacrosanto diritto di andare in bicicletta, ma l'art 140 del cds recita che il conducente (e si anche i "velocipedi" devono rispettare il cds) non deve recare intralcio alla circolazione stradale. Questo vuol dire che il veicolo piu' lento deve comportarsi in maniera tale che gli altri veicoli possano superarlo se le condizioni della strada lo permettono. Se non lo permettono deve fermarsi regolarmente e fare defluire la coda.

Sinceramente mi pare curioso che si invochi il rispetto del CdS da parte dei veicoli a motore, senza fare nessuna autocritica. E' vero che moltissimi conducenti di veicoli a motore non lo rispettano (o lo rispettano a modo loro), ma questo in realta' vale per qualsiasi tipo di conducente. Visto che sono stato testimone di moltissimi episodi che mi hanno fatto inorridire per il pericolo (ciclisti che entrano in rotonda senza dare la precedenza alle macchine che erano in rotatoria, ciclisti che bucano i semafori, ho scampato un frontale con 3 ciclisti che erano uno di lato, uno in mezzo alla carreggiata e uno in mezzo alla carreggiata opposta*). Quindi va bene il rispetto del codice della strada ma che sia per tutti.

Io personalmente non sono per il rispetto pedissequo delle Leggi, quanto piuttosto per la politica del rispetto. Nel senso se non c'e' nessuno (e non e' un pericolo of course) a me non me ne frega niente se tu ciclista vai in mezzo alla strada di traverso o quello che ti pare, l'importante e' che quando arriva qualcuno tu ti comporti in maniera tale da non costituire intralcio. C'e' da dire che c'e' chi lo fa ma purtroppo son sempre troppo pochi. Si e' creato questa specie di "odio di categoria" per cui chi guida un veicolo a motore parte gia' prevenuto (e preincazzato) verso chi pedala e viceversa.

Ci vuole rispetto reciproco, se un gruppo di ciclisti si allinea quando arrivo in macchina perche' non devo passare a debita distanza? Si stanno comportando nella maniera corretta. Ma se invece di allinearsi e facilitarmi il passaggio si allargano ancora di piu' e si comportano come esistessero solo loro, allora ho il sacrosanto diritto di arrabbiarmi e mandarli affangrulo...

Non e' perche' sono ciclisti che mi danno fastidio, ma perche' sono maleducati che pensano solo a se stessi, come quelli che parcheggiano nei posti per gli invalidi o per le due ruote (o come quelli che ti fanno il pelo quando c'e' la corsia di soprasso - odio puro). Non fa nessuna differenza.

Bisognerebbe insegnare a scuola il concetto di buonsenso e rispetto reciproco invece di continuare a fare Leggi che rimangono inapplicate (e guai se tutte le Leggi che abbiamo in Italia venissero applicate, non si vivrebbe piu').

Alla prossima!


*e io ero nell'altro senso ed e' stato un brutto momento perche' davanti avevo il genio senza lampada, non potevo buttarmi a sinistra perche' c'erano gli altri due nel mezzo ma per fortuna e' andata bene...

Quando non fai in tempo ad obliterare

alla ricerca del capotreno perduto: (non ho timbrato il biglietto) tra porte che non si aprono e gente travestita da ferroviere che pero' non e' il capotreno.

il capotreno fantasma (the phantom capotreno): riuscira' il ribelle (cioe' io) a mettersi in regola o rimarra' ribelle?

pane amore e capotreno: una toccante storia d'amore tra un passeggero che non ha timbrato il biglietto e il capotreno che non c'e'.

gang of capotrenos: la storia di una banda di criminali che non pagavano mai il biglietto.

e alla fine arriva il capotreno: film di fantascienza.

giovedì 15 ottobre 2015

refresh alla microsoft

stavo pensando come implementare un pulsante di refresh microsoft style: clicchi sul pulsante e si apre un popup con l'icona di refresh. clicchi sull'icona e si apre un altro popup con un campo testo dove devi scrivere "refresh" e premere "ok" solo allora refresha. il tutto rigorosamente non documentato...

Le prove che l'omeopatia non ha le prove


Innanzitutto e' necessaria una premessa: non e' compito della scienza dimostrare che l'omeopatia non funziona ma semmai il contrario. Einstein ha dovuto dimostrare le sue teorie oltre a formularle. Non si e' limitato a dire assurdita' (che per l'epoca erano effettivamente tali) aspettando che fossero gli altri a demolirle. Infatti quando la comunita' scientifica e' stata messa di fronte all'evidenza che quello che diceva Mr. E. era effettivamente vero non ha potuto fare altro che accettarlo, anche se ha dovuto buttare nel cesso rivedere tutto quello che si credeva fino ad allora. Non e' stato mandato un sicario a farlo tacere. Non sono stati insabbiati i suoi studi. La scienza ha fatto un passo avanti. Ma bisogna che ci siano le prove.

Fateci caso, di solito chi non dimostra le sue affermazioni non e' perche' riceve pressioni, non e' che ci sono i men in black, ma piu' banalmente e' perche' non puo' farlo. Se davvero le sue idee sono valide non ci sono problemi a trovare finanziatori e sostenitori delle sue idee.

Prendiamo jorge odon. J.O. e' un meccanico (si avete letto bene) che ha inventato un metodo facile e a costo quasi 0 per aiutare le partorienti. La sua idea non l'ha pubblicizzata su internet, l'ha fatta vedere a dei medici, ed e' finita poi all'OMS. E' stata valutata da fior di esperti ed e' stata approvata - e il suo uso consigliato nei paesi poveri. Odon non ha pubblicizzato la sua idea su internet. Non ha falsificato prove. Non ha portato testimoni. Non si e' presentato come vittima di BigPharma ha presentato la sua idea a degli esperti del settore (ginecologia in questo caso), e' stata valutata, e' stata provata ed ha dimostrato la sua efficacia. Nessun complotto nessun assassinio anche in questo caso...

I vari alternativi (Di Bella, Simoncini e compagnia cantante) se davvero avessero fatto delle scoperte cosi' rivoluzionarie come dicono non dovrebbero avere problemi a fare come Jorge Odon, no? Eppure...

A maggior ragione le case farmaceutiche omeopatiche che non guadagnano esattamente noccioline (secondo il fatto quotidiano nel 2010 la Boiron ha fatturato 520 milioni di euro). Non dovrebbero avere problemi a pagarsi uno studio fatto bene, in doppio cieco con gruppo di controllo e tutti i crismi, che chiuda finalmente una volta per tutte la bocca ai complottisti e tutta la comunita' scientifica. No?

Eppure... Gli unici studi che "confermano" l'efficacia dell'omeopatia hanno dei grossi vizi di forma (tipo questo - dove si denotava un marcato effetto ansiolitico ma il diluente era alcool) opppure sono spudoratamente falsificati (come l'incredibile caso del dottore beneviste).

Possibile che con tutti i soldi che hanno debbano cadere in questi errori?
Possibile che non riescano a fare uno studio inattaccabile?

Eppure dal 1800 ad oggi (quindi in un paio di secoli) ancora le prove mancano. La medicina ha fatto passi da gigante, l'omeopatia no. Forse perche' non c'e' niente da evolvere?

Non puo' esistere un complotto scientifico per il semplice fatto che il metodo scientifico si basa su delle prove e che le varie comunita' scientifiche sono indipendenti l'una dall'altra. Se hai le prove di quello che dici e pubblichi i tuoi studi (e questi sono fatti bene of course e traggono le giuste conclusioni dai dati) nessuno puo' chiuderti la bocca. Esattamente com'e' successo per Einstein e per Odon.

Se invece di portare dati fai la "vittima" e incolpi la scienza, magari aggredendo (come lettera indignata della bernardini e boiron contro blog) fai la figura di chi non ha argomenti per controbattere e allora usa la violenza per avere ragione dell'avversario. E magari perche' effettivamente e' proprio cosi'...

Alla prossima!

domenica 11 ottobre 2015

Morire di antiscienza

Bambina di due mesi muore di pertosse.
I vaccini proteggono sia chi e' vaccinato che chi non lo e'. Andatelo a dire a questi genitori che si son visti morire la figlia che i vaccini fanno male se avete il coraggio. Gli antivaccinisti sono dei delinquenti. Non c'e' altro da aggiungere.

giovedì 8 ottobre 2015

Java - come usare un booleano

...e come ottimizzare un metodo

Bisogna cercare di utilizzare il minimo indispensabile di codice, questo non solo nei metodi grandi, ma deve essere un'attitudine mentale, che deve portare a pensare come risparmiare calcoli e uso di variabili sempre e comunque in modo da mantenere il nostro codice snello, leggibile ed il piu' efficiente possibile.

farlo male

primo errore: non ha senso usare un blocco if-else per restituire un booleano, in quanto la condizione if richiede un booleano essa stessa. Per cui se mi serve restituire true faccio prima a restituire l'espressione che userei nella condizione dell'if, altrimenti la sua negazione (!).

Secondo errore: due return. Non e' bellissimo inoltre complica la leggibilita' del codice. Sempre bene inizializzare un parametro e restituire quello alla fine - cosi il povero idiota che leggera' il tuo codice non si trovera' una miriade di return senza doversi calcolare quando passa da un return e quando passa da un altro.

terzo errore: sempre di leggibilita' se vuoi eseguire una certa istruzione solo se un certo dato non e' null, allora fai un blocco if-else su quella condizione, non un return sull not-condizione ed esegui l'istruzione fuori dal blocco if-else. E' molto piu' complicato da capire.

farlo bene

Uno: creo un parametro booleano, al quale assegno il valore dell'if else (il metodo deve restituire true se avviso non e' null - quindi il mio booleano sara' avviso != null - molto piu' chiaro no?)

Due: eseguo il metodo solo se il booleano e' true (ovvero se avviso non e' null) - anche qui e' chiarissimo cosa sto facendo e perche'.

Tre restituisco il valore del booleano che e' true se avviso non e' null false se lo e'. Non c'e' verso di confondersi. Il codice in questo modo e' piu' semplice e piu' leggibile.

Il codice non deve essere solo funzionante, deve essere funzionale (quindi non solo fare le cose, ma farle bene e con bene intendo usando il minimo di risorse possibili e rilasciandole quando non servono piu'), ma deve essere anche manutenibile, quindi chiunque venga dopo deve poter capire quello che sto facendo, e come lo sto facendo. Quindi il primo passo e' scrivere codice leggibile, ma anche evitare il piu' possibile le forme arzigogolate (un esempio e' null != qualcosa - e' la stessa cosa che scrivere qualcosa != null ma lo rendo meno leggibile) e aderire piu' possibile alle convenzioni (implicite ed esplicite) del linguaggio. Perche' chi legge si aspetta che le cose siano fatte in un certo modo e non come gira al programmatore di turno. Il secondo e' usare i commenti. Quando sto facendo qualcosa di complicato due righine di spiegazione non ti costano niente, e facilitano la manutenzione da parte di chi leggera' quel codice. Semplicemente gli eviti di andarsi a leggere un blocco di codice e cercare di capire. E soprattutto gli eviti di fraintendere. Se spieghi cosa stai facendo hai piu' possiblita' che chi venga dopo capisca se stai facendo un errore oppure sia una cosa voluta...

Alla prossima!

martedì 6 ottobre 2015

Chiesa ed Omofobia


E' di qualche giorno fa la notizia dell'ex-monsignore Krzysztof Charamsa espulso dalla Chiesa.

L'ex monsignore in questione ha attaccato la Chiesa accusandola di averlo espulso per il fatto di essere omosessuale. In realta' i fatti sono leggermente diversi. Nel senso lui non ha dichiarato di essere omosessuale e basta ma ha anche dichiarato di avere un compagno. Ed e' stato questo il motivo dell'espulsione. Non tanto la sua omosessualita'.

Teoricamente l'orientamento sessuale di un sacerdote conta poco o niente, nel senso avendo fatto voto di castita' ed essendo destinato al celibato, non fa differenza se non va con un uomo o non va con una donna.

Qualcuno potrebbe obiettare che un sacerdote deve essere testimone dei valori della Chiesa (famiglia figli etc), ma vale lo stesso discorso di cui sopra - casto e celibe - quindi se non lo sa come etero non lo sa nemmeno come omosessuale.

Quindi ex-mons. Charasma faccia poco la vittima, perche' quelli che piangono e accusano gli altri quando la colpa e' soltanto loro li trovo semplicemente insopportabili, inoltre costui scredita tutti gli omosessuali col suo comportamento da "frignone". Senza considerare che distoglie l'attenzione da quella che e' la vera omofobia, che purtroppo esiste...

Alla prossima!

venerdì 2 ottobre 2015

Java ottenere il nome del mese dal suo numero

Lo scopo e' ottenere il nome del mese (localizzato) dal "numero". Es se ho 1 voglio Gennaio in it, January in en/us etc...

Non c'e' da sprecarsi troppo, la classe DateFormatSymbols (di java.text) fa gia' tutto quello che ci serve. L'unica cosa da tenere presente e' che la DateFormatSymbol e' 0-based (quindi Gennaio e' 0, Febbraio 1 etc)

Quando si tratta di roba del genere, preferisco metterla in una classe di utilita' e accedervi staticamente (non ho effettivamente bisogno di un'istanza in questo caso).

Il metodo getMonths() mi restituisce tutti i mesi dell'anno (localizzati) e ordinati sotto forma di String[]. Essendo un vettore il primo elemento (Gennaio) e' 0, per cui per avere una corrispondenza tra il numero "naturale" del mese e quello nell'array basta sottrarre 1 ed ecco fatto...

Alla prossima!

Il grande complotto impossibile


I vari complottisti (appunto), sostengono che esista un "grande complotto mondiale". Questa mentalita' si nasconde in maniera piu' o meno apparente in quasi tutti i ciarlatani, anche quelli medici. Molti seguaci dell'omeopatia, per giustificare la mancanza di prove si aggrappano come un gatto sullo specchio all'ipotesi del complotto di BigPharma e di tutti gli scienziati e chimici di tutto il mondo, che essendo tutti corrotti rendono impossibile produrre prove certe e non taroccate... I vari simoncini, Di Bella, Vannoni sono tutti dei perseguitati. Idem con patate quelli che credono alle scie chimiche o alle ipotesi di auto-attentato dell 11 Settembre. C'e' un enorme grandissimo complotto medico-politico-giudaico-termo-metal-chimico.

Queste persone non ragionano*, perche' ovviamente un grande complotto mondiale e' impossibile in quanto prima o poi qualcuno su milioni di persone coinvolte deve parlare per forza. Inoltre piu' il complotto e' grande e piu' sono evidenti le prove, quindi dovrebbero accorgersene tutti o quasi. Se nessuno a parte loro se ne accorge cosa vuol dire? O che quasi tutta la popolazione mondiale e' coinvolta, oppure...

Senza considerare che se davvero esistesse un complotto di tale portata non ne verrebbe permesso piu' o meno liberamente di parlarne...

...e poi c'e' l'evento che chiude definitivamente la bocca ai complottisti... So che e' successo un po' di tempo fa, me vi ricordate di Snowden quel ex consulente CIA (quindi uno del mestiere, non un geometra fallito o il salumiere della porta accanto che si improvvisa geologo) che ha scoperchiato una pentola di nefandezze rilevando come gli Stati Uniti spiassero regolarmente le comunicazioni anche di Paesi ritenuti alleati.

Se ci si pensa non era un complotto mondiale. Non erano coinvolte milioni di persone. Eppure ha parlato. Nonostante lavorasse per la CIA, nonostante sia ricercato e sia dovuto espatriare. Non come i complottisti "denoantri" che stanno comodamente seduti sul divano a casa loro a lanciare accuse di qua e di la' - e nessuno li va a cercare...

Anzi a voler ragionare alla loro maniera si potrebbe pensare che se esiste un complotto loro ne fanno parte e cercano di screditarlo in tutti i modi :) (prima che mi ricopriate di commenti: e' una battuta!)

complotto vero complotto falso
Qualcuno prima o poi parla Nessuno ne parla - MAI
Chi parla e' qualcuno del settore Chi parla e' gente che non c'entra una mazza
Chi parla viene ricercato dalla polizia Chi parla non gli succede niente
Chi parla puo' portare prove Chi parla cerca scuse perche' le prove non le ha
Analizzando le prove portate (che non sono link su yt) si puo' verificare che quello che dice e' vero Di solito vengono portati link a yt che non dimostrano niente oppure si citano documenti che citano come fonti altri documenti che citano come fonti i documenti iniziali (v. autoreferenzialita')
A seguito delle dichiarazioni rilasciate e delle prove portate succede un casino mediatico A seguito delle dichiarazioni rilasciate e delle prove non portate non succede niente (ma perche' la stampa e' corrotta... si come no)

C'e' un articolo nonciclopedia che spiega benissimo le contraddizioni delle teorie del complotto e che vi consiglio caldamente di leggere.

Alla prossima!


*ragionano a modo loro, prima tirano le conclusioni e poi cercano le prove a supporto

giovedì 1 ottobre 2015

Giocare ai vecchi videogiochi

Chi ha giocato negli anni d'oro del computer ('80 e '90) non riesce a non avere un po' di nostalgia per quei videogiochi dalla grafica schifida (ammettiamolo) ma dal gameplay superlativo.

Effettivamente non potendo contare su una grafica superfica dovevano per forza concentrarsi sul gioco per risaltare. Questo non vuol dire che non siano state prodotte diverse schifezze, ma mentre queste sono cadute (per fortuna) nell'oblio, ci sono giochi immortali che meriterebbero una partitella...

Innanzitutto, se il gioco e' basato su Scumm (se non sapete di cosa sto parlando potete anche smettere di leggere, vuol dire che siete o troppo giovani, o troppo poco appassionati del genere perche' questo articolo possa realmente interessarvi), tipo MonkeyIsland per intenderci (e molti altri della Lucas), allora fate abbastanza presto:
ScummVM e' quello che fa per voi.

Sostanzialmente e' una macchina virtuale Scumm... Si scarica da qui, ed e' disponibile per un sacco di piattaforme (android incluso).

Aggiungere un gioco e' abbastanza semplice, dopo averlo scaricato (assicuratevi che sia legale farlo), avviate scummvm e aggiungete il gioco passandogli il path della directory. Fatto. Poi potete giocarci semplicemente cliccandoci. Per i piu' duri (ma angolofoni) c'e' una guida passo passo sulla wiki di scumm

Se il vostro gioco* non e' scumm, ma gira su dos allora avete l'opzione dosbox che si scarica da qui. Anche db e' disponibile per varie piattaforme.

Dosbox richiede un pelino piu' di messa a punto. Dovrete mettere le mani nel file dosbox.conf, basta un qualsiasi editor di testo (vi, gedit, npp fate voi).

La guida completa e' qui
Le parti che interessano di piu' sono:

Come montare una risorsa:

MOUNT [Drive-Letter] [Local-Directory] il primo parametro indica con che lettera montare la risorsa in dosbox (quindi se volete mappare la directory "pippo" come u: dovrete o in dosbox.conf (se vi serve montata tutte le volte che si avvia) oppure da cli (se vi serve una volta sola) dovrete digitare: MOUNT u $PATH_DI_PIPPO/pippo (su windows i backslash mi racco). Se vi serve ogni tanto potete pensare a farvi un batch (un file .bat che contiene esattamente quello che digitereste nella cli)

Se volete che la risorsa sia vista come floppy o come cd basta aggiungere al comando di mount -t floppy o -t cdrom (esempio: Z:\>MOUNT D D:\ -t cdrom). Alla stessa maniera si puo' montare una iso (-t iso) o addirittura piu' di una (al comando di mount passate il path assoluto delle iso che volete montare).

Farlo all'avvio di dosbox

cosa? Non quello pervertiti! Se volete che dosbox esegua una serie di istruzioni all'avvio (analogamente come il dos faceva con il file autoexex.bat allora la sezione [autoexec] e' quello che fa per voi.

Li potete scrivere i vostri comandi dos e vederli eseguiti all'avvio di dosbox. Quindi eventuali mount, settaggi di tastiera e soundblaster etc.

Approfondimenti:

Note Legali:

Alcuni giochi, soprattutto quelli molto vecchi, vengono rilasciati come "freeware". Ovvero la casa produttrice si rende conto che non c'e' piu' niente da guadagnarci e quindi decide di rilasciarli gratuitamente (come il caso di C&C RedAlert). Altri pur rimanendo molto vecchi, non subiscono modificazioni di sorta alla licenza. Quindi formalmente sono ancora tutelati dal punto di vista legale, ma poi nella sostanza sono nel totale disinteresse della casa che li produceva (per ovvie ragioni) e vengono chiamati abandonware - ovvero sw abbandonato. Se scaricate un abandonware dal punto di vista pratico non danneggiate nessuno (il gioco non e' piu' in vendita), ma comunque rimane un atto illegale in quanto formalmente il gioco e' ancora tutelato dalla sua licenza, anche se nessuno se ne cura piu'. Quindi se lo volete fare l'importante e' che siate consapevoli di quello che state facendo.

Buon divertimento!


*anche se non e' un gioco ma qualsiasi sw per dos

I complottisti e il bias cognitivo

L'articolo e' stato aggiornato dopo la pubblicazione iniziale

Su un certo blog, di cui non metto il link per non regalargli visibilita'*, c'e' una discussione relavita all'omeopatia, e alla presunta "falsificazione" di Medbunker.

Ora a parte il fatto che Medbunker non ha falsificato proprio niente, ha solo analizzato i pochi studi relativi all'omeopatia e ha presentato i risultati. Sostanzialmente e' venuto fuori che se lo studio e' fatto bene, l'omeopatia non e' superiore al placebo come efficacia. Gli studi che mostravano delle evidenze erano quelli fatti male o deliberatamente falsificati.

Uno studio fatto male, per esempio, e' uno che non considera le possibili cause esterne. Come citato fra i commenti, c'e' uno studio che evidenza un marcato effetto ansiolitico (superiore al placebo) di un certo prodotto omeopatico. Qual'e' il problema? Che se come diluente e' stato usato l'alcool (e si usa in omeopatia), questo da solo ha gia' effetto ansiolitico (due link al volo: emernet e alcol.dronet).

Quindi uno studio fatto bene dovrebbe verificare il componente omeopatico da solo (o con diluente che non ha l'effetto che si sta cercando di ottenere dal preparato omeopatico).

Non e' mia norma discutere con certa gente, anche perche' come si nota dalle risposte di chi gestisce il sito (basta che cerchiate "medbunker omeopatia" e viene fuori) si vede il prosciutto davanti agli occhi, e voler ignorare quella che e' la realta' - basta vedere come risponde a chi chiede delle prove sull'omeopatia:

un altro pappagallo scientista che recita la filastrocca delle "prove scientifiche"..... Sei un ballista!

Che dire di fronte ad un ragionamento cosi' profondo e articolato? Che dire di fronte ad un'evidenza scientifica cosi' marcata?

Stavolta pero' non sono riuscito a trattenermi e ho fatto notare che l'alcool puo' avere effetto ansiolitico

Il "gestore" la prende sull'ironico, al che fornisco dei link sulle prove di quanto ho detto (quelli che ho postato piu' sopra). Commento che pero' non viene approvato, lo riposto ieri e anche il commento di ieri svanisce nel nulla

Questo e' un tipico esempio di bias cognitivo ovvero si considera solo cio' che e' a favore, mentre si ignora categoricamente tutto il resto.

Non che me ne interessi piu' di tanto, nel senso la gravita' esiste (e la terra non e' cava) che la gente ci creda oppure no, mi interessava mettere in luce il modus operandi di certi blog e di certe persone, quando il commento diventa scomodo si mette a tacere il commentatore.

D'altra parte censurare e' l'unico modo che hanno, visto che l'evidenza scientifica e le prove sono contro di loro. Guardare in faccia la realta' vorrebbe dire ammettere di essere stati mistificati ed essere stati essi stessi a loro volta mistificatori. Per questo preferiscono tenerli chiusi e non guardare...

Alla prossima!


02/10/2015 - Aggiornamento:

Ieri compare questo commento (sottolineature mie - screenshottato per comodita' vostra):

E bravo Pisano! Vedo che ha anche un blog :) Stia tranquillo non ho censurato proprio niente, i link nel mio blog vengono messi automaticamente fuori e li è bene che rimangano quando sono fuori luogo o stupidi ;) Le consiglio di continuare a seguire quel denigratore dell omeopatia, mi sembra ottimo per i fan della Scienza come lei, lasci perdere i blog come il mio, non sprechi il suo tempo!

A parte l'uso del lei che in netiquette non si fa, vabbe' sottigliezze...

l'utente ivano dice due cose, anzi una la dice esplicitamente l'altra la sottintende:

  • La prima e' che disqus mette automaticamente in moderazione i commenti che contengono un link - ed e' indubbiamente vero - anche se Ivano non lo scrive in maniera esattamente chiara.
  • La seconda e' che i link che avrei postato sarebbero ot o stupidi - cosa che potete verificare facilmente visto che li ho postati anche qui.
Come potete verificare dal suo blog la discussione riguardava l'effetto ansiolitico dell'alcool, visto che ivabellini pareva ignorare questo effetto (che e' ampiamente dimostrato in letteratura medica), gli ho fornito due link.

Ora se e' vero che la moderazione dei commenti non l'ha attivata lui (viene attivata in automatico se il commento contiene un link), e' pur vero che poi il moderatore (cioe' lui) deve poi approvare o rifiutare il commento in questione. Considerato il tempo che e' passato e che il commento ancora non e' stato approvato (vedere lo screenshot piu' sotto) - il fatto che affermi di non censurare niente sa tanto di arrampicata sugli specchi... Della serie: la moderazione non l'ho attivata io quindi io non censuro anche se il commento non te lo approvo.

Mi scuso per le dimensioni dello screenshot ma era necessario per poter prendere la data e ora di winzozz senza ricorrere a tagli (che avrebbero potuto far gridare al taroccamento).

Il fatto che poi nella discussione sull'efficacia come ansiolitico di un preparato omeopatico contenente alcool (il quale ha effetto ansiolitico gia' da solo) vengano "cassati" i link che portano prove che se l'alcool ha effetto ansiolitico di suo forse il preparato omeopatico non c'entra niente la dice lunga...

Alla prossima!

martedì 29 settembre 2015

Liveblogging - giustizia e' fatta

Arrivare alle 07:00 di mattina e trovare non una ma due macchine che occupano il posto riservato alle due ruote non e' una cosa che metta esattamente di buon umore:



Ma poi ad un certo punto la situazione cambia:


Arrivano i vigili... Hanno un bel po' da fare, e suppongo che si siano fatti paracadutare una cassa di blocchetti di multe perche' non c'erano solo questi due messi a maiale, ma tutta una serie di macchine sullo spartitraffico (che e' dipinto e non rialzato) e altre bellamente in mezzo alla strada

Alla fine questo e' il risultato:

Sinceramente non ho simpatia per i maleducati, perche' se loro parcheggiano nel posto riservato ha le due ruote, chi ha le due ruote dove deve parcheggiare (stesso vale per chi parcheggia nei posti per gli invalidi senza esserlo)?

Il maleducato non pensa che puo' dare fastidio agli altri, anzi non pensa e basta. Gli interessa solo non muovere il suo merdosissimo culo un passo in piu' e si fotta tutto il resto. Sinceramente non ho simpatia per questa gente. Purtroppo eventi come questi sono l'eccezione piuttosto che la regola, perche' se ogni volta che si commette un'infrazione ci fosse la relativa multa, smetteremmo di considerare quest'ultima come un caso sfortunato e forse si assisterebbe ad una netta diminuzione delle infrazioni in generale...

lunedì 28 settembre 2015

Peugeot Vogue 50


Leggevo questo articolo. Quello che mi sorprende e' il candore e direi quasi un senso di meraviglia con cui l'articolista descrive il ciclomotore in questione.

Sara' che ho un'altra eta', sara' che ho guidato per un bel po' questo:

(solo che il mio era rosso)... Ve ne cito alcuni:

Spartano e leggero (solo 42 kg), il Vogue ha una dotazione ridotta all’osso. Mancano gli indicatori di direzione e il miscelatore automatico: ogni volta che si fa benzina bisogna aggiungere l’olio per la miscela. Inoltre l’avviamento è a pedali. Il prezzo inferiore a 1.000 euro è comunque molto attraente [...]
esattamente come la serie di ciclomotori Piaggio... Niente frecce, necessario fare il pieno di "miscela" (una volta si trovava ora non piu'), avviamento a pedali (con alzavalvole). Inoltre i ciclomotori piaggio avevano una "comodissima" funzione che permetteva di commutare dal motore ai pedali e viceversa... Non so voi, ma l'unica volta che ho finito la miscela ho fatto meno fatica spingendolo che pedalando...

l Vogue si avvia spingendo la leva dell’aria sul manubrio e dando una robusta pedalata. Una volta in moto, l’accelerazione è piuttosto tranquilla ma in compenso nel traffico è come guidare una bicicletta: ci si infila ovunque. Bisogna solo fare attenzione alle rotaie dei tram, perché le gomme sono strette... come nelle biciclette.
Aridinuovo niente di nuovo... Esattamente come i ciclomotori di una volta (termine che per questa categoria di mezzi ha un senso), si avvia a pedale alzando l'alzavalvole, 0 aderenza, 0 frenata, buona agilita' nel traffico

I consumi sono ridotti: con il pieno di 5 litri si gira per una settimana in città. I freni (entrambi a tamburo) non sono molto potenti, ma comunque adeguati alle prestazioni, mentre le sospensioni sono piuttosto “secche”: fortunatamente anche la sella è ammortizzata
Ummm la nuova unita' di misura dei consumi: la settimana... Io col bravino facevo qualcosa come 50 km/lt e non so se ci giravo una settimana o meno... Anche io avevo entrambi i freni a tamburo, le sospensioni erano di legno e anche io avevo la sella ammortizzata... Il serbatoio e' "decisamente" piu' grande rispetto ai suoi concorrenti anziani

...alla faccia della novita'! Ma quello che mi chiedo e': come avranno fatto a passare le normative antinquinamento? Non si parla di catalizzazione... E senza sonda lambda (quindi senza elettronica) il catalizzatore non lo puoi montare... oO

...no seriamente son curioso di come possano aver rispettato le normative antinquinamento...

moto vs treno


Stamani, venendo in moto a lavorare (e ho pure preso l'acqua, per quello mi e' venuto in mente il treno) ho fatto un par di conti che vi ripropongo...

Il biglietto del treno costa quasi 3€ (una corsa, solo andata), l'abbonamento costerebbe meno* (il mensile costa quanto 10 corse singole). Una settimana di lavoro sono 10 viaggi. Ci siamo? Ok. Vi propongo una tabellina comparativa per fare prima:

treno moto
Non devi fargli manutenzione (nemmeno Trenitalia molto spesso) La manutenzione e' a carico tuo
Non devi guidare Devi stare attento a dove vai
Puoi non trovare posto Se non trovi posto hai un grosso problema
Parte quando vuole lui (e a volte non parte proprio) Se non parte hai un altro grosso problema
I luoghi di partenza e di arrivo possono non essere vicini Di solito parte da davanti casa tua e arriva davanti a dove lavori
Noon c'e' bisogno di parcheggiare Parcheggiare una moto non e' un grossissimo problema
Di solito non fa code Se c'e' coda il verso di passare lo trovi
se piove te ne freghi se piove la pigli tutta
scioperi guasti e scarsa manutenzione possono non farti arrivare beh idem, pero' si spera che della tua moto tu ne abbia cura per quel che riguarda gli scioperi poi...
ambiente tropicale d'inverno e polare d'estate ambiente tropicale d'estate e polare d'inverno
l'abbonamento lo rende molto conveniente (almeno dal punto di vista dei $$$) non puoi fare l'abbonamento dal benzinaio anche se non sarebbe una cattiva idea
nel tragitto puoi leggere non mi pare il caso - guidare una moto e' molto divertente
Non tutti i posti sono raggiungibili col treno Se c'e' la strada ci puoi arrivare

Conclusioni:

Ogni mezzo ha i suoi punti di forza, sicuramente il treno ha dalla sua l'economicita' e il fatto di non dovere essere guidato (se la notte hai dormito poco fa la sua differenza), mentre la moto ha la flessibilita' degli orari e dei luoghi, nonche' il fatto di trovare sempre posto a sedere :) pur richiedendo una manutenzione (che va ad incidere sulle spese). Quindi a voi la scelta... Io uso entrambi.


*ma finche' continuo a barcamenarmi tra moto e treno non mi conviene fare l'abbonamento, ora che si procede verso l'inverno un pensierino...

venerdì 25 settembre 2015

BigPharma e il grande complotto


Intanto se avete riconosciuto l'immagine bravi. Poi: scrivendo il post precedente mi e' venuto in mente che i complottisti spesso citano "big pharma"

ecche e'?!? - dira' il lettore - sostanzialmente si tratta di un grande complotto di tutte le multinazionali farmaceutiche, che lavorerebbero in gran segreto insieme (un po' come il grande complotto delle scie chimiche o dell'11 Settembre, tutte baggianate che non possono stare in piedi se ci si pensa bene) ai danni delle persone.

Ora e' vero che le aziende farmaceutiche lavorano per il profitto, e che talvolta non si comportano in maniera esattamente trasparente (basti vedere i post di medbunker a riguardo*) ma son tutti casi in cui ogni multinazionale agisce per conto suo, anche perche' in una logica di mercato concorrenziale, non c'e' occasione migliore che cogliere in fallo l'avversario e sputt denunciarlo al pubblico ludibrio.

Un po' come il caso VolksWagen dove nessuna casa automobilistica ha parlato - guarda caso perche' forse facevano lo stesso?

Dicevo, rileggendo il mio post sull'AIFA ho notato questa frase:
Il ritiro è stato disposto a seguito delle segnalazioni da parte delle ditte GlaxoSmithKline e Medifarm
Quindi se davvero esistesse BigPharma le case farmaceutiche dovrebbero essere tutte in combutta tra di loro. E invece no, si denunciano a videnza...

I casi sono due:

  1. Non esiste bigPharma e le case farmaceutiche sono in concorrenza tra di loro
  2. BigPharma esiste e lo fanno solo per dare l'impressione che non esista
Vi lascio come esercizio questi due punti:
  • Considerate le prove dell'esistenza di BigPharma
  • Scegliete la risposta piu' sensata in base alle prove di cui sopra


*che essendo medico dovrebbe fare parte anche lui del grande complotto, quindi il fatto che ne parli e sia ancora vivo dovrebbe voler dire qualcosa...

La falsa percezione causa - effetto


Post hoc ergo propter hoc, dicevano i latini. Ovvero se due cose sono accadute l'una dopo l'altra devono essere la conseguenza l'una dell'altra. E gia' messa così basterebbe a dimostrarne la falsita'. Perche' ovviamente non e' assolutamente detto che due eventi vicini temporalmente siano legati da un rapporto causa-effetto.

E' l'errore che spesso fanno i complottisti, ma in realta' e' insito nella natura umana, e nel nostro processo di apprendimento. Se prima accade A e subito dopo B tendiamo spontaneamente a legarli insieme.

Facciamo un esempio terra-terra: quando passo da una certa via si spengono i lampioni. Detta cosi' sembrerebbe che io abbia qualche potere, in realta' andando a lavorare faccio (quasi) sempre lo stesso percorso, ci passo (quasi) sempre alla stessa ora (guarda caso quella in cui si spengono i lampioni) e come bias tendero' ad ignorare tutte le volte in cui i lampioni non si sono spenti (oppure lo erano gia'). Inoltre sto ignorando il fatto che quando passo da altre parti e ad altre ore i lampioni non si spengono.

Pare un ragionamento banale, eppure e' quello che fanno gli antivaccinisti (e in genere tutti quelli che 'credono' ad una tesi senza ragionarci* sopra), ovvero il bimbo x si e' vaccinato => il bimbo x e' autistico =>i vaccini causano l'autismo.
Oppure tizio ha mangiato la cosa Y => tizio ha il cancro => Y fa venire il cancro. L'immagine qua sotto mette bene in evidenza i limiti di questo ragionamento.

Tutto questo senza considerare le possibili cause esterne, la ripetibilita' (se i vaccini causassero l'autismo dovrebbero farlo sempre o comunque molto spesso mentre questa correlazione in realta' non c'e'.

Presenteranno delle statistiche, ma e' molto facile accostare due statistiche e farle sembrare legate. Paolo Attivissimo ha fatto un articolo molto interessante a riguardo (e del quale consiglio la lettura). Per stabilire un rapporto causa effetto servono delle prove:

  • Ripetibilita': ovvero se x causa y tutte le volte che si usa x deve succedere y
  • Negabilita': ovvero tutte le volte che non uso x non deve succedere y (gruppo di controllo)
  • Eliminazione delle cause esterne: ovvero essere sicuri che ci sia solo x ad agire e non altri fattori (tipo il timer che ad una cert'ora spenge i lampioni

Senza questi dati sono solo chiacchere da bar. I complottisti o citeranno studi che sono stati malfatti (tipo Wakefield che fu pagato per produrre studi (falsi) sulla correlazione vaccino trivalente ed autismo) oppure non li citeranno affatto dicendo che fanno tutti parte del grande complotto (altra teoria che non puo' stare in piedi**). E' facile fare il Torquemada da tastiera e lanciare strali e accuse senza doverli (ne' poterli) dimostrare. Se davvero queste persone sono convinte di quello che dicono facciano una raccolta fondi privata (facile sp...re soldi pubblici come nella vicenda stamina), spendano i loro soldi e facciano una loro ricerca fatta bene, con gruppi di controllo doppio cieco e tutto il resto. Se hanno ragione nessuno potra' zittirli.

Eppure non lo fanno, chissa' come mai...


*di solito questa gente _prima_ tra delle conclusioni e poi cerca gli elementi che supportino tali conclusioni, ignorando bellamente il resto
**Snowden anyone?

giovedì 24 settembre 2015

Antibufala - generatore ad urina


Ringrazio David per la segnalazione e lo spiegone tecnico.
(i corsivi, quando ci sono, sono miei)

Facciamo un paio di bilanci energetici a occhio...

Questi frullacchioni scrivono che:

1. energia elettrica (chiamiamola E1) + piscio(sono anche goliardi!) = acqua + azoto + idrogeno

e già qui mi chiedo perché andare a scomodare l'urina per fare l'idrogeno, lo fai già con l'acqua da sé. Ma diamoglielo per buono. A questo punto se parti da un kg di piscio (hai voglia a minzionare) avrai, immagino, 983 grammi di acqua (sudicia), 15 grammi di azoto e 2 di idrogeno (per maggiore precisione senti qualche chimico su quanta urea c'è in un kg di pp). Facciamo finta che l'ossigeno ed il carbonio avanzati nella reazione, che i frullacchioni non menzionano, spariscano in un buco spaziotemporale enonneparliamopiù.

2. I 2 (grassi) grammi di idrogeno e l'azoto passano dentro un astimasti sblinda filtro per l'acqua ed esce più fico.

3. I 2 (grassi) grammi di idrogeno e l'azoto entrano da soli nella bombola, che immagino sia in pressione, senza l'ausilio di pompe, ma facciamo finta che sia un idrogeno volenteroso.

4. I 2 grammi di idrogeno, da soli perché i 15 di azoto non avevano voglia e restano tutti nella bombola a fare un party, passano attraverso un famoso filtro di borace che li disidrata. Famoso perché lo sanno tutti che il borace è un forte disidratante. Io per esempio non lo sapevo. Ma ci sta.

5. I 2 grammi di idrogeno entrano nel generatore, che come tutti sanno è progettato per funzionare ad idrogeno, e vengono prodotte ben 6 ORE di elettricità. A proposito, bisogna avvertire la comunità mondiale (e anche l'ENEL), perché l'unità di misura dell'"elettricità" adesso è l'ORA. Quindi c'è un flusso di circa 330 mg/h (o 93 µg/s) di idrogeno in alimentazione al generatore (ma che pistoncino piiiiiccolo!)

6. Per produrre energia il generatore avrà la seguente reazione: H2 + O2 (dall'aria) = H2O + aria + energia elettrica (chiamiamola E2) con una resa che, per i generatori di questo tipo, si aggira intorno al 40% (e sono stato MOLTO largo).

Tutta sta supercazzola ha come condizione primaria che 0.4 * E2 > E1 ........................................................

A queste ragazze bisogna dargli il nobel.

Antibufala - l'Aifa e l'antibiotico ritirato

l'articolo e' stato aggiornato dopo la pubblicazione iniziale

Questo e' l'appello che sta circolando su Facebook, e secondo il quale l'AIFA (l'agenzia italiana del farmaco) un famoso antibiotico generico (l'augmentin) sarebbe pericoloso e quindi ritirato dal mercato...

A parte il fatto che e' strano che l'appello che ho visto io provenisse dal centro meteo, ma ci sta che stessero solo diffondendo la notizia.
A parte il fatto che e' strano che non c'e' nessun link ad un comunicato AIFA ma un'immagine
A parte il fatto che fidarsi e' bene non fidarsi e' meglio e quindi sono andato a fare una ricerchina con google ("aifa farmaco ritirato")

Questo e' quello che ho trovato... Niente...

Idem sul sito dell'AIFA

L'unica cosa che ho trovato e' questa notizia che specifica che il ritiro dell'augmentin era un comunicato AIFA (#9107 - che pero' non sono riuscito a trovare sul sito dell'aifa ma citato indirettamente da altri, quello citato riporta come motivo del ritiro: Il ritiro è stato disposto a seguito delle segnalazioni da parte delle ditte GlaxoSmithKline e Medifarm, concernenti etichette interne in lingua rumena - quindi piu' ad inesattezze del bugiardino mi verrebbe da dire che non per il farmaco in sé) 2014 relativo solo ad alcuni lotti

Conclusioni

L'appello e' una bufala perche' l'augmentin non e' pericoloso un eventuale comunicato (che pero' non ho trovato) sarebbe relativo solo ad alcuni lotti non conformi, quindi potete tranquillamente continuare ad usarlo

Java - rimozione degli spazi e altri caratteri

Come rimuovere gli spazi da una stringa

ma anche altri caratteri

17 Ottobre 2015: l'articolo e' stato aggiornato a seguito di una segnalazione
Primo Modo (non ottimizzato):
diciamo questo serve piu' per esercizio che di reale utilita'
sostanzialmente si crea un array di char (usando il metodo toCharArray) e si "scorre" tutto l'array... se il carattere non e' uno spazio si aggiunge alla stringa che verra' restituita, se lo e' ovviamente no.
Va da se che questo metodo e' altamente dispendioso in termini di risorse in quanto bisogna percorrere tutta la stringa (pensate ad un testo molto lungo invece che ad una singola parola). Quindi vale come esercizio accademico ma non ne consiglio l'utilizzo.

Secondo Modo (ottimizzato):
si usa il metodo split, passandogli lo spazio come parametro (Unicode: \u0020) poi si prendono i vari tronconi (chunks) e si "ri-appiccicano" insieme nella stringa da restituire. Va da se' che non dovendo scansionare tutta la stringa questo metodo e' molto piu' efficiente - addendum: del primo.

Per rimuovere qualsiasi altro carattere (o stringa) 

1) farselo passare come parametro 

2) sostituirlo dove nei metodi sopra c'e' lo spazio

In alternativa:
Usare il metodo replace passando come primo parametro la stringa (o il carattere) da levare e come secondo una stringa vuota ("")


In realta' prendendo una tabella comparativa da questo post di stackoverflow si vede che lo split e' uno dei metodi peggiori per cui su grandi volumi di file e' molto piu' efficace la classe Scanner

Tokenizer String.split() while+SubString Scanner ScannerWithCompiledPattern
4.0 ms 5.1 ms 1.2 ms 0.5 ms 0.1 ms
4.4 ms 4.8 ms 1.1 ms 0.1 ms 0.1 ms
3.5 ms 4.7 ms 1.2 ms 0.1 ms 0.1 ms
3.5 ms 4.7 ms 1.1 ms 0.1 ms 0.1 ms
3.5 ms 4.7 ms 1.1 ms 0.1 ms 0.1 ms

martedì 17 marzo 2015

Isis in Italia - studenti terza media ci convertiamo subito


- Questo l'inquietante titolo de ilsussidiario.net (link all'articolo) -
Lasciamo perdere l'autorevolezza della testata, in quanto testate ben piu' blasonate non sono nuove ad errori e concentriamoci sulsucco del discorso.

Una statistica se non ha un campione significativo lascia un po' il tempo che trova, inoltre può essere interpretata in molto modi differenti (un esempio del buon Salvo di Grazia, che spiega molto bene come si fa una cosa del genere).

Allora sono andato a leggere l'articolo. Spicca subito la mancanza di fonti (vedere le sottolineature nello screenshot): una terza media, una scuola statale, una citta' di provincia.

Ottimo modo di fare bufale, nessuno puo' verificare nessuno puo' smentire. Gia' questo basta e avanza a chiudere la questione, nessun dato oggettivo. Inoltre se fosse vero (e nessuno puo' dimostrare che lo sia) si tratterebbe di UNA classe (per altro non documentata come affermazione). Per cui il campione non e' assolutamente significativo. Ma la chicca arriva adesso: non serve nominare perche' simile a mille altre
eccalla'... lo volevi? Visto che UNA classe avrebbe manifestato l'intenzione di convertirsi allora TUTTE le terze medie d'Italia (e del mondo gia' che ci siamo) si vogliono sicuramente convertire...

Un po' come dire, siccome esistono dei gatti rosa (non importa che dica dove e quando tanto ce ne sono migliaia tutti uguali) allora tutti i gatti sono rosa...

domenica 15 marzo 2015

Antibufala fast

Il post e' stato aggiornato dopo la pubblicazione iniziale

il succo* della bufala: iniettano sangue infetto da hiv nelle arance (e poi tu le mangi e prendi l'aids)

perche' e' una bufala:

  1. il virus dell'hiv non sopravvive all'esterno dell'organismo che lo ospita: fonte (sopravvive massimo 30 minuti ma perde la capacità di infettare dopo 30 secondi
  2. non si contrae mangiandolo (link: come NON si trasmette l'aids)
  3. esistono le arance rosse (che sono quelle mostrate nella foto dell'appello)

Un'arancia con striature rosse...


* e' proprio il caso di dirlo

martedì 3 marzo 2015

Attivita' ispirate alla tv/cinema?


Signore degli Anelli

  • Optometrista da Saruman: non riducetevi cosi
  • Videosorveglianza da Saruman (in alternativa)
  • Omeopata Gandalf il grigio: tanto quello o la stregoneria...
  • Agenzia viaggi da Aragorn: dobbiamo proprio passare per Moria?
  • Barbalbero serre e dintorni: portiamo le piante ovunque tu voglia (o dovunque vogliano loro)
  • Farmacia da Aragorn: ho trovato questa pianta strana e ci curo un po' tutto...

Star Wars

  • Pizzeria da obi-wan kenobi: queste sono le pizze che stavate cercando
  • La locanda di Yoda: in palude posto per tutti c'e'
  • Doggy Sitter Han Solo: se riesco a tenere a bada Chewbacca...
  • Banca del seme Darth Vader: I am your father (or at least one of them)

Altro

  • Rosticceria da Braccio di Ferro: non solo olivie all'ascolana
  • Baby Parking da Erode
  • Terme Labano: loc. Labano Terme
  • FGC - Flash Gordon Courier: la velocita' la garantiamo, le merci intere no