Išleistas Parrot 0.0.13

Ką tik gavau laišką, pranešantį, jog išleista speciali Parrot versija Halloween
proga. Parsisiųsti galima iš http://www.cpan.org/authors/id/L/LT/LTOETSCH/parrot-0.0.13.tar.gz
arba per CVShttp://dev.perl.org/cvs/

Pagrindiniai pokyčiai: imcc dabar buildinamas kaip
parrot, objektai vis labiau pabaigti, isa ir
does metodai PMC,
extension galimybių pradžia, dinaminės operacijų kodų
bibliotekos, ekspermentinis tinklo funkcijų palaikymas, ncurses,
postgresql ir pcre bibliotekų palaikymas ir t.t.

Mažos naujovės

Noriu jau bėgt iš darbo, tad labai trumpai apie pakeitimus, kuriuos
padariau šiandien. Pirma, įdėjau paiešką savo dienoraštyje (ji egzistavo
jau senokai, tik apie ją žinojo gal kokie 3-4 žmonės). Kitas dalykas,
kurį padariau, tai šiek tiek apsitvarkiau savo
/home/moxliukas direktorijoj ir sudėjau viską ką esu
parašęs ir kas gali būti kam nors naudinga. Visa tai galima rasti adresu
http://moxliukas.esu.as/download.

Pirmasis mano Perlo lopas

Vakar nusiunčiau savo pirmąjį lopą į perl5-porters. Aišku, nebuvo jis
susijęs su visokiais sudėtingais perliniais dalykais ar C kodu –
lopiau tik perldelta582.pod (Kurio lietuvišką vertimą
galima rasti čia).
Na, bet vis tiek kažkaip geri jausmai užtvindo kai visgi priima tavo
lopą į stable šaką ;-)

Pats lopas pradžioje tik uždėjo nuorodą į vieną adresą, kuris buvo
paliktas kaip paprastas tekstas, tačiau vėliau paaiškėjo, jog visoje
perldeltoje naudojama F<>, kai turėtų būti naudojama
L<>. Šis naujasis lopas nepatiko
podchecker, kuris spjaudėsi pranešimais:

*** WARNING: node 'http://bugs.perl.org/' contains non-escaped | or 
/ at line 143 in file pod/perldelta.pod [...]

Pasirodo tai buvo naujas pačio podchecker riktas, o mano
lopas viską darė teisingai. Na to pasekoje

Michael G Schwern

vėliau ir užlopė Pod::ParseUtils modulį.

MySQL lietuviška knyga: keletas klaidų

Perskaičiau jau 100 tos pirmos lietuviškos knygos apie MySQL
puslapių. Tolimesnis vaizdas šiek tiek pagerėjo, nes pereita prie
techniškesnių dalykų su kodo pavyzdžiais. Tiesa, vis dar pasitaiko ne
vietoje atsirandančių kvailų juokelių kaip kad štai 24 puslapyje:

Kitą rytą direktorius atrodo šiek tiek suglumęs,
paraudusiomis akimis ir kažką veblena apie gydytojo paskirtą
punšą.

Bet bendrai paėmus stilius labiau techniškėja ir gerėja.

Jau buvau bepradedąs džiaugtis, kad gal ir būtų galima šią knygą
įvertinti kokiais 7 balais iš dešimties, kai prėjau skyrių apie
įprastines išraiškas. Iš karto aišku mane pasitiko keistas juokelis 70
puslapyje (na, aš gi Perlininkas, įpraiškos yra mano meilė):

Daugumai žmonių sąvoka įprastosios išraiškos yra tas
pats, kaip viduramžių gydytojui žodis „maras“. Jie tuoj pat
suraukia kaktą, randa pasiteisinimą ir viltis atrodo
prarasta.

