FreeBSD laikas ir data

January 25th, 2007

Tikriausiai daug kam tenka susidurti su tuo, kad kompiuterio laikrodis kartais daro šiokią tokią paklaidą.

Yra labai paprastas sprendimas – NTP (Network Time Protocol). Tiesiog įrašykite tai į root’o crontab’ą:

0 * * * * /usr/sbin/ntpdate europe.pool.ntp.org > /dev/null

Prisiminiau tai, nes eilinį kartą prireikė laiko korekcijos vienam serveriui.

Atnaujinimas į Wordpress 2.1

January 24th, 2007

Taigi atsinaujinau :) Didžiausi pasikeitimai administracijoje.

Teko pasikeisti skin’ą į standartinį, nes manasis kažkodėl tai nelabai draugavo su 2.1 – dingo meniu, archyve rodė puslapius.

De Havilland Mosquito Mk XVIII

January 24th, 2007

Pagaliau pribaigiau vieną iš pirmųjų modelių, kurį nusipirkau prieš gerus metus. Tas pribaigimas buvo toks, kad reikėjo užklijuoti decal’us.

O šiaip modelis nudažytas kelis mėnesius buvo įkištas į lentyną.

Išdirbtas ne iki idealumo, tad atsiprašau iškart tų, kurie prie to prikibs :)

img_3082.jpg img_3083.jpg img_3084.jpg

PHP Fatal error: [Zend Optimizer] Zend Optimizer 3.2.0 is incompatible with eAccelerator

January 15th, 2007

Senokai naudoju eAccelerator ir esu labai patenkintas jo rezultatais.

Atėjo diena, kai vienam web’ui prireikė Zend Optimizer’io, nes jis užkoduotas su Zend Guard’u. Pagalvojau, kad jokių problemų neturėtų kilti – tiesiog sukišiu ZO ir viskas veiks (seniau yra tekę bandyti tai padaryti, deja, paaiškėjus, kad ZO tik viską labiau sulėtina teko atsisakyti ZO ir džiaugtis tik eA).

Taigi aš ramiai suinstaliuoju ZO iš FreeBSD port’ų ir pasileidžiu PHP CLI, kad pažiūrėčiau, ar viskas OK.. Va tada mano 3 minučių darbelis tapo geros valandos darbu:

PHP Fatal error: [Zend Optimizer] Zend Optimizer 3.2.0 is incompatible with eAccelerator

Pasirodo, naujoji ZO versija nebedraugauja su eA. Zend’o atstovai tai aiškina taip:

Zend Optimizer is not compatible with eAccelerator – both this extensions do operations on the PHP binary code and cannot co-exist.

Bet man tai atrodo keistai, nes seniau juk viskas veikė OK ir niekam niekas netrukdė. Greičiausiai tai kažkokios komercinės priežastys :)

Galimybės naudoti senesnę ZO versiją aš neturėjau, nes ji nepalaiko PHP 5.2, o ZO reikėjo tuoj pat, tad pradžiai tiesiog išmečiau eA. Vėliau nusprendžiau paeksperimentuoti su FastCGI ir pabandyti ZO naudoti tik tuose virtualiuosiuose serveriuose, kuriems yra ZO poreikis. Gan greitai tai pavyko :)

Truputėli paskaitinėjęs medžiagą internete perkompiliavau PHP su FastCGI palaikymu ir suinstaliavau mod_fcgid. Konfigūracija buvo gan paprasta.

Į bendrus serverio parametrus užteko įrašyt štai ką:

LoadModule fcgid_module libexec/apache22/mod_fcgid.so

<Directory /usr/hosting/new.autosara.com/www>
AddHandler fcgid-script .php
FCGIWrapper /usr/local/bin/php-fcgi .php
Options ExecCGI FollowSymLinks
allow from all
</Directory>

Taip pat teko sukurti /usr/local/bin/php-fcgi shell skriptą su tokiu turiniu:

#!/bin/sh
PHPRC=”/usr/local/etc/php/virtualusserveris”
export PHPRC
PHP_FCGI_CHILDREN=8
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_MAX_REQUESTS
exec /usr/local/bin/php-cgi

Iš esmės skriptas buvo reikalingas tam, kad be vargo būtų galima priskirti aplinkos kintamuosius su man reikalingais parametrais. Atkreipkite dėmesį į PHPRC, kuris nurodo, kur ieškoti php.ini failo.

Rezultatas buvo tas, kad konkrečiam virtualiam serveriui galėjau nurodyti jam skirtą php.ini failą. Taigi bendras php.ini krauna eA modulį, o kitame php.ini faile yra kraunamas ZO modulis.

Pentium 4 2.8 GHz vs. Core 2 Duo 6400 2.13 GHz

January 12th, 2007

Tai nėra kažkoks rimtas testas ar šiaip bandymas, bet šiaip asmeninis pastebėjimas apie realią situaciją.

