Yii è il frameword MVC del momento, lo sto studiando e mi sono preso la libertà di ripensare un po’ al pattern di sviluppo MVC secondo un contesto che mi ha aiutato a chiarire alcune cose sul suo funzionamento. Ho scritto questo articoletto per ricordarmi che questo modo di vedere le cose me le ha fatte capire un po’ meglio. E, magari, può servire a qualcuno.
Mag 16
JDK vs JRE
Sempre nell’ambito della guerra degli acronimi, un dubbio lecito che può venire quando qualche software ci richiede Java a bordo (lecito visto che lo mettono in evidenza nel sito dell’Oracle quando si vuole scaricare un ambiente di sviluppo o di esecuzione) è:
Ho bisogno di JDK o di JRE?
Qui la semplice risposta dell’Oracle:
“What Java Do I Need?” You must have a copy of the JRE (Java Runtime Environment) on your system to run Java applications and applets. To develop Java applications and applets, you need the JDK (Java Development Kit), which includes the JRE.Il sito di Oracle con le pagine di download.
Apr 20
Esperimenti con HL7
Healt Level Seven è uno standard di comunicazione che definisce di tutti gli standard per lo scambio, la gestione, l’integrazione, la condivisione e il reperimento di dati sanitari in formato elettronico.
Il messaggio Hl7 è un file di testo, una sorta di XML, ma non in formato markup.
Un messaggio Hl7 può essere di diversi tipi: contenere un referto strutturato (ad esempio i risultati di una analisi del sangue o di una spirometria), un referto PDF firmato digitalmente, una comunicazione di allineamento tra archivi o altro ancora.
Un messaggio è un testo distinto su più righe (segments). Ogni segmento ha un codice che ne definisce il contenuto (ad esempio PID, come Patient IDentification)
Ogni segmento è composta di campi (fields): nelle esempio del PID troveremo, in posizioni ben definite , informazioni come il cognome, il nome, il codice fiscale, la data di nascita del paziente. Ciascuna di queste informazioni è delimitata, all’interno della stessa riga, dal carattere pipe (|) e, al suo interno, lo stesso campo può anche essere suddiviso in più sottocampi delimitati dal carattere ^ (ad esempio, sempre in un segmento PID, l’indirizzo è contenuto tra due pipe e si trovano i campi, via, civico, cap, città, provincia delimitati da ^).
Apr 15
Analisi complessa
Sono tornato a far visita al mio Relatore di tesi, il prof. Mauro Bisiacco del Dipartimento Di Ingegneria dell’Informazione dell’Università di Padova. E’ stato un incontro piacevolissimo con una persona davvero speciale. Gli studenti lo adorano!
Incidentalmente, durante la chiacchierata, sono stato coinvolto in una questione riguardante un compito di Controlli Automatici, un dubbio sull’andamento di una funzione di trasferimento. La sera ho fatto ripartire i neuroni acciaccati che si occupavano di quegli argomenti e ne ho tratta una botta di gioventù. La mattina seguente gli ho mandato una mail con la soluzione qualitativa, era anche giusta. Mi sono preso lo sfizio di metterla in bella copia.
Il testo, redatto con LaTeX e con l’ausilio di GNU Octave per i grafici, un bellissimo clone open source di Matlab.
Apr 11
Alfresco: problemi a migrare verso la versione 4?
Ho trovato una interessantissima diatriba sui problemi incontrati nel migrare alla versione 4. Si è scomodato ad intervenire perfino il CEO di Alfresco Software.
Fino a metà il tono è costruttivo, poi ho lasciato stare. Vale la pena di leggerlo: http://bit.ly/HJDK4L
Apr 10
Lorem ipsum dolor sit amet…
Questo testo, scritto in un latino a dir poco maccheronico, è in uso dal XVII secolo come testo “demo”, come si direbbe adesso, per valutare l’impatto visivo di un testo scritto, il cui significato non è importante quanto la resa visuale dell’impaginazione.
La storia di questo strano testo, e di come sia coinvolto Cicerone, si trova tranquillamente su Wikipedia, ma in questo sito c’è addirittura un generatore di Lorem Ipsum 🙂
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam metus est, ultricies non feugiat eu, rhoncus et felis. Morbi in lorem in nisl ultricies ullamcorper. Etiam pretium adipiscing lorem, et congue…
Mar 15
Processi defunti in Linux

