Рекет

Posted by Kiril Kirov Mon, 29 Mar 2010 08:29:00 GMT

Човек и добре да живее, идва март месец – времето за плащане на държавния рекет. Странната симбиоза между НОИ и НАП е позната на всеки опитвал се поне веднъж да работи с техните web-базирани информационни системи. Тази година е налице нова, “свръх модерна” връзка между системата на НАП и системата на НСИ. Когато юридическо лице се опита да си подаде данъчната декларация, системата на НАП не я приема, до попълване на декларация в НСИ. С цел удобство за гражданите, от тази година попълването на НСИ декларации може да става електронно. Системата на НАП проверява дали е попълнена декларацията в НСИ, и ако не е попълнена, не приема данъчната декларация. До тук всичко това звучи чудесно, но има една малка подробност. Данните в данъчната декларация и данните в декларацията към НСИ са едни и същи. Естествено за попълване на декларацията, в НСИ сайта се изисква регистрация, без значение че всички данни за лицето вече ги има в сертификата, без който не може да се стигне до сайта. За да стане по-лесно – попълването на данни става в PDF форми, които се изпращат към браузера в popup прозорци. А данните попълнени в тези форми не могат да бъдат записвани локално на компютъра. Прекъсне ли Интернет връзката – всичко започва отначало. Ако човек има някаква разумна политика за сигурност в Internet Explorer 8, прозорците се отварят и затварят в рамките на около половин секунда (в зависимост от скоростта на машината). Най-ефективния начин за разбиране какво има в тях е гледане на кефе, боб или карти. Значителното смъкване на нивото за сигурност само за този сайт не даде резултат. След цъкане на посоки из политиките за сигурност в браузера, прозорците спряха да се затварят – не знам как стана. За да работи това произведение на изкуството, човек трябва да има Windows, Adobe Reader 8 и цяла колекция от ActiveX контроли. След инсталиране на всичко необходимо, потребителя попада в магическия свят на нулевите указатели:
java.lang.NullPointerException: Неочаквана грешка
Борбата с неочакваната грешка достигна своята връхна точка при избора на код за професия. Всякакви отчаяни опити да съобщя на държавата, че не се занимавам с отглеждане на тютюн и/или ориз водеха до неочаквана грешка – popup прозореца зацикли. Предполагам, че държавата се опитва да стимулира дейности по отглеждане на технически култури, понеже те се намират в началото на списъка с дейности. По ирония на съдбата те бяха и единствените избираеми в зацикления popup прозорец. Разни по-смотани дейности, като например “компютърно програмиране” са далеч назад в този дълъг списък. За съжаление така и не успях да стигна до някаква очаквана грешка, наложи се да рестартирам Internet Explorer-а и да започна да набивам данните отначало. Това беше петото поред въвеждане на моето име, адрес и телефон. Разбира се всички тези данни ги има в сертификата, без който не мога да достигна до сайта. Но това няма никакво значение. Всичките данни които искат да пиша там, вече съм ги писал и в данъчната декларация. Но и това няма значение. Търсенето на логика в държавата води до психически разстройства, за това съм спрял да я търся. След един загубен ден, вече всичко е попълнено и най-накрая имам възможност да си платя рекета – парите, които държава ще открадне от мен. Парите, с които можеше да ми асфалтира улицата, да избие бездомните кучета, да изчисти снега зимата и да изгони самонастанилите се цигани под прозореца ми – и най-вече да си поправи информационните системи. Парите, които ще отидат за вилите на олигарсите, техните яхти и техните джипове – за пепеляшките, за котараците и за наглите.

