30 октября 2007 г.

FarManager теперь будет Open Source

Ну, все, о чем мечтаешь и надеешься, рано или поздно сбывается :) Вот, и Far, после стольких лет использования под лицензией xUSSR, теперь стал свободным ПО — повод для маньяков-программистов полазить по исходному коду, а для Far'а — довольно реальный шанс стать более качественным (и современным) продуктом. Судя по комментариям на форуме, желающих поучаствовать довольно много :)

ЗЫ. Интересно, сколько их будет через пару-тройку месяцев? ;)

27 октября 2007 г.

Восхитительное чтиво

Сегодня ковырялся в Сети в поисках наилучшего перевода на русский язык сказки "Алиса в Стране Чудес". И совершенно случайно наткнулся на незнакомый мне доселе текст "Восемь или девять мудрых слов о том, как писать письма". О, какое удовольствие я получил от прочтения этой небольшой, но очень интересной статьи!.. :)

Несмотря на то, что этому тексту уже больше ста лет, он продолжает быть актуальным и сейчас. Думаю, этих мудрых слов очень не хватает участникам различных форумов. Сколько бы позитива появилось в спорах и обсуждениях, если бы их участники следовали этим советам...

Вообще, даже если допустить, что советы безнадежно устарели, все равно, остается довольное хорошее впечатление от приятного изложения мысли и характерного для Доджсона юмора:
Ваш спор будет продолжаться бесконечно, как бесконечна периодическая дробь. А разве случалось вам хоть когда-нибудь слышать, чтобы бесконечные периодические дроби заканчивались?

Я советую всем, кто еще не знаком с этим текстом, обязательно прочитать. Хотя бы как художественное произведение :)

24 октября 2007 г.

Искусство интервью от gamedeff

Очень хорошая статья о методике найма кодеров. К сожалению, статья ориентирована на геймдев-проекты, поэтому некоторые приемы и вопросы довольно специфичны. Несмотря на это, очень правильная статья, и я согласен с каждым ее пунктом. Вдобавок, перечисленные в статье вопросы и задачки могут быть использованы кодерами как чеклист для регулярной проверки своей боеготовности :)

Читать статью на blog.gamedeff.com

Отсебятина. Подход к отсеиванию "плохих" соискателей, конечно, правильный, но сейчас наблюдается нехватка вообще квалифицированных разработчиков, не говоря уж о специалистах в конкретных областях. Поэтому, думаю, что для полноты нужно было бы добавить методику распознавания из общей массы таких гениев, которые в короткие сроки могли бы быть переквалифицированы. Но, наверное, для этого нужно "революционное чутьё" интервьюера, а не конкретные вопросы и задачи.

23 октября 2007 г.

Команды bg, fg и jobs

До недавнего времени, если приходилось работать в unix или linux и редактировать несколько текстовых файлов, я открывал несколько gvim или открывал несколько терминалов и редактировал в каждом по одному файлу. Мне также приходилось использовать несколько терминалов, например, чтобы выполнять редактирование и сборку программы.

Но, как говорится, век живи, век учись. Так уж получилось, что последнее время пришлось много работать по ssh на удаленных серверах. А там и редактирование, и сборка, и запуск... В общем, несколько терминалов с ssh открыть, конечно, можно, да только слишком уж неудобно. Пришлось читать букварь :)

21 октября 2007 г.

Райкконен рулезз!

За многие столетия люди так и не решили, что же хуже — переезд, пожар или нашествие татаро-монголов. Мне самому принимать решение по этому вопросу как-то совсем не хочется :), но за последние полгода переезжать пришлось аж два раза... Врагу не пожелаешь. Но, к счастью, уже все позади, а уходящая неделя еще и пестрела радостными (для некоторых) спортивными событиями...

Например, то, что происходило сегодня в Бразилии на трассе Сао Паоло меня очень порадовало, хотя я всю гонку и сидел как на иголках. Можно сказать, что в поединке между опытом и молодостью победил-таки опыт, несмотря на то, что Хамильтон очень пытался... Не смог. В итоге чемпион этого сезона — Кими, хотя еще вчера в это мало верили даже фанаты Кими, не говоря уж о трезвомыслящих аналитиках.

На самом деле тактика (или стратегия?) ферров была предсказуема, хотя и была на грани дисквалификации за командную игру — на старте они дружно взяли Хэма в коробочку и не дали ему вырваться вперед... А как выходил Кими из последнего питстопа? Это просто песня. Ну кто же, ну кто же, гадали комментаторы, окажется на трассе впереди — Кими или Масса? Кими или Масса?.. "И все-таки Кими, ну надо же!! " А ведь Массе было достаточно просто слегка снять ногу с педали газа и пропустить вперед своего соратника по команде, претендента на чемпионский титул... Ну да ладно.

А вот то, что происходило с Хамильтоном, действительно было чем-то невероятным. Множество ошибок и какие-то странные проблемы с машиной, из-за которых он откатился на самое последнее место... Просто какое-то чудо! Наверное, слишком много людей не хотели, чтобы он стал чемпионом. Я, например, радовался бы даже победе Алонсо ;)

