четверг, 25 февраля 2010 г.

gettext

Наконец-то я окончательно разобрался с модулем gettext. Все работает, хак против кеширования показал себя отлично, правда в винде нужно заклюшить (@) некоторые setlocale.

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

Hello world!

Позавчера после до-о-о-олгого перерыва (лет 10, если честно) взял в руки С++ и сделал  свой не первый "Hello world": небольшую тулзовину, которая позволяет получить unix timestamp.

Вот она:


P.S.: Кстати, очень удачная подсветка синтаксиса.
Как прикрутить такую же себе можно узнать тут: подсветка синтаксиса для blogger

понедельник, 15 февраля 2010 г.

DrupalCamp Kyiv 2010

В этом году снова будет проходить DrupalCamp. Увидимся на месте!

четверг, 11 февраля 2010 г.

Вебинар "Людям о менеджерах"

Вчера прошел вебинар под названием "Людям о менеджерах", докладчик Денис Войханский, aka "dva".

Общее впечатление от вебинара достаточно неприятное. Если позволите, вкратце о багах:
Баг номер один (самый главный) - время. Вебинар планировался на один час. Перед началом Денис честно предупредил: в час не уложимся, тема большая и интересная, поэтому будет два. "Ок" - подумал я и раздвинул свой тайм-лайн на час. Потом так же честно предупредил, что можем не влезть и в два часа и разрешил уходить кому надоест. "Хм" - подумал я. Когда по окончанию второго часа мы дослушали вопрос 4 из 11 мне, к сожалению, пришлось вернуться к делам. Очень обидно прерывать какой-то интересный процесс на середине и именно это испортило мне все впечатление от вебинара.
Ирония ситуации заключается в том, что вебинар посвящен менеджменту и менеджерам. Конечно, менеджмент это не всегда управление временем, точнее не только это, но если исходить из слов мотивационной части о том, что "вам нужны менеджерские навыки, потому что вы менеджер самого себя", то докладчик явно недостаточно "менеджер себя" :-)
Очень жаль, что в вебинаре нашлось время на многократное повторение одинаковых примеров, экивоки, остроты в адрес гугла, коллег и уходящих из зала участников, на живое общение с залом и рассказ о похудении на 30кг и йоге, но не нашлось времени этот вебинар закончить.
Второй баг - визуальное сопровождение доклада. Для людей сидящих в зале был установлен флип-чарт (или доска, я не знаю) и проектор. Для вебинарщиков транслировался только проектор (может быть флип-чарт тоже, а я просто не осилил включить?) Так вот проектор, как правило, транслировал название текущего топика и комикс к нему. Не будем упоминать небольшую нестыковку с порядком слайдов, все бывает. Но ужасно было то, что на флип-чарте рисовались "барчики" и "дырки", и по ним было многое рассказано. А проектор в это время показывал "ктулху". В итоге о некоторых вещах приходилось догадываться. Почему нашлось время нарисовать комиксы, но не нашлось времени как-то нарисовать и подписать эти "барчики" и "дырки" в презентации - не понятно. Хотя, я немного приврал. На одном слайде была цитата из "Звездного десанта" (да-да, "специализация - для насекомых", привет Agile), а на другом диаграммы (видимо "барчики", во всяком случае мне так хочется думать).
В итоге второй баг стал для меня очень хорошим опытом. Я в очередной раз убедился, что доклад надо строить так, как будто доски и проектора не существует.

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

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

Кстати, он упоминал компанию GlobalLogic и Романа, но не совсем понятно в каком контексте, там часть мысли где оно упоминалось где-то зажевало.

Так же были ссылки на: Теорию ограничений, на Друкера и на Ицхака Адизеса. На последнего особенно.

Итого. Двух часов не жалко, но бывает и лучше.

понедельник, 8 февраля 2010 г.

Проблема с интернационализацией.

В процессе написания небольшого скрипта на PHP решил, что будет хорошо, если скрипт будет поддерживать несколько языков.
По первому взгляду вопрос решается обычным ассоциативным массивом. Но в этом мире и без меня достаточно изобретателей велосипедов, поэтому следовало посмотреть gettext. Инструмент мне понравился, особенно утилита xgettext, но его настройка пока мне не дается.
Возникли таки проблемы:
  1. Хороший плагин для eclipse gted по-умолчанию формирует .po/.mo-файлы в папке ./locale/<код_языка>, а скрипт (считай модуль апача) подтягивает файлы из папки ./locale/<код_языка>/LC_MESSAGES. Неудобно то, что файлы приходится перекладывать.
  2. На моем EasyPHP  файлы перевода подтягиваются только после перезагрузки сервера. Понятно, что для продакшн-сервера это будет неудобно.
  3. Ну, и никто таки не смог мне внятно объяснить смысл установки локали (setlocale) и переменной окружения (putenv, LANG). Этот вопрос явно мной недокурен в достаточной степени.
Если эти вопросы не решатся, то мой велосипед будет функцией, которая парсит .po-файлы. Удобно тем, что можно использовать тот же xgettext, но не нужен отдельный модуль для Apache. С другой стороны быстродействие... Не знаю, не знаю...

P.S.: Кстати, для модуля i18n, например для drupal, файлы перевода это только .po-файлы. К чему бы это?

P.P.S.: Я был прав насчет перегрузки сервера. Но есть интересный хак при помощи которого можно обойти кеширование .mo-файлов. И с локалью все стало понятно.

суббота, 6 февраля 2010 г.

Немного о сценарном тестировании

На замечательном сайте www.software-testing.ru есть небольшая статья о 1С:Сценарное тестирование

пятница, 5 февраля 2010 г.

Деньги-дребеденьги

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

Иконка Админа-угодника

У нас на работе запретили RAdmin и иже с ним. Теперь выкручиваемся через скриншоты и батники. Мой коллега, который задолбался каждый раз рассказывать, в каком сетевом каталоге находится файл, который надо запустить, сделал всем на рабочем столе ярлык «Волшебная иконка».

Звонит какой-нибудь опечаленный юзер и описывает свою проблему. Коллега тут же пишет батник и говорит: «А теперь нажмите волшебную иконку». Дальше по обстоятельствам: либо копируется исправленный конфиг, либо собирается дополнительная инфа, либо ещё что-то. Всё остальное время, чтобы юзеры излишнюю самостоятельность не проявляли, там красуется код:

echo "Извините, но без благословения волшебная иконка не работает."
pause

Вот и пошло-поехало у нас: запрос в сервис-деск — помолиться, рассказать о проблеме — покаяться.

— У нас тут проблема...
— Молилась ли ты, дочь моя?
— Да, номер молитвы такой-то.
— Плохо молилась, принеси жертву иконе.

Барышня щёлкает по иконке, и админу пересылается нужная информация.

— Молитва ваша услышана, ждите благословения.

Если же батниками не исправить:

— Бес вселился в машину вашу, придётся посетить вас лично.

С такими шутками-прибаутками и живём — не сочтите уж за богохульство.

(c) it-happens

The Rise And Fall of Waterfall

Это чрезвычайно любопытно! Чрезвычайно!



Спасибо Максу Дорофееву