Ginant struktūrinį žymėjimą

Simon Willison išreiškė savo nuomonę apie HTML naudojimą tik dokumento struktūrai aprašyti. Jo nuomone, jei profesionaliai dirbate interneto rinkoje ir dar nepradėjote naudoti CSS, tai kenkiate ir sau, ir savo klientams ir savo kolegoms. CSS gal ir ne stebuklingas dalykas, kuris išsprendžia visas problemas, bet CSS padeda daryti efektyvesnes svetaines. „Efektyvesnes“ – tai matomas daugiau naršyklių, lengvesnes programuoti (ar keisti) ir užimančias mažiau vietos. CSS nėra super sudėtinga. Tiesa, svetainę perversti visiškai pilnai į CSS yra sudėtinga, bet CSS gali padėti išsikrapštyti iš lentelių lentelėse ir permatomų GIF’ų košės.

Pagrindinis dalykas, dėl kurio ginčyjasi Simon’as nėra „CSS prieš lenteles“, jis nori įtikinti, kad HTML turi būti naudojamas struktūrai, o ne dizainui. HTML atskyrimas nuo dizaino turi nemažų privalumų: sumažėjęs kodo dydis, lengviau keičiamas dizainas ir lengvas puslapio pritaikymas įvairioms naršyklėms. Taip, kai kuriuos dalykus kol kas labai sunku pernešti iš HTML į CSS, bet tai dažniausiai dėl prasto naršyklių CSS palaikymo. Tačiau šis palaikymas gerėja.

1000 lankytojų

Šiandieną, praėjus 20 dienų nuo šios svetainės atsidarymo, buvo užregistruotas 1000-asis lankytojas (tiksliau buvo sukurta 1000-oji sesija – tad tikrųjų realiųjų lankytojų turbūt dar gerokai mažiau). Na bet tai šiokia tokia pradžia.

Ši svetainė nebaigta. Ir abejoju ar iš vis kada nors bus išbaigta, nes kaip sako biologai – „We have only one meaning for the word stable – and that is dead.“ Čia aišku daug ko trūksta (tarkim paieškos, BB kodo komentaruose), daug ką galima pagerinti (vartotojų registravimą, pridėti automatinį „referrer’ių“ sekimą, XML-RPC ir dar daug viso kito). Tiesą pasakius, svetainės kodas jau pradeda panašėti į tą baisiąją Perlinę košę, tad reiktų viską tvarkingai ir apgalvotai perrašyti naudojantis CGI::Application moduliu. Žodžiu tik reikia atrast viskam laiko ;)

Pertvarkymai #php kanale

Šiandieną DzHiBaS padarė keletą radikalių pertvarkymų #php kanale – buvo iš naujo perdarytas „access“ sąrašas bei nuimtas automatinis operatoriaus statuso suteikimas. #php kanalas yra turbūt didžiausias su programavimu susijęs kanalas lietuviškajame IRC, tačiau iki šiol jis gerokai kentėjo nuo vyravusio chaoso. „Access“ sąrašas sutrumpėjo nuo 45 iki 13 žmonių ir beveik visi gavo standartinį penktą lygį, kurio užtenka pagrindinėms kanalo funkcijoms atlikti.

Tikiuosi po šių pertvarkymų #php taps tvarkingesnis ir įdomesnis bei naudingesnis tiek senbuviams, tiek naujokams.

PHP funkcijos – kažko nesuprantu

Jau prieš keletą mėnesių pastebėjau, kad PHP print() (na ir echo()) yra kažkokios keistos funkcijos ta prasme, kad nebūtina jų argumentus dėti į skliaustelius. Žodžiu veikia abu šie variantai:

print('foo');
print 'foo';

Jei antrą variantą bandysit padaryt su bet kuria kita funkcija – PHP pradės keiktis. Taigi, atsiverčiau PHP manualo skyrių apie „print“. Vat ten radau tokį daiktą:

print() is not actually a real function (it is a language construct) so you are not required to use parentheses with it.

Tai kas per velnias tas „language construct“, ir kodėl tai turi būti dar viena išimtis? Vėlgi grįžtu prie manualo ir ieškau kas tas „language construct“. Jie skiriasi nuo funkcijų tuo, kad function_exists() grąžina FALSE. Dar vienas praktinis skirtumas: „language construct“ negalima iškviesti netiesiogiai, per $func="print"; $func($somevar). Hmmm… Atrodo tie „language constructs“ nieko gero neduoda, tik apriboja ką aš galiu daryt. Ar aš kažko nesuprantu?

