Benvenuto o benvenuta, io sono Filippo Starzi e stai ascoltando Avocati e Mac Compendium.
Compendium è un podcast in cui parlo delle mie esperienze quotidiane con la tecnologia, in particolare con quella Apple.
Compendium fa parte del network Runtime Radio, la Radio Geek.
Questa è la puntata 77 nella quale ti parlerò della mia esperienza di sviluppatore.
di app ausiliato con II, ma prima sigla oggi niente comunicazioni di servizio se non
che ve lo ricordo con Avocati Mecca Companion è passato a runtime, potresti ascoltare prima o alla fine della puntata delle pubblicità, servono per
autofinanziare diciamo tutta l'attività del gruppo qui ovviamente è passato anche a Vocati Mac e quindi ovviamente che ci ospita e che mi permette poi di pubblicare
e così via e quindi questo è quanto ti suggerisco sempre se vuoi di se lo puoi di
Se ci tiene a questi progetti, diciamo, di donare qualcosina, appunto, perché mantenere sulla baracca, ovviamente, a dei costi.
E quindi, non per pagare i produttori di contenuti, diciamo, i podcaster.
ma per far funzionare tutta la baracca.
Quindi sempre un grosso grazie a Rantale Radio e a questo punto andiamo all'argomento di questa puntata.
L'argomento della puntata, come avrai capito, è monotematico, ma devo fare alcune piccole premesse prima di iniziare a raccontarti tutto.
tutta la la mia avventura, avventura recentissima perché sto registrando il mercoledì questa puntata uscirà lunedì della settimana prossima quindi sono ancora un attimino senza buffer
Perché la vita è complicata, mettiamola in questi termini, ma giustamente avevo accennato a cose e così via, ma non è stata una questione nata, una questione che.
in ballo da una decina di giorni forse due settimane non di più comunque premessa sono da sempre appassionato di informatica non ho mai programmato seriamente qualcosina
so come si programma mettiamola così ma proprio le base cioè i comandi base milioni di anni fa avevo studiato il basic
Beno male, gioco con AppleScript da tanto tempo, ho appunto recentemente, ormai cinque anni fa, frequentato il corso Coding for Lawyer del professor Ziccardi e Perri.
e diciamo che in questo ultimo periodo ho imparato a rubare, come lo definisco io, il codice.
Prevalentemente script ad altri, e con un po' di fortuna e soprattutto esperimenti empirici e sbattendoci la testa contro, adattarlo solitamente alle mie necessità.
Quindi tutta una serie di script di automazioni che faccio.
Una volta cercavo su Stack Overflow e tutte quelle cose lì, cercavo ovviamente quello che mi interessava e se riuscivo cercavo di modificarla.
Alla meglio possibile perché qualcosina riesco a capire mentre leggo il codice ma ovviamente le mie informazioni, le mie competenze sono
minimali anche a livello di programmazione elevata mettiamola in questi termini cioè creare applicazioni o comunque creare un'interfaccia grafica a cui far far cose
Attraverso script, quindi questa è la premessa da dove vengo, e ovvio anche che comunque la mia scritta
il fatto che comunque mi diletto a chiacchierare e ascoltare anche di programmatori e di programmazione quindi ho un'infarinatura mettiamola così generale ma veramente
nulla di paragonabile alle competenze che sono necessarie a uno sviluppatore vero e proprio.
Cosa ho fatto appunto giovedì 5 marzo?
Ho fatto l'abbonamento per un mese a Cloud Code da quello che costa 22 euro.
Ho fatto l'abbonamento mensile perché comunque io, come saprai se ascolti le puntate, ho già l'abbonamento a Perplexity.
Di fatto a me non interessava più di tanto l'interfaccia, il chatbot di Clude, ma.
Mi interessava testare CoWork e soprattutto Cloud Code, di cui credo di aver parlato già in varie puntate precedenti.
Quello che ho fatto io fino ad ora con Cloud Code era sostanzialmente armeggiato e giocato per utilizzare dei modelli linguistici diversi, molto meno costosi.
E così via.
Ho voluto provare Cloud Code per sviluppare un'app e spoiler, ovviamente, ma se hai letto il titolo e la puntata direi che non ti racconto nulla di nuovo.
Ci sono riuscito.
E devo dire la verità, effettivamente.
La cosa mi ha impressionato.
Mi ha impressionato perché in veramente poco tempo, in due giorni, il titolo dell'episodio
È volutamente un po' provocatorio, ci sto ancora lavorando e l'applicazione è tutto perfetta, funzionante, al 100%, come la vorrei io, mettiamola in questi termini, o come me l'ho immaginata io.
Però sicuramente in due giorni un prototipo funzionante che faceva il grosso delle cose, diciamo.
L'ho fatto, ma appunto quindi facciamo un minimo di passo indietro e ragioniamo cosa ho sviluppato e poi ti racconterò un po' anche.
se riesco come e perché mettiamola così beh allora quello che ho fatto è un'applicazione che volevo
non da tempo ma diciamo che da quando sto giocando con il large language model uno dei problemi più grossi che mi sono sempre posto è stato quello
di poter passare modelli di grandi dimensioni online, quindi chat GPT, Perplexity, nel mio caso specifico Cloud, Gavini e così via,
Documenti di lavoro.
Tendenzialmente la risposta è no, nel senso che se non sono anonimizzati o pseudonimizzati questi documenti per mille ragioni, ne ho parlato nel mio workshop, ne ho parlato probabilmente anche su questo podcast.
Non credo sia corretto fare questo, e quindi, nella sostanza, le alternative sono due: o mi metto a o utilizzo dei modelli locali.
e sto lavorando molto anche su questo fronte, ma diciamo l'80-90% dei colleghi secondo me se vuole giocare con queste cose
deve farlo con i modelli invece online.
Cada fagiolo il fatto che io recentemente appunto ho fatto questo workshop sull'intelligenza artificiale e la terza lezione
era sull'anonimizzazione dei documenti e, ne ho parlato anche qui sul podcast, sostanzialmente ho spiegato come utilizzare LibreOffice
In particolare DRU per anonizzare i PDF e poterli appunto poi passare diciamo ai large language mode, anche con tutta con gli script che ho fatto fare l'intelligenza artificiale, con tutta una serie di cose che ho fatto.
Oggettivamente era complicato quando l'ho fatto vedere in presenza, ovviamente appunto la parte base è stata apprezzata
Ma ovviamente quando ho detto c'è lo script, ma lo script per esempio funzionano solo su Mac perché su Windows era un casino e così via.
In più comunque era la parte diciamo valida, cioè quella di automatizzare poi tutta questa attività.
era ovviamente legata allo script perché sennò dovevi fare tutto a manina bella, cosa che è abbastanza fastidioso.
Per cui
Con quest'ottica e diciamo con quest'idea, soprattutto giusto per provare, perché avevo detto, vabbè, a questo punto la prima cosa che faccio con Cloud, creo questa applicazione, ho detto vai, creiamo un'applicazione.
per anonimizzare PDF e non solo perché sostanzialmente PDF DocX che è una delle richieste che anche online mi è stata fatta maggiormente, gli ODT, vabbè
Residuale, ma diciamo per chi non lavora con Microsoft Office, fai Txt e conseguentemente poi fai il Markdown.
L'altra cosa che volevo fare era ovviamente non chiuderla al mondo Mac, quindi volevo un'applicazione multipiattaforma.
Quindi Mac, Windows, Linux, anche se inizialmente ho fatto i primissimi test li ho fatti solo su Mac, ma per semplicità e per organizzazione
Volevo anche un'interfaccia semplice, nella sostanza trascinare uno o più documenti all'interno di un'interfaccia e tutto parte da lì, mettiamola così.
Quindi vengono poi letti i documenti, vengono estratte quelle che vengono chiamate in gergo tecnico le entità, cioè nomi, cognomi, codici fiscali, luoghi, nomi di società, enti, date di nascita e così via.
possibilità di togliere o aggiungere entità manualmente quello io l'ho imparato diciamo usando LibreOffice
La possibilità di aggiungere e togliere era molto comoda perché casomai con i sistemi automatizzati c'era sì un riconoscimento
automatico di varie entità ma alcune entità erano state riconosciute male mettiamole in questi termini e altre età non erano state proprio riconosciute quindi c'è comunque bisogno di una supervisione umana anche perché
Anche qui lo dico per chi fosse interessato, perché poi nel link della puntata ci sarà ovviamente il link per scaricare questa applicazione.
Questi strumenti, salvo le regec le regecks.
che sono espressioni regolari e che come tale diciamo trovano un pattern all'interno del documento, quindi codici fiscali.
numeri di telefono, email e così via, tutti gli altri che sono deterministici, cioè c'è un modello diciamo di
con determinate caratteristiche tipo il codice fiscale mettiamola così quindi sei lettere poi seguiti da numeri poi altre lettere e così via
Quindi è facilmente individuabile, ovviamente se sotto c'è il testo corretto, mettiamolo in questi termini.
Tutti gli altri sistemi che ho implementato non sono deterministici perché comunque utilizzano dell'intelligenza artificiale che per forza di cose
è in parte non deterministica quindi ho implementato la NERA e ho implementato la possibilità di utilizzare il large language model e quindi dare il testo a un large language model
ovviamente perché se no il gioco diciamo non valeva la candela e estrarre invece da questo testo le entità e poi ovviamente una volta che hai questa entità
quindi avendo riconosciuto l'entità, poi andare a anonimizzare, quindi togliere questa entità e sostituirla con qualcos'altro nei vari documenti modificabili
ma per i PDF invece togliere la parte scritta diciamo quindi renderla inaccessibile all'interno del PDF e eventualmente
sovrimporre perché di fatto non puoi fare altrimenti un testo a piacimento solitamente io ho utilizzato la pseudonimizzazione mettendo le iniziali in questa maniera
Diciamo, comunque un minimo di contesto c'era, ma effettivamente qualcosa si capisce, mettiamolo così.
Come ti dicevo, appunto, in due giorni di lavoro, anche meno per la parte principale, ho fatto tutto.
Devo dire la verità, c'è stato un trucco barone scorciatoia, mettiamola così, l'amico Roberto Alma, lo sto citando recentemente molto spesso, aveva già sviluppato una cosa simile in Python.
e mi ha permesso di dare in passo sostanzialmente quest'app a Cloud Code, quindi gli ho detto guarda questa applicazione che è stata fatta in questa maniera con Python che però non era di mio interesse
e così via, perché volevo poi fare tutta una serie di altri test e così via, e sostanzialmente guardando come era strutturata, come anonimizzava anche questa cosa
applicazione poi è stata creata diciamo in vai coding come lo chiamo io prendendo da questa parte la mia app alectro electron quindi
ha usato un linguaggio e librerie diverse.
A questo punto ti parlo del perché ho utilizzato l'app Electron.
Quindi utilizzare l'applicazione Electron perché ho utilizzato un'applicazione Electron?
Beh, abbastanza semplice, mettiamola in questi termini.
pur ritenendolo uno proprio lato Apple, mettiamola così, quindi per l'utilizzo nel mondo Apple
Il vantaggio di creare applicazioni Electron è che con la creazione diciamo di una singola
applicazione ne posso creare posso creare multipiattaforma e infatti in questo caso proprio grazie a come è stata sviluppata questa applicazione
applicazione che è grossa perché attualmente pesa una volta decompressa intorno ai 700-800 MB, quindi comunque un'applicazione un po' troppo grossa per i miei gusti, ma fa lo stesso, mettiamola così.
Il vantaggio grosso era questo: appunto poterla sviluppare per tutte le piattaforme, in particolare per Windows, poi già che c'ero, già che Roberto mi ha dato una mano, è stata sviluppata.
creato l'eseguibile anche per Linux ma in questa maniera facendone una potevo farle per tutti e quindi da una parte potevo testare direttamente solo e esclusivamente su Mac
e invece puoi esportare senza troppi problemi come funziona un'applicazione electron?
facendola proprio semplice semplice semplice di fatto le app Electron sono delle applicazioni web
e in pratica l'interfaccia si vede all'interno di una finestra del browser Chrome.
Quindi dentro le app Electron c'è un browser sostanzialmente
L'applicazione viene, è una web appostanza e quindi viene sviluppata con tutte le tecnologie delle app dell'internet moderno, mettiamole in questo caso.
Il vantaggio però grosso è che ovviamente un'applicazione del genere non poteva essere una web app in senso tecnico perché non poteva essere ospitata su un sito, se no c'era un sito.
Tutti i problemi del file che andava al sito e quindi del potenziale problema di ovviamente avere i documenti non anonimizzati all'esterno del proprio computer.
Quindi in questa maniera, con questo sistema, io cosa ho fatto?
Tutti scarica l'applicazione, l'applicazione già online va online a scaricare alcuni modelli per sicurezza, mettiamola così per avere il modello più aggiornato per fare tutta la.
la serie di riconoscimenti dell'entità ma tutto il lavoro diciamo di anonimizzazione quindi l'estrazione dell'entità e
Poi la riscrittura del file barra anonimizzazione del PDF viene fatta in locale.
Quindi nessun problema, i documenti appunto.
Vengono tutti gestiti direttamente all'interno di questa cosa.
Nel prossimissimo futuro, cioè una volta registrato questa puntata del podcast, nei prossimi giorni cerco anche di fare un video dimostrativo perché l'unico video dimostrativo che ho fatto è il primissimo.
dove l'applicazione sostanzialmente non funzionava, cioè funzionava ma con una quantità di bug e di piccole problematiche che.
.
è utile per vedere la primissima versione com'era e la versione attuale che l'ha mentre sto registrando in questo momento perché ho fatto l'ultimo aggiornamento ieri sera
e la 1.
3.
2 dove a livello pratico non avrei dovuto iniziare con uno ma nella concretezza mentre facevo le cose un po' alla sperindio mettiamola così
Sono partito con la versione 1 e quindi ho incrementato da quella versione.
Di fatto per quanto mi riguarda è ancora quello che viene definito una beta.
E quindi sarebbe una zero qualcosa, diciamo, però ormai non ha senso, mi andrei a incasinare ulteriormente la vita, sono partito con uno, continuiamo con uno.
probabilmente la versione diciamo quella che ariterrò a essere matura sarà la versione 2 sostanzialmente questa applicazione
Oggi non è mia intenzione raccontarti in dettaglio cosa ho fatto, anche perché mi diventerebbe una puntata lunga e probabilmente molto tecnica, probabilmente, ma questa è una piccola preview.
Ne parlerò in altra occasione o in una puntata specifica del podcast, devo ancora deciderlo.
Anche qui probabilmente, ma non so ancora esattamente di cosa parleremo, il 24 di marzo.
Registerò con gli amici di Good Vibration sempre sul runtime network.
Sarò ospitato lì e
è probabile che parli anche in maniera più tecnica di queste cose visto che lì sono programmatori, infatti mi vergogno un po' ad andare a parlare con dei programmatori di quello che ho fatto io
con questo metodo beccaro diciamo ma mi interessa oggi raccontarti cosa ho imparato da questa esperienza un'esperienza ancora diciamo che
Che sta andando avanti, mettiamola così, perché tra l'altro in questo periodo Cloud Code nel periodo pomeridiano barra durante i weekend ti raddoppia i crediti, chiamiamoli così, che hai a disposizione.
Quindi sto cercando di dare gli ultimi colpi per ottimizzare questa applicazione, anche perché, te lo dico già, ho un programma di sviluppare almeno altre due, più o meno con lo stesso principio, visto che ho iniziato a prendere una mano.
a fare queste cose, mettiamole così.
Quindi cosa ho imparato?
Ovviamente la prima cosa è l'effetto wow, cioè nel senso si possono fare cose eccezionali.
E attualmente lo ricordo perché secondo me i costi aumenteranno, ma attualmente è con costi ridicoli.
considera che appunto in due giorni, adesso sono passati 10 più o meno, 10-12 giorni ma comunque in 12 giorni ho sostanzialmente
creato un qualcosa che è abbastanza funzionante e ho speso solo 22 euro quindi comunque pagare uno sviluppatore per fare una cosa del genere diciamo
a prescindere da tutto mi serve comunque costato di più e in più vabbè io ho imparato quantomeno ho imparato tante cose quindi per me è molto utile comunque
Ma quello che ho notato è che oltre a una certa soglia si sbatte contro un muro sostanzialmente.
Io ho avuto la fortuna e ho la fortuna.
di potermi confrontare con Roberto che tra l'altro tra le varie cose ha sviluppato già applicazioni electron quindi aveva già una sua conoscenza ovviamente ha una laurea in informatica quindi
È decisamente più avanti nel sottoscritto e riesce a parlare con cognizione di causa dei vari sistemi.
E mi ha dato anche una mano.
Perché come si vede poi, se vai a vedere il codice che su GitHub non l'ho detto, ma.
Questa applicazione è open, quindi l'ho pubblicata su GitHub è tranquillamente scaricabile da chiunque la voglia provare.
Ovviamente ha dei limiti, nel senso che, essendo un'applicazione Electron,
sia su Mac che su Windows non è stata firmata digitalmente e non è stata per Mac notarizzata quindi c'è da fare tutta una serie di scamotage
cioè per scaricarla e per poterla utilizzare sul proprio computer bisogna per il Mac toglierla dalla quarantena e in automatico se l'applicazione non è sicura mettiamola in casa
Questi termini quindi non è stata notarizzata, non hai firme digitali necessarie per Apple, l'applicazione non ti dà un errore.
C'è da fare questa operazione che comunque è descritta quando vai a scaricare l'applicazione basta leggere cosa c'è da fare.
Per Windows simile, nel senso che almeno Edge
Ti dice che questa applicazione è un'applicazione scaricata da internet, attenzione, e ti fa fare tutta una procedura per dire che lo vuoi scaricare e sai che è pericoloso.
Anche qui, piccola parentesi: se scarich l'applicazione, abitualmente non ti consiglio di scarare l'applicazione di una persona sconosciuta su internet, però tendenzialmente l'applicazione.
Non dovrebbe avere innanzitutto il lavoro solo in locale e non ha telemetria, non ha niente, quindi non ci dovrebbe essere problemi.
Però continua a ripetere: fidarse meglio fidarsi bene, non fidarse meglio.
Quindi io te ne sto parlando, se sei curioso fallo, ma tu rischi pericolo, io lo dico sempre, sul sito c'è scritto che l'applicazione è fatta in vike coding, quindi potenzialmente, non dovrebbe, ma potenzialmente potrebbe fare dei danni e ovviamente non ne prendo minimamente la responsabilità.
Quindi è il prodotto così com'è open source però e chiunque può andare con le dovute competenze a analizzare la struttura del progetto.
e vedere se ci sono dei problemi.
Io per esempio tutta la parte di sicurezza informatica persino che dovrebbe essere locale, quindi non ci dovrebbe essere questo problema.
ma non l'ho fatta e ovviamente non è mia intenzione accettare contribuzione da sconosciuti e così via, Roberto è un amico che lo conosco, ci sentiamo telefonicamente.
Però è tutta stata sviluppata sia da me che da Roberto attraverso Cloud Code, quindi comunque con degli agenti EI per lo sviluppo di codice.
la tenere ben presente fatta questa piccola parentesi che comunque è tra tra le varie cose di non è tutto coro quel kluccica mettiamola così appunto se sì se sono riuscito a creare un prodotto funzionante
Questo è già un grande risultato, mettiamola così, quindi dal mio punto di vista non è neanche un prodotto ma è un prototipo funzionante, si arriva però.
.
con poche conoscenze e diciamo col vi coding solo al 70-80% del risultato finale.
.
Poi oggettivamente
ci si imbatte in un muro.
E a questo punto, non avendo mai programmato, creato un'app, ovviamente un discorso è programmare dei piccoli script, un discorso è programmare un'applicazione.
pur semplice perché è un'applicazione veramente semplice ma più vado avanti più entro dentro diciamo ai meandri di come funzionano le cose di
cosa si può fare ma cosa non si riesce a fare cosa davo per scontato e cosa scontato non è, mettiamola in questi termini e ovvio
che si aprono tutta una serie, l'applicazione diventa sempre più complessa, mettiamola così, anche pur essendo un'applicazione molto semplice perché l'idea di fondo è trascinare un documento
estrai le entità del documento, scegli le entità che ti interessano eventualmente ne aggiungi e poi anonimizzi.
L'idea è questa.
Poi nella concretezza le cose si complicano a livello esponenziale e per esempio, giusto per fare un esempio veloce, ma
L'ho fatta parlare a un amico, un amico che era interessato all'animizzazione dei file Word e file docx in particolare, perché i file doc per esempio è più complicato ancora, ma i file docx di fatto sono dei
Di file zip all'interno del quale c'è un XML che dovrebbe essere più o meno standardizzato e così via.
Quindi, nella sostanza, va cerca le parole all'interno di questo.
documento strutturato ok e le strappa la strappa l'entità e fa le sue cose ho visto che per mille motivi
Diciamo un file doc con formattazioni particolari, così non riusciva a trovare determinate entità, non le trovava proprio.
Quando, per esempio, lo stesso Doc X convertito in file txt, quindi un file di testo semplice, quelle entità venivano.
catturate tranquillamente.
Il problema qual è presumo?
Perché ovviamente giustamente l'amico ma collega era un documento di clienti e quindi non me lo poteva dare così in allegria
Ho visto però tutto il procedimento, quindi l'ho visto da remoto.
Il problema qual era appunto probabilmente la formattazione a stramba, o comunque qualcosa che non ho valutato o non ha valutato nel caso specifico.
cloud su quel formato con delle particolari specifiche di quel formato e ovviamente non potendo avere quel file da dare in pasto a cloud call perché non l'ho animizzato
È un gatto che si morda la coda, non riesco a fare niente.
Anche qui il trucco, il trucco, tra virgolette, il work account, come lo chiamo io, è stato quello di dire: va bene, visto che il fare world è modificabile, tu strappola.
il testo di questo firewall e dai testo semplice a automator non ho neanche detto come si chiama l'applicazione ma si chiama automator
hannoimeto scusate appunto prende spunto da automator quindi è un omaggio diciamo che ha fatto
una delle applicazioni Apple che amo di più che mi hanno aiutato all'inizio a fare l'automatizzazione sul Mac, quindi Anonimator.
Anonimator, appunto, una volta che invece ha il testo semplice, quindi non c'è la sovrastruttura diciamo dei file Doc X, riesce tranquillamente a strapolare la maggior parte dell'entità.
Ti rendi conto di tutte le complessità e difficoltà che uno sviluppatore poi incontra, perché ovviamente.
Io ho fatto tutta una serie di test, ma ovviamente su documenti miei, su ipotesi mie, ma recentemente appunto un amico e collega l'ha voluta testare su.
documentazione penale quindi per anonimizzare appunto roba penale di cui io sconosco completamente tutto però effettivamente anche qui
Si sono aperti una serie di ulteriori problemi che non avevo valutato perché spesso e volentieri questi documenti sono scansioni malfatte di documenti cartacei.
E comunque adesso non voglio entrare troppo nel dettaglio anche perché è una cosa di stamattina, ma comunque ci sono tutta una serie di problemi e sì l'applicazione funziona, ma ovviamente su quella particolarità
specifica che io non avevo neanche minimamente immaginato trova difficoltà e quindi io come tra virgolette sviluppatore o comunque come orchestratore diciamo di Cloud Code
Non avendo a disposizione quei documenti, perché devono prima essere anonimizzati, non posso poi a mia volta ottimizzare o risolvere il problema o cercare di risolvere il problema.
Detto questo appunto comunque ammetto che nell'ultimo periodo sto iniziando a trovare una quadra su come dirigere correttamente Cloud Code.
Qual è l'approccio anche più sensato, più corretto a livello di sviluppo e così via, perché ovviamente ho iniziato a fare degli approfondimenti, ho iniziato a creare dei prompt specializzati nel creare i prompt per cloud code.
Ma e quindi sono riuscito ad andare avanti nello sviluppo di questa applicazione, ma effettivamente i problemi sono grossi e senza l'aiuto esterno di altri.
Giusto per fare un altro esempio, per esempio Roberto, mi ha dato una mano enorme perché ha preso il progetto della.
.
Dell'applicazione, come era qualche versione fa, e sapendo cosa faceva, ha fatto creare la guida completa dell'architettura dell'applicazione.
e se vuoi la trovi nel repository e così via.
Questo dal suo lato, dal suo punto di vista, era curioso di vedere effettivamente come era stata sviluppata dall'intelligenza artificiale e capire come funzionava.
Anche perché un programmatore per capire se il codice ha dei problemi o se è fatto bene e per risolvere i problemi deve comunque capirne la struttura e così via.
Dall'altra diventa molto comoda perché ovviamente l'intelligenza artificiale, una volta che c'è questa guida sostanzialmente su come è stata sviluppata l'applicazione, può capire a sua volta i meccanismi e quindi a questo punto
aiutarti maggiormente a fare questi sviluppo quindi tutte queste funzioni ovviamente più si va avanti più più si vogliono fare cose particolari
farla implementare direttamente all'intelligenza artificiale è complicato il mio compito prevalente è stato di fare il pigiatasti sostanzialmente
Nel senso che alla fine io cosa ho fatto tante volte, cosa faccio tante volte?
Faccio analizzare tutta l'applicazione, ho l'idea, diciamo, ma poi alla prima interazione non funziona quasi mai o ci sono dei problemi.
Per esempio ho imparato che bisogna implementare un sacco di test, di test automatici, possibilmente anche qui sviluppati con l'intelligenza artificiale, ma comunque.
Bisogna fare tutta una serie di test per dare la possibilità all'intelligenza artificiale di capire cosa non sta funzionando e perché non sta funzionando.
perché altrimenti va alla cieca e siccome io sono cieco e l'intelligenza artificiale cieca a sua volta è un casino l'altro vantaggio per esempio grossissimo di sviluppare queste applicazioni che sono web
sostanzialmente è anche quella di avere i log dell'applicazione perché in pratica comunque l'applicazione web comunque genera diciamo degli errori genera queste cose
l'intelligenza artificiale, Cloud Core in particolare, riesce ad andare a leggere questi log e quindi a fronte del fatto che l'applicazione non funzioni, che gli dia.
degli screenshot, tutto quel che riesco a dare, diciamo, per dargli un contesto completo di cosa sta succedendo.
Effettivamente sto riuscendo pian pianino a martellare, come lo chiamo io, a fare.
a fare qualcosa però diciamo appunto se si riescono a fare cose molto interessanti diciamo se si vuole un prototipo se si vuole una cosa base
che non faccia cose eccezionali, mettiamola così e comunque che non sia super complicata, più l'app diventa complessa, più l'intelligenza artificiale fa fatica.
Soprattutto se non si ha un buon progetto definito e ammetto che, soprattutto all'inizio, sono partito con un'idea abbastanza vaga.
poi progressivamente diciamo le idee in parte mi si sono chiarite e in parte le ho dovute chiarire perché
altrimenti diciamo era impossibile andare oltre.
Prima di chiudere la puntata voglio parlarti di una cosa particolare, molto tecnica.
ma che credo invece abbia molto interessante e a me, quantomeno è stata molto utile.
dove praticamente ho perso la maggior parte diciamo del tempo e anche dei crediti di Calacon
per fare la cosa, cioè gli automatismi per creare le differenti versioni dell'app.
È una questione tangente diciamo ma secondo me importante.
Perché quando inizi a sviluppare un'app hai un ulteriore problema che può sembrare banale ma che banale così non è, cioè la necessità di distribuirla.
Infatti, sostanzialmente con le applicazioni Electron bisogna compilare ovviamente l'app per ogni piattaforma, perché ovviamente io ho già detto all'inizio che sì, con l'app Electron si riesce a
a fare multipiattaforma ma non è che l'applicazione che io uso su Mac funziona su Windows tranquillamente anzi non è così su Mac ho i DMG
e invece su Windows ho un file exe di installazione, si chiama NS, cioè quindi c'è un programma di installazione che installa poi l'app, mettiamola così.
E a quel punto lì hai l'icona su desktop, quelle cose tipicamente Windows su Mac, hai il DMG, quindi hai l'applicazione, diciamo l'icona dell'applicazione.
e che puoi trascinare nelle applicazioni e a quel punto lì hai l'applicazione nell'applicazione Windows.
Su Linux non ci ho provato quindi non ti so dire.
In più per esempio
anche se è vero che ormai la maggior parte dei Mac sono ARM quindi sono Apple Silicon io sto sviluppando l'applicazione dal mio i Mac
5k che è Intel e quindi comunque ho anche voluto mantenere la chiamiamola così la retrocompatibilità con
Le macchine Intel e quindi, comunque ci sono quattro versioni sostanzialmente dell'applicazione.
A prescindere che avrei dovuto fare una compilazione sull'intel, una compilazione sul
sull'Apple Silicon anche se essendo tutta tecnologia Apple riesco a fare la compilazione da Intel per Apple Silicon
ma devo spostarla sull'Apple Silicon, devo fare tutto il download in più la stessa cosa vale per Windows e per Linux la cosa fondamentale era che diventava decisamente di gomma mettiamola così a
ogni volta che facevo un aggiornamento dell'applicazione a creare tutte le quattro versioni differenti, a caricarle tutte su GitHub e a fare tutta questa serie di cose manualmente
Quindi sapevo dell'esistenza, perché qui bisogna dire la verità, sapevo dell'esistenza delle GitHub Action, si chiamano.
Cioè, quando tu carichi il tuo codice su GitHub, hai la possibilità anche di compilare a determinate condizioni il codice della tua applicazione.
Nel mio caso specifico, essendo un'applicazione Electron, sapevo che si poteva fare.
Poi ovviamente ho fatto fare delle ricerche e così via e quindi mi sono messo a testare.
Ma ovviamente qui tutto è da zero.
Ovviamente già solo fare questa cosa che sul lungo periodo ovviamente mi ha dato decisamente dei vantaggi enormi.
Attualmente
Io una volta che ho fatto tutti i miei test, chiamiamo così, in locale e che ho fatto la build, diciamo, anche per Arma e l'ho provato su Arma perché solitamente su Intel dove sto sviluppando l'app.
Ho tutte le librerie già caricate e così via e potrebbe dare problemi invece altrove, quindi faccio il doppio check del funzionamento delle varie cose.
Però in questa maniera io praticamente dico, una volta che ho finito tutto il ciclo di sviluppo della singola feature, del bug che dovevo risolvere, gli dico benissimo, a questo punto fai il commit di tutto.
Anche qui per chi non è tecnico, un'altra cosa fondamentale per far funzionare queste applicazioni è il versioning, cioè la possibilità di avere.
Lo sviluppo si sviluppa ovviamente modificando il codice e per ogni modifica del codice ci deve essere appunto.
.
Un punto dove io ho salvato il codice precedente e dove vado poi a modificare il codice se no è delirante, questo si fa attraverso git,
Gitab semplicemente è una versione web di Git dove adesso una piattaforma Microsoft è stata.
acquistata da Microsoft dove è possibile appunto e dove la maggior parte dei progetti open source vanno su GitHub appunto per questo motivo e dove
appunto è possibile salvare le varie fasi di sviluppo dell'applicazione anche qui
Git io già lo usavo perché Avocati Mac sostanzialmente tutta la parte degli articoli è versionata con Git, quindi anche qui avevo per fortuna una serie di informazioni in più e di cose.
Ma la cosa veramente interessante per esempio è che tutti i compiti diciamo un po' manuali li faccio fare direttamente a Cloud Code, quindi anche qui gli dico va bene.
Siamo arrivati al punto, fammi la nuova versione, carica su Git e poi crea la build con tutte le varianti e effettivamente.
Una volta che faccio tutte queste cose, riesco anche a generare tutto il sistema in automatico.
E questo è veramente sul lungo periodo, diciamo, adesso in questa decina di giorni ho fatto 25.
25 release in caso specifico, quindi sono state.
.
ho compilato 25 volte l'applicazione e progressivamente siamo andati avanti, mettiamola così.
E questo è infattibile altrimenti.
anche qui automatizzare anche questo aspetto che è stata la parte veramente devastante perché ho dovuto chiedere aiuto abbondantemente a Roberto perché tutta questa parte funzionava veramente male
e pian pianino però sono riuscito ad arrivare al dunque ed effettivamente anche l'ultimissima versione che ho dovuto fare delle modifiche sotto la scocca piuttosto grosse
Ho fatto fatica subito a far funzionare la compilazione ma poi finalmente ce l'ho fatta.
Anche l'ultima versione che è la 1.
3.
2
è operativa online e funzionante da quello che ne so io per quasi tutte le piattaforme anche se io ovviamente controllo sempre solo Apple la parte Apple mettiamola così
Chiudo velocemente, ma ne ho già parlato, quindi vado veramente veloce sulla notarizzazione nelle app, è un mondo infernale complesso, ma
Giusto perché ovviamente evita i rischi, ne abbiamo parlato prima, quindi non mi ripeto, mai scaricare l'app di un tizio su internet, il mio consiglio personale.
Poi ti dico anche se vuoi provare la mia app, devi scaricarla, però è un'app di un tizio su internet.
creare un'app non vuol dire poterla fare eseguire sul computer degli altri quindi Apple ovviamente richiede notarizzazione e firma mentre Windows block è da luogo quindi ne abbiamo già parlato non mi ci dilungo
ancora.
L'ultima chiosa su su questa esperienza sono i costi.
I costi e l'utilizzo.
In quattro giorni dove.
Di fatto ho creato il nocciolo dell'applicazione e in parte mi ha aiutato anche Roberto che ha invece un abbonamento decisamente più più generoso del mio, che è la versione pro base.
Mettiamolo così, in quattro giorni ho consumato il 70% dei token.
a disposizione per la settimana perché Cloud Code, Cloud in generale ti dà ogni 5 ore da quando è iniziato la tua attività diciamo
ti dà n token, si parla di prova da memoria 44.
000 token che non sono tantissimi e in più hai nell'arco settimanale diciamo
Hai un ammontare complessivo.
Ecco, diciamo, sono arrivati al 70% in quattro giorni e praticamente verso sesto giorno era al 91%, quindi è veramente una roba inverosimile, tant'è vero che.
Per fare alcune cose sono poi passato a Gemini CLI che invece l'apponamento gratuito l'utilizzo gratuito di Gemini è decisamente generoso perché ho fatto tante cose.
Adesso non voglio raccontarti le differenze tra Gemini CLI e Clark Code e così via, ma.
.
diciamo a distanza di 10 giorni sono arrivato appunto di 12 ormai perché sto registrando pensavo di registrare lunedì invece questo è martedì
Oggi è 17 e appunto ho iniziato il 15, quindi 12 giorni fa.
Sono arrivato alla versione 1.
3.
2
Mancano ancora delle cosette, ma quello che dico io, l'app fa il suo mestiere, ci sono casi particolari che danno ancora problemi, ma devo dire la verità, per il grosso delle funzionalità dell'app
Siamo a buon punto e devo dire la verità, ci sono applicazioni a pagamento che fanno la stessa cosa.
Non le ho provate, devo dirti la verità, però questa è gratuita e open source e diciamo il grosso lo fa e secondo me lo fa anche in maniera molto carina.
così ma ovviamente non chiedere mai a chi l'ha sviluppato se la sua applicazione è bella a funzionare o meno perché ti darà ovviamente la stessa cosa mai chiedere all'oste se il vino è buono
Tirando quindi le somme, sicuramente il vibecoding per l'avvocatura ha potenzialità enorme.
e secondo me più avvocati dovrebbero sperimentare questa modalità che non vuole ovviamente sostituire gli sviluppatori
Ma permette di capire e testare meglio le tecnologie.
Simulare di essere uno sviluppatore non vuol dire ovviamente esserlo, cioè con l'intelligenza artificiale ti aiuta a far finta di essere uno sviluppatore.
senza però le cognizioni e l'esperienza specifica ci sono limiti enormi.
Ora ovviamente sto approfondendo a livello generale il funzionamento delle app Electron
Ho un programma addirittura, come ti dicevo, di svilupparne altre due, perché ho idea per almeno altre due applicazioni, diciamo, anche queste un po' particolari, ma credo che possano, cioè diciamo che sono ritagliate sul mio mestiere, che nessuno ha ancora fatto, tra l'altro.
Sono idee che avevo già da tempo e che a questo punto probabilmente te ne parlerò in puntate molto future perché non ho iniziato a fare.
.
tutta una serie di approfondimenti per la primissima app poi dopo vedremo se anche la seconda riesco a farla e vedrò anche
la cosa che mi interessa di più è se sviluppando diciamo la seconda app con le conoscenze acquisite nello sviluppo di questa primissima app, i risultati saranno i medesimi oppure
troverò difficoltà, diciamo che lo studio di fattibilità l'ho già fatta, teoricamente fattibile, da quello che sempre mi dice l'intelligenza artificiale, ovviamente tra dire e fare c'è di mezzo al mare ed è questo il problema grande.
Questi concetti si applicano anche secondo me nel mondo legale, perché io non andrò mai a rubare il lavoro di uno sviluppatore, diciamo.
Più che altro appunto quello che sto facendo sono applicazioni che probabilmente nessuno si sarebbe messo mai a fare o io non mi sarei mai messa a fare se avessi dovuto investire il tempo e l'energia per imparare a fare tutte queste cose.
In questa maniera, diciamo, con l'ausilio dell'intelligenza artificiale ho fatto cose che altrimenti non sarebbero mai esistite nel mondo, mettiamola così.
ma mi rendo conto che non ho le competenze per sostituire, e comunque sono applicazioni diciamo che non sono critiche, diciamo, non mi metterne mai a sviluppare il mio gestionale.
piuttosto che un'applicazione per gestire i pagamenti o robe del genere, queste sono applicazioni semplici che generano sul computer ma che non vanno altrove, che non sono esposte su internet e così via, quindi sono sicure.
Questo vuol dire che anche che se io non posso rubare, non voglio, ma questo è un altro discorso: rubare il lavoro a uno sviluppatore, probabilmente anche per noi questi strumenti.
Non ci ruberanno a breve il lavoro.
Sul punto, tra l'altro, segnalo una cosa, perché poi ovviamente sto ragionando molto tra i parallelismi, tra appunto quello che si può fare con.
con i programmi, quindi con lo sviluppo e il mondo legale.
C'è una grossa differenza tra lo sviluppo di applicazioni o comunque di.
.
di programmi informatici e il lavoro dell'avvocato.
Mentre il programma bene o male ci sono sempre tutta una serie di vergolettati o di asterischi da mettere ma comunque.
è un qualcosa di deterministico, cioè l'applicazione funziona, farà quello che deve fare, o non lo fa o ha un problema e si incarta in un problema specifico, diciamo.
E quindi c'è un modo per verificare se il lavoro fatto dall'intelligenza artificiale è fatto bene o male.
Mettiamola così
Il lavoro dell'avvocato invece non è nello stesso maniera, non è deterministico, ma appunto a volte anche con le maggiori più buone intenzioni si ottengono risultati negativi
E a volte, andando alla sperindio, mettiamola così, per tutta una serie di motivi, per errori anche da controparte e così via, si possono ottenere risultati positivi.
Il mondo legale è più un'opinione, nel senso giuridico del termine, non che sia incerto al 100%, ma comunque.
è sottoposta a mille e mille considerazioni, mille casistiche, è collegata anche a situazioni reali e quindi anche.
.
informazioni che casomai hai o non hai e che quindi possono incidere anche sul sul risultato finale.
È ovvio che
questi strumenti utilizzati impropriamente, cioè se io pensassi di poter sostituire amici sviluppatori
Che hanno imparato, hanno sudato su queste cose che lo fanno per mestiere, anche se casomai solo come secondo mestiere, ma comunque che hanno fatto dei percorsi di approfondimento totalmente diversi dai miei.
sarebbe un errore e così vale anche per la vocatura poi è ovvio che come come appunto
Già ci sono quelli che Googolano ed diventano dottori o diventano avvocati e così via, è ovvio che questi strumenti
per forza di cose, per il non esperto che non si rende conto di non sapere, mettiamola così, sono strumenti pericolosissimi perché proprio ti danno
simulano la capacità dell'esperto ma esperti non sono e l'altra considerazione da fare
È che questi strumenti sono veramente potenti perché continuo a ripetere, per me è stato un'esplorazione, un modo per entrare in un mondo che non è mio, mettiamola così.
Ma chi è in grado, cioè chi ha queste competenze tecniche, sicuramente può diventare l'orchestratore o il direttore dell'orchestra, mettila come vuoi, usare là come esecutore materiale.
Quindi l'uomo, donna.
dirige l'intelligenza artificiale per l'esecuzione di un progetto pensato dall'uomo.
Secondo me qui veramente questo è il vero paradigma interessante perché anche qui per esempio ma anche nel mondo legale
L'intelligenza artificiale comunque scrive una quantità di parole che un uomo normale non riuscirebbe a fare nello stesso tempo.
Poi è ovvio che dopo c'è tutto il lavoro di rifiniture e quant'altro.
Ma sicuramente ci sono dei punti interessanti e ci sono anche ovviamente dei punti meno interessanti o comunque più problematici.
Nel mondo dell'informatica, in particolare dell'app, appunto, l'ho già detto, è possibile avere un feedback certo.
diverso è quello al mondo legale, secondo me.
Diciamo che io quando faccio queste cose mi sento quello che cerca di fare una statua qua a martellate, cioè senza lo scalpello.
ma appunto non avendo poi tutte le condizioni del caso diciamo utilizzo uno strumento sì potente ma anche distruttivo e spero di riuscire a fare una statua con un martello cosa che abitualmente non si dovrebbe fare
Ovviamente per ottenere risultati solidi bisogna pensare come un programmatore, comprendere il funzionamento, imparare a programmare sostanzialmente, o quantomeno avere i concetti teorici.
per farlo e questo ovviamente secondo me se da una parte aiuta tantissimo chi già esperto è crea invece probabilmente più problemi che soluzioni
per chi non sa di non sapere in primo luogo, ma anche per il giovane soprattutto che crede di poter risolvere tutto con questi strumenti.
Bene, puntata un po' più lunga di quello che mi ero aspettato, ma è tipico del sottoscritto, me ne scuso.
Come al solito se ti è piaciuto quel che hai ascoltato ti propongo di iscriverti alla mia newsletter ogni mese.
Mando i link ad articoli che ho trovato interessanti, avviso dei nuovi podcast, dei nuovi articoli e eventuali nuovi video.
Trovi le note dell'episodio sul sito https
www.
avvocati che è il numero di questa puntata.
Come sempre ci sentiamo alla prossima.