Накратко за през март

В началото на месеца приличам на Gordon Freeman от Half-Life…
В началото на месеца приличам на Gordon Freeman от Half-Life…
Калоян К. Цветков

Оказа се, че през целия месец Март не съм имал време да драсна два реда в блога, и заради това сега, малко преди края на мисица ще се разпиша набързо. Режимът ми се прецака заради едно стечение на обстоятелствата, и сега имам чуството, че вкъщи имам време само да се наям и наспя, а на работа работата няма край. Допълнително има кибер-пороци като Facebook и Twitter, които на моменти супер неусетно гълтат страшно много време. Не знам колко проекта влача с мене си, и всеки месец ми хрумва нова идея, с която нямам време да се занимавам. Например последните два месеца не съм работил изобщо върху вече може би легендарната нова версия на блога. Както и да е… аман от мрънкане ;)

Все пак, успях да направя някои неща, и сега само ще ги маркирам набързо, а когато ми остане време (дано да е през тази година) ще пиша и повече за тях. На първо време, още през Февруари, създадох групата „IT + Русе“ във Facebook, където да се съберем всички от „бранша“. Подготвям и форум към групата, за тези които са по-срамежливи и не смеят да коментират с истинските си имена ;) Ако имам време, и това ще стане (не е сложно, лесно е, просто трябват няколко часа да се нагласи и да тръгне). Второ, довърших две неща които бях обещал: WordPress разширение (приставка, плъгин) за TopBlogLog бутони, което бях обещал на неуморния Веселин („Дзвер“), както и друго WordPress разширение с модули за импорт на блогове от Лог.бг и Блог.бг, което обещах да направя за да помогна на Венци („Фена“). За финал от вчера има нов бързо направен проект – Кризата.инфо – която използва ново подобрение в TopBlogLog, за показване на резултатите от търсене в RSS емисия.

Очаквайте включване пак, надявам се по-скоро ;) Скоро трябва да намеря време и за новата версия на неофициалния архив на Re:TV, и за други проекти, но да сме живи и здрави, и да има свободно време ;)

…а в края на месеца приличам според Сергей на „ирландец“ ;)
…а в края на месеца приличам според Сергей на „ирландец“ ;)
Калоян К. Цветков

PS. Забравих да се похваля, че най-накрая успях да си оправя кабелния кошмар ;)

Свободно за индексиране огледално копие на сайта на правителството

Schtrack! в действие: огледално копие на сайта на правителството, свободен за индексиране…
Schtrack! в действие: огледално копие на сайта на правителството, свободен за индексиране…

Моят допълнителен принос в кампанията „SEO срещу правителството“ е огледалното копие на правителствение сайт, което вече може да се обхожда безпроблемно от паяците на търсещите машини. Сайтът така или иначе е счупен на повече от едно място, и е пълен провал, но пък това да може да се индексира от Гугъл е една малка победа на научно-техническия прогрес ;) Чудя се, колко време ще им трябва да оправят robots.txt, дали ще смогнат преди изборите ;)

Както и да е, сайтът е http://government.bg.kaloyan.info/, и страниците в огледалното копие се попълват когато се посети съответния линк от сайта: например като посетите началната страница на копието ще се изтегли началната страница на оригинала. Дал съм време за живот на огледалните копия от 12 часа, така че ако информацията не се опреснява често, няма страшно – не е бъг ;) Връзките със „cgi-bin“ в тях са леееко променени, за да се заобиколи недостатък от хостинга (изключване на ScriptAlias „cgi-bin“ или каквато и да е тъм магия), така че и това не е бъг ;)

Скриптът, Schtrack!,  който прави възможно функционирането на огледалното копие, ми се върти в главата някъде от 2004, обаче все нямам време или повод, за да го направя. Е, ето сега се появи добър повод, и резултата е налице. На който му се занимава, може да намери кода на приложението тук (а самото приложение тук), и да си го ползвате за каквото си искате (в рамките на GPL, разбира се).

1 февруари 2009: Една седмица по-късно вече има стотина страници индексирани от огледалото на правителствения сайт, което може да се отбележи като някакъв относителен успех, особено като се има предвид некадърните адреси на сайта (под некадърни разбирайте такива, които не прилагат най-добрите практики, а точно обратното – супер антични). Друг успех е променения robots.txt, който вече позволява индексиране в дълбочина. Хайде да видим колко други неща ще се променият до преди изборите ;)

