четвъртък, 24 юли 2008 г.

Отворен код, затворен код - there is no spoon!

Чета в блога на Йовко разни размисли на тема "отворен код", "Apple", и други такива. Разни хора коментират абстрактно и обобщено - затова пък искам да споделя един конкретен пример. Това беше преломния момент, в който осъзнах силата на софтуера с отворен код и станах негов горещ привърженик, защитник и популяризатор.
Като първокурсник (пост-Жан-Виденово време), моите родители с нечовешки усилия успяха да съберат 600 долара (колосална сума - за разлика от сегашните мизерни, обезценени щатски хартийки с мъртви президенти). С тази "пачка" от шест хартийки, си купих PC - 300Mhz-ов дзвер с 64Mb и 15-ска монитор. Лудница - радост до тавана. Видео картата беше S3 Savage 3D, произведена от вече фалирала компания (к'во да се прави - shit happens). Тъпото беше, че в зората на DivX всички филми, които пусках на тази карта имаха гадна розова линия на най-долния ред, вероятно бъг на самата карта. Тъпо, но нищо не можех да направя освен да разтегля изображението малко надолу с настройките на монитора, за да не се виждат последните 2-3 реда пиксели. Low-tech решение на hi-tech проблем. Може би от тогава си държа task bar-a в горната част на екрана - да не се отрязва на половина. Чесно - на бях се замислял, а винаги са ме питали защо е там. После пък разбрах, че Mac-вете били така. След известно време и 2-3 преинсталации на Windows 98 по-късно, реших да пробвам тази нова "програма" Linux. След дълга, неравностойна борба и без Интернет, най-накрая успях да си настроя X сървъра, само и само да установя, че проблема с розовата линия консистентно се появява и под свободната ОС. Още по-тъпо. Тогава ми хрумна да приложа хардуерното решение с монитора - този път софтуерно - защо не разтегля изображението в самия плейър. Отворих изходния код на любимия си mplayer, и там на ред 480 в на libvo/vo_xv.c, леко промених (отбелязано с червено) следния страховит ред:

XvPutImage(mDisplay, xv_port, vo_window, vo_gc,
xvi, 0, 0, image_width, image_height + 3,
drwX - (vo_panscan_x >> 1), drwY - (vo_panscan_y >> 1),
vo_dwidth + vo_panscan_x,
vo_dheight + vo_panscan_y);

Voilà, както казват румънците - леко разтеглих изображението, така че да покрива тази гадна розова линия долу. Вече можех да гледам филми без да ми се набива в очите този дефект. В този момент осъзнах каква сила дава възможността да промениш изходния код на една програма. Няма да чакаш да излязат нови версии, драйвери, или да се чудиш как да заобиколиш някой проблем. Ако ножа опре до кокала - отваряш кода, четеш, променяш и се надяваш да тръгне. Не е лесно - но пък удоволствието след това си заслужава.
~~~
Години по-късно, продължавам да правя малки хакове за да си подкарам това или онова - без да чакам някой друг да свърши работата вместо мен.

четвъртък, 17 юли 2008 г.

Защо трябва да гледаш (отново) "Крайпътна къща"



Защо трябва да гледаш (отново) "Крайпътна къща" (Road house) с Патрик Суейзи:
  • Защото много добре описва обстановката в България - бивш военен държи в малкия си джоб едно градче, барабар с полицията и съдебната система. Обикновентие хората ги е страх да се надигнат, защото все им се случва нещо лошо.
  • Патрик Суейзи се бие с нещо средно между източно бойно изкуство и подъл селски бой.
  • Има страхотен пиротехнически ефект изпълнен в реални мащаби (взрив на магазин).
  • Истинският мъж не се вкисва ако намери знак "Стоп" на задната седалка на колата си. Очевидна причина за липсващото странично стъкло. Също така сваля готината докторка, въпреки повърхностната си порезна рана на гръдния кош.
  • Ще си припомниш как изглежда едни ултра куул американски бар, преди да пушенето да се превърне в ебати-големия-проблем-на-тяхната-уж-демократична страна. Чупенето на бутилки и боя са също съвсем нормално нещо.
  • В същия бар свири истинска блус банда Jeff Healey Band, която забива много яко. Китариста е незрящ и свири по-доста странен начин - седнал на столче, държейки китарата на коленете си със струните нагоре.
  • Елизабет - гаджето на главния герой - е адски готина, въпреки че е so 80's
  • Актьора, който изпълнява ролята на лошия се казва Бен Газара. LOL.

понеделник, 14 юли 2008 г.

To be, or not to be: that is the question

Вечния Хамлетов въпрос "To be, or not to be" има доста прост отговор - 0xFF. Доказателство:
0x2B | ~0x2B == 0xFF

петък, 11 юли 2008 г.

Show them to me


Очарователна песен, проповядваща мир и любов...

сряда, 9 юли 2008 г.

ReiserFS - файлова система "убиец"

След дълги спорове коя е най-добрата файлове система за linux, оказава се че ReiserFS e "убиец". Малко започвам да се притеснявам - искам да си конвертирам лаптопа до ext3...