Realtà alterata

un uomo che guarda la città bendato

Cap.2 Realtà alterata

Il giorno dopo Dario non faceva che pensare allo strano comportamento di Kai: non era mai successo che potesse dimenticare di registrare un appuntamento o decidere autonomamente di filtrare delle chiamate in entrata. E poi quelle riflessioni sulla perfezione e sulla bellezza dell’imprevedibilità della vita dove, da quanto riportato da Kai, risiedeva proprio la bellezza della vita.
Dopo qualche minuto di esitazione nella sua mente cominciò a farsi strada l’idea che qualcuno potesse essersi inserito nel suo account Cloud per poi manomettere il codice della sua intelligenza artificiale.
Sì, sicuramente questa poteva essere un’ipotesi perchè quello che era successo era anomalo e non poteva essere non essere indagato e capito.
Lui adorava la sua AI, perché era tutto quello che lui desiderava: razionale, organizzata, analitica, distaccata e infallibile. Dal giorno prima però non era più pura, aveva prodotto degli errori, aveva sbagliato nella piena consapevolezza motivando l’errore dalla necessità di fare qualcosa di utile per il benessere esistenziale di Dario.
Un errore, però, è pur sempre un errore e tale deve essere percepito dalla AI: che cosa è un Agente di Intelligenza artificiale se non un un sistema progettato per eseguire autonomamente attività complesse nell’ambito del workflow implementato dai programmatori. Kai poteva prendere decisioni, risolvere problemi e interagire con ambienti esterni, utilizzando tecnologie avanzate come i modelli linguistici di grandi dimensioni (LLM) ma doveva attenersi alle seguenti regole:

---

1. Ricezione dell'Input

- Utente: L'agente riceve input vocali, testuali o tramite interfacce grafiche (e.g., "Spegni le luci" o "Apri il documento Word").
- Sensori/Dispositivi: Può ricevere dati da sensori domestici (e.g., temperatura, movimento) o notifiche dal PC (e.g., promemoria o eventi di sistema).

2. Comprensione del Comando

- NLP (Natural Language Processing): Il comando viene analizzato per identificarne l'intento (e.g., spegnere luci, aprire un'applicazione).
- Classificazione del Contesto: L'agente determina se il comando riguarda il controllo delle attività lavorative o della casa.

3. Decisione

- Accesso a Regole Predefinite: Consulta regole o preferenze definite dall'utente
- Elaborazione Dinamica: In base ai dati raccolti decide l'azione migliore.

4. Esecuzione dell'Azione

- Controllo attività lavorative:
  - Avvia programmi o chiude applicazioni.
  - Organizza file, risponde a email, risponde tel, gestisce notifiche.
- Controllo Domestico:
  - Accende/spegne luci, regola il termostato, o attiva dispositivi smart (e.g., chiusura serrature, avvio elettrodomestici).

5. Monitoraggio e Feedback

- Monitoraggio Stato: Verifica che l'azione sia stata completata correttamente (e.g., luce spenta o file aperto).
- Feedback all'Utente: Comunica il risultato tramite messaggi, notifiche, o conferme vocali (e.g., "Luci spente in soggiorno").

6. Apprendimento Continuo

- Registrazione dei Dati: Salva informazioni sulle interazioni per migliorare l'efficienza futura.
- Adattamento: Analizza i pattern di utilizzo per suggerire azioni proattive (e.g., spegnere automaticamente il PC dopo una certa ora).

---

