Начало » 2005 май

PHP: PHP5 в Debian Pt.2

Силно съм разочарован от DotDeb. Не стига, че PHP5 пакетът им създава??е какви ли не проблеми, но последно и на testing не може да се инсталира, заради зависимостта от отдавна изчезналия пакет libmm11. ?? това откак качиха някакви пакети, за да заместят поне частично загубените при съсипването на сървърите им данни. За съжаление, от този момент насам - никакво развитие…

За да не си играя да компилирам от изходен код цялото PHP5 (и покрай това да инсталирам изли??но една камара development пакети), се обърнах към добрия стар apt-get. ??зточникът, който намерих там (макар и да не съдържа eAccelerator пакети) e:

deb http://people.debian.org/~dexter php5 sid php5-5.0.4-0.4

Радостен е факта, че, за разлика от DotDeb, тук са се съобразили с факта, че на една ма??ина може да има едновременно инсталирани PHP4 и PHP5, като двете не си пречат взаимно. Благодарение на това, човек спокойно може да си компилира и инсталира раз??ирения и за двете версии. Успе??но минаха експериментите, както върху дома??ната ми ма??ина, така и върху хостинга. Проблеми направиха само няколко чужди скрипта, който използват за индекси на масиви нововъведени запазени думи като “protected”, но това лесно се проверява с нещо от рода на:

find . -name '*.php' -exec php5 -l {} \;

Такъв е и случаят с eAccelerator, който се нуждае от преинсталиране. Това е естествено, предвид големите промени и нововъведения в PHP5 и в частност в Zend Engine. По същите причини се налага и повторно кодиране на PHP скриптовете, ако това е било направено - кодирането за PHP4 не е съвместимо с това PHP5. Промени има и по encrypt.php - работата на стария заблуждаващо минава без гре??ки, но такива се появяват по време на работа на кодираните скриптове.

Popularity: 15% [?]

Публикувано в вторник, май 31st, 2005, 7:50 pm от Valery Dachev в Development, Linux | Няма коментари »

Един за всички, всички за един

Все си мислих, че, за да ме избие на простотия, трябва да имам публика. Оказва се, че не тя е катализатора на тази моя дълбоко залегнала черта :). След късното лягане за семинара и ранното ставане за влака към София (или бе??е обратното ?), пътуването мина… някак безвкусно. Единственият ми план за деня си остана виждането с Христина, но уговорката остана за вечерта. Така че до към 19 се занимавах буквално с безсмислици (изчистването на стаята, в частност, също няма особен смисъл - така или иначе отново ще (за)прилича на кочина :)). Дъждът не благоприятства излизането веднага след появата и, а и благодарен абонат на мрежата ми подари бутилка ром (е, не бе??е червен Атлантик, но се оказа, че и бял Savoy Club вър??и работа), която в комплект с разредителите, които накупихме от Фантастико, просто ометохме. Тримата. Броим и Галин, който отново бе??е спрял да пие… от предната вечер насам :). Не знам какво провокира идиотизма ни… но от къщи започна да се носи наистина разнородна музика, а самите ние се развихрихме, меко казано. Ако съседите от отсрещния блок не са ни снимали, надявам се, няма снимков материал. Е, компроматите биха били засенчени от абитюрентките (или както Драо ги нарече - “ебитюрентките”) из София, но за това… по-добре да не коментирам - поредната индикация, че положението е много зле. В окото на торнадото, което бяхме заформили тук (зати??ието от липса на алкохол и цигари), ре??ихме да излезем все пак нанякъде. Черното в Строежа не ни бе??е по вкуса и се засилихме към Зимния дворец, за да видим какво става в Scream (идеята не бе??е моя !). Става въпрос за нещо около полунощ. На входа му засякохме Петър Пенчев в компанията на една млада дама устремени към кратка игра на дартс. Действието се развива няколко минутки, след като се били разоти??ли с Велин и Све, около 11 часа след пристигането си в София от семинара в Стара Загора и вероятно няколко часа преди да стигнат по домовете си :). Оказа се обаче, че Scream не работи и ре??ихме да се върнем към Строежа (слава Богу, Миленката отпадна като вариант, тъй като надутата там чалга бе??е обрала голяма част от селянията в Студентски град). Та… видях отново хубавичката барманка, която ми направи впечатление в четвъртък. Христина пък отбеляза (меко казано) симпатиите си към пича с музиката. Последният се оказа точен и се усети, че с черното, с което бе??е тръгнал, клиентела съвсем няма да остане. ??наче познатите лица не бяха много - само dgudgy и бив??ата съквартирантка на Люба (на която постоянно забравям името, въпреки може би трите ни запознанства). ?? двамата не бях виждал отдавна. Галин се прибра по-рано, а ние го последвахме към 2:30, когато ни дотегна и от бирата, и от музиката и от оскъдното обкръжение. Уви, не можахме да разпуснем като хората в танци, но явно ще е на следващо идване…