Политиката на държавната администрация спрямо гражданите се провежда под мотото “едно в много”. Една информация трябва да бъде записана на много места, в много информационни системи, и в много шкафове с хартия. Още по-добре е, ако това става ръчно, лично, и най-отдолу на всяко копие има подпис и печат. Тази година станах жертва и на насилственото пререгистриране на всички фирми в новия търговски регистър. Тъй като там не успях да преборя електронната система, отидох на крак да се пререгистрирам. Това ми костваше около 14 подписа и печата. С НАП и НСИ май приключих, но щурмуването на НОИ тепърва предстои. Там положението с подписи, печати и имена е драматично, тъй като обикновено се попълват отделни бланки за всеки месец. В тях се подава ценна информация, като например колко дни има в един месец – очевидно в НОИ незнаят. Подаването на всяка една от тях е свързано с превеждането на пари по четири различни банкови сметки. Превеждането на лихвите към всяка една от банковите сметки става по допълнителна банкова сметка. Това означава попълване на лични данни на 12 места за една година, превеждане на пари с 48 платежни нареждания, което води до 60 подписа и печата. От скоро може да се попълва и една декларация годишно, но с този змей не съм се борил – май ще е по-лесно да си карам по стария начин. И понеже всички тези системи са толкова лесни за използване, министъра на финансите не спря да се чуди как е възможно толкова много хора да не си плащат осигуровките. Несъбирането на осигуровките, които са си чист рекет, доведе до безумните идеи за неговото увеличение – като не можем да накараме всички да плащат, поне да прецакаме малкото, които го правят. Разбира се, това щеше да доведе до значително намаляване броя на плащащи и идеята беше зарязана в името на повишаването на ДДС. По този начин наистина ще бъдат прецакани всички, като най-много прецакани ще бъдат най-бедните – те няма как да не купуват храна и няма как да не плащат ДДС върху храната. Сумарно данъците се приближават до 50%, държавата си позволява да краде половината доходи на населението без да предлага абсолютно нищо в замяна. Олигархия, корупция, бюрокрация, антихуманност – нищо ново в България.

Спешност 1

Posted by Kiril Kirov Thu, 25 Mar 2010 08:24:00 GMT

Кога една работа е “спешна”? Оказва се, че различните хора имат различни критерии за това. Много често тези критерии са неправилни. Така например, преди повече от половин година, при мен дойдоха едни клиенти. Те имаха “ужасно спешна” работа, която настояваха да се свърши бързо. Срокът който дадох им се видя прекалено дълъг и те се отказаха от съвместната работа, с идеята да си търсят друг човек да им я свърши. След толкова много време друг човек не е намерен, работата пак е “ужасно спешна” и пак водим преговори аз да я върша. Проблемът на тези хора, както и на много други като тях е, че нямат обективен критерии за спешност.

В подобни ситуации няма как да не се сетя за моя приятел Ц. Црънчев. Той е единственият човек сред моите познати, който успя да изведе и дефинира правилно универсален критерии за спешност. Понеже това го направи известен в средите, в които работи – критерият носи неговото име. Всички които си мислят, че имат спешна работа да прочетат този критерии, да си го запишат и да го запомнят:

Критерии за спешност на Црънчев:

  1. Една работа е спешна, ако има опасност някой друг да я свърши.
  2. Една работа не е спешна, ако няма опасност някой друг да я свърши.

Работата на моите клиенти, по критерия на Црънчев за спешност изобщо не е спешна, защото няма кой друг да я свърши. Никой не е толкова луд, ентусиазиран и ниско платен, че да се занимава с подобни неща. Ако те се бяха съгласили на моя срок преди половин година, работата щеше да е свършена и щяхме да сме забравили за този проблем. Всички тези неща важат и за голяма част от другите дейности, с които се занимавам в момента. И въпреки, че клиентите осъзнават добре този факт, все още има хора, които ми пробутват разни работи с етикет “спешни”. Надявам се критерия на Црънчев за спешност да им помогне да видят грешката си.

Благотворителност

Posted by Kiril Kirov Sun, 14 Feb 2010 08:16:00 GMT

