Яндекс. План "Б"

Был вчера на конференции «План Б» в питерском Яндексе, посвященной планированию проектов. Понравилось :).

Из докладов больше всего запомнился «Полет на Марс, или как не обидедь слона» Георгия Липатова из iFree:
Георгий Липатов, iFree
На простом примере он рассказал о том, как планировать проект, чтобы было без факапов. Отличная презентация, подача и идеи.

Отдельно хочется сказать об организации конеренции: Яндекс — молодцы! Не обошлось без накладок (особенно досталось чуваку из Mail.ru :), но в целом, все было четко и живо. Количество плюшек на кофе-брейках зашкаливало (после окончания конференции милые девушки из бистро с первого этажа бизнес-центра «Бенуа», в котором расположен офис Яндекс, просили даже забрать оставшиеся плюшки с собой, дабы не засохли — увез три мешка вкусняшек :). Было светло, тепло и уютно.

Море плюшек, Яндексу - респект :)

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

Фотки с конференции: на Яндекс.Фотках (отсюда можно скачать хайрезы), в Facebook, Вконтакте.

Twitter: #pbconf — там, кстати, ссылки на презентации уже появились.

Опрос про Agile

Привет!

Кирилл Климов проводит опрос об использовании средств управления в Agile проектах. Если не трудно, заполните пожалуйста — поможем хорошему человеку подготовить хороший доклад для AgileEE :).

Спасибо!

Презентация к моему докладу про фриланс на IT Jam

IT Jam очень порадовал. Было много веселого расслабленного IT-шного народу (более 1200 человек), интересные доклады и зажигательная концовка концертом IT-шных рок-групп, одна из которых - из Global Logic - взяла нас на борт своего автобуса и подбросила до Киева :).

Ruby on Rails

«Альтернатива состоит в том, чтобы быть незаурядным! Начинается все с продуктивности. Я хочу сказать, что вы должны быть в самом деле настолько эффективны, что никому в голову не придет делать из вас козла отпущения; даже сама попытка должна быть равна политическому самоубийству. Я говорю о культивировании практики, при которой ваши результаты настолько блестящи, что вызывают слезы радости даже у самых циничных и жестокосердых заказчиков проекта».
-- Оби Фернандес, «Путь Rails».

Антикорпоративный галстук

Ради такого стоит пойти работать в какую-нибудь компанию, где есть дресс-код :).

MySQL — потерянные буквы 'ш' и 'И' — решение

Недавно пришлось восстанавливать сайт на Wordpress, и дамп MySQL'ной базы оказался дважды перекодирован из Windows-1251 в UTF-8. После того, как я его перекодировал взад, оказалось, что из русского текста пропали две буквы: 'ш' и 'И' — на их месте стояли кракозябылы.

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

Скачать: SHI-convert.zip (1 Кб).

Скрипт будет работать, скорее всего, только для двойного преобразования Windows-1251 → UTF-8. Результат работы скрипта — текст в UTF-8 с поставленными на место буквами 'ш' и 'И'.

Шлите ваши комментарии :).

<?php
/**
    Восстанавливатель текстов, подвергшихся двойной перекодировки  
    из Windows-1251 в UTF-8. Казалось бы, что сложного в том, чтобы 
    сделать обратное преобразование? Однако, проблема в том, что 
    по неизвестным причинам в исходном тексте теряются две буквы: 
    'ш' и 'И'. 

    Особенно часто этот глюк встречается при экспорте базы из MySQL 
    при криво настроенных свойствах кодировки таблиц и экспорта.

    Как использовать:

    php SHI-converter.php {имя файла} > {имя нового файла}


    Комментарии, предложения, замечания? 
    http://outcorp-ru.blogspot.com/2011/08/mysql.html
    
    Copyleft, Стас Давыдов и Outcorp, 2011. 
    stas@motivateme.ruhttp://stasdavydov.comhttp://outcorp-ru.blogspot.com/
*/

