Avelė-debesėlis
2009 Gegužės 1 d.
Jeigu debesėliui pripiešimre galvą ir dvi poras pagaliukų (tai bus kojos), gausime avelę

Subalansuota merginoms
2009 Sausio 14 d.
Naivu tikėtis, kad į mano blogą užklysta daug merginų, tad leisiu sau parašyti kažką iš tiesų skirto vaikinams.
Beliko mėnesis iki gražiosios (kuo?) pavasario šventės – valentino dienos. Nereta mergina jau dabar turbūt pagalvoja apie tą dieną. Kuo tądien rengsis, kaip kvėpinsis, kokią pasidarys šukuoseną… Ir visa tai dėl ko? Dėl „širdelės“ formos auskariukų ar dėl tądien tikrai įvyksiančio pasimatymo?
Turbūt bet kuri save gerbianti mergina jau čia mane apšauktu bejausmiu nevidonu, plekštelėtų veido sritin ir išjungtų blog’ą. Dalis grįžtų paskaityt toliau
Curiosity killed the cat
Yvil standartai
2009 Sausio 13 d.
Arba kaip negalima lįsti prie svetimų inter-domain kukių
Aš kaip labiau web developeris visada nemėgau IE (ir IE based browserių) todėl, kad jo renderinimo varikliukas baisiai neatitinka web standartų. Dėl to norint padaryti ką nors bent šiek nutolstančio nuo pliko HTML’o tenka daug knistis (ypač kai tą darai pirmą kartą).
Šitoj vietoj serverio pusėj Microsoft’as pasitaisė. IIS7 gana griežtai laikosi tiek web standartų, tiek RFC. Atrodytų pasaka, tačiau būtent ties tais standartais aš ir praleidau pusę savaitgalio
Turėjau aš indėną (apache) ir nesukau sau galvos, kad galbūt kažkas padaryta neteisingai. Tačiau pribrendo laikas pradėti išnaudoti IIS 7, negi suksi veltui?
Susikonfiginau IIS7, pratestavau su testiniu subdomain’u – viskas gražiai važiuoja. Ką gi, ko čia bijoti. Atėjo savaitgalis, perkėliau puslapį į IIS7, uždariau indėną, patikrinau ir lengvai atsipūčiau – važiuoja. Kai po kurio laiko pastebėjau, jog su Chrome’u gaunu HTTP 400 (Bad request) problemą padalinau chrome’ui ir/arba TEO proxiui (proxis atsirado mat kolegai su chrome veikė).
Nerimas pakilo dar labiau kai gavau dar porą nusiskundimų iš kitų žmonių. Neveikė random žmonėm iš random browserių. Dėl ISP jau galvos nebesukau – problema IIS7. Pirmas darbas – patikrint gūgle, ką pikti liežuviai mala. Išsiaiškinau, kad 400 yra bene vienitelė klaida, kurios valdymas (handling) yra hardkodintas. Teko užsikurti Wireshark. Atsifiltruoju ip.dst == server ir matau kosmosą
Vienintelės žalios eilutės – SYN. ACK grįžta su blogu TCP checksum’u ir tas blogas checksum’as eina per visas likusias užklausas. Susinervinau – blogo checksum’o atveju turi būti prašomas pakartojimas. Kas blogiausia – sesės kompas viską piešė gražiai (ir puslapį atidarinėjo). Po kokių trijų puodelių arbatos, kelių valandų prie gūgle nusprendžiau pasigilinti į wireshark’o duomenis.
Praleidau trace’ą, rankom paanalizavau užklausas ir paagaliau išsiaiškinau, kad dėl neaiškių priežasčių puslapis x sau (į savo subdomeną) užsistato iškraipytus mūdlo sausainėlius. Pasileidęs Firefox su FireCookie įsitikinau, kad problema per ilgame GET header’yje. Kas blogiausia – puslapis rašytas Perl’u
Gerai, kad tuo metu pasipainiojo frgtn - padėjo sutaisyt kodą.
Taigi moralas: niekada negalima lįsti prie to, kas Tau nepriklauso, nes standartai gali bausti. Kur čia šuo pakastas? Nežinau. Bet matyt apašis tolerantiškesnis request’ams.
Laikrodis su gegute
2009 Sausio 5 d.
Kaip nesunkiai pasidaryti laikrodį su gegute? (:
cron.hourly
KUKU=`/bin/date +%I`
while [ $KUKU -gt 0 ]; do
eject /dev/cdrom
eject -t /dev/cdrom
KUKU=$((KUKU-1))
Zend and multiple applications
2008 Gruodžio 19 d.
Once I started developing my site using Zend framework. It went well untill i reached the phase, where I wanted to have multiple applications under one domain. I.e. to be able to access domain.tld/application1/controller/action and domain.tld/application2/controller/action without having to create Aliases VirtualHosts or anything like this. I googled around for a day or two and found nothing inspiring. Had to invent it the hard way. That’s the reason why I’m writing this in english