Lezioni dalla produzione.
Note dal campo da sistemi reali — storie di debug, scelte di architettura, anti-pattern pagati con outage. Niente tutorial, niente hot take. Solo ciò che ha tenuto alle 3 del mattino.
Costi cloud Blender 2026: RebusFarm, GarageFarm, RunPod vs. ZER0ONE Lab — conti concreti
Abbiamo calcolato tre job Blender tipici su quattro provider: turntable da 240 frame, cinema loop 4K, batch prodotto da 100 frame. Numeri onesti inclusi i point system e il tempo di self-setup — niente marketing. Risultato: nessun provider vince tutti e tre gli scenari, ma un fattore di costo viene spesso trascurato.
Se avvii Redis solo per il job trigger, poi lo butti fuori di nuovo: Postgres pg_notify come worker queue
Il nostro worker di cinema-orch doveva vedere subito i nuovi render job — un polling ogni 5 secondi era troppo lento e faceva salire il carico Postgres nell’ordine delle cinque cifre in QPS. Aggiungere Redis era il riflesso ovvio. Abbiamo scelto invece \`LISTEN/NOTIFY\`, abbassato la latenza sotto i 200 ms e tenuto un intero componente fuori dallo stack.
3.544 aziende DACH scored senza rendere imbarazzante una cold campaign — la nostra lead pipeline nel dettaglio
„Gentile Sig./Sig.ra Auto" è l'intestazione email che ricevi per Car Den KFZ Reparatur quando ti fidi dei domini di free-mail come fonte del nome. Su qualche migliaio di send è fatale. Abbiamo quindi costruito una pipeline di filtri a 4 layer che da una raw list DACH auto-crawlata produce 3.544 aziende verificate e mobile-unfriendly — abbastanza pulita per l'invio automatizzato.
Anatomia di un add-on Blender che parla OAuth e REST — senza congelare la UI
L’API bpy di Blender gira sul main thread. Una chiamata HTTP bloccante per l’upload di un file \`.blend\` da 500 MB lascia Blender „non risponde“ per 90 secondi — e la maggior parte degli utenti forza il restart del processo. Il fix è un background worker con timer callback verso il main thread, più OAuth device flow (nessun browser callback necessario).
Come portare l’indexing di Bing da settimane a ore — un deploy hook, 15 righe di bash
Bing tipicamente non fa un crawl completo di un sito nuovo prima di 3–6 settimane. Per un cold launch è troppo. IndexNow è il semplice protocollo di segnalazione di Microsoft — una richiesta POST per deploy, e i nuovi URL sono nell’indice Bing in meno di un’ora. Bonus: le citation di ChatGPT Search passano attraverso l’indice Bing.
Sei domande che i 3D studio ci pongono sul cloud rendering — e le risposte oneste
Quanto costa davvero un render 4K, quanto dura l'upload di una .blend da 12 GB, cosa succede se il job crasha al frame 187 di 240, e perché accettiamo clienti di cui non abbiamo mai visto la scena? Sei risposte da quattro settimane di inbox di supporto beta.
Cinema 4D vs. Blender nel cloud: perché il 4× di differenza di prezzo non c'entra con il software
Un render Cinema 4D da noi costa 4× più dello stesso job in Blender. Non perché Cinema 4D sia più lento — Redshift su una A6000 renderizza a velocità comparabile a Cycles OptiX sulla stessa scheda. La differenza sta altrove: la politica di licensing di Maxon costringe i cloud vendor in un modello che la libertà GPL di Blender semplicemente non ha.
Quattro strati di protezione dei costi: come il nostro auto-scaler non fa esplodere la fattura
Un cliente carica una scena rotta, l'orchestrator avvia un pod, il pod finisce in OOM infinito, tenta tre retry, ogni pod ci costa 0,80 dollari al minuto. Senza protezione, questo genera in un'ora una fattura a tre cifre. Quattro strati indipendenti devono fallire prima che accada.
Il bug della CPU al 90 % nel nostro Cinema Web: come React Three Fiber ha grigliato la nostra landing page
Il task manager di Chrome mostrava l’87 % di CPU su un laptop Intel i7, non appena zer0onelab.com era aperto in un tab. Non 87 % di picco. 87 % steady state. Pensavamo fosse colpa del Bloom di post-processing. Era invece il setting DPR combinato con una GPU-Tier-Detection mancante.
Come due domini diventano una sola entity Google: le cross-reference JSON-LD @id spiegate
Gestiamo zer0one.codes (Studio) e zer0onelab.com (Cloud-Product). Per Google sono state a lungo due aziende separate — pur essendo la stessa GmbH. Il fix è una singola riga per nodo JSON-LD: URI @id stabili più reference parentOrganization / subOrganization. Dopo, il Knowledge Graph di Google risolve entrambi i domini come la stessa entity.
La GPU più economica per i render Blender non è la più veloce — RTX A4000 nel confronto cost-per-frame
240 frame di turntable RS6, 1080p, Cycles OptiX a 128 sample: 3 minuti e 18 secondi, 1,4 centesimi di dollaro di costo totale. Il rendering sulla RTX A4000 è più lento che su una H100 — ma costa un decimo per frame. Perché la metrica „GPU più veloce" nel cloud è quella sbagliata.
L'anonimato come invariante architetturale: perché «non vi contatteremo» non basta
Promesse come «non sarete mai contattati senza preavviso» nelle piattaforme B2B non sono applicabili — i fornitori le aggirano offline. Ciò che funziona è un'invariante tecnica: i dati di contatto vivono in una sfera separata, il server li rilascia solo a match bilaterale. Una proprietà del codice, non una clausola dei TOS.
Static export invece di webshop: quando il negozio è fisico, il carrello è il problema
Una boutique con sede fisica non ha bisogno di un webshop, ma di un percorso di conversione verso il negozio. Abbiamo eliminato carrello, checkout e sync magazzino — e consegnato un prodotto più veloce, più economico, più robusto.
Schema.org LocalBusiness: la leva sottovalutata per le SERP regionali
Un piccolo sito di artigiani non si posiziona tramite backlink, ma tramite segnali di dati strutturati. Schema.org LocalBusiness con coordinate geo, `areaServed` e `serviceArea` è una leva diretta per le query locali — più efficace di qualsiasi meta tag, perché Google lo legge come fatto, non come affermazione.
Sintomo ≠ Causa: come l'auto-healer è diventato il vero problema
Un PostgreSQL primary al 91 % di CPU. L'auto-healer killa la query più rumorosa. Un'ora dopo: di nuovo 91 %. La lezione: i quickfix possono incastrarsi in loop infinito se nessuno chiede quale pattern si stia ripetendo.
Cache senza lock è thundering herd: 14 endpoint, 8 worker, un database morto
L'expire della cache è l'unico momento in cui i worker paralleli diventano costosi tutti insieme. Senza un lock per chiave, ogni refresh manda l'intero carico sul percorso più lento.
Expression index ignorato: perché COALESCE nell'indice non corrispondeva all'ORDER BY — 29 500× di speedup
Un indice funzionale su COALESCE(column, 0) non aveva alcun effetto. Il planner lo ignorava perché l'ORDER BY usava un'espressione lievemente diversa. Lezione: l'identità dell'espressione non è un suggerimento, è una precondizione.
UPDATE con subquery e LIMIT: quando il daemon gira a vuoto
Un semplice pattern UPDATE che sembra corretto su piccoli dataset e in produzione stagna silenziosamente. La causa: un filtro nel posto sbagliato distrugge il progresso.
Commit prima dell'I/O asincrono: come un enricher ha tenuto idle l'intero pool PgBouncer
Una transazione in attesa di una risposta HTTP è invisibile nel connection pool — ma occupa lo slot. Con dodici daemon paralleli basta a portare un backend intero al 502.
Finalizzazione batch a livello di container: perché il monitor non ha visto nulla per 83 minuti
Una pipeline con N sub-job paralleli finalizza lo stato a livello di batch — tutti i worker stanno girando, ma il monitor segnala blocco finché l'ultimo container non finisce. La soluzione: finalizzare per container, non per batch.
Dietro alle lezioni ci sono case reali.
Guarda i sistemi da cui questi insights sono nati — o porta direttamente il tuo problema sul tavolo.