BLOG

Note di sviluppo

Appunti di lavoro, non annunci. Scelte di architettura che ho preso davvero, problemi che mi sono costati tempo e come li ho risolti. Se una cosa non l'ho misurata, lo dico.

AISaaSarchitettura

Quando non serve un LLM: come divido il lavoro fra dispositivo, classificatore e modello grande

Laravel AI SDK 1.0 promuove la classificazione a capacità a sé. È la stessa domanda che mi pongo in Miraviso: quale pezzo di lavoro merita davvero un modello generativo.

LEGGI →

LaravelDockerAI

Job lenti e container che uccidono: timeout e crash delle code Laravel in Docker

Un job che chiama un modello AI può scadere, finire in OOM o morire durante un deploy. Cosa cambiano killOnTimeout e CountCrashesAsExceptions, e come allineare i timeout.

LEGGI →

LaravelAIprivacy

Approvare uno strumento non è approvare un dato: cosa cambia (e cosa no) con Laravel AI SDK 1.0

Il contratto Approvable mette l'essere umano dentro il ciclo dell'agente. In Miraviso il confine che conta sta più in basso: nel punto in cui un'immagine lascia il dispositivo.

LEGGI →

Laravelsecurityprivacy

Storage::path() usciva dal disco: il path traversal che Laravel 13.30 chiude

Storage::get('../.env') veniva rifiutato, Storage::path('../.env') no. Cosa chiude Laravel 13.30 e perché il fix vero è non costruire mai un percorso dall'input.

LEGGI →

AISaaSprivacy

Trenta giorni per migrare: quando il tuo SaaS dipende da un modello che sta per sparire

Gemini Omni 1.1 Flash è GA e l'endpoint preview viene deprecato il 30 settembre. Come ci si prepara quando la privacy ti vieta di tenere i dati per i regression test.

LEGGI →

LaravelMySQLAI

Ricerca vettoriale nativa in Laravel: arriva MariaDB, MySQL resta fuori

Il PR che porta whereVectorSimilarTo su MariaDB è una lezione di design dei driver. Ma se i tuoi gestionali girano su MySQL liscio, resti fuori. Perché, e cosa fare.

LEGGI →

Laravelprivacysecurity

Dati sensibili nei log: cosa risolve (e cosa no) il mascheramento dei binding di Laravel 13.27

Una query fallita copia i dati dei clienti in log, failed_jobs e APM. Il nuovo flag di Laravel 13.27 chiude una falla, ma il modello di minaccia è più ampio.

LEGGI →

privacysecuritySaaS

Il server non può leggerle: note sensibili come buste sigillate in un SaaS B2B

In Miraviso le note sensibili sono cifrate con chiave derivata sul dispositivo: il server conserva buste che non può aprire. Costi reali e vantaggi.

LEGGI →

VueJavaScriptperformance

Vapor Mode di Vue 3.6: cosa insegna scrivere giochi browser senza framework

Vue 3.6 è in RC e Vapor Mode elimina il virtual DOM. Scrivere giochi di logica in JS puro mi ha insegnato perché è la direzione giusta — e quando conta davvero.

LEGGI →