Междувременно, очертава ми се през уийкенда да ида нагости до Стамболийски. Ще ми се някак да се отърва от еднообразието - Стара Загора повля добре. А и компанията и новатата обстановка, мисля, ще ми дадат някаква отмора, а и тласък да се концентрирам след това върху работата и предстоящата сесия, по време на която наистина нямам грам понятие какво ще правя…

Popularity: 8% [?]

Публикувано в понеделник, май 30th, 2005, 5:53 am от Valery Dachev в Personal | Няма коментари »

Стара Загора

Обичам Стара Загора. Не бих казал, че заради ежегодните семинари на Линукс групата в България. Сигурно е заради дърветата по улиците, заради свежия въздух, заради кажи-речи чистите и красиви улици. Заради организацията на града всичко да е под прав ъгъл. Или покрай градинките, фонтанчетата… Страхотен град, особено в централната си част…

Обичам заралийки. Който каквото и да иска да приказва, обаче такава голяма концентрация от хубави жени на едно място рядко се среща. Днес обаче единственият, който забелазя това (всъщност, забелязваме го всеки път, когато сме там) беше Велин - съдя по хищните погледи, задържането на дъха и тежките въздишки :). Мъка, мъка… За съжаление, отново момичето, което така ми се искаше просто така да мерна по улиците, не можах да зърна. Само една нейна приятелка. Горе явно не ме обичат много…

Обичам “Загорка”. Това е просто моята бира. Звучи сигурно като реклама. Някой ще си помисли пък, че ме тресе вид “местен патриотизъм”. За кого била твърде горчива, за кого пък - излишно спиртосана (което пък им служи за оправдание за простотиите :)), а трети не я обичат от някакъв вид… фанатизъм.

Всъщност… денят започна рано. Оказа се, че началото не е в ЕДИНадесет, ами в ЕДИН. Та се започна на кафе и паразитстване с Илиян, Siskata и Жеко в Амадеус. Сервитьорката обвинихме, че русият цвят определено и отива, а мен набедиха за педофил. Еми… извинявам се, аз ли да си пускам дечицата така по улиците ?! ;-P Ха-ха ! Оказа се, че има и рали на ретро автомобили в града. Тях също загледахме :). Иначе по-голямата част от деня изкарахме в променлив състав по бири и мезе. Попропуснахме малко лекции - тази част посветени на посвещаването в свободния софтуер в университетите, но пък обсъдихме някои въпроси с по-практическа насоченост. В интерес на истината, опитът показва, че именно тези мероприятия (в това число и забавата на Езерото) помагат най-сериозно за текущите проблеми. А и за опознаване на населението на сладки приказки. Хубаво е да видиш редовни хора, познати лица… С Илиян откарахме до към 23 преди да си тръгнем. Малко проблемация беше намирането на такси към Казанлък на добра цена, но и с това се справихме ! :)

На сутринта ми предстои път обратно до София. Този път ще пропусна претъпкания в неделя следобеден бърз влак Бургас-София…

Popularity: 7% [?]

Публикувано в неделя, май 29th, 2005, 2:09 am от Valery Dachev в Travelogue | 4 коментара »

РЕТРОспекция

Музика: System of a Down - “B.Y.O.B.”
Настроение: главоболящо

