CSS::selection

2010. június 2.

Ma reggel IT chaten megjelent egy link (http://fichtre.net/yop.html). Az oldalon a Ctrl+A billentyűk lenyomására kirajzolódik egy kép. De hogy?

A probléma két részből áll:

  1. határozzuk meg egy kép pontjainak színét
  2. hogy tegyük ezeket láthatóvá a Ctrl+A billentyűk lenyomására

Először is tudnunk kell, hogy egy képen az egyes képpontok milyen színűek. Ezt pedig a PHP GD moduljának segítségével lehet kideríteni. Miután beolvastuk a képet, végiglépkedünk a képpontokon, majd az imagecolorsforindex() és imagecolorat() függvényekkel megkapjuk a képpont színét adó 3+1 (piros, zöld, kék + alpha) komponenst egy tömbben. Mikor ezt végiggondoltam jutott eszembe, hogy ezt a részét én már egy éve megcsináltam egy kis délutáni kísérletezgetés alkalmával.

Itt említenék meg egy fontos apróságot. Átlátszó PNG képek esetén vannak ugye alpha komponensek. Ezt úgy kell elképzelni, hogy ahol a képen a látható tartalom és az átlátszó háttér találkozik, ott valójában folytatódnak a színek, csak a képpont átlátszósága változik. Ezt a komponenst kapjuk meg az alpha értékben, és ebből egyszerű százalékszámítással adódik az a 0 és 1 közötti szám, mellyel ezeknek a képpontoknak az átlátszóságát kell meghatározni. Erre egy apró jQuery kódot használtam.

A képpontok helyére karaktereket tenni nem különösebb probléma. Én egy 3 bekezdésnyi lorem ipsumot generáltam, és azt végtelenítettem. Az külön szerencse, hogy a fix szélességű Courier New betűtípus két karaktere pont egy négyzet alakú területet foglalnak el.

Na hát, ha már a fele megvan, akkor csak megcsinálom az egészet. Gyorsan utána néztem, hogy is működhet a probléma másik része, vagyis, hogy kijelölésre kapnak színt az egyes betűk. A trükk egy CSS pszeudoállapot, nevezetesen a ::selection. Ez a CSS3 szabvány része, és mint sok ilyen, megtalálható a mozilla böngészőkben ::-moz-selection néven is. Ez a selector az elem azon állapotát határozza meg, mikor a benne található szöveget kiválasztjuk. Meghatározhatjuk benne a szöveg és a háttér színét is. A “csoda” pedig úgy lesz ebből, hogy az egyes betűk, mind egy-egy elem, melyeknek meg van határozva, hogy kiválasztáskor milyen hátterük és szövegszínük legyen, végül pedig Ctrl+A: Minden kijelölése.
(Tobábbi részletek és példa a selectorról: http://www.quirksmode.org/css/selection.html)

Minden adott volt hát, az első verzió pedig nagyjából 20 perc után már működött is. Ezzel viszont az volt a baj, hogy csak a célra törekedtem, így majdnem 1 MB lett a kimeneti HTML oldal egy 64×64 pixel méretű képecske esetén, 100×100 képpont felett pedig már a Firefox kezdte megadni magát, mikor 10000+ elem hátterét kellett volna megváltoztatnia egyszerre. A kimenet méretét további finomhangolással sikerült a harmadára csökkenteni, így lett kész a végleges változat: http://intiweb.hu/dev/ctrla/

A dolog, mint az a fenti képen is látható, nem teljesen böngésző független. Az Internet Explorer természetesen renitens a CSS3 elemek implementálásában, így még a 8-asban sincs lehetőség a kiválasztott szöveg paramétereinek módosítására. Szégyelljék magukat… pedig ez milyen hasznos funkció, nem?

Leszakad rólam a gatya

2010. május 10.

A múlt hétvége ruha ügyben elég kriminálisra sikerült. Ami megadhatta magát, az megadta.

Kezdődött a cipőmmel. Még talán fél éve sincs, hogy a Humanicban vettem egy klassz fekete Marc utcai cipőt. Önmagamhoz képest még vigyáztam is rá, a tél nagy részében hótaposóban jártam és  nem félcipőben. Ennek ellenére elkezdett szakadozni a cipőfűző lyukainál a felső velúr rész. Hát, remek – gondoltam ezt akkor, nagyjából 1 hónapja. Az elődje, egy fekete Merrell másfél év után került a polcra, úgy hogy még manapság is felveszem néha, arról nem is beszélve, hogy abban lenyomtam egy egész telet. Mindegy, nem különösebben zavart a kis szakadás, erre péntek délután megyek ki az irodában a teraszra (Helló, szia, szevasz :P ) és beleakad az ajtó alján található kis fém szarba az oldala, és ki is szakítja… “oh, hogy az a…”

Este a Westendbe mentünk posztapokaliptikus, hídalattalvós, kannibálost nézni, és gondoltam egyet, nem is tudom már hányadik alkalommal, bementem a Tisza üzletbe az elsőn. Eddig sose találtam ott olyan színösszeállítást, ami tetszett volna, de aznap délután (a cipő elszakítása utáni internetes keresgélés közben) találtam egy megfelelőt: Szürke-fehér velúr Astoria. Mondom az eladónak mi kéne, de jól nézzen körül, mert 45-ös a lábam és ilyen keskeny cipőkből 47-es is szokott kelleni. Jön vissza: csak 45-ös van. Felpróbáltam azért, hátha és alig hittem, de pont jó volt. Meg is vettem. Szakadt ment a dobozba, az újat meg hagytam a lábamon. 

De ezzel még nem volt vége. Másnap este a Duna Plázában egy sikeres mozdulat után a kord nadrágomon is megadta magát az a rész, ami eléggé ki volt már kopva. Az előző napi események után itt már csak rövid gondolkozás következett és a Vögelében vettünk egy másikat, ami mellesleg már régóta hiányzott a ruhatárból. Évek óta nem volt kék farmerem, koptatott meg sose. Fizetés után azt is átvettem, és már abba mentem haza. (Nem mellékesen, végre megtanultam a nadrág méretem is.)

Fruit Ninja for iPhone

2010. május 7.

Pár hete olvastam erről a játékról valamelyik blogon, és azonnal megtetszett. Különben meg bármi jó, amiben benne, van, hogy Ninjaaaa, nem?

Dinnye, narancs, bomba, Critical!!! Fruit Ninja

A Halfbrick Fruit Ninja c. játékában röviden arról van szó, hogy a feldobott gyümölcsöket kell kettévágni. Banánt, narancsot, kiwit, dinnyét* és fröcsög a lé és hullanak a gyümölcsdarabok.  Ezt mindaddig csinálhatjuk, amíg olyan ügyesek vagyunk, hogy nem hagyunk 3 gyümölcsöt egészben visszahullani, illetve amíg elkerüljük, hogy bombába vágjunk. Minden szétvágott gyümölcs 1 pont és néha (teljesen véletlenszerűen, szóval hiába trükköztök) van Critical, na az 10 pont. Ha lepottyan egy gyümi, kapsz egy X-et a jobb felső sarokba, ha elérsz 100 pontot, egy X-et elvesz a játék (nagy segítség, érdemes bevállalni százasonként egy szándékos hibát, ha ezzel elkerülünk egy bombát).

A menüben egy-egy forgó gyümölcs jelzi a menüpontokat, amiket kettévágva léphetünk tovább. Van rengeteg öcsi (gyk.: achievement \ö-csív-ment\ fn : a játékban elért hosszútávú teljesítményed mértékegysége, melyet különböző könnyebben ill. nehezebben teljesíthető feladatok után, bizonyos pontérték társaságában adományoz neked a játék), és minden game over után egy kedves, gyümölcsökkel kapcsolatos érdekességgel szórakoztat minket a a Fruit Sensei :) Pl.: tudtátok, hogy a frissen fogyasztott gyümölcsök közül a mangóból fogy a legtöbb a világon? És én egy darabot nem ettem már évek óta, nem hogy frissen, de sehogy se.

Ajánlom mindenkinek, aki gyors és látványos kikapcsolódásra vágyik!
Weboldaluk: http://www.fruitninja.com/ [iTunes]

* meg szilva, meg eper, meg körte, meg alma, meg mangó :D

WordPress – Twitter

2010. május 7.

Ez a “blogból a Tumblr-re, onnan a Twitter-re” nem volt egy értelmes dolog. Egyrészt mert a tumblrize plugin nem épp azt csináltam, amit én szerettem volna, másrészt, aki twitteren követ, annak 2 ugrás volt eljutni a blogba, ami baromság. Köszönet az építő jellegű válasznak @Rabbit86-tól.

A “blogból a Twitter-re” dolgot viszont akkor is megcsinálom. Látva, hogy az összecsapott megoldásoknak mi az eredménye, most kicsit jobban utána jártam, és találtam egy közvetlen Twitter-re, link rövidítéssel, működő plugint, amit a közelmúltban frissítettek. Értelmes és egyszerű, pont ez kell.

Légszűrő [U]

2010. május 4.

Ma megyek az Olajshopba átvenni a légszűrőt a motoromhoz.

Nagyjából másfél hónapja lett átnézve, hogy minden rendben legyen vele az idei szezonban is. Eddig nem nagyon volt szétszedve, mert működött, semmi baja nem volt, de most szakember csinálta, szépen megnézett mindent. Azaz nézett volna, mert légszűrő helyett valami összegányolt újságpapír halmot talált. Mondta, hogy hát ez jól van így… nagyjából, de azért nem ártana bele rendes.

A 400-as BROS japán belpiacos motor, vagyis lényegesen kisebb darabszámban készült mint a nemzetközi darabok, ritkaságnak számít. A lámpájában pl. nem volt EU szabvány foncsor, a forgalmi vizsgáztató majdnem kivágott vele a KPM-től. Én mindent rendesen szabályosan akartam csinálni… neki meg szar napja volt. Mindegy is, ez már évekkel ezelőtt volt és megoldottuk akkor. A lényeg, hogy ritka motorba drága lesz az alkatrész. Szerencsémre a BROS-nak van két nagy testvére, amiket a szigetországon kívül is árultak, a 600-as REVERE és a 650-es HAWK, amikbe ugyanaz szűrő kell, mint nekem.

A REVERE és a HAWK

HFA1614

Valami ilyennek kell lennie

Elkezdtem keresgélni a neten, és meglepetésemre elég gyorsan találtam egy K&N márkájú légszűrőt, amit több helyen is forgalmaznak itthon. Egyik ilyen hely volt a Láng autóalkatrész, ami ráadásul egy köpésre van a lakásomtól. Telefonáltam, 32 ezer, aha… Kicsit jobban kezdtem keresgélni, és találtam HifloFiltro márkájút, na, erre már egy barátságosabb 16 ezret mondtak, DE ők ilyet csak 4 hét múlva hozatnak. Ejha, ez ám a ritkaság, sebaj, majd beugrok megrendelni… gondoltam.

Egyik reggel bementem és mondtam, hogy mi kellene. Ja, hogy ezzel a márkával külön ember foglalkozik, és ő most külföldön van? Jó, majd legközelebb. Legközelebb csak nem volt benn, de felhívták nekem és megadtam az email címem, majd értesítenek… azóta is.

Na, ekkor lett elegem és elkezdtem nézelődni más cégeknél is. Mit ad Isten, egy budapesti boltnak – az említett Olajshop – a honlapján van, és 12 ezer. Megrendeltem kedden, pénteken jött az email, hogy megvan mehetek érte.

Na most én nem akarok itt messzemenő következtetéseket levonni, de:
Láng: 4 hét, 16 ezer
Olajshop: 3 nap, 12 ezer

Igaz, hogy nincs a szomszédban, mert ki kell mennem HÉV-vel Csillaghegyre, és még onnan is egy jó pár száz méter séta, de szerintem megéri.

Update: A boltot kimondottan könnyen megtaláltam. Odaérve mondtam az eladónak, miért jöttem. Rögtön hozta: “Ez a kis doboz ilyen drága?”… hehe. Lehetett bankkártyával fizetni, ami különösen tetszett. Egy nagy zöld kartondobozban kaptam meg a cuccot. Látszólag úgy volt kialakítva, hogy a legkisebbtől a legnagyobbig beleférjen minden szűrőtípus. A termék viszont elég igényesen van megcsinálva, sehol egy sorja a műanyagon, a drótháló szépen leszegve, csavarral rögzítve, a szűrőbetétek tiszták, és kimondottan jól néz ki a piros-fekete kontraszt. Elégedett vagyok. Lehet a hétvégén be is lesz szerelve.

WordPress – Tumblr – Twitter

2010. május 4.

A blog feltámasztása elkezdődött… nem tudom már hanyadszorra.

Ennek első lépése, hogy erről a bejegyzésről már megy hír a tumblr-re, onnan pedig twitterre.

Folyt. köv.

Ramen 2

2009. augusztus 12.

No, eltelt egy kis idő a legutóbbi Ramen óta.

Tartozom viszont egy kis összehasonlító képpel:

I Love Sushi

I Love Sushi

A Sensei

A Sensei

Szerintem egyértelmű, melyik volt a jobb :)