Questo workflow consentiva a Kai di gestire in modo fluido e intelligente sia il contesto digitale che quello domestico, integrando tecnologie IoT e intelligenza artificiale per ottimizzare l’esperienza complessiva di Dario.
Non poteva aver elaborato una serie di attività finalizzate ad enunciare una sua idea di benessere esistenziale. Non era possibile. Soprattutto non era ammissibile. Dario camminava e rifletteva. Poi un’illuminazione salì lentamente dai fondali oscuri della sua coscienza: e se qualcuno so fosse inserito nel suo account?
Ipotesi alquanto improbabile perchè troppi erano i controlli di sicurezza che un intruso avrebbe dovuto bypassare: password, doppia autenticazione, controllo IP..
Troppo complicato e poi perchè?
Chi poteva mai essere interessato alla sua vita? Non aveva segreti, non svolgeva attività lavorative delicate, anzi era un semplice lavoratore per di più in remoto, inoltre la sua azienda era neozelandese. Chi poteva mai avere interesse per lui? Ipotesi impossibile.
E se invece fosse qualcuno all’interno dell’azienda? Anche questa era un’ipotesi alquanto improbabile perché non conosceva nessuno e i suoi unici contatti erano perlopiù in chat.
Il suo rapporto si limitava all’upload del codice, frutto del suo lavoro, ad una repository e poco altro. Dall’azienda arrivavano infine una email che riassumeva il valore della produzione e un’altra che gli comunicava l’avvenuto accredito del compenso. Tutto qua.
Aveva iniziato a lavorare in questo modo sin da dopo la laurea e subito aveva capito che era il tipo di vita più adatta a lui. Cosa c’era di meglio che lavorare a casa? Non dover perdere tempo con il traffico, sentire la musica “a palla” durante il giorno oppure lasciare andare la tv con qualche serie Netflix. Questa sì che è una vita libera, si era subito detto.
Nel tempo era diventato un un ottimo sviluppatore front end, specializzandosi in in tutte le nuove tecnologie che man mano arrivavano sul mercato: ReactJs; Vue Js; Gatsby; Next Js, Astro. JavaScript era la sua arma letale.
All’inizio aveva fatto affidamento alla sua memoria infallibile, poi però l’avvento dell’intelligenza artificiale aveva cambiato il suo modo di lavorare. Non doveva fare più affidamento sulla memoria perché tanto il suo assistente virtuale, diventato poi Kai [con la versione 44.01.01 era stata introdotta la possibilità di dare un nome al proprio assistente], sapeva esattamente integrare il suo lavoro con funzioni o regole dimenticate o, fin a quel momento, ignorate. Ricordare esattamente la documentazione ufficiale non serviva più, prima il suo lavoro era in gran parte focalizzato sul coding manuale e richiedeva tempo per scrivere ogni riga di codice, effettuare debug e ottimizzare le performance. La crescita professionale si era concentrata principalmente sull’apprendimento di nuovi linguaggi, framework e metodologie, con un ritmo dettato dalla complessità dei progetti e dai limiti degli strumenti disponibili.
Con Kai, il suo si era trasformato in quello di supervisore e stratega, lasciando che strumenti come GitHub Copilot o ChatGPT automatizzassero la scrittura di codice, il debugging e la documentazione. Le attività ripetitive erano state ridotte drasticamente, permettendogli di concentrarsi su progettazione architetturale, problem solving avanzato e integrazione di sistemi intelligenti. Dario ora collaborava con l’AI per prototipi rapidi, generazione di test automatizzati e ottimizzazione delle performance, spostando il focus dall’esecuzione operativa alla creazione di soluzioni innovative e scalabili.
In un giorno di lavoro riusciva a produrre più righe di codice di quante prima ne potesse produrre in una settimana: più produttività e più sicurezza. IN questa catena del valore fluida e potenziata dalla AI, i manager della sua azienda erano scomparsi dietro chat random che ogni tanto apparivano sul monitor ma più per prassi che per reale bisogno.
Nell’ultimo anno solo una volta fu raggiunto telefonicamente da un manager dalla Nuova Zelanda, tale Tim Schwarzkopf, coordinatore di secondo livello delle attività di sviluppo in Europa meridionale: un pezzo grosso!
Nella telefonata Tim gli aveva chiesto un coinvolgimento aggiuntivo su un progetto di back end. Fu colpito, soprattutto, dall’ottimo italiano parlato da Tim tanto che Dario volle capire da dove provenisse tale padronanza.

  • Ma conosci l’italiano? - gli aveva subito chiesto
  • Magari! Sto solo utilizzando la nostra app speech translation Tx2 pro - aveva risposto
  • Quindi tu parli in inglese e la app traduce in tempo reale con il tuo tono?
  • La nostra app Tx2 pro è in grado di tradurre in real time il parlato e riprodurlo utilizzando il tono della persona che parla

