неделя, 30 септември 2007 г.

Чашата е наполовина пълна

Тази събота имах възможността да посетя ежемесечната конференция на Linux-BG. Хубавото на тези лекции е, че успяват да съберат интелигентни хора, с разностранни интереси. А винаги е хубаво да говориш такива хора.

Прекрасно впечатление ми направиха момчетата от Gugga, които представиха техен framework за улесняване на флаш програмистите при създаване на приложения, които трябва да се обновяват лесно (въпреки богатото мултимедийно съдържание). Освен това, този framework подпомага локализирането на различни езици както и създаването на олекотена и достъпна версия на приложението за инвалиди (accessibility). Важното е, че момчетата се позоваваха на собствения си опит, а резултата е именно създаването на библиотека за решаване на този кръг от проблеми. Огромно впечатление ми направи страстта, с която говореха и лекотата на представянето - личи си от 100 километра, че си вършат работата с желание и удоволствие и не на последно място - компетентност. За създаването на качествен софтуер, компетентността е важно качество. Тези момчета ценят качествения софтуер - знаят с какво design patterns могат да им помогнат, защо unit тестовете са важни, кога и кое трябва да оптимизираш. И главното - осъзнават, че създаването на качествен софтуер е важно да бъдат конкурентноспособни на пазара.

Друга интересна тема беше представянето на Startup BG за подпомагането на startup фирми реализиращи авангардни идеи. Отвъд океана иновациите се създават именно в такива startup фирми - ако идеята се окаже печеливша, обикновено някоя голяма IT акула купува startup-а, заедно се интелектуалната собственост. Разбира се за многократно повече пари от колкото са вложени. Проблема е, че хората с добра идея нямат необходимите управленски или маркетингови способности за да създадат и ръководят фирма. Startup BG ще сформира няколко лекции - нещо като съкратен курс на 5 годишно следване в УНСС, с цел да разбули бюрократичната страна на нещата необходими за материализирането на нова идея - бизнес планове, финансиране, управление на човешки ресурси и т.н. Отново пролича хъса и желанието за работа - Startup BG са млади студенти в УНСС, които имат желание реализират бизнес в България. Дано успеят - искрено им го желая.

Цялата конференция бе заснета, излъчена на живо в Интернет (15 зрители - за повече нямаше канал) и предполагам скоро време ще бъде достъпна и на запис.

Тръгнах си от конференцията зареден положително и оптимистично.

четвъртък, 27 септември 2007 г.

Върви си, народе изродени

Тръгвайки както обикновено от работа в 5, изобщо не предполагах, че прекосяването на центъра ще е толкова трудно. Висях си аз като прани гащи в тъпканата маршрутка и се притеснявах дали ще успея да взема детето си от ясла до 7. Шофьора и един друг пътуващ ругаеха „даскалите“ дето са си позволили да нарушат движението в часа пик. Въпреки сериозното неудобство, което дългото, почти 2 часа пътуване ми причини – аз все още подкрепям стачката на учителите. Горещо и безусловно. Защото в държавата на абсурдите с добро не става. Той боя изгражда, не разгражда. Не може министър Вълчев да използва алюзии към Хари Потър в интервюта и да твърди, че само магия може да помогне. Г-н Вълчев, ами то образованието в момента се държи на магия! Знам, знам - перфектния електорат трябва да е неук, за да е по-лесен за манипулация. Да може да задраска правилното чисълце в бюлетината. Толкоз. Не ти трябва да знаеш косинусовата теорема за да гледаш стари хора в Италия, или кой е написал Бай Ганьо за да лепиш плочки в Испания.

Чък Норис и Световната фондова борса

Често си препрочитам фактите за Чък Норис. Обичам и тези за Java програмисти. Обичам и фактите за локализираната му версия - Б. Борисов. Има новото попълнение от днешния вестник Дневник, този път за финансисти. Ето тези, които най ми допаднаха (по-скоро, тези които разбрах):
  • Чък Норис не предприема мерки за овладяване на инфлацията. Той използва карате срещу нея, докато тя не започне да го моли за милост.
  • Не съществува регулатор на пазара. Просто Чък Норис е разрешил някои акции да бъдат търгувани.
  • Когато Чък Норис ти даде цена, това не е предложение за сделка, вие сте задължен да купите.
    и разбира се злободневното
  • iPhone-ът на Чък никога не трябва да се зарежда.Кривата на графиката на Чък Норис никога не върви надолу.
Останалите са в статията в Дневник. Има и доста, които магистър по компютърни системи не може да разбере (кой е Бен Бернаке?). Мисля, че е за добро. :)

вторник, 25 септември 2007 г.

Easy Livin' на Uriah Heep в Маската