Ще използвам днешния капиталистичеко-католическо-алкохолически празник за да направя едно важно съобщение. Започвам благотворителна кампания, набираща средства за погасяване на моите задължения към различни питейни заведения в столицата. Както всички знаем, писането на блог, който обръща внимание на различни житейски проблеми е на моменти трудно, неприятно и депресиращо занимание. За компенсиране на тези негативни влияния, аз често пия бира – в тесен приятелски кръг, най-често в Халбите. От днес давам уникалната възможност, на всеки който желае, да се включи в отглеждането на един български блогър – писач, драскач, оплаквач, пияч, freelance програмист, wifi хакер, мрежар, планинар, песимист и атеист. В сравнение с пострадалите от земетресението хайтянчета, гладните сомалийчета, болните индийчета и изоставените циганчета – хората като мен са малко. Дори може да се каже, че са изчезващ вид. А има и друга важна разлика – гореизброените хора са значително по-нуждаещи се от мен. Лошото е, че колкото и пари да им даваме, те трудно ще се оправят, а има опасност да станат още повече и още по-нуждаещи се. Моите нужди са далеч по-скромни – вместо да ме изхранвате, лекувате или да ми строите къща – достатъчно е само да ме напивате. А това отнема едва около 3-4 бири, 2-3 пъти в месеца. Даряването на пари за моята благотворителна кампания НЕ изисква дори изпращането на SMS на кратък номер. Заради мен няма да ви спрат на улицата или да прекъснат любимия ви сериал по телевизията. Достатъчно е да оставите парите в буркан сметката, използвайки този линк или банера в дясно. По този начин вие ще направите едно уникално добро дело, с което може да се похвалите на своите приятели, близки и роднини. Дори една стотинка от дарените от вас пари няма да бъде платена, като данък на държавата или като такса на мобилен оператор. В случай, че буркана събере повече пари, от колко съм в състояние да изпия, те ще бъдат използвани за купуване на различни хардуерни играчки (като тези или тези например). Чувствайте се свободни да изпращате адреса на моя буркан на всякакви богати хора и организации. Това включва богатата ви пралеля в САЩ, която в момента си пише завещанието. Както и на нигерийските престолонаследници, от които често получавате поща.

Предколедно

Posted by Kiril Kirov Sat, 19 Dec 2009 08:02:00 GMT

Традиционно предколедните седмици оставят трайна и дълбока следа в моята крехка психика. Някак си преживях и тази – нямам търпение да стане 6 януари и всичко да стане “нормално”. До колкото може да бъде нормално в България.

В началото на седмицата стана ясно, че са ни одобрили проекта за дигитализация на народната музика. Списъкът с одобрените проекти седи на сайт на Министерство на образованието:

РЕЗУЛТАТИ ОТ КОНКУРС „НАСЪРЧАВАНЕ НА НАУЧНИТЕ ИЗСЛЕДВАНИЯ В ПРИОРИТЕТНИ ОБЛАСТИ” („ТЕМАТИЧЕН КОНКУРС”) 2009

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

Във връзка с актуализацията на бюджета на Фонд „Научни изследвания” финансирането на повечето проекти е силно редуцирано и авансовите суми на голяма част от проектите ще бъдат преведени през март, април и май 2010 г.

Казано с други думи – проекта ви е одобрен, ама пари ще ви платим малко и друг път. Още един типичен за българската администрация ход. Ако са одобрени малко проекти – може да смъмрят някой чиновник. Ако трябва да се финансират многото одобрени проекти – няма да има достатъчно пари, пак ще го смъмрят. За това решението е – одобряват се много проекти, на които са плащат по малко пари. Изключително мъдро, и доста по комунистически. Оказа се, че ще финансират проекта на 30%. Което си е чиста подигравка, при положение, че цяло лято се правим на счетоводители за да им представим точен финансов план. Сега финансовият план ще отиде в кофата за боклук, и седмици наред ще трябва да се прави нов финансов план, вместо да се работи по проекта. Какво точно да режем от проекта ще се решава в следващите дни. Естествено дори и да можем и да искаме да свършим цялата работа – няма да го направим. Това би означавало догодина да раздадат по 15% финансиране на проектите, понеже нали и така минава. Една добра идея, която ми дойде е с един Scheme скрипт да скрием 2/3 от нотите. Нормално е с 1/3 финансиране да дигитализираме 1/3 от нотите. След това ще кандидатстваме пак, за “дописване” на останалите. Лошото е, че това няма да впечатли никой от въпросните чиновници – прекалено са ограничени. А и за дребни суми става въпрос, и за един Мерцедес не стигат.