Oggi ho il problema che la macchina rallenta. Guardo i processi Linux e vedo un processo defunct. Google mi insegna che i processi defunct possono essere greedy.
“Lo ammazzo”, penso. Mica così facile. In informatica c’è anche il concetto di uccidere un defunto…
$ kill -9 3462
ma il processo è ancora in piedi (e infatti li chiamano zombie).
Processi padri e figli
Google mi insegna che se il genitore del processo è a sua volta ancora vivo, può essere che non riesco ad eliminare il figlio. Ma chi è il padre di 3462? Non sapendo né leggere né scrivere faccio così
$ ps -lax | grep 3462
ma scopro un metodo ancora più figo, l’albero dei processi
$ pstree -p init(1)─┬─GoogleTalkPlugi(3281)─┬─{GoogleTalkPlug}(3282) │ ├─{GoogleTalkPlug}(3284) │ ├─{GoogleTalkPlug}(3285) │ └─{GoogleTalkPlug}(3286) ├─NetworkManager(1129)─┬─dhclient(2566) │ └─{NetworkManager}(2567) ├─acpid(1338) ├─anacron(1336)───sh(3017)───run-parts(3019)───apt(3025)───apt-key(3428)───wget(3437) ├─apache2(1784)─┬─apache2(1807) │ ├─apache2(1810) │ ├─apache2(3146) │ ├─apache2(3168) │ ├─apache2(3171) │ ├─apache2(3250) │ ├─apache2(3347) │ ├─apache2(3494) │ ├─apache2(3564) │ └─apache2(3601) ├─atd(1356) ├─avahi-daemon(1127)───avahi-daemon(1128) ├─bonobo-activati(2869)─┬─{bonobo-activat}(2870) │ └─{bonobo-activat}(2881) ├─clock-applet(2931)───{clock-applet}(2943) ├─console-kit-dae(1133)─┬─{console-kit-da}(1134) .... ├─gvfsd(2705) ├─gvfsd-burn(2962) ├─gvfsd-metadata(2950) ├─gvfsd-trash(2908) ├─gweather-applet(2921)─┬─sh(3462) │ ├─{gweather-apple}(2939) │ └─{gweather-apple}(2975) ├─irqbalance(1350) ├─modem-manager(1131) ├─mysqld(1470)─┬─{mysqld}(1614) │ ├─{mysqld}(1615) │ ├─{mysqld}(1616) │ ├─{mysqld}(1617) │ ├─{mysqld}(1839) │ ├─{mysqld}(1840) │ ├─{mysqld}(1841) │ ├─{mysqld}(1846) │ ├─{mysqld}(1847) │ ├─{mysqld}(1873) │ └─{mysqld}(1912) ├─nmbd(2620) ├─notification-ar(2928)───{notification-a}(2938) ├─notify-osd(2905)───{notify-osd}(2906) ├─polkitd(1869) ├─pulseaudio(2716)─┬─gconf-helper(2808)───{gconf-helper}(2811) │ ├─{pulseaudio}(2753) │ ├─{pulseaudio}(2777) │ └─{pulseaudio}(2802) ├─python(2925)───{python}(2958) ├─rsyslogd(1101)─┬─{rsyslogd}(1244) │ └─{rsyslogd}(1245) ├─rtkit-daemon(1863)─┬─{rtkit-daemon}(1866) │ └─{rtkit-daemon}(1867) ├─samba(1679)─┬─samba(1703) │ ├─samba(1705) │ ├─samba(1712) │ └─samba(1714) ├─slapd(1365)───{slapd}(1368) ├─smbd(1093)───smbd(1243) ├─syndaemon(2876) ├─system-service-(3006) ├─trashapplet(2887)───{trashapplet}(2891) ├─udevd(457)─┬─udevd(704) │ └─udevd(706) ├─udisks-daemon(2775)─┬─udisks-daemon(2776) │ └─{udisks-daemon}(2999) ├─upowerd(1865) ├─upstart-udev-br(453) ├─wnck-applet(2885)───{wnck-applet}(2892) └─wpa_supplicant(1383)
mmm troppo prolisso, meglio greppare:
$ pstree -p | grep 3462 |-gweather-applet(2921)-+-sh(3462)
Ecco cos’era! il programmino della situazione meteo
$ kill -9 2921
Così è sparito anche il defunct, e il computer tira un sospiro di sollievo.
Link utili suill’argomento processi
Altri post su Linux
Mar 09
Problemino XML
Piccoli problemi che possono fare perdere un po’ di tempo.
Attenti ai caratteri <, & nei file XML, i parser non li digeriscono se non si trovano nei punti giusti!
Un piccolo TODO nel caso ci si imbatta in errori di tipo XML_ERR_NAME_REQUIRED
Feb 24
Neutrini: il comunicato ufficiale di OPERA
Traduco quello che si leggeva ieri 23 febbraio 2012 sul sito dell’Istituto Nazionale di Fisica Nucleare (INFN):
NEUTRINOS: STATEMENT ISSUED BY THE OPERA COLLABORATION
La collaborazione OPERA, nel continuare la sua campagna di verifiche nelle misurazioni della velocità del neutrino, ha identificato due problemi che possono alterare significativamente i risultati che sono stati comunicati. Il primo è legato all’oscillatore usato per le marcature temporali generate tra due sincronizzazioni con il GPS. Il secondo punto è relativo al collegamento in fibra ottica che trasposta il segnale dal GPS esterno all’orologio di riferimento di OPERA.
Queste due anomalie possono alterare il tempo di volo del neutrino in opposte direzioni. Mentre continuiamo le nostre indagini, al fine di di quantificare in modo non ambiguo l’effetto sui risultati osservati, la Collaborazione è in procinto di effettuare nuove misurazioni sulla velocità del neutrino non appena un nuovo gruppo di fasci di neutrini sarà disponibile nel 2012. Un rapporto esauriente sulle verifiche accennate poc’anzi e sui risultati verrà prontamente comunicato ai comitati scientifici e alle agenzie.
[Fonte: sito INFN]
Commenti recenti