четверг, 12 мая 2011 г.

[life] Слиняю на несколько дней из Гомеля

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

Пока же дам ссылку на интересный блог-пост “Младым соискателям” (наверняка баян, но все-таки). Для затравки вступление:

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

1. "Быстро растущая компания" - несколько корешей срубили, наконец, нормальные бабки с клиента. Надо срочно нанять народ, чтобы попытаться сделать работу.

2. "Гибкие agile методики" - в конторе никто ни ухом, ни рылом не сечёт в предметной области. Программистам придется "гибко", с разворотами на 180 градусов, менять свой код по мере постепенного и страшного осознания, а какую, собственно, прикладную задачу они выполняют.

Очень рекомендую сходить по ссылке и прочитать оставшиеся пункты.

И позволю себе добавить еще один пункт:

N. “Динамичная компания” – контора хватается за все, до чего может дотянуться, а разработчикам приходится переучиваться из одной предметной области в другую и тянуть несколько разнородных проектов одновременно.

[prog.work] Одно из важнейших условий успешной работы программиста

Условие это – возможность непрерывной работы над одной конкретной задачей от начала до конца. Если же это условие не выполняется и разработчику приходится отвлекаться на какие-либо другие задачки или заниматься координацией чьей-то работы, то… Все плохо становится. Производительность падает не просто в разы. Возможно, на порядок.

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

[prog] Презентация Вальтера Брайта Patterns Of Human Error

Все, что говорит Вальтер, наверняка хорошо и правильно… Но, как известно, задним умом все крепки :) Ведь как все происходит – сначала появляется что-то полезное, этим начинают пользоваться, набивают шишки, затем придумываются средства защиты от шишек. Но! Средства защиты должны встраиваться в тот инструмент, который уже используется. Или в новый инструмент, который будет поможет вспахать ранее непаханое поле. Вот, скажем, оператор foreach, который действительно делает использование циклов по коллекциям безопаснее. Добавили его в Java. И в C# его сделали. Но Java уже давно использовалась, а C# был новым инструментом – MS вспахивал целину под названием “своя собственная Java для Windows”.

И это сработало. А вот Брайт правильные вещи вставляет в инструмент, который интересен очень и очень небольшой группе энтузиастов. Говоря по простому – вообще никому не интересен. Что делает ценность этой презентации, на мой взгляд, значительно ниже, чем она того заслуживает.

[prog] Релиз Scala 2.9.0

По сложившейся традиции делаю анонс выхода финальной версии Scala 2.9.0. Список изменений не такой уж и маленький, поэтому заинтересованных отправляю к тексту официальной новости.

Так же сегодня пришла новость, что Мартин Одерски со товарищи вместе с Джонасом Бонером (Jonas Bonér), так же со товарищи, организовали новую компанию Typesafe для продвижения связки из Scala и Akka.

среда, 11 мая 2011 г.

[life] Население стремится скупить валюту без видимых на то причин

Сегодня Нацбанк РБ разрешил банкам продавать валюту по собственным курсам (раньше им разрешалось отклонение от курса Нацбанка в пределах 2%). Понравился комментарий к этой новости от некоего представителя Нацбанка:

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

Выделение жирным мое. Эпично, однако. Без видимых причин!

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

PS. Для тех читателей блога, которые не в курсе происходящего в РБ – интересная статейка “Как я провела три дня и две ночи в очереди за валютой”.

вторник, 10 мая 2011 г.

[prog] Прочитал про планы Nokia относительно Qt 5, задумался…

Вот здесь PDF-ка от Nokia, а здесь вполне вменяемый пересказ на русском. Если не жалко 10 минут времени, я бы все-таки рекомендовал просмотреть англоязычный вариант – там 7 страниц текста крупным шрифтом.

Честно скажу, прочитанное меня больше разочаровало, чем обрадовало. Qt4, на мой взгляд, был очень правильным шагом от GUI-библиотеки к фреймворку общего назначения. Взяв Qt4 можно было разрабатывать, в принципе, любые приложения, хоть слепой консольный server-side. И это было здорово! Это был очень правильный шаг от троллей.

Но вот переход Qt под крыло Nokia зародил подозрения, что Qt в конце-концов переориентируют не в ту сторону. И, к сожалению, такие подозрения начинают сбываться. Большое внимание Qt Quick, возможность разработки Qt-шных приложений на JavaScript (вообще без C++) – все это сильно смахивает на огромный шаг назад, к GUI-only. Да еще сновная разработка будет сосредоточена всего на трех основных платформах – Linux, MacOS и Windows, портирование же под другие платформы будет вестись силами тех, кому это нужно…

С другой стороны, эти новости пришли вовремя. Дело в том, что для SObjectizer5 (временно приостановленного) мы изначально выбрали ACE в качестве базовой библиотеки. В том числе и потому, что это облегчает переиспользование кода из SO4. Но в последнее время участились вопросы о возможности интеграции SO5 не с ACE, а с Qt. Приходилось задумываться – а не перевести ли SO5 на Qt? Теперь, похоже, ответ обозначился сам собой :(

И вообще, если если с Qt5 все будет именно так – т.е. ориентация исключительно на GUI, то больших кроссплатформенных фреймворков общего назначения для C++ останется всего два – Boost и ACE. В принципе, есть еще неплохая библиотечка POCO, но она не дотягивает по своим масштабам. А вот Qt уже можно не принимать в расчет.

Но, подчеркну, что речь идет только об не-GUI проектах.

воскресенье, 8 мая 2011 г.

[work] Ремарка о подкастах

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

Вчера нашлось время послушать подкаст “Как рушатся долгосрочные отношения между менеджером и сотрудником”. Эффект получился отрицательный. Сидеть и полчаса внимать чьим-то потокам сознания невозможно, поэтому по ходу еще попытался прочесть какую-то статейку. В результате толком ничего не уловил ни там, ни там.

Понять авторов подкастов просто – 20-минутное выступление – это с десяток, если не больше, страниц текста. Написать статью такого объема – несколько дней напряженной работы. И это без учета предварительной подготовки, составления плана и пр. Тогда как надиктовать это же в микрофон – всего лишь 20 минут. Экономия времени налицо.

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

PS. Еще не могу не сказать про конкретно этот подкаст. Фразы вроде “мы сейчас рассмотрим кейс” сильно режут слух. Почему нельзя нормально сказать “мы сейчас рассмотрим ситуацию”? Полиглоты, ёптыть…