Skip to content


Топ 5 на най - грознo съчетаваните женски дрехи и аксесоари

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

Както всички знаем за доброто ни настроение през топлите месеци главна роля играят представителките на нежния пол. Нямаше просто как да пропусна да им посветя този “първи” post след зимната пауза.

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

След тази малка застраховка и вече убеден , че към мен няма да полетят десетки обувки с дванадесет сантиметрови токове, мога спокойно да вдигна завесата. В анотацията споменах женско облекло… Редно е да доуточня, че не става въпрос за умението на нашите сънароднички да привличат мъжките погледи. В това повечето от тях са специалистки и нямат нужда от допълнително четкане ;)

За съжаление обаче във всяко стадо има черни овчици и днес ще поговорим за тях. Тази зима явно бяха се развихрили или просто имах мал шанс, но видях наистина плашещи модни комбинации. Излишно е да казвам, че след тези преживявания вече не съм същият…

Определено ми костваше доста усилия да систематизирам всичко в някаква форма на “класация”. В следващите редове ще се опитам да резюмирам хаотичните си мисли, които се явявят отново и отново при вида на тези шедьоври на човешката креативност и усет за красота. Но стига празни приказки:

5. На почетното пето място реших да поставя преоткритите панталони, стигащи до бюста. През последните месеци модните бутици изобилстваха от всякакви вариации на това предизвикателно облекло. За съжаление то определено не приляга на всяка девойка, освен ако целта не е бил ефектът на “ходеща делва” :) Тези костюми са в състояние да съсипят вида на иначе доста прилично изглеждащи момичета.

Едно мъничко съветче от мен: Мили дами, тези панталонки изискват най - малкото височина и добри пропорции. Определено не са за масова употреба, пожалете ни! :)

4. Не си мислите , че можем да пропуснем някой от двата любими аксесоара на жените, а именно коланите.

За мен лично коланът е черешката на всeки завършен външен вид. Има стотици ( хиляди ? ) модели кой от кой по - екстравагантен, но уви на някои девойки умението им за комбинаторика просто липсва.

На няколко пъти се разминах с дами облечени в ефирни роклички, очертаващи всяка гънка от прелестните им тела. Всичко би било супер ако 60 сантиметрови широки коланчета не превръщаха досега изградения живописен портрет в карикатура…

3. Ботушите на мики маус :) Къде без Мики Маус ? Безпорно лайт-героят на Дисни стои сладко на всякакви дамски облекла…Както знаем обаче изключенията само потвърждават едно правило :)

В случая вниманието ми привлякоха “рибарски” ботуши, жълти на цвят, с цялата разноцветна плеяда герои на Дисни по тях…

Ако бях ги видял на дете, нямаше да е толкова тежко , но на краката на “стилно облечени” жени, които вървят с високо вирнат нос и претендират да бъдат сериозни…spare me!

(За съжаление не успях да номеря снимка на това, което видях :( Предполагам google bot-а пропуска да ги индексира…Все пак представените две снимки в комбинация могат да ви дадат идея как изглеждат :) )

2. Безспорно борбата за първото място беше ожесточена. Докато предните три (или хайде , два ) модни артикула могат все пак да бъдат съчетани от дама с усет и стил, то това е абсолютно невъзможно с нашите “първенци”. Представям ви подгласника в Класацията: женските дънкови панталони с ниско дъно.

R’n'B fashion (май така беше) на Мишо Шамара едно време пасти да яде…През живота си не съм виждал по - ужасно облечени жени и такова…”нещо”, което напълно би ме отказало да искам да го съблека от момиче по какъвто и да е случай…

1. Там тараааам….И носителят на златната карфица, аксесоарът способен да съсипе всеки тоалет, обувките на бъдещата ми жена ( със сигурност ако някое момиче успее да ги съчетае, ще си помисля дали не трябва да се оженя за нея…), представям ви “косматите ботуши“.

Тази зима срещнах дозина дами, горди собственички на тези иначе толкова стилни ботушки. Все едно се разминавах с Чубака от Star Wars…тези ботуши наистина успяха да убият всичко детско в мен.

Като напълно амодерен тип аз не мога и не се наемам да оценя достойнствата им. Предполагам , че имат такива, щом изобилстват по магазините и има толкова различни модели. Във всеки случай, ако не друго - надявам се , че поне топлят :)