Но все хорошее рано или поздно заканчивается. Но лишь за тем, чтобы через какое-то время начаться снова. Сезон закончен. Жду следующей весны :)

16 октября 2007 г.

QtAda: поддержка Mac OS + скриншоты

Теперь библиотека QtAda поддерживает Mac OS X помимо MS Windows и Linux.

Кроме этого, появились первые скриншоты. Вот, например, один из них:


P.S. Плохо, что сайт библиотеки в сыром состоянии. К сожалению, ссылка download с сайта работает неправильно. Поэтому скачать последнюю версию библиотеки QtAda всегда можно с http://sourceforge.net/project/showfiles.php?group_id=193547.

10 октября 2007 г.

О пользе тренингов

Некоторое время назад мне казалось, что различные IT-семинары — пустая трата времени для опытного разработчика. Я имею в виду не конфереции, где народ общается между собой, а именно профильные семинары, где читают лекции по конкретной узкоспециализированной тематике. Мне казалось, что такую информацию можно получить самостоятельно, главное — уметь читать документацию, умные книжки... Ну, и форумы, конечно. Куда ж без них? :)

Сейчас, по долгу службы, посещая различные семинары и тренинги, понимаю, как я ошибался. Толково построенный двухчасовой тренинг может дать гораздо больше, чем самостоятельное изучение какой-нибудь книги в течение недели.

Совсем недавно я испытал легкий шок — после тренинга "Введение в UML". Надо сказать, что я относил себя к категории знающих UML "выше среднего". Поэтому шел на тренинг с мыслью о том, что я просто потеряю время — что может дать мне "введение" в область, которую я уже знаю? Вот если б что посложнее... Эх...

Я забыл о своей досаде минут через десять после начала семинара. Странно, лектор рассказывал уже давно известный мне материал, но выбирал при этом такие яркие и понятные примеры, что некоторые возможности UML вставали передо мной в новом свете.

Например, квалификаторы. Да, я знал об их существовании. Но применять как-то не приходилось, да и не было особого понимания, для чего они нужны и когда именно нужно применять эти самые квалификаторы. И что же? Пара слайдов, примеры на пальцах, пара дополнительных вопросов — и уже все понятно...

Сразу вспомнилось, как два года назад мы пытались создать на UML описание предметной области проекта, но по уши увязли с ассоциациях многие-ко-многим. В результате модель мы, конечно, получили, но, честно признаюсь, она была довольно корявой. Сейчас, анализируя полученную информацию, думаю, что квалификаторы нам здорово бы тогда помогли.

Также я открыл для себя еще неизведанную мной область под названием OCL (Object Constraint Language). Раньше использовал этот язык только для описания простеньких условий и ограничений в UML-модели. Как оказалось, OCL имеет в своем арсенале довольно удобные средства, которые позволяют не изобретать велосипеды при построении модели предметной области.

Например, в OCL существуют предопределенные свойства для ассоциаций — xor и ordered. Свойство {xor}, соединенное с двумя (и более) ассоциациями, указывает на то, что в любой момент времени жизни модели существует только одна из указанных ассоциаций. А {ordered} позволяет указать для ассоциаций один-ко-многим, что множественность объектов является упорядоченной.

Я привел в качестве примера эти свойства потому, что именно их наша маленькая команда пыталась в свое время "изобрести", несмотря на прочитанную спецификацию UML 2.0. А ведь достаточно бы было пары простых семинаров "Introduction to UML", чтобы в наших головах все стало на свои места.

В общем, я теперь думаю, тренинги по специальности нужно проходить регулярно. Как по новым темам, так и по уже давно знакомым — это полезно :)

9 октября 2007 г.

"Маразм крепчал"

Похоже, что в своем стремлении истребить всех пиратов на земном шаре, борцы за соблюдение авторских прав рискуют дойти до полного идиотизма.
В исковой жалобе утверждается, что ответчик нарушает авторские права, поскольку (...) в сервисных центрах (...) механики во время работы слушают персональное радио, и что эту музыку, защищенную копирайтом, могут слышать их коллеги и клиенты

Вот, например, есть некоторые граждане, которые в общественном транспорте слушают свои плейеры/радио в наушниках. Но то ли наушники плохие, то ли громкость немаленькая, но слышно это всем сидящим и стоящим рядом. Эдак можно подать в суд и на этих граждан. А что? Давайте подадим... Самое страшное, что их, скорее всего, признают виновными.

Или, например, приходит ко мне друг. Я ему: "Смотри, какой я диск сегодня добыл! Послушай, какая музыка, какие пассажи! Ты только послушай!..." Друг завтра расскажет на работе, что слышал у меня классный диск... Через некоторое время мне придет повестка в суд, что я устраиваю публичные прослушивания, и что это нарушает закон об авторском праве... Бррррр! Абсурд.

Лично я — "за" соблюдение авторских прав. Но, похоже, что кто-то совсем не знает меры.