Аз съм човек, който изключително рядко излиза в София. Средно по три пъти в месеца ходя да пия бира в “Халбите”. Последното ми ходене (а не пиене) беше незабравимо. На отиване станах свидетел, за първи път в живота си, на сцената ръчно бутане на тролей. Шофьора излезе и заговори на трима канещи се да се натъпчат вътре младежи – “Баце, аре да ме бутнете малко”. Бутнаха го малко, и аз не знам как, май беше леко стръмно. Мотора заработи, тролея спря, за да могат да се качат момците бутачи. Не, че имаше място за тях вътре, ама нали бутаха. После потеглихме – пристигнах почти навреме. На връщането беше по-неприятно – тръгнах си по-рано с идеята да се прибирам с адски транспорт – голяма грешка. Качих се на тролей, който ме закара до ВМА и каза, че бил до там. Минаха пет деветки и нито една двойка. Накрая се качих на 9 и от последната спирка – пеша до вкъщи. Прибирането ми отне 2 часа и 30 минути, с бонус измръзване.

В петък се наложи да обикалям с кола перфектно изчистената столица. Явно съм от десетките хиляди хора със зрителни и ментални проблеми, на които им се привиждаха неизчистени улици. Няма значение, важното е, че кметицата не се е изненадала. И така, псувайки кметицата тръгнах към една нотариуска. По личната ми скала за най-омразни паразити в държавата, нотариусите се нареждат някъде между политиците и адвокатите, доста по-напред от счетоводителите. Преди време си имах работа с една нотариуска във Враца. Тя поне си движеше нещата лично, взе ми около 5 лева за един подпис. При тази пристигнах с голямо закъснение. Там имаше армия от издокарани кукли, които й вършеха работата, взе ми около 200 лева – пак за един подпис. Поне свършихме бързо. Псувайки нотариуската и кметицата се пибрах, за около 2 часа.

Емоциите са ми напълно достатъчни за тази година. Мисля да не излизам от вкъщи поне до 6 януари. Мога доста работа да свърша през празниците. От извесно време следя клипчетата на TheAmazingAtheist в YouTube. Много ме кефи този човек, успява артистично и правилно да интерпретира различни световни проблеми. Споделям напълно мнението му за Коледа.

Развод със SGExpressbank 5

Posted by Kiril Kirov Fri, 19 Jun 2009 13:02:00 GMT

Животът не върви добре със SGExpressbank. Искам да се разведем, обаче тя не ми дава развод. Там имах кредит, студентски кредит. Плащах си кредита редовно, без да ходя при нея. Платих си кредита и дълго време не се бяхме чували с нея. Обаче тя ми се обади и ме намери. Иска да се видим. Иска да й давам пари. Обясни ми, че там съм имал сметка. Сметка, която не ползвам. По тази сметка съм бил имал такси и трябвало да отида да си ги платя, че да ми я закрие. Е да ама аз сметка не съм искал да имам – на мен само кредит ми трябваше. Не съм знаел, че имам сметка и не съм я ползвал. Нямам никакво движение по нея, нямам дебитна карта към нея, нямам Интернет банкиране, нямам телефонно банкиране, нямам пари в нея, нямам месечни извлечения, нямам годишни извлечения. Отказах й – казах, че няма да отида. Това обаче не помогна, тя пак ми се обажда – май всеки месец. Предния път ме заплаши със съдия-изпълнител. Днес само ми се скара – била ми пращала писма. Писма от нея наистина получавах, но само рекламни – реклами за нови кредити, с мокър подпис. Уж не съм редовен клиент, а нови кредити иска да ми дава. Как да й кажа, че не я обичам вече? А пари за услуги, които не ползвам – няма да й дам.

НЕ съм отвлечен

Posted by Kiril Kirov Mon, 30 Mar 2009 19:46:00 GMT

Най-напред искам да кажа на всички, че НЕ съм отвлечен. Повече от два месеца не следя новините от България. Тези дни ми стана странно, че приятелите ми се изредиха да питат дали не са ме отвлекли. Научих, че съм имал някакъв адаш, “бизнесмен”, дето го били отвлекли. Всъщност е много изгодно човек да го отвлекат в края на март месец. Особено ако решат да поискат откуп от роднините му. Много данъци могат да бъдат спестени по този начин. За съжаление аз моите данъци си ги платих, докато адаша са го отвличали. Нямам никаква представа какво му се е случило, дано наистина да пести данъци. Не пожелавам на никой да го отвличат на сериозно. Така де, трябва да си пазим “бизнесмените” и “елита”. Какво бихме правили без тях? Стигнах до извода, че човек може да бъде много по-щастлив в България, ако въобще не се интересува от новини. Това с новините и адаша ми напомня за Швейк:

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

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