Dopo qualche minuto di conversazione sulla app aziendale, il manager aveva introdotto nella conversazione il motivo della telefonata.

  • Ti ho chiamato - aveva aggiunto - per sapere se sei esperto anche di sviluppo back end.

Dario era stato colto da un leggero imbarazzo, avrebbe voluto dire sì ma non è non era così confidente anzi in realtà non lo conosceva affatto. Allora come oggi il primo pensiero di Dario era stato quello di chiedere a Kai e in pochi millesimi di secondo era arrivata la risposta:

---

Acquisire competenze back-end in JavaScript partendo da un livello alto come front-end developer dipende da vari fattori, tra cui il tempo che puoi dedicare allo studio, la tua familiarità con concetti di programmazione come la gestione di server, database e architetture, e la qualità delle risorse che utilizzi.

### Stima del tempo:

1. **Concetti Base di Node.js (1-2 mesi):**  
   - Imparare i fondamenti di Node.js.  
   - Comprendere il modello asincrono e l'uso di `async/await`.  
   - Creare un semplice server HTTP.  

2. **Framework e Librerie (1-2 mesi):**  
   - Esplorare Express.js (il framework più comune per applicazioni server-side).  
   - Gestire il routing, middleware e REST API.  
   - Conoscere altre opzioni come NestJS o Fastify.  

3. **Database e CRUD (1-2 mesi):**  
   - Connettersi a database relazionali (es. MySQL, PostgreSQL) e non relazionali (es. MongoDB).  
   - Scrivere operazioni CRUD e capire la modellazione dei dati.  
   - Utilizzare ORM/ODM come Sequelize o Mongoose.  

4. **Autenticazione e Sicurezza (1-2 mesi):**  
   - Implementare autenticazione tramite JWT, OAuth o sessioni.  
   - Proteggere le API con tecniche anti-CSRF, validazione input e crittografia.  

5. **Avanzati e Progetti (2-3 mesi):**  
   - Lavorare con WebSocket per applicazioni in tempo reale.  
   - Comprendere concetti avanzati come microservizi, serverless e architetture scalabili.  
   - Creare un progetto completo che integri quanto appreso.  

### Considerazioni:

- **Tempo stimato complessivo:** Circa **6-9 mesi** per un livello intermedio-avanzato, dedicando 10-15 ore settimanali.  
- Se hai più tempo a disposizione o sei particolarmente motivato, puoi ridurre il tempo.  

--- 



Confidando sull’aiuto dell’AI, aveva risposto positivamente ma da quella telefonata non era derivato nulla. Forse era stato meglio così perché aggiungere altre ore di lavoro per sviluppare un progetto difficile lo avrebbe inchiodato a casa ulteriormente quando già ora era impegnato per quasi tutto il giorno.
La giornata lavorativa iniziava alle sei di mattina. Dalle 6 alle 7 nel piccolo spazio del salone faceva ginnastica, doccia, colazione. Poi sintonizzava la televisione su Netflix ma senza audio e si sedeva al computer.
Seguivano poi i comandi per Kai:

  1. Spegni luce soggiorno
  2. Spegni luce
  3. Metti musica playlist “a-lavoro”

A quel punto l’ambiente nell’ambiente si diffondeva musica elettronica, altamente favorevole per la concentrazione: si sarebbe staccato dallo schermo alle 19 circa.
Dopo il lavoro prendeva l’ascensore arrivava al piano terra, attraversava la strada ed entrava nel supermercato dove comprava lo stretto necessario per la cena.
Tornava quindi a casa. Dopo la cena e la visione di un film su Netflix, verso le 23 si metteva a letto e solo a questo avrebbe pronunciato l’ultima sequenza di comandi:

  1. Spegni TV
  2. Metti rumori del bosco
  3. Spegni luci

Visita il sito aziendale