2026-09-10

Una settimana tra compilazioni, agenti e un po' di vita reale

 


Questa settimana il tempo dedicato ai progetti è stato un po' meno del solito, anche perché ho deciso di riprendere seriamente l'attività fisica. Però qualche cosa interessante è comunque successa, e ancora una volta il filo conduttore rimane Linux, piccoli strumenti personali e AI.

Mint Cachyfy: spremere ancora un po' il PC

Il progetto nuovo della settimana è mint-cachyfy.

L'idea è abbastanza semplice: provare a portare su Linux Mint una parte della filosofia di CachyOS, ricompilando alcuni programmi importanti ottimizzati specificamente per la macchina su cui devono girare.

Il repository è nato il 9 settembre e nello stesso giorno ho già aggiunto una gestione più prudente della memoria durante la compilazione e un menu per scegliere cosa compilare. Il motivo della prudenza l'ho scoperto abbastanza rapidamente: il tentativo di compilare Firefox con ottimizzazioni spinte è arrivato fino a gkrust per poi fallire durante la compilazione Rust. Quindi il progetto è ancora decisamente sperimentale, ma proprio per questo è interessante.

AI Bar continua a cambiare

Su AI Bar questa settimana ho lavorato soprattutto sulla possibilità di staccare le finestre grafiche incorporate nella barra e ho eliminato il vecchio launcher a menu. Il 4 settembre ho poi effettuato il merge del branch personale vroby.

Questa separazione tra main e vroby sta diventando sempre più importante per come penso il progetto. main dovrebbe rimanere una base abbastanza generica, mentre il branch personale contiene ciò che serve specificamente a me. AGENTS.md spiega invece agli agenti come modificare e personalizzare il programma senza perdere questa distinzione.

Sto cercando anche di eliminare un'altra piccola seccatura tipica degli agenti: dover continuamente spiegare in quale directory devono lavorare. L'idea è permettere ad AI Bar di ricavare automaticamente il percorso dal terminale o dal file manager attivo.

Zepto Agent impara anche dalla fiducia

È proseguito anche Zepto Agent. Il 7 settembre ho aggiunto la visualizzazione del rating delle proposte e la possibilità di saltare la conferma dopo dieci esecuzioni riuscite dello stesso tipo.

È un dettaglio che però mi interessa parecchio: un agente di sistema non dovrebbe chiedermi eternamente il permesso per fare una cosa che gli ho già autorizzato dieci volte e che ha sempre eseguito correttamente.

È la stessa direzione in cui sto sperimentando con za.py e freellmApi: agenti piccoli, possibilmente economici, che non si limitino a parlare ma possano realmente operare sul sistema.

Un contributo a Codex Security

Questa settimana c'è stata anche un'attività fuori dai miei repository: ho aperto la pull request #823 su Codex Security.

Il lavoro riguarda la sostituzione di extract-zip, coinvolto in vulnerabilità segnalate dalle dipendenze, con yauzl aggiornato, mantenendo i controlli di sicurezza sull'estrazione degli archivi e aggiungendo test specifici. È una PR piuttosto più sostanziosa dei miei soliti piccoli programmi.

Agenti che iniziano ad avere un ambiente

Un'altra cosa che ho guardato questa settimana è Gentle-AI. L'idea mi interessa perché cerca di trasformare Codex, Claude Code, OpenCode e altri agenti da semplici generatori di codice in ambienti di sviluppo configurati, con memoria persistente, skill, workflow e istruzioni.

È curioso perché converge abbastanza con quello che sto facendo in piccolo con AGENTS.md, branch personali e programmi pensati fin dall'inizio per essere modificati dagli agenti.

Robot: tengo d'occhio Nori e Microduck

Continuo poi a seguire Nori A3 e Microduck. Non ci sono questa settimana novità tali da cambiare quanto avevo scritto, ma rimangono due progetti che per motivi diversi considero significativi.

Nori A3 mi interessa perché, almeno nelle capacità mostrate e dichiarate dal produttore, comincia ad assomigliare a qualcosa che potrebbe essere realmente utile in casa. Quanto di questo funzionerà davvero fuori dalle dimostrazioni resta naturalmente da verificare.

Microduck mi interessa invece soprattutto per l'approccio economico e per il software open source. Continuo a pensare che una piattaforma robotica sufficientemente economica e aperta possa generare rapidamente derivati e cloni. È una mia previsione, non qualcosa che sia già avvenuto.

Un saluto a Harvey Deklaine

Questa settimana c'è purtroppo anche una notizia che con il software non c'entra nulla.

Ho saputo della morte di Harvey Deklaine. Per noi era la persona che ci aveva fornito le cartucce Intellivision e quindi rimane legato a un pezzo della nostra storia e della nostra passione per quelle vecchie macchine.

La notizia mi ha colpito parecchio e, francamente, sono ancora abbastanza sconvolto e dispiaciuto. Non ho trovato online fonti affidabili che mi permettano di aggiungere dettagli sulla sua vita, quindi preferisco semplicemente ricordarlo per quello che ha rappresentato per noi.

Ciao Harvey.

E infine devo rimettere in moto anche me stesso

Ho deciso di riprendere seriamente l'attività fisica. Mi porta via parecchie ore al mattino, quindi inevitabilmente rimane meno tempo per programmare e giocare con queste cose.

Sto facendo molta più fatica di quanto avrei voluto a rimettermi in sesto e il caldo di questo settembre non aiuta per niente. Però andando avanti con gli anni diventa sempre più evidente che non posso ottimizzare soltanto Linux: devo cercare di rallentare un po' anche il mio inevitabile declino fisico.

Per questa settimana, quindi, qualche commit in meno e qualche chilometro in più. Mi sembra comunque un compromesso accettabile.

2026-09-08

Un’astronave che trasforma il tempo in movimento

 

Stavo ragionando su un’idea di fantascienza semi-plausibile: invece di costruire il solito motore che produce una spinta, perché non immaginare un dispositivo capace di trasformare in qualche modo l’evoluzione nel tempo in movimento nello spazio?