- Четохте ли?

- Не съм.

- Чухте ли?

- Не съм.

- А знаете ли за какво става дума?

- Не знам, не ме интересува.

- А все пак би трябвало да ви интересува.

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

- Вас, значи, не ви интересува и убийството в Сараево?

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

Това били последните му думи в тоя разговор. От тоя миг през всеки пет минути той повтарял с висок глас само:

- Аз съм невинен, аз съм невинен.

С тия думи го докарали в Дирекция на полицията, тия думи ще повтаря и когато го закарат в углавния съд в Прага, с тия думи ще влезе и в своята затворническа килия.

Изводът от тази история е, че пълното откъсване от новините и случващото се в страната не е полезно. Въпреки това нервите ми не издържат на огромното количество глупости, които се бълват от различните новинарски сайтове. От сега нататък ще се опитвам да бъде минимално информиран. Ще се опитам едновременно да не се нервирам, но и да не попадам в история подобна на тази с адаша (и тази от Швейк).

Корпоративен комунизъм 12

Posted by Kiril Kirov Sun, 15 Feb 2009 09:06:00 GMT

Тази история започна преди около една година, когато си откривах банкова сметка на фирмата в ОББ. Трябваше ми една простичка услуга от банката – да ми направят дебитна карта към фирмената сметка. За моя изненада се оказа, че банката не предлага такава услуга в “чист вид”. За да ми направят дебитна карта към фирмена сметка трябвало да съм в програма “Работни пари”. Единствения начин да вляза в програма “Работни пари” беше да взема фирмен кредит. Отказах, стори ми се безумно да взимам кредит, който не ми трябва за да получа дебитна карта. Всъщност предлагания кредит беше доста сериозна сума. Понеже фирмата ми беше съвсем нова – стана ми ясно, че всеки с нова фирма може да вземе огромен кредит, като единственото условие беше три месеца “движение по сметката”.

Историята продължи сега в петък. Отидох до банката с идеята да взема краткосрочен и малък кредит с цел да си купя 10 годишна кола. Още при споменаването на ключовата дума “кредит” каката (млада, добре изглеждаща “банкерка”) срещу мен заяви, че банката не отпуска фирмени кредити “до второ нареждане”. Попитах я пак, защото ми се стори, че нещо не съм чул правилно. Обясних отново, че ми трябва малка сума пари за кратко време. Казах й, че мога да им покажа договор на фирмата за много повече пари. Тя въобще не ме чу, като повтори, че банката не дава фирмени кредити “до второ нареждане”. Предложи ми обаче да ме включат в програма на банката “Бизнес партньорство”. В тази програма, срещу същата такса за обслужване на сметка, фирмата получава няколко безплатни банкови превода и дебитна карта към сметката. Пак изненада, пак трябваше да питам няколко пъти. Защо по дяволите преди една година ми извиваха ръцете да вземам кредит, че да ми направят дебитна карта? Защо в момента ми дават безплатно дебитна карта, а не искат да ми дадат кредит? Интересно какво се промени за тази една година. Аз съм си същия, фирмата ми е същата, и каките в клона на ОББ са си същите.