Събуждам се. Възглавницата ми е странно завъртяна, оплетен съм в завивките. Клавиатурата е в леглото. Чатил съм. Така де… чатих. Явно аспиринът, който изпих, като се прибрах снощи, не е помогнал - главата ме поболява. Отново се изпратихме с Радост, която срещнах пред входа на блока. ??наче в Строежа бяхме само аз и Деан. Човечецът заминава към Щатите утре - до октомври няма да има с кого да простеем и обираме погледи на ретро парти… като това снощи. Още повече, че за пръв път ни събраха очите и то двама типа до нас на по 25. ??скам и аз да съм толкова изтрещял като тях - дивееха, говориха си на “Хюстън ! Там ли сте ? Приемам, край !” със сламки, задаваха ??еметни въпроси и правиха идиотски констатации… Класно! Не знам как се навих обаче да отида там, но не съжалявам. Деан се изсипа вкъщи, ей така преди заминаването. Мислих, че ще направи купон, но явно са си правили купонче предната вечер само с някаква девойка :). Ло??о нема. Аз пък посвър??их малко полезна работа и след малко ще кача плодовете на своя труд. Преди това пък разкарвах лаптопа на баща си в сервиза на Мултиелектроникс, от където ми заявиха, че не съм единствения клиент с напукан капак, но капаци сега нямало, но щели да ми се обадят, като получат нови, по-читави. Сетиха се - две години, след започнаха да продават тези ма??инки. ??наче отново бях станал прекалено рано (както и днес). Отчаяно се опитвам да си оправя ритъма на живот - да си лягам и ставам во време, вместо да се прозявам по цял ден. Не се получава.

Към 12-13 смятам да си хвана автобуса към Казанлък. Вечерта съм запланувал разходка из Розе с Катя. ?? на Христина да се пнадя, но не знам кога ще стане. С останалите ще сме така или иначе заедно на семинара на LUG-BG в Стара Загора. Покрай него - редовният запой на Езерото. Алкохолен завър??ех на седмицата явно…

Popularity: 7% [?]

Публикувано в петък, май 27th, 2005, 9:25 am от Valery Dachev в Personal | Няма коментари »

Зоо

Май се понаспах. Въпреки това прозявката и протягането ми като че ли започват да стават хронични :). Работа не липсва, но гледам да не се претоварвам. ??ли по скоро да не се натоварвам. Даже въобще да не се натоварвам.

По тоя повод изкарах деня в ??ляене - нещо, което с Джани отдавна бяхме запланирали, макар и без да е било нещо конкретно. В общи линии на момента ре??ихме, че ще идем до Софийския зоопарк. Цяла срамота си бе??е, че за толкова време в София, не съм посетил най-голямата зоологическа градина на Балканския полуостров, при все че ми е на две крачки разстояние от Студентски град. Лично аз обаче наистина не очаквах чак такова разнообразие, особено що се отнася до всякакви влечуги, птици и риби. Нелепите чупки и физиономии, които правят маймуните, както и човекоподобните им жестове (като “че??а си топките” и “претърсвам другарчето за въ??ки”) действат адски разлигавящо :). За съжаление, дъждът ни хвана доста неподготвени, но успяхме да огледаме сигурно повече от половината животни. Друг е въпросът, че на спирката вече приличахме на излезли от някой от аквариумите в зоопарка :).

Всеизвестно е, че на зоологическата градина в последните години не и достигат средства за издръжка на животните. Радващо е, че не малка част от тях за “осиновени” от различни фирми и лица. Бие също на очи, е, че някои от тези организации са всъщност училища (където финанси също не достигат). Евала за това. Пък и ако други (било то и някоя “световно неизвестна” за мен поп-фолк певица) си правят реклама по тоя начин, ло??о съвсем няма.

Та…. останалата част от времето прекарахме в билярд и дартс в Sofia Land, както и на Counter-Strike в някакво клубче в Гео Милев. Последното играхме с някакви хлапетийчета, като доживях някакво момченце на сигурно 9-10 годинки (освен другите изцепки в рамките на самата игра) да изръси “Довиждане, слядурчета!”. Тия дни Robert Plant ли не бях, на Стоян Михалев ли не ме оприличиха, ся и “слядурче” станах… Накъде сме тръгнали, къде отиваме… :-P