define("DEBUG"FALSE);

function 
get_bytes($str) {
    
$len strlen($str);
    
$bytes '';
    for(
$i 0$i $len$i++) {
        
$bytes .= sprintf('%2X'ord($str[$i]));
        if (
$i $len 1)
            
$bytes .= ' ';
    }
    return 
$bytes;
}

function 
fix_bytes(&$str$start 0$len 0) {
    if (
ord($str[$start $len]) == 0xD0) {
        
$str[$start $len 1] = chr(0x98);
    } else if (
ord($str[$start $len]) == 0xD1) {
        
$str[$start $len 1] = chr(0x88);
    } else {
        
$str[$start $len] = ' ';
    }

}

function 
fix_string(&$s) {
    
$converted = @iconv('utf-8''windows-1251'$s);
    if (
strlen($converted) > 0) {
        
$converted iconv('windows-1251''utf-8'$converted);
        
$sub strlen($converted);
        
$start strpos($s$converted);

        if(
DEBUG)
            echo 
$converted;

        if(
DEBUG) {
            echo 
'['.get_bytes(substr($s$start $sub)).']'."\n";
        }

        
fix_bytes($s$start$sub);

    } else {
        if (
DEBUG)
            echo 
'['.get_bytes($s).']'."\n";

        
fix_bytes($s);
    }
}

if (
$_SERVER['argc'] != 2) {
    echo 
'Usage: '.pathinfo(__FILE__PATHINFO_FILENAME).".php <name of file to recover>\n";
    exit;
}

$filename $_SERVER['argv'][1];

$str file_get_contents($filename);
$utf8str iconv('utf-8''windows-1251'$str);
foreach(
preg_split('/( |\t)/'$utf8str) as $s) {
    while(! 
mb_check_encoding($s'utf-8')) {
        
fix_string($s);

        if (
DEBUG)
            echo 
$s."\n";
    }

    if (! 
DEBUG)
        echo 
$s.' ';
}
?>

IT Jam: Питер → Одесса

20 августа выступаю на IT Jam в Одессе про фриланс, за и против. Буду расскаывать вещи, о которых еще не рассказывал. Минимум пространных рассуждений, максимум жизни и примеров :).

Участие в конференции беслпатное. Это круто :)
Приходите меня послушать. Да и вообще буду рад встрече! :))

Мой украинский номер: +38 063 571-58-14

Интервью со мной про IT-карьеризм

Интервью со мной про IT-карьеризм, записанное Михаилом Марченко на конференции Agile Base Camp в Днепропетровске.

В том числе говорим о том, что было после моей книги «Не мешайте мне работать!»

Ссылка на Хабре

Какие причины проблем в ваших проектах?

Мини-опрос о причинах проблем в проектах для моего доклада на Agile Base Camp. Буду признателен за ответы, спасибо! :)

Питер → Краснодар → Геленджик → ...Крым? → Днепропетровск → ... Киев? → Москва

17 июня очень рано утром буду в Краснодаре, а затем, практически сразу (как автобус приедет :) отправлюсь в Геленджик, чтобы присоединиться к группе видных практикующих цигун. (Кстати, вы тоже можете присоединиться — в группе еще есть места!) Ориентировочно пробуду там до 25 июня, а потом каким-то образом, скорее всего, через Крым, отправлюсь в Днепропетровск, в котором 2 июля буду выступать на Agile Base Camp про решение коммуникативных проблем в распределенных командах.

Затем, наверно, отправлюсь в Киев, а потом через Москву в Питер.

Буду рад встретиться в любой точке :). Телефоны для связи прежние:
+7 921 356-56-81
+38 063 571-58-14 (будет работать в Украине)
+7 967 127-78-13 (будет работать в Москве).

Фотографии с ёрд-конференции "Эффект Мадонны"

Ёрд-конференция 'Эффект Мадонны'

Сайт конференции: www.yordcon.ru.