Очевидно отговорите на тези въпроси имат много общо с нещото наречено “световна финансова криза”. Банката до преди няколко месеца е раздавала кредити на килограм и на който й падне. ЕТ “Аз, брато и аверите” получава няколко хиляди лева превод “за услуга” от “Далавери инкорпорейтед” ООД и готово – имаме движение по сметката, дайте им кредит на тези мили момчета. Естествено милите момчета нищо не вършат – купуват си една бърза кола или “инвестират” в 1578-ия хотел на 7-ма линия в Слънчев бряг. Интересно как банката ще си прибере парите от цялото начинание. Всъщност няма как – нито бързата кола, нито хотела струват нещо. И ето ни я родната финансова криза. До тук всичко ми се струва някак нормално и разбираемо. Банките са имали повече свободни пари, решили са да правят рискови кредитирания и са изгубили. Тези неща се случват и не са толкова страшни. Икономиката обаче страда от нещо друго, нещо много по страшно – всички фирми за банката са равни. Покрай кредитните далавераджии има и много истински фирми, които произвеждат нещо и вършат истинската работа необходима на обществото и на икономиката. Ужасно глупава политика е, когато има възможност да се дават пари на килограм, а когато няма да не се дават пари на никой. Това много прилича на комунизъм, когато има – всички “лапаме”, когато няма всички “гладуваме” – всички фирми са равни. По този начин банките абдикират от основната си функция – да различават мошениците от честните хора. Движенията по една сметка не носят никаква информация за това с какво се занимава една фирма и какви хора я управляват. В моя случай много лесно банката може да се увери, че аз наистина произвеждам нещо и, че всъщност не съм мошеник и мога да си върна кредита. За това обаче са необходими малко повече усилия. Трябва да се видят договорите, които съм сключвал и софтуера, който съм писал. Банката не иска да се занимава с подобни неща, а каките които са сложени по клоновете нямат никакви правомощия. Специално в нашия клон, въпросните служителки очевидно са избирани по външен вид. Те следват някакви строги правила и всъщност нямат право да вземат никакви решения. Честно казано не ми е ясно кой взема решенията, и по-важното на базата на каква информация ги взема. Едно е ясно – щом не дават фирмени кредити “до второ нареждане”, явно решенията са били лоши. И процеса на вземането на решенията е бил лош. Нещо което беше видно още преди една година, но хората просто си затваряха очите. Сега остава надеждата, че нещата по някакъв начин ще се оправят. Банките ще трябва да сменят политиката на каките, промоциите и непукизма и ще трябва наистина да се интересуват повече на кой и за какво дават пари. Да се надяваме, че това ще стане преди корпоративния комунизъм да е вкарал родната икономика в още по-голямо блато. Явно мошениците ще си карат новите коли, а аз ще си купя 10 годишната кола, без да разчитам на банково финансиране. Нищо ново под слънцето, или както е казал един по-мъдър човек:

It is well enough that people of the nation do not understand our banking and monetary system, for if they did, I believe there would be a revolution before tomorrow morning.

—Henry Ford

Писане на ноти с GNU LilyPond

Posted by Kiril Kirov Mon, 05 Jan 2009 10:02:00 GMT