Със сигурност обаче обувките на Йети спечилиха едно и то е първото място в нашата малка класацийка. По грозота и отвращение се конкурират жестоко с дънковите панталонки, но тяхната масовост успя да им спечели приза.

Три пъти ура!

Толкова за днес, очаквайте скоро класацията за очила :P

Posted in Lifestyle. Tagged with , , , , , , .

“Хайде на протест!”

Вече няколко дни тече масовата кампания за големият зимен лагер пред парламента. Колкото и да се старае човек да се отдръпне от всичките глупости, няма къде да се скрие просто…Ето защо ще се наложи да ви занимая с личната ми позиция по въпроса ;)

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

За съжаление България != гражданско общество…(ако някой успее да докаже тъждеството, печели бира и колекция дискове от поредицата “Живота в България през последните 20 години и още нещо”)
И тъй като няма гражданство общество някакси този протест, символ на консолидираните сили на българина и новоевропееца борещ се да промени гибелния курс на политиката и същевременно да издейства по - ниски цени, сто пъти по - високи заплати, безплатно отопление и алкохол…, не ми се връзва. Oчаквам с нетърпение да се появят новите “спасители”, които ще ни обясняват колко много лоши неща са ни се случили, как всички преди тях са ни прецакали, НО те ще оправят нещата за има няма 4 години :)
Цялата проява и организация малко ми прилича на един доста добре режисиран куклен театър, но знае ли човек?

Държа да подчертая, че не съм патриот (мисля, че ясно се вижда), но със сигурност не виждам конспирация зад всяка врата, не смятам, че апокалипсиса идва утре и опрделено не споделям максимата “Квото ще да става, не ме еб*”. На мнение съм, че всеки трябва да каже каквото мисли и ако начинът затова е да отиде на това място - подкрепям. За мен лично не е. Но причината да се разпиша не е да продължавам да спамя с глупости, а да споделя моето виждане за ситуацията и най - вече какво представлява този протест за мен.

Ще започна отзад напред: протестът лично на мен ще ми донесе повече задръствания и загуба на време в пътуване. Толкова за “ползите”.
Въпреки, че определено заставам зад някои от исканията на “протестиращите”, някакси не виждам алтернативи и начини нещата да се променят. Когато се събират хора с коренно различни цели и желания и обединяващото парче от мозайката е единствено общото географско разположение, някак си не могат да ме убедят в своята сговорност. Още повече, че не се чуват никакви възможни предложения как нещо може да се промени…

“Да изчистим Студентски град…”: Съгласен съм, нека да превърнем Студентски в храм на знанието, да затворим всички дискотеки и да изхвърлим всички псевдо студенти! Тогава ще си живеем толкова щастливо, заобиколени от библиотеки, левитирайки над дупките и “плаващите” плочки по “тротоарите”… Колко хубаво звучи само! Даже казано с по - висок тембър може и да трогне някого!? - Надали! За мен проблемите се коренят в самите “студентчета” и тяхното възпитание (или по - скоро липса на такова). Много от тези, които ще протестират идните дни са същите хорица, които след като пият две водчици, отиват по 10 човека да показват на някого “кой е мъжът в дискотеката”.

Да не пропускаме и немалката част от ‘бъдещето’ на България и гордостта на мама и тате, чието единствено постижение за (2х)+ години е да могат да си изричат името що годе правилно ( не и да го пишат ).
Бих предложил да започнем да облагорадяваме Студентски град като решаваме “по - малки” проблеми. Например този с глутниците бездомни кучета…Но това е друга тема. Все пак да споделя: блянувам за едно разрешение да се справим с проблема сами, щом общината е безсилна - с 30.06 карибинка аз лично ще си го реша локално за около денонощие ;)

“Да свалим правителството…”: “Долу маскарите! Вън продажниците на държавата! Затвор за корумпираните лицемери!” - Мине, не мине година и почваме да сваляме правителството :) Този път 5 месеца преди изборите ;) (Дори някои хора си вярват, че отиват с такава цел :Р) Интересно ми е само какво правим след това? Като че ли е пълно с алтернативи…? Стотици патриоти и радетели на правдата чакат да заемат покварените кресла? Отново някои хора си правят PR и се мъчат да заблуждават с плитките си политически игрички…Ще добавя само, че докато политическият модел се запази същият ( а той надали ще се промени, даже и след като бъде “свалено” правителството :Р) промяна няма да има. Уви държавите от Източна Европа и бившите членки на СССР трудно живеят в ‘демокрация…’. Без пастир е трудничко ;)