Popularity: 8% [?]

Публикувано в сряда, май 25th, 2005, 10:12 pm от Valery Dachev в Travelogue | Няма коментари »

Being Away

Current Music: System of a Down - “Radio-Video”
Current Mood: drowsy

I’ve been offline these days. My Russian grandma came to visit us and we spent the last weekend crossing South Bulgaria. I hadn’t been in Haskovo for about two years and it hasn’t changed much - same shit. I’m sorry. It’s just not my type of city. Kazanlak and Sofia aren’t, too, be cool. However, we did it to Perperikon. It’s a historical hill located in East Rodopi, 40km south of Haskovo. Ruins of two civilizations - victims of time. Signs of past lives. Resurrections in a fantasy. Gentle winter swishes through the trees. I’m planning a photoblog…

I used the time to take a breath. I realised the mistakes I used to make over and over again and yesterday. I hurt people, but I don’t want to. Somebody said that “memory is what makes us recognize our mistakes, after we’ve went over them”. Well, I think I recognized them… once again… I’m sorry.

I feel thankful about people who understand me and who help me understand myself…

Popularity: 10% [?]

Публикувано в сряда, май 25th, 2005, 9:15 am от Valery Dachev в Personal | Няма коментари »

Same Shit, Different Color

??мам свойството да повтарям гре??ките си - паметта ми ми изневерява или какво… За сетен път се убеждавам, че не ми е времето да се обвързвам. Може би не съм готов, може и никога да не бъда. Във всеки случай не ми се правят експерименти. не че бе??е такъв. Просто надежда, че съм се променил. Еми не съм. Моите извинения към всички, които ги заслужават.

??нтересно е, че и гре??ките на хората спрямо мен стават вече банално еднакви, покрай което се вдигнах срещу забравата. После пък ре??их, че е безсмислено (или по-скоро безнадеждно), и се кротнах. Ре??ил съм тия дни да направя черен, сив и бял списък на хората край мен. Наблюдава се сериозно движение в посока към черния списък. Здраве да е.

??наче изпратихме баба към летището. Лъсна фактът, че за няколкото дни, в които не бях в Казанлък, са успели да си полазят по нервите с майка ми. Не че ме учудва - голямата част от семейството ми е очевидно за психиатрия. Но е дразнещо и глупаво. ?? без това нямаме много време заедно, но… толкова им бил багажът… колкото и грубо да звучи.

А напоследък наистина съм загрубял в приказките… привидна безчувственост. Ще ми се да е така. Със Сис днес обсъждахме това, че като тийнейджъри сяка?? повече ни се отдава??е да махаме с ръка и да загърбваме нещата, които ни тежат. Вероятно наистина порастнахме и вече не сме толкова наивни да вярваме в себе си…

Popularity: 7% [?]

Публикувано в вторник, май 24th, 2005, 9:40 pm от Valery Dachev в Personal | 4 коментара »

Перперикон

Свиквам със ??офирането и пътят до Хасково (на драовски - “Каунюу” :D) не бе??е кой-знае колко натоварващо. Може би защото успях да се наспя. ??ли пък защото по пътя си бъбрихме много сладко (макар да бяхме в намален състав - аз, баща ми и баба ми (руската :))). За пръв път посещавах и вилата на братовчедите си в покрайнините на града (макар да е готова от около две години). Добре са се устроили - напълно разбирам защо са се изнесли да живеят там. Въпреки това Хасково продължава да не ме кефи. С риск да обидя някого, но и там селянията е настъпила доста от хората - това абитюренти в 20:00 вече да си подвикват на “пу*ко” (на дали са се напили толкова до това време)… а мислих, че там хората си говорят на “каун”. Самата вечер искарахме в едно приятно ресторантче “Пещерата” с българска, китайска, италиянска и турска-ориенталска кухня…

