Clicca qui per iscriverti.
Dato che sono ben due settimane che non scrivo, butto giù un’osservazione: ogni tanto qualcuno si lamenta di “Numbers”, il telefilm sui matematici che risolvono polizieschi, le cui teorie in effetti in alcuni casi sono tirate un po’ per i capelli.
Quest’anno, tuttavia, nella stagione che stanno ora trasmettendo, sarà il destino ma stanno utilizzando tutta una serie di tecnologie (e relative basi teoriche) che sto studiando proprio in questa sessione d’esami, ad esempio:
Insomma, le coincidenze aumentano…
Il codice incriminato:
public class Test { public static void main(String[] args) { String a1 = "test"; String a2 = "test"; System.out.println(a1 == a2); a2 = new String("test"); System.out.println(a1 == a2); } }Il primo confronto ritorna true, mentre il secondo false: ora, io avevo sempre pensato che una stringa inizializzata nel primo modo fosse semplicemente una scorciatoia al posto di new, invece a quanto pare sono due cose profondamente diverse. Il primo confronto dovrebbe, a norma di legge, confrontare i riferimenti, non i contenuti, ed invece non è così (nonostante i due oggetti siano dichiarati separatamente).
Perchè l’ho chiamato tradimento? Bè, perchè questo viola chiaramente il presupposto degli oggetti in Java: per quanto le stringhe siano un tipo base, sono comunque oggetti a tutti gli effetti, o almeno lo erano prima di questa scoperta… inutile dire che vale lo stesso fattaccio anche per gli oggetti che incorporano i tipi base (Integer vs. int). Questo dimostra comunque che conviene usare equals, dato che se una stringa viene ricreata l’== non funziona più, ma resta un notevole pacco.
Un ringraziamento a Maintux, che ha insinuato il seme del dubbio, ed a Sante che ha condiviso un’istanza di Eclipse all’uopo.
Se avete notato qualche rallentamento nei programmi multimediali con KDE (parliamo principalmente di Amarok), soprattutto nelle ultime versioni, ebbene ciò potrebbe essere dovuto al backend in uso: quello maggiormente utilizzato, fino a qualche tempo fa, era Xine (GStreamer esiste, ma non lo si è mai considerato molto performante), ma ha avuto nel tempo diversi problemi ed è quindi in fase di abbandono, specie alla luce di una nuova collaborazione tra KDE ed il gruppo di sviluppatori di VLC.
E’ già possibile testare una versione in sviluppo del nuovo backend (e posso dire che è sparito quel fastidioso bug/feature che faceva sì che un click sulla pausa di Amarok provocasse la pausa del brano dopo almeno 2 secondi…), e su Ubuntu è discretamente semplice: aggiungete un repository su Launchpad con VLC 1.1 (che, ricordo, è RC), quindi aggiornate ed assicuratevi di avere libvlc-dev on board; scaricate il repository Git di Phonon-VLC, quindi compilatelo (assicurandovi di passare -DCMAKE_INSTALL_PREFIX=/usr, così da evitare che Phonon non veda il backend stesso al termine dell’installazione; questo parte dal presupposto che KDE sia in /usr), installatelo e lanciate un bel kbuildsycoca4 –noincremental. Quindi andate nelle impostazioni audio e cambiate backend
Provate per credere!
Sembrowser 0.3
Hi everyone!
I have just released Sembrowser version 0.3 (sources here, Ubuntu packages here); not much changes since 0.2, time is always a problem, but it was worth publishing it because of the two most important features added:
Just a reminder: Sembrowser is a (very poor) clone of Dolphin, and it is not meant to substitute the default KDE file browser: it is being developed for testing faceted browsing of Nepomuk metadata applied directly to file browsing; the side panel offering this new functionality may (hopefully) someday be ported to Dolphin itself (or to some other Nepomuk apps). So, do not complain about missing functionalities (for the manager part), because I have just added the most important ones, but they are not the main goal here.
Here in Politecnico the exam session is starting right now, so the next month will be a little busy for me; fortunately, by the end of july I should have finished all of my exams, so I should have some more time to dedicate to KDE (especially if some things will get realized as I wish, but more on this later).
E’ uscita la versione 3.0 di WordPress, e scrivo queste due righe solo per dire che sono ammirato della velocità dell’upgrade… memore di altri passaggi tra minor version della 2.x, ero pronto ad aspettare anche qualche minuto, ed invece in qualcosa come 15 secondi l’upgrade è stato fatto!
Spettacolo… ribadisco che WordPress è il miglior gestore di siti esistente, quantomeno ad oggi.
Brevissimo update del mio ultimo post su Arduino & Java: ho verificato un sospetto che avevo, ed in effetti il codice di test funziona, il problema era dovuto ad una differenza di baud rate: il default dello sketch è 57600, mentre quello della classe Java Arduino è 115200; sovrascritto quest’ultimo valore (usando un costruttore diverso), la demo funziona correttamente.
In allegato, il codice aggiornato (con tanto di script Ant, se non volete usare Eclipse; dovrete comunque passare il path della libreria nativa all’interprete, temo): Arduino – Eclipse.
Ieri ho avuto il piacere di giocare con la seguente guida, che di fatto è un’unione di altre due guide, e permette di programmare l’Arduino in Java.
“Eh?”, diranno i puristi. Ebbene sì: caricando nel microprocessore uno sketch incluso tra gli esempi del PDE di Arduino (StandardFirmata), e creando un progetto Java sotto Eclipse (ma non siete obbligati ad usare un IDE, vi basta anche una mano di Vim) con giusto un paio di jar di Processing, una sorta di sottolinguaggio costruito per fare arte e programmare (non chiedetemi una definizione migliore, non saprei darvela, nemmeno io ho le idee chiarissime su cosa diavolo sia), è possibile di fatto impiegare l’Arduino come un oggetto remoto.
Ora, non vorrei che l’ultima definizione spaventasse qualcuno, ma il corso di sistemi distribuiti ha avuto i suoi effetti: nel codice Java diviene possibile, con questa modalità, creare un oggetto della classe Arduino (che trovate linkata nell’articolo di cui sopra), e su di esso chiamare i metodi corrispondenti alle API C++ che normalmente si usano per programmare la piattaforma; la classe stessa si occupa di comunicare via seriale con l’hardware Arduino e, tramite lo sketch caricato in precedenza, di eseguire in remoto i comandi e restituire il risultato direttamente in Java.
Ora, questo potrà sembrare una bella sega mentale e basta, ma in realtà apre alcune prospettive decisamente interessanti: per quanto, così facendo, si perda la caratteristica di standalone del circuito elettrico, dato che la comunicazione seriale diventa obbligatoria (tenete presente che il programma che caricate nel microprocessore si limita ad eseguire comandi remoti, non li memorizza), resta il fatto che trattare Arduino come un semplice oggetto, come tutte le altre cose in Java, permette una certa flessibilità sicuramente interessante, ed evita al programmatore di dover mettere le mani direttamente nel protocollo seriale per gestire la comunicazione stessa (oltre al fatto che si utilizza un linguaggio serio(TM), per quanto comunque il PDE di Arduino nasconda una parte del codice C++ necessario a far funzionare i vostri circuiti).
Insomma, non ho ancora fatto grossi esperimenti in merito, ma sicuramente è una modalità stimolante e da approfondire.
P.S.: rispetto all’articolo linkato in alto, è necessario aggiungere che deve essere importato anche il jar di RxTx, la libreria seriale, che trovate nella stessa cartella di Processing dove si trova Serial.jar; all’archivio Java va inoltre aggiunta la libreria librxtx.so, sempre dalla stessa cartella, che potete settare nelle proprietà del Build Path in Eclipse come nativa per rxtx.jar.
P.S.S.: includo anche uno zip del progetto di esempio dell’articolo, così com’è, con incluse anche le librerie richieste, già impostate nel progetto di Eclipse; resta il fatto che, ad un primo test, il led incluso nell’Arduino non si sia acceso, nonostante io abbia usato il pin 13, ma potrei aver cannato qualcosa (e, d’altro canto, l’autore dice di usare un led esterno, che io non ho). Arduino – Eclipse
Ci ho messo un paio di giorni, ma alla fine mi sono accorto che la prima versione di MeeGo, il noto sistema operativo (o meglio, distribuzione Linux) sviluppato in collaborazione tra Intel e Nokia, e’ stato rilasciato, e si poteva decisamente fare un test sul mio eeePC (che ricordo essere il 1005HA, cui peraltro sto per dedicare un post a parte). Ecco quindi una prima occhiata al sistema.
Il test e’ stato effettuato live, con boot da chiavetta USB: l’avvio e’ estremamente rapido, parliamo di 10-15 secondi dal click nel menu fino all’apertura della schermata principale, chiamata MyHome.
MyHome
Il menu in alto, visualizzato sempre quando ci si trova in questa schermata, riporta di fatto le categorie presenti: oltre alla gia’ citata home, ce ne sono altre come le impostazioni di rete, i devices, il menu delle applicazioni, il gestore della raccolta musicale… quando un’applicazione e’ avviata, la barra scompare e riappare solo se si sfiora la parte superiore dello schermo.
Applicazioni
Ecco il menu delle applicazioni, con aperta la tendina relativa ad Internet…
Google Chrome
… e Google Chrome avviato in tutto il suo splendore. MeeGo e’ infatti scaricabile in due versioni, una con Chrome ed una senza, con la differenza che per la prima e’ necessario accettare a parte la licenza proprietaria del browser stesso al momento del download; io cosi’ ho fatto, dato che uso abitualmente questo browser e non sono particolarmente preoccupato del discorso licenze.
Un difetto notato in questa schermata e’ la forse eccessiva dimensione della barra del titolo, che potrebbe essere un poco ridotta; non ho ancora scoperto se esiste tale impostazione, potrebbe quindi essere gia’ possibile eseguire questa modifica.
Impostazioni
Ecco la famigerata schermata delle impostazioni: ad una prima occhiata non e’ cosi’ entusiasmante: sembrerebbe essere infatti una versione impoverita del CC di Gnome, che gia’ sappiamo essere estremamente povero di settaggi (almeno in confronto a KDE).
Sinceramente non ho capito se il gestore del desktop sia una versione moddata di Gnome, o piuttosto qualcosa di totalmente diverso; sto ancora leggendo la documentazione sul sito, quindi e’ possibile che sia riportato, in ogni caso la struttura assomiglia a quest’ultimo (e soprattutto i programmi audio/video/messaging sono gli stessi di questo).
Garage
L’installazione di nuove applicazioni e’ gestita tramite un programma simile (nella struttura) a Synaptic, anche se MeeGo non si appoggia ad apt (bensi’ ad rpm); esiste anche questo Garage, schermata da cui e’ possibile installare alcune delle apps disponibili nei repository, apps che generalmente sono corredate da una descrizione ed alcuni screenshot.
Terminale
Ecco, naturalmente, il terminale, che in un buon sistema Linux non puo’ certo mancare.
In conclusione
Ok, e’ stata piu’ una galleria di immagini che una recensione vera e propria, in ogni caso il giudizio non e’ malvagio; essendo di fatto una distro Linux, dovrebbe essere gia’ compatibile con tutti i soliti programmi, ed uscendo direttamente dalla Intel vorrei sperare che sia in grado di gestire come si deve il comparto energetico (da sempre croce e delizia dell’amato pinguino), almeno sul suo hardware.
Le prestazioni sono buone, cosi come l’idea di integrare alcune applicazioni in schermate unificate, di fatto creando un’interfaccia nuova per Empathy, per Evolution, per un aggregatore di social network… Unici due difetti riscontrati, un crash (di fatto un logout seguito da login automatico) quando ho provato a modificare i settaggi della tray, ed il fatto che nonostante la lingua sia settata ad italiano, la tastiera sia rimasta in inglese (avrete notato gli apostrofi al posto degli accenti).
In sostanza, sarei sinceramente curioso di provare ad installare questo sistema al posto di Ubuntu, su questo computer, ed approfondirne la conoscenza; valutero’ la cosa e vi sapro’ dire! Nel frattempo daro’ pure un’occhiata all’SDK, che tra l’altro dovrebbe includere le Qt 4.6, quindi dovrebbe trovare i miei favori senza troppe difficolta’.
L'ultima slide di ieri
Ottima la riuscita della lezione di ieri sul multimedia & GNU/Linux: la partecipazione non è stata altissima, ma il pubblico presente era in compenso interessato (non mancano mai i giovani aspiranti musicisti!); non ho mostrato molte funzionalità dei programmi proposti, ma d’altronde già così la presentazione è durata circa un’ora, e le due demo live hanno preso decisamente tempo.
Unica pecca la gestione dei volumi: le casse non erano male ma non avevo sufficiente feedback, ed il volume al massimo da KMix ha comportato che alcuni suoni siano riusciti un poco distorti, nonostante avessi droppato al volo un paio di effetti che avrei voluto comunque applicare. In ogni caso, nel complesso non ho di che lamentarmi.
Chiudo perciò con le slide della lezione ed il breve estratto del tema del film “The Rock”, registrato al volo ieri.
Corsi Linux 2010
Domani c’è l’ultima lezione dei corsi Linux 2010, organizzati come sempre dal POuL; si parlerà di videogiochi e multimedia, in particolare io parlerò del secondo argomento, come fare musica con Linux, con dimostrazioni live
Partecipate numerosi!
Ecco uno dei video pubblicati da Marco Martin, l’autore di KDE Plasma Netbook, sullo stato dell’unione verso la release 4.5; lo riporto qui non tanto perchè io sia un utilizzatore di quest’interfaccia, quanto più che altro perchè ieri sera mi sono sparato l’intero keynote di Steve Jobs sull’iPad (meglio tardi che mai, no?), ed oltre ad essermi quasi innamorato di detto prodotto (che, ve lo dico, mi comprerei subito se avessi i soldi da buttarci, specie tenendo conto che la conversione dollaro -> euro è stata fatta 1:1, maledetto cambio di valuta…), ammetto che l’aver visto il video qui riportato mi ha ricordato, almeno in parte, l’interfaccia Apple.
Ora, non dico che si equivalgano, specie perchè ovviamente Marco non ha un iPad su cui provarlo, e non so se esista il supporto multitouch anche in altri device, ma l’idea di avere un prodotto analogo (e per analogo intendo con la stessa durata di batteria) ma con sopra Linux e KDE Plasma Netbook, mi attira veramente da morire…
Sono ormai due anni che con il buon Sante seguo lo sviluppo di Polinux, e per la creazione delle ISO abbiamo sempre seguito la customization guide: di fatto, si smonta la ISO dei CD, si installano i programmi in chroot e si rimonta detta ISO.
Ho tuttavia scoperto, non più tardi di due settimane fa, una seconda guida per creare liveCD da zero: usando il buon debootstrap, è infatti possibile creare una sorta di installazione base (minima) di Ubuntu, dalle dimensioni ovviamente molto ridotte, su cui è poi possibile installare qualunque pacchetto (compresi quelli per il riconoscimento hardware automatico, così da rendere il CD risultante live a sbattimento zero).
Ho utilizzato con discreta soddisfazione la tecnica per costruire un liveCD da usare in una demo che ho presentato per la tesi, e sono rimasto davvero colpito dalla semplicità ed efficacia della cosa: un sistema base Ubuntu con installato solamente Erlang, Vim e Git produce un’immagine disco di poco più di 200 MB, perfetti da essere usati in VirtualBox diskless (con l’accortezza, naturalmente, di non spegnere le macchine ma di sospenderle, pena la perdita dei dati); sicuramente un notevole risparmio, tenendo conto che avevo bisogno di 4 piccole macchine per creare una rete distribuita, ed ora anzichè avere 4 hard disk ciascuno da 1 GB circa, ho una sola ISO da 200 MB!
E’ di ieri la notizia, esposta per prima dalla Distowatch Weekly e ripresa oggi anche su Pollycoke, che Mandriva (l’azienda, naturalmente) è in vendita.
E’ una notizia, di cui peraltro ho già accennato su FB, che mi rattrista molto: in primo luogo perchè il mio passaggio a Linux è dovuto proprio a Mandriva stessa (o meglio, a Mandrake quando ancora si chiamava così), che con il suo installer e sistema di partizionamento facilitato mi permise, in quell’estate del 2003, di restringere abilmente la partizione del computer di famiglia, senza perdere un solo bit di dati, e di entrare finalmente nel magico mondo dei sistemi operativi seri (TM). Ammetto di non aver usato molto quella distro (il passaggio a Slackware è stato piuttosto rapido… e non dico altro…), e di non essere mai andato oltre a qualche prova sporadica in seguito (ammettiamolo: il sistema degli rpm è inguardabile rispetto ai deb), ma lei è sempre rimasta nel mio cuore.
La seconda motivazione del dispiacere è data dal fatto che Mandriva è stata ed è tuttora la principale sostenitrice del progetto Nepomuk su KDE, contribuendo attivamente (that is: pagando) alcuni degli sviluppatori che ci lavorano. Ora, direi che ormai è risaputo come io ritenga il desktop semantico (e la semantica in generale) il futuro dei computer, abbandonando finalmente il paradigma del filesystem, decisamente obsoleto, e certamente avere un’azienda che sponsorizza tale iniziativa sarebbe un’ottima cosa.
Insomma, non ci resta che aspettare e vedere cosa succederà a questa azienda ed ai suoi prodotti, sperando naturalmente nel meglio possibile.
Avete presente “Maggot brain” dei Funkadelic? Ebbene, tra ieri e oggi ho deciso di tentare un paio di esperimenti col buon Behringer UCG 102 e la fedele Fender, più che altro testando alcuni programmi che ho intenzione di mostrare tra un paio di settimane a lezione (ai corsi Linux), ed i risultati sono stati sicuramente positivi (per quanto io non sia chissà che cosa come chitarrista… ma da un punto di vista informatico, ci siamo sicuramente).
Plenty of screenshots a dimostrarlo, naturalmente:
La prima schermata mostra il demone Jack (sotto l’attenta supervisione di QJackCtl), con tutti gli ingressi e le uscite dei programmi che stavo usando (e che ora vi descrivo brevemente)… da notare il numero estremamente basso di XRun, essenzialmente dovuti all’avvio delle applicazioni “jack-savvy” a demone già avviato, e questo nonostante il tutto stesse girando sul fedele eeeBox (con load average a 3.5, nei momenti di massimo splendore…).
Qui invece stanno girando Rakarrack, compilato da Git, e SooperLooper: il primo è la “pedaliera virtuale” per eccellenza, da notare il numero di effetti attivi (e non si vede il wah esterno che avevo collegato alla chitarra), mentre il secondo permette di avere da 1 a n loop attivi e funzionanti come base; in questo caso, il primo è dedicato ad un giro di chitarra (peraltro, lo stesso di Maggot brain), mentre il secondo ad una ritmica, preparata con Hydrogen (un banale 6/4).
Infine, ecco Ardour che gira e registra le tre tracce (ridotto a icona potete notare anche Hydrogen, usato all’inizio per creare il loop).
Anche KDE 4.5 (da SVN nello screenshot) sta incorporando le icone “monocromo” nella tray bar, così come ad esempio sta per fare Ubuntu 10.04… le voci corrono (e devo ammettere che l’effetto finale non è malvagio)!
Sembrowser 0.2 is out for testing!
Several weeks are passed from the 0.1 version, so it was time to release the new version; before getting into a few details, let me remind you that this is not a substitute for Dolphin, but simply a prototype for checking the capabilities of having a faceted browsing in a file manager; thus, it has not all the functionalities of Dolphin itself, but only those that I think are needed in a very simple manager.
Now, the new features:
So, go to the KDE-Apps page and check it out, and then tell me what’s good and bad with it (only constructive comments, please, no rants!).
P.S.: you can also get the source from Gitorious, or install it on Ubuntu (Karmic for now, Lucid in the weekend) from my PPA.
Ho appena letto due articoli molto interessanti da IBM DeveloperWorks: dato che si sta ormai festeggiando il ventennale di Java, è d’uopo un’analisi dello stato del linguaggio di programmazione (ormai vicino alla sua settima major release) e del mondo che lo circonda, specie a seguito del passaggio di proprietà da Sun ad Oracle (e prima ancora, del suo rilascio sotto licenza libera), per vedere se e quale futuro ci può essere. Penso che tutti i miei 10 lettori sappiano che Java è il mio linguaggio di programmazione preferito in assoluto, e quindi non posso esimermi dal riportare alcuni dettagli interessanti (per quanto vi consigli comunque la lettura perlomeno del primo dei due articoli stessi).
Riflessioni dagli utilizzatori
Nel primo articolo, l’autore convoca una sorta di tavola rotonda digitale, in cui chiede ad alcuni sviluppatori vicini al mondo DeveloperWorks il loro parere sulle questioni sul piatto di Java in questo 2010; in linea generale, l’aspetto positivo che emerge è la varietà di approcci, framework e librerie che si sono sviluppate non tanto e non solo intorno a Java, ma intorno alla sua Virtual Machine, in modo tale che alcuni dei difetti che emergono per Java stesso sono magari già superati da altri approcci compatibili (da un punto di vista di API) ma allo stesso tempo molto diversi (come produttività); alcune risposte emerse degne di osservazione:
Da notare, a margine, come il campo dell’informatizzazione nel no-profit sia ritenuto assolutamente redditizio e colonizzabile, ed è interessante dato che è un discorso emerso anche tra di noi in altre sedi e con altre persone.
Java 7
Il secondo articolo si concentra invece sulle innovazioni che Java 7 (previsto entro l’anno) dovrebbe portare con sè; integro i punti seguenti anche con un paio di riflessioni del primo articolo (per evitare di ripetere le cose due volte), sottolineando come ho ignorato la seconda parte di questo articolo, dato che si parla della VM di IBM, che io non uso (e che peraltro credo sia a pagamento):
In conclusione (mia, non degli articoli)
Insomma, tirate le fila di queste riflessioni, direi che di carne al fuoco ce n’è parecchia ancora: sono sinceramente curioso di provare qualcuno dei linguaggi costruiti sulla JVM (ad esempio Scala, cui avevo assistito ad una presentazione lo scorso JavaDay), e di vedere come sarà la versione finale delle closure (dato che, ormai, con il mio lavoro di tesi su Erlang ne uso a palate); non credo che Java sia morto, o quantomeno non credo che morirà senza combattere.
Ecco il primo screenshot di Polinxu 10.04 RC, installata su Ubuntu 10.04 RC; inutile dire che questa release candidate esiste solamente se installate Polinux tramite il suo repository Launchpad, le iso seguiranno il rilascio ufficiale la settimana prossima.
Mi sembra giusto pubblicare uno pseudo-mini howto su come configurare VirtualBox affinchè si crei una rete interna tra le macchine virtuali, e contemporaneamente tale rete sia raggiungibile dal sistema host esterno (e solo da lui); tutti i test sono stati effettuati con la versione 3.1.6 su Ubuntu 9.10 (sia guest che host).
Dopo una discussione avuta qualche giorno fa con Sante e Massimo riguardo l’esistenza di questa possibilità, che io personalmente non avevo trovato, ho deciso di esplorare a fondo la questione. La mia necessità, per un lavoro che sto facendo per la tesi, è quella di avere un tot di macchine virtuali connesse tra loro, e che a loro volta siano in rete locale con la macchina host; l’unica possibilità che conoscevo io per fare questo era di utilizzare la cosiddetta “scheda con bridge”, la quale tuttavia richiede che l’interfaccia di rete host sia attiva (ovviamente, qualcuno potrebbe dire): soluzione impraticabile se sto creando questa rete locale solo col mio computer, senza un router esterno.
L’opzione giusta da scegliere è “scheda solo host”, su tutte le macchine virtuali: a quel punto, appena avvierete la prima macchina, l’interfaccia vboxnet0, presente nel sistema host, verrà attivata con un IP del tipo 192.168.56.1, di fatto facendo capire che la rete locale che stiamo per creare è sulla sottorete 56.
Dopo aver effettivamente verificato della possibilità di assegnare un altro IP (ad esempio 56.2) ad una macchina virtuale, e che il ping rispondeva correttamente, ho aggiunto un altro tassello: è possibile infatti installare il pacchetto dhcp3-server, che altri non è che il famigerato server DHCP, nel sistema host; una configurazione banale come la seguente (/etc/dhcp3/dhcpd.conf):
default-lease-time 600; max-lease-time 7200; log-facility local7; subnet 192.168.56.0 netmask 255.255.255.0 { range 192.168.56.2 192.168.56.254; }fa sì che tale server assegni indirizzi da 2 a 254 sulla sottorete di cui sopra; un’altra semplice modifica a /etc/default/dhcp3-server per aggiungere la riga
INTERFACES="vboxnet0"che indica su quale interfaccia restare in ascolto, quindi via anche al server tramite /etc/init.d/dhcp3-server start ed il gioco è fatto!
P.S.: verificate, prima di avviare il demone, che vboxnet0 sia attiva; in caso contrario, avviate la macchina virtuale con cui volete creare la rete, e l’interfaccia si attiverà automaticamente.