Напоследък ми попадат интересни български изпълнители - Macrophonе и тяхното Path, едно много готино парче на София, което гледах по ММ2 (но убий ме! не мога да се сетя как се казваше), сега един доста добър кавър на любимото ми Easy Livin' на Uriah Heep изпълнено от една българска банда - Jerihon. Клипа е записан в клуб Маската и носи носталгията на Час по всичко. Иначе звука е на много добро ниво. Освен стандартните инструменти за една рок-ориентирана банда, в Jerihon има и цигулка, а двете момичета добавят много приятен бекинг вокал:

четвъртък, 20 септември 2007 г.

понеделник, 17 септември 2007 г.

Ръчни режими за снимане и измерване при любителски фотоапарати

Все повече цифрови фотоапарати (а и телефони) имат ръчни настройки за фин контрол на снимането. Винаги съм се чудил какви са разликите между различните режими за измерване (Metering mode) и режими за снимане (Exposure Program). Ето едно бързо обяснение на български като за обикновенни потребители.

Режим на измерване (Metering mode)

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

Има три основни вида мерене:
  1. точково (Spot),
  2. централно-претеглено (Center-weight)
  3. матрично (Matrix).
При точковото замерване се взема за определяща осветеността в дадена точка, най-често съвпадаща с използваната автофокусна точка. Има и такава настройка -- заключване на меренето към автофокуса. Така се преценяват експонационните параметри (в зависимост от режима на снимане те са различни комбинации от бленда, време на експозиция и чувствителност) в точката, където е автофокусът. Ако трябва да се прекадрира, експозицията се "заключва", запомнят се тези стойности, за да не се мери повторно след прекадрирането.

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

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

Режим на снимане