По някое време сутринта се надигнахме и.. към Перперикон. Стра??но впечатлен съм, наистина. Не само защото природата в този район е невероятна, а и е стра??но вълнуващо да попадне?? сред руините на няколко цивилизации и въображението ти да ги построява отново. Респект от историята, която нечии ръце са построили там… Резултатът (освен страхотно изкараното време) е близо 130 Мб и още три ленти снимки. Част от тях смятам да кача някъде. Даже сериозно обмислям да пусна свой фотоблог, още преди да съм се сдобил със собствен цифров фотоапарат. Но това по-нататък…

Последва следобедно пъте??ествие до Бояджик. След това вече бях изтощен и може би затова изкарването с роднините там ми се стори леко отегчително и предпочитах да занимавам главицата си с невронни мрежи и работа, пред това да правя калпави българо-руски и руско-български преводи. Днес вече бързах да тръгнем. Още повече, че се зарибявам наистина със ??офирането. Даже из Казанлък след това се разтиках (покрай, че трябва??е да преинсталирам прословутия amd64 с гръмкото име Corwin). ?? пак ще го направя след малко, когато закарам гостите на ритуалното изпращане на баба ми, която отлита утре по обед с полет към Москва. Останалата част от деня предстои да бъде изпланувана в последствие. Вечерта явно ще премине в настройване на Corwin…

Popularity: 7% [?]

Публикувано в понеделник, май 23rd, 2005, 8:32 pm от Valery Dachev в Travelogue | Няма коментари »

Напред-назад

Преди около два часа се прибрах в Казанлък. Този път да обърна внимание на баба си (руската). А след още два отлитаме към Хасково на вилата на братовчедите, а утре - отново към село. Вдругиден - обратно към Казанлък, а във вторник сутринта - в София. Цялото това пътешествие се очертава доста скучно, предвид че и лаптопа няма да взема. Така съм се зарибил с работа, че само обекти, релации, персистенции, интерфейси, и т.н. простотии са ми в главата. Получих си съответните (и заслужени) упреци междувременно. Стигнах до там, че да пиша PHP код на листче във влака. За съжаление, не е много резултатно - на компютър напредвам значително повече. Зарекъл съм се да попрегледам документацията на MySQL, за да видя дали VIEWs няма да ми свършат някаква работа.

Намерих и време и да поизляза, за да се видя с народа (Драо, Илиян, Веско, Тушето, жената на последния…), а и да заредя с парички (все не ми излизат сметките напоследък). Вчера са ходили на дискотека, но явно не е било кой знае колко голямо събития - нямаше коментари по въпроса. Ще взема и аз да го направя този номер, но явно ще е другата седмица. И без туй ми предстои ново прибиране тук покрай тазгодишния семинар на LUG-BG (силно препоръчително събитие).

Както и да е… влизам в банята, за да не тръгна към Хасково съвсем вмирисан… :)

Popularity: 8% [?]

Публикувано в събота, май 21st, 2005, 1:59 pm от Valery Dachev в Personal | Няма коментари »

Персистенция

Дойдоха ми в главата няколко идеи за преправяне на проекта ми. Основното си остава персистенцията (един вид съхраняването) на класовете данни (в моя случай) в релационна база данни. В Java за целта съществува “Hibernate” - проект, за който Лъчезар Добрев бе??е изкарал много добра лекция по време на един семинар на БАРС (на практическата част, уви, не можах да присъствам). Хората са се втурнали неслучайно да пи??ат подобно нещо и за .NET Framework. Подобни наченки има за PHP, но все нещо им куца (може би ще се хвана да направя преглед на няколко от тези проекти). Трудността в написването на ne]o такова за PHP се състои в слабата обектна ориентираност на версиите на PHP преди PHP5 - калпаво онаследяване на обектите, липсват статични методи и обекти, както и контрол над достъпа до тях, няма изключения (Всъщност за нововъведенията в PHP5 бях писал някъде из блога си преди време). Ползата от този подход, освен в спестяването на значително количество код, е в няколко други важни насоки: унифицира се работата с различните обекти, а прехода към друга база (или боза) данни (например от MySQL към PostgreSQL в моя случай) става с промяната само на класа за персистенция.

