Nei giorni scorsi l’Agenzia per la Cybersicurezza Nazionale (ACN) ha pubblicato una segnalazione relativa ad alcune vulnerabilità individuate in n8n, la piattaforma open source per l’automazione dei workflow che utilizzo in un’installazione locale tramite Docker. …
Qualche giorno fa mi sono imbattuto in un comportamento a dir poco bizzarro sulla mia macchina Ubuntu: digitando nel browser un domain name completamente a caso, tipo http://mememem.it/ o http://nxdomain1.it/ (il nome è voluto: NXDOMAIN …
Ovvero come si scambiavano messaggi instantanei due utenti Unix prima dell’avvento di WhatsApp e Telegram. Qualche giorno fa stavo ragionando sui primi sistemi di messaggistica su ARPANET [E] e mi è tornato in mente il …
Da un po’ di tempo avevo il PC disseminato di container Docker installati qua e là, senza un vero criterio. Ho deciso che era il momento di mettere ordine e, allo stesso tempo, di costruire …
Continuo qui una serie di articoli che riguardano il funzionamento di Docker. In questo post ho condiviso la comprensione del perché Docker non possa essere pensato come un virtualizzatore hardware: non viene virtualizzata una macchina …
Yii è un framework di sviluppo PHP secondo il pattern MVC di cui ho parlato qui e qui. Il sito (fornitissimo) è qui.
La pillola riguarda la gestione dei campi data, campi testo (in html < 5 non esistono i campi data) ai quali Yii aggiunge funzionalità tipiche di un controllo per le date:
Il frammento con cui si definisce questo comportamento è il seguente
Questo articolo parla del sistema operativo in cui può essere eseguito un programma scritto in Java.
Qual è? Tutti.
Ovvero: in una macchina virtuale!
Questo inguaggio nasce con l’obiettivo di non avere bisogno di essere “portato” da un sistema operativo ad un altro. Il programmatore non deve avare compilatori/linker specifici per ciascun sistema operativo ma deve preoccuparsi solo di scrivere codice senza preoccuparsi dove questo potrà essere eseguito. L’infrastruttura farà in modo da rendere ugualmente eseguibile questo codice.
Ma per ottenere questo dobbiamo effettuare una astrazione della macchina fisica, in modo che il programma possa essere compilato ed eseguito da questa macchina astratta e questa sia l’unica cosa che debba mediare con l’architettura sottostante senza però preoccupare minimanente lo sviluppatore.
La tecnologia (originariamente sviluppata da Sun Microsystem ma poi presa in carico da Oracle Inc.) è stata stratificata per mettere a disposizione
un compilatore
un linker e un ambiente di esecuzione
uno strumento di gestione del ciclo di vita (development / test / run / deploy)
In questo contesto questi tre livelli sono denominati JVM, JRE, JDK.
Quali sono le differenze tra JDK, JRE e JVM?
L’immagine risponde in sintesi alla nostra domanda
La differenza tra JVM JDK e JRE
È un sistema di scatole cinesi. Ma vediamo in dettaglio i tre blocchi
JVM
JVM (Virtual Machine) è una macchina astratta (o virtuale). È una specificazione che fornisce un ambiente esecutivo (runtime environment) – una simulazione di un calcolatore con processore e RAM – nel quale il bytecode (lo pseudo-codice macchina che gira nello pseduo-processore) può essere caricato nella memoria virtuale ed eseguito.
Le JVM sono disponibili per una ampia varietà di piattaforme harware e software. JVM, JRE e JDK sono dipendenti dalla piattaforma perché le configurazioni per ogni sistema operativo sono diverse e, come detto, questo non deve essere una preoccupazione dello sviluppatore che deve solo scegliere la JDK del sistema operativo in cui lui è abituato a lavorare. Però, Java è indipendente dalla piattaforma: quindi lo stesso codice sorgente può essere eseguito senza cambiare una virgola in qualsiasi sistema operativo. Quello che cambia è l’implementazione della Virtual Machine. La JVM fa le seguenti cose principali:
interpreta il codice sorgente con il just-in-time compiler e produce il bytecode allo stesso modo di un interprete (qui è molto diverso il funzionamentto dai programmi come C++ o C che vengono comletamente convertiti in codice macchina e poi eseguiti).
esegue il bytecode
gestisce il threading, ovvero le chiamate a funzione ed il ritorno al programma chiamante, le ricorsioni, gestendo il program counter e lo stack delle chiamate – ciò che fa un sistema operativo ma ad un livello astratto, senza un vero processore sotto).
gestisce la memoria virtuale (creazione e distruzione degli oggetti). Su questo particolare aspetto, che è decisamente critico, se volete potete leggere quest’altro articolo del mio blog.
Una volta che però esiste l’ambiente esecutivo, che è il prossimo passaggio.
JRE
Runtime Environment
JRE (Runtime Environment). Serve a fornire un ambiente di esecuzione. È l’implementazione della JVM. Esiste fisicamente. Contiene le librerie (e ne gestisce i collegamenti) necessarie per la funzionalità del programma e inoltre contiene altri files che la VM usa durante l’esecuzione (javaw, rt.jar, etc).
JDK
JDK (Development Kit). Anche questo esiste fisicamente. Contiene il JRE + strumenti per lo sviluppo (javac, javaws, etc)
Development Kit
Come conoscere la versione della JRE correntemente in uso
marcob@jsbach:/opt$ java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)
Come cambiare JRE/JVM in corsa
Si usa il comando update-alternatives, con l’opzione –config java:
In questo breve articolo vengono delineati in modo elementare gli argomenti matematici alla base delle curve di Bézier e la loro implementazione nei software tool di sviluppo grafico vettoriale. Questi appunti sono stati originariamente scritti per le classi IV dell’ITIS “Carlo Zuccante” di Venezia-Mestre come supporto didattico per le lezioni del modulo “Grafica per il web” nell’ambito del corso di Progettista di siti web tenuto nell’omonimo Istituto nel 2000.
Paolo Villoresi, Giuseppe Vallone, Davide Marangon e altri collaboratori del gruppo di Quantum Communications del DEI Dipartimento di Ingegneria dell’Informazione dell’Università di Padova, hanno messo a punto nel 2013 un prototipo che permette di generare numeri casuali puri tramite un raggio laser inviato ad un ricevitore sufficientemente lontano attraverso l’atmosfera. Il loro lavoro è stato pubblicato pubblicato su ArXiv.org e da nature.com.
Perché numeri casuali puri? I numeri casuali utilizzati finora nei computer sono numeri pseudo casuali cioè generati in modo deterministico con algoritmi che in sostanza implementano dinamiche caotiche nel senso del caos deterministico: un sistema deterministico con caratteristiche di non linearità, presenza di punti di equilibrio iperbolici e sensibilità ai valori iniziali, che si comporta apparentemente come un sistema casuale ma che casuale non è perché vale il determinismo alla Cauchy (fissato un punto si può sempre determinare il punto successivo con certezza – se il punto iniziale è noto con certezza).
Nei numeri casuali puri o genuini invece conoscere lo stato del sistema ad un certo istante non ci dà alcun modo di prevedere con certezza dove sarà il sistema l’istante successivo, possiamo solo stabilire delle probabilità.
Il metodo messo a punto da Villoresi ed i suoi collaboratori si avvale delle proprietà della turbolenza atmosferica nella diffusione di un raggio laser. Il prototipo è alquanto ingombrante: si tratta di ricevere il fascio laser ad una distanza di 143 km, essendo il trasmettitore laser posizionato nell’isola di La Palma ed il ricevitore nell’isola di Tenerife. Il fronte d’onda, approssimativamente sferico a grande distanza, viene deformato dal diverso indice di rifrazione dovuto alla turbolenza dell’aria, e viene raccolto da un sensore a matrice nel quale avviene un campionamento delle intensità e una codifica.
Il pattern di diffusione del fascio si dispone in una scacchiera in cui caselle nere e bianche (per semplificare) si scambiano continuamente di posto in modo del tutto impossibile da prevedere; la codifica di ogni scacchiera (frame) viene associata ad un numero per ottenere quindi una successione di numeri casuali puri.
In numeri ottenuti sono stati sottoposti a test di casualità passandoli tutti: il generatore è formidabile.
Nell’articolo pubblicato sull’Archivio vi è anche un’applicazione alla QKD (Distribuzione di Chiavi Quantistiche) nell’ambito della Quantum Information.
Maryan Mirzakhani ha vinto la medaglia Fields, l’equivalente del premio Nobel assegnato annualmente al matematico ritenuto il migliore.
La medaglia Fields viene assegnata durante l’annuale Congresso Internazionale dell’International Mathematical Union per meriti scientifici a matematici di non oltre quarant’anni, ed è la prima volta che questo prestigioso premio viene assegnato ad una donna.
La prof. Mirzakhani è nata a Teheran nel 1977 (che all’epoca era ancora Persia) ed ha una carriera di matematica iniziata molto precocemente: a 17 anni ha vinto le Olimpiadi Internazionali della Matematica a Hong Kong, e anche l’anno successivo a Toronto. Attualmente vive negli Stati Uniti e insegna alla Stanford University.
Il premio le è stato riconosciuto per i suoi lavori sulle superfici di Riemann. Nella sua attività di ricercatrice si è occupata, tra le altre cose, anche di teoria ergodica e geometria iperbolica.
Gli studenti del college di Welton salutano il prof. Keating rompendo l’etichetta, la formalità e la convenzione
Era il mio attore preferito senza alcun dubbio.
Mi è risultato subito simpatico fin da quand’ero piccolo in cui interpretava Mork da Ork. “Nano Nano!”.
E giusto domenica l’ho visto in un film che avevo registrato, “The Big White” e ho pensato che la voce di Carlo Valli, doppiatore in quasi tutti i suoi film di successo, si sposava molto bene con il personaggio. Anzi mi pare di ricordare che Williams si fosse pure congratulato con lui per la fedeltà e l’abilità con cui dava la voce ai suoi personaggi.
Ho pensato anche che una volta intervistato da Vincenzo Mollica aveva lanciato un invito a Roberto Benigni per fare un lavoro insieme. E mi sono chiesto quando lo avrebbero fatto. Ho pensato che gli sono grato per tutti i film in cui l’ho visto (Good Morning, Vietnam, Toys – Giocattoli, La leggenda del Re Pescatore, Mrs. Doubtfire – Mammo per sempre, Will Hunting – Genio ribelle, Al di là dei sogni, Patch Adams, One Hour Photo, La musica nel cuore – era bravo anche ad interpretare personaggi antipatici! -), ma soprattutto per la sua interpretazione del prof. Keating e per tutti i messaggi usciti da quel film L’attimo fuggente (Dead poets society), che ho fatto miei per sempre. La sua faccia si sposava benissimo con l’intelligenza, la profondità e la simpatia del personaggio.
Una delle mie battute preferite del film è:
“Non scriviamo poesie perché è carino, ma per rimorchiare le donne!”
Voglio ricordarlo con questa canzone della Starland Vocal band che è la sigla dei titoli di coda di Hunting – Genio ribelle, in cui recitava in un altro ruolo di insegnante – musa ispiratrice con Matt Damon:
Un nuovo tipo di comunicazione è in arrivo: comunicheremo caricando i bit sulle singole particelle
Questa primavera mi sono divertito a muovere i primi passi nella Comunicazione del prossimo futuro, le Quantum Communications (QC), e nell’informatica del prossimo futuro, la Quantum Information (QI).
E’ un argomento che avevo lasciato nel cassetto dopo aver letto all’inizio degli anni 2000 un articolo su una introduzione panoramica a questo nuovo paradigma, scritto nel 1997.
Le QI e QC basano la trasmissione delle informazioni e il loro trattamento su un nuovo tipo di approccio: l’interpretazione e la codifica / decodifica dei dati non è affidata a stream di fotoni come avviene da Marconi ad oggi, ma allo stato di un singolo sistema quantistico, che può essere un singolo fotone, un singolo elettrone o un singolo atomo, ad esempio.
L’informazione viene veicolata così dai bit quantici o qubit, nei quali la codifica binaria {0,1} non è presenza o assenza di un segnale, ma lo stato quantistico ad esempio di un fotone: polarizzato verticalmente o orizzontalmente, oppure con lo spin up o down di un elettrone.
Per cominciare ad approfondire l’argomento ho seguito il corso (e superato l’esame) di Elettronica Quantistica del prof. Paolo Villoresi presso il Dipartimento di Ingegneria dell’Informazione (che per ragioni storiche ha però come acronimo DEI) dell’Università di Padova.
È un esame che avevo già superato all’epoca dei miei studi ma che nel tempo si è arricchito di molti argomenti nuovi come la generazione di impulsi giganti tramite mode-locking o Q-switching, e, la parte che mi interessava di più, anche di Informazione e Comunicazione Quantistica.
Oltre alla botta di gioventù che si riceve quando si varca la soglia delle Università, ho avuto l’opportunità di entrare nei laboratori per poter anche effettuare degli esperimenti su argomenti inerenti il corso, come il riconoscimento e la classificazione delle sorgenti coerenti, la caratterizzazione di fasci gaussiani e la misura dell’efficienza di estrazione dei laser.
Il contatto con l’Università mi permette di cominciare a sfruttare nel mio ambito la tecnologia nascente dei generatori a singolo fotone, allo sfruttamento del fenomeno dell’entaglement, alla generazione di numeri casuali puri.
Questa locuzione geometrica (“360 gradi”) è una delle espressioni più odiosamente abusate, sembra che molte persone non sappiano nemmeno cosa significhi (e, a volte, in modo veramente grottesco, sbagliano anche l’angolo, dividendolo per 4), ma questo oggettino proveniente dalla Germania fa proprio questo, anzi ad essere più precisi ancora riprende immagini a 4 pigreco steradianti, ovvero in tutta la sfera.
Quark: Il quadrato della distribuzione di massa per il mesone B 25.200 decade nella coppia ψ ‘π– trovata da LHCb nel loro set di dati completo. I punti neri rappresentano i dati, la curva rossa il risultato della simulazione quando viene inclusa la presenza dello stato Z (4430)–. La curva marrone a tratti al di sotto mostra che la simulazione non riesce a riprodurre i dati se nessun contributo da Z (4430)– è incluso, stabilendo la chiara presenza di questa particella con 13.9σ (cioè, il segnale è 13,9 volte più forte di tutti i possibili fluttuazioni statistiche combinate. Queste sono le barre di errore rappresentate dalla piccola linea verticale attaccata ad ogni punto). [Fonte: Quantumdiaries.org]
I quark, le particelle elementari che sono forse le ultime costituenti della materia pesante si presentano normalmente i aggregati di tre (adroni), ma LHC non finisce di stupirci producendo particelle rarissime, i cosiddetti stati esotici, in cui questi mattoncini fondamentali della materia pesante sembrano aggragegarsi in modo non convenzionale. In questo articolo la fisica americana Pauline Gagnon ci racconta di cosa si tratta.
Una particella esotica con 4 quark.
Il progetto LHCb al CERN ha appena confermato l’osservazione non ambigua di uno stato molto esotico, qualcosa che sembra stranamente essere composto di quattro quark. Per quanto inconsueto possa apparire, questa particella TetraQuark è stata volgarmente chiamata Z(4430)–, che vuol dire che la sua massa a 4430 MeV, circa quattro volte più pesante di un protone, e con una carica elettrica negativa. La lettera Z mostra che essa appartiene ad un strana serie di particelle che sono denominate come stati XYZ.
Quindi, che cos’hanno di strano questi stati? Il modello quark convenzionale afferma che ci sono sei differenti tipi di quark, ognuno di essi accompagnato dalla sua antiparticella. Tutte queste particelle formano stati legati combinando due o più di essi. I protoni e i neutroni per esempio sono costituiti di tre quark. Tutti gli stati costituiti di tre quark sono detti barioni, Altre particelle come i π e i k, che sono spesso osservate nei processi di decadimento di particelle più pesanti, sono composta da un quark ed un antiquark. Queste formano la categoria dei mesoni. Fino al 2003, le centinaia di particelle osservate erano classificate come mesoni oppure barioni.
E quindi ecco la grande sorpresa: nel 2003, l’esperimento BELLE trovò uno stato che assomigliava ad uno stato legato di quattro quark. Da allora sono stati osservati molti altri stati singolari. Essi spesso assomigliano a stati di tipo charmonium o bottomonium, che contengono un quark charm e un antiquark charm, un quark bottom ed un antiquark bottom. La scorsa primavera, il progetto BESIII di Pechino confermò l’osservazione dello stato Zc(3900)+ osservato anche da BELLE.
L’8 aprile l’esperimento LHCb ha dichiarato di aver trovato la Z(4430)– con 10 volte più eventi di quanto rilevato precedentemente da tutti gli altri gruppi. Il campione di dati è così grande che ha permesso a LHCb di misurare alcune sue proprietà in modo non ambiguo. Determinare i numeri quantici esatti di una particella è come ottenerne la sua impronta digitale: ciò consente ai fisici di stabilire esattamente di quale tipo di particella si tratta. Dunque lo stato sembra essere costituito da un quark charm, da un anti-charm, da un down e da un anti-up. La loro misura esclude molte altre possibilità.
I teorici sono già al lavoro cercando di creare un modello che descriva questi nuovi stati. È un tetraquark assolutamente inedito, uno stato legato composto da 4 quark, o qualche strana combinazione di mesoni (mesoni che contengono almeno un quark charm)? La domanda è tuttora aperta.
Utilizziamo tecnologie come i cookie per memorizzare e/o accedere alle informazioni del dispositivo. Lo facciamo per migliorare l'esperienza di navigazione e per mostrare annunci personalizzati. Il consenso a queste tecnologie ci consentirà di elaborare dati quali il comportamento di navigazione o gli ID univoci su questo sito. Il mancato consenso o la revoca del consenso possono influire negativamente su alcune caratteristiche e funzioni.
Funzionale
Sempre attivo
L'archiviazione tecnica o l'accesso sono strettamente necessari al fine legittimo di consentire l'uso di un servizio specifico esplicitamente richiesto dall'abbonato o dall'utente, o al solo scopo di effettuare la trasmissione di una comunicazione su una rete di comunicazione elettronica.
Preferenze
L'archiviazione tecnica o l'accesso sono necessari per lo scopo legittimo di memorizzare le preferenze che non sono richieste dall'abbonato o dall'utente.
Statistiche
L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente per scopi statistici.L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente per scopi statistici anonimi. Senza un mandato di comparizione, una conformità volontaria da parte del vostro Fornitore di Servizi Internet, o ulteriori registrazioni da parte di terzi, le informazioni memorizzate o recuperate per questo scopo da sole non possono di solito essere utilizzate per l'identificazione.
Marketing
L'archiviazione tecnica o l'accesso sono necessari per creare profili di utenti per inviare pubblicità, o per tracciare l'utente su un sito web o su diversi siti web per scopi di marketing simili.
Commenti recenti