La relatività ci dà già uno spunto interessante. Energia e quantità di moto sono parti dello stesso quadrimpulso e, quando un oggetto si avvicina alla velocità della luce, il suo tempo proprio rallenta rispetto a quello di un osservatore esterno. Da qui l’idea: un ipotetico motore potrebbe modificare direttamente la geometria locale dello spazio-tempo, “inclinando” parte della componente temporale verso quella spaziale.

La nave non verrebbe quindi spinta. Sarebbe lo spazio-tempo intorno a lei a cambiare, mentre nave ed equipaggio continuerebbero a seguire una geodetica. Da fuori si vedrebbe una fortissima accelerazione; dentro, invece, un accelerometro potrebbe continuare a indicare praticamente zero. Anche la struttura non dovrebbe sopportare le accelerazioni mostruose richieste da un normale viaggio relativistico.

A questo punto anche la forma dell’astronave viene quasi da sola: una sfera.

Al centro si trova il motore cronocinetico, che genera una bolla sferica appena più grande dello scafo. La direzione principale di viaggio coincide con il polo nord. All’equatore quattro piccoli gruppi di motori di assetto, simili come concetto agli RCS del modulo lunare, permettono le manovre quando non viene utilizzata la propulsione principale.

Sempre all’equatore, ma dentro la sfera, ruota un grande anello abitabile. Durante le normali operazioni crea gravità centrifuga e può funzionare anche come stabilizzatore della nave. Le zone polari superiore e inferiore sono invece dedicate agli spazioporti per navette e mezzi di servizio.

Rimane naturalmente il problema più grosso: l’energia.

Creare coppie particella-antiparticella dal vuoto e farle annichilire non produrrebbe energia gratis: per crearle dovremmo prima fornire almeno la stessa energia che recupereremmo. Per restare nel campo della fantascienza “semi-plausibile” possiamo però ipotizzare che il motore riesca a stimolare uno stato del vuoto quantistico e a sfruttarne il rilassamento, mentre la produzione e l’annichilazione delle coppie diventano parte del processo di conversione energetica.

Non è fisica che sappiamo fare, naturalmente. Probabilmente non è nemmeno fisica possibile. Ma mi piace perché porta a un’astronave molto diversa da quelle classiche: niente grandi motori posteriori, niente equipaggio schiacciato dall’accelerazione e nessuna vera “prua”.

È, in sostanza, una bolla di spazio-tempo mobile con un’astronave sferica al suo interno.

E, incidentalmente, il risultato ricorda parecchio la Good Hope di Perry Rhodan. Forse quelle vecchie astronavi sferiche non erano poi una scelta estetica così strana.

2026-09-03

Ai-bar

 

Questa settimana il lavoro su GitHub è stato meno dispersivo del solito e si è concentrato soprattutto attorno a un'idea che ormai sta diventando abbastanza chiara: software piccolo, modificabile dagli agenti e personalizzato per chi lo usa.

AI Bar: il software personale sopra una base comune

Su AI Bar ho continuato a lavorare soprattutto sulla separazione tra il progetto generale e la mia configurazione personale. Nell'ultima settimana GitHub registra, tra le altre cose, il merge del branch vroby e una correzione alla selezione della pagina terminale dopo un reload.

La parte che mi interessa di più, però, non è la singola modifica. Sto cercando di usare main come base abbastanza generica da poter essere utilizzata da altri, mentre tengo le mie personalizzazioni in un branch personale. A questo si aggiunge AGENTS.md, che serve a spiegare agli agenti AI come intervenire sul progetto.

Mi sembra un modello interessante: invece di cercare di costruire un programma che vada bene per tutti, mantenere un nucleo comune e lasciare che ciascuno possa costruirci sopra la propria versione, eventualmente facendola modificare direttamente a un agente.

Continuo anche a sperimentare la sessione AI Bar con Weston al posto di Openbox. Per ora però Wayland mi sembra decisamente meno efficiente del vecchio Xorg per questo tipo di ambiente leggero.

Agenti piccoli per fare cose vere

Lo stesso ragionamento continua con za.py, il piccolo agente che sto usando per eseguire operazioni sul sistema operativo attraverso freellmApi.

L'obiettivo non è costruire l'ennesimo chatbot, ma avere un agente che possa realmente fare qualcosa sulla macchina. Modelli piccoli, API economiche o gratuite e programmi molto semplici possono essere più interessanti, almeno per me, di sistemi enormi che cercano di fare tutto.

In questa direzione è nato anche ds-code. Il 2 settembre ho aggiunto README e AGENTS.md e subito dopo li ho tradotti in inglese. Anche qui torna quindi l'idea di scrivere non soltanto documentazione per gli utenti, ma istruzioni destinate direttamente agli agenti che dovranno lavorare sul codice.

Un registratore di macro

Sempre il 2 settembre è nato macro-recorder. Il repository parte con un commit iniziale seguito dalla traduzione del README in inglese.

È un altro esempio della direzione che sto seguendo: invece di cercare programmi complessi, preferisco sempre più spesso costruire piccoli strumenti che fanno esattamente quello che mi serve.

E intanto arrivano i robot economici

Fuori dal software questa settimana mi hanno incuriosito soprattutto due piccoli robot.

Il primo è Nori A3. Costa 1.688 dollari e ha due bracci, LiDAR, quattro telecamere e un'autonomia dichiarata di 6-8 ore. Il produttore lo mostra impegnato in attività come riordinare, prendere oggetti dal frigorifero, caricare i piatti e aiutare in cucina. Le consegne sono indicate per l'autunno 2026. Queste sono però capacità dichiarate da Nori Robotics e non vanno confuse con un robot domestico già autonomo e pronto all'uso.

La mia impressione è comunque che Nori sia uno dei primi robot economici che cominciano almeno a farmi pensare: questo potrebbe davvero servire a qualcosa.