Наред сред абсурдните искания, има и доста справедливи такива. Но когато всеки отива да протестира за каквото му пречи на душицата, надали ще се получи желания ефект и отново истински важните неща ще бъдат оставени на заден план насред голямата пародия.

Толкова от мен. Искаше ми се още доста неща да напиша, но ме заболяха ръцете… С умотворенията си не целя да нарушавам вътрешния мир на някого. Не ми обръщайте голямо внимание :)

И в заключение искам да ви пусна един много силен откъс от руския филм “Стиляги” (невероятно направен филм-мюзикъл, който се снима вече сигурно 5 години и в момента върви по кината в Русия. Разказва се за добилото популярност през 50-те и 60-те години в СССР едноименно движение. Пълен навсякъде с изключително забавни политически алегории срещу сегашното руско управление и действителност - струва си да се види от всеки, когато пристигне и тук).

Та на какво ли ми напомня този откъс…?

Posted in Абсурдистан. Tagged with , , .

Mysql Proxy

Безспорно последното нещо, което успя да развдижи mysql community-то, е създаването и развитието на Mysql Proxy през последните години. В този пост ще споделя моят личен опит с него.

Какво е Mysql Proxy?

Mysql Proxy най - просто казано е програма, която седи между mysql клиента и mysql server-a и е способна да следи, анализира и модифицира всичко, което минава през нея. Сред възможностите й трябва да се споменат failover, load-balancing, query filtering, query modifcation. Ядрото й е писано на C, като отгоре има lua интерфейс, с чиято помощ могат да се добавят доста интересни функционалности.

Under the cover

So far, so good, но как се справя mysql proxy в действителност? Аз лично го тествам в различни сетъпи от няколко месеца на средно натоварени сървъри и отговорът ми е: прилично.

Когато говорим за load-balancing ,redirect, filtering или query accounting,  proxy-то се справя повече от задоволително. Не натоварва много като сьщевременно е доста стабилно.

Естествено не всичко е толкова розово - преди доста време се появи lua script за r/w splitting, който доста разбуни духовете (включително и моя), но уви нещата се оказаха повече proove of concept отколкото нещо, което може да работи на практика.
Такова е и положението при failover след версия 0.6.0, когато настъпиха промени в network-mysqld-proxy.c и при опит за high-availability setup проксито излиза с грешка при fail на някой от node-овете, вместо да се върже към друг.

Example usage scenarios

Да предположим, че имаме няколко машини като frontend, които се виждат през WAN, а database сървърите ни са като backend и могат да бъдат достъпени единствено през локалната мрежа. На всеки един от front end server-ите качваме mysql proxy и го конфигурираме да сочи към mysql server-ите в load-balancing setup:

mysql-proxy --proxy-address=127.0.0.1:3306 \
 --proxy-backend-addresses=192.168.xx:3306 --proxy-backend-addresses=192.168.xx:3306

Стартирано по този начин, проксито прави последователни конекции към mysql сървърите отзад. Както се вижда, проксито е bind-нато към локалния хост на порта на който обикновено слуша  mysql. По default повечето програми пробват да се връзват към mysql socket-a, който при debian базираните системи се намира тук: /var/run/mysqld/mysqld.sock

Принципно mysql proxy може да биндва и към сокет, но аз не ви го препоръчвам понеже се наблюдават някои странни бъгове, които се надявам да се изчистят с времето. По - добрият вариант в момента е socat, с чиято помощ правим тунел между unix-ския сокет и tcp port-а на проксито.

socat UNIX-LISTEN:/var/run/mysqld \
/mysqld.sock,user=mysql,group=mysql,fork,mode=777 \
TCP:localhost:3306 > /dev/null

Socat се справя забележително добре с голямо натоварване и множество паралелни конекции. Не се стряскайте от многото му форкове - няма разхищение на системни ресурси.

