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 :)

Trumpas tipas apie Perlinį PHP mysql_fetch_assoc() atitikmenį

Vienam žmogui iš PerlMonks kilo panaši problemą kaip ir man, darant šią svetainę – jis, uždavęs MySQL užklausą SELECT * FROM users WHERE id=100 norėjo naudotis rezultatais pateiktais hešais (t.y. $user{username}, $user{email} ir panašiai). PHP tai būtų padaroma su mysql_fetch_assoc() funkcija. Perle pasirodo tai nėra nei kiek sudėtingiau (net šiek tiek gėda pačiam pasidarė, kad pats nesugalvojau) – my %user = %{ $sth->fetchrow_hashref } padaro tai ko reikia.

Visiems gi pasitaiko tokių proto nušvitimo akimirkų ;)

XHTML2

Situacija su HTML W3C akimis yra tokia: HTML4 mirė. XHTML1 yra tik pereinamoji stadija iš SGML į XML. Vienintelė ateitis slypi dar nebaigtame XHTML2 standarte.

XHTML2 pasižymi tuo, kad jis nėra „backwards-compatible“ su HTML. XHTML1 standarte reikėjo tik prisiminti uždaryti visus tagus ir gal būt pakeisti vieną ar kitą atributą. XHTML2 turi radikalių pokyčių: <img /> nebebus, jį reikės keisti <object />, nebebus lentelių, HTML formos bus pilnai pakeistos XFORMS, kurios bent jau dvigubai sudėtingesnės.

Radikalūs pokyčiai standartuose dažniausiai įgyvendinami negreitai. Tad turbūt kokius 5 metus HTML dar bus gyvas.

RSS data

Įdėjau į RSS naujienas ir <pubDate> lauką. Šiek tiek (ok, ne šiek tiek, o gerokai) buvau nustebęs, kad MySQL negali man automatiškai suformuoti RFC822 datos – teko rašyti DATE_FORMAT(kada, '%a, %d %M %Y %k:%i:%s EEST'). Negi nėra paprastesnio būdo? (ar aš blogai RTFM’inau?)

Kitas dalykas, kuris man atrodo negražus – tai tas laiko zonos hardkodinimas. O beje, kurioj mes zonoj gyvenam? EST? EEST? GMT+3?

Tiesa, dar įdėjau viską RSS į <![CDATA[ ...]]>. Pasibandymui kaip sakant ;)

RSS newsfeedai šioje svetainėje

Po šiek tiek vargų įdėjau RSS naujienas. Jos atitinka RSS 2.0 standartą ir jas galima rasti čia. Darant šitą dalyką iškilo ir šiek tiek kitokių problemų. Pirmiausia – svetainė automatiškai įdėdavo Content-Type: text/html headerį, tad teko tą kodą perkelt į atskirą subą. Kita, didesnė problema – HTML entities buvimas jau sugeneruotame XML’e. Visoje šioje svetainėje apostrofai yra &rsquo; ir XML parseriams tai nepatinka. Tiksliai nežinau kol kas kaip išspręsti šitą problemą (įdėti XHTML namespace į RSS newsfeedo XML?), bet teks pasižvalgyti standartuose ir dokumentacijose.

RSS koduotės

Bandant šiai svetainei padaryti RSS naujienas susidūriau su šiokia tokia dilema kokią koduotę naudoti. Visa svetainės informacija saugoma MySQL duomenų bazėje, o ji pilnai nepalaiko UTF-8 koduotės (na, bent jau 3-ia versija), tad duomenų koduotė yra Windows-1257. Galite paklausti kodėl ne ISO-8859-13 (juk ši svetainė atrodytų lyg koks technologijų bandymų laukas su XHTML ir grynai CSS dizainu) ir galiu pasakyti, kad IE sunkiai draugauja su ISO-8859-13 koduote. Šiaip reiktų visur pereit ant UTF-8 koduotės, bet kol kas problemos su MySQL.

Tai va… sustojau darydamas RSS šablonus ties <?xml version="1.0" encoding="?. Reiktų arba siųsti windows-1257 koduote (kuri kažkaip prie XML nelabai derinasi… nors turbūt vis tiek teks) arba perkoduot tekstą „on the fly“ į UTF-8 naudojantis kokiomis nors Perlo priemonėmis (čia irgi problemos… Perlas čia 5.6.1, UTF-8 palaikymas žymiai geresnis Perle 5.8.0, bet šitai galima be vargo atnaujint, tiesiog visa perkodavimo idėja jau iš tolo kvepia atgrąsumu ir šaukia „Remember KISS principle – Keep It Simple, Stupid – use UTF-8 everywhere“). Tad kol kas stoviu kryžkelėje (tik turbūt ne paskutinėje).

Beje, įdomu, ar yra lietuviškų svetainių su RSS žiniomis? Įdomu kokios koduotės pas juos – turbūt UTF-8.