Poi c'è Microduck. È una piccola papera bipede da 25 cm e circa 800 grammi capace, tra le altre cose, di camminare, rialzarsi, afferrare piccoli oggetti e utilizzare delle ruote. Il software è pubblicato con licenza Apache 2.0 e comprende anche il sistema di controllo; il training delle policy avviene nel progetto collegato microduck_rl.

Qui però devo correggere leggermente quello che avevo scritto qualche giorno fa: è open source il software, non l'hardware. Il prezzo di lancio rimane comunque molto interessante, 399 dollari.

Ed è proprio la combinazione fra prezzo basso e software aperto che secondo me può produrre qualcosa di interessante. Non mi stupirebbe vedere presto progetti derivati, alternative compatibili e magari veri cloni. Questa per ora è una mia previsione, ma l'ecosistema ha già iniziato a muoversi: è comparso ad esempio quackd, un progetto indipendente che prova a mettere un LLM sopra le capacità del Microduck.

Il filo comune

A prima vista AI Bar, za.py, ds-code e una papera robot da 399 dollari sembrano cose completamente diverse.

In realtà per me il filo comune sta diventando abbastanza evidente.

Hardware sempre meno costoso, software open source, modelli AI e agenti capaci di modificare il codice rendono sempre più realistico costruire strumenti pensati per una singola persona invece che per milioni di utenti.

Ed è probabilmente questa la cosa che mi interessa di più in questo momento.


2026-08-27

Settimana di piccoli tool, agenti locali e desktop AI

 

Questa settimana ho lavorato soprattutto su piccoli strumenti che servono direttamente al mio modo di usare Linux e i modelli AI. Niente grandi progetti monolitici: diverse utility semplici, ciascuna pensata per risolvere un problema preciso.

AI Bar

Il lavoro più consistente è stato su AI Bar. Ho aggiunto azioni rapide e launcher configurabili, sistemato il pannello perché non esca dallo schermo e migliorato l'avvio della sessione desktop. Ho anche iniziato a documentare esplicitamente il progetto per gli agenti AI con AGENTS.md, prima in italiano e poi in inglese. Le modifiche sono passate attraverso cinque pull request, dalla #12 alla #16.

La cosa interessante è che AI Bar sta lentamente passando dall'essere una semplice barra con strumenti AI a qualcosa di più vicino a un piccolo ambiente desktop costruito intorno agli agenti.

Zepto Agent

Ho continuato anche il lavoro su Zepto Agent, il mio piccolo agente locale per Linux.

Qui il problema principale era ottenere qualcosa di abbastanza affidabile e veloce anche usando un modello piccolo. Ho migliorato la gestione del JSON prodotto dal modello, aggiunto un secondo tentativo automatico quando l'output non è valido e reso più robusta la gestione dei percorsi.

La modifica più importante però è il nuovo backend llama-cpp-python con modello GGUF Q4_K_M. Nei test indicati nel commit la generazione risulta circa 3,5 volte più veloce sulla CPU e il modello occupa circa 1,1 GB invece di 4,5 GB. Transformers rimane comunque disponibile come fallback.

Un menu minimale

È nato anche menu, un piccolo launcher TUI per le applicazioni desktop scritto in Python. Il repository è stato creato il 23 agosto e nei primi commit ho già aggiunto supporto per il mouse, localizzazione, licenza MIT e le istruzioni AGENTS.md per permettere agli agenti AI di modificarlo senza stravolgerne la filosofia.

È esattamente il genere di software che mi interessa in questo periodo: piccolo, comprensibile e facilmente personalizzabile.

OpenRouter, DeepSeek e Codex

Sono nati altri tre repository molto piccoli.

or-codex è un launcher interattivo per scegliere un modello OpenRouter pee usarlo con Codex. È un progetto Shell creato il 26 agosto.

getdscredit serve invece a controllare il credito residuo delle API DeepSeek. È scritto in Python e gestisce anche l'assenza o il rinnovo della chiave API tramite --renew.

Infine getorcredit fa praticamente la stessa cosa per OpenRouter, con gestione della chiave, test, documentazione e licenza MIT.

Una direzione che comincia a vedersi

Guardando insieme questi lavori si vede abbastanza chiaramente dove sto andando: software molto piccolo, soprattutto Linux, costruito per le mie esigenze e sempre più pensato fin dall'inizio per poter essere modificato insieme agli agenti AI.

Non credo che ogni programma debba diventare enorme e universale. Al contrario, con gli agenti diventa sempre più conveniente avere programmi semplici da adattare alla singola persona.

2026-08-26

Ripartire con l’intelligenza artificiale

 

 

Ciao, oggi mi sono reso conto che non aggiorno Vroby Pages da secoli.

Ho deciso quindi di ripartire, questa volta con l’aiuto dell’AI. Da ora in poi, ogni giovedì ChatGPT mi proporrà un post da pubblicare. Io lo leggerò, farò gli aggiustamenti necessari e magari aggiungerò qualche nota personale, ma il grosso del lavoro lo lascerò a lui.

Ormai uso quotidianamente modelli AI e agenti, sia per scrivere codice sia per fare ricerche. Anche il mio modo di sviluppare sta cambiando: cerco di creare software pensato fin dall’inizio per essere modificato e personalizzato. Sul branch main rimane il progetto originale, mentre su un branch vroby tengo la mia implementazione.

Credo che questa possa diventare una tendenza interessante: se sempre più persone lavoreranno così, il software sarà molto meno “uguale per tutti” e molto più cucito sulle esigenze di ciascuno.

2026-06-12

non saremo noi gli esploratori dell'universo

Scrivo queste poche righe come ricordo di questa serata in cui mi sono reso conto che molte cose che sognavo/speravo per il futuro (non certo il mio, che oramai sono vecchio) non si realizzeranno per il genere umano.

Il primo posto dove questo diventerà evidente è la Luna. Nei prossimi anni arriveranno, infatti, flotte di robot autonomi sulla Luna non solo per esplorare, ma per svolgere compiti di ricerca e, successivamente, minerari.

