Suimtas MSBlaster.B kūrėjas

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ą
smūgį
). Kiek pamenu Slashdot diskusijoje irgi dominavo
nuomonė, kad MS virusus kuria ne kokie linuksistai, kurie norėtų taip
diskredituoti Windows saugumą, o vaikai Microsoft fanatikai su
nusipiratautomis MS Visual Studio kopijomis savo rūsiuose.

Beje, šito vaikio pravardė buvo t33kid (kitur –
teekid). Ot skript-kiddies su savo
leet-speak.

Susinervinau

Vat sėdėjau visą 40 minučių ir rašiau ilgą dienoraščio įrašą apie tai kaip lietuviškose interneto svetainėse retai tikrinami kintamieji gaunami per GET, POST, COOKIE ar kitokiais būdais iš vartotojo (su realiai egzistuojančiais pavyzdžiais, mandagias programutojų, kurių kodą paveldėjau, keiksnojimais bei patarimais kaip filtruoti viską ką gauni iš vartotojo) ir
netikėtai dingo elektra. Neilgam, kokiai 10 sekundžių :F. Tad straipsnio nebus :) Gal kitą kartą :)

Nežymūs WAP pakeitimai

Š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.php.lt/blogs/

Galvosūkiai su ++

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
Perlas – 3 3 3. Paaiškinti KAIP tai įvyksta
ant Perlo nesunku, bet KODĖL yra sunkiau (dokumentacija rašo, kad
tokiais atvejais rezutatas gali būti neapibrėžtas – tai yra vieną
kartą būti vienoks, o kitą kitoks)

moxliukas@www:~$ perl -MO=Deparse,-p
$a = $b = $c = 1;
$a = $a++ + $a++;
$b = $b++ + $b  ;
$c = $c   + $c++;
print "$a $b $c
";
^D
($a = ($b = ($c = 1)));
($a = (($a++) + ($a++)));
($b = (($b++) + $b));
($c = ($c + ($c++)));
print("$a $b $c
");
- syntax OK

lietBLOGS WAP versija

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,
tikiuosi tai bus pataisyta. WAPinę versiją kol kas galite pasiekti http://lietuvoje.lt/~moxliukas/wml/index.pl.
Pradinį kodą galite parsisiųsti iš http://lietuvoje.lt/~moxliukas/files/lietBLOGS-wap-030826.tar.gz.

Išleistas PHP4.3.3

Š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…

Komentarų jubiliejus

Š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 |
+-----------------+------+

PHP simbolis – drambys?

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
„didelis“ tad gal čia norima pasakyti jog PHP yra daug kur
naudojamas daiktas. Hmm, nežinau.

Tiesa, tokie pamąstymai visiškai pasikeitė, kai tik pamačiau tą tikrąjį
dramblio logo
. Neatrodo jis nei didelis, nei nejudrus. Kaip tik,
atrodo jame amžinai įsispaudusi idiotiška šypsena ir pakelta uodega
sako, jog „esu dar mažas, ir atleiskit jei ką pridirbau“.
Na, bet iš manęs meno kritikas menkas, o apie marketingą irgi mažai ką
nutuokiu. Dar galėčiau pasiskųsti apie baisų phpclasses.org dizainą, pilną keistų
reklamų, mirksinčių daiktų ir reikalavimų registruotis norint siųstis
nemokamas klases, bet reikia eit dirbt ;)

Rikiavimas Ruby kalba

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)

Rikiavimas su funkcija:

a = [0,3,5,3,1,2,4,6,2,4,5,7,3]
a.sort! { |x, y| x - y }
a.each{|i| print i, ' '}

Hešų masyvo rikiavimas:

a = [{'item' => 6, 'zodis' => 'ka'},
     {'item' => 2, 'zodis' => 'kva'},
     {'item' => 5, 'zodis' => 'kre'}]
a.sort! { |x, y| x['item'] <=> y['item'] }
a.each{|i| print "item: #{i['item']}, zodis: #{i['zodis']}\n" }

Objektų rikiavimas:

class Objektas
def initialize(skaicius) @skaicius = skaicius end
def kasastoks() print "Esu objektukas nr. #{@skaicius}\n" end
def skaicius() @skaicius end
end
a = [Objektas.new(3), Objektas.new(2), Objektas.new(19), Objektas.new(1)]
a.sort! { |x, y| x.skaicius <=> y.skaicius }
a.each { |i| i.kasastoks }

Verta pažymėti, jog Ruby laikosi visų objektinio programavimo principų, ir visi klasės kintamieji
yra privatūs (t.y. skirtingai nuo Python, juos galima pasiekti tik iš pačios klasės aprašymo)