Išleista Mozilla 1.4 RC1

Šiandien išleistas Mozilla 1.4 RC1,
taigi Mozilla 1.4 jau išlipo iš beta stadijos. Pagrindinis
pagerinimas yra galimybė naudotis MS Proksiais (tai labai svarbu
didelėse korporacijose, kur iki šiol dėl MS proksių reikdavo naudoti
tik IE). Aišku kaip visada krūva kitų nedidelių pagerinimų.

Tiesa, kažkodėl visa 1.4 serija man neveikia ant WinXP namie :/
Reikės pažiūrėt, gal jau čia pataisė (nors jaučiu kad problema pas
mane su Windowsais)

Pagaliau tvarka su webserveriu

Lyg atkasiau kodėl Apache naudojo seną perl versiją –
pasirodo mod_perl buvo instaliuotas per apt-get ir ten su juo
sunkoka susitvarkyt kartais buvo (pasirodo kompiliuotų paketų sistema
ne visada geras dalykas). Žodžiu išėmiau paketus, sukompiliavau viską
per sourcus. Viskas veikia šauniai ir turėtų bent jau teoriškai
greičiau veikt, nes bent jau kodas dabar optimizuotas i686 o ne
i386.

Prie viso šito dar susidėjau ir mod_ruby. Nežinau ar jį kur
panaudosiu, bet tai vis lieka mano planuose ;)

Išleistas PHP4.3.2

Šiandieną išleistas PHP4.3.2. Kadangi php.lt iki antradienio negyvas, tai galvoju
bent savo webloge apie tai parašysiu ;)

Faktiškai 4.3.2 yra pilnas bugfixų ir kitokių dalykų (atrodo
radikaliai niekas nepasikeitė, tokių dalykų kaip
register_globals pokytis lyg išvengta). Šioje
versijoje pataisyta keletas buferio perpildymo klaidų, perdarytas
Apache2.0 SAPI modulis, atsisakyta palaikyti GD1.x.x (nuo šiol tik GD
2.x.x) Windowsuose, parašytas man puslapis PHP CLI ir daug
kitokių visokių vabaliukų išgaudymų. Parsisiųsti galite iš čia, Changelogą rasite čia. Turbūt verta
upsigradint vien dėl tų buferių perpildymų klaidų.

Hmmm… nors aš vis dar su 4.2.3 sėdžiu… Kažkaip stabiliau atrodo.
Na, kai jau išeis 4.3.3, tai ir aš turbūt pasikeisiu ;)

Perlmonks: Ar visada geriausia drėbti tiesą į akis?

Perlmonks kaip dažnai būna, turi
puikią
diskusiją
apie tai ar kompiuteristai turėtų visada drėbti tiesą į
akis (na, stiliumi „kvaily, viską ką čia parašei yra
nesamonė“
arba „ negi sunku eit ir pasiskaityt tą
manualą“
). Diskusijoj nuspręsta, kad kompiuterastai sunkiai
moka bendrauti su žmonėmis. Atrodo kad labai sunku rasti žmogų, kuris
mokėtų puikiai analitiškai mąstyti, o kartu ir mokėti gerai bendrauti
su žmonėmis, o kompiuteristui pasirodo reikia abiejų šių savybių. Dar
man patiko šita citata:

Hitting a backspace key or delete key is a simple thing
while applied to computer but not in social context all the
time

Kompiuteriuose lengva paspaust DELETE jei kas blogai, su žmonėm
sudėtingiau ;)

Naujo Perlo galimybės koduočių klausimu

Kaip minėjau, susidėjau naują (na, netokį jau ir naują.. apie metų
senumo) Perlą 5.8.0. Didžiausias jo pasiekimas yra tas kad viskas
viduje daroma Unikodu ir žymiai lengviau dirbti su koduotėmis. Man
ypač patiko galimybė nurodyti bylos ar IO stream’o
koduotę ir tuo padaryti automagišką koduočių keitimą:

# Nurodom, kad duomenys ateina iso-8859-13 koduote
binmode STDIN, ":encoding(iso-8859-13)";
# Ir kad spausdint juos reikia pakeitus į utf-8
binmode STDOUT, ":encoding(utf-8)";

Na, tokios „automagiškos“ bylų konvertavimo galimybės
turbūt egzistavo jau senokai kitose kalbose (spėju, kad Javoj,
Pythone, Rubine…), bet man pačiam jomis neteko naudotis.

Vienintelis dalykas, su kuriuo nesusitvarkiau kol kas –
libperl.so perkompiliavimas. Atrodo perl versija yra 5.8.0, o libperl
vis dar 5.6.1, tad Apache ir mod_perl naudoja seną versiją (ir dėl to
neveikia perkodavimas). Reikės RTFM’intis ;)

UTF-8 naujienos: nagi?

Tai vat, RSS dabar eina UTF-8 kodavimu. Šitą sugebėjau greitai
padaryti, nes tas skriptukas, kuris gaudo el.paštu siunčiamas naujienas
ir jas deda į duombazę bei sugeneruoja RSS eina ne per Apache, o tiesiog
per shellą. Apache vis dar gyvena su perl5.6.1, kuris nepalaiko normalių
simbolių užkodavimų/atkodavimų.

Faktiškai vienitelis pakeitimas, kurį padariau buvo šios eilutės
pakeitimas (duomenys vis dar saugomi iso-8859-13 duombazėje):

$dt = encode("utf8", decode("iso-8859-13", $dt));

Lyg validuojasi
normaliai
. Žiūrėsim.

Kelias UTF-8 link

Nagi pradėjau žygį UTF-8 link. Pirmas etapas: perl5.8.0 įdiegimas.

Nesu labai geras linux adminas (heh, aš juk programeris), tad dedant
šį dalyką susidūriau su keletu problemų. Viskas įsidiegė lyg ir
normaliai, tik paskui taiop gavosi kad Perlas neberado pusės savo
modulių (jie ten liko kur gyveno 5.6.1). Na, lyg anokia čia bėda.
Persikompiliuosiu ir modulius. Pasirodo CPAN laikinoji atmintis
(cache) vis dar likus po senovei ir bandant įdiegti tarkim
DBD::mysql man sako kad viskas jau įdiegta ir nereik čia nieko
atnaujint. Pravaliau atmintinę. DBD::mysql vis dar nesulenda, nes
neranda mysql.h. Einu apt-get
išsitraukt. O pasirodo tas irgi neveikia, nes neranda kai kurių modulių
(apt-get yra perlinių skriptukų rinkinys). Galų gale viską lyg
išsprendžiau. Beje, keistas dalykas: Apache ir mod_perl vis dar gyvena
su senuoju perlu. Hmmm… tai dabar pas mane dvi perlo versijos. Čia
pats velnias koją išsisuktų. Perkompiliavau mod_perl, galvojau kad
pasigriebs naują perl5.8.0. Klydau, vis dar 5.6.1. Einu pasižiūrėt kame
čia replės.

Oh, ir jei staiga visas servas nebeveiks, tai čia mano bandymai su
mod_perl ;)

RSS: tolimesni sprendimai

Na, išsitestavau su RSS validatoriumi: Valid RSS. Tiesa, buvo problemų su <pubDate>
lauku – valandos buvo rašomos ne dviem skaitmenimis, o vienu,
tad tą pataisiau. Koduotę palikau tą pačią. Tiesa, HTTP headeryje XML
koduotė buvo nurodoma blogai (T.y. “Windows-1257”), tad pakeičiau ir
tą, bet tai neturėtų turėti reikšmės (o gal?). Pažiūrėkit ar dar vis
yra problemų.

Beje, pukomuko
RSS
nesivaliduoja, nes randa klaidą XML Parsing error: unknown encoding. Tai visgi aš teisus?

Ateityje turbūt vis tiek judėsiu link UTF-8. Jau tam susidėjau
perl5.8.0, kuriame pagerintas Unicode palaikymas.