Na, su maru tai dar galiu sutikt, o kito sakinio prasmės ir reikšmės
dar iki šiol nesuprantu. Bet manęs laukė didesni siurprizai. Tame
pačiame 70 puslapyje yra santrauka ką reiškia kiekvienas simbolis
regexpuose. Na, galima blogai viską versti, galima rašyti
nerišliais sakiniais, galima laidyti kvailus juokelius, bet kai
pateikiama informacija neatitinka tikrovės tai jau negerai. Štai yra
toje lentelėje du įrašai:

š Nurodo, kad prieš šį ženklą parašytas simbolis
gali pasikartoti vieną kartą arba visai neegzistuoti

{n,| Eilutė turi pasikartoti ne mažiau n kartų

Kas moka naudotis įpraiškomis pastebės, jog čia turėtų būti ne
š, o ? (klaustukas), o vietoj
{n,| turėtų būti {n,}. Beje, ta š
raidė kartojasi visame skyrelyje apie įpraiškas tose vietose, kur turėtų
būti klaustukas (nors tekste simbolis teisingai vadinamas klaustuku).

Tokios klaidos tikrai klaidina žmones, tad parašiau lašką į jų redakciją. Lauksiu atsakymo ir
tikiuosi kituose knygos leidimuose tai bus pataisyta. ;-)

perldelta582 vertimas

Štai kas pasikeitė Perlo 5.8.2 versijoje:

=head1 PAVADINIMAS

perldelta - kas naujo perl v5.8.2

=head1 SANTRAUKA

Šis dokumentas aprašo skirtumus tarp perlo 5.8.1 ir 5.8.2 versijų.

Pirma perskaitykite L<perl58delta>, jeigu jūs atnaujinate perlą iš
senesnės versijos (kaip kad 5.6.1). L<perl58delta> aprašo 
skirtumus tarp
5.6.0 ir 5.8.0 versijų, o  L<perl581delta> -- skirtumus tarp 5.8.0 ir
5.8.1.

=head1 Nesuderinami pokyčiai

Tikimės, kad jokių.

=head1 Branduolio patobulinimai

=head2 Asiociatyviųjų masyvų atsitiktinė tvarka

Pataisyta asociatyviųjų masyvų atsitiktinė tvarka, kuri buvo įvesta 5.8.1
versijoje. Pasirodo, jog 5.8.1 versija buvo suderinama su 5.8.0 pirminių 
tekstų
lygyje, tačiau kai kuriais atvejais kompiliuotas kodas nebuvo suderinamas.
5.8.2 versijoje yra keletas patobulinimų, kurių pagalba kodas tiek 
kompiliuotame,
tiek pirminiame lygyje yra pilnai suderinamas tiek su 5.8.0, tiek su 5.8.1
versija. Tuo pačiu šis sprendimas išsprendžia potencialią atakos 
galimybę, dėl
kurios ir buvo tobulinamaa asociatyviųjų masyvų atsitiktinė tvarka.

Mes dėkojame Debian projektui už suteiktą pagalbą sprendžiant šias 
problemas.
Žiūrėkite L<perlsec/"Algorithmic Complexity Attacks"> jei norite 
daugiau sužinoti
apie pačią potencialią ataką.

=head2 Gijos

Pataisyta keletas atminties nutekėjimo klaidų, susijusių su kintamųjų 
dalinimusi
tarp keleto gijų.

=head1 Moduliai ir Pragmos

=head2 Atnaujinti Moduliai ir Pragmos

Šie moduliai buvo atnaujinti lyginant su Perl 5.8.1 versija:

=over 4

=item Devel::PPPort

=item Digest::MD5

=item ExtUtils::MakeMaker

Dabar galima generuoti SIGNATURE bylą perduodant WriteMakefile()
funkcijai (SIGN => 1) jei yra įdiegtas Module::Signature. (Šis
patobulinimas padarytas Autrijus Tang iš The Perl Foundation
gautos stipendijos dėka)

=item I18N::LangTags

=item libnet

=item MIME::Base64

=item Pod::Perldoc

=item strict

Pagerinta dokumentacija

=item Tie::Hash

Pagerinta dokumentacija

=item Time::HiRes

=item Unicode::Collate

=item Unicode::Normalize

=item UNIVERSAL

=back

=head1 Rinktiniai klaidų pataisymai

C<require> dabar laiko rezultatus laikinojoje atmintinėje taip 
kaip ir buvo
tikėtasi, jei keletą kartų nesėkmingai bandoma pakrauti modulį.

Parsris dabar teisingai interpretuoja keletą neatpažintų bylų testavimo
operatorių sintaksės klaidų.

=head1 Vidiniai pokyčiai

Interpretatoriaus inicializacija dabar vyksta korektiškiau, kai išjungta
-DMULTIPLICITY. Tai turėtų padėti išspręsti problemą, kai Perlo
interpretatorius buvo keletą kartų inicializuojamas ir sunaikinamas tame
pačiame procese.

dup2() dabar naudoja PerlLIO abstrakcijos lygmenį

=head1 Problemos, susijusios su kai kuriomis platformomis

Pakeisti dinaminiai linkerio nustatymai Soliaris ir OS X sistemose.
Tai turėtų išspręsti kai kurias XS modulių kompiliavimo problemas.

Pataisyti OS/2 lizdų (sockets) ir laikinųjų bylų riktai.

OS X C<setreuid> ir panašios funkcijos nelabai veikia -- perlas dabar
stengiasi kuo geriau apeiti apie šią problemą.

=head1 Ateities planai

Nuo 5.8.3 mes tikimės išeisti perlo kodą su mažesniais pokyčiais, bet 
dažniau.
Tikimės kad taip greičiau galėsime perkelti riktų pataisymus į 
stabiliąją kodo
šaką ir kartu padarysime perlo atnaujinimo procesą įprastesnį ir ne tokį
skausmingą. Tai leis patiems vartotojams geriau pasirinkti kada jiems
patogiau atsinaujinti perlą. Dabartinis kodo užšaldymo planas yra toks:

=over 4

=item *

5.8.3 23:59:59 GMT, trečiadienis, Gruodžio 31, 2003

=item *

5.8.4 23:59:59 GMT, trečiadienis, Kovo 31, 2004

=item *

5.8.5 23:59:59 GMT, trečiadienis, Birželio 30, 2004

=back

Po kodo užšaldymo vyks testavimas, o po to greitai bus išleidžiamas
ir galutinis kodas.

Daugiau informacijos: L<perl581delta/"Future Directions">

=head1 Pranešimai apie riktus

Jeigu jūs manote kad radote riktą, pirma reiktų peržvelgti straipsnius
comp.lang.perl.misc naujienų grupėje bei perlo riktų duomenų bazėje
F<http://bugs.perl.org/>.  Taipogi informacijos galima rasti adresu
F<http://www.perl.com/>.

Jeigu manote kad radote riktą, apie kurį dar nebuvo pranešta, pasinaudokite
B<perlbug> programa, kuri yra kartu su perlu. Pasistenkite 
sumažinti savo
rikto aprašymą iki kuo mažesnio testinio scenarijaus.
Jūsų pranešimas apie riktą, kartu su C<perl -V> rezultatu bus 
nusiųstas
adresu perlbug@perl.org, kur jį išanalizuos perlo programuotojai. Riktus
galima naršyti adresu http://bugs.perl.org/

=head1 Tolimesnė informacija

Byloje F<Changes> yra išsami informacija apie visus pokyčius.

Byloje F<INSTALL> yra aprašymas kaip įdiegti Perlą.

Byloje F<README> yra bendra informacija.

Bylose F<Artistic> ir F<Copying> yra autorinių teisių 
informacija.

=cut

Lietuviškos knygos

Vakar nusipirkau MySQL ir PHP
knygas
, išleistas Smaltijoje. Dar per daug jų nežiūrinėjau, nors
tiesą sakant, per duag ir nesitikiu būtent iš PHP knygos. MySQL knygos
perskaičiau apie 10 puslapių ir ganėtinai įstrigo prastas vertimas.
Žodžiai atrodo palikti sakiniuose tokia tvarka kaip jie buvo angliškame
tekste, o ir terminų vertimai gana keistoki (tarkim file ir
palikti failu, o support verčiama kaip parama
– neturėtų būti palaikymas ar dar koks nors žodis,
esantis arčiau tiesos?). Skaitant tą vertimą galima iš kart matyti ir
anglišką sakinį. Be to, bent jau įvadas ir pati pradžia yra parašyta
truputį „…žaliems“ knygų serijos stiliumi su keletu niekam
nereikalingų juokelių, kurių niekada nebūna taip visų kompiuterastų
mėgstamose O’Reilly knygose. Aišku tuo siekiama, kad knyga būtų
įdomi naujokams, bet kaip kažkas yra pasakęs, techninė knyga ir turi
būti sudėtinga bei be juokelių, nes techniški dalykai yra rimtiems
žmonėms, kurie nebijo nugalėti sunkumus.

Aišku išsamesnę nuomonę apie knygas susidarysiu, kai jas
perskaitysiu, o štai keletas įdomių vertimo pavyzdžių iš MySQL knygos:

Yra labai nedaug priežasčių, dėl kurių neturėtumėte
svarstyti galimybės naudoti MySQL savo duomenų bazės sprendime.
„MySQL AB“, MySQL kurianti bendrovė, siūlo veiksmingą ir
nebrangią paramą, ir, kaip ir daugelyje atvirojo kodo bendruomenių,
internete rasite gausybę nemokamos paramos.

Daugelis senesnių duomenų bazių kenčia dėl palikimo problemų, be
reikalo paversdamos administravimą sudėtingu darbu.

Jeigu jūsų administratorius atrodo sutrikęs arba jūs patys ką tik
įdiegėte MySQL, tuomet jūs arba jūsų administratorius, norėdami pradėti
darbą, turite įvykdyti vieną iš žemiau pateiktų komandų sekų.

Esant tokiai struktūrai, duomenų bazė pateikia jums būdą šiuos
duomenis apdoroti: SQL

Perl 5.8.2 Release Candidate 1

Štai išleista pirma Perl 5.8.2 testavimo versija . Ją galima
parsisiųsti iš http://www.cpan.org/authors/id/N/NW/NWCLARK/perl-5.8.2-RC1.tar.bz2.
Pagrindinis pokytis, kuris įvyko nuo 5.8.1 laikų yra binary
compatibility
su 5.8.0 grąžinimas (visa ta binary
compatibility
sugriuvo dėl naujo hash randomisation
patobulinimo 5.8.1 Perle). Teoriškai dabar turėtų būti šita versija
binary-compatible tiek su 5.8.0, tiek su 5.8.1. Pagrindiniai
dalykai kuriuos norima išsiaiškinti su šia versija:

  • dvejetainis atitikimas tarp 5.8.2 ir modulių kompiliuotų
    5.8.0 versijai

  • dvejetainis atitikimas tarp 5.8.2 ir modulių kompiliuotų 5.8.1 versijai

  • ar teisingai veikai programos naudojančios labai didelius hešus

  • patvirtinimas, kad Perlas vis dar kompiliuojasi ant Windows, VMS, OS/2, …

  • ar OS X ir Solaris teisingai kompiliuoja visus XS modulius

  • ar mod_perl vis dar laimingas

  • ar gerai veikia PAR

Perlific kodas parsisiuntimui

Iš tikrųjų negalvojau pradžioje, jog plėsiuosi rašydamas tą Perlific
botą, bet kažkaip taip jau išėjo ;-) Perrašiau jį taip, jog būtų galima
(kada nors ir automatiškai, neperkraunant boto) naudotis įskiepiais
(pluginais). Visas tas įskiepių kodas dar neturi normalios API, tad viskas iš įskiepių
pusės daroma gana sudėtingai. Kada nors turėtų susitvarkyti ;-)

Anyway, kodą galite rasti čia.