Šiandien prireikė brute force’inti vieną MD5 hash’ą su mdcrack’ų. Greičio skirtumas buvo stebinantis, tad nusprendžiau apie tai parašyti :)

P4:
Collision(s) tested : 989092622 in 270 second(s), 788 millisec, 828 microsec.
Average of 3652634.7 hashes/sec.

Core 2 Duo:
Collision(s) tested : 989092622 in 99 second(s), 727 millisec, 317 microsec.
Average of 9917971.0 hashes/sec.

Be to, kiek žinau, tai mdcrack’as nemoka išnaudoti abiejų branduolių vienu metu :) Taigi viskas akivaizdu…

eAccelerator 0.9.5-RC1. Jis grįžo :)

August 1st, 2006

Seniau rašiau, kad teko išmesti eAccelerator’ių dėl pastebėtų negerų dalykų.

Pasirodžius Release Candidate 1 versijai nusprendžiau vėl jį išbandyti ir pažiūrėti, ar man ramybės nedavę bug’ai yra ištaisyti.

Read the rest of this entry »

Framework’o evoliucija (jis vis greitesnis ir funkcionalesnis)

July 19th, 2006

Viskas prasidėjo labai labai seniai… Kai music.lt buvo perrašomas iš pagrindų. Reikėjo framework’o. Jis atsirado. Tobulėjo… Išsiplėtė… Tada jis tapo ir www.erdves.info pagrindu.

Visoje šioje istorijoje taip pat rastume kokius 4 radikalius framework’o perrašymus…
Galų galiausiai teko atsisveikinti su PHP4 ir pereiti prie PHP5… Viskas tiesiog tobulėjo :) Ir dabar yra tai, kuo aš džiaugiuosi! :)

Read the rest of this entry »

Waterproof PHPEdit – gėris

July 13th, 2006

Pagaliau išėjo 2.6 BETA! Pagaliau yra UTF-8 palaikymas, todėl visiškai pereinu prie šio redaktoriaus.

Taip pat nusprendžiau legalizuotis ir gavau nemokamą Personal licenziją :) Neribotam laikui… Užteko tik parašyt trumpą motyvuotą laišką programos kūrėjams.

Išmečiau eAccelerator’ių

July 3rd, 2006

Kiek seniau teko naudoti eAccelerator’ių, tai jis buvo tikras gėris. Bet, perėjus prie PHP 5.1.x išlindo bug’ai – eAcceleratorius vis crashin’a apache procesus. Žinoma, tai nebūtų labai baisi problema, jei crash’ų būtų vos keli per dieną, bet jie vyksta kas minutę, tad teko jį tiesiog išmesti. Teks laukti naujos versijos, kuri oficialiai palaikys PHP 5.1.x. Nors tikriausiai tada rinkoje jau bus PHP 5.2 :) Kiek žinau, tai sekanti versija ir bus būtent PHP 5.2.

Žinoma, būtų galima naudoti ir senesnę PHP versiją, bet mano projektams būtinai reikia minimum 5.1 versijos. Tikiuosi, kad neteks daryt atnaujinimų į 5.2 vien dėl išlindusių kritinių klaidų. Bet… Pastebėjau, kad PHP 5.1.4 apache modulis turi problemų su shared memory management’u ir neveikia normaliai kartu su tais moduliais, kurie irgi naudoja shared memory. Pamatysime. Gal visgi bus 5.1.5? Mažai tikėtina, nes CVS’e tokio branch’o jau neliko. P.S. su PHP 5.2 CVS’ine versija tos klaidos nepastebėjau.

Dan Brown “Meteoritas” (Deception Point)

July 3rd, 2006

Šiandien baigiau skaityti Dan Brown’o “Meteoritą”. Tai jau trečia mano perskaityta šio rašytojo knyga (jau skaičiau “Skaitmeninė tvirtovė” ir “Angelai ir demonai”). Reikia pripažinti tai, kad rašytojas tikrai puikiai moka perteikti įtampą, veiksmą, veikėjų jausmus ir t.t. O dar daugybė intrigų ir mįslių tiesiog prikausto prie šios knygos. Tiesą sakant, tai vakar pradėjau – šiandien baigiau, nes negalėjau atsitraukti.

Bet, nepaisant visų gerų dalykų, man jau pradeda atsibosti kiekviename romane pasikartojantis toks pat stilius ir vos ne toks pat scenarijus: veiksmas vyksta greitai (kelionės, įtampa, mįslė po mįslės), dviveidžiai veikėjai, saugumo tarnybos, organizacijos ar institucijos apie kurias žino visas pasaulis, viskas prasideda tam tikro asmens mirtimi, o baigiasi pagrindinių veikėjų susitikimu lovoje. Visuose romanuose tas pats.

Liko tik “Da Vinčio kodas” – gal jis bus įdomesnis? :)