Блъскам си главата аз в написването на собствен клас за персистенция на данни (не че ще направя нещо кой-знае колко значимо де :D) и ми се ще??е да заблъскам и нечия друга глава в това, че да не си товаря само аз мозъка (макар че други къде-къде по-компетентни от мен със сигурност са си бъркали сивото вещество с тия неща :)). Това, което си направих аз: обект Persistent, който оперира с базата данни чрез методи като insert(), update(), delete() и select(). Всички обекти онаследяват Persistent. Всяка инстанция на такъв обект съответства на ред от таблицата, описанието на която конструкторът на обекта подава като параметър на конструктора на Persistent (доколкото това става експлицитно поне в PHP4. ToDo: да се направи съвместимо с PHP5). Този простичък механизъм покрива до голяма степен нуждите за работа със самостоятелни обекти (в моя случай засега на 5 от общи 19те класа, с които работя). Да се покрие обаче по-голяма от “простичката” функционалност не е тривиална и изисква солидна доработка. Къде са проблемите:

  • Всяка инстанция на обекта всъщност е ред от съответната таблица. Какво става обаче, когато трябва да обновя няколко реда отговарящи на някакво условие ? Нормално, пи??е се един статичен (или в случая с PHP4 - просто) обект, който да го прави. Обаче имаме инстанции на този клас, които съдържат данни. Те трябва да бъдат подменени, а няма как да се знаят всички инстанции от този клас. В този случай (както и при повечето, когато ни липсват статични методи и полета) може да се направи глобален масив (който може да изпълнява ролята на ке??), където да се съхраняват данните от базата, а полетата в класовете да бъдат references към тези данни. Така метода просто трябва да извър??и същата операция върху данните от “ке??а”. Получава се обаче изли??но натоварване. Още повече, че няма гаранция дали нещо друго няма да пипа по таблиците и това да направи данните в ке??а несъответстващи на тези в базата. Отчасти причина за този проблем е липсата на някакъв application server и механизъм, чрез който trigger да задейства изчистването на ке??а в него. Тук ре??ението ми се замъглява.
  • Една много важна думичка в термина “релационна база данни” е думичката “релационна”. Нека искам да взема всички продукти в дадена категория. Доколкото продуктите могат да бъдат в няколко категории едновременно, тези релации се описват от отделна таблица, а заявката, която трябва да сглобя, трябва да минава през съответната таблица. В този случай ре??ение още не съм си намерил. “Простичкият механизъм” не вър??и работа, тъй като трябва да има не просто описание на таблицата, ами и релациите с други таблии и начина, по който става това. Начинът, по който ще се зададе условието пък ми е още по-любопитен (ToDo: да видя как са го направили умните хора с Hibernate). От доста време се каня да разчовъркам LDAP. Може би ще се окаже по-елегантен метод за персистенция.
  • Аз лично имам навика да съхранявам картинки по базите данни. Това значително олеснява преместването на системата от една на друга ма??ина. Какво обаче става при персистенцията: създавам инстанция на някакъв клас “image” с определен ключ (стойността на първичния ключ в таблицата). В този момент целия ред от таблицата се издърпва, което включва и самата картинка ! ??зли??но хабене на памет, ако тя може въобще да не ми е нужна (например искам да сравня големината на картинката в ке??а на файловата система, с този в базата данни). Това изисква специално третиране на такива полета и, ако това специално третиране не стане в класа за персистенция, погазва всякаква унификация за работа с данните от класа.
  • Друг проблем е самия брой на заявките към SQL сървъра. От една страна, повече заявки гарантират съответствие на данните в него и тези в PHP скрипта. От друга обаче, повече заявки означават по-голямо натоварване. Този проблем пък е пряко свързан с това доколко са атомични операциите, които се извър??ват от обектите, за да може вътре в самия клас за персистенция да се включи използването на транзакции или заключване на таблиците, като по-голяма гаранция, че данните SQLа не са подменени от друг процес.

Мисля все пак, когато довър??а въпросния клас за MySQL и направя още един за PostgreSQL, да ги публикувам под BSD лиценз. Току-виж свър??или некому работа…

P.S. Не знам дали е заради тези неща, но пак ми расте мъдрец. Блаф !

Popularity: 6% [?]

Публикувано в четвъртък, май 19th, 2005, 11:33 am от Valery Dachev в Development | Няма коментари »

« Предишни публикации