Mi sono imbattuto in un comportamento piuttosto curioso utilizzando DBeaver con un server MySQL locale. All’avvio di DBeaver, il tentativo di connessione falliva con il messaggio: La cosa sorprendente era che bastava aprire un terminale …
Per anni avevo sentito ripetere che Docker è una virtualizzazione leggera. È una frase comoda per iniziare, ma in realtà è fuorviante. L’ho capito nel modo migliore: cercando di capire perché MySQL si comportasse in …
Aprendo Thunderbird mi è comparso un avviso che invitava a intervenire entro il 21 luglio 2026 per continuare a ricevere gli aggiornamenti ESR (Extended Support Release). Partiamo con le istruzioni operative per chi sa già …
Negli ultimi tempi termini come LLM, embedding e database vettoriali sono usciti rapidamente dall’ambito della ricerca e sono diventati argomenti quasi quotidiani. Sono mattoncini coi quali possiamo costruire sistemi capaci di interrogare grandi collezioni di …
Ho condotto un esperimento di scrittura di software per analizzare i risultati di una esportazione delle mie conversazioni con ChatGPT. Ma ho deciso di aiutarmi nell’analisi con un Large Language Model che sicuramente sa fare molto bene questo lavoro e in più con un LLM in locale, per vedere come funziona.
Una donna, una fisica, dirigerà il CERN di Ginevra dal 2016, ricevendo il testimone dall’attuale direttore Rolf Heuer. Il quale ha dichiarato:
Fabiola Gianotti è una scelta eccellente come mio succesore. È stato un piacere lavorare con lei per molti anni. Non vedo l’ora di lavorare con lei per la transizione nel 2015, e sono certo che il CERN sarà davvero in buone mani.
Fabiola Gianotti ha conseguito il PhD in Fisica a Milano nel 1989, presso l’Università Statale (anche all’epoca era d’uso non parlare bene dell’Università italiana, però a quanto pare le eccellenze le ha sapute dare lo stesso).
È diplomata in pianoforte.
La Gianotti ha dichiarato:
Il CERN è un centro di eccellenza scientifica e una fonte di orgoglio e ispirazione per i fisici da tutto il mondo, CERN è anche una culla per la tecnologia e l’innovazione, una sorgente di conoscenza ed istruzione, e un luminoso, concreto esempio di cooperazione scientifica mondiale e di pace.
In mezzo a questa umanità che sta impazzendo abbiamo bisogno di figure come te.
Attendevo la pletora di politicanti che si sperticasse in esagerati complimenti e inopportune note scioviniste come “successo dell’eccellenza italiana”, “trionfo del made in Italy” (forse questa non l’ho ancora sentita, ma è di sicuro dietro l’angolo) e simili. Non sono stati inaugurati tunnel per l’occasione.
E quindi ben venga questa doverosa precisazione di Andrea Aparo Von Flüe. Che condivido dalla prima all’ultima riga.
Nato nel 2012, è una delle maggiori tendenze nel web design che si è trovato a dover affrontare un problema nuovo: come visualizzare bene pagine web in una miriade di scelte tra tipi di piattaforma (pc, tablet, smartphone), dimensioni dei monitor e risoluzioni diverse.
Il 29 agosto 2012 il W3C ha pubblicato una bozza con la proposta “HTML Responsive Images Extension”, documento non normativo nel quale vengono affrontati i nodi della questione e vengono proposti sia degli ulteriori attributi per il tag <img>, sia dei nuovi tag come <picture> che consentano al browser, in fase di download del materiale, di selezionare le immagini che meglio si adattano al dispositivo.
I quattro punti di miglioramento proposti sono
device-pixel-ratio
viewport-based selection
image format-based selection
Art direction-based selection
Device pixel ratio per tenere conto della diversa densità di pixel se le dimensioni dell’immagine sono fisse
Viewport based selection per poter scegliere immagini in dimensioni diverse (diversa larghezza in pixel ad esempio)
Image format based selection: il browser, se è capace di trattarli, sceglie i formati con maggiore compressione (JPEG XR al posto di JPEG ad esempio; JPEG XR ha una capacità di compressione maggiore)
Art direction based selection: L’immagine viene mostrata tutta se dimensioni del viewport e capacità di risoluzione dello schermo lo consentono, oppure ne viene mostrata solo una parte, dichiarata più importante dall’autore (art director), se l’immagine non ci sta.
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:
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