Ramen

2009. július 13.

Naruto szereti a rament… akkor én is akarok olyat enni.

Szombat délben A Senseiben ebédeltünk Mónival. Nem akartam aznap ott enni, de nem tudtam ellenállni Drágám kérlelésének. Érthető, Ő ritkábban jut japán kajához, mint én, meg hát ott van 10 lépésre a lakástól. Beültünk és tanácstalanul nézegetni kezdtem az étlapot. Móni kért egy sushi settet, én pedig tovább tanácstalankodtam. Ekkor megkérdezte a pultos-pincér hölgy, hogy levest nem akarunk-e enni. Levest? Nézem a leveseket: RAMEN!!! Azonnal kértem, és mondtam – én kis tudatlan – hogy a főételt majd kitalálom még.

Kihozták a levest… hát… egy óriási tál középsűrű zöldségleves (mintha miso is lenne benne), tele udon tésztával, tetején pár szelet pirított husi, gomba, nagy halom póréhagyma és egy egész főtt tojás 4-be vágva. (Fotót nem csináltam, de legközelebb fogok.) Kaptam egy kanalat is, de kiderült, hogy az elején legalábbis, ezt nem lehet azzal enni. A tészta hosszú és nagyon egyben van, így akárhogy próbáltam alányúlni, mindig lefordul az egész. Pálcikával ettem hát és iszogathattam volna mellé a levet a tálból, ahogy kell, de nagyon forró volt, így maradt az, hogy kiettem a tésztát meg a többit, aztán bekanalaztam a végén a maradékot.