Re:TV, Неофициалния видео архив и Венцислав Станчев

Неофициален видео архив на Re:TV
Неофициален видео архив на Re:TV

Нещо кратко – днес видях в Свежо.нет публикуваното от Венцислав Станчев по повод проекта за Неофициален Видео Архив на Re:TV, и искам да му благодаря за написаното. Също така да поздравим Иван Бедров за добрата му работа с „Булевард България“ (един от последните „оазиси“ на интересни публицистични предавания в океана от риалити-покварени медии), за това, че е един от активните и интересни български блогъри. Да не забравим да насърчим и Re:TV да добрата работа до момента.

Имам намерение (ако и когато намеря време), да сложа етикети на всички записи от проекта, като за всяко предаване отбележа кой е участвал, а за прегледа на блоговете от „Булевард България“ – кои са цитираните блогове. Въпреки, че задачата не е чак толкова сложна, за момента нещо не успявам да се справя. Ако име ентусиасти, които искат да помагат с етикети, нека пишат на retv@kaloyan.info – ще се радвам на всякаква помощ.

Имам още идеи, като например да направя лесен начин за вмъкване не само на линкове към архива, ами и самите видеота, и т.н. Ако сте решили да ми направите някое хубаво пожелание, то нека то да е за повече свободно време!

Версия 0.3.4 на приставката за добавяне на Svejo.net бутони

Готова е и следващата версия, която представя няколко малки подобрения. Първо, променен е начина по който се отпечатва бутона (HTML кода е променен). Второ, оправен е бъг, който не позволяваше да се добавя допълнителния “опасващ” HTML код към бутона (от секция “Оформление”). Трето, заради зачестилите оплаквания от Internet Explorer, за момента съм добавил временна “кръпка”, която слага празно заглавие и описание на бутона, за да може капризния Internet Explorer да работи както трябва. Това е само за потребителите с Internet Explorer – всички други с нормални браузъри ще виждат всичко. И най-накрая, кода за бутона вече има няколко CSS класа, които да помогнат на по-сръчните да поукрасят бутона. Бутонът винаги има клас svejo и в зависимост от това на коя страница се показва, се добавят допълнителни класове като svejo_home (когато се показва на първа страница), svejo_tag (когато се показва на страница за етикет/таг)  и т.н.

Благодаря на Красьо за докладваните проблеми и идеите за подобрения. Новата версия може да изтеглите от тук:

а повече за проекта може да прочетете тук:

Ако и вие сте забелязали проблеми, направете като Красьо и не се притеснявайте да ги докладвате ;)

Поддържане на проект с отворен код

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

Ако така се случва с всички open source проекти, то едва ли някой ще стигне до … абе едва ли ще прокопса ;) Аз още не съм изоставил моите проекти, въпреки че има някои идеи които просто не се състояха, а за други, нови идеи нямам време. Както и да е – виждаме, че не е точно така, защото има много успешни и „дълголетни“ проекти. Все пак, същия ли е сценария ?

Ако съдя по собствения си опит, не е точно така. Успешните проекти с отворен код се радват на цялото внимание на хората, които ги поддържат, и определено не са тяхно хоби. За да бъда по-точен, ще кажа че говора за основното ядро от разработчици – а не за многото ентусиасти, които помагат (главно по големите проекти, кой с каквото помогне). За тях проекта е работата им, а софтуеъра с отворен код са философията и бизнес модела, по който са избрали да се развиват. Темата за философията и бизнес модела е дълга и широка, но това върху което аз искам да се спра е вниманието, което е отделено на проектите, „енергията и времето“ които получават, за да се развият. Освен всичко, трябва и да се яде, нали ;)  Хората ангажирани с проекта не работят  за този дето клати гората  (въпреки че май повечето хора така си го представят), и за тях проекта е нещото, чрез което ще си изкарват парите.

Ето, парите са другото нещо. Това, че проект с отворен код може да се издържа от дарения е някаква химера. От друга страна, отново масата успешни проекти с отворен код имат финансов гръб, могат да се облегнат. Работите изглеждат навързани – има ли пари, ще има и внимание ;) Точно това навързване на нещата  е интересно. В блога на чернова стоя един линк от коментар на Дончо Ангелов при тема на Йовко Ламбрев:

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

…Лошото е, че и тогава, и сега, всеки с проблем искаше той да му се реши сега и веднага, но не се сещаше, че “сега” и “веднага” за свободен софтуер имат едни други измерения…

