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!