Teisinga tipografija svetainėms

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. Bet štai dabar jau Unikodo laikai ir turime galybes simbolių gražaus teksto formatavimui, ir galime atskirti „en-dash“ nuo „em-dash“ ir tiesias kabutes nuo riestų. Tad perskaitęs tą straipsnį ir aš užsinorėjau viską daryti gražiai ir pagal standartus.

Beje, lietuviškas „ISO-8859-13“ standartas kaip tik ir skiriasi nuo „Windows-1257“ koduotės tomis nelemtomis kabutėmis. Be to, kažkaip sunkoka jas reikiamai įvesti naudojantis Notepad. Kol kas pabandysiu naudot Unicode decimal entity notation, kur atsidaranti kabutė („) yra „, o užsidaranti (“) – “

Perl vs PHP (subjektyvus asmeninis požiūris)

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ą. Mano įsitikinimu neišvengiamai toks programuotojas arba subręs ir atras geresnę kalbą, arba bus amžinai pasmerktas knistis didelėje HTML ir PHP kodo košėje, iš kurios nematyt nei gražaus kodo, nei naujausių technologijų.

Tad kuo tas PHP blogas? Galbūt ir niekuo. Visa tai, ką čia rašau yra mano subjektyvi nuomonė. Pirmiausia PHP man asocijuojasi su pradedančiaisiais programavime, kurie net nežino kas tai yra „kintamasis“. PHP lengva įdiegti. PHP lengva pradėti rašyti, mat paprasčiausios PHP programos nesiskiria nuo HTML. Tuo tarpu Perl sudėtingas. Sunku juo programuoti Windows platformoje, ypač pradedantiesiems. Vien norint paleisti Perl programą per CGI, reikia padaryti „chmod“, išvesti reikiamą HTTP headerį, o tai sudėtinga žmogui, niekada nesusidūrus netgi su komandine eilute. Perl gal būt ir atrodo per sudėtingas, bet mano nuomone, jis priverčia susimąstyti. Priverčia pagalvoti kodėl reikia spausdinti būtent tokį headerį, o ne kitokį, priverčia užduoti klausimą „kodėl?“. Tiesiog PHP laikau vaikišku žaidimiu, palyginus su Perl (tiesą sakant nebūtinai su Perl… su bet kuria rimtesne programavimo kalba)

PHP meturi savo filosofijos. Arba jo filosofija yra padaryti kalbą kuo paprastesnę naudojimui internete, bet tam reikia skolintis idėjas iš to paties Perl. Tik skolintas ir kopijuotas daiktas niekada neprilygsta originalui. PHP turi daug ką, ko turi ir Perl, bet tai padaryta taip negrabiai kad net nesinori to naudoti. Tarkim regexpai. Krūvos preg_* funkcijų tikrai nepalengvina gyvenimo. O kaip būtų paprasta, jei regexpai būtų pačios kalbos dalis, o ne „prihakintas“ dalykas per funkcijas.

PHP neturi bendros vieningos funkcijų pavadinimų sistemos. is_array(), is_numeric(), is_null() ir isset()… kur dingo brūkšniukas? Be to pats sprendimas absoliučiai viską daryti per funkcijas (o kad bent ta funkcijų iškvietimo sintaksė būtų lankstesnė!) yra tiesiog atgrąsus. Štai yra ir funkcija array_map() (beje, kam tas „array_“ prieš visas masyvų funkcijas? Kad ilgesnės programos būtų?) — Perle map yra mano mėgstamiausia funkcija — bet ar kada kas naudoja tą array_map()? Ne, nes parašyti kodą su visais callback‘ais užima pernelyg daug laiko ir pastangų. Visiškai priešingai nei Perle, kur map labai patogu naudoti vietoj for ciklo: @foo = map { $_ * 2 } @bar;

PHP neturi paprastų masyvų. Yra keisti asociatyvūs masyvai, bet su jų normaliai negalima nei shift’inti, nei pop’int. Galbūt aš per daug stengiuos kad PHP būtų Perlas, bet patys PHP kūrėjai pripažįsta, kad daug idėjų ėmė iš ten. Deja, kopija skiriasi nuo originalo.

O kas toliau? PHP5 labai keistai ir įtartinai panašus į Java. Kaip sau norit, bet tai ne mano svajonių kalba. Perl6 — visai kitas žvėris. Tai jau nebe kalba, o metakalba, suteikianti visišką laisvę programuotojui. Jei tik jis žino ką daro.

Columbia Shuttle tyrimas

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ą.

Pamąstymai apie #php tradicijas

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.

Naujos Microsoft buferio perpildymo klaidos

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

Socialinė inžinerija — lengviausias slaptažodžių sužinojimo būdas

Įdomus ir linksmas (na, kai kuriem… kitiem reikia stipriai susirūpinti) straipsniukas apie tai kaip lengva išvilioti iš darbuotojų slaptažodžius. Pasirodo, 90% žmonių pasako savo slaptažodžius jei jūsų paklausi labai sukto klausimo, kaip kad “koks jūsų slaptažodis?“. Negana to, jie dar paaiškina šio slaptažodžio kilmę ir išpasakoja kitas kompanijos paslaptis.

Nagi, nagi… O koks jūsų slaptažodis? ;)

Diena offline

Šiandien praleidau toli nuo interneto važinėdamasis dviračiu po Kauną ir keldamas avarines situacijas (taip, ir aš kartais turiu gyvenimą :)

Tiesa, esu patvarkęs svetainės kodą, ir galite jį atsisiųsti (ten jau su komentarais — gal ir ne visai stable, bet bent jau testing :)