Ezt a levest én úgy nevezném, hogy a japán gulyás, gazdagon. No nem mintha bármi rokonság lenne a kettő között, de pont ugyanazon a helyen állnak a laktatási skálán nálam. Megeszel egy ilyen levest (több, mint fél liter általában) akkor utána már nem nagyon akarsz enni. Persze nekem még ott volt a 3 grillsaslik a két onigirivel… úgy kellett kigurítani az étteremből a végén.

Végeredményben ízlett, és a Narutóval kapcsolatos újkeletű rajongásom miatt maga a tudat, hogy rament “zabálok” maga egy örömforrás. Olyannyira, hogy kitaláltam, ez lesz a hétfői ebéd is, de most Halas, rákos ramen udon tésztával néven az I Love Sushi tolmácsolásában. Kíváncsian várom…

Verekedő-show

2009. május 27.

Nem, nem a Box Klub, csak eszembe jutott valami a heti Joshi Bharat verekedős agymenés, meg a vonatkozó Mokka kontra Réz András dolog kapcsán, amikor a hozzászólásokat olvastam. Írta ugyanis valaki, hogy idehaza azért ilyen sok a megrendezett balhé, mert kis ország vagyunk, az amcsiknál lényegesen nagyobb a kalap, amiből lehet meríteni. Nem csoda az ő 300+ millió lakosuk (2009-es becslés) a mi épphogy 10 milliónkhoz.

Csakhogy: gondoljuk már végig. Jerry Springer hasonló rendszerességgel 30-szoros népességből válogatja a hülyéket, mint Joshi. Azzal, hogy előadjuk, hogy nálunk is van ám annyi, hogy kitöltse az egész estét csak azt ismerjük el, hogy nálunk 10 emberre jut annyi barom, mint a tengeren túlon 300-ra! Jójó, tudom csúsztatás, de szerintem ez akkor is elég gáz.

Lemaradás

2009. május 12.

Nagyon sok dologról kéne írnom, de pont emiatt a sok dolog miatt nem értem rá. Talán a napokban jön egy kis összefoglaló.