Dar vieno analitiko svetainė
Petras Kudaras
Uncategorized
Berods dar vasarą su anarchistu diskutavome šia tema. Iš tiesų, 6 mėnesių VILIBOR palūkanų norma gali pasirodyti „fiktyvi“, mat bankai tarpusavyje nesudaro jokių sandorių tokiai trukmei. Tačiau bent jau teoriškai VILIBOR galima išvesti iš euro/lito forvardų kainų. Nežinau, kiek euro/lito 6 mėnesių forvardai (t.y. sandoriai pakeisti eurus ir litus sutarta kaina po 6 mėnesių) yra likvidūs, bet esu tikras, jog ši rinka turėtų būti gilesnė nei „fiktyvus“ VILIBOR.
Forwardų kainą galima apskaičiuoti pagal formulę:
Skaityti toliau…
Vakar investuotojų asociacija paprašė pakalbėti apie tai, ką manau apie rinkas. Kadangi prašė kalbėti daugiau apie pasualio rinkas, tai apsiribojau JAV, ir dariau prielaidą, jog ji atsigaus tik tuomet, kai atsigaus JAV vartotojai. Bet jie kol kas pinigų neturi, nes didėja nedarbas, paskolų aptarnavimui reikia skirti vis dar skirti rekordiškai didelę pajamų dalį (mat skolų yra labai daug, tad net sumažintos palūkanos leidžia tik ribotai atsikvėpti), o net ir tie, kurie vis dar turi darbus ir nedaug skolų yra linkę taupyti (taupymo lygis šovė į viršų).
Skaityti toliau…
Puiki trumpa, juokinga, bei įžvalgi knyga apie vadybą (ir šiek tiek apie raguočių priežiūrą). Dave Hitz joje pasakoja apie kompanijos NetApp, kuri užsiima duomenų saugojimo sprendimais, kūrimą ir evoliuciją, nors joje galima rasti ir visiškai nesusijusių su šios kompanijos istorija pasakojimų: tiesiog smagi minčių ir pamąstymų mišrainė, kurią gardžiai galima „suvalgyti“ per keletą valandų.
Ypač man buvo įdomu paskaityti apie itin spartaus kompanijos NetApp augimo laikus: keletą metų iš eilės padvigubėjančią kompaniją nelengva suvaldyti.
Skaityti toliau…
Visgi sesija, ir nėra laiko ilgesniems dienoraščio įrašams, bet štai
vėl krūva nuorodų, kurios gal kam bus įdomios:
Svetainių
permaišos (remixai) – pritaikykite vienos svetainės
turinį kitos svetainės dizainui ir rezutatai gali būti gana juokingi
;-) Nokia
žada Perl savo mobiliuose telefonuose – gal reikės pasikeisti
savo Ericssoną… FavIcon online
generatorius Juokingi
Apple C kompiliatoriaus įspėjimai 9-asis www čempionatas –
taip, esu prikišęs nagus urbandictionary
– neblogas online žodynas, šiek tiek panašus į everything2.
Skaityti toliau…
Kasdien
atnaujinamos nuotraukos iš Marso zondo Spirit Why I
hate webblogs – įdomus pasiskaitymas apie tai, kad
weblogai yra nieko neverti Perl6
wiki Biudžetai
savivaldybėje – shameless plug ;-) Get the
facts on Windows and Linux – Microsoft svetainėje prieš Linux
kovojama ir skaičiais Wired:
Gates previews the amazing decade – Microsoft vis toliau eina
į multimedia produktų rinkas
Atradau nemokamų teksto redagavimo programų Windowsams sąrašą. Gana
išsamus: http://www.devzoo.com/index.php?tooltype=WindowsEditor
Objekto vaizdavimas
Dažniausiai Perle Paskalio įrašas arba C struktūra, arba C+ klasė yra
saugoma anoniminio asociatyvaus masyvo (hešo) pavidalu. Taip
saugoti yra patogu, nes heše galima saugoti neribotą kiekį
elementų, kuriuos galima pasiekti per unikalų hešo raktą.
Jeigu tik norite kažko panašaus į C struktūrą, tai galima daryti
taip:
$irasas = { vardas => "Petras", amzius => 21, kolegos => [ "Juozas", "Nikolajus", "Vaidas"], }; Jeigu norite lengviau perskaitomo kodo, galite hešo raktus
Skaityti toliau…
Pasirodė populiaros Perlo distribucijos Windows platformai ActivePerl
versija. Ši versija yra kurta 5.8.1 Perlo versijos pagrindu ir turi
nemažai atnaujintų modulių. Patys didžiausi atnaujinti moduliai yra
XML::Parser ir Archive::Tar. Visi ActivePerl
vartotojai turbūt turėtų atsinaujinti Perlo versijas į šią naująją.
Kai kam prireikė funkcijos, kuri
verstų skaičius į lietuvių kalbą. Tad parašiau Perlinį moduliuką –
gal bus dar kam nors naudingas. (Parsiųsti kaip normalų modulį galima iš
čia)
#!/usr/bin/perl -w package Num2LTWord; =head1 Num2LTWord -- skaičiai lietuviškai Modulis verčiantis (sveikus) skaičius į lietuvių kalbą =head2 NAUDOJIMAS use Num2LTWord; num2ltword(2003); =head2 FUNKCIJOS =head3 num2ltword ( skaičius ) Ši funkcija grąžina suformuotą lietuvišką skaičiaus pavadinimą. =head2 RIKTAI IR APRIBOJIMAI Funkcija C<num2ltword> supranta tik sveikus skaičius intervale (- 1 000 000 000; 1 000 000 000) =head2 AUTORIUS Petras Kudaras aka moxliukas (moxliukas@delfi.
Skaityti toliau…
Labai įdomus dalykas, kurį šiandien aptikau benaršydamas internetą
buvo Internet Explorerio featuras, kurio pagalba galima
išsikviesti Notepad. Tereikia parašyti kažką panašaus į:
<img src="view-source:file:///C:/WINNT/system32/shell32.dll"> Ir jei jūsų Windows sėdi kataloge C:WINNT, greit pajausite kaip
Notepad pradeda prakaituoti stengdamasis parodyti bylą
shell32.dll. O juk galima įdėti ir kelias tokia nuorodas ir
staiga swape gali atsirasti kokia pora gigabaitų duomenų. Įdomu
dar ir tai, kad tokių dalykų nepagauna jokios Popup blokavimo
programos. Tiesiog tai vienas iš Internet Explorer featurų.
Skaityti toliau…
Pridėjau šiandien į perl-dev CVS kodo testus. Šiaip atrodo Lietuvoje niekas lyg ir
nedaro web aplikacijų kartu su testais (test based programming), nors
Perlmonksuose teko girdėti apie tai nemažai. Esmė yra tame, kad pakeitus
kažkokį failą automatiškai prasitestuojama ar viskas veikia kaip ir
turėtų, ar tie pakeitimai nesugriovė kokio nors kodo kuris seniau jau
veikė. Šiek tiek gal ir su eXtreme Programming susiję (ten pradžioj
parašomas testas kuris neveikia, o paskui stengiamasi padaryt kad jis
Skaityti toliau…
Turėjau šiokių problemų su perlific, mat jeigu jis kurį
laiką nevykdydavo jokios MySQL užklausos, MySQL uždarydavo ryšį su perlu
ir duomenų bazė tapdavo nebepasiekiama. Norint išlaikyti atvirą jungtį
su MySQL reikia kas kažkiek laiko papinginti duombazę
iškviečiant $dbh->ping();. Tai galima padaryti keleta
būdu (juk čia Perlas): fork()‘int ir atskirame procese
daryti while(1) { sleep(60); $dbh->ping(); }, galima
naudotis gijomis (jei Perlas kompiliuotas su jomis) – use<br /> threads;, galima apsirašyti funkciją on_ping (nes juk
Skaityti toliau…
Grįždamas namo troleibusu pirmą kartą sėkmingai
„nubluejackinau“ vieną merginą. Bluejackinimas yra gana
paprastas ir smagus dalykas – paprasčiausiai tai tėra tik žinučių (ar
objektų) siuntinėjimas per Bluetooth, kai gavėjai dažnai net nežino, kad pas juos yra tas Bluetooth ;-) (plačiau apie tai http://bluejackq.com). Veiksmo eiga tokia:
susikuri savo mobiliajame telefone naują kontaktą, vietoj vardo įrašai žinutę
(na, aš kaip neturintis lakios vaizduotės tai įrašiau tik „hi“),
eini į „Send Contact“, pasirenki kad siųstų per
Skaityti toliau…
Pirma naujiena yra apie tai, jog išleistas Perl 5.8.2 Release
Candidate 2, krį galima parsisiųsti iš http://www.cpan.org/authors/id/N/NW/NWCLARK/perl-5.8.2-RC2.tar.bz2.
Pagrindiniai pokyčiai nuo praeito Release Candidate: mod_perl dabar jau
lyg veikia normaliai su šia versija, keletas pataisymų Perlo gijose,
UNIVERSAL modulio pakeitimai bei %INC kešavimas buvo išimti, nes manoma
jog tai nepakankamai ištestuotas kodas. Galutinė Perl 5.8.2 versija
turėtų pasirodyti už kokios pusantros paros, jei nebus rasta kokių nors
klaidų.
Be to išleistas ir nauja PHP 5.
Skaityti toliau…
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 CVS iš http://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.
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.
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
Skaityti toliau…
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ą
Skaityti toliau…
Š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.
Skaityti toliau…
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,
Skaityti toliau…
Š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.
Skaityti toliau…
Ką tik išleistas Perl 5.9.0 (t.y. bleadperl – unstable
versija). Kol kas dar oficialaus pakeitimų sąrašo nėra, bet šį Perlą
galima parsisiųsti iš http://cpan.org/authors/id/H/HV/HVDS/perl-5.9.0.tar.gz.
Daugiau žinių kai atsinaujins visi CPAN veidrodžiai ir pasirodys pokyčių
sąrašas.
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.
pukomuko
pastebėjo, kad pirmasis Googlinis alus jau
išvirė. Nulėkiau į google pažiūrėti rezultatų. Ieškant „alus“
tik lietuvių kalba google.lt gauti rezultatai:
32. <a href="http://blog.hardcore.lt/ve/archives/000922.html">ve postas apie<br /> alaus takeover</a> bei kartu (google mano jog visas <a href="http://blog.hardcore.lt">yra viena svetainė</a>) ir <a href="http://blog.hardcore.lt/mic/archives/000923.html">mic<br /> postas</a>
33. <a href="http://php.lt/konf-archive/2979.html">PHP<br /> konferencijos laiškas apie alaus gėrimą Kaune</a>
67. <a href="http://dzhibas.php.lt/blogs/">Džibo<br /> LietBlogs</a>
107. <a href="http://lakunas.promedija.lt/">Lakūno<br /> dienoraštis</a>
177. <a href="http://dzhibas.php.lt/">Džibo<br /> dienoraštis</a>
183. <a href="http://god.
Skaityti toliau…
Apie Infobalt girdžiu įvairiausių nuomonių, bet dažniausiai visi sako, jog infobalt tampa nebeįdomus, jis nusivažiavo ir t.t. Na, mano nuomonė ganėtinai skiriasi, nes aš manau jog Infobalt kaip tik tampa solidesnis ir vis labiau naudingas. Aišku tik ne statistiniam dešimtokėliui, kuris atėjo pasirinkti nežinia kam jam reikalingų bukletėlių.
Kad ir kaip ten bebūtų, Infobalte dalyvaujančių kompanijų tikslas yra pasireklamuoti taip, jog padidėtų jų pardavimai. Dauguma IT bendrovių klientai visgi yra ne plačioji visuomenė, o kitos verslo bendrovės (jos dirba pagal modelį verlas verslui).
Skaityti toliau…
Buvau Infobalt 2003
parodoje. Kaip ir kiekvienas save gerbiantis kompiuterastas. Įspūdžių
tikrai nemažai: parodoje nemaža naujų idėjų (kai kurios jų iš stiliaus
„ech kaip genialiai paprasta, kodėl niekas anksčiau
nepagalvojo“), naujų produktų ir panašiai. Palyginus su praeitais
metais matau vieną esminį pasikeitimą – patys gamintojai
nebeatstovauja savo kompanijoms parodoje, parodoje dalyvauja tik jų
atstovai (tai negalioja mobiliųjų telefonų bendrovėms Nokia ir Ericsson). Tarkim pernai pamenu
dalyvavo atskirame stende tiek HP, tiek Microsoft.
Skaityti toliau…
Na, kad jau buvo pradėtas projektas „alus“,
tai apsilankiau Google norėdamas
apžvelgti dabartinę situaciją. Pirmiausia žodžio „alus“
ieškojau google.com su standartiniais
nustatymais. Peržiūrėjau pirmuosius 500 rezultatų ir iš jų tik 218
vietoje buvo viena pažįstama nuoroda – pbg dienoraščio
įrašas apie alų.
Tuomet nusprendžiau jog reikia eiti į google.lt ir bandyti ieškoti
„puslapiuose tik lietuvių kalba“. Štai ką aptikau (vėlgi
peržiūrėjęs 500 rezultatų):
197. <a href="http://god.aurus.lt/blog.php/1">godzhirra<br /> dienoraščio įrašas apie alų Čekijoje</a><br /> 255.
Skaityti toliau…
Užmačiau pas godzhirra idėją apie linkų
gaudymą IRC kanaluose, tad
ėmiau ir sukodinau Perlinį sprendimą. Tas ant greitųjų sumestas botukas
vadinasi Perlific, ir dabar gaudo adresus #perl ir
#php kanaluose bei kiša juos į MySQL duombazę. Štai šio
boto kodas:
#!/usr/bin/perl -w $|++; use strict; use Data::Dumper; use Net::IRC; use DBI; my $config = { 'db' => { 'duombaze' => 'duombaze', 'user' => 'root', 'password' => ''}, 'irc'=> { 'nick' => 'perlific', 'server' => 'irc.
Skaityti toliau…
Spameriai visai suįžūlėjo. Gavau šiandien spamą subjectu
„Bigger penis with new perl patch“ –
praėjo pro visus Mozillos Bayeso
filtrus net nemirktelėjęs. Tai turbūt pirmas kartas kai taip
akivaizdžiai susidūriau su spamerių naudojamais Bayeso filtrų teršimais.
Tiesa, kartais ir seniau praslysdavo pro šiuos filtrus nepageidaujami
laiškai su įveltais visai atsitiktiniais žodžiais, bet pirmą kartą šie
žodžiai buvo tokie visai neatsitiktiniai. Įtariu, kad mano adresą
spameriai gavo iš perl5-porters konferencijos, tad
Skaityti toliau…
Mano bėdos su PHP nesibaigė. Tiesa, tą
pačią pirmąją tai išsprendžiau – reikėjo php.ini nustatyti
arg_separator.output = "&" (Vis dar nesuprantu
kodėl tai nėra nustatyta pagal nutylėjimą :-/ ). Viskas lyg ir puiku,
bet štai naujas dalykas. Jeigu puslapyje yra kokia nors forma, tai PHP automatiškai prideda
hidden sesijos kintamąjį, bet jį įkiša tiesiog tiesiai po
<form>, kas nepatinka validatoriui. (nes reikia
kokios nors <p> žymės ar ko nors panašaus
Skaityti toliau…
Jau antrą kartą šią savaitę esu supykęs ant PHP, nors šį kartą gal ne
tiek supykęs bet dar kartu ir pasimetęs. Būtent man sugadino nuotaiką šis PHP vabaliukas.
Atrodo jis turėtų lyg būti pataisytas, tik kažkokiu mistiniu būdu man
sesijų kintamuosius prie URL prideda su &, o ne
& (nors vartoju PHP versiją 4.3.3 –
vabaliukas pastebėtas ir ištaisytas 4.0.4 versijoje). Ko pasekoje aišku
puslapis nesivaliduoja kaip XHTML. Heh.
Perlmonksuose kilo diskusija apie tai kokia kalba yra saugesnė
– PHP ar Perl. Atsakymas bent jau mano nuomone yra vienareikšmis
(ne, atsakymas nėra Perlas) – saugumas priklauso ne nuo
kalbos, o nuo programuotojo. Galima rašyti nesaugias (lygiai taip kaip
ir saugias) web aplikacijas tiek su PHP, tiek su Perlu, tiek su C, tiek
su Pitonu ar Java. Aišku kaip sako amerikonai „the devil is in
the details“ – kai kurios kalbos saugumo prasme leidžia
Skaityti toliau…
Ilgokai čia nerašiau. Kaip pasakė kažkoks Amerikos
weblogininkas, internetiniai dienoraščiai dažnai būna pilni
atsiprašymų, jog dėl susikaupusių darbų ar dar ko nors nėra laiko juos
pildyti. Tad štai man dabar yra panašiai ;-).
Pačiame Lietuvos internetinių dienoraščių pasaulyje pradeda jaustis
štilis (mada pradeda praeiti?) – štai Džibas neatnaujina savo dienoraščio jau
20 dienų, aubergine miręs visą
mėnesį (nors gyvybingumu ir taip nepasižymėjo), blondattack ryškiai
sužibo ir greitai perdegė, why2liz primigęs rudens miegu,
Skaityti toliau…
Pastaruoju metu labai populiarėja visokie internete pasiekiami
automatiniai CSS dizainų
generatoriai, kurie leidžia vienu formos užpildymu susikurti standartus
atitinkančią svetainę be lentelių. Štai du, kuriuos neseniai atradau: Layout-o-Matic
ir Firdamatic.
Tikėkimės kažkada ir Frontpage generuos standartus atitinkančius
dizainus be lentelių (na, pasvajokim…)
Prie to pačio dar šiandien išsibandžiau Style
Master programėlę (reiktų kada nors su tais CSS pagaliau susitvarkyt). Atrodo ganėtinai patogus
dalykas. Tik aišku mokamas.
LG
sumąstė labai sick idėją – paaukoti kodo komentarus
vardan kodo greičio. Na, nieko čia nuostabaus, kad kodas be komentarų
veikia greičiau – juk greičiau jis nuskaitomas iš disko (Nes
mažiau skaityt. Logiška.) Šiaip pati kodo greitinimo idėja išimant
komentarus yra E V I L –
dar išimkit visus tarpus, ir tada bandykit redaguot tą kodą ;-)
Pasibenchmarkinau ir aš. Pagrindinis testavimo skriptas yra paleidžamas iš konsolės. Štai jis
(nenaudoju Benchmark modulio, nes jis skaičiuoja tik realų
Skaityti toliau…
Štai šiandien į CVS įdėjau pirmą perl-dev kodą. Nieko per daug nėra
įmantraus, beveik tik Sveikas pasauli. Bet kaip sakant pradžia.
Bandžiau šiek tiek ir padokumantuot tai ką padariau, tad
čia
galite rasti kodo žemėlapį
Šiandien paleidau CVS
serverį perl-dev
projektui. Prieiti prie kodo gali visi per http://perl.skopos.lt/cgi-bin/cvsweb
arba tiesiai iš konsolės:
cvs -d :pserver:[email protected]:/var/lib/cvs login cvs -d :pserver:[email protected]:/var/lib/cvs co perl-dev
Kaip jau labai labai seniai žadėjau, šiandien pagaliau pakūriau
susirašinėjimo sąrašą [email protected] norintiems
prisijungti prie lietuviškos svetainės apie Perl kūrimo. Norintys
prisijungti prie šio sąrašo turėtų atsiųsti elektroninį laišką adresu
[email protected] su eilute:
subscribe perl-dev Pagrindinis šio sąrašo tikslas yra lietuviškos svetainės apie Perl
programavimo kalbą sukūrimas. Kartu tai ir galimybė dalyvauti Perliniame
projekte taip išmokstant šią kalbą bei gaunant daugiau patirties.
Tikiuosi šis projektas bus sėkmingas ir naudingas visiems, o ne tik jame
Skaityti toliau…
Šiandien pilnai perėjau prie naujojo Perl
5.8.1. Persikompiliavau mod_perl ir panašiai, tad ši
svetainė veikia būtent jau su naujuoju Perlu.
Nors ir yra angliška perldelta, štai
pagrindiniai Perl pokyčiai nuo 5.8.0 versijos:
Asociatyviųjų masyvų atsitiktinės tvarkos pagerinimas.
Anksčiau asociatyviųjų masyvų (hešų) raktai būdavo saugomi ne
visai atsitiktine tvarka, o dėl to atsirasdavo šiokių tokių saugumo
problemų (ten viskas labai sudėtinga, bet idėja tame, jog galima kažkaip
programėlei padaryti DOS ataką).
Skaityti toliau…
tvarkiausi šiandien vieną savo stalčių. Veiksmas vyksta kaune, ten
jau senokai nebegyvenu. Užtad stalčius prisikaupęs visokių įvairių
senienų, krapštantis po jį jaučiuosi kaip archeologas, nes kuo gilyn
tuo senesnis kultūrinis sluoksnis. Štai ką radau stalčiuje, pradedant
nuo viršaus (naujausi laikai) ir einant gilyn (arba senyn chronologine
tvarka):
Infrared <=> Serial kabelis. Neaišku iš kur papuolęs.
Ryškiai naudotas bet ne mano. Reiks išbandyt. Varžtai nuo monitoriaus, kurį atidaviau mr2 10 kompiuterinių varžtukų.
Skaityti toliau…
Vėlgi prisikaupė visokių nuorodų, kurios gal kam ir pravers.
Šiek tiek kompiuterastinės:
XFCE – išleista XFCE ketvirtoji versija 012webpages.com – nemokamas hostingas su PHP, Perlu, MySQL, Pitonu ir pan. Šiaip įdomios:
New Scientist: Cleverness may carry survival costs – jei esi protingas tai dar nereiškia, jog išliksi evoliucinėje kovoje. Weblogai ir ISSN – hmm… gal ir man paprašyt ISSN numerio? :-) Nokia 7600 – labai keistai atrodantis mobilusis telefonas. Nokia Medallion I – dar keistesnis Nokios produktas.
Skaityti toliau…
Viskas. Prieš porą minučių išleistas Perl 5.8.1. Kol kas dar nėra
oficialaus pranešimo, Jarkko Hietaniemi pranešė tik į
perl5-porters sąrašą. Štai ką jis parašė:
Grab it:
http://www.iki.fi/jhi/perl-5.8.1.tar.bz2
http://www.iki.fi/jhi/perl-5.8.1.tar.gz
(or rsync -avz --delete ftp.linux.activestate.com::perl-5.8.x perl-5.8.x)
Or in a while:
http://www.cpan.org/authors/id/J/JH/JHI/perl-5.8.1.tar.gz
perldelta:
http://www.hut.fi/~jhi/perldelta-5.8.1.html
Thank you to you all. Hopefully the 5.8.1 is better than the 5.8.0 was.
Since the release is now out there propagating, there’s precious little
I can do anymore, so I will now have a vacation.
Skaityti toliau…
Atradau beeksperimentuodamas, kad galima nuotraukas siųsti iš
mobilaus ne per MMS, o
per paprastą elektroninį paštą (na kaip paprastą… per GPRS tiesiai iš
telefono). Tai reiškia, kad nereikės mokėti viso 1,50 Lt už vieną MMS žinutę (nuo spalio
pabaigos berods) ir bus galima apsiriboti paprastu GPRS. Kadangi viena
nuotrauka užima apie 15KB (su base64 kodavimu matyt apie 20KB), tai
vienos nuotraukos siuntimas į moblogą kainuoja apie 0,15 Lt (huh, 10
Skaityti toliau…
Čia pateikiu dar vieno PerlMonks straipsnio santrauką lietuvių kalba. Šį kartą apie tai kaip įdiegti Perlo modulius.
Paprasti dalykai
Daugumą modulių galima rasti CPAN. Jie būna pateikiami taip vadinamuose tarballuose – tar bylose, suarchyvuotose gzip programa. Modulio kodas būna atskiroje direktorijoje, tad tar šią direktoriją sutraukia į vieną bylą, o gzip šią bylą suarchyvuoja. tar sukurtos bylos turi plėtinį .tar, o gzip – .gz, tad dažniausiai modulio bylos pavadinimas atrodys kažkaip taip:
Skaityti toliau…
Na štai nusipirkau naują mobilų – tikrą kompiuterasto svajonę.
Yra visos javos, GPRS, infrared, Bluetooth ir panašiai. Tai Ericsson T610. O kad
jei jau yra infraraudonųjų spindulių galimybė, ta galima išsibandyti ir
priversti Palmą dirbti su internetu. Na, daug privertinėt nereikėjo,
viskas veikia puikiai ir gražiai. Tai yra pats susijungimas veikia
puikiai ir gražiai, o vat su internetinėmis programomis tai šiek tiek
skurdžiau.
Pradžiai ieškojausi IRC
klientų. Radau jų keletą, bet visi jie shareware.
Skaityti toliau…
Visgi reikėjo pasidaryti telefono backupus. Po vakarykščio apsilankymo Forum Palace vykusiame Nokia Plugin kažkur pradanginau savo mobilų (Pavogė? Pamečiau? Mobilus įgijo
sielą ir žaviai mirksėdamas savo diodu išėjo ieškoti merginų?). Kad ir kaip ten bebūtų, mano mobiliam tai
turbūt patinka, nes bandant su juo susisiekti atsiliepia mergina vardu „balso paštas“
Vis dar nevalingai siekiu kelnių kišenės, nes vis kyla noras įsijungti WAP ir pasižiūrėti ar šioje svetainėje padaugėjo komentarų ar bent jau pažvelgti į jo logotipą.
Skaityti toliau…
Teko praleisti praeitą naktį prie kompiuterio stengiantis parašyti
kuo daugiau veikiančio PHP kodo. Apie kokią antrą valandą nakties
sėdejau su vim ir pamaniau kad turbūt nieko į jį
nekeisčiau. Yra tekę bandyt ir visokius GUI redaktorius ir
mcedit ir nano, ir pico, bet
niekas negali prilygti vim (nebent emacs
– reiktų tą irgi išbandyt normaliai).
Tiesa, vim yra gana baisus naujokams. Prisimenu aš pats
nemokėjau iš jo išeit kai pirmą kartą jį paleidau ;) Bet dabar sau
Skaityti toliau…
Šiandien man akis užkliuvo už projekto pavadinimu PLP. Tai labai papratsas Perlo modulis,
kuris leidžia naudoti Perlą taip kaip PHP – be jokių chmod ir headerių
formavimų bei tiesiai HTML kode. Privalumų yra keletas: labai lengvas
įdiegimas (ypač jei mod_perl jau įdiegtas), greitis (2-5
kart greičiau nei PHP) ir aišku pats Perlas ;)
Tiesa, galimybėmis PLP vis dar stipriai nusileidžia
tokiems projektams kaip HTML::Mason
ar embperl, bet kartu jis
žymiai paprastesnis ir lengvesnis naudoti.
Skaityti toliau…
Tarkim jums reikia, kad pritaikyti įpraišką simbolių eilutei ir
rezultatus sudėti į masyvą. Perle tai labai lengva:
@masyvas = $eilute =~ m/(kazkas)/g; Šitas kodo gabaliukas veikia, nes =~ turi didesnę
reikšmę nei = ir todėl įpraiška yra pritaikoma anksčiau.
Jeigu reikia sužinoti tik kiek kartų įpraiška atitiko eilutę galima
daryti taip:
$kiek_kartu = $eilute =~ m/(kazkas)/g; Viskas labai paprasta: jeigu rezultatą priskiriame masyvui, tai
gauname atitikmenų masyvą, jeigu rezultatą priskiriame paprastam
Skaityti toliau…
Šiandieną ryte gavau porą labai įdomaus viruso kopijų. Štai kaip
atrodo headeriai:
From - Tue Sep 16 08:37:52 2003 X-UIDL: Y&5!!dV,!!P*V!!?l^!! X-Mozilla-Status: 0001 X-Mozilla-Status2: 10000000 Return-path: <[email protected]> Envelope-to: [email protected] Received: from [81.7.106.87] (helo=localhost) by www.lietuvoje.lt with smtp (Exim 3.35 #1 (Debian)) id 19z0nf-0003vz-00 for <[email protected]>; Mon, 15 Sep 2003 23:22:23 +0200 From: "Microsoft" <[email protected]> To: <[email protected]> Subject: Use this patch immediately ! MIME-Version: 1.0 Content-Type: multipart/mixed;boundary="xxxx" Message-Id: <[email protected]> Date: Mon, 15 Sep 2003 23:22:23 +0200 X-UIDL: Y&5!
Skaityti toliau…
Kaip žinia, Perlo kalboje nėra switch konstrukcijos. Gal
kam ir keista, bet yra keletas (kaip visada Perle yra keletas būdų
atlikti tam pačiam daiktui ;) būdų kaip apsieiti be to.
Pirmas būdas gana man bjaurokas, nes naudoja goto (nors
šiaip tai labai primena įprastą switch:
SWITCH:{ # switch($option) $_='CASE_'.$option; eval("goto $_"); $_= 'DEFAULT' if ($@); goto $_; CASE_1: print "Case 1\n"; last SWITCH; CASE_4: print "Case 4:\n"; last SWITCH; CASE_FOUR: print "Case FOUR\n"; last SWITCH; CASE_9: print "Case 9\n"; return "Because I can"; CASE_WHAT: ; CASE_STR: print "Case STRING on $option\n"; last SWITCH; DEFAULT: print qq|Undefined Case "$option"\n|; } Dažniausiai naudojama nuorodų lentelė (dispatch table):
Skaityti toliau…
Vakar kaip įprasta skaitinėjausi W3C standartus ir pamaniau, kad gal vertėtų pereiti
prie XHTML 1.1 standarto. Didžiausias šio standarto
skirtumas nuo ankstesnių versijų yra tas, kad reikia nurodyti
Content-type: application/xhtml+xml. Pasirodo jeigu
nurodomas senas text/html tipas tai naršyklės
interpretuoja kodą kaip įprastą HTML košę, net jei tai ir yra standartus atitinkantis
XML. Priversti naršyklę
dirbti XML režimu nelengva – būtent tam ir reikia specialaus
Content-type. Tiesa, XML parseris yra negailestingas – viena
Skaityti toliau…
Kas čia vis sako, kad Perlo programos neįskaitomos dėl to kad pilna
visokių @$%&*; ? Pasirodo, kad galima rašyti ir labai
švarias ir tvarkingas Pelro programas – Perlmonksuose blockhead parašė
vieną geresnių
„obfuscated“ programėlių:
#!/usr/bin/perl not exp log srand xor s qq qx xor s x x length uc ord and print chr ord for qw q join use sub tied qx xor eval xor print qq q q xor int eval lc q m cos and print chr ord for qw y abs ne open tied hex exp ref y m xor scalar srand print qq q q xor int eval lc qq y sqrt cos and print chr ord for qw x printf each return local x y or print qq s s and eval q s undef or oct xor time xor ref print chr int ord lc foreach qw y hex alarm chdir kill exec return y s gt sin sort split Šito kodo pervarymas per O::Deparse irgi neduoda naudos, netgi kaip tik dar viską supainioja:
Skaityti toliau…
pbg
rašant apie šriftų dydžius EnC pamanė
jog CSS nurodomi šriftų dydžiai yra blogai, nes juos naudojant
neveikia šrifto sumažinimo ar padidinimo galimybės naršyklėse. Tai ne
visai tiesa. Štai pavyzdys:
<style> p.pixeliais { font-size: 14px; } p.emais { font-size: 1em; } p.procentais { font-size: 100%; } p.taskais { font-size: 14pt; } </style> <p class="pixeliais">Čia nurodyta pikseliais</p> <p class="emais">Čia nurodyta emais</p> <p class="procentais">Čia nurodyta procentais</p> <p class="taskais">Čia nurodyta taškais</p> Mozilla didina šriftus visais šiais atvejais (View->Text<br /> Zoom), tuo tarpu IE pikseliais ir taškais nurodytus šriftų
Skaityti toliau…
Bevaikščiodamas kažkurioje svetainėje aptikau įdomų
rėmelį aplink tekstą. Iš pradžių pagalvojau kad čia su CSS padaryta (na, tekstui uždėt
galima position: relative; top: -20px;, truputį pažaist su
z-index ir nustatyt background-color: white
su padidintomis paraštėmis), bet pasirodo kad naudojamos
<FIELDSET> ir <LEGEND> žymės.
Kažkaip nemaniau kad jos priklauso W3C standartams , bet klydau
– jos yra HTML4.0 standarto dalis. Kasdien vis ką nors naujo
sužinai :)
Aš vis dr gyvas. Nors beveik palaidotas po darbais, universitetais,
mokslais ir šiaip visokia veikla. Čia jau matau sunerimot, kad merginą
būsiu susiradęs ;) Tai va, nė velnio, štai jumi krūva nuorodų:
Kompiuterastinės: Mozillos
Firebird priedų sąrašas – ganėtinai pilnas ir išsamus. Listamatic
– viskas, ką galima padaryti su <li> žyme ir
CSS Google
švenčia 5-ą gimtadienį – Visų pamėgtas paieškos
įrankis. Šiaip smagumynai: Optinės
apgaulės jūsų akims – žiūrėti išgėrus Pasimetę
Skaityti toliau…
Vakar kilo man nenumaldomas noras pasidaryti taip, kad Mozilloje būtų
galima ieškoti ne tik per Google, bet ir
per CPAN, nes labai dažnai tenka
ten eiti ir įvedinėti paieškos žodžius rankomis. Sprendimą radau, ir jis
labai paprastas ir puikus. Einam į Bookmarks->Manage<br /> Bookmarks, darom New Bookmark, į Name
įrašom CPAN, o į Location –
http://search.cpan.org/search?query=%s&mode=all.
Spaudžiam OK, dabar susirandam kur atsirado tas mūsų naujai
sukurtas bookmarkas, spaudžiam ant jo dešiniu pelės klavišu,
Skaityti toliau…
lwpcook – libwww-perl bibliotekos receptai
Šiame dokumentacijos skyriuje galima rasti tipinius
libwww-perl naudojimo pavyzdžius. Išsamesnės informacijos
ieškokite individualių modulių dokumentacijose.
Visi šie pavyzdžiai yra pilnos programos.
GET
Naudojantis šia biblioteka labai lengva parsiųsti dokumentus iš
tinklo. LWP::Simple modulis turi funkciją
get(), kuri grąžina URL turinį:
use LWP::Simple; $doc = get 'http://www.linpro.no/lwp/'; Arba tiesiai iš konsolės viena Perlo eilute:
perl -MLWP::Simple -e 'getprint "http://www.linpro.no/lwp/";' O štai taip galima parsisiųsti naujausią Perl versiją:
Skaityti toliau…
Nagi paskatintas Nightblade komentaro apie lietuvišką blogosferą, nuėjau pasidaryti po
Bangos dienoraščius. Yra ten toks patogiai
padarytas skyrelis „Populiariausi
dienoraščiai“, kuriame surašyti lankomiausi Bangos dienoraščių
įrašai (hmm… kodėl įrašai, o ne patys dienoraščiai? Kažkaip toje
Bangoje sąvoka „dienoraštis“ ištirpsta, nes ten faktiškai
privatus vieno žmogaus forumas gaunasi). Na, įspūdis tai ganėtinai
prastas – visiems rūpi tik įrašai, kur yra prisegtos nuotraukos,
bet šiaip pliurpalynės apie tai kad kažkas eidamas iš mokyklos namo
Skaityti toliau…
Kiekvieną dieną važiuodamas troleibusu į darbą ir iš jo esu įpratęs
skaityti arba dienoraščius nusiurbtus į mano Palmą arba lakstyti (na
žodis „lakstyti“ čia netinka… tiksliau būtų
„šliaužioti“) po WAP svetaines. Lietuviškajame WAP internete nėra labai kažko išskirtinio
(na, prieinama visa Banga, bet kažkaip tie visiškai
nekontroliuojami ir nuobodūs forumai ten nevilioja, o rimto
kompiuterastizmo ten nerasi), tačiau vis tiek kas kartą apsilankau OMNI Laike. Kai kurie OMNI Laiko
skyriai atrodo kaip normalios naujienų skiltys, bet labiausiai mane
Skaityti toliau…
Prisiminęs, kad patys pirmieji interneto dienoraščiai buvo skirti
būtent rastų nuorodų pasidalinimui, nutariau ir aš pasidalinti savo
atrastosiomis per šiandien dieną.
Pradžiai, kompiuterastizmai:
FreeTech
Books – nemokamos techninės knygos (ir netgi viskas legalu).
Yra ir keletas knygų apie Perl, Python, C++, Java, Linux, FreeBSD ir
dar daug kitų. Lingua::Romana::Perligata
– Perlo modulis, rašytas gasiojo profesoriaus Damian Conway, kuris
leidžia rašyti Perlo programas gryna lotynų kalba. Gražu. Rimti dalykai pamąstymui:
Globalrichlist.com
Skaityti toliau…
Štai Džibas
pakvietė visus prigalvoti visokių naujų features (hmmm… o
visgi kaip lietuviškai yra „feature“?) lietBlogsams. Mano nuomone ten
nelabai ko ir trūksta, nebent galimybės ieškotis dienaraščių įrašų pagal
kokį nors raktinį žodį. Ir tiesa, galėtų viskas būti saugoma visą laiką
duomenų bazėje, tada būtų galima padaryti ir centrinę paiešką per
lietuviškų dienoraščių archyvą (nes Google sunkiai susitvarko su dažnai
besikeičiančia informacija). Aišku tokia paieška būtų naudinga tik jei
tų dienoraščių būtų pakankamai daug (o atrodo jų bus).
Skaityti toliau…
Per pastaruosius mėnesius lietuviškų internetinių
dienoraščių (weblogų) pridygo kaip grybų
po lietaus. Dienoraščius pildo jau ne vien kompiuterastai, tai
tampa masiniu reiškiniu (na, tas „masiškumas“ dar
nėra labai masyvus – be livejournal vartotojų žinau gal
kokį 50 žmonių, rašančių internete). Apie
visą šitą dienoraščių karštinę jau
pasakojo ir „Naujoji Komunikacija“ (ir įtariu prie jos tuo
dar daugiau prisidėjo).
Jau šiandien lietBlogs
stebi virš 30 žmonių dienoraščius. Kai kurie
jų neįdomūs (aišku skonio reikalas), kai kurie tiesiog
Skaityti toliau…
Truputį šiandien tvarkiausi savo XHTML ir CSS ūkyje. Galima sakyti padariau savo šablonų reviziją ir stengiausi pakeisti kodą taip, kad visos žymės atitiktų tai ką jos ir reiškia. To pasekoje sumažėjo <div> elementų bei visokių <p class="foo">. Vietoj jų atsirado visa krūva<hx>. Šoniniame meniu esančios nuorodos yra ne kas kitas kaip sąrašas, tad jos dabar yra tarp <ul> ir <li> žymių. Tiesa, ne iki galo sutvarkiau pagrindinį stilių, tad geriau būtų jog kol kas naudotumėt alternatyvųjį (kuris kuo toliau tuo labiau man patinka ;-)
Skaityti toliau…
Pastaruoju metu vėl nemažai skaičiau apie HTML bei CSS standartus, ir supratau, jog nuo to laiko kai dariau šio dienoraščio šablonus daug ko išmokau ir visą HTML+CSS daryčiau šiek tiek kitaip. Visų pirma, mano HTML nors ir validuojasi, bet nėra semantiškai tvarkingas – reikia pakeisti visus <p class="title"> į <h3>, šone esančias nuorodas sudėti į <ul> ir <li> žymes.
CSS irgi čia nėra visai teisingas, mat beveik viskas nurodyta pikseliais. Tad jei naršyklėje bandysit daryt „increase font size“, tai nelabai kas turėtų keistis (bent jau ant IE).
Skaityti toliau…
Kažkuriame dienoraštyje aptikau labai įdomią idėją apie tai kad
kovoje su pašto šiūkšlėmis gali padėti RSS naujienos. O va šiandien panašia
tema rašo ir Slashdot. Pagrindinė idėja tame, kad vietoj
informacijos siuntimo (push technologija) pereinama prie
informacijos gavimo tik pareikalavus (pull technologija).
Mat RSS naujienas gauni
tik kai jų paprašai (surenki jų adresą, arba užsiprenumeruoji savo RSS naujienų skaitymo
programoje), ir jei tau jos nepatinka – labai lengva jų
atsisakyti. Taigi RSS
Skaityti toliau…
PlainBlack paskelbė Perlo
programavimo konkursą
susijusį su perline turinio valdymo sistema WebGUI. Pagrindinis prizas
yra $1000, o iš viso priziniame fonde – $3000. Pats konkursas vyks
iki gruodžio pirmos. Tiesa, Perlo šiame konkurse nelabai daug ir reikia,
nes ten daugiausiai laukiama įdomių komponentų Perlinei turinio valdymo
sistemai. Šiaip ganėtinai įdomus šitos kompanijos verslo modelis: pati
TVS yra atviro kodo, o
tokiais konkursais pritraukiama nemažai programuotojų (kurie
priprogramuoja daug visokių įdomių ir naudingų dalykų)
Skaityti toliau…
Šiandien sumąsčiau, jog reiktų pabandyti pildyti =
dienoraštį tiesiai iš Palmo. Tam didelių =
kliūčių kaip ir nėra – yra galimybė =
sinchronizuotis su el.pašto programa, o man daugiau nieko ir =
nereikia. Tik problema tame, kad PalmOS nepalaiko lietuviškų =
nosinių (o juk norisi rašyti taisyklingai lietuviškai ;) =
Štai dabar rašau šį įrašą Palme ir =
tikiuosi, kad serveryje teisingai veikia tas mažai naudotas =
feature, kuris verčia mano pseudo-HTMLEntities =
Skaityti toliau…
Vat ėmė why2liz ir man
paliepė parsisiųsti naują
logotipą Ericsson T65 mobiliam, susijusį su Perlu ir atrodo
pritaikytą kaip tik man. Kas įdomiausia, šitą logotipą aš pats dariau,
ir jau naudoju porą mėnesių. Esato.com ten turi tokią galimybę, kad jei
atsiunti jiem bmp, tai jie gali paverst į Ericsson logotipų
formatą. Atrodo prieš mėnesį aš jį įkėliau kaip private, o gal ir
ne, nepamenu.. žodžiu, prijaučiantys Perlui ir turintys Ericssonus,
Skaityti toliau…
Turbūt pats sudėtingiausias CSS dalykas yra visi tie
float aprašymai (na, šiaip pats sunkiausias dalykas yra
parašyti tokį CSS, kurį suprastų IE ;) Tiesą sakant iki šiol man
float buvo šiek tiek mistiškas elementas, bet va per
kažkurį dienoraštį aptikau puikų
float paaiškinimą. Imkiet ir skaitykiet ;)
New York
Post rašo, kad suimtas Windows MSBlaster.B viruso (kirmino) kūrėjas.
Tai aštuoniolikmetis 145-kilograminis Bilo Geitso fanatikas ir vienišius
(kaip skaičiau viename dienoraštyje, vertimas paprastai visuomenei:
jis atrodo kaip eilinis kompiuterastas, jūs nesuklydote, jie visi
visuomenės atstumti, labai protingi ir riebaluotais pirštais).
Tiesa, čia ne jis parašė MSBlaster, jis tik modifikavo jį
(vertimas visuomenei: gal jis ne toks ir protingas… protingieji vis
dar nerasti ir dabar jau galanda kompiliatorius ir ruošiasi smogti naują
Skaityti toliau…
Šiandien patobulinau lietBlogs WAP’inę versija. Pagrindinis
naujas dalykas yra dienoraščių įrašų rodymas (imama iš XML viskas).
Kartu pataisyti ir du riktai – pataisiau nuorodas į
wmlproxy bei patobulinau HTML entities (būdavo
problemų, kai ateidavo XML’e pačiame jau & tai
sugriaudavo XML struktūrą). Kaip visada, kodą galima rasti http://lietuvoje.lt/~moxliukas/files/lietBLOGS-wap-030827.tar.gz.
Taip pat turbūt teko pastebėti, kad perdarytos nuorodos kairėje.
Pamaniau, jog nebetenka prasmės kolegų dienoraščių nuorodų rašymas, kai
visas tas nuorodas (ir dar daugiau) galima rasti pačiame http://dzhibas.
Skaityti toliau…
Vat Perlmonksuose radau tokį įdomų
klausimėlį . Štai kodo gabaliukas, pabandykit pasakyt ką jis spausdins
(jo nepaleidę):
$a = $b = $c = 1; $a = $a++ + $a++; $b = $b++ + $b ; $c = $c + $c++; print "$a $b $c"; Na, aš teisingai atsakiau ką spausdins tik du ;) (na, jei PHP
taisyklėmis – tai visus tris). Atrodo kad Perlas čia skiriasi nuo
PHP. PHP spausdina kaip ir tikėjausi 3 3 2, tuo tarpu
Skaityti toliau…
Vakar vakare padariau Džibo
lietBLOGS WAP’inę versiją. Su WAP didžiausia problema yra ta,
kad ribojamas puslapio dydis (kažkur iki 1200 baitų?). taip pat teko
pasukt galvą dėl lietuviškų koduočių (WML Unikodas atrodo gana gerai
palaikomas, tik reikia paduoti jį koduotą HTML entities (stiliumi
ģ). Džibo XML yra paduodamas
windows-1257 koduote, tad tenka jį konvertuotis į
utf-8 (hmm.. kaip būtų paprasta jei visas pasaulis gyvenatų
su viena koduote :)
Šiaip tai trūksta dienoraščių autorių vardų Džibo pateikiamame XMLe,
Skaityti toliau…
Štai ir išleistas PHP
4.3.3. Patobulinimai vėlgi gal daugiau kosmetiniai (daugiausia
bibliotekų atnaujinimai) ir daug riktų pataisymų. Įdomiausi riktai yra
„keletas skaičių ir buferių perpildymų, kurie gali būti
pavojingi saugumui“ ir „multibaitinių simbolių su
0x5c antrame baite susigadinimas“. Siūloma visiems
saugumo sumetimais pereiti prie naujos versijos. Hmm… vis ta
nestabilioji 4.3.x šaka…
Šiuo metu kai rašau šitai šioje svetainėje yra 999 komentarai. Galima
sakyt kaip ir koks nedidelis jubiliejus ;) Ta proga padariau šone ten
trijų paskutinių komentuotų temų sąrašą – tikiuosi bus lengviau
sekti kas ką kur pakomentavo ;)
Ta pačia proga išsitraukiau ir statistiką kas čia daugiausiai mėgsta
komentuoti – kadangi kompiuteristai dažnai yra statistikos
maniakai tai manau bus įdomu:
+-----------------+------+ | Vardas | kiek | +-----------------+------+ | moxliukas | 199 | | NB | 70 | | EnC | 47 | | anonimas | 41 | | scooox | 30 | | Lakunas | 27 | | arturaz | 26 | | Brat | 24 | | godzhirra_da_mc | 22 | | ic | 20 | | DzHiBaS | 19 | | azero | 19 | | oryx | 16 | | Emilis | 16 | | Liuksas | 15 | | matis | 15 | | shvln | 15 | | pukomuko | 14 | | dirty_dozen | 10 | | Pumba | 10 | +-----------------+------+
Atrodo, kad phpclasses.org siūlo
PHP simboliu padaryti dramblį (elePHPant). Kai tik skaičiau
naujieną apie tai, tai galvojau kad dramblys didelis, nejudrus ir dėl to
gi nelabai turėtų tikti PHP (na, Perlo simbolis kupranugaris irgi ne
pats greičiausias – bet Perlo simbolis buvo parinktas ne Perlo
bendruomenės, o O’Reilly korporacijos knygos viršeliui). Bet paskui
prisiminiau jog Linuxo pingvinas irgi ne pats greičiausias gyvūnas
pasaulyje. Na, man dar dramblys asocijuojasi su žodžiu
Skaityti toliau…
Perlo rikiavimo pavyzdžiai gali atrodyti sudėtingi, nes Perlo sintaksėje daug visokių @$%{},
o ir patys objektai iš tikrųjų tėra tik asociatyvieji masyvai, magišku būdu žinantys kokiam paketui jie
priklauso. Tad štai rikiavimo Ruby kalba pavyzdžiai.
Paprastas rikiavimas.
a = [0,3,5,3,1,2,4,6,2,4,5,7,3] a.sort! a.each{|i| print i, ' '} (Galima tiek Perle, tiek Ruby rašyti tiesiog print a, bet tai išves masyvo narius neatskiriant juos tarpais.
Pitonas matyt dumpina visą struktūrą tokiu atveju)
Skaityti toliau…
Prieš savaitę Džibas aprašė rikiavomus Python kalba, tad sumaniau jog nereikia atsilikti, ir bandysiu pateikti analogiškus Perl rikiavimo būdus ;)
Paprasčiausiai rikiuoti masyvo elementus didėjimo tvarka užtenka iškviesti funkciją sort:
@a = (0,3,5,3,1,2,4,6,2,4,5,7,3); my @a = sort @a; print "$_ " for @a; Spausdina:
0 1 2 2 3 3 3 4 4 5 5 6 7 Kaip ir Pitone, galima pasirašyti savo rikiavimo funkciją:
my @a = (0,3,5,3,1,2,4,6,2,4,5,7,3); @a = sort { $a - $b } @a; print "$_ " for @a; Spausdins tą patį kaip ir prieš tai.
Skaityti toliau…
Pasižiūrėjau kad puikusis naujasis Džibo projektukas „lietuviški dienoraščiai“ kažkaip keistai bendrauja su mano įrašų datomis
(laikas rodomas penkiomis valandomis vėlesnis – dėl to mano įrašai puikuojasi visą laiką kaip patys naujausi ;)
Esmė tame, kad visuose dienoraščiuose naudojamos dvi datų versijos – Dublin Core datos formatas (einantis
<dc:date> lauke ISO 8601 formatu) ir standartinė Netscape (tais gūdžiais laikais kai buvo formuojami pirmi RDF
standartai) įvesta RFC822 data (lauke <pubDate>). Aišku prie viso to prisideda dar tie visi džiaugsmai vadinami laiko
Skaityti toliau…
Šiandieną kaip ir žadėjau sutvarkiau tą įžymųjį riktą, kai buvo
įmanoma rašyti komentarus neegzistuojančioms temoms. Tiesa, padariau
taip, kad kiekvienas komentaras, kuris neturi savo temos automatiškai
einą į 666 dienoraščio įrašą – kiekviena kompiuterastinė svetainė
turi savo keistų įdomybių, tad palieku šitą taip kaip yra (nesinori
vienok trint visos tos 666-osios temos ;)
Padariau dar vieną kosmetinį pataisymą – dabar veikia XHTML 1.0
standartas komentarų formoje (Trūko kai kurių uždarančiųjų žymių).
Skaityti toliau…
Na štai, po kelių dienų bastymosi po Lietuvą, vėl sėdžiu Vilniuje prie savo
kompiuterio. Kaip sakant „visur gerai, bet localhoste geriausia“.
Na, visų ten įvykių kur ėjau, ką mačiau ir kur buvau nepasakosiu, nes tai
niekam neįdomu. Jei trumpai, tai niekas nepasikeitė – nei susiradau
merginą, nei ruošiuosi palikti kompiuterius ir išsikraustyti pas aborigenus.
Tiesa, šiek tiek išskirtinė buvo paskutinė naktis Palangoje, galbūt verta
šiokio tokio jūsų kompiuterastinio dėmesio.
Grįžau į Palangą tik kokią 21 valandą (prieš tai buvau Nidoje, bet kelionės
Skaityti toliau…
Vakar prisiruošiau paskambinti tėčiui į Kauną ir paprašyt kad
perkrautų mano serveriuką, nes jis jau kokią savaitę dingęs iš
Interneto. Na viskas gerai, viskas pasikėlė, viskas veikia. Tad galvoju
pats laikas pakurti mailing listą (susirašinėjimo sąrašą ;) ir CVS.
Pradėjau nuo elektroninio pašto. Kiek suprantu tai dažniausiai tokiems
dalykams naudojamas GNU Mailman, rašytas Pythonu. Per
apt-get susidėt sunkoka, nes man jis bando įgrūst dar ir
senesnę Apache, tad ėmiausi standartinių priemonių grūsti viską iš
Skaityti toliau…
Kažkaip paskutiniu metu Apache pradėjo keistai elgtis. Na, gal ne
paskutiniu metu, bet vis tiek keistai. Nightblade man pasakė, jog
jam staiga pradėjo rodyti mano weblogo sourcą. Pagal visus Apache logus
tai tik vieną kartą jam buvo persiųsta tiek baitų kiek yra source, o
daugiau matyt tik kešuojama kažkur pas jį proksiuose ar dar kur nors.
Kas keisčiausia, tai error.log yra visiškai tuščias ir
švarus. Hmm… Tiesiog vieną kartą netyčia nesuveikė mod_perl, nes buvo
Skaityti toliau…
Štai pirmasis juodraštinis variantas. Labai sunku versti, nes daug sunkiai išverčiamų terminų ;) Na bet gal kam nors bus naudinga.
PAVADINIMAS
perlreref – Perlo įpraiškų žinynas
APRAŠYMAS
Tai trumpas Perlo įpraiškų žinynas. Pilnos informacijos apie
įpraiškas ieškokite perlre ir perlop dokumentacijos skyriuose,
o taip pat šio žinyno TOLIMESNĖ INFORMACIJA skyriuje.
OPERATORIAI
=~ nustato kuriam kintamajam taikyti šabloną. Jei nenurodoma, naudoja $_ $var =~ /foo/; m/įpraiška/igmsoxc ieško simbolių eilutėje įpraiškos atitikimo, su šiais galimais nustatymais: i Nekreipiant dėmesio į didžiąsias/mažąsias raides g Globalus - visi atitikimai m Per kelias eilutes - ^ ir $ atitinka vidines eilutes s Taikyti kaip vienai eilutei - .
Skaityti toliau…
Atviro Kodo Lietuvai rūpesčiu atsirado jų
serveryje lietuviškos
Perlo dokumentacijos direktorija. Kol kas atrodo labai skurdžiai,
bet tikiuosi papildyti tuos vertimus. Šiandien verčiau perlreref
dokumentacijos skyrių, kuris turėtų Perle pasirodyt su 5.9.0 versija.
Skyrius neilgas, tad artimiausiom dienom duosiu tą vertimą visų teismui.
Perlmonksuose
radau labai įdomų klausimą: Kaip matuoti programuotojo
produktyvumą?. Ganėtinai standartiška yra skaičiuoti per dieną
parašomas kodo eilutes, bet kas jeigu vienas programuotojas parašo du
kart daugiau, bet palieka penkis kart daugiau riktų? Ar jis
produktyvesnis už tą, kuris parašė mažiau, bet tvarkingiau? Kartais per
dieną gali būti parašomas ir neigiamas skaičius eilučių – kartais
optimizuojant kodas sutrumpinamas. Kaip skaičiuoti produktyvumą tokiu
atveju?
Atrodo kad geriausia būtų skaičiuoti projektui sugaištą laiką, bet ir
Skaityti toliau…
Atrodo jog vakar buvo
išleista Ruby 1.8.0 versija. Parsisiųsti ją galite iš http://www.ruby-lang.org/download-1.8.0.rbx
Prisiminiau jog lietuviškos informacijos apie Ruby turbūt geriausia
ieškotis mano kažkada pradėtuose versti Ruby manualuose. Viską apie Ruby
lietuviškai galite rasti http://lietuvoje.lt/ruby (nors
turbūt visus savo asmeninius dalykus reikės persikelti ant asmeninio
serverio kada nors).
Vat vakar su why2liu ir Xawieru buvom papramogaut Kaune. Pradėjom žaisdami pūlą kaip supratau tame pačiame kabake, kur vyko paskutinis kaunietiškas mytas. Man ten baisiai sekėsi, o why2liui teko laimė laimėti tik vieną partiją. Na bet čia neesmė. Kalbos savaime suprantama krypo į kompiuterastines temas. Why2liz susiparinęs dėl www čempionato, nors aš nematau tame jokios tragedijos. Čempionatai lieka čempionatais, juk svetainės daromos ne dėl čempionatų ;) O dėl pono Burgio tai manau irgi visų nuomonė aiški ;)
Skaityti toliau…
Nepraėjo nei trys dienos nuo to laiko kai parašiau jog gavom perl.lt domeino kontrolę, o jau vis
dažniau sulaukiu klausimų kada ten atsiras svetainė. Tad manau reikia
paaiškinti kaip aš tai įsivaizduoju.
perl.lt yra hostinama pas mr2 KTU
barako serveryje. Ten galų gale ir atsidurs visa svetainė. Developinimui
galima pilnai naudoti mano serveriuką hacks.perl.lt, kuris tikrai
nestebuklingas, bet testavimui jo turėtų pakakti. Juolab nebaisu jog jei
kas ir sugrius, nes beveik daugiau niekam tas serveriukas ir
Skaityti toliau…
Pasiskaičiau šiandien naujieną PHP.lt apie
PHP4.3.3RC2 išleidimą.
Šiaip man gana keista jog tarp RC1 ir RC2 yra tiek daug pasikeitimų
– o ypač kai pradedama naudoti kitas bibliotekų versijas. Kiek
teko skaityti apie įvairių open source projektų release cycles, tai kai
projektas įeina į „Release Candidate“ statusą joks kitoks
naujas kodas nebepriimamas išskyrus bugfixus (o tai reiškia, kad
jokios naujos bibliotekos nebededamos, nebevyksta jokie
pakeitimai išskyrus tuos kai projektas neveikia taip kaip turėtų –
Skaityti toliau…
Prieš kelias minutes išleistas Perl 5.8.1 RC3. Tai atrodo paskutinis
release cadidate prieš galutinį 5.8.1 variantą. Šiame RC3 dar
pagerinta asociatyviųjų masyvų atsitiktinumas, bei ištaisyta dar kokia
20 klaidelių (na, kai kurios jų yra tik spellingo klaidos
dokumentacijoje ;) RC3 galima parsisiųsti iš
CPAN.
Taipogi vakar buvo suforkinta 5.6.2 Perlo versija. Planuojama
išleisti 5.6.2 už kokio mėnesio ar kito, nes jau yra susikaupę labai
daug lopų 5.6.1 versijai, be to kai kurie dalykai iš 5.
Skaityti toliau…
Na ką gi, vasara… Reiškia šiokias tokias atostogas, nežmoniškus
karščius ir retesnį sėdėjimą prie kompiuterio ;) Nerašiau jau porą
dienų, turbūt atostogų nuotaikų paveiktas.
Per pastarąsias keletą dienų įvyko ir daug, ir nieko. Pirkau naują
kompiuterį, kuriame dabar sėdi Debianas (hmmm, tik X-sai niekaip
nepasileidžia – LCD monitorius jiems nepatinka, bet vakar
susikompiliavau 4.3.0 versiją, ir atrodo veiks ;). Iš savo senuko
Pentiumo 100 MHz išmečiau Windows95 ir taipogi sudėjau Debianą.
Skaityti toliau…
Vakar gavau patvirtinimą iš PAUSE, jog gavau CPAN ID KUDARASP. Nieko per daug nelaukęs šiandien pasirašiau modulį POD2::LT, kuris atitinka pereitą savaitę [email protected] susirašinėjimo sąraše pasiūlytą sistemą. Atrodo būsiu pirmasis, įkėlęs į CPAN POD2:: modulį.
Pereitą savaitę tame pačiame susirašinėjimo sąraše buvo pasiūlytas ir lopas perldoc programai, kad ji galėtų priimti -L kalba opciją, ir rodytų dokumentaciją reikiama kalba. Italai modulyje POD2::IT parašė reikiamus lopus Perl 5.6.0 ir 5.6.1 versijoms. Ta proga aš parašiau lopus ActivePerl 5.
Skaityti toliau…
Žaidžiuosi dabar per atostogas šiek tiek su Perl ir PHP ;) Ypač man
Perle patinka „taint mode“, kuris tiesiog neleidžia naudoti
kintamųjų, gautų iš išorinės aplinkos – ar tai būtų per shellą
gauti kintamieji, ar GET/POST/COOKIE HTTP metodais gauti duomenys. PHP
šiuo atžvilgiu tik dabar susirūpino šiais dalykais (register_globals gi
būdavo On iki 4.2.0 versijos). O jeigu pasirašius savą
register_globals atitikmenį? Štai kas man gavosi:
<?php define("USE_GET", 1); define("USE_POST", 2); define("USE_COOKIE", 4); $USE_TYPE = array( 'integer' => '/(^\d+$)/', 'hexstring' => '/(^[0-9A-Fa-f]+$)/', 'raw' => '/(.
Skaityti toliau…
use.perl.org
rašo, jog Linux Journal paskelbė
Perl5.8.0 geriausiu
programavimo įrankiu. Atrodo niekam tai nesukėlė didelių
nusistebėjimų. Tarp kitų nugalėtojų yra ir OpenOffice.org, ir
PostgreSQL, Webmin, Mozilla1.4, iptables ir t.t
Tuo tarpu užtikau Sterling Hughes dienoraštyje straipsniuką apie tai,
jog jis pradėjo
portinti PHP į parrot platformą. Parrot kada nors pakeis Zend
engine?
Ne per seniausiai (liepos 16) vyko O’reilly Open Source
konferencija (OSCON), kuri yra labai populiari tarp atviro kodo
programuotojų. Jos metu tradiciškai Larry Wall (na gi tas pats Perl
autorius) perskaito pranešimą apie tai kaip sekasi Perlui. Šis
pranešimas visad vadinasi „State of the Onion“
(pašaipa iš Amerikos prezidento metinio pranešimo, kuris vadinasi
„State of the Union“). Šįmet tai jau septintasis
pranešimas (jį galima rasti čia). Kaip
ir visada, jis buvo juokingas, bet kartu atvėrė ir Larry Perlo viziją.
Skaityti toliau…
Užtikau dar vieną labai gerą pamokos stiliaus straipsnį apie CSS
meniu. Na atrodo tai tikrai neblogai.
Ech.. jei tik nereiktų taikytis prie kreivo IE CSS palaikymo tai tiek
visokių gerų dalykų su CSS galima padaryt būtų ;)
Štai kaip atrodo rusiško Linux logotipas: http://ice.nice.ru/ruslinux.jpeg.
Šypsojausi geras penkias minutes ir nesusilaikiau apie tai neparašęs ;)
Vat nuėjau į IRC tinklą irc.freenode.org pasižiūrėti kaip gyvena pasaulio programuotojai. Užsukau į #php ir #perl, pamačiau klausimą apie tai kaip sužinot ar serveris gyvas ir nepažiūrėjau kuriame kanale esu. Kadangi pasiūliau Perlinį sprendimą, tai buvau ne kaip sutiktas pasaulio PHPistų ;)
<hollo> errr.. i cant figure out the most optimal way to deturn wether a server ip running or not <doc|work> hollo: check out curl (is the standard answer for that) <moxliukas> Net::Ping?
Skaityti toliau…
Kažkaip šiandien varčiausi Perlo dokumentaciją ir aptikau labai
naudingą Perlo pragmą, kuri padeda geriau išsiaiškinti kaip veikia
įpraiškos. Tereikia parašyti use re ‘debug’; ir
visas įpraiškų paieškos procesas atsiveria prieš jus ;) Štai pavyzdys:
use re 'debug'; my $f = 'foo'; $a =~ /o+/; Spausdina:
Compiling REx `o+' size 4 Got 36 bytes for offset annotations. first at 2 1: PLUS(4) 2: EXACT <o>(0) 4: END(0) anchored `o' at 0 (checking anchored) plus minlen 1 Offsets: [4] 2[1] 1[1] 0[0] 3[0] Guessing start of match, REx `o+' against `foo'.
Skaityti toliau…
Na, galvojau, kad ko jau ko, o VBScript tai nereikės niekad krapštyt. Klydau. Vat prisireikė staiga su ASP padaryt priėjimą prie Access duombazės ir būtent reikėjo daryti tai su ASP.
Problemos sprenimą pradėjau pasigooglindamas apie pačią ASP technologiją. Realiai serveryje turėjau pasirinkimą iš VBScript, JavaScript ir PerlScript. Spėkit iš trijų kartų kurią kalbą pasirinkau naudoti. Neatspėjot, ne Perlą. Tiksliau jau buvau beveik viską parašęs PerlScriptu, bet ten tokia kvaila implementacija, kad nelikę iš to PerlScript viso Perlo grožio.
Skaityti toliau…
Na, kadangi trūko pdf formato, tai padariau ir jo versiją (bei
keletą kitų). Dabar galima rasti pod, html, pdf, txt, TeX, man, doc, rtf ir chm
versijas. Beje, labai būčiau dėkingas, jei galėtumėte padėti pataisyti
šio įvado stilių ir rasti bei ištaisyti klaidas. Lietuvių kalba nėra
mano stipriausia sfera, ir ypač prie galo sunkokai sekėsi versti. Žodžiu
labai laukiu pastabų ir pasiūlymų.
Aišku šiuo įvadu neapsiribosiu.. Perlo dokumentaciją sudaro 800000
Skaityti toliau…
Persirašiau savąjį įvadą į Perlą (perlintro vertimą) į POD
formatą. POD formatas yra Perlo dalis, juo rašoma visa Perlo
dokumentacija, tad nenuostabu kad egzistuoja daug visokių konvertavimo
programėlių, kuriomis iš POD galima sukurti HTML, txt, LaTeX, man ir
kitokių formatų dokumentus. tad dabar įvadą į Perlą lietuviškai galima
parsisiųsti šiais formatais: POD, HTML, LaTeX, man ir txt.
Jau seniai buvo kalbėta, jog vienas pagrindinių Parrot kūrėjų (Parrot yra Perl6
virtualioji platforma) Dan Sugalski susilažino su Python kūrėju Guido
van Rossum, kad Parrot
baitkodas bus greitesnis už Pitono baitkodą (Į Parrot baitkodą bus
galima kompiliuoti ne vien Perl, bet ir Python, Ruby, Smalltalk, Basic,
ir ką tik nori). Atrodo, jog Dan nori sukurti tokią platformą,
kuri laisvai galėtų konkuruoti tarp jau dabar egzistuojančių. Tiesą
sakant jau dabar mano 120MHz Pentiume Parrot sugeba vykdyti apie 1-2
Skaityti toliau…
Įpraiškos Perlas palaiko sudėtingą ir plačią įpraiškų sintaksę. Pilną jos aprašymą galima rasti perlrequick, perlretut ir kituose dokumentacijos skyriuose. Tačiau trumpai:
Paprastas tikrinimas if (/foo/) { ... } # 'true' jei $_ yra simbolių seka 'foo' if($a =~ /foo/) { ... } # 'true' jei $a yra simbolių seka 'foo' Įpraiškų operatorius // aprašytas perlop dokumentacijoje. Jis pagal nutylėjimą įprašką taiko kintamajam $_, tačiau tai galima pakeisti, pasinaudojus operatoriumi =~ (kurio aprašymą irgi galima rasti perlop dokumentacijoje).
Skaityti toliau…
Šiandien susidėjau į serverį HTML::Mason modulį, kurio pagalba galima rašytis Perlinius skriptus PHP stiliumi – t.y. tiesiai įterpiant juos į HTML kodą. Tiesa, viskas ne taip paprasta, kaip tik HTML::Mason turi daugiau visokių ypatybių ir gali būti naudojamas tiek šablonams (jei norima tik tokio funkcionalumo), tiek PHP stiliaus programavimui.
Kiek pamenu Nightblade buvo pareiškęs, kad jis stengiasi nebenaudot šablonų, o tik nuosaikiai naudoja PHP kodą pačiame HTML. Tai atrodo jog HTML::Mason filosofija ir yra būtent tokia.
Skaityti toliau…
Beklaidžiojant po PerlMonksus
užtikau nuorodą į vieną neblogą sprendimą Windows platformai. Tai web serveris su visais
programavimui reikalingais dalykais. Nors idėja panaši į phpDevServer, bet filosofija
radikaliai skirtinga – kai devserver stengėsi būti kuo mažesnis,
šitas daiktas stengiasi būti kuo didesnis ;) Štai kas į jį įeina:
Apache 2.0.46,
MySQL 4.0.13,
PHP 4.3.2 + PEAR,
Perl 5.8.0,
mod_php 4.3.2,
mod_perl 1.99_10,
mod_ssl 2.0.46,
openssl 0.9.7b,
PHPMyAdmin 2.5.1,
Webalizer 2.01-10,
Mercury Mail Transport System for Win32 and NetWare Systems
Skaityti toliau…
Perlas leidžia nuskaityti duomenis iš bylų daugybe būdų, kai kurie
ganėtinai bjaurūs ir nenaudotini. Štai kad ir šis, sutinkamas
dažniausiai:
{ local $/ = undef; open FH, "<$byla"; $duomenys = <FH>; close FH; } Teigiamos pusės: visiems įprasta. Iš kart nuskaito duomenis iš bylos
nenaudojant tarpinių masyvų.
Neigiamos pusės: $duomenys negali būti leksinis
kintamasis, aprašytas su my, nes specialiai reikia
sukurti bloką tam kam lokalizuotume $/
Kitas dažnas pavyzdys:
@ARGV = ($byla); my $duomenys = join '', <>; Teigiama: Trumpa ir aišku.
Skaityti toliau…
Atrodo, kad ką tik išleistas Perl 5.8.1 RC1. perldelta dokumentacijoje matosi keletas pakeitimų. Vienas svarbiausių pakeitimų yra asociatyviųjų masyvų atsitiktinės tvarkos pagerinimo algoritmas (ten BugTraq berods rašė jog galima padaryt DOS ataką prieš programą, nes kol kas dauguma asociatyviųjų masyvų ne visai atsitiktiniu būdu sudaro masyvo raktų eilę – sudėtingas tas bugas, tik žinau kad egzistuoja beveik visose kalbose ir programose ir kad gali dėl to gautis Denial of Service, nors atrodo tik teoriniam lygyje)
Skaityti toliau…
Operatoriai ir funkcijos Perlas turi daug standartinių funkcijų. kai kurias jau matėme šiame įvade (tokias kaip print, sort arba reverse). Pilnas funkcijų sąrašas yra perlfunc dokumentacijoje ir apie kurią nors funkciją lengva pasiskaityti konsolėje įvedus perldoc -f funkcijospavadinimas.
Perlo operatoriai pilnai aprašyti perlop dokumentacijoje. Štai keletas dažniau sutinkamų:
Aritmetiniai:
+ sudėtis - atimtis * daugyba / dalyba Matematinio palyginimo:
== lygybės != nelygybės < mažiau negu > daugiau negu <= mažiau arba lygu >= daugiau arba lygu Simbolių eilučių palyginimo:
Skaityti toliau…
Jau galvojau, kad baigsis Dainų šventė tai bus kada atsikvėpt.
Pasirodo užgriūva nauji projektai, kurie beje susiję labiau su mano
darbu (internetas, programavimas, adminavimas ir pan.)
Per pastarąsias dienas baiginėju verst perlintro – nėra
ten tiek daug, bet visi laiko neturi, tame tarpe ir aš pats, tad gaunasi
viskas lėtai. Na tikiuosi ryt poryt papostint paskutines „įvado į
Perl“ dalis.
Pasiskaičius apie lietuviškus (ir ne tik) PHP šablonus pasidarė man labai keista ir įdomu kodėl visuose php šablonuose naudojamos kelių stilių žymos (t.y ir <tplbilekas> HTML stiliaus ir {foo.bar} stiliaus)
Kažkaip nesugebu šito pateisint niekaip. Juk gi su tais {} tik problemos su JavaScriptais ir panašiai (pamenat, pukomuko ten changeloge vargai aprašyti? :) Be to su HTML stiliaus žymomis tai jei nesuveikia šablonas dėl kažkokių priežasčių, tai nelenda šiūkšlės į ekraną, nes naršyklės ignoruoja nežinomas HTML žymes.
Skaityti toliau…
Kintamųjų sritys** Kol kas visada kintamuosius aprašėme naudodami šią sintaksę:
my $kintamasis = "reikšmė"; Tiesą sakant, my nėra būtinas, galima tiesiog rašyti:
$kintamasis = "reikšmė"; Tačiau jei praleidžiate my, sukuriamas globalusis kintamasis visoje jūsų programoje, o tai nėra pats geriausias programavimo būdas. my sukuria leksinės srities (lexically scoped) kintamąjį, kuris galioja tik tame bloke, kuriame jis yra aprašytas (bloką sudaro keletas sakinių, apskliaustų figūriniais skliaustais).
my $a = "foo"; if ($kazkas) { my $b = "bar"; print $a; # spausdina "foo" print $b; # spausdina "bar" } print $a; # spausdina "foo" print $b; # nieko nespausdina, nes $b galiojimo blokas jau baigėsi Jeigu naudosite my kartu su use strict; jūsų programos pradžioje, Perlo interpretatorius galės pastebėti dažnas programuotojų klaidas ir apie tai jus įspėti.
Skaityti toliau…
Kaip jau turbūt pastebėjot, paskutiniu metu čia ne dažnai atnaujinu svetainę. Priežastis paprasta – dainų šventė. Dirbu gi kompanijoj, kuri yra organizatorius, tad šią savaitę tikrai pakanka darbo ;)
Kažkada praeitą savaitę buvau pradėjęs versti perlintro dokumentaciją, bet kol kas to nesu baigęs daryti. Na, gal kam bus naudinga ir tai ką jau esu padaręs, tad štai pirmoji įvado į perl dalis ;)
Kas yra Perl? Perl yra bendros paskirties programavimo kalba, kuri pradžioje buvo skirta teksto manipuliavimui, o dabar yra naudojama daugeliui užduočių: sistemų administravimui, interneto svetainių, tinklo, grafinių sąsajų programavimui ir kitoms užduotims.
Ši kalba yra labiau praktiška (lengva naudoti, efektyvi, pilna) negu graži (maža, elegantiška, minimalistinė).
Skaityti toliau…
Man nedažnai tenka bendraut su klientais, kuriems reikai atlikti kokius nors internetinių svetainių programavimo darbus, tad šiandien susitikimas su vienu tokiu man pasirodė labai keistas. Užsakovas, firmos vadovas buvo labai malonus, viskas ten su juo sutarta, viskas tvarkoj. Perdavė jis tą visą reikalą tvarkyt vienam tokiam darbuotojui, kuris matyt kompanijoj daugiausiai nusimano apie kompiuterastinius internetinius dalykus (beje, kompanija yra labai maža, gal tik kokie 5 darbuotojai). Visa problema tame, kad jis mano jog nusimano labai gerai, nes minimaliai moka naudotis Frontpage (na, „minimaliai“ tai reiškia „moka įterpti nuorodą grafiniame režime“).
Skaityti toliau…
Vakar po truputį pradėjau grįžinėti į IRC, bet tai kažkaip tai džiaugsmo neteikia. Atrodo kad #perl kanale vyrauja ganėtinai slogi pesimizmo pilna nuotaika. mr2 visai nusivylęs bet kokiomis pastangomis ir idėjomis pasiekti kažką vardan perlo Lietuvoje, nebemato visiškai jokios perspektyvos, nes jo nuomone tiesiog neliko normalių perl programuotojų. Prisiminėm tuos laikus, kai #perl kanale sėdėdavom trise ir tai buvo labai geri laikai. Matyt senstam mes, nostalgija mus apėmusi. Na, dabar kanale yra virš 20 žmonių, bet dauguma jų tik dėl „masės“, nemokantys ir kas turbūt dar baisiau, visai nesidomintys Perlu.
Skaityti toliau…
Na, šiandien užtikau tikrai lyg man paruoštą klausimą php.lt forume.
Klausiama, kas geriau mokytis, PHP ar Perl. Aišku nesusilaikiau ir
parašiau savo nuomonę. Tad jei norit pasiskaityt Perlinės propagandos iš
mano lūpų, tai kreipkit savo naršykles ten ;)
Bėgu slėptis nuo PHP fanatikų atakų ;)
Dėkui Sauliui, kuris priminė, kad reikia publikuoti „sveikas pasauli!“ konkurso rezultatus, nes tai jau turėjau padaryti prieš porą mėnesių ;)
Iš viso dalyvavo 5 dalyviai, iš kurių viena mergina (kas yra labai malonu). Kadangi konkurso dalyvių ne tiek ir daug, tai sumaniau, kad visiems jiems pastatysiu po bokalą alaus. Kadangi sau statyt alaus kažkaip neišeina, tai šį papildomą atliekamą bokalą skiriu vienintelei dalyvavusiai merginai (manau jūs pilnai sutiksite, kad jos darbas to vertas).
Skaityti toliau…
Aptikau ganėtinai įdomią
programėlę, kuri vizualiai leidžia sudarinėti įpraiškas. Yra WIndows
ir Linux versijos. Turėtų labai padėti rašyti įpraiškas žmonėms kurie
nelabai jas dar moka ir supranta, o kartu ir palengvint tų baisių
triaukščių įpraiškų rašymą jau pažengusiems. Ši programėlė palaiko
„Perl compatible“ įpraiškų sintaksę, tad naudinga ir Perl,
ir PHP, ir dar visokiem kitokiem programuotojams.
Teko truputį pasukt galvą mąstant kaip reikės padaryt install skriptą šiai svetainei, jei kas norėtų tokį dalyką pasikurti pas save. Atrodo, kad įdiegimo programėlė gali būti sudėtingesnė už pačią svetainę ;)
Kol kas šios svetainės įdiegimui reikia root teisių, nes visas dienoraščio pildymas veikia per elektroninį paštą (tad reikia priėjimo prie /etc/aliases). Na, tai nedidelė problema – galima pildymą daryti per HTML formas, apsaugotas slaptažodžiu.
Kitas svarbus dalykas yra Perlo moduliai.
Skaityti toliau…
Visgi pakeičiau šiek tiek kodą, visiškai jo neperrašydamas. Komentarai nebeturėtų dubliuotis (tikiuosi). Sesijos pilnai dar neveikia (faktiškai iš vienos subrutinos reikia grąžinti ne masyvą, o nuorodą į masyvą, bet tam reiktų keist nemažai kodo ;)
Pats didžiausias pokytis turbūt yra šioks toks BBCode įvedimas į komentarus. Sakau „šioks toks“, nes nežinau ar jis stabiliai veikia. Turėtų URL’us automatiškai parodyt su linkais (nieko nereik daryt, viskas turėtų automagiškai, jei URL prasideda http://).
Skaityti toliau…
Dar savaitę kitą būsiu tikrai užimtas visokiais darbais (dėl to ir
IRC nesirodau.. nors šiaip tai manau, kad tiek išsigydžiau šią ligą, jog
net nebesinori ten būti. Turbūt vėl tapau normaliu eiliniu piliečiu
ignoruojančiu IRC), bet kai atrasiu laiko reikės stipriai prisėsti prie
šito dienoraščio kodo sutvarkymo. Pagrindinė problema yra ta, kad jis
tapo ganėtinai smagia kodo koše, kurioje net parseris gali dantis
išsilaužti (patarimas ateičiai – use CGI::Application). Visą
Skaityti toliau…
Vakar buvo išleista PHP 4.3.3RC1 versija. Tiesą sakant Changeloge tik riktų pataisymai ir nieko radikaliai naujo. Na, taip ir turėtų būti – tai tik rodo, kad pagaliau 4.3.x šaka tampa stabilia (prisiminus kaip 4.3.0 turėjo greit būti pakeista 4.3.1 dėl kažkokio didelio CGI rikto tai lyg ši 4.3.x šaka nėra labai sėkminga stabilumo požiūriu)
O štai pukomuko išleido 1.9 phemplate versiją. Aišku man labai malonu, kad mano teoriniai pamąstymai apie masyvų pririšimą prie šablonų įgijo realesnį egzistavimą (nors kaip ir sakiau, praktinio jų sugalvojimo kol kas nesugalvojau – nebent greičio padidėjimas, bet ir tai reikia patestuot).
Skaityti toliau…
Suradau labai neblogą straipsnį iš MSDN apie kodo optimizavimą. Tiesa, jis daugiausia pritaikytas .NET, bet yra ten neblogų paaiškinimų kaip veikia cache, RAM, kietas diskas ir panašiai. Tas straipsnis labiau gal skirtas ompiliuojamoms į mašininį kodą kalboms, bet pravartu pasiskaityt visiems. Net nekenčiantiems .NET ir Microsoft.
Na, aš tai visad dar manau, jog kodas pirma turi gerai veikt, ir tik po to kai nelieka riktų, reikia jį optimizuot. Vienas iš UNIX principų: „first, make it work, then, make it work fast“
Čia
turbūt juokingiausias Microsoft riktas ;)
Error Message: Your Password Must Be at Least 18770 Characters and Cannot Repeat Any of Your Previous 30689 Passwords Sėkmės keičiantis slaptažodį ;)
Išleista Mozilla
1.4RC2. Tai lyg ir paskutinis release candidate prieš
galutinę 1.4 versiją. Savo ruožtu, 1.4 bus paskutinė Mozillos versija,
kuri išleidžiama kartu su pašto klientu, IRC klientu, ir krūva kitų
dalykų. Mozillos
planuose ruošiamasi 1.5 ir 1.6 versijose įdėti daug
„pavojingesnių kodo stabilumui“ patobulinimų bei visą dėmesį
sutelkti į Firebird ir Thunderbird.
Tai lyg ir sesija eina link galo, šiandien laikiau paskutinį
egzaminą. Na, dar liko kursinio gynimas. Tačiau sesijos pabaiga
nereiškia darbų pabaigos, o jų prisikaupė sesijos metu nemažokai.
Šiandien vėl įsidiegiau XChat, bet kas keisčiausia, atrodo nesu
taip pasiilgęs IRC, kaip buvo galima tikėtis. O tai labai gerai, nes
kaip minėjau, darbų turiu sočiai.
Dar pastebėjau, jog esu ganėtinai atitrūkęs nuo pasaulio įvykių
– pražiopsojau visą tą reikalą su SCO ir Linux bei daugelį kitų
Skaityti toliau…
Nežinau ar tai tiesa, bet sklando gandai, jog Internet
Explorer 6-oji versija bus jau paskutinė. Nuo šiol Microsoft
nebegamins
naujų IE versijų Makintošams bei atrodo kad
nebegamins atskiros naršylės versijos. Žodžiu jei norėsit naudotis
naujesniu IE, teks atsinaujint visą operacinę sistemą. Iš vienos pusės
gal tai ir nieko tokio blogo – IE6.0 ilgam taps standartu,
kuriuo visi naudosis (na, juk dar yra žmonių besinaudojančių
Windows’98, tad negi jie greit dėsis naują operacinę sistemą tik
Skaityti toliau…
Po labai didelės pertraukos, į mano rankas pateko Kompiuterija. Vos tik atsivertus žurnalą perskaičiau labai juokingą Bronislavo Burgio straipsniuką „Nepasiduok kompiuterio pagundoms“. Idėja ten pagrindinė tame kad autorius bando išgelbėti visuomenę (ir kaip pats prisipažįsta, kartu ir save) nuo sukompiuterastėjimo ir bendravimo stokos. Na, man, kaip save gerbiančiam kompiuterastui, tai aišku sukėlė šypseną. Tokią didelę ir plačią.
Tame aprašyti 9 punktai, ko nereiktų daryti prisėdus prie kompiuterio. Štai jie, paeiliui:
Skaityti toliau…
Prieš kokią savaitę prisijungiau prie komp_lt konferencijos. Padariau tai dėl to, kad pastebėjau jog man visgi rūpi lietuvybė kompiuterastinėse erdvėse (jeigu dar prisimenat, pamatęs anglišką Edmundo Mišeikio interneto dienoraštį buvau šiek tiek nepatenkintas ;). Aišku iš manęs prastas lietuvininkas. Nemoku nei gražiai stilistiškai lietuviškai rašyt, nei per daug ten laikausi rašybos taisyklių (visi mano sakiniai, nors ir užrašyti, bet skamba kaip šnekamoji kalba – nebus iš manęs rašytojo :)
Bet visgi prie komp_lt prisijungiau.
Skaityti toliau…
Sesija labai užimtas metas. Bet kartu tuo pačiu metu vyksta ir šiaip daug dalykų ir netgi retokai būnu prie kompiuterio. Kaip matau kai kurie (o ypač Nightblade) jau sunerimę, kad aš dingęs arba perėjęs į PHP stovyklą. Tai vat: nė velnio.
Šiandien (tiksliau vakar, bet paskui taip išėjo, kad su viena mergina klaidžiojau po miškus, o paskui šiek tiek gėriau su mr2, perl ir Neska, tad Perlui neliko laiko) sumąsčiau, kad parašysiu apie Perlo objektus.
Skaityti toliau…
Šiandien kažkas PHP konferencijoj išreiškė mintį, kad kiekvienas save gerbiantis PHP programuotojas turi būti pasirašęs savo lankytojų skaitliuką, duomenų bazės abstrakcijos klasę ir šablonų klasę. Na, skaitliukas turbūt lengviausia :) Duomenų bazės šiokią tokią abstrakciją irgi esu rašęs, šablonus taip pat, tad turbūt galiu prisirašyti save prie tų „save gerbiančių PHP programuotojų“ ;)
Tiesa, jokiu būdu nesu šablonų ekspertas. Teko man naudotis tik pukomuko phemplate, bei savo kurtais šablonais (kurie dabar šiek tiek juokingai atrodo, mat rašiau lygiai prieš metus.
Skaityti toliau…
Prisiskaičiau daug visokių dalykų apie ekstremalų programavimą. Kaip žinia, ten labai svarbus programų testavimas. Faktiškai viena svarbiausių idėjų yra „pirma parašyk neveikiantį testą, paskui tik pakeisk programą, kad tas testas veiktų“. Šitaip testuojant kiekvieną programos gabaliuką galima užtikrinti kad programa veiks taip kaip buvo planuota ir liks mažiau nesugaudytų vabaliukų.
Ant mano mylimojo Perl yra toks modulis Test::Simple (teko netgi girdėti kad Perlas turi vieną geriausių testavimo įrankų rinkinį – panašus yra lyg tik Javos JUnit).
Skaityti toliau…
Vat šiandien truputį skaitinėjausi apie Haskell programavimo kalbą. Tai grynai funkcinė programavimo kalba (faktiškai pati įdomiausia dalis ten apie tai kas yra funkcinė programavimo kalba) ir bent jau man truputį priminė LISP tik be skliaustelių (na.. aišku priminė tik dėl Lambda funkcijų ir dėl to kad ten kintamųjų priskyrimas neturi reikšmės atrodo ;)
Vat quicksort algoritmas Haskeliu:
qsort [] = [] qsort (x:xs) = qsort elts_lt_x ++ [x] ++ qsort elts_greq_x where elts_lt_x = [y | y <- xs, y < x] elts_greq_x = [y | y <- xs, y >= x] Tiesą sakant kodas skaitosi gana lengvai jei šiek tiek matematikos mokaisi.
Skaityti toliau…
Šį penktadienį, atsiklausęs #php kanalo ar niekas neina gerti, supratau kad teks vakarą planuotis kažkaip pačiam. Kadangi vis dar prisilaikau „jokio IRC“ politikos, tai nutariau nueiti į kiną ir pažiūrėti perkrautą matricą. Tai jeigu dar nematėt šio filmo ir nenorit sužinot jo detalių, tučtuojau baikit skaityt.
Jei jūs vis dar čia, reiškia norit pasiskaityti mano nuomonę apie filmą. Aš, kaip ir visi (ok, ne visi… pukomuko yra kitos nuomonės) esu nusivylęs filmu.
Skaityti toliau…
Na vakar lyg baigiau rašyti kursinį, šiandien priduot jį reikia :)
Nors kursinis turėjo būti iš finansų srities, ganėtinai nemažai ten
gavosi ekonometrijos ir matematinių skaičiavimų (man kažkaip labiau
patinka kai yra krūva mažai kam suprantamų formulių ir statistinių
tekstų, o ne daug priskiesta pliurpalizmų)
Šiandien darbe pasižiūrėjau kaip lietuvoje.lt serverį suranda
google. Atrodo prisidirbau – daugiausiai lankytojų iš
google mane pasiekia įvedę paieškoje „decode iso 8859 c#“.
Žodžiu kažkaip lyg ir tapau priešingos C# stovyklos pagalbos šaltiniu
Skaityti toliau…
Bandydamas pažaboti savo laiko švaistymą sesijos metu, šiandien
išinstaliavau visus IRC klientus bei darbe užblokavau 6667-6668
portus. Tad manęs nematysit IRC porą savaičių (išskyrus
savaitgaliais…) Tikiuosi tai pagerins mano motyvaciją rengiantis
egzaminams :)
Einu skaitytis apie SODROS biudžeto sudarymo ir tvirtinimo procesą
:/
Perlmonks vėlgi turi šaunų threadą apie Perl/CGI vs
PHP. Šį kartą jis pasižymėjo gana įdomiais posakiais (na, ko gi
tikėtis, juk perlo fanatikų klausia nuomonės ;)
Every PHP geek will claim PHP is better for so many
reasons, but every perl geek knows better.
PHP as a language is basically Perl with all the fun parts
taken out
PHP is easier to learn, Perl is easier to get things done
Skaityti toliau…
Nagi prasidėjo sesija. Be to ir darbai nesibaigia. Tai reiškia, kad
aš čia per daug nesireikšiu kokias porą savaičių.
Beje, prašė manęs šiandien parašyti perlinę programėlę, kuri
išrinktų visas šių metų dienas, kur yra savaitgaliai. Didžiausias
klausėjo nustebimas buvo tas, jog jei pateiki funkcijai
Date::Calc->Day_of_Week() blogai suformuotą datą
(tarkim 20012 metų 15 mėnesio 89 dieną) tai ji nesikeikia. Na,
funkcija tokiu atveju grąžina 0, kai normliai grąžint turi nuo 1 ki 7,
Skaityti toliau…
Visgi nesinorėjo tikėti, kad Ruby toks lėtas, todėl pasiskaičiau manualą. Pirma, susitvarkiau su tuo nil. Pasirodo, užteko nurodyt reikšmę pagal nutylėjimą (hmmm… įdomu tokie bajeriai kitose kalbose iš vis yra?). Paskui ir patį kodą perrašiau truputį panašiau į Ruby kodą ;) Rezultatas aiškus: kodas sutrumpėjo iki kokių 6 eilučių (atkaklios rungtynės su Perlu ;), o kodo greitis padidėjo penkis (!) kartus. Tiesa, algoritmas šiek tiek pasikeitė. Reikės tuo pačiu algoritmu ant PHP ką nors pabandyt.
Skaityti toliau…
Taip jau visad gaunasi kad kai reikia mokytis tai darai bet ką, tik ne mokaisi. Tad šiandien padariau dar vieną benchmarką, kuris gal būt bus įdomus ir kitiems.
Problema tokia: reikia programos, kuri nuskaitytų bylą ir suskaičiuotų kiek yra skirtingų simbolių (tarkim „a“ – 152 kartai, „b“ – 189, ir panašiai). Algoritmas paprastas ir visur vienodas: nusiskaitom bylą po eilutę, skaidom į simbolių masyvą, pereinam per šį masyvą, padidindami atitinkamas reikšmes saugomas asociatyviajame masyve (jei skamba sudėtingai, tai žiūrėkit kodą, ten aiškiau ;)
Skaityti toliau…
Šiandien visą dieną rašiau kursinį darbą (tikrai ne apie programavimą… Apie valstybės išlaidų skirstymą pagal valstybės funkcijas bei struktūrinių pokyčių tendencijas :). Tai vakare sugalvojau kad reikia truputį pailsėt ir nuėjau pasibandyt įpraiškų greičių.
Tarkim turim stringą „Čia gali būti tiek Perlas, tiek Pitonas“ ir norim patikrint ar jame yra „Perl“ arba „Python“ (šiuo atveju yra tik „Perl“, nes „Python“ parašytas su trumpa „i“). Šiam tikslui tiktų labai paprasta įpraiška (tiems, kas jau nori rėkti „bet čia juk nereikia įpraiškos!
Skaityti toliau…
Tai kaip sakiau, pasileidau serveryje mod_ruby. Na, galvoju
reikia prisiminti apie ką tas pats Rubinas yra ;)
Taigi išsitraukiau senus savo paties verstus manualus ir programėles,
kurias galima rasti čia ir
pasileidau testinį
skriptuką. Jo kodą galima rasti čia.
Smagi visgi kalba rubinas. Dar šiek tiek skaitinėjau apie
Smalltalk. Atrodo viena objektinio programavimo pradininkių, bet
skirta daugiausia vaikams (nu kaip Logo beveik, arba man tik toks
įspūdis susidarė). Tačiau smalltalk irgi turi gerų idėjų.
Skaityti toliau…
Jei kada norėjot sužinoti kaip veikai didelės svetainės, kaip
tarkim LiveJournal, tai
galit pasiskaityt apie tai čia. Ten taip pat aprašomos problemos, su kuriomis jie susiduria, ir kaip jie ruošiasi jas spręsti.
Atrodo didžiausia jų problema yra MySQL.
Ech, aš irgi noriu klasterio serverių ;) Na, bent jau vieno gero
serverio…
Jau seniau rašiau apie Simon Willison ir jo CSS
pradžiamokslius. Tai vat, šią savaitę jis parašė dar dvi dalis apie
CSS: viena jų gynai teorinė, ir aiškina apie CSS
dežės modelį, o kitas jį pritaiko jį praktiškai. Naudingi skaitiniai.
Š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)
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 ;)
Š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.
Skaityti toliau…
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
Skaityti toliau…
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
Skaityti toliau…
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.
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
Skaityti toliau…
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?
Skaityti toliau…
Pastaruoju metu populiarėjant C# bei .NET vis gaunu nusiskundimų
kad mano RSS naujienose „kreiva lietuvybė“. Tokių
priekaištų esu sulaukęs iš Emilio, bei
scooox (Tiesa,
scooox tik prašė pakeisti koduotę).
Tai kame pas mane problema? Jos pas mane nėra. Kalta .NET, kuri
nepalaiko standartinės lietuviškos ISO-8859-13 koduotės. ISO
koduotės yra standartas, ir jei jį ignoruoja Microsoft, tai čia ne
mano bėdos. Skamba griežtai? Galbūt. Čia panaši situacija kaip ir su
Outlook Express, kuri iki šiol lietuviška ISO koduote laiko
Skaityti toliau…
Universitete tenka man retkarčiais prisėsti prie Visual
Basic ir suprogramuoti vieną kitą Excel makrosą (kaip
sakant tenka iš tikrųjų pažinti VBasic blogybes :). Tiesą pasakius,
pati kalba neatrodo ten per daug baisi ir bloga (na, jei tik
apsiriboji makrosų rašymu ir viską taikai neprogramuojantiems
ekonomistams… nors ir čia turbūt Python ar Ruby būtų
aiškiau ir suprantamiau). Vienas blogiausių dalykų tas, kad kodo
pavyzdžiai, kuriuos gaunu iš dėstytojų (t.y jie rašyti dėstytojų) yra
Skaityti toliau…
Atrodo kad kai kuriem žmonėm MS Comic Sans šriftas tiek
įkyrėjo, kad jie nori jį uždrausti.
Ech, aš irgi pamenu kad kokiais 1996 metais Comic Sans buvo pats
populiariausas šriftas. Tuo metu dar buvo populiarūs ir juodi
puslapiai su ryškiomis raudonomis ar geltonomis mirksinčiomis raidėmis
;) Nostalgija…
Šiandien skaičiausi apie Švartzines transformacijas. Tai tokia technologija, kuri labai praverčia sortinant
sudėtingus dalykus. Tarkime turim krūvą įrašų, kuriuose įrašyti vardas
ir pavardė (Na, stilium „Petras Kudaras“) ir norim
susortinti šiuos įrašus pagal pavardę abėcėlės tvarka. Paprasčiausia
būtų daryti taip:
@susortintas = sort { ($vardas1, $pavarde1) = split / /, $a; ($vardas2, $pavarde2) = split / /, $b; $pavarde1 cmp $pavarde2 } @nesortintas; Tik čia slypi nemaža problema: kiekvieno lyginimo metu iš naujo
Skaityti toliau…
Priminimas sau ateičiai: niekada netvarkyti bankinių reikalų Kaune šeštadieniais. Gavau vat sąskaitą iš Litnet už vieną domeną. Reikia pervesti pinigus į Vilniaus banką. Na, galvoju, jokių problemų, nueisiu kur nors mieste šeštadienį ir pervesiu. Klydau.
Pirmiausia tas dalykas, kad Vilniaus bankas Kaune šeštadienį nedirba. Hmm… Na, gal jis orientuotas į verslo klientus, tai dėl to ir nedirba šeštadieniais. Aišku mano pagrindinė banko sąskaita kaip tik jame, na bet ką darysi. Pasivažinėjau Laisvės alėja ieškodamas kitų veikiančių bankų.
Skaityti toliau…
Ech, na ir dienelė. Nepakanka to, kad lauke karšta, tai ir php-konf atgijo ;)
Viskas prasidėjo gana nekaltai. Pradžioje buvo bandoma aprašyti, kas yra geras PHP programuotojas, po to nusivažiuota į lankas ir gavosi šaudymai iš visų pusių: C vs PHP, C++ vs PHP, C++ vs asm, Perl vs PHP, JSP vs the world ir panašiai. Bet bent jau įdomiau nei krūva kasdieninių klausimų „Ka reiškia headers already sent?“. Labiausiai mane suintrigavo Kewlar idėja:
Skaityti toliau…
Na va, pasirodė ir pirma Oreilly knyga apie
Perl6. Taip, apie Perl6 o ne Perl5. Eeh, gaila kad nėra nemokamų
skyrių parsisiuntimui. Būčiau storas amerikonas su išsipūtusia pinigine,
tai tikrai pirkčiau (gal kas padovanot norit? :)
Simon Willison papostino antrąją
CSS rašliavų dalį. Idomu ir išsamu visiems kas domisi šia
technologija (ypač pradedantiesiems)
Aš vis dar susidomėjęs Java. Tačiau nepamirštu ir Perlo. Šiandien į
savo Palm’ą susidėjau Oreillio Advanced Perl
Programming, kurią jau senokai varčiau, o kai ją varčiau tai dar
nelabai mokėjau patį Perl ir nelabai supratau apie ką ten rašo.
Smalsumo vedamas nuėjau į CPAN
ir paieškojau ko nors susijusio su Java. Ir aišku radau. Kad Perlu
galima manipuliuoti Java VM ir klases tai nieko čia nuostabaus, mane
daugiau suintrigavo Inline::Java
Skaityti toliau…
Perl6-language mailing liste pasirodė threadas, kuriame
klausiama kaip būtų galima keliais žodžiais nusakyti Perl6.
Man labai patiko Sam Vilain atsiųstas eilėraštukas:
Perl6 is -- A better Java than C#, A better Lisp than Scheme. A better Makefile than Prolog, A better macro assembler than C. A worse ADA than Python, A better awk than Perl5. With apologies to poets worldwide. -- Sam Vilain, [email protected]
Šį vakarą praleidau (man) labai neįprastai: programavau Java. Taip,
aišku ne savo noru. Prašomas pažįstamos merginos, kuriai reikia
padaryti darbą. Na, aš tikrai nesu Java guru, tiesą sakant Java beveik
visia nemoku. Atsimenu prieš kokius metus ar porą bandžiau kažką daryt
su Java ir mane tai labai užkniso (hmm… atsimenu tais laikais Java
1.1 buvo naujovė… tai turbūt tikrai senokai). Na, galvojau, nieko
nebus. Aišku užduotis lengva, nusiskaityt bylas iš direktorijos,
Skaityti toliau…
Šiandien atsidarė naujas Perl
Golfo sezonas. Šio konkurso tikslas yra parašyti kuo trumpesnę Perlo
programą, sprendžiančią tam tikrą problemą. Šis konkursas vyksta jau
porą metų ir yra tikrai populiarus. Pirmojo turnyro baigiamoji data yra
gegužės 24, tad dar galite suskubti ;)
Taigi aš toliau sergu. Ne taip jau baisiai, nes visgi sėkmingai
laikau kolius universitete ir vaikštau į darbą. Tiesa, vakar bandžiau
žiūrėt Human Traffic savo kompe, bet per vidurį filmo supratau
kad nebesuprantu apie ką ten viskas ir kad akys nebesifokusuoja. Aišku
pasimatavau temperatūrą, ir teko gultis į lovą.
Aišku atsigult į lovą nėra taip paprasta, nes joje nėra ką veikti.
Tad bandžiau susitvarkyti savo Palm’ą, kad juo galėčiau
normaliai programuoti ar bent jau pasiskaityt e-book’ų.
Skaityti toliau…
Aš sergu. Jaučiuosi lyg būčiau po pagirių, tik dar skauda galvą ir
visus raumenis, bei pakilusi temperatūra. Ta proga stengiuosi per daug
nesėdėti prie kompiuterio, bet man, kaip tikram kompiuterastui
tai sunkiai sekasi. Todėl nusprendžiau imtis savo Palm’o
ir išmokti LISP pagrindus. Labai smagi kalba. Tik skliaustelių
daugoka, ypač kai turi temperatūros ir šiek tiek raibsta akys. Štai
programa, skaičiuojanti Fibonačio
seką
(define fibs (letrec ((fibgen (lambda (a b) (cons a (delay (fibgen b (+ a b))))))) (fibgen 0 1)))
Benaršydamas po įvairiausius weblogus radau programėlę CSSEdit, kuria labai
efektyviai galima redaguoti CSS. Tiesa, vienas
„bet“ – ji skirta Makintošams. Kartais man
irgi norisi išbandyt tuos Makintošus :)
Nepaisant to, pati programos svetainė padaryta su CSS ir iš kodo
galima daug ko išmokti. Ypač man patiko niekur nejudantis viršutinis
meniu (na, Mozilloj jis nejuda. Nežinau kaip su kitom naršyklėm).
Simon Willison pradėjo savo žadėtą CSS pradžiamokslių seriją. Pirmasis straipsnis labai tinka visai nieko negirdėjusiems apie CSS privalumus bei nežinantiems kas tai yra. Labai išsamu, aišku, paprasta ir naudinga.
pukomuko buvo šiek tiek
sunerimęs, mat jam neveikė man RSS
naujienos. Problema tame, kad kai kurie naujienų
skaitytojai nesupranta ISO-8859-13 koduotės. Na nieko
stebėtino, juk čia C#, o .NET su ISO-8859-13 nedraugauja (na čia mano
prielaida. Juk Windows vis dar laikosi iso-8859-4 ir
windows-1257).
Na, galvoju ir aš išsibandysiu tą readerį. Parsisiunčiau.
Paleidžiu. Library mscoree.dll not found.
Huh? OK, pasigooglinu, parsisiunčiu. Paleidžiu. Please put registry
key … to point to .
Skaityti toliau…
Congo pagaliau įdėjo į internetą penktadienio #php
susitikimo metu rašytą
programą. Jos idėja buvo tame, kad kiekvienas parašytų po vieną
kodo eilutę. Ganėtinai juokinga, ką primąsto įkaušę programeriai
:)
Aišku vienintelė Perlinė eilutė tai mano rašyta ;P
Kaip ir buvo man žadėjęs, pukomuko parašė savo dienoraštyje kažką gero apie Perl.
Aišku kaip rašė, tai savu stiliumi ;). Tiesą sakant labai įdomus
sutapimas, bet Star Wars tema naudoja ir Pythonininkai kovoje
prieš Perl.
Šiandien išleistas naujas Mozilla Firebird 0.6 (Release notes
rasite čia).
Didžiausi pakeitimai: nauja tema (Qute pagrindu), perdarytas
nustatymų koregavimas, bookmarkai gavo kontekstinį meniu,
automatinis paveiksliukų dydžio keitimas,
about:config, ir MacOSX versija. Siųskitės Windowsams,
Linuxui,
MacOSX.
Rytas visgi išaušo. Bandysiu bent kiek išsamiau aprašyt ką iš ten
prisimenu.
Atėjau į Kiniją kokią 18:50, ten jau buvo scooox,
godzhirra su sese (taip vardo man ir nepasakė –
pristatė „godzhirros sesė“), Shivas ir dar keletas žmonių.
Kažkaip labai visi jauni man pasirodė, net spėjau pagalvot kad ne ten
pataikiau, bet scooox mane pažinęs kažką pradėjo rėkaut ir
supratau kad esu ten kur reikia. Visi sėdėjo tylūs ir be alaus.
Skaityti toliau…
Štai ką pavyko ištraukt i Palm’o užrašų:
19:00 Viskas ramu. Nėra alaus.
19:11 Gavom alaus.
19:27 Aptarinėjam duombazes
19:29 Atvyksta DzHiBaS ir kompanija
19:33 MrTenente pasakoja įspūdžius. Amsterdamas kaip Vilnius
19:43 Atvyksta dar krūva žmonių, tarp jų ir trenktaz
19:45 include vs include_once, xml iš PEAR, XSLT:šūdas ar ne, PHP5
tik vienas topikas, bus 3-iam ketvirty.
19:57 Dalyvauja apie 28 žmonės.
20:07 Pradėjom rašyt kolektyvinę programą
20:15 Eikit vaikai namo, ką?
Skaityti toliau…
Kaip rašo Slashdot, vakar buvo išleistas gcc3.3. Tai niekuo ypatingu neišsiskirianti populiariojo C kompiliatoriaus gcc versija. Pagrindiniai pokyčiai yra geresnis kodo profiliavimas, šiek tiek greitesnis kompiliavimas (trečios serijos gcckenčia nuo per-ne-lyg lėto C++ kompiliavimo – gcc2.95 tai daro 5-10% greičiau) ir geresnis C99 standarto palaikymas. Tiesa, su naujuoju kompiliatoriumi kol kas nesusikompiliuoja nei Linux branduolys, nei glibc2.3.2, mat yra kai kurių nedidelių pokyčių. Pats didžiausias turbūt yra tas kas preprocesorius nebepalaiko simbolių eilučių per kelias eilutes (string literals spanning multiple lines), bei šiokie tokie pokyčiai su variadinėmis funkcijomis (lygtai reikia naudoti stdargs.
Skaityti toliau…
Va pradėjau skaityt tuos naujuosius CSS standartus. Pirmas, kurį griebiau už ragų, buvo CSS3 Color. Štai kokie jame pakeitimai nuo CSS2 laikų…
Kaip ir seniau, spalvas galima nurodyti dviem būdais: įprastiniais vardais, arba RGB reikšmėmis, pvz:
em { color: lime } /* Spalvos vardas */ em { color: rgb(0,255,0) } /* RGB 0-255 */ em { color: #ff0000 } /* #rrggbb */ Atsirado naujas labai naudingas dalykas kaip opacity, kuris nurodo, kiek elementas turi būti permatomas.
Skaityti toliau…
Iki šiol buvo išleistos tik dvi kandidatinės CSS3 rekomendacijos:
Selectors (2001
Lapkričio 13) ir Media Queries (2002
Liepos 8). Abi šios rekomendacijos aprašo papildomus būdus kaip galima
sujungti dokumento dalis su stiliaus aprašymu. O štai vakar W3C techininių leidinių skyriuje
atsirado krūva naujų CSS3 rekomendacijų, kurios jau liečia pačius
stiliaus aprašymus. Štai šios rekomendacijos: CSS3 Color
(opacity jau ne vien SVG bus naudojamas), CSS3 Text
(internacionalizacijos patobulinimai), CSS3 Ruby, CSS TV 1.
Skaityti toliau…
Šią naktį padariau šiek tiek pakeitimų svetainėje. Kai kurie
pastebimi, o kai kurie ir ne ;)
Pirmiausia, šoniniame meniu įdėjau lietuviškų dienoraščių nuorodas.
Šoninės nuorodos dabar imamos iš bendro šablono naudojant
HTML::Template modulio <TMPL_INCLUDE>
direktyvą.
Taipogi pakeičiau ir CSS bylą, padarydamas kad nuorodų pabraukimai
būtų daromi ne per text-decoration, o per
border-bottom. Kam? O šiaip sau…
eksperimentuodamas. Dabar su nuorodomis susijusi CSS dalis atrodo
taip:
.blogtext a { color: #005990; background-color:inherit; text-decoration: none; border-bottom: #005990 1px dotted; } .
Skaityti toliau…
Vaikščiodamas internete užtikau su interneto standartais ir svetainių pasiekiamumu susijusių interneto dienoraščių sąrašą. Jame daug jau ir žinomų dienoraščių (kaip kad Zeldman, Sam Ruby, Simon Willison) bei daug naujų, negirdėtų neregėtų. Naudingas sąrašas besidomintiems.
Va DzHiBaS papostino aprašymą, kaip jis
padarė savo dienoraščio pildymo el.paštu galimybę. Viskas pas jį
padaryta su PHP, tad dėl įdomumo pateiksiu ir savo perlinę versiją:
#!/usr/bin/perl open F, ">>/tpm/bloglogas.txt"; # atsidarom bylą, kur saugosim gautą paštą print F localtime; # įrašom į bylą laiką while(<STDIN>) { # kol gaunam duomenų.... print F $_; # ...tol rašom juos į bylą } close F; # uždarom bylą. Kitas dalykas, kurį turbūt darysiu su šituo dalyku, tai vienkartinis
Skaityti toliau…
Perlmonks turi dar vieną įdomų
threadą apie mod_perl vs
mod_php. Faktiškai ten neblogai viskas paaiškinta: mod_php
netgi negalima lyginti su mod_perl, nes tai skirtingi dalykai.
mod_php būtų geriau lyginti su HTML::Embperl
arba su Apache::Template.
Viską galima apibendrinti šiais sakiniais:
mod_perl is raw access to every phase of the Apache request and service
cycle. mod_php is an
Apache::Template-like
access to the content phase only and thus far more limited.
So to get “mod_perl” to act like PHP, you have to restrict it
Skaityti toliau…
Žiūrint atsiliepimus apie CSS Zen Garden aptikau
gana įdomius XBL ir XSLT palyginimus bei CSS pakeitimą
XBL. Kol kas apie XBL man pačiam neteko daug girdėti. Tai Mozillos
technologija, ir kitur ji neveikia. Pats autorius pripažįsta, kad
realiam pasaulyje XBL negali pakeisti XSLT, nes jis nėra W3C
standartas ir neveikia už Mozillos ribų. Visgi įdomūs skaitiniai.
Tai vat, kaip jau ir minėjau, pakūriau elektroninio pašto sąsają,
ir dabar naujienas galiu rašyt per jį. Bandysiu dabar čia aprašyti
kaip visa tai veikia (beje visą šitą taipogi rašau elektroniniu
paštu).
Viso šito dalyko esmė yra paprasta: elektroninio pašto serveris
sugeba automatiškai perduoti gautą laišką nurodytai programai, tad
specialiu adresu nusiųstas laiškas perduodamas perliniam skriptui,
kuris jį perskaito, atsirenka kas yra kas ir sumeta ką reikia į
duombazę.
Pirmas etapas (el.
Skaityti toliau…
Na vat, bandau dabar įdėti įrašą į savo
dienoraštį per elektroninį paštą. Bei
testuoju lietuvybę.
ąĄčČęĘėĖįĮ
šŠųŲūŪžŽ
Šiandieną DzHiBaS paleido naują savo dienoraščio versiją. Tas pats dienoraščių variklis naudojamas ir pas Shivą, bei bus naudojamas ateityje ir pas aubergine. Taipogi atradau ir dar vieną lietuvišką interneto dienoraštį rašantį kompiuterastiškais klausimais. Be to ir pukomuko padarė pirmąjį savo kompiuterastinį įrašą.
Ryškiai jau bręsta reikalas šone susirašyt lietuviškų kompiuterastiškų dienoraščių nuorodas.
DzHiBaS pasidalino keletu idėjų su manimi dėl galimybių elektroniniu paštu pildyti savo internetinį dienoraštį. Idėja tame, kad pasiuntus laišką tam tikru adresu, būtų nuskaitomas laškas, padaromi atitinkami pakeitimai (BBkodas, automatinis URL atpažinimas ir panašiai) ir sukišama į duombazę. Štai mano idėjos ir mintys apie tai.
Pirmiausia kam to reikia? Man asmeniškai tai būtų labai patogu pildyti dienoraštį per mobilųjį telefoną. Parašai, išsiunti, naujiena atsiranda. Net nereikia prie kompiuterio sėstis (na aišku teksto įvedimas per mobilųjį telefoną nėra pats lengviausias dalykas).
Skaityti toliau…
Šiandien ir vakar pastebėjau labai didelį vartotojų padidėjimą (na, tarkim užvakar buvo 48 unikalūs lankytojai, o šiandien iki pietų jų jau yra 165). Ech, galvojau kad tapaus nerealiai populiarus. Tačiau visgi peržiūrėjau savo Apache logus (na, gal kokį labai naudingą referrer’į rasiu) ir radau krūvas tokių pranešimų:
193.219.130.9 - - [12/May/2003:11:55:48 +0200] \ "GET /~moxliukas/browse/index.pl?id=78 HTTP/1.1" 200 4802 "-" "Nedlib" Hmm… kas per velnias tas Nedlib, ir kodėl manimi domisi Lietuvos nacionalinė biblioteka?
Skaityti toliau…
Vakar užsakiau vietos Žirmūnų Mažojoje Kinijoje (užsakiau 15 žmonių, bet jei bus daugiau tai nemanau kad būtų problematiška). Žodžiu stalai užsakyti šiam penktadieniui, gegužės 16 dienai, 19 valandai, Petro vardu. Jei kas nežinot, kur yra Žirmūnų Mažoji Kinija, tai apsilankykite http://www.maps.lt/redirect.asp?eid=65002. Planuoja dalyvauti: MrTenente, matis, moxliukas, DzHiBaS, beside, scooox, Nightblade, Perle (?), guru_man(?), BG, ProTON(?), Congo, ABLomas(?), tamoshiuz(?), Loading, Hidro ?, Mrak, godzhirra_da_mc (?)
Beje, jei kas vis tiek nežino kaip rasti šią sugėrimo vietą, ar bijo, kad nepažins Php’istų, tai kreipkitės į mane IRC, duosiu savo telefoną.
Skaityti toliau…
Google ruošiasi sukurti atskirą įrankį internetinių dienoraščių naršymui. Kol kas neaišku, ar internetiniai dienoraščiai bus išimti iš pirmo puslapio paieškos rezultatų, tačiau praeitis rodo, kad turbūt jie bus iimti, mat kai Google įgijo galimybę ieškoti usenet naujienas, jos buvo panaikintos iš pirmo puslapio paieškos rezultatų.
Su internetiniais dienoraščiais yra įdomi situacija. Jų yra pakankamai daug, ir jie turi nuorodas vienas į kitą, tad pagal Google technologiją, jie pasirodo aukštai paieškos rezultatuose.
Skaityti toliau…
scooox nurodė, kad galima parsisiųsti Rasmus’o Lerdorf’o PHP „tips’n’tricks“, kurie buvo pristatyti per konferenciją, vykusią Niujorke. Dauguma patarimų susiję su kodo optimizavimu, bei bytecode saugojimu laikinojoje atmintinėje, o taipogi su patarimais, kaip PHP pagalba generuoti paveiksliukus. Tiesa, yra ten ir labai keistų vietų — ypač man už akių užkliuvo jo siūlomas šablonų mechanizmas. Hmmm… kuo gi blogas phemplate modelis (kuris naudojamas ir Perlinėje HTML::Template, ir Template Toolkit, ir dar visur kitur?
Skaityti toliau…
Pasirodo, Microsoft turi PHP ir ASP.NET palyginimą. Aišku tas palyginimas labai vienpusis, bet ganėtinai keista, jog Microsoft naudoja tuos pačius argumentus prieš PHP kaip ir aš dažnai vartoju: lėtumas, funkcijų vardų nepastovumas, sudėtingas duomenų bazių naudojimas. Na, tas straipsnis bent jau parodo kad Microsoft rimtai žiūri į PHP kaip į konkurentus.
Gegužės 12 dieną įžymusis Jeffrey Zeldman išleidžia savo knygą „Designing with Web Standards“. Jeffrey Zeldman yra vienas žymiausių apie interneto dizaino technologijas rašančių žmonių ir stipriai palaiko visus naujausius standartus. Ši knyga yra apie tai kaip galima padaryti internetinės svetainės dizainą su CSS. O pats šauniausias dalykas, kad keletą skyrių galima parsisiųsti PDF formate.
Šiandien išleista Mozillos priedo Linky 1.6.0 versija. Didžiausias skirtumas nuo ankstesnės versijos yra tas, kad jis dabar veikia ir Mozilla Mail pašto kliente. Ką daro Linky? Jis gali atidaryti visas puslapio nuorodas naujuose kortelėse arba languose, gali paprastu tekstu parodyti visas puslapio nuorodas, gali atidaryti visus puslapio paveiksliukus atskiroje kortelėje ir panašiai. Mažas naudingas daikčiukas.
CSS Zen Garden yra labai gražus dizainerių projektas, kuriame naudojama ta pati HTML byla, bet skirtingas CSS. Šiuo metu ten galima pamatyti penkis radikaliai skirtingus dizainus. Tiesiog puiku. Tai puikiai parodo, koks galingas gali būti CSS. Beje, verta pasistudijuoti ir kodą.
mr2 man persiuntė laišką iš bugtraq apie įdomų buferio perpildymą Siemens 45 serijos telefonuose. Pasiuntę specialiai suformuotą SMS žinutę į tokį telefoną galite jį išjungti be jokių girdimo signalo. Įjungus telefoną jis lyg veikia normaliai, tik neįmanoma nueiti į „Messages->Inbox“. Tai įvyksta dėl buferio perpildymo. SMS žinutėje paveiksliuko įterpimas yra žymimas %IMG_NAME, tačiau jei vietoj IMG_NAME įvesite 157 bet kokių simbolių, tai ir įvyks minėtas buferio perpildymas. Štai eksploito pavyzdys:
Skaityti toliau…
Aptiktas Microsoft .NET Passport pažeidžiamumas, kuris liečia ir Hotmail paštą (dar kažkas juo naudojasi?). Bet kas gali pakeisti bet kurio vartotojo slaptažodį ir tada pasinaudoti jo vartotojo sąskaita. Šiaip pažeidžiamumas gana juokingas – .NET serverio galima paprašyti pakeisti slaptažodį (adresu https://register.passport.net/emailpwdreset.srf?lc=1033&[email protected]&id=&cb=&[email protected]&rst=1), ir jis atsiųs nurodytu adresu ([email protected]) URL (panašų į http://register.passport.net/EmailPage.srf?EmailID=CD4DC30B34D9ABC6&URLNum=0&lc=1033), kuriuo nuėjus galima pasikeisti slaptažodį. Nuėjus tuo URL ir užpildžius formą, slaptažodis bus pakeistas neįvedus senojo slaptažodžio. Smagumynai. Plačiau apie tai SecurityFocus
Skaityti toliau…
Šiandien pastebėjau, kad pukomuko vėl atidarė savo dienoraštį. Na, ko dar čia spoksot, eikit jo skaityt, jis šimtą kartų vertingesnis už šį!
Webmonkey turi gana neblogą straipsniuką apie PDF generavimą su PHP. Tiesa, pusė to straipsnio yra apie įdiegimą (kuris pasirodo yra baisiai sudėtingas), o kita — apie jo vartojimą.
Skaitant tą straipsnį iškilo man mintis ar Perle irgi taip įmanoma padaryti. Trumpas apsilankymas pas CPAN, perl -MCPAN -e ‘install PDF::Create’ ir jau turiu modulį PDF generavimui Perle. Štai Perlinis kodas, sugeneruojantis PDF dokumentą (pavyzdį galit matyti čia):
#!/usr/bin/perl use strict; use PDF::Create; my $pdf = new PDF::Create('filename' => 'out.
Skaityti toliau…
Ši svetainė šiuo metu yra generuojama visiškai dinamiškai, t.y. užduodama krūva SQL klausimų, paimamas šablonas ir pagal jį sukonstruojamas puslapis. Visa tai labai gerai, kai lankytojų skaičius nedidelis (o lankytojų skaičius čia nėra didelis – apie 100-150 unikalių lankytojų per parą. Tad sumąsčiau, kad reikėtų pasidaryti šiokią tokią laikinosios atmintinės (kešavimo) sistemą, ir bent jau RSS naujienų negeneruoti dinamiškai. Kol kas to nereikia ta prasme, kad serveris puikiai dar viską paveža (nors tą serverį sunkiai apsiverčia liežuvis serveriu vadint – mano skaičiavimo mašinėlė turbūt greitesnė yra), tačiau kaip visada šioje svetainėje viską darau tik eksperimentuodamas ;)
Skaityti toliau…
DzHiBaS atsiuntė man nuorodą į straipsnį iš joelonsoftware.com apie tai, kad reikia iš esmės pakeisti SMTP (elektroninio pašto) protokolą, nes tai būtų vienintelė efektyvi priemonė kovoje prieš „spam’ą“. Naujasis protokolas turėtų būti saugus, pagrįstas sertifikatų sistema bei mikromokesčiais, kurie padarytų masinį laiškų siuntinėjimą tiesiog nepelningu. Problema slypi tame, kad priversti žmones pereiti prie naujo protokolo bus sudėtinga. Tam turi būti perrašytos visos elektroninio pašto klientų programos, bei serveriai, o tai kainuoja daug.
Skaityti toliau…
Užklydęs į BlogShares (kuris pats savaime yra atskiras projektas, reikalaujantis atskiro aprašymo) tarp geriausiųjų žaidėjų pamačiau ir lietuvišką pavardę – Edmundas Mišeikis. Pasirodo jis vilnietis ir netgi turi savo internetinį dienoraštį pavadinimu Whispering, kuriame rašo apie su technologija susijusius dalykus. Tiesa, liūdna, kad jis angliškas (aš pastaruoju metu pastebiu kad vis tampu kažkokiu didesniu patriotu ir esu visom keturiom už lietuviško interneto gerinimą ;). Štai pačios svetainės pateiktas apibūdinimas:
Whispering consolidates some knowledge in development of web applications.
Skaityti toliau…
Šiandieną gavau elektroninio pašto laišką iš Artūro Šlajaus, kuris man priminė, kad niekur savo svetainėje nesu minėjęs Mozillos PrefBar įrankių juostos. Džiugu, kai tavo svetainę pradeda lankyti ir ja domėtis ne vien tavo gerai pažįstami žmonės.
Mozilla PrefBar yra naudinga įrankių juosta, pritaikyta daugiau paprastiems naršytojams nei interneto programuotojams (kaip kad jau anksčiau aprašytas pnhToolbar). Aš pats PrefBar naudojuosi jau geras mėnuo, ir jis tikrai man pravertė. Pagrindinis PrefBar privalumas manau yra jo galimybė prisitiaikyti jį savo reikmėms.
Skaityti toliau…
Su Lakūnu sugalvojom, kad reikia labai dažnai užduodamų PHP klausimų sąrašo, nes tie patys klausimai dažnai kartojasi tie patys per tą patį. Idėja paprasta: rinkti užduodamus klausimus #php kanale ir sudėti juos į duomenų bazę. Jei vėl pasikartoja toks pats klausimas, užteks tik papastinti linką (na… mes tikimės kad užteks… Turbūt nelabai). Žodžiu turėtume palengvint sau gyvenimą nebeatsakinėdami į tą patį klausimą dešimtąjį kartą. Bent jau teoriškai turėtumėm palengvint sau gyvenimą.
Skaityti toliau…
Šios dienos #php kanalo tema:
2003 gegužės 16 d. (penktadienis) – preliminari #PHP meeto data… Vieta? Rotušėlė? Preliminarûs dalyviai: MrTenente, Nightblade, scooox, moxliukas, … Veiksmo vietos, idejos labai priimamos ;]
Va #php susitikimo jau seniai trūko. O juk pernai kiekvieną penktadienį toks vykdavo. Tikiuosi į šį susitikimą ateis daug žmonių („daug“ – tai bent kokie 8-10), nes poreikis tam kaip ir yra ;)
Tiesa, nežinau kaip dėl „Rotušėlės“. Mane jos atžvilgiu kankina dvi prieštaringos mintys: viena vertus „Rotušėlė“ yra nekoks kabakas su nekokiu aptarnavimu ir panašiai, o kita vertus – tai #php tradicija.
Skaityti toliau…
Paskaitęs mano rašliavas apie PHP print() funkciją, Lakūnas nurodė man atitinkamą manualo skyrių ir pasirodo, kad print() yra operatorius. Va čia tai buvo netikėta. Jau man galvoj nebesutelpa viskas :/
Nors print() ir yra operatorius, echo() yra šiaip kalbos dalis. Štai <?php print print 'foo'; ?> spausdina „foo1“ – kaip ir tikėtasi, tuo tarpu <?php print echo 'foo'; ?> meta klaidą „Parse error: parse error, unexpected T_ECHO“
CGI::Application yra puikus modulis Perlui, kuris leidžia išvengti ilgų „if/elsif/else“ blokų pagrindinėje web programos byloje. Pagrindinės bylos (tarkim index.pl) tikslas yra nuspręsti, kurį kodą vykdyti. Tarkime, per HTTP GET kintamąjį op perduodama informaciją, koks kodas turi būti įvykdytas. Tokiu atveju paprastas index.pl atrodytų kažkaip taip:
#!/usr/bin/perl -w use CGI; my $r = new CGI; if($r->param('op') eq 'forumas') { # forumo kodas } elsif($r->param('op') eq 'naujienos') { # naujienų kodas } .
Skaityti toliau…
Kažkas #php kanale paklausė, kaip įmanoma padaryti su CSS, kad pasikeistų lentelės langelio fonas. Šiek tiek pasikrapštęs (aišku galėjau paieškot internete, bet su GPRS gyvenu) sukurpiau panašų dalyką, visai be lentelių. Kiek bandžiau, jis veikia su IE6.0, Opera 7.0 ir Phoenix0.5 (tiksliau beveik 0.6 – kažkoks naktinis buildas). Štai šio dalyko kodas:
<style type="text/css"> .list { margin: 0ex; padding: 0ex; } .list li { border: 1px solid #333; background: #999; color: #333; display: block; float:left; } .
Skaityti toliau…
Įsidėkit šį puslapiuką į bookmarkus. Labai neblogi pavyzdžiai, ką galima pasiekti CSS pagalba. Ir daug ką išmokt galima, nes CSS nesibaigia ties a:hover { text-decoration: underline; }
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.
Skaityti toliau…
Š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).
Skaityti toliau…
Š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.
Skaityti toliau…
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.
Skaityti toliau…
SearchEngineWatch turi 10 patarimų kaip sėkmingai pasirodyti Google. Turbūt labiausiai man patikęs yra antrasis: „Learn basic HTML“ ;).
Atrodo IE šitokį puslapiuką interpretuoja tiesiogiai, kaip ir parašyta:
<html> <form> <input type crash> </form> </html> Update: mr2 nurodė dar vieną IE bugą:
[1.] *perl -e “print qq’\xFF\xFE’; print qq’\r\r\n’ x 30000” > test.html *
[2.] Atsidarykite su IE
[3.] Pavyzdys -> http://migla.ktu.lt/~mr2/test.html
Š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į.
Skaityti toliau…
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ą ☺).
Skaityti toliau…
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).
Skaityti toliau…
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.
Skaityti toliau…
Į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 į <!
Skaityti toliau…
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 ’ ir XML parseriams tai nepatinka. Tiksliai nežinau kol kas kaip išspręsti šitą problemą (įdėti XHTML namespace į RSS newsfeedo XML?
Skaityti toliau…
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.
Skaityti toliau…
Tim Bray parašė gana įdomų straipsniuką apie tai kas yra tas Unikodas, su kuo jis valgomas, ir kam jo reikia.
Pagaliau pradėjo atsirasti ir nemokamų CSS kodo gabalų. Iki šiol buvo tik krūvos JavaScript „Cut’n’Paste“ svetainių, bet ne tiek jau daug apie CSS (Tiesa, CSS aprašymų visokių tai nemaža yra, bet grynai snippetų kolekcijų dar neteko matyti). Tai vat štai čia visai neblogų CSS pavyzdžių svetainė.
Šiandien sumaniau pasiieškoti kokio nors newsfeed readerio (mmm… skaityklės), nes sėdint su GPRS vaikščioti po kiekvieną weblogą ir žiūrėti ar niekas neatsinaujino yra gana brangu, tiek finansiškai, tiek laiko prasme. Aišku yra scooox, tamoshiauz ir godzhirra_da_mc projektėlis www.fenix.mes.lt, bet jis man ne visai tinka, mes man norisi turėti galimybę pačiam nusistatinėti ko man reikia.
Iš viso radau bent jau tris skaitykles Windows sistemai, tik jos visos kol kas alpha versijoje. Labiausiai man patikusi – FeedReader, yra atviro kodo.
Skaityti toliau…
Atradau ganėtinai trumpą, bet puikiai parodantį web programuotojams Mozillos pranašumus prieš IE straipsnį. Paminėtas ir Javascript debuginimas, ir DOM inspector, ir Page Info ir daugelis kitų dalykų. Jei neperėjot prie Mozillos, tai jau pats laikas ;)
Atradau labai naudingą įrankių juostą Mozillai, bei Phoenix/Firebird’ui. Rašytas su XUL ir JS, ir turi tokius šaunius ir reikalingus dalykus kaip stilių įjungimą/išjungimą, kodo validaciją pagal standartus, HTML elementų paryškinimą, lango padidinimą/sumažinimą iki tam tikrų rezoliucijų, puslapio kukių rodymą ir nuorodas į W3C standatus. Tiesiog puiku. Štai dėl ko mėgstu Mozilla/Phoenix ;)
Vakar buvau užėjęs į parodą „Info 2003“, vykusią Kaune,
Lengvosios atletikos manieže Aušros gatvėje. Tiesa, joje lankiausi jau visai prieš uždarymą, tad
gal dėl to ji man pasirodė tokia menka ir tuščia. Na, bet bilietas studentui – 2 Lt, tad nėra ko skųstis.
Jokių didelių naujienų toje parodoje napamačiau. Nebuvo ir jokių Microsoft atstovų su kuriais būtų galima pasiginčyti apie jų
siūlomą naująjį Microsoft Server 2003 (gal būtų ir mane atvertę į tikrąjį Visual Basic tiesos kelią).
Skaityti toliau…
Šiandien kaip niekad pilna įdomių straipsnių ir naujienų apie mokslą ir technologijas (apie programavimą kažkaip neišėjo kol kas šiandien paskaityt). BBC rašo, kad šiandien sukanka 50 metų kai buvo atrasta DNR – jei jum teko šiandien naudotis Google, tai ir jis šiandieną pasikeitęs pažymint šią progą.
Vėlgi krūva bugų aprašymų iš Microsoft: čia, čia ir čia. Paveikta Windows NT, IE ir Outlook Express.
Slashdot diskutuoja ar HTML gali būti menas. Man labiausiai patiko komentaras „In my experience, if a person doesn’t understand why HTML isn’t a programming language, it’s not worth my while to explain it“.
Skaityti toliau…
Išverčiau šiokį tokį regexpų straipsniuką, kuris pritaikytas Perl, bet tikiu kad iš jo naudos turės ir PHP programuotojai. Patį straipsniuką galite rasti čia.
Šiandieną nemažai laiko praleidau skaitinėdamas apie Apache modulį mod_rewrite, mat užsinorėjau šioje svetainėje gražių URL’ų (Tarkim http://www.lietuvoje.lt/~moxliukas/browse/42 vietoj įprastinio http://www.lietuvoje.lt/~moxliukas/index.pl?id=42). Galingas daiktas.
Benaršydamas Apache modulių aprašymus radau labai neblogą svetainę refcards.com, kurioje galima atsisiųsti glaustus Apache, o svarbiausia mod_perl komandų sąrašus. Labai naudinga turėti pasidėjus po akimis. Hmmm… reiktų ir Perl bei PHP kažką panašaus padaryt… Ir aišku apie regexpus.
OpenBSD projektui nutrauktas finansavimas iš Pažengusių Ginybos Tiriamųjų Projektų Agentūros (DARPA), nes „atviras kodas padeda teroristinėms valstybėms“. Tiek šurmulio atviro kodo pasaulyje jau seniai nebuvo. Plačiau apie tai OpenBSD žurnale.
Benaršydamas internetą atradau gana didelį fleimą apie Perl
bendruomenės požiūrį į naujokus. Su kai kuriais punktais gal ir galima sutikti, bet ne su visais.
Pirmiausia, Perl bendruomenė apkaltinama elitiškumu (Lietuvoje turbūt atvirkščiai – PHP bendruomenę kartais galima tuo apkaltinti). Tiesa, atsakymai į šį kaltinimą buvo įvairūs: nuo nuolankaus „bet juk jei neperskaitė naujokas dokumentacijos, tai negalima jam visko aiškint“ iki „ir labai gerai kad naujokų nėra, nes jie tik trukdo savo kvailais klausimais“.
Skaityti toliau…
Atrodo sutvarkiau tą „F5“ klaidą, dėl kurios dažnai dubliuodavosi komentarai (tiesa, man pačiam visada Mozilla ir IE paklausdavo ar tikrai noriu antrą kartą submitint – gal galit patestuot ar pas jus reikalai pagerėjo?)
Pradėjau loginti vartotojų IP. Na iki šiol buvo kuriamos tik tuščios sesijos, tad bent jau IP dabar kartu išsaugos. Tiesa, su tom sesijom ten įdomiai… Viskas saugoma MySQL, bet binariniame formate (matyt taip greičiau) – teko truputį pasinervuot manant kad tos sesijos neveikia, nes pačiame MySQL kaip ir nieko nematydavau.
Skaityti toliau…
Štai ką šiandie patyriau:
<-psyBNC> Tue Apr 22 21:47:25 :User JAPH () got disconnected (from irc.delfi.lt) Reason: Closing Link: 193.219.82.175 (SVSKilled: GHOST command used by perl_rulz) --- [perl_rulz] ([email protected]) : qrva --- [perl_rulz] irc.takas.lt :Tue Apr 22 21:46:24 2003 --- perl_rulz :End of WHOWAS -NickServ- List of entries matching *@81.7.111.254: -NickServ- moxliukas [Hidden] -NickServ- vYtiZ [Hidden] -NickServ- Waidazz [Hidden] -NickServ- End of list - 3/3 matches shown. --- [vYtiZ] ([email protected]) : vYtiZ --- [vYtiZ] @#db_rulez @#super-krepsinis @#krepsiukas @#lol @#lebron @#deadeye #Zalgiris #jablonskine #gentoo Trumpai drūtai – mane nusnifino.
Skaityti toliau…
Skaitinėjant savo mėgiamiausią svetainę apie interneto programavimą (aišku neskaitant PerlMonks :) aptikau senoką straipsnį apie teisingą tipografiją internete, kuris privertė šiek tiek susimąstyti. Brūkšnelių ilgis pasirodo labai svarbus.
Pačioje interneto pradžioje kompiuteriai buvo panašesni į rašomąsias mašinėles, ir tekstas konsolės ekrane tikrai buvo nepanašus į gražiai suformuotą tipografinį tekstą, kurį galima sutikti knygose ar kituose spausdintiniuose leidiniuose. Problema daugiausiai buvo tame, kad neįmanoma buvo pavaizduoti galybės simbolių, tad teko apsiriboti ASCII.
Skaityti toliau…
LG davė man nuorodą apie puikų, nemokamą (GPL licenzija) WYSIWYG redagavimo komponentą. Kas įdomiausia: šį komponentą sukūrė lietuviai – kompanija „Solmetra“. Komponentas veikia su IE5.5+ ir PHP. O atrodo tai tikrai pritrenkiančiai (na, bent jau man. Aš neturiu didelės patirties šituose dalykuose).
Nemėgstu PHP. Ir turbūt jau pats laikas pasiaiškinti kodėl. Dauguma mane mato kaip Perl fanatiką, nors tas fanatizmas tikrai išpūstas. Mėgstu Perl, bet kartu mėgstu ir Python, ir Ruby, ir hmmm.. kartais netgi Java. Tiesiog Perl yra mano „language of choice“, nes ją geriausiai moku (PHP irgi moku neblogai, bet jos paprasčiausiai nemėgstu). Gerbiu žmones, mėgstančius Python ar Ruby, bet tie, kas skelbia jog PHP yra geriausia kalba nuo pat Kristaus gimimo man sukelia šiokią tokią šypseną.
Skaityti toliau…
Prieš porą dienų Columbia Accident Investigation
Board išleido pirmąsias
rekomendacijas būsimiesiems Shuttle skrydžiams. Nieko aiškaus apie pačios
katastrofos priežastį. Susidaro įspūdis, kad tos rekomendacijos tik tam
kad kitą kartą tokie tyrimai vyktų sklandžiau (rekomenduojama fotografuoti
Shuttle nusileidimą iš palydovų ir panašiai). Tiesa, taipogi rekomenduojama
peržiūrėti Shuttle anglies plokštelių struktūrą.
Tiesa, važinėjantis dviračiais su Lakūnu šiek tiek pasikalbėjom apie
#php tradicijas ir apie jų atgimimo galimybes. Pereitą vasarą juk vos ne kiekvieną
pekntadienį būdavo tradicinis #php sugėrimas Rotušėlėje. Kartais ateidavo
keletas žmonių, kartais — kelios dešimtys. Įdomu, ar tokia tradicija atgimtų ir šią vasarą, nebūtinai
Rotušėlėj, nebūtinai penktadieniais, nebūtinai alaus gėrimas, tiesiog kažkas bendro ir tradiciško.
Velykos… Reiškia jokių kompiuterastiškų dalykų. Na, tiesa, su Lakūnu
apsukom nemažą ratą aplink Kauną dviračiais.
Microsoft įspėjo Windows NT, 2000 ir XP vartotojus apie buferio perpildymo
klaidas, kuriomis pasinaudojus galima užvaldyti kompiuterį, trinti bylas,
perkonfigūruoti sistemą, ir daryti viską administratoriaus teisėmis. Skylę galima užlopyti
atsisiunčiant lopą iš Windows Update svetainės.
Tai jau 14-a atrasta su sistemos saugumu susijusi klaida Windows
sistemose šiais metais. Daugiau apie pačią klaidą galima rasti
pačioje
Microsoft svetainėje
The Register rašo apie tai kaip netyčia CNN puslapiuose atsirado Fidelio Kastro, popiežiaus Jono Pauliaus II-ojo, Karalienės Motinos ir kitų garsenybių nekrologai. Gera būti pasiruošusiam ;)