Lekcije iz produkcije.
Terenske bilješke iz stvarnih sustava — debug priče, arhitektonski kompromisi, anti-uzorci koje smo platili padovima. Bez tutoriala, bez hot takeova. Samo ono što je izdržalo u 3 ujutro.
Troškovi Blender clouda 2026: RebusFarm, GarageFarm, RunPod vs. ZER0ONE Lab — konkretni računi
Izračunali smo tri tipična Blender joba kod četiri dobavljača: 240-frame turntable, 4K cinema loop, 100-frame product batch. Pošteni brojevi uključujući sustave bodova i vrijeme self-setupa — bez marketinga. Rezultat: nijedan dobavljač ne pobjeđuje u sva tri scenarija, ali jedan trošak često se previđa.
Ako Redis startaš samo za job-trigger, izbaci ga natrag: Postgres pg_notify kao worker queue
Naš cinema-orch-worker morao je odmah vidjeti nove render jobove — 5-sekundno polling bilo je presporo i guralo je Postgres-load u peteroznamenkasti QPS-raspon. Redis dodati bio je očit refleks. Umjesto toga uzeli smo \`LISTEN/NOTIFY\`, spustili latenciju ispod 200 ms i cijelu komponentu držali izvan stacka.
Bodovanje 3.544 DACH firmi bez pretvaranja cold kampanje u sramotu — naš lead pipeline u detalju
„Poštovana/i gđo/g. Auto" je oslovljavanje koje dobiješ za Car Den KFZ Reparatur kada vjeruješ free-mail domenama kao izvoru imena. Kod par tisuća slanja to je fatalno. Zato smo izgradili 4-slojni filter pipeline koji iz vlastite crawlane DACH sirove liste proizvodi 3.544 verificirane, mobile-unfriendly firme — dovoljno čiste za automatizirano slanje.
Anatomija Blender add-ona koji priča OAuth i REST — bez zamrzavanja UI-ja
Blenderov bpy API radi u main threadu. Blokirajući HTTP-poziv za 500 MB .blend upload ostavlja Blender „ne odgovara" 90 sekundi — a većina korisnika onda prisili proces na restart. Fix je background-worker s timer-callbackom u main thread, plus OAuth Device Flow (bez browser-callbacka).
Kako Bing indexing spustiti s tjedana na sate — jedan deploy-hook, 15 linija bash-a
Bing tipično crawla svjež site pravilno tek nakon 3 do 6 tjedana. Za cold-launch je to predugo. IndexNow je Microsoftov jednostavan signal-protokol — jedan POST-request po deployu i novi URL-ovi su ispod sat vremena u Bing indexu. Bonus dolazi: ChatGPT-Search citati idu preko Bingova indexa.
Šest pitanja koja nam 3D studiji postavljaju o cloud renderiranju — i iskreni odgovori
Koliko stvarno košta 4K render, koliko dugo traje upload 12 GB .blend datoteke, što se događa kada dođe do pada na frameu 187 od 240, i zašto prihvaćamo klijente čiju scenu nikad nismo vidjeli? Šest odgovora iz četiri tjedna beta support inboxa.
Cinema 4D vs. Blender u cloudu: zašto 4-struka razlika u cijeni nema veze sa softverom
Cinema 4D render kod nas košta 4× više od istog jobja u Blenderu. Ne zato što je Cinema 4D sporiji — Redshift na A6000 renderira otprilike istom brzinom kao Cycles OptiX na istoj kartici. Razlika leži drugdje: Maxonova politika licenciranja tjera cloud dobavljače u model koji Blenderova GPL sloboda jednostavno ne poznaje.
Četiri sloja zaštite od troškova: kako naš Auto-Scaler ne raznese račun
Klijent uploada pokvarenu scenu, orchestrator startuje pod, pod ulazi u beskonačni OOM, pokušava tri retryja, svaki pod nas košta 0,80 US dolara po minuti. Bez zaštite to za sat vremena postaje troznamenkasti račun. Četiri neovisna sloja moraju zakazati da bismo to doživjeli.
90-postotni CPU bug u našem Cinema Webu: kako je React Three Fiber pekao naš landing page
Chromeov Task Manager pokazivao je 87 % CPU-a na Intel i7 laptopu čim je zer0onelab.com bio otvoren u tabu. Ne 87 % peak. 87 % steady state. Mislili smo da je uzrok post-processing Bloom. Uzrok je bio DPR postavka u kombinaciji s nedostajućom GPU-Tier-Detection.
Kako dvije domene postaju jedan Google entitet: JSON-LD @id cross-reference objašnjen
Vodimo zer0one.codes (studio) i zer0onelab.com (cloud proizvod). Za Google su to dugo bile dvije odvojene tvrtke — iako se radi o istom d.o.o.-u. Fix je jedna jedina linija po JSON-LD nodeu: stabilni @id URI-ji plus parentOrganization/subOrganization reference. Nakon toga Googleov Knowledge Graph obje domene razrješava kao isti entitet.
Najjeftinija GPU za Blender renderiranja nije ona najbrža — RTX A4000 u Cost-per-Frame usporedbi
240 frameova RS6 turntablea, 1080p, Cycles OptiX pri 128 semplova: 3 minute 18 sekundi, 1,4 američka centa ukupnog troška. Renderiranje na RTX A4000 sporije je nego na H100 — ali po frameu košta jednu desetinu. Zašto je metrika „najbrža GPU" u cloudu pogrešna.
Anonimnost kao arhitektonska invarijanta: zašto „nećemo vas kontaktirati” nije dovoljno
Obećanja poput „nikada vas nećemo kontaktirati nezatraženo” na B2B platformama nisu provediva — pružatelji ih zaobilaze offline. Ono što djeluje je tehnička invarijanta: kontaktni podaci žive u odvojenoj sferi, server ih otključava tek na obostrani match. Svojstvo koda, ne TOS klauzula.
Static export umjesto webshopa: kad je trgovina fizička, košarica je problem
Butik s fizičkim mjestom ne treba webshop, već konverzijski put do trgovine. Maknuli smo košaricu, checkout i sync zaliha — i isporučili brži, jeftiniji, robusniji proizvod.
Schema.org LocalBusiness: podcijenjena poluga za regionalne SERP-ove
Mala obrtnička stranica ne rangira preko backlinkova, već preko strukturiranih podatkovnih signala. Schema.org LocalBusiness sa geo koordinatama, `areaServed` i `serviceArea` izravna je poluga za lokalne upite — učinkovitija od bilo kojeg meta taga, jer ju Google čita kao činjenicu, a ne kao tvrdnju.
Simptom ≠ Uzrok: kako je auto-healer postao pravi problem
PostgreSQL primary na 91 % CPU-a. Auto-healer ubija najglasniji query. Sat kasnije: opet 91 %. Lekcija: quickfix-ovi se mogu zaglaviti u beskonačnoj petlji ako nitko ne pita koji se obrazac ponavlja.
Cache bez locka je thundering herd: 14 endpointa, 8 workera, jedna mrtva baza
Cache expire jedini je trenutak kad paralelni workeri istovremeno postanu skupi. Bez locka po ključu svaki refresh šalje cijelo opterećenje na najsporiji put.
Expression index ignoriran: zašto COALESCE u indeksu nije odgovarao ORDER BY-u — 29 500× speedup
Funkcionalni indeks na COALESCE(column, 0) nije imao nikakav učinak. Planner ga je ignorirao jer je ORDER BY koristio neznatno drugačiju ekspresiju. Lekcija: identitet ekspresije nije preporuka, to je preduvjet.
UPDATE sa subqueryjem i LIMIT-om: kad daemon vrti u prazno
Jednostavan UPDATE pattern koji djeluje ispravno na malim podacima, a u produkciji tiho stagnira. Uzrok: filter na krivom mjestu uništava napredak.
Commit prije async I/O-a: kako je jedan enricher držao cijeli PgBouncer pool u idle-u
Transakcija koja čeka HTTP odgovor nevidljiva je u connection pool-u — ali drži slot. S dvanaest paralelnih daemona dovoljno je da cijeli backend padne na 502.
Batch finalizacija na razini kontejnera: zašto monitor 83 minute nije vidio ništa
Pipeline s N paralelnih sub-jobova finalizira status na razini batcha — svi workeri rade, ali monitor javlja zastoj dok zadnji kontejner ne završi. Rješenje: finalizirati po kontejneru, ne po batchu.
Iza lekcija stoje pravi caseovi.
Pogledajte sustave iz kojih su nastali ovi uvidi — ili odmah na stol s problemom.