…Чисто програмистко и икономически погледнато излиза, че по-добре да напишеш shareware продукт, който да продадеш 1000 пъти от 10,000 сваляния, отколкото да напишеш свободен софтуер, за който да те “дарят” 40 пъти за 50,000 сваляния. Вярно, идеологически свободното може да е по-”изчистено”, но програмистите, за жалост, трябва да ядат…

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

За финал, получавам ето такива съобщения (не обръщайте внимание на дата, това форментира няколко месеца като чернова):

Project still alife?

Hi!
First of all, Thanks for your great work, your API is fantastic.
But: You didn’t release a new version since a year. Are you still developing your great framework?
I am currently looking for a third-party tool for integration into my software, but don’t want to deal with a dead project…

As I guess from your replies in the Forum, you are still active, so my second question:
Are you going to release a next version and if so, when?

Regards
Kevin – who is not interested in an unstable SVN version ;-)

Точно както го е писал Дончо, „сега“ и „веднага“ са относителни в ситуацията на разработчик на проект с отворен код. Неам време да се занимавам в близката година с проекта, особенно краткосрочно, най-вече с два крайни срока подпиращи ме отзад – private alpha за 1 септември и public beta за 1 октомври ;) Реалността е съвсем друго нещо, съвсем друга игра. Освен библиотеките с отворен код, върху които работя, работя и върху няколко приставки/плъгина за WordPress, което за мен са доста по-лесни, защото работата е много по-малко като обем, не са толкова „мащабни“ (относително казано, може би като количество код), и лесно се оправям с новите версии и бъговете за един-два часа след работа. Един-два часа, но пък кой ти ги дава – и така примерно обновяването на приставката за бутоните на Svejo трябваше да чака от април чак до юли.

Ех, сега от Zend ако ме наемат (мен директно, или компанията за която работя) за да се направи нов модул за Zend Framework за работа с изображения, базиран на Asido, ще е супер кеф ;) Хем ще има финансова опора, хем ще се занимавам се нещо което ми е интересно ;) А и не е късно, защото още май никой не работи върху драфтовете за Zend_Image ;)

Версия 0.3.1 на приставката за добавяне на Svejo.net бутони

Готова е следващата версия, която оправя грешка, която се появява под Internet Explorer (открита е при IE7, и после е потвърдена и при IE6), заради инициализирането на джаджата за избиране на фон на бутона.

Шибаната грешка в шибания Internet Explorer…
Шибаната грешка в шибания Internet Explorer…

Благодаря на Светлин Големански, който съобщи за проблема. Новата версия може да изтеглите от тук:

а повече за проекта може да прочетете тук:

Ако и вие сте забелязали проблеми, направете като Светлин и не се притеснявайте да ги докладвате ;)

Версия 0.3.0 на приставката (плъгина) за добавяне на Svejo.net бутони … най-накрая!

Най-накрая съм готов! След няколко дена работа, крайния резултат е готов, и вече би трябвало да може да си обновите блоговете с новата версия на приставката (плъгина) за добавяне на Svejo.net бутони. Какво е променено:

  • Това с експерименталното борене с Internet Explorer беше фиаско, защото освен добавянето на избор за това в настройките, друго не беше направено. Това недоглеждане вече е оправено, и от тази версия (0.3.0) вече може да ползвате експерименталния скрипт (скрипта се зарежда онлайн, и не е във файловете на приставката).
  • Освен това, оправен е бъг, който трабваше да се публикува от междинна 0.2.9 версия, обаче така и не остана време да го пусна. Благодаря на Кристалин Чавдаров, който ми писа за този бъг, и помогна за да се ориентирам къде е проблема.
  • Оправен е проблем с новата версия на WordPress 2.6, който пречи на работата с изображения. Не съм търсил къди точно се „карат“ двете неща, ами добавих проверка, така че JavaScript-а и CSS-а за приставката да се добавят само ако си на страницата с настройките. Благодаря на Пенко Пенев и Николай Бачийски които докладваха за проблема.
  • След излизането WordPress 2.6, и „затвърждаването“ на новия тип интерфейс, най-накрая зарязах външния вид съвместим с 2.1, и обнових страницата с настройките, така че по-добре да „пасва“ на новия изглед на WordPress административния панел. Копчето за запазване на настройките е вдясно – в страничната колона, под настройките за облига и разположението.
  • Променил съм малко „карантиите“ на приставката, като съм разтоварил основния файл от неща, които се ползват само в административния панел. Така приставката ще работи маааалко по-бързо. Използвам и една малка библиотека, която написах за генериране на контроли във формите на административните страници.

