воскресенье, 15 ноября 2009 г.

Google для Вашего бизнеса - бесплатно

Вы владеет кафе или магазином и хотите, чтобы Ваши клиенты находили Вас при поиске местных услуг через Google Maps?
Теперь Вы можете разместить подробную информацию о Вашем бизнесе на Google.
Вы можете указать там часы работы, принимаемые карты оплаты и прочее. Даже оформить купоны/флаеры для печати для привлечения потенциальных клиентов.

пятница, 18 сентября 2009 г.

Хвастливый Галилей

"Я никогда не встречал человека настолько глупого, что я не мог у него чему-нибудь научиться." - сказал как-то основатель экспериментальной физики Галилео Галилей.
И вроде бы можно понять эту фразу следующим образом: не бывает безнадежно глупых людей.
Но если призадуматься, то понимаешь скрытый смысл - Галилей хвастался, что он настолько умен, что способен постичь зерна мудрости в речах и действиях даже самого недалекого собеседника.
И ведь на самом деле, кто из нас может похвастаться тем, что способен слышать, понимать и, тем более, учиться у любого? А ведь у каждого есть уникальный опыт или знания, интересными выводами из которых он или она способны поделиться и в каком-то виде обогатить духовный мир другого.
Но много ли "Галилеев" в наших рядах?...

воскресенье, 22 марта 2009 г.

Не спешите выкидывать свои старые визитки!

После того, как переходишь на новое место работы, остается целая куча неактуальных визиток. Но не спешите их выбрасывать, если они односторонние: их можно использовать для составления списков товаров, когда собираетесь в магазин или на рынок. Размер визитки будет в самый раз, чтобы вместить количество товаров, покупаемых за один заход.
Единственный минус - на оборотной стороне такого списка будет написано ваше имя и , возможно, контакты, так что лучше его не терять. :-)

суббота, 21 марта 2009 г.

Постоянная техническая задолженность

На этой неделе как-то за чаем мы с коллегами как-то разговорились о принципах разработки ПО.
Я рассказывал о метафоре технической задолженности (Technical Debt), придуманную Уордом Каннингемом (Ward Cunningham). Развивая мысль, лежащую в основе этой метафоры, я озвучил вывод, что лучше изначально все делать правильно и по уму, пусть и несколько дольше, лишь бы не наращивать техническую задолженность лишний раз.
Одна из коллег заметила, что это как-то не сочетается с таким принципом гибкой разработки, как YAGNI. Я как-то попытался объяснить это противоречие, но мне свое объяснение не очень понравилось. Это заставило меня задуматься.
Вообще, мысли, стоящие за этими двумя выражениями, не находятся в прямом противоречии. В противоречии находятся их крайние вариации. И это лишь еще одно подтверждение того, что в нашей работе всегда будет полно компромиссов, любую концепцию надо рассматривать критично и применительно к случаю (см. статьи No Best Practices и Better Best Practices), и ничему нельзя следовать слепо.
Но больше всего меня заставило задуматься возникшее понимание того, что техническая задолженность не может быть равна нулю в принципе (вернее, теоретически может, но на очень короткий срок). Статья Стива МакКоннелла (Steve McConnell), которую я прочитал после, хорошо объясняет почему это нормально и разумно.
Но я бы хотел отметить один тип непреднамеренной технической задолженности, не выделенный в той статье. Даже если техническая реализация системы идеально соответствует предметной области и ожиданиям заказчика, изменения в последних, происходящие со временем, будут постепенно перемещать сделанные технические решения качественно из категории "ясные и правильные" ("clean and correct") в категорию "сделанные наспех и неряшливые" ("quick and dirty"). Добавление этого типа позволяет четко определить рефакторинг, как собственно способ сокращения существующей технической задолженности.
Мне также пришла в голову мысль, что такие вещи, как изначально выбранный путь separation of concerns и использования подходящих архитектурных шаблонов в основе системы позволяет в дальнейшем получать техническую задолженность, так сказать, "под меньшие проценты". Добавление уровня косвенности также позволяет уменьшить процент. То есть, если вам надо что-то сделать наспех и неряшливо, то постарайтесь это изолировать в отдельный модуль.
Таким образом, можно расширить рекомендацию из статьи Стива до "Будьте уверены, что вы имеете правильный тип технической задолженности, и под наименьшие проценты."

P.S. Ссылки на ресурсы, посвященные раскрытию метафоры технической задолженности, я собрал здесь.
P.P.S. Метафоры Adapt To Adapt и Code Momentum выражают очень близкие мысли к метафоре технической задолженности.

воскресенье, 15 марта 2009 г.

Поехали!

Ну что сказать, скоро 29, а дневничок-то пустоват. Буду потихоньку исправлять ситуацию. Тем более, что уже есть, что сказать...