Aišku tai dar ne viskas. Tų „language constructs“ yra visokių. Tai ir return(), array(), list(), exit(), echo(), isset(), unset(). Na, dar return ir array suprantu, bet kuo ypatingos kitos funkcijos? Be to, kodėl isset negalima iškviesti be skliaustelių? Hrrr…

if(!function_exists('print')) { print 'print nėra'; } # atspausdina 'print nėra' ;)

Kodėl verta naudoti Mozilla Firebird

Šiandien užklydau į Mozilla Firebird puslapį apie tai kodėl reikia pereiti prie Mozilla Firebird. Labai gera santrauka geriausių „featurų“, kurie svarbūs paprastiems žmonėms (rimtesni kompiuterastai vis tiek turbūt naudosis pilna Mozilla dėl visokių gerų JavaScript debuginimų ir DOM medžių). Tiesa, sužinojau ir kai ką naujo – apie CTRL-G ir CTRL-L klavišų sekas (dabar galiu naršyti visai be pelės) bei labai naudingą „Full Screen“, kuris visgi palieka visus tabus ir addreso laukelį. Turėtų ta svetainė padėti atvedant žmones į tikrąjį kelią ;)

„Sveikaspasauli“ konkurso pratęsimas

Paskutinę savaitę keletas žmonių manęs prašė pratęsti „sveikaspasauli“ konkurso darbų priėmimo datą. Aš jau sakiau IRC, kad sutinku ją pratęsti iki gegužės 11 (iki referendumo dėl Europos sąjungos galo ☺) dienos. Šiuo metu turiu 4 darbus, dar bent 2-3 yra pažadėti, bet jų kol kas negavau. Tikiuosi, kad gausiu ir juos. Šiaip ar taip, darbų yra tikrai gražių (ne tik smegenis galima išsisukti bet ir klaviatūrą, norint juos netgi paleisti, ką jau kalbėt apie kodo skaitymą ☺). Kol kas dar nepakeičiau datos pagrindiniame puslapyje, nes sėdint su GPRS tenka skaičiuoti kiekvieną baitą. Pakeitimus puslapyje padarysiu jau šiąnakt.

Tikiuosi sulaukt dar daugybės gerų darbų ☺

XUL ir PHP

PHPpatterns.com turi keletą įdomių straipsnių apie XUL ir PHP. Tiesa, tie straipsniai šiek tiek per daug subjektyvūs ir bando parodyti kad PHP yra pati geriausia kalba GUI kūrimui (na nežinau, man asmeniškai PHP-GTK neatrodo labai patogi ir per daug galinga. IM(NS)HO aišku). Pirmasis straipsnis – „XUL: rendering GUIs with PHP“ – daugiau kalba bendrai apie tai kas yra pats XUL ir kam jis naudingas (apie PHP ten užsimenama gana nežymiai, bet juk pati svetainė susijusi su PHP, tad turi kažką ta linkme parašyt).

Kitas, mano galva įdomesnis straipsnis yra „XUL to PHP-GTK“, kuriame apra6oma kaip galima be didelio vargo kurti PHP-GTK programas naudojantis XUL (idėja tame, kad pasirašai XUL aplikaciją su PHP vietoj JavaScript, perleidi per konvertavimo programėlę ir turi PHP-GTK aplikaciją). Vat šita idėja tai mane labai sudomino. Aišku aš iš kart mąstau kaip ją Perlui pritaikyt ;)

Dar keletas įdomių nuorodų, susijusių su XUL. Pirmiausia XUL Planet, kurioje yra neblogų tutorialų kaip pasidaryti XUL aplikaciją. Ten pat yra ir labai naudinga XUL reference. Kitas labai įdomus mano nuomone projektas yra XUL Channels. Jo pagalba galima skaityti RSS naujienas pačiame naršyklės sidebare.

Pasiskaitęs apie XUL dabar turiu idėją pasirašyti paprastą šios svetainės naujienų rašymo aplikaciją su XUL (kol kas visas naujienas kišu tiesiai per PHPMyAdmin į MySQL duombazę). Ta aplikacija turėtų bendrauti su svetaine per XML-RPC. Bet čia tik šiaip idėja. Laiko trūkumas spaudžia :)