Ёрд-конференция — «Эффект Мадонны»

Совершенно неожиданно буду на Ёрдконфе 6-7 июня в Питере :).

На этот раз буду только фотографировать.

Конференция позиционируется как «необычная и неформатная конференция о бизнесе» с подзаголовком «Эффект Мадонны. Стратегия опережения в подражательной экономике» — так называется новая книга издательства BestBusinessBooks — одного из организаторов конференции (да-да, это то самое, которое издало Викиномику).

Из заявленных спикеров я знаю только Маргариту Адаеву-Датскую (ради нее одной уже можно участвовать в конференции :), но и остальные весьма интересны и разнообразны.

Коротко о главной идее:

Позавчера рынок принадлежал тому, кто умел быстро и дёшево производить. Вчера — лидерам, обладающим «Видением», предлагающим революционные продукты. Сегодня уже и этого недостаточно. Подражательная экономика, 24 часа в сутки работающая в режиме скоростного копира, сканирует всё успешное и обесценивает, выплёвывая миллионами дешёвых копий. Программы, автомобили, поп-звёзды... Почти каждая находка мгновенно обесценивается. Cheap revolution.

Однако, есть исключения. Клоны Appstore, Mini, Мадонны довольствуются крохами с барского стола. Всем остальным магазинам приложений досталось аж 10% рынка, мини-ситроенчики, -ниссанчики и даже -мерседесики еле окупают разработки, а Леди Гага заняла нишу, которая создательнице уже давно не нужна.

Если исключения повторяются — значит тут можно найти закономерность, выделить факторы успеха или, как минимум, новые идеи для своего бизнеса. Именно это будет целью нашей работы. А формой — «исследование». Целый ряд удивительных, интереснейших людей, из разных сфер, не только из бизнеса, согласились выступить и провести мастер-классы, чтобы поделиться своим пониманием этого явления и рецептами своих успехов.

Заявленная цена участия — 30 тыр. Теперь кажутся смешными жалобы некоторых участников некоторых конференций, в которых я участвовал, о том, что цена слишком большая :)).

До встречи на конференции!

Корпорации :)

Корпорации

Питер→Минск — выступаю про Викиномику

С 19 по 21 мая 2011 буду в Минске — приезжаю выступать на Software Engineering Forum на тему «Викиномика на практике».

Буду рад встретиться :).
Мой телефон для связи: +7 921 356-56-81 (пишите смс-ки :).

Отчет об Application Developer Days 2011

Конференция получилась очень насыщенной и интересной — спасибо организаторам и участникам!

Давно я не бывал в настолько интеллектуально заряженной среде (наверно, с тех пор, как часть моей деятельности переместилась из IT в HR :)).