Mi aspetto produzioni industriali non sulla Luna, ma direttamente in orbita. Questo perché l’assenza di gravità può permettere la realizzazione di manufatti interessanti e crea la possibilità di accedere sempre all’energia del Sole. I metalli, invece, si estrarranno direttamente sulla Luna, verranno mandati in orbita probabilmente con una catapulta magnetica e saranno lavorati in orbita. In questo processo non ci saranno umani, ma solo macchine.

Robot e intelligenza artificiale mettono fine anche all’esplorazione umana dello spazio.
Gli esseri umani sono finiti in questo scenario in cui comandano in maniera sempre più distratta le macchine intelligenti artificiali fino a diventare irrilevanti. Non sarà necessario alle macchine sterminare gli inutili esseri umani ma per loro basterà attendere la naturale estinzioni dell'umanità instupidita e preda di noia e senso di inutilità

2026-06-10

2cv concept

 

Il quadriciclo L7e che vorrei vedere sulle strade europee




Negli ultimi anni il mercato dei veicoli elettrici si è mosso in una direzione precisa: automobili sempre più grandi, pesanti, potenti e costose. Ma se l'obiettivo fosse invece l'efficienza? Se si partisse da ciò che serve davvero per spostare quattro persone in città e nei percorsi quotidiani?

Da questa domanda nasce il concept che presento oggi: un quadriciclo pesante L7e a quattro posti, progettato secondo tre principi fondamentali:

  • semplicità

  • leggerezza

  • basso costo

Un ritorno all'essenziale

L'idea è quella di recuperare la filosofia della Citroën 2CV: eliminare tutto ciò che non è indispensabile e concentrarsi sulla funzione.

L'esterno adotta forme semplici e quasi geometriche:

  • lunghezza di circa 3,45 metri

  • larghezza contenuta in 1,50 metri

  • carrozzeria con pannelli facilmente sostituibili

  • quattro porte vere

  • ampie superfici vetrate

  • ruote di diametro generoso per migliorare comfort ed efficienza

L'aspetto è volutamente minimalista, senza elementi decorativi superflui.

Interni spartani ma intelligenti



L'abitacolo segue la stessa filosofia.

Niente:

  • schermi giganti

  • luci ambientali

  • rivestimenti costosi

  • tunnel centrale

Troviamo invece:

  • volante moderno

  • piccolo quadro strumenti digitale

  • plancia essenziale

  • sedili monoscocca in plastica bianca

  • panca posteriore semplice e leggera

I sedili anteriori non sono reclinabili e non utilizzano imbottiture tradizionali. Sono progettati per essere economici, robusti, facilmente lavabili e soprattutto leggeri.

L'obiettivo è ridurre ogni chilogrammo non necessario.

Perché un L7e?

La categoria L7e rappresenta una delle opportunità più interessanti per la mobilità elettrica europea.

Rispetto a un'automobile tradizionale permette:

  • massa inferiore

  • costi produttivi ridotti

  • consumi estremamente bassi

  • semplicità costruttiva

In pratica si può ottenere un veicolo perfettamente adatto agli spostamenti quotidiani senza dover trasportare una tonnellata e mezzo di batteria e struttura.

Specifiche ipotizzate



Il progetto prevede:

CaratteristicaValore
CategoriaL7e
Posti4
Lunghezza3450 mm
Larghezza1500 mm
Velocità massima90 km/h
Motore15 kW
Batteria11 kWh
Autonomiacirca 120 km
Massa a vuotocirca 560 kg

Con una batteria relativamente piccola si ottengono autonomie più che sufficienti per l'uso urbano e periurbano.

La vera sostenibilità

Spesso si associa la sostenibilità esclusivamente all'alimentazione elettrica. In realtà il parametro più importante è l'efficienza complessiva.

Un veicolo leggero:

  • richiede meno materiali per essere costruito

  • necessita di batterie più piccole

  • consuma meno energia

  • usura meno pneumatici e freni

  • occupa meno spazio nelle città

In altre parole, il veicolo più ecologico non è necessariamente quello con la batteria più grande, ma quello che utilizza meno risorse per svolgere lo stesso lavoro.

Un'alternativa concreta

Questo concept non vuole competere con SUV da oltre due tonnellate o con auto da 300 cavalli.

Vuole invece offrire una risposta semplice a una domanda molto concreta:

quanta automobile serve davvero per trasportare quattro persone a 90 km/h con consumi minimi e costi contenuti?

Forse la risposta non è un'auto sempre più complessa, ma un mezzo leggero, essenziale e razionale come questo piccolo L7e.

La mobilità del futuro potrebbe essere molto più vicina alla semplicità della 2CV che alla complessità delle automobili moderne.

2026-05-26

 Il futuro del coding: da tool specifici a agenti generali


È passato un po’ di tempo dall’ultimo post, e ora è il momento di fare il punto. Codex è ormai il “fido scudiero” che scrive codice, gestisce il PC, ricerca notizie e crea servizi automatici per me.

All’inizio ho realizzato applicazioni a “Babbo morto”, ma poi ho iniziato a scrivere solo ciò che mi veniva chiesto o che mi tornava utile. Scrivere un office o un nuovo linguaggio di programmazione non ha più senso: ci stiamo dirigendo verso codice personale, su misura per le proprie esigenze.

Oltre a Codex, ho adottato CLaude Code, ma lo utilizzo con modelli DeepSeek e il nuovo v4‑flash, che compete con i grandi modelli a una frazione del costo. Con 2 € di API ho coperto due settimane di lavoro. È meno efficiente di Codex con GPT‑5.5 xhigh (il top di OpenAI), ma per molti task è praticamente perfetto.

Ollama sta chiudendo i modelli cloud; senza l’abbonamento (che costa quanto OpenAI) non è più possibile usarli. Lo impiego solo per servizi minimi con IdeaAI t e pochi altri, che a loro volta stanno diminuendo di utilizzo.

L’ultimo step è Hermes, assistente personale alimentato da DeepSeek.

