Fri, 28 Nov 2003

Земля в илюминаторе

Днес синът ми стана на 6 години! Не мога да намеря думи да благодаря на майка му, която имаше куража да се fork-не толкова млада и да ме дари с това чудесно момче.

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

А в момента спи дълбоко и се смее насън. :-)

Wed, 26 Nov 2003

Накъде отива Линукс?

С удоволствие прочетох "Чудният свят на Линукс 2.6" от Джоузеф Праневич (благодарности на преводача, Remo Tex). В новото голямо издание на Линукс има толкова разширения и подобрения, че вече нямам търпение да го сложа на домашното си работно място.

Чудя се обаче дали Линус Торвалдс все пак не е преосмислил първоначалната си цел -- да създаде ядро за операционна система, подобна на UNIX. Въпреки, че преди време Линус предупреждаваше колко опасно нещо са новите интерфейси и настояваше, че именно в избягването им се крие силата и бъдещето на ядрото, новото издание на Линукс бъка от тях. С последните промени във версия 2.6 -- например файловата система /sys, разширените атрибути и възможностите за Access Control Lists в ext2/3, схемите за сигурност без root (отхвърляйки едно от основните допускания на UNIX), прекопаването на модулната система с увеличена динамика и вграждането на User-mode Linux с всичките му последствия и нови хоризонти пред виртуализацията и т.н. -- всички тези възможности все повече отдалечават ядрото от класическия UNIX и превръщат Линукс в нещо като "универсално ядро", за което UNIX-системите се оказват само частен случай.

Имам чувството, че като че ли от версия 2.0 насам Линукс бавно и консервативно, но постоянно напредва към това, което мечтателите наричат GNU HURD. Днес също както преди 10 години разработването на HURD отново е в застой и монолитният Линукс отново е тук и работи, но е по-модулен, по-виртуален и по-гъвкав от всякога. Какво ли ни чака за в бъдеще? Дали все пак пингвинът не се е запътил към същата полянка, където иска да стигне и антилопата, но вместо нея минава по по-заобиколен и по-спокоен маршрут?

Thu, 20 Nov 2003

Сбогом CVS, здравей Subversion!

Доскоро си мислех, че съществуват само две читави системи за контрол на версиите -- Microsoft Visual SourceSafe и CVS. Първата обикновено се използва в корпоративна среда, където властва Windows. Втората е де-факто стандарт за свободния софтуер и разбира се е многоплатформена.

Това, което винаги ме е стягало в чепика за SourceSafe, освен че е несвободен софтуер, е липсата на модел клиент/сървър. SourceSafe всъщност разчита на споделена файлова система като хранилище. Работата в Интернет е невъзможна.

При CVS няма такива проблеми, но има други. Например, какво ще кажете за директорията Attic? Гадно. Заради проблемите с изтриването и преименуването на файлове, местенето на директории и прочие, CVS не успява докрай да спази голямото обещание на всяка система за контрол на версиите -- а именно, че може да възстанови състоянието на дървото точно такова, каквото е било в определен момент от времето. Ако си затворим очите и гледаме да няма динамика на директориите и имената на файловете, които държим под контрол на версиите, всичко е OK, но все пак...

Със своя режим клиент/сървър и модел на споделяне без заключване, CVS изигра и продължава да играе голяма роля за разработването на свободен софтуер. Струва ми се, обаче, че на CVS му се случи най-доброто, което можеше да споходи един читав софтуер -- оригиналните му автори да го зарежат и да започнат отначало, вече преосмислили идеята си.

Тъкмо това е проектът Subversion. Авторите му твърдят, че Subversion е "CVS реализиран по правилния начин". Основният модел на работа е запазен, потребителите на CVS ще се чувстват в свои води, но всичко е реализирано перфектно -- силно опростено, и много по-мощно! Вече можете да преименувате и местите файлове и дори цели директории из хранилището -- при това те запазват пълната информация за историята си. Ако се върнете няколко ревизии назад всичко ще се реаранжира както си е било.

Хранилището е напълно преосмислено и силно оптимизирано. Например ако копирате един файл от една директория в друга. Същото се отнася и за мрежовия трансфер -- когато изпращате своите редакции към сървъра, всъщност пращате diff-ове. Така си спестявате мрежовото натоварване след малки промени в големи файлове. Операциите Commit вече представляват истински транзакции и са напълно атомарни. Отвътре целият дизайн е модулен -- можете да сложите собствен backend вместо стандартния Berkeley DB, можете да добавите нов метод за достъп до сървъра и прочие. Авторите на frontend-интерфейси ще се родят, защото техният интерфейс ще може да се свърже директно към libsvn -- стандартната клиентска библиотека на C, която се ползва и от конзолния клиент. Край на "парсването" на изхода на конзолата! Работи се и по binding-и към Java, Perl и Питон.

И най-важното е, че Subversion от известно време вече е стабилен и се ползва интензивно от самите му автори. Ако ползвате система за контрол на версиите, горещо Ви препоръчвам веднага да прочетете Version control with Subversion!

Tue, 18 Nov 2003

Пилешка супа

Днес се учих да готвя пилешка супа. Ето я:

Продукти:

Начин на приготвяне:

Сварява се пилето, а през това време всички зеленчуци се нарязват на кубчета (заедно със стеблата на магданоза). След като се свари, пилето се вади от тенджерата и в бульона се слагат да се варят зеленчуците.

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

Малко преди да стане готова в супата се добавя фидето, кубче пилешки бульон и подправки. Като се свари фидето, тенджерата се маха от огъня, поръсва се със смлян чер пипер и се добавя нарязания на ситно магданоз.

Sun, 16 Nov 2003

Сефте

Най-сетне и аз да се обзаведа с weblog. Благодарности на момчетата от ОpenIntegra, които ми осигуриха web-пространство!