С така конфигурираната система, всички database заявки минават напълно незабележимо за клиентите през проксито към database сървърите. С помощта на lua скриптове то може да бъде много лесно надградено и да изпълнява най - различни функции. Вярвам, че тези, които четат за mysql proxy за пръв път, вече разбраха принципа му на действие и големите възможности, които предлага.

Предполагам почват да ви се въртят страшно много идеи как може да си tweak-нете mysql server-ите. Аз също бях така, но за съжаление mysql proxy е все още далеч от завършването си.

Read / Write Splitting

Моето голямо разочарование беше read / write splitting-a, което беше обявено като функционалност към проксито и самият скрипт се разпространява в официалния релийз и все още се намира в trunk-a. Ако работеше както трябва, това би била една невероятна добавка за всеки master-slave сетъп, но не било писано…

mysql-proxy --proxy-backend-addresses=master:3306 \
--proxy-read-only-backend-addresses=slave1:3306 \
--proxy-read-only-backend-addresses=slave2 \
--proxy-lua-script=/usr/local/etc/mysql-libs/rw-splitting.lua \
--proxy-address=192.168.xx:4040 --admin-address=192.168.xx:4041

е примерен начин за стартиране на скрипта при read/write splitting.

В началото всичко изглежда да работи нормално, но след малко натоварване и вкaрване на конекции към различни бази данни в играта, проксито започва да се държи неадекватно. Ако имаме една конекция user1 db1 и друга user2 db2, то проксито започва да прави опити да ползва db2 с user1…

http://bugs.mysql.com/bug.php?id=35013 това е официалният бъг репорт, където можете да следите развитието на проблема.

Заедно с един американец, Clint Alexander, който е доста опитен системен администратор и програмист ( включително lua scripting ) в продължение на месец и нещо се опитвахме да оправим нещата, но не се получи. Clint пренаписа няколко пъти rw-splitting скипта, но явно проблемът е в C ядрото, където трябва да бъде добавена нова функционалност и има още доста работа по контрола на една конекция и разпределението на заявките. В момента екипът нa mysql proxy подготвя 0.7 релийза и изобщо не е ясно кога и дали ще насочат вниманието си натам.

От разговорите ми с Jan Kneschke, създателя на mysql proxy, останах с впечатление, че това не е зачеркнато и рано или късно ще бъде направено.

За моя радост зад Великата китайска стена се създава още един продукт, за който се говори, че е успял да реализира read / write splitting. Нарича се amoeba и до колкото успях да разбера почива на java ядро и xml интерфейс. Колкото и да мразя java, ако това китайско творение се окаже сполучливо, ще съм повече от доволен. За съжаление цялата му документация е на китайски и не знам още за никой англоговорящ, който се е заел да го разучава и тества. Ако някой вече се е занимавал, ще съм му искрено благодарен ако сподели своя опит :)

Няколко думи за край

В заключение искам да кажа, че за мен mysql proxy има светло бъдеще и съм сигурен, че ще е едно от нещата, които тепърва ще навлязат в широка употреба. То представлява една изключителна идея, която ще даде много възможности за инсталирането на най - разнообразни топологии, които доскоро бяха невъзможни без специално писан за тях софтуер. За мен ролята на mysql proxy за mysql е може би съизмерима с тази на mod rewrite за apache.

И в самият край на този Коледен пост искам да пожелая на всички здраве, щастие и много любов. Бъдете щастливи и усмихнати. Весело посрещане на новогодишните празници!

Posted in Trunk. Tagged with , , , , , .

Diff + Colordiff

Не зависимо в коя килия на IT кошера се намира човек, все някога ще му се наложи да branch-ва някакъв софтуер и да следи едновременно собствения си branch и официалния trunk или пък просто да сравни два файла (code/обикновен текст)

Ако става въпрос за нещо кратко unix-ския diff върши перфектна работа. Макар и с изключения, същото важи и за вградените такива в повечето version control systems (svn, git, svk…).

Когато обаче става въпрос за нещо по - обемисто и сложно, всеки започва да търси някаква графична и по възможност многоцветна благинка. Такива има безброи много, да не говорим и за десетките (ако не и стотици) plug-in-и към всеки възможен текстов редактор или среди за разработка на сотфуер като Eclipse и тн.