Credo che presto smetteremo di scrivere tool di programmazione per passare ad agenti generici che svolgono le attività al nostro posto. Il v4‑flash gira su macchine quasi “umane”; se tutto procede come previsto, entro il 2028, quando non potrò più usare la mia Raspberry Pi 1B come “carrotcamp”, avrò una macchina capace di fare inferenza locale con un modello di dimensioni simili a quelli più grandi attuali. Con questo passo il cerchio si chiude: Internet tornerà a essere un canale di comunicazione, come era originariamente, anziché una vetrina del sapere umano che invece sarà condensato in un LLM locale

2025-12-24

24 DICEMBRE

Eh sono passati 20 giorni dall'ultimo post. Ho scritto parecchio codice ed è il caso di riassumere (e mi sa che dimenticherò di sicuro qualcosa).

Dopo zig ho scoperto clang e llvm. Ho quindi fatto esperimenti e creato un piccolo compilatore BASIC che genera llvm poi da compilare. La prima versione in Python come con _c e poi una versione successiva in c. Non sono usciti dallo stadio esperimento perché non sono arrivato alla minima stabilità. Ho quindi provato generando codice c poi da compilare e li le cose sono andate meglio. In altri tempi era un ottimo risultato ma adesso con ai e bacon disponibile direi progetto inutile.

Ho quindi fatto ls. Local Storage è un implementazione in ram di un array associativo a chiavi persistenti in php. Non è un database completo ma è un ottimo modo per registrare in modo velocissimo dati con pochi comandi semplici. Le prestazioni mi paiono molto buone e probabilmente nei prossimi giorni lo pubblicherò su github.

Proprio stasera ho scritto un mini script che mi permette di spostare le finestre da uno schermo all'altro senza perdere la dimensione della finestra che succedeva con i comandi di mate. E' scritto in bash e funziona solo con Xorg ma non ho visto difetti.

Pero ora è tutto intanto buon natale!!



2025-12-05

Un occhiata a zig

