HyperDither

One Thing Well blogon találtam az előbb az ingyenes HyperDither alkalmazást, amely tetszőleges képet konvertál 1 bites változattá az Atkinson féle dithering algoritmust használva. Kamaszkoromban imádtam ezt a “régi újságpapír render” stílust – igaz anno 8 meg 16 biten a Floyd-Steinberg dithering volt a “menő” 🙂 Így néz ki a kép dithering előtt: before-1bit-ditherA fotó Gaba cimborám munkája, a 2008 novemberi Nerdületen készült. Így meg utána: after-1bit-dither Az Atkinson dithering algoritmus előnye, hogy finom szemcsés részleteket tart meg, ám a túl sötét / túl világos tónusú képrészletek bebuknak / kiégnek. Ez jól látszik a mintának választott fotón is: a sötét nadrágok finom részletei mind elvesztek a konverzió során. Ettől függetlenül nekem nagyon tetszik a végeredmény, ezért gondoltam, hogy felhívom rá a figyelmed. Szintén ezek a srácok csinálják a 2 USD-ba kerülő Percolator nevű fotó effektező iOS app-ot – érdemes vetni rá is egy pillantást.]]>

Hogy dolgozzam így hatékonyan, idióták?!

A probléma Amennyiben Excel 2007 feletti verziókban úgy akarsz conditional formattingot (=feltételes formázás) létrehozni, hogy az képlettel számolódik és a felhasznált képlet relatív hivatkozást tartalmaz, akkor a VBA engine hibásan az conditional formatting target range-ének első celláját használja fel _abszolút_ címzéssel a kért relatív címzés helyett.

A M$ féle “megoldás

Ne használj relatív címzést. Köszi. Az nem tudom feltűnt-e az ominózus WORKAROUND írójának, hogy a spreadsheet egyik legnagyobb előnye a relatív címzés használata.

Mindezek után a probléma közérthetőbben, példával

Képzeld el, hogy az a feladat, hogy 15000 cellát kell ugyanazzal a képlettel számoló feltételes formázással ellátnod (a 15000 cella még “öcsi”, bőven tudnak az userek ettől izmosabbat kérni). Nos, eddig ezt megtehetted úgy, hogy az összes cellára kiadtad a formázási utasítást, mostantól azonban szerintük ez úgy fasza, ha egyesével végigiteráltatod egy ciklussal minden egyes cellát és úgy “oldod meg” azt a problémát, amit az agyatlan codereik generáltak (ugyanis Excel 97-Excel 2007 között ez normálisan működött). Lehet találgatni, melyik mennyi időt vesz igénybe… Charles Simonyi agyoncsapná a codereiteket ezért, ha látná, hogy mit műveltek! Van fogalmatok ott Redmondban arról, hogy ezzel mekkora bajt okoztok a már kész VBA alkalmazásokban, amelyek használatánál a szerencsétlen döntéshozók a conditional formatting által vizualizált inputra támaszkodnak? Forr a vérem. Update: pont ez a feladat jött szembe ma az ügyfélnél, gondoltam mérek egyet: 6610 cellán futott le a kétféle conditional formattinggal ugyanaz az algoritmus – íme a futási eredmény hh:mm:ss bontásban, hogy a redmondi srácok is értsék, mekkora szart kavartak. Conditional formatting, range-re alkalmazva: cf-on-range Conditional formatting, ugyanarra a range-re cellánként iterálva: cf-on-iterated-cells ]]>

Törölköző nap, 2011 – ilyen volt

towel-day-2011-proof Tegnap Budapesten húztam az igát, egész nap a korporéten legelve, majd délután Duna Plaza és Mammut II. Előbbiben bő 10 törölközős bolondot számoltam, míg utóbbiban csak rám nézett hülyén mindenki. Külön extrapuszik járnak a mindig csodálatos hajú Anna kolléginámnak, aki miután értesült a Towel Day mibenlétéről, azonnal előkotort egy törölközőt, beállva így a kevés jótól boldog dilisek május 25-ére összeverődött csapatába. Ámen.]]>