Доста неща са променени в новата версия, така че ако нещо „гръмне“, не се притеснявайте да се обадите и да видим къде е проблема. Новата версия може да изтеглите от тук:

а повече за проекта може да прочетете тук:

Ако и вие сте забелязали проблеми (или правописни грешки), помогнете да направим приставката по-добра, и не се притеснявайте да ги докладвате ;) Както виждате, работя върху отстраняването на бъговете, макар и късно ;)

Понеже на WordPress.org нещо не им работят скрийншотите, ето как изглежда новата версия:

 Приставката (плъгина) за добавяне на Svejo.net бутони!
Приставката (плъгина) за добавяне на Svejo.net бутони!

 Приставката (плъгина) за добавяне на Svejo.net бутони!
Приставката (плъгина) за добавяне на Svejo.net бутони!

 Приставката (плъгина) за добавяне на Svejo.net бутони!
Приставката (плъгина) за добавяне на Svejo.net бутони!

Отново за неофициалния архив на Re:TV

След като пуснах проекта миналия петък, за краткото време се случиха две неща – признание и издънка. Вчера Иван Бедров прати много любезно писмо за да поздрави идеята на проекта, а вечерта беше така добър да включи сайта на проекта в прегледа на блоговете. Благодаря! Днес вече е налице първия проблем – заради не точно определяне на времето на качване на видео-материалите, почти целия архив се беше импортирал два-три пъти ;) Сега се надявам всичко да е изчистено, и да няма проблеми (поне за една седмица, за да мога да обърна внимание и на другите проект – например новата версия на бутона за Svejo.net). Както вече писах, търся помощници за проекта – ако някой е навит, да ми пише.

Неофициален видео архив на Re:TV
Неофициален видео архив на Re:TV

PS. Ето и линка към прегледа на печата от 21 юли:

а ето го и видеото:

Get the Flash Player to see this content.

Версия 0.2.8 на плъгина за добавяне на Svejo.net бутони се бори с проблем на IE…

Тази версия на плъгина е посветена на справянето на един бъг, предизвикан от Internet Explorer. Мразеният от всички нас браузър не се справя с кодирането на кирилски текст когато той е поставен като HTTP параметър. Грешно кодираният URL не се разчита правилно от уеб сървъра на Svejo.net, и като резултат вместо бутона се отпечатва съобщение за грешка. Решението за този проблем беше намерено преди повече от месец, и вече съм изпратил решението (който е да се ползва encodeURI() за всички GET параметри) и инструкции на момчетата от Svejo.net, които за съжаление са ужасно заети с обемен ъпгрейд на сайта си. Заради честите запитвания за решение на този проблем реших да предложа временно решение, което позволява да изберете кой JavaScript файл за бутони да използвате – оригиналния от Svejo.net (който предизвиква проблема в Internet Explorer), или специално написан от мен, който се справя с този досаден бъг. Сигурен съм, че в края на течащият в момента ъпгрейд, момчетата от Svejo.net ще оправят и този проблем, след което ще премахна току що добавената възможност.

Благодаря на Иван Желев, който ми писа за този бъг, и помогна за да се ориентирам къде е проблема (а и за търпението, защото този проблем беше „рапортуван“ на 7 януари 2008).  Новата версия може да изтеглите от тук:

а повече за проекта може да прочетете тук:

Ако и вие сте забелязали проблеми, помогнете да направим плъгина по.добър, и не се притеснявайте да ги докладвате ;) Както виждате, работа за отстраняването на бъговете, макар и късно ;) Скоро очаквайте следващата версия, която ще се възползва от новия външен вид на административния панел на WordPress 2.5

Версия 0.2.7 на плъгина за добавяне на Svejo.net бутони

Готова е следващата версия, която оправя грешка, която чупи валидацията на кода на страницата при показване на бутоните, тъй като substr() не отрязва добре UTF8 стрингове. Благодаря на Кирил Владимиров, който докладва за проблема. Новата версия може да изтеглите от тук:

а повече за проекта може да прочетете тук:

Ако и вие сте забелязали проблеми, не се притеснявайте да ги докладвате ;) Докладвай рано, доклавай често ;)