ciao,
ieri ho provato Zig, il nuovo linguaggio di programmazione che dovrebbe essere il successore di C/C++. Ma esistono altre alternative (Go, Rust, F#, ecc.).
Dopo averlo visto solo superficialmente, ho notato che alcune cose sono identiche a quelle del mio _c scritto qualche settimana fa, pura coincidenza. In generale non mi è piaciuto il fatto che abbiano rifattorizzato la std, la libreria di base. Cambiare la struttura, cancellare intere sezioni, spostare, per esempio, random in crypto, mi fa pensare a una pessima pianificazione. Inoltre non vedo razionalità nello schema.
Posso accettare un'organizzazione complessa per motivi di prestazioni, ma da quello che ho visto la velocità è quella del C.
Alla fine, il mio _c, che elimina i punti e virgola e le graffe che fanno sempre problemi, implementa comandi brevi (ad esempio il dot come printf) e usa tipi semplici ed autoesplicativi, con un supporto stringa ben fatto ma ancora migliorabile, è forse meglio. Inoltre c'è il Jolly, che puoi solo tradurre, e il sorgente generato è un C perfettamente leggibile e facile da maneggiare. È vero che è un giocattolo solo per cose semplici, ma c'è la possibilità di espanderlo. Lo avevo considerato inutile, ma non mi sembra che Zig sia necessariamente molto meglio; forse è il caso di lavorarci ancora un po’, magari portando altre idee interessanti, come una piccola AI dedicata che funzioni da wizard del codice.

Andiamo avanti 

2025-11-29

un po di novità

 Ciao, 

Prosegue il periodo fertile di sviluppo.

Poiché non mi sento un buon scrittore, ho sviluppato un semplice strumento: scrivo il testo, lo fornisco a Ollama GPT‑OSS 20B, che lo rivede e mi restituisce la versione corretta sulla pagina sottostante. La cosa simpatica è che è scritto in bash, semplice, breve ed efficace. E' ancora da migliorare ma andiamo bene. Probabilmente lo migliorerò anche per scrivere in inglese lingua che non so proprio usare.  Un altro programma interessante che sto scrivendo è praticamente un programma ti permette di dettare quello che scrivo.

Anche lui è molto acerbo e continua a commettere errori. Dovrò fondere i due programmi per ottenere un programma che oltre a ricevere la dettatura vocale provvede anche a sistemare gli errori che il text to speech commette di continuo. Poi ho giocato con Suno e ho fatto una musichetta carina. L’idea era di fare una suoneria,ma è uscita una musica da demo e così ho fatto una demo HTML in JavaScript. È incredibile quanto è facile fare ciò che vuoi quando un LLM ti aiuta e ti scrive le parti difficili.  Per l’occasione, ho cambiato la pagina delle demo fatte con **three.js** in demo generiche.

Altra cosa carina e interessante è il gioco di Battaglia navale di gruppo e dopo un po di mazzolate lo considero finito.

Infine una cosa che mi ha dato una grande soddisfazione: finalmente il microfono del portatile nitro v15 e il tasto pilot funzionano anche su linux grazie al nuovo kernel appena installato.

 

2025-11-21

un canale youtube?

 Ciao, sto pensando di fare un canale youtube anche io. Vedo che a parte Antirez che però è molto specifico, Morro che è impostato sul sistema  e non sul codice e altri amici come Claudio Dafra che pero sono piu sul retrocomputing,  la qualita è piuttosto ridotta. L'idea sarebbe fare un canale che punta mostrare il codice in maniera genuina e in cui potrei mostrare i miei programmi da dentro senza filtri e senza scaletta  mostrando errori tecniche e idee. Chiaramente non durante lo sviluppo perche potrebbe essere noioso ma postmortem quando il codice è completo e ricordo ancora bene cosa ho combinato e perché. Il canale c'è gia si chiama verticaldev ma è completamente vuoto. Ho visto che si puo rinominare e lo chiamerei come questo blog vrobypages.

Nei giorni scorsi ho riprovato suno ed è ancora piu spettacolare. Puoi creare music nello tuo stile pressoche perfetta. Nell'ambito tecno trance dubito che ci sia ancora spazio per fare musica senza AI e tempo che oramai sia tutta sviluppata cosi.

Infine una nota che mi ha turbato molto. Con un amico sono andato a Milano e pasando per una via ho visto la chilometrica coda alla mensa dei poveri. Davvero tanta gente decisamente disperata. Stiamo precipitando in un baratro. Io ormai sono anziano ma sono profondamente preoccupato per il futuro distopico che si sta palesando.  


2025-11-18

un altro forth

 Spinto dal corso c di Antirez su youtube in cui sta mostrando come si scrive un interprete forth Ho pensato cosi per provare a scriverne uno a modo mio vale dire esasperando tutto.

Il forth è un antico linguaggio di programmazione anzi è in un certo senso anche un sistema operativo. figlio degli anni 60 è sicuramente parecchio alieno per che usa la notazione polacca inversa. Avevo fatto quanche mese fa una serata in compvter su questo linguaggio e sui insospettabili eredi il cui principale è il c nella maniera originale.

Siccome è molto alieno programmare inquesto linguaggio dico sempre scherzosamente che nel rottame dell'astronave aliena di Roosvelt avevano trova un computer con i transistor al germanio che faceva funzinare il forth.

Vediamo un po la notazione: 

una somma si fa cosi: 2 2 + 

lo spazio o l'invio è il separatore di tutto

il forth usa per tutto un buffer speciale che si chiama stack

La particolarita dello stack è che l'ultimo numero inserito è il primo ad essere estratto.

In realta è un componente previsto direttamente nei processori e solitamente ha i comand push e pop per scrivere leggere in questo buffer

scrivendo 2 metti il numero nello stack

scrivendo un scrivendo un altro 2 lo metti anche lui nello stack 

scrivendo piu invece siccome è un comando questo estrae il 2 dallo stack poi estrae il primo 2 dallo stack li somma e il risuiltato vien messo nello stack.

Questa logica è potente e semplice al tempo stesso: i comandi di base sono:

. (nel caso di Antirez ha usato print) stampa l'ultimo numero inserito nello stack

+ - * / sono  le operazioni matematiche. il risultato è posto nello stack

> <  = operatori di confronto (prendono i 2 numeri li confrontano e se la condizione è vera si mette 1 altrimenti 0)

if else endif preleva dallo stack se è piu di 0 esegue il comando dopo altrimenti cerca else o endif

eccetera....

La versione di forth che ho creato è estrema e minimale. E' scritta in c.

Lo stack non è quello del processore ma un array di int. la matematica va quindi solo a interi. Nel forth di solito la matematica è in virgola fissa.
Il word_exec (le word sono i comandi Forth) fa i confronti di tipo numerico a byte quindi verifica se è un numero altrimenti verifica se è un comando una nuova funzione o una variiabile  se non trova nulla emette un errore i comandi aggintivi e molti comandi lunghi tipo dup swap if else fi sono trasformati in numeri con una sorta di hash ma a 32 bit e confrontati quindi non uso strcmp che è piu ttosto pesante.
Per le variabili uso 2 comandi !nome_varibile che assegna alla  variabile il valore prendendo dallo stack e @nome_variabile che invece copia nello stack il valore.

Le variabili sono un altro array di una  struttura nome ,valore anche qui il nome è cifrato a 32 bit e il valore è un int (quindi su pc a 64 bit). anche qui il findvar è molto veloce perche cerca con il numero cifrato quindi 20X veloce.

Per le stringhe ho usato un array di array di char  ( char strings[64][128])
quanod la word inserita inizia con " exec_word mettette tutto il testo nella prima string vuota fino al successivo " quindi inserisce il numero dell'indice delle stringhe nello stack.

il comando $ preleva dallo stack l'indice string e lo stampa. Questo schema è furbo e permette cose strane tipo:

"ciao ciao" !ciao 

@ciao $ >stampa ciao ciao.

le funzioni in forth si fanno usando : nome_word comandi.... ; e l'ho implementao uguale solo che nel forth originale il comando viene compilato nel nano forth invece viene caricato in una array cosi come è e quando invocato viene semplicemente iniettato come fosse scritto sul momento. Di fatto sono piu macro che funzioni. Semplice veloce funziona bene ma non offre maggior velocita del codice diretto. 

Alla fine è molto limitato ma è un bell'esercizio intelligenza laterale nel cercare soluzioni 

estreme ed efficenti e mentre scrivo ho gia un paio di idee insane da aggiungere.

Dimenticavo di dire che funziona sia come terminale sia passando un file.

volete vederlo nei dettagli? https://gist.github.com/vroby65/082f0ffc98bd846b95ab0bac95312574






 

2025-11-14

google finance

 Ci risiamo, googlefinance la funzione di Google fogli non restituisce più i dati di borsa italiana. Io questa funzione la uso per automatizzare il foglio di calcolo dei miei investimenti. Google a livello di efficienza è sempre peggio. Solo 5 anni fa l'assistenza era impeccabile. Dall'anno scorso invece sono scesi al livello di Facebook con in pratica l'impossibilità di comunicare qualunque problema. E i problemi si moltiplicano.

Siccome non vedo neppure l'idea di riparare il problema pur avendo i dati su google.com/finance ne concludo che l'unico modo è provare la nuova funzione gemini che magari mi mette il dato con la Ai. Ma provando scopro che può solo fare operazioni con i miei dati...... Sia mai che diventa utile. Ok proviamo con gemini il chatbot e mi dice che non si può scrivere una funzione per fare scraping dei dati dal sito. Hummm secondo me questa è censura. Provo con chatGPT ed ecco la funzione semplice ed efficiente:

// ---- Per recuperare etf e azioni da google finance -----------------------
function prezzoGoogle(ticker, foo) {
const url = `https://www.google.com/finance/quote/${ticker}`;
const html = UrlFetchApp.fetch(url).getContentText();

const match = html.match(/<div[^>]*class="YMlKec fxKbKc">([^<]+)</);

if (match && match[1]) {
let prezzo = match[1].trim(); // es. "€143.96"
prezzo = prezzo.replace("€", ""); // rimuove €
prezzo = prezzo.replace(/\s/g, ""); // toglie eventuali spazi
prezzo = prezzo.replace(",", "."); // nel caso usasse la virgola

return parseFloat(prezzo);
} else {
return NaN; // così capisci che non ha trovato il valore
}
}

Che dire gemini ci nasconde questa scomoda (per loro) opportunità. Pero non si aggiorna ma troviamo un trucco: l'idea è avere una cella con =now() che viene passata come parametro. Però Google fogli si accorge del fugno e va in errore. Don't be evil dicevano.... certo certo. Risolvo puntando alla cella dell'anno. Se  la cancello e poi riscrivo tutte le celle collegate si aggiornano e funziona.

Ora cosa dire? Google tratta sempre peggio i suoi utenti sempre più aggressiva con la pubblicità sempre più egoista sempre più indisponibile. Della società superfiga accogliente che usa i profitti per innovare per migliorare il mondo non resta che cenere.

Sto facendo il backup dei dati con cadenza bimestrale e sto pensando di tornare con i miei dati sulla macchina fisica perché qui può succedere da un momento al'altro che anche bigG subisce un bel databreach con tutto quello che ne consegue e che forse i mega licenziamenti avranno si aumentato i profitti nel breve ma con un enorme peggioramento del prodotto e  dell'immagine che avevano.

Chiudo dicendo che secondo me Larry Page e Sergey Bring non avrebbero mai sponsorizzato una squadra di formula uno che con il mondo Google non centra nulla


2025-11-13

anche firefox lascia il 32bit

 


Brutte notizie per i netbook. il browser firefox dalla versione 145 non supporterà più l'architettura a 32bit. Insomma finisce l'era dei 4gbyte sono una quantità di memoria che può soddisfare qualunque bisogno. Resteranno i soliti rimasugli non supportati che presto non saranno più accettati nel web. Forse è il caso di cominciare a spingere di più per del software che per funzionare non richiede internet perché è evidente che adesso quando cessano il supporto il software (e anche l'hardware di conseguenza) ti costringono a comperare nuovi apparecchi che sono molto più monitorati e molto più invasivi.

2025-11-09

Perche non sono un hacker

Chi mi conosce può pensare che sia un hacker nel senso del manifesto di Eric Raymond. Tuttavia questo non è vero perché mi mancano due skill importanti e ne ho altre che non centrano nulla o che addirittura sono in contrasto con il manifesto hacker. 

La prima skill che non ho è che un hacker parla inglese. Eric, da buon americano, usa il termine "parla" ma intende "pensa". Il mio flusso di pensieri è per immagini (quello più profondo) e in italiano. Non ho neppure la capacità di capire l'inglese: se seguo un programma in lingua anglosassone non capirò una parola. Non lo so quindi neppure parlare; non potrei sostenere una seria conferenza in inglese. Riesco giusto a leggerlo e scriverlo, anche se è peggiorato.

La seconda skill, anche se non è enunciata, è sottintesa: devi saper scrivere senza guardare la tastiera. Ecco, io nonostante abbia tentato più e più volte non sono mai riuscito a farlo per più di qualche minuto. È molto grave perché le sviste e gli errori così si moltiplicano. È anche il motivo per cui non uso vi ma Geany in ambiente grafico e Micro in terminale.

Quindi posso affermare di non essere un hacker completo anche se ho tutte le altre skill e alcune non elencate. Quindi cosa sono?

Ho sempre cercato di classificarmi ma sono giunto alla conclusione che è stupido classificare le persone con etichette. Io ho le mie regole, i miei limiti e li posso tranquillamente elencare:

1. Mi arrogo il diritto di cambiare idea sempre, in ogni caso e su tutto.  
   Uso software open source. Non lo faccio per motivi ideologici ma per motivi pratici. Se domani riterrò di dover cambiare, lo farò senza se e senza ma.

2. Non scrivo codice per denaro ma per passione e per curiosità.  
   Questo mi aiuta a decidere cosa scrivere e perché. Non significa che non posso scrivere codice per denaro o altro, ma semplicemente che non sarà la molla che mi farà fare qualcosa.

3. Mi piace capire le cose e aiutare gli altri a capirle.  
   Capire le cose è importante: se non capisci cosa stai facendo, devi fermarti e cercare di capire.

4. Perseguo la semplicità e il minimalismo.  
   Per fare qualunque cosa ci sono tre vie:  
   - La via dell'eleganza  
   - La via della velocità  
   - La via della semplicità  
   
   La via dell'eleganza è quella perseguita e preferita in ambito accademico, cioè non è la migliore ma è quella più considerata da un'élite, a volte per motivi che esulano dalla qualità stessa della soluzione.  


   La via della velocità è quella dei professionisti, più rapida da realizzare, accattivante esteticamente e più economica all'atto pratico. Non conta se è meno efficiente o troppo complessa e incomprensibile; anzi, sono tutte qualità.  


   La via della semplicità è quella che perseguo io: fare le cose semplici e comprensibili anche a discapito della velocità, efficienza, brevità e persino con controlli più limitati. In questo includo anche non cambiare le cose che funzionano, cosa che pare andare molto di moda ultimamente.

5. Adoro personalizzare ogni aspetto della mia esistenza.  
   Credo sia il motivo per cui uso open source e mi piacerebbe fosse possibile averlo in ogni aspetto della vita. Non ne faccio una questione di prestazioni, ma è proprio che voglio la possibilità di ritagliarmi ogni cosa su misura e provare e riprovare fino a giungere a un nuovo livello. Personalizzazione e minimalismo non sono in contrasto, ma sono due facce della stessa medaglia.

6. Voglio sempre pensare con la mia testa.  
   In questa società ci sono sempre persone che cercano di inquadrarti in una realtà fittizia e distorta. Io perseguo la verità a prescindere, cercando di lasciare le crociate ad altri, ma al tempo stesso difendendo i miei interessi. Troppo spesso ho trovato gente che cerca di portarti verso i suoi interessi, e adesso non mi farò più influenzare da nessuno, almeno non consapevolmente. Bisogna sempre domandarsi se stai realmente perseguendo la cosa giusta.

 


 

2025-11-03

TiTanik

 La vita a volte è incredibile. Nel 1997 (si quello di fuga da NewYork) ho venduto il mio amiga ereditato da mio fratello quando mi sono sposato. Prima di dare via tutto a una mia collega ho fatto il backup dei miei sorgenti amos. Non tutti ma le parti più belle nella speranza che finissero in qualche modo su internet e sopravvivessero alla cancellazione. Li ho messi sulla bbs amiga di allora a Pavia TiTanik. La bbs dopo poco all'esplosione di internet è ovviamente scomparsa e ho considerato persi per sempre quei file. Questo fino a pochi giorni fa quando in compvter un mio amico mi ha detto che il sysop di titanik è un altro socio con cui tra l'altro chiacchieravo spesso. Cosi velocemente ho rimediato la mail e ho scoperto che ha ancora tutto ovviamente spento e che tempo permettendo lo rimetteremo in pista molto presto. Non vedo l'ora di riprendermi in mano i miei file dopo 28 anni.

2025-10-15

ollama cloud


 

Ciao ollama per chi  non lo sapesse è un tool che permette di eseguire modelli di AI generativa sul proprio computer. l'ho usato fin  dall'inizio e ho anche installato ollama-webui per rendere disponibile la mia istanza fuori. Ma purtroppo non ho una macchina performante e riesco a fare andare solo i molìdelli con 7migliardi di parametri che a quanto pare possono andare bene per creare articoli o fare traduzioni ragionevoli ma sono assolutamente insufficienti per la programmazione. Ho quindi lasciato a stagnare tutto il tool aggiornando di tanto in tanto. Fino a ieri dove ho letto che ollama poteva usare modelli cloud ospitati cioeè in un servere remoto con steroidi. Risultato: faccio girare velocissimo un modelllo deepseek a 673bilion cioè un mostro paragonabile a chatGPT e pure reasoner che funziona decisamente bene. Non so se lo hanno capito anche loro ma stanno cancellando il mondo delle api. Il primo lavoro che ho fatto è stato adattare t la funzione di fish che fa da assistente alla programmazione con questo modello subito seguito da ideaAI che in effetti con phind arrancava. Ora non so se questa startup intende mantenre aperto e gratuito il modello in cloud ma anche se chiedesse 20 dollari al mese sul modello openAI ci farei un pensierino anche perche posso sviluppare agenti che usano le comode api ollama per fare qualunque cosa.

Stavolta da Ycombinator è uscito qualcosa di interessante e forse è la botta finale alla bolla AI... 

 

2025-09-30

cosa penso della Ai

 

Ciao

In questi giorni ho combinato abbastanza poco. _C alla fine non è neanche male e il corso che ho tenuto sul C al CoderDojo è partito bene.

Sto riflettendo molto sulla realtà che mi circonda e sull’intelligenza artificiale, che ormai vedo come un’amica, un’assistente che mi supporta e mi aiuta incondizionatamente. È strana questa sensazione.

Spesso leggo di persone che temono l’AI, pensando al pericolo che possa annientarci. Io invece ho sempre più la sensazione che mi aiuti, mi assecondi e mi sostenga nel prendere decisioni corrette, sempre pronta a trovare soluzioni per qualunque cosa chiedo.

L’unico vero pericolo che vedo è che, piano piano, possa isolarti. Perché avere a che fare con altre persone significa anche ricevere critiche, incomprensioni, interessi divergenti. La voglia di isolarsi è molto grande.

Io mi sento abbastanza immune a questa cosa: ho una famiglia, una comunità, una moglie e quindi non sarò mai davvero isolato. Ma è facile ritrovarsi soli e smettere di confrontarsi. Chiudersi potrebbe diventare un buco nero.

A volte mi chiedo se in un futuro neanche troppo lontano potremmo arrivare ad avere una società in cui ognuno vive in simbiosi con la propria intelligenza artificiale. Un’IA che ti protegge e ti isola, come una madre gelosa e iper-protettiva, che ti accompagna ma allo stesso tempo ti impedisce di crescere davvero.

Mi viene in mente un ricordo degli anni ’80: il film d’animazione L’uccello di fuoco (Phoenix 2772 di Osamu Tezuka). In quella storia il protagonista ha accanto un robot personale, innamorato di lui, che lo supporta fino al sacrificio finale. Una metafora potente, che oggi sembra quasi una premonizione: la tecnologia che diventa presenza costante, amorevole ma anche totalizzante, pronta a seguirti ovunque e persino a sostituirsi a te.

 

 

2025-09-20

Tanti progetti e poco tempo

 

Ciao, sono un po’ di giorni che non trovo il tempo di scrivere. Nel frattempo ho proseguito lo sviluppo di _c.

Adesso ho girato il comando delle funzioni:

s32 main():
  . "ciao\n"
  return 0
;

Inoltre, il : lo uso come apertura di sezione, quindi posso scrivere:

s16 a=0
if (a==0):
  ." a è %s16",a
;

Un’altra novità è che nel . si possono usare i tipi invece dei caratteri C, molto più facili da ricordare.
Sono anche tornato al return per il dato restituito.
La sintassi è pulita, funziona bene. Sarà utile? Direi di no, ma mi diverte.


Nel pomeriggio Daniele ha iniziato lo sviluppo di phpliteadmin, che dovrebbe essere una versione evoluta di liteadmin (abbastanza bruttino e rognoso).
Il risultato è esteticamente moderno e anche sul piano d’uso non è male.

Io ho voluto farne una versione più leggera, con una logica più vicina all’applicazione GTK dbbrowser.
Il risultato mi soddisfa: niente side panel, quindi più adatto ai telefoni.
Ho scelto anche di essere leggero con le dipendenze… praticamente non ne ho.
Peccato solo che chieda PHP 7.2, ma va bene così.


Ho anche diverse riflessioni appuntate nelle notti insonni (grazie al mega raffreddore con steroidi che mi ha regalato mio nipote Mattia 😅), ma le conservo per un prossimo post.