Optimizavau Ruby
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…
Perl vs PHP vs Ruby
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…
Įpraiškų greičio testai
Š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…
Brodvėjus ir girtuoklystės
Na sėdžiu Brodvėjuj , bet kaip tikras kompiuterastas webloginu per mobilką. Vadinkit mane išprotėjusiu. PS. mergos aišku nenukabinau ;)
Prisiminiau Ruby
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…
LiveJournal sistema ir jos problemos
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…
Simon Willison: CSS mokslai tęsiasi
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.
Išleista Mozilla 1.4 RC1
Šiandien išleistas Mozilla 1.4 RC1, taigi Mozilla 1.4 jau išlipo iš beta stadijos. Pagrindinis pagerinimas yra galimybė naudotis MS Proksiais (tai labai svarbu didelėse korporacijose, kur iki šiol dėl MS proksių reikdavo naudoti tik IE). Aišku kaip visada krūva kitų nedidelių pagerinimų. Tiesa, kažkodėl visa 1.4 serija man neveikia ant WinXP namie :/ Reikės pažiūrėt, gal jau čia pataisė (nors jaučiu kad problema pas mane su Windowsais)
Pagaliau tvarka su webserveriu
Lyg atkasiau kodėl Apache naudojo seną perl versiją – pasirodo mod_perl buvo instaliuotas per apt-get ir ten su juo sunkoka susitvarkyt kartais buvo (pasirodo kompiliuotų paketų sistema ne visada geras dalykas). Žodžiu išėmiau paketus, sukompiliavau viską per sourcus. Viskas veikia šauniai ir turėtų bent jau teoriškai greičiau veikt, nes bent jau kodas dabar optimizuotas i686 o ne i386. Prie viso šito dar susidėjau ir mod_ruby. Nežinau ar jį kur panaudosiu, bet tai vis lieka mano planuose ;)
Išleistas PHP4.3.2
Šiandieną išleistas PHP4.3.2. Kadangi php.lt iki antradienio negyvas, tai galvoju bent savo webloge apie tai parašysiu ;) Faktiškai 4.3.2 yra pilnas bugfixų ir kitokių dalykų (atrodo radikaliai niekas nepasikeitė, tokių dalykų kaip register_globals pokytis lyg išvengta). Šioje versijoje pataisyta keletas buferio perpildymo klaidų, perdarytas Apache2.0 SAPI modulis, atsisakyta palaikyti GD1.x.x (nuo šiol tik GD 2.x.x) Windowsuose, parašytas man puslapis PHP CLI ir daug kitokių visokių vabaliukų išgaudymų. Parsisiųsti galite iš čia, Changelogą rasite čia. Skaityti toliau…