Blog
Ultimi articoli e risorse
HyperFrames-Gradle : Trasforma l'AsciiDoc in Video MP4
Il plugin `hyperframes-gradle` trasforma l'AsciiDoc in video MP4 tramite HyperFrames. AsciidoctorJ gestisce il DSL di configurazione. Il bridge Node.js è isolato dietro ProcessBuilder. Questo plugin colma il vuoto tra slide e video standalone. Ecco perché esiste, come si articola con capsule-gradle e cosa apporta alla pipeline di produzione dei contenuti.
Audit de ma Consommation LLM : SQLite, OpenCode, Ollama Cloud, et Pourquoi Mon Abonnement Pro Éclate le Marché Mondial
J'ai ouvert la base SQLite d'OpenCode pour auditer ma consommation réelle sur 73 jours. 2,6 milliards de tokens, 1 022 sessions, coût API total de 22 centimes. Comparaison exhaustive avec Anthropic Claude ($300K+), OpenAI GPT, Groq, HuggingFace, Together AI, et les fournisseurs chinois. Résultat : mon abonnement Ollama Cloud Pro à 20€/mois est la meilleure offre du marché mondial, y compris face aux offres directes chinoises.
L'Architettura « Plugin Indipendente + Radice Consumatore »: Perché i miei Build Gradle Si Raddoppiano
Un clone, un `./gradlew tasks`, e il tuo plugin Gradle è funzionante. Zero configurazione, zero README da leggere. Ecco l'architettura che ho implementato nei miei 6 plugin foundry/public/ : una radice consumatore minimalista + una cartella `{name}-plugin/` autonoma. Perché questo pattern di "duplicazione apparente" è il più produttivo per lo sviluppo di plugin Gradle — con dogfooding nativo, isolamento dei build e un contratto DAG chiaro.
Le Knowledge Graph comme moteur de recommandation : comment j'ai tué les « articles connexes » chronologiques
Les « articles connexes » actuels sur cheroliv.com sont juste les 4 derniers posts publiés. Une aberration sémantique corrigée par un moteur de recommandation à trois couches : références explicites (xref), ontologie émergente (clusters NLP), et fallback chronologique. Le tout branché sur le Knowledge Graph de graphify, consommé par bakery — sans que engine ne sache rien de tout ça.
Da 27 a 45 volte più efficace di Claude e GPT: come una flotta di 23 esperti IA fine-tunati schiaccia il mercato
Fattore di efficienza da 27× a 45× rispetto a Claude, GPT e simili: come una flotta di 23 esperti IA fine-tunati sul mio workspace stravince il mercato. Architettura, dataset, training e deployment completo.
Plugin Gradle Home per Gestire Due Istanze Ollama Pro in Parallelo
Un build.gradle.kts fatto in casa per controllare due istanze di Ollama Pro tramite task Gradle — avvio, arresto, sign-in, pull di modelli e health check. L'infra pilotata dal build tool.
Cumulare due abbonamenti Ollama Pro sulla stessa macchina con Docker
Docker permette di duplicare un abbonamento Ollama Pro sulla stessa macchina isolando le chiavi di identità e le porte di rete. Ecco come fare, passo dopo passo.
Installer le terminal Kitty et configurer Zsh comme shell par défaut sous Xubuntu
Ce billet présente la démarche complète d'installation et configuration de kitty terminal sous ubuntu.
DGX Spark vs Cloud vs Abonnements LLM — Le Benchmark Économique Qui Tue le Rêve du Hardware Local
À $4 699 le DGX Spark, $20/mois Ollama Pro, $1.38/h le H100 en cloud — le calcul est vite fait. Ce benchmark compare toutes les options disponibles en 2026 pour faire tourner des LLMs, de l'inférence au fine-tuning. Verdict : le Spark est un objet de luxe, pas un outil rentable. La vraie raison d'acheter du hardware local en 2026 n'est pas économique — elle est politique.
La Matrice di Governance LLM — Perché la Sicurezza della Tua IA Inizia dall'Alberatura
E se la sicurezza della vostra IA non dipendesse da un prompt, ma da un sistema di file? Questo manifesto di architettura definisce una matrice 4×4 — zona fisica × diritto di accesso LLM — che rende meccanicamente impossibile la fuga di segreti, il mix open/closed source e la pubblicazione di opinioni travestite da fatti. Nessun prompt da scrivere. Nessuna regola da ricordare. Solo cartelle.
La Granularizzazione OSS/CSS — Perché ho tagliato foundry/ in due
foundry/` mescolava codice open source e codice privato nella stessa cartella. Il RAG e il knowledge graph non sapevano fare la differenza. La soluzione ? Dividere questa zona funzionale in due — OSS/ per il pubblico (Apache 2.0, indicizzazione libera), CSS/ per il closed source (dataset privato solo). Non c'è più bisogno di dire al LLM di essere prudente. Il sistema di file lo fa per lui. E ne ho approfittato per mettere cheroliv.com dove avrebbe sempre dovuto essere: nella cartella `office/sites/`.
La Compartimentazione epistemica automatizzata — Come il LLM protegge il mio giardino mentale
Il pattern STIMULUS non si limita a catturare idee grezze e a diluirle nei documenti del workspace. Aggiunge uno strato critico: il LLM è responsabile di classificare ogni informazione in Vision (pubblicabile sul blog), Opinion (confinata al cerchio privato) o Strategia (diluizione limitata). Questa segregazione epistemica automatizzata è ciò che permette di pensare liberamente nel Cerchio 0 senza timore di pubblicazione inappropriata.
Il nostro primo assunto : l'Anonimizzatore di Datasets — MVP0 in periodo di prova
Prima di fare RAG, fine-tuning o SaaS, è necessario avere dati puliti. Il nostro primo assunto durante il periodo di prova — l'Anonymiseur — rileva e pulisce le PII in fonti multi-tecnologiche (SQL, pgvector, ONNX, Graphify, JSON, YAML, AsciiDoc). È il MVP0. Senza di lui, tutto il resto è sia illegale che tecnicamente degradato. Ecco come questo componente trasforma un problema universale in un prodotto commerciale.
Il nostro primo assunto: l'anonimizzatore di dataset — MVP0 in periodo di prova
Prima di fare RAG, fine-tuning o SaaS, servono dati puliti. Il primo assunto in periodo di prova — l'Anonymiseur — rileva e pulisce le PII nelle sorgenti multi-tecnologie (SQL, pgvector, ONNX, Graphify, JSON, YAML, AsciiDoc). È l'MVP0. Senza di lui, tutto il resto è o illegale o tecnicamente degradato. Ecco come questo blocco trasforma un problema universale in un prodotto commerciabile.
Il Giardino Segreto dello Sviluppatore: Come l'ontologia spaziale allinea gli LLM senza ingegneria dei prompt
E se il modo migliore per allineare un LLM non fosse un prompt, ma un sistema di file? Il mio spazio di lavoro è strutturato in quattro cerchi di fiducia concentrici, dal più intimo al più pubblico. Il LLM non deve memorizzare le regole — le vede ad ogni percorso di file. Ecco come questa ontologia spaziale rende la governance degli agenti più robusta di un blocco di regole testuali.
Migrazione Supabase → Firebase: Collegare un Modulo di Contatto a Firestore Senza Backend
Il mio modulo di contatto girava su un mock da mesi. Il piano iniziale Supabase è stato abbandonato a favore di Firebase. Racconto la creazione del progetto, la configurazione di Firestore, la riscrittura del JS di invio, la pulizia del codice morto e cosa questa migrazione dica della mentalità «finire ciò che si è iniziato».
DeepSeek-V4-Pro, Kimi K2.6, GLM-5.1: Tre LLM alla Prova del Vibe Coding Long Contexte
Per tre settimane, ho fatto girare tre modelli principali nelle mie sessioni di sviluppo di plugin Gradle con Opencode. Contesto da 30K token, governance Eager/Lazy/Hot/Warm/Cold, task di refactoring, TDD e architettura. Ecco quale è sopravvissuto — e perché gli altri hanno fallito.
Audit del Contesto Agente: Quando la Tua Stessa Governance Diventa il Problema — e Come Ripararla senza Perdere Nulla
Dopo due articoli sulla strutturazione e il backup del contesto agent, scopro che il file che documenta il metodo è diventato esso stesso il più grande consumatore di token. Audit sezione per sezione di un `AGENT_MODUS_OPERANDI` di 627 righe, identificazione dei duplicati e soluzione di split enciclopedico che preserva l'ingegneria senza saturare il contesto.
Sliding Window e Vague Froide: Quando il Contesto Agent Esplode e Bisogna Archiviare senza Perdere
Dopo mesi di sessioni Opencode, i file di governance esplodono. 5200 righe caricate automaticamente. Sto concettualizzando un meccanismo di sliding window e di "vague froide identique" per mantenere un contesto attivo leggero senza perdere nulla.
Quando Gradle 9, Docker 29 e Testcontainers si mettono in crisi: debugging di un build JHipster
Un `./gradlew build` che fallisce con undici errori consecutivi, da una variabile `reportsDir` inesistente fino a Docker Engine 29 che rifiuta il client docker-java 1.32. Ecco il registro completo del debugging di un build JHipster su Gradle 9, Java 21 e Testcontainers 2.0.5.
Governare un Agente IA con AsciiDoc: La Mia Strategia Eager/Lazy per Sessioni Opencode senza Perdita di Contesto
Di fronte alla perdita di contesto tra le sessioni di un agente IA, ho sviluppato una strategia di governance artigianale basata su file AsciiDoc. Il principio: una dashboard Eager caricata automaticamente, un manuale del proprietario Lazy su richiesta e una procedura di fine sessione imprescindibile.
Pourquoi `serve` affichait un site moche alors que `publishSite` était parfait
La tâche `serve` de mon plugin Gradle JBake affichait des boutons rectangulaires, des textes illisibles et un CSS partiellement absent, alors que `publishSite` produisait un site parfait. Root cause : des arguments CLI JBake passés avec une syntaxe incorrecte. Voici le diagnostic complet et comment je l'ai corrigé.
OpenCode et le PATH incomplet : pourquoi vos outils n'étaient pas dans le shell de l'agent
OpenCode exécute des shells non-interactifs qui ne sourcent pas .zshrc. Résultat : SDKMAN, NVM, ~/apps et pnpm sont absents du PATH de l'agent. Diagnostic complet du problème, comparaison du comportement SDKMAN vs NVM, et solution définitive via .zshenv + symlink ~/.nvm/current.
Intégrer Graphify dans un workflow Gradle : du Knowledge Graph au diagramme PlantUML en une commande
Graphify extrait un Knowledge Graph de votre codebase. Le plugin Gradle PlantUML transforme ce graphe en diagrammes PlantUML déterministes. Pipeline complet : pip install graphify → graphify . --no-viz → ./gradlew generateKnowledgeGraphDiagram → diagrammes PNG versionnés dans Git.
Integrare Graphify in un workflow Gradle: dal Knowledge Graph al diagramma PlantUML in un unico comando
Graphify estrae un Knowledge Graph dalla vostra codebase. Il plugin Gradle PlantUML trasforma questo grafo in diagrammi PlantUML deterministici. Pipeline completa: `pip install graphify` → `graphify . --no-viz` → `./gradlew generateKnowledgeGraphDiagram` → diagrammi PNG versionati in Git.
Il super tip del comando `fg`: quando Ctrl+Z salva la tua sessione del terminale
Hai lanciato un comando che blocca il tuo terminale? Ctrl+Z lo sospende, fg lo riprende. Scopri come `fg`, `bg` e `jobs` trasformano la tua produttività nel terminale.
VS Code nella Home: installazione locale e personalizzazione dei font senza sudo
Installa VS Code nella tua home Linux per mantenere il controllo totale senza sudo. Poi personalizza i font del menu e dell'esplorafile — un percorso a ostacoli che porta finalmente a un'UI leggibile.
Migrazione di un plugin Asciidoctor RevealJS verso buildSrc Kotlin : ingegneria inversa di un'API Groovy
Come migrare la configurazione di una task AsciidoctorJRevealJSTask dal buildscript radice verso un plugin buildSrc Kotlin autonomo, sostituendo il DSL Groovy ruby { gems() } con i suoi meccanismi sottostanti scoperti tramite introspezione di bytecode.
Architecture Portfolio JBake - Vision et Use Cases
Découvrez comment j'ai résolu une série de problèmes complexes de mocking Mockito dans les tests d'un plugin Gradle, de l'erreur "Wanted but not invoked" aux "Unfinished Stubbing" en cascade.
Architettura Ibrida: Il Meglio dei Due Mondi con Supabase e Spring Boot
Combina Supabase per il CRUD semplice e Spring Boot per la logica complessa. Architettura ibrida pragmatica, scalabile ed economica.
Architettura Ibrida: il meglio dei due mondi con Supabase e Spring Boot
Combina Supabase per il CRUD semplice e Spring Boot per la logica complessa. Architettura ibrida pragmatica, scalabile ed economica.
L Art du Pré-chargement : Éliminer le "Flash" de Thème avec JavaScript et CSS
Logging Efficace nei Test Funzionali dei Plugin Gradle
Guida completa per implementare un sistema di logging robusto e indipendente nei test funzionali di plugin Gradle con SLF4J e Logback
Mostrare quadrati colorati in AsciiDoc: Guida pratica
Guida pratica per integrare campioni di colore in AsciiDoc utilizzando la macro pass:[] con HTML e CSS inline. Compatibile con JBake e tutti i processori.
Internazionalizzazione di un sito statico JBake con Thymeleaf
Installer et vérifier Tor Browser sous Ubuntu
Procédure complète pour télécharger, vérifier et lancer Tor Browser sous Ubuntu, avec une réflexion sur la vérification cryptographique et la navigation éthique et éducative dans le réseau Tor.
Article 5 : L'Aventure du libs.versions.toml Partagé
Une plongée dans le catalogue de versions de Gradle (libs.versions.toml) et comment le partager dans un build composite, à travers un problème concret rencontré avec notre plugin site-baker.
Articolo 4 : La trappola della cache di configurazione Gradle
Un'avventura di debug inaspettata che ci ha immersi nelle sfumature della cache di configurazione di Gradle. Scopri perché i nostri build si comportavano stranamente e come abbiamo risolto il problema.
Article 3 : Intégration de Jackson pour le Parsing YAML avec TDD dans un Plugin Gradle
Découvrez comment intégrer la bibliothèque Jackson pour parser des fichiers de configuration YAML en objets Kotlin dans un plugin Gradle, en suivant une approche de Développement Guidé par les Tests (TDD).
Articolo 2 : Sviluppare un Plugin Gradle con un Approccio TDD
In questo articolo, esploreremo come impostare una solida base di sviluppo per un plugin Gradle utilizzando un approccio di sviluppo guidato dai test (TDD - Test-Driven Development).
Articolo 1 : Creare un Plugin Gradle da A a Z con il comando gradle init
Una guida passo dopo passo per inizializzare un progetto di plugin Gradle utilizzando la task standard `init`, comprendere la struttura generata e avviare i primi comandi di build.
Articolo 0 : Impostazione dell'Ambiente per creare plugin Gradle
Prima di codificare il nostro primo plugin, dobbiamo preparare la nostra macchina. Questa guida ti mostra come installare e configurare gli strumenti essenziali: un JDK, IntelliJ IDEA, Gradle e JBake.
CI/CD Python – Parte 3: Andare oltre con Poetry, Docker e la pubblicazione avanzata
Parte 3 - Guida completa per impostare un pipeline CI/CD robusto con GitHub Actions, dal linting e test automatizzati al deployment automatico su PyPI durante le release.
Parte 2 : Industrializzare e proteggere un pipeline CI/CD Python avanzato
Parte 2 - Guida completa per impostare un pipeline CI/CD robusto con GitHub Actions, dal linting e test automatizzati al deployment automatico su PyPI durante i rilasci.
Parte 1 : Impostare un pipeline CI/CD semplice per Python e PyPI
Parte 1 - Guida completa per impostare un pipeline CI/CD robusto con GitHub Actions, dal linting e test automatizzati al deploy automatico su PyPI durante i rilasci.
Développement d'un Bot Discord Musical : Architecture Fonctionnelle et Log Driven Development
Refroidir et surveiller la température de son laptop sous Ubuntu
Récit d'un débogage : dompter les caprices de Firefox avec Bootstrap 5
Résoudre le Défi des Tests Unitaires Gradle avec `gradle.properties`
Découvrez une technique efficace pour tester unitairement des plugins Gradle qui dépendent de `gradle.properties`. Cet article explique comment utiliser `ExtraPropertiesExtension` pour simuler des propriétés, garantissant des tests isolés, fiables et maintenables, illustré par des diagrammes PlantUML.
Ottimizzare la gestione delle attività Gradle con Kotlin DSL e buildSrc
Ottimizza Gradle con buildSrc e Kotlin DSL per attività riutilizzabili e build più puliti
TDD di un Plugin Gradle Kotlin configurabile con JBake e JGit
Questo articolo presenta l'intero processo di progettazione e test (TDD) di un plugin Gradle scritto in Kotlin DSL. Questo plugin automatizza la generazione di siti statici con *JBake* e il *deployment Git* tramite *JGit*, il tutto a partire da un file YAML di configurazione.
AsciiDoc : Découvrir et maîtriser la syntaxe pour une documentation efficace
Plongez dans la syntaxe d’AsciiDoc et apprenez à écrire des documents clairs, structurés et puissants pour tous vos besoins de documentation et de publication.
Esporre un servizio locale su Internet da Ubuntu: Guida completa al port forwarding
Come configurare il port forwarding per rendere accessibile un servizio locale in esecuzione su Ubuntu dall'esterno della tua rete domestica.
Debugging Mockito: Résoudre l'erreur "Wanted but not invoked" dans les tests de plugins Gradle
Découvrez comment j'ai résolu une série de problèmes complexes de mocking Mockito dans les tests d'un plugin Gradle, de l'erreur "Wanted but not invoked" aux "Unfinished Stubbing" en cascade.
Kotlin Arrow: padroneggiare la navigazione nella monade Either
Scopri le tecniche avanzate per navigare efficacemente nei lati right e left della monade Either con la libreria Kotlin Arrow.
Guida pratica: ricerca di file sotto Linux
Impara a cercare efficacemente i file sotto Linux con Zsh utilizzando find, locate e grep.
Memo linux
Simple memo su unix/linux e il terminale bash
Esporre una porta sottosistema Linux per l'host Windows
Esporre una porta del sottosistema Linux per l'host Windows, con il comando `wsl --install`.
Installare Pandoc
Installa Pandoc che è un trasformatore di documenti, su Linux e Windows WSL
Implementazione di kotlin.Triple in JavaScript, TypeScript e Python
Proponiamo un'implementazione di kotlin.Triple in JavaScript, TypeScript e Python
Introduzione a Google Apps Script
Introduzione completa a Google Apps Script
Formation Express sur Google Form Script et Automatisation
Formazione Express su Google Form Script e Automazione
Nota Python
semplice memo Python
Sviluppatore web
Formazione sviluppatore web
Trading card games (TCGs)
Allenamento giochi di carte collezionabili (TCG)
Memo Typescript
semplice memo Typescript
Promemoria CSS
promemoria CSS semplice
Promemoria HTML
memo semplice HTML
Nota Javascript
semplice memo JavaScript
Memo di inquadratura
semplice promemoria sull'inquadramento di un progetto.
Memo Kotlin
semplice nota kotlin
Nota JVM
semplice memo JVM
Promemoria Gradle
memo gradle semplice
Formazione - kotlin: enum, sealed classes
Programmazione in kotlin: enum, classi sigillate
Formazione - Kotlin
Programmazione in kotlin, piano.
Memo del sistema di design
Semplice promemoria dei link utili e dei riferimenti nel design system
Kubernetes, Microk8s, Docker: primi passi
Installazione, configurazione di micro kubernetes, docker, e avvio di un helloworld su linux/unix
Gradle: Eseguire un processo esterno da un'attività Gradle
Come avviare un binario esterno da un task Gradle
Kotlin: NotImplementedException, NotImplementedError
Non ancora implementato, permette di sollevare l'eccezione corretta
Estrarre
l'applicazione untar
Gradle: Eseguire nuovamente i test anche quando i test sono aggiornati
aggiungere l'argomento --rerun-tasks alla riga di comando
Docker, non installa l’applicazione ma la tira invece
ottimizzazione docker
Gherkin in italiano:
BDD, cucumber, gherkin in francese
Gradle cli: sovrascrivere un parametro
./gradlew -Pparam_component=CUSTOM
Memo git
semplice memo git
Estrarre da un URL
wget aspiratore di URL
Creare un disco avviabile
creare il proprio disco avviabile
Decomprimere tramite CLI in una cartella di destinazione
decomprimere da riga di comando
Mostra la somma delle dimensioni dei file nell'elenco delle directory
la somma delle dimensioni dei file in una cartella
Distruggere un branch su github
complemento memo git
Asciidoc/Markdown promemoria
promemoria semplice ascidoc/markdown
Debian : Installare un file .deb da riga di comando
installare file .deb dalla riga di comando
Gradle: cartella resources visibile nell'IDE
aggiungere una cartella al classpath di un build gradle
Script Groovy, configurazione grab e ivy
gradle groovy ivy
Groovy: un po' di algebra, il MCD e il mcm
dell'algebra in groovy
Bash : Trovare file per estensione output su file con find
un po' di bash con find
Gestire un progetto digitale con una metodologia a cascata
un po' di methodo dei progetti digitali con la metodologia a cascata
Elencare i database in un'istanza di PostgreSQL
tentativo di postgres
Groovy: Rinomina i file ricorsivamente
ricorsione in groovy
Groovy: ricerca di file con criterio, copia della selezione
ricerca di file per pattern in Groovy
Groovy: Manipolazione di file, ricerca e cancellazione
manipulation di file e ricerca di caratteri in groovy
Groovy: Sostituire una sequenza di caratteri in una String e caricare un Properties da un file
manipulazione di Properties e ricerca di pattern in groovy
Groovy: Caratteri ASCII
del groovy, dei cicli e della manipolazione di codice ascii