За съжаление за мен положението е малко по - сложно, понеже по дефиниция мразя повечето графични нещица и до последно се отдавах на мазохизъм с diff. За щастие една сутрин попаднах на colordiff и най - сетне изгря слънце и на моята улица :)

Colordiff e diff wraper, писан на perl, който оцветява супер готино output-a от diff. И за да не кажете , че съм предубеден, вижте сами:

Pipe-нато към less, тази комбинация има уникална функционалност и за мен е десетки пъти по - удобна от всяко друго приложение. Colordiff се инсталира супер лесно като го има в официалните debian хранилища.

apt-get install colordiff

Има релийзи и за още доста дистрибуции, между които Ubuntu, Gentoo, Fedora, MacOS. За останалите - винаги може да си го билднете и сами ;)

От конфигурационния файл на colordiff можете да настроите абсолютно всякакви опции за цветевете на различните нещаю. Намира се в /etc/colordiffrc или в /home/user/.colordiffrc според различните дистрибуции/версии.

И на края един малък note: за да може less да работи адектватно с output-a от colordiff му трябва и ‘-r’ switch. Пример:

diff -ubw /path/to/file1 /path/to/file2 | colordiff | less -r

Posted in Trunk. Tagged with , , , .

Reviving SUSE

When the /boot is gone…

Вчера вечерта със съквартирантът ми се сблъскахме с интересен казус. Една машина с OpenSUSE отгоре беше останала без /boot партишън. Естествено за preinstall и дума не можеше да става затова запретнахме ръкави и се заехме да видим какво може да се направи.

Извън света на *.deb се чувствам малко като Алиса в страната на чудесата, но и в другия лагер не е толкова зле и бързо се свиква ;)

Идеята беше проста, намираме си прекомпилиран кърнъл и bootloader, слагаме ги в boot и забравяме. Естествено никога не е толкова просто, колкото изглежда, особено ако човек не е запознат с особеностите на дадена дистрибуция :)

На първо време open suse 11.0 диска не предлага “live boot”-a, с който аз лично бях свикнал с други дистрибуции. Това малко усложни нещата, но happy end-ът все пак не закъсня.

Какво точно направихме, ще представя под формата на едно кратко walk through / how to:

1. За начало е хубаво да се сдобие човек с ядро и bootloader. Принципно начините са десетки, но най - лесно ни се стори да ги вземем от диска със susе и да го инсталираме чрез неговия пакетен мениджър (zypper).

2. Boot в rescue mode на SUSE от диска и mount-ване на “важните” партишъни (/, /usr…). Идеята е да възстановим оригиналния root система като в нашия случай беше малко повече игра понеже тя е разделен между няколко партишъна.

mount -rw -t ext3 /dev/sda /mnt/oldroot
mount -rw -t ext3 /dev/sda1 /mnt/oldroot/usr
...

3. Маунтване на suse диска някъде в оригиналния / , за да може да се вижда след като се jail-нем там. В случая ние имахме iso image, така че маунтахме него:

mount -o loop -t iso9660 suse_disk.iso /mnt/oldroot/mnt/suse_repository

4. “Четвъртата” стъпка е тънък момент. Тъй като ние разполагаме с читава роот директория, след chroot-a очакваме всичко да е ок. Но при първия опит забравихме една малка подробност, а именно /dev , която е инициализирана от диска при rescue boot-a и пакетните мениджъри ще имат проблеми, когато се пробват да пишат по дисковете през /dev/sda и да ползват други нещица ;) Обикновеният symlink естествено не върши работа при chroot затовa, за да не ви се случват такива неща в 2 сутринта:

mount --bind /dev /mnt/oldroot/dev

5. Сега вече имаме всичко необходимо, за да свършим нещата “the suse way”:

chroot /mnt/oldroot
zypper ar /mnt/suse_repository "local repository" //правим си локално repository от suse disk-a
zypper in -f kernel-default
zypper in -f grub

Voila, мисията е изпълнена. Остава да едитнете /boot/menu.lst на grub и да му кажете какво от къде да load-не и сме готови.

Сигурен съм, че има и по - бърз начин да се направи това при suse, но честно казано техните репозиторита ми изглеждат по - неподредени и от стаята ми :)
От нас толкова.

Posted in Trunk. Tagged with , , .