Преди празниците се появи една нова и интересна работа, с която решихме да се захванем. Имаме един клиент, който е посветил живота си на изучаването на българската народна музка. През годините той е обикалял страната и е записвал прилежно нотите на песните, които са се пеели в различните крайща. Резултатът е един колосален труд от хиляди народни песни, които са написани на ръка, с текстове и петолиния. Естествено единстения начин този труд да се запази за поколенията е той да бъде доведен до някаква цифрова форма, и евентуално след това да бъде издаден под формата на книги. Двете неща са силно свързани – за да се направи хубава книга, тези нотни текстове трябва да бъдат описани на компютър, с някаква нотация. След това трябва да се докарат до някакъв подходящ за печатане формат, примерно PostScript. Това разбира се, е една тежка задача и със сигурност много хора са я решавали по един или друг начин преди нас. Всъщност преди доста години (някъде около 1992 година) баща ми направи няколко книги с ноти за същия този клиент. За целта тогава беше използвал MusicTeX. Това е една от многото надстройки над TeX, конкретно тази е специализирана за писане на нотни текстове. Сигурен съм, че е бил един от първите в България, които са се занимавали с подобно нещо. Всъщност както тогава, така и сега нашата работа може да бъде свършена с TeX. Проблемът на този подход е, че там нотите се описват много подробно (и разточително), като за целта се изисква човек до голяма степен да интерпретира музиката. Няма да се впускам в подробности, защото едва ли ще мога да обясня добре проблема. Самият аз не съм особено музикално грамотен (да не кажа хич). Една от целите ни беше тези ноти да могат да се пишат от хора, които не разбират от музика и не разбират много от компютри. Първата система, на която попаднахме беше PMX/M-Tx. Тя предлага по-добра нотация за писане на ноти, която в последствие се транслира до MusixTeX с помощта на парсер. Проучвайки я попаднахме на няколко неприятни проблема. Най-напред липсата на каквато и да било документация, освен сравнително прости примери. Всъщност се оказа, че българската народна музика е уникална и в това отношение, има доста сложен и нетрадиционен нотен запис, който до голяма степен няма аналог. Друг проблем беше самият парсер, по някакви непонятни за мен причини, той е написан на FreePascal, като базовите му функции са написани на C, като библиотеки за FreePascal. Нищо особено против Pascal, като език, но явно писачите на FreePascal още не са разбрали, че на този свят има и машини различни от x86. Трябваше да правя виртуална машина или пък да работим на Windows, все неща с които не ми се занимава. Освен това трябваше сами да пишем документация как се работи с това нещо. Най-вероятно щеше да се наложи да бъркаме и из кода за да добавяме необходимите неща за нашата музика. По едно време имах идея да си направя парсер с yacc и lex за целта, отказах се много бързо – интересно ми е дали изобщо е възможно, при всички случаи не е за моята глава. Тогава попаднах на системата, която се оказа, че ни върши чудесна работа – GNU LilyPond. Написана е със C++ библиотеки, които се управляват от Scheme скриптове. Предлага хубава, сравнително проста и много добре документирана нотация за писане. За целта естествено има доста сложен парсер. Освен парсера, друг важен елемент на една такава система са шрифтовете. Тя очевидно трябва да си идва с някакви сложни нотни шрифтове, където има всички символи, които могат да се срещат на едно петолиние. Понеже това са песни, освен ноти там има и текст. Тук се набих в един глупав и много сложен, трупан с годините копютърен проблем свързан с шрифтовете. Системата използва Fontconfig за намиране и зареждане на TTF шрифтове, и Pango за визуализиране. Това е чудесно в случай, че човек работи с TTF шрифтове. Ние обаче искаме да направим хубава книга, а хубавите книги се правят с LaTeX. По тази причина LilyPond предлага(ше) да работи с TeX backend. Идеята е, човек да си пише нормално на LaTeX, а когато стигне до нотите да превклюи с команда в LilyPond режим, да си напише нотите и да продължи. Това е добро решение, но за да бъде идеално, LilyPond трябва да може да работи с METAFONT шрифтове. Естествено хората се бяха сетили за този проблем, но решението беше грозно, най-точното определение за него е хак. Някой беше ръгнал едни Scheme функции, които изпълнявайки външни команди намират къде по диска се намират Computer Modern шрифтовете, разчитат, че от самия TeX те ще са компилирани, правят свързан списък с всичко намерено и го подават към системата. Това нещо се дънеше много по-често от колкото работеше. Типично в техен стил Debian разработчиците бяха ръгнали там малко линуксизми и Debian-specific неща за да бачка при тях. Потроших няколко дни да показвам Scheme къде и как работи METAFONT системата. Нещата тръгнаха частично, когато забелязах, че LilyPond има нова версия, в която всички тези неща са разкарани с лаконично обяснение – “от сега нататък, системата работи само с Pango/Fontconfig”. Изпсувах и се отказах. Явно ще трябва да направим LaTeX да работи с TTF, въпреки че винаги TTF шрифтовете са били една идея по-грозни. Няма да задълбавам, вманиачаването на тема шрифтове е типично печатарска болест. Чудя се дали един нормален човек може да различи Times New Roman в Pango и METAFONT. Както и да е, ето какво се получава в крайна сметка.

Код на Lilypond:
%{
TD_178_1_11
%}

\version "2.11.65" 