Това е режимът на снимане, който е използван. Има няколко най-разпространени режима:
  1. "приоритет на бленда", "aperture priority" (означения "Av" или "A") -- фотографът променя блендата, а апаратът автоматично преценява каква скорост да се използва.
  2. "приоритет на скорост", "time priority" (означение "Tv" или "Т") -- фотографът избира скорост, време на експозиция и апаратът автоматично преценява каква бленда да се използва.
  3. "програмен", "program" (най-често означен с "P") -- обратнопропорционално променяне на бленда и скорост от фотографа, апаратът винаги се опитва да постави комбинации, предполагащи правилна експозиция. Има различни варианти, на различните производители, но това е общата логика. Отваряш блендата и съкращаваш времето или обратно. "Автоматичен" режим, който все пак не ограничава
  4. "автомчатичен", "auto", "auto-pict" (означава се със зелен надпис или зелено квадратче") -- пълен автоматичен режим. Често при него и светкавицата се задейства автоматично, и чувствителността се нагласява автоматично..
  5. "ръчен", "manual" (означение "M") -- всички настройки са ръчни, светломерът се ползва само за справка.
Има и някои други режими, например двата нови режими на приоритет на чувствителност в Pentax K10D:
  1. "приоритет на бленда и скорост" ("TAv", time and aperture value) -- фотографът задава бленда и скорост, апаратът преценява чувствителността
  2. "приоритет на чувствителност" ("Sv", sensitivity value) -- фотографът избира чувствителност, апаратът замерва и избира скорост и бленда.
(Автор: Ясен Праматаров - публикувано с разрешение)

петък, 14 септември 2007 г.

Изкуплението Шоушенк в 1 мин

Въпреки, че неодобрявам гавра с класически филми, като например Изкуплението Шоушенк - не мога да пропусна приятното рапиране ала 90-те. Приятно гледане:



Aко не сте гледали оригинала (всъщност, какво сте правили през последните 15 години от живота си?) - бързо към торените.

сряда, 12 септември 2007 г.

Видео през Интернет, Firefox, Ubuntu - можело значи!

Никога не съм успявал да накарам не-Flash видео съдържание от уеб страниците да се пуска (лесно) под Линукс. Последния път Firefox гърмеше за щяло и не щяло след инсталиране на mozilla-mplayer. Затова всеки път се ровя в изходния код на страницата и търся видео URL (mms://, *.mov, *.wmv) за да си го пусна с mplayer в командния ред. Виждате ли какво прави желанието на един (Линукс) потребител да гледа "I'm Mac - I'm PC" на сайта на Apple.

Стига! Не искам да имам firebug и curl за да мога да гледам видео. Дадено! На помощ идва приставката MediaPlayerConnectivity за Firefox. Всеки вграден в страницата видео материал (от глупавите формати QuickTime или Windows Media Video) се замества с икона, която може да се щракне. При щракване се пуска mplayer (или друг предпочетен от вас плейър). Чисто и просто.

BTW, тази приставка е пример за добър софтуер. Веднага след инсталация претърсва за подходящи програми за пускане на аудио и видео. Не се налага аз да ги конфигурирам ръчно. Единствено избрах навсякъде да ползвам mplayer. Браво!

Благодаря на neter от форумите на Линукс БГ, който ме светна. Благодаря на Митака, че ми показа mplayer преди години.

Докато пиша тази публикация директно като HTML, без да ползвам WYSISYG редактора на Blogger ("ам' 'щото ми е по-лесно"), май нямам нужда от тази приставка. Така и така съм свикнал да изчоплям URL адреса с firebug - защо да си сменям навиците? Аааа, да - също така обичам vim. Знаете ли - забравете! Все едно тази публикация не съществува...

Промоционален клип на MS-DOS 5

Годината е 1991 - САЩ започват (първата) война в Ирак, Съветския съюз се разпада, сръбската армия навлиза във Вуковар и започва масово клане. Едно друго - несравнимо с тези - нещастие напада света: Microsoft записват този промоционален клип на новия MS-DOS 5! Новостите са много - ще освободи поне 45 килобайта от ценната памет, undelete, графичен интерфейс, бърз формат (!) - гив ми файв!



Слава богу, в тази година Линус Торвалдс публикува ядро 0.01. BTW, този не ви ли прилича на Weird Al Yankovic

Комбинация

Влиза един колега днес в нашата стая и пита:
- Някой от вас да знае Orcale SQL и френски?
На което колега от стаята отговаря:
- False.

Интересна комбинция, а ;)

Това ми напомня на един цитат:
<sonium> someone speak python here?
<lucky> HHHHHSSSSSHSSS
<lucky> SSSSS
<sonium> the programming language

понеделник, 10 септември 2007 г.

Лекция за Selenium на OpenFest 2007

Екипът на OpenFest 2007 одобри моето предложение да водя лекция на тема "Безмилостно тестване на уеб приложения – проекта OpenQA".

Аудиторията ще бъде запозната с проекта OpenQA, обединяващ инструменти с отворен код за подпомагане и/или автоматизиране тестването на приложения. Ще бъде обърнато специално внимание на Selenium – изключително полезен инструмент за създаване на функционални тестове за уеб и AJAX приложения, както и изпълнението им без намесата на човек върху множество браузъри (Firefox, Internet Explorer) и платформи (Linux, Windows). Ще бъдат показани примерни тестове, начини за създаването им (ръчно или чрез приставка към Firefox), както и възможности за разширяване на Selenium за специфични задачи.

Освен практическата страна - запознаване със Selenium - лекцията насърчава разработчиците да създават софтуер изчистен от грешки като представя достъпни и качествени инструменти за автоматизиране на рутинни (и най-вече скучни) задачи при тестването софтуера. Selenium може да се използва като алтернатива на „затворени“ продукти за функционално тестване в съвременните, гъвкави и тестово-ориентирани методологии за разработка на софтуер (Agile Development, Test-Driven Development, Extreme Programming).

Надявам се темата да е интересна за публиката. Доста работа ме чака...

сряда, 5 септември 2007 г.

Списък, разделен със запетаи от MySQL заявка?

Днес бях приятно изненадан от MySQL. Обикновено, както често се случва във вицовете за Щирлиц, MySQL ме изненадва... хм... неприятно. Но днес не е такъв ден! Исках резултата от една MySQL заявка да го превърна в списък разделен със запетаи. Заявката връща списък с ID-та, които искам да ги ползвам във DELETE ... WHERE ID IN (...) заявки. Оказа се, че има групиращ функция (от MySQL 4.1 нататък) - GROUP_CONCAT(). Веднага пример:

mysql> SELECT GROUP_CONCAT(id) FROM users;
+-------------------------------+
| GROUP_CONCAT(id) |
+-------------------------------+
| 2358,2360,2362,2366,2368,2376 |
+-------------------------------+
1 row in set (0.00 sec)

Готино! :)

Редакция:
Една малка особеност на GROUP_CONCAT - оказа се, че върнатия резултат е VARCHAR, следователно списъка не може да бъде по-голям от 255 символа. За да се преодолее това ограничение е достатъчно да изпълните:

mysql> SET SESSION group_concat_max_len = 20000;

Научно-технически прогрес

Спомяте си рекламите на Хонда - все едно извадени от филмче за Том и Джери. Ето едно практично, нискотехнологично и най-важното работещо решение:

Не бързайте да се смеете - имайки предвид наличните средства е гениално. Изобретено в Африка

вторник, 4 септември 2007 г.

Математически смешки

Клиент към продавач:
- Колко струва голяма порция Фибоначос?
- Колкото една малка и една средна.
Още такива смешки (на английски) на страницата на Ерик.