Я слушал следующие доклады:

  • «Language Oriented Programming в действии» — Максим Мазин рассказал о JetBrains MPS. Круто. Выше моего нынешнего уровня :).
  • «Облачная инфраструктура AWS» — Леонид Выговский рассказал об использовании Amazon-облаков. Узнал много интересного.
  • «Интерфейсы: битва за право влияния» — Ольга Павлова подняла знамя борьбы за права пользователей. Круто.
  • «Веб-приложения на HTML5» — Иван Чашкин рассказал об альтернативе нативным приложениям. Насыщенно. Лишний довод добраться до спецификации HTML5 :).
  • «Швейцарский нож аналитика» — Евгений Кирпичев рассказал о способе визуального анализа логов и показал офигенные картинки. Инфографика рулит.
  • «Свободные лицензии» — Михаил Шигорин вдохновенно поведал об open source, freeware и copyleft. Очень интересно и полезно.
  • «Мобильная веб-разработка» — Андрей Ребров продолжил тему мобильных приложений на основе веб-технологий. Веб-приложения — реальная альтернатива нативным приложениям.
  • «MongoDB» — Сергей Туленцев раскрыл сущность одной из NoSQL-платформ. Актуально.
  • «Взаимоотношения заказчика и исполнителя на проекте» — Дмитрий Завалишин рассказал о том, как они это делают в DZ (DigitalZone). Вполне согласен :). Было интересно посмотреть на живого гуру (блог dz.ru был, пожалуй, первым IT-шным блогом, который я начал читать еще в году ~97) и создателя PhantomOS.
  • «Необъектные модели предметной области» — Максим Цепков показал UML-like картинки и рассказал, чем можно заменить объектную модель при проектировании. Навороченно :).
  • Сунулся на «Nemerle Deep Dive» Владислава Чистякова и понял, что мой мозг не готов это вкурить, поэтому перешел на доклад «Пример разработки высоконагруженной реляционной базы данных» к Павлу Белоусову. Узнал, как с помощью кувалды и напильника заточить перфоманс MSSQL. Не дай бог таким заниматься :).
  • «Особенности масштабирования систем планирования и управления поставками» — Михаил Антонов реально зажёг. Очень классный доклад. Даже захотелось заняться софтом для управления поставками :)).
  • «Оптимизация LAMP» — Александр Чистяков рассказал об опыте оптимизации производительности в условиях политического давления :).
  • Немного опоздал на «JDK 7» Андрея Дмитриева и пропустил основную часть — так что о новшествах JDK 7 так и не узнал, но зато увидел немного NetBeans. IntelliJ IDEA рулит :).
  • Пикассо :) «Построение 3D модели сцены по одному фотоснимку» — Дмитрий Вихарев расширял сознание и рисовал не хуже, чем Пикассо. Круто :).
  • В завершение конференции Саша Орлов и Слава Панкратов отыграли классный спектакль-доклад на тему «Коммуникативных ошибок ИТшников». Первый раз видел их вместе. Круть!

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

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

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

В общем, было круто. С удовольствием буду участвовать в следующей конференции :).

Типограф для Wordpress

Я написал маленький плагин для Wordpress для исправления русской типографики с помощью Типографа с сайта Студии Артемия Лебедева. В отличие от единственной альтернативы — плагина WP-Typography — не требует никаких настроек, мал и легок, а работает даже лучше :). Все вызовы кэшируются, так что замедление в работе возможно только в начале.

Плагинчик успешно работает уже пару лет на сайте Блогслов.

Скачать можно с официальной страницы плагина на сайте Wordpress или с моего сайта: art-typograph.zip (2.5 Кб).

Фриланс: будущее IT-разработки (уже наступило)

30 апреля выступаю на Application Developers Days в Питере про фриланс — о том, насколько это круто, и как много теряют те компании/менеджеры, которые умеют работать исключительно с локальными командами.

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

Update: фотки с конференции.

Как избавиться от страха? Идея инновационного проекта

(Кросс-пост из ЖЖ.)

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

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

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

Итак, идея проекта.

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

Потребности у всех разные, однако фонд платит не за потребности. Фонд не берет на себя обязательств за вашу жизнь, а платит вам просто за то, что вы есть.

Фонд оставляет за собой право наблюдать за вашими успехами и неудачами. Контракт может быть разорван вами в любой момент, в этом случае дальнейшие выплаты прекратятся. Фонд также может разорвать с вами контракт — в единственном случае: если вы начнете делать то, что вам не нравится, идти против своей воли.

Есть пословица: не давай рыбы, а научи ее ловить. Так и деятельность фонда будет бессмысленной без необходимого обучения, которое позволит подписавшим контракт избавиться от страха и научиться смотреть на мир другими глазами.

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

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

Каждый, кто подписывает договор, должен пройти некое испытание, чтобы была возможность оценить потенциал человека, а также необходимость обучения. Обучение может быть как платным, так и бесплатным.

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

Ожидаемый результат: за время контракта у вас будет шанс научиться не бояться, иначе оценивать свою деятельность, а также стать готовыми к тому, чтобы заняться тем, что вам действительно нравится.

Что вы об этом думаете? :)