четверг, 11 ноября 2010 г.

Коллективный интеллект

Интересная статья о сабже, на которую обратил внимание и соответственно можно сделать нижеследующие выводы.

Под коллективным интеллектом подразумевается способность решать различные интеллектуальные задачи группой человек. Чем больше задач и быстрее способна решить группа, тем она обладает большим интеллектом.

На основании статьи можно сделать следующие выводы:

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

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


среда, 3 ноября 2010 г.

Авторские олимпиадные задачи по программированию

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

Сейчас найденные собраны в одном месте на всеобщем обозрении.


четверг, 28 октября 2010 г.

5-тилетний bugfix

Сегодня сделали фикс приложения, которое работало 5 лет без сбоев. Проявление - исключение на ровном месте с падением приложения при обработке одного файла (без подобной реакции на других).

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

Код:

...
    LPBYTE OUTBUFF = NULL;
    DWORD BUFFSIZE = 0;
...
        int pgp_res = m_pgp.EncodeBuff2Buff(
            ( LPCVOID ) ( LPCTSTR ) post_data.c_str(),
            ( DWORD ) post_data.length(),
            OUTBUFF,
            BUFFSIZE,
            ( LPCTSTR ) query_mts_cfg().query_crypto_public_key().c_str() ); 
...
            std::string s;
            // мы будем рассматривать буфер как строку, а PGPEncode
            // естественно не ограничивает буфер нулевым
            // символом, поэтому строку из буфера надо
            // ограничивать насильно
            s = std::string( ( char* ) OUTBUFF );
            s = s.substr( 0, BUFFSIZE );

Отправлено на говнокод.

Highlight сгенерирован с помощью tohtml.com


вторник, 26 октября 2010 г.

Const Generator

Собственный генератор констант приложения.


воскресенье, 24 октября 2010 г.

Памятка в дорогу

Ранее пользовался памяткой от Fay.

Теперь решил собрать собственный велосипед.