\score {
\relative c' {
 \tempo 4 = 132
  \time 2/4
 fis8 g\noBeam a4 a2 c4 bes a g fis8( ees) ees([ d)] d2  \bar ":|:" 
 \repeat volta 2 { g4. fis8
 \break
 ees( d) c4 d d a'8( g) g4 fis8( ees) ees([ d)] }
 \alternative { { a'2~ a4 r4 } { d2~ d4 r4 } }
 \bar "||" 
}
\addlyrics { Ю- нак вър- ви през го- ри- ца зе- ле на, тю- тюн пу- ши със
лу- ли- ца чер- ве- на -на }
%
\layout {
  indent = #0
  line-width = 190\mm
  ragged-right=##f
}
%
\midi {
   \context {
      \Score
      tempoWholesPerMinute = #(ly:make-moment 132 4)
      }
   }
}

\header{
  opus = "ТД-178,1,11" 
  tagline = ##f
}

\paper  {
    myStaffSize = #20
    #(define fonts
    (make-pango-font-tree "Times New Roman" 
    "Nimbus Sans" 
    "Luxi Mono" 
    (/ myStaffSize 20)))
  }

Резултат:

Естествено не е проблем музиката, описана по този начин да се изсвири от компютъра. За целта LilyPond може да произведе MIDI файл. От там с един хубава софтуер за свирене на MIDI, човек може да си пусне акомпанимент с различни инструменти, като текстовете му се визуализират паралелно с музиката. Както е видно от сорс кода, на места се прескача парсера и се викат директно Scheme фунцкии. Това е много удобно в случаи, когато човек иска да обиколи граматиката и да извика функционалност, която е написал на по-ниско ниво. Още не сме стигнали до там, но едва ли ще минем без писане на Scheme.

Всъщност пиша всички тези неща в блога с определена цел. Цялата тази работа я вършим почти на ентусиазъм. Както много хора се досещат, нито българската държава, нито някоя частна организация се е разсипала да дава пари за подобни проекти. А за тази работа се иска много акъл и много време, ако трябва да таксуваме по пазарни цени нашия клиент, той най-вероятно просто ще се откаже. За това ми е интересно дали не може натрупаните знания и опит от този проект, да бъдат приложени другаде. Чудя се има ли други хора в България, които да се занимават с подобни неща. На всеки един композитор му се налага да ползва някаква подобна система. Имам подозрения обаче, че в България този проблем е решен по български. Сигурно се използва масово някоя комерсиална, графична система за писане, където едно подобно петолиние се въвежда с помощта на 5000 кликания с мишката. За работа в този стил е необходима огромна армия от Microsoft Certified Double-clickers, която няма как да не допуска огромно количество грешки.

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

Проформа фактура на Регистър.БГ 2

Posted by Kiril Kirov Mon, 29 Dec 2008 13:05:00 GMT

Това нещо представлява официален документ, издаван от фирмата монополист в регистрацията на домейни от областта .bg. Вземайки такава дребна сума за извършваната от тях услуга, явно нямат пари да си закупят счетоводен софтуер. Може би трябва да им изпратим по 1-2 лева през Българската Коледа?

Хартиени офис проблеми 4

Posted by Kiril Kirov Sun, 23 Nov 2008 15:59:00 GMT

Колкото и да мразя, от време на време ми се налага да работя с хартиени документи. Тези дни ми се наложи да изпратя един договор по пощата, иначе редовно печатя фактури. Прави ми впечатление следния факт. Най-стандартния размер на хартията в Европа е A4, а в Щатите е Letter. Всички принтери, които поддържат A4 размер, поддържат и Letter. Това се постига лесно, защото A4 е 210 mm, а Letter е 216 mm широк. По този начин производителите на принтери пестят доста пари. Пликовете за писма също имат стандартни размери, например има един размер плик – C4, който е направен да побира A4 писмо. C4 има ширина 229 mm, което прави пускането на моя принтер невъзможно. Дали това не е направено съзнателно, за да отида и да си купя по-скъп принтер? По-малко от сантиметър не ми достига за да напъхам плика. В момента за да отпечатя адреса използвам залепваща се хартия A4, която трябва да режа с ножица. Естествено при тази операция се чуствам, като в час по “труд и творчество” от началните класове. Чудя се защо по дяволите няма пликове с Letter ширина, които спокойно биха минали през всеки един A4 принтер. Също така няма никакъв проблем човек да побере няколко A4 листа вътре, без да ги сгъва. През моя принтер не е проблем да мине C5 плик, който е направен да побира сгънат на две A4 лист. Мисля да ползвам тази функционалност за в бъдеще. Все пак е крайно неудобно листата да се сгъват, особено когато са повече.