четверг, 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.

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


пятница, 15 октября 2010 г.

Nikon Small World

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

Следующий конкурс будет проведен в апреле 2011 года.

Ниже некоторые работы последнего конкурса (2010).

Сердечная мышца комара, 100X

Для съемки этого кадра использовалась флуоресцентная технология, благодаря которой на первый план были "выдвинуты" различные части снимаемого экземпляра, благодаря чему этот снимок и занял первое место в конкурсе.

5-ти дневная голова рыбы данио рерио (20X) - конфокальная микроскопия

Молодой двустворчатый моллюск (10X) - темнопольная микроскопия

Минерал какоксенит (18X) - микроскопия в отражённом свете

Глаза ихневмоноидного наездника (40X) - освещение нерегулярно отражённым светом

Кристаллизованный расплав серы и ацетанилида (10X) - проходящий свет, кросс-поляризация

Мыльная пленка (150X) - темнопольная микроскопия


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

Сон

In progress.

Стоящие линки и URI (только не размазанное общее как в вики, а например материалы исследований, факты и закономерности) очень приветствуются.

И после изучения очень захотелось завести себе сиесту.


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

Science as Art

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

Materials Research Society проводит в связи с этим своеобразный конкурс — «Science as Art». В самом конкурсе могут участвовать изображения, полученные с помощью любых технологий и инструментов, а также это могут быть результаты моделирования/эмуляции или сборка нескольких изображений в один образ. В конкурсе ключевой оценкой является эстетическая составляющая, но изображения должны непосредственно иметь связь с материаловедением как наукой.

Deadline приема на осенний конкурс этого года — 18 октября. Желающие могут ещё успеть (;

Несколько изображений с этого конкурса (кликабельны):

  • Данное изображение получено сканированием электронным микроскопом (SEM) множества соединений оксида цинка (SiOx), синтезированных вакуумным напылением.

  • Здесь представлено множество сканированных SEM-изображений нанотрубок нитрида бора в различном масштабе. Они были синтезированы каталитическим химическиим осажденим из газовой фазы при 1200°C. Диаметр нанотрубок составляет 50 нм.

  • Здесь показана комбинированная 3D-картинка двух изображений, снятых методом сканирующей туннельной микроскопии (STM). Земля представлена в виде одного монослоя HATNA, осажденной на Au111. Небо создано из образа THAP/Au111, который был подвержен высокому давлению кобальтоцена (Co(C5H5)2).

  • Это SEM-изображение было получено из поверхности опыления TiO2.

  • SEM-изображение кристаллической структуры вюрцита оксида цинка ZnO. Данная наноструктура синтезирована методоом VLS (Пар-Жидкость-Кристалл).


пятница, 1 октября 2010 г.

Лекция Анохина — Коды мозга

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

Если кто-то её не видел, то очень всем советую.


Окончание активного сброса веса — история

Заканчивается теплое время года и вместе с ним приходит к концу активный сброс веса, который практически завершен. При стартовой массе почти 100 сейчас он составляет 82-83 кг и все это прошло за 5 месяцев.

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

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

Прежде всего стало понятно, что основная зависимость представляет собой разность между потребленными и сжигаемыми калориями. Чем больше разность, тем больше изменяется вес. Сжигаемое число энергии в основном зависит от текущего веса и физических нагрузок, потребляемое — от того, сколько было съедено.

В связи с этим прежде всего был изменен рацион питания. Когда-то давно меня приучили, что есть надо, при чем желательно всего и помногу. Пару раз в жизни данное приученное утверждение получало удары критики, но по-видимому недостаточные. В этот раз его состояние стало фатальным (; В организации питания выработались и стали рулить следующие правила:

  • Питание должно быть постоянным хотя бы понемногу настолько, чтобы отсутствовало чувство голода. Т.е. не должно быть больших промежутков с нулевым питанием. Если в течение продолжительного активного времени нужно ничего не есть (например 10 часов), то каждые пару часов желательно например съедать яблоко.
  • В структуре рациона должны преобладать овощи/фрукты/соки. Во-первых, потому что они неэнергоемки, во-вторых не так быстро перевариваемы, в третьих, потому что антиоксиданты.
  • Мясное разнообразное, но где-то 1-1.5 раза в день с постепенным увеличением рыбы.
  • Постепенное снижение мучных и отказ от кондитерских. За все 5 месяцев было съедено 4 куска торта, 2 мороженых и штук 5 конфет.

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

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

Ледовый

Участие в массовом катании — прежде всего интересный и разнообразный процесс. Так сказать, совмещение приятного с полезным. Сжигается хорошо, эмоций достаточно, единственно много времени уходит на то, что Ледовый далеко от дома.

Велосипед

Для него долго набиралась выносливость, но за пару месяцев он стал самым мощным инструментом в сжигании жира. Сначала с трудом проезжал 20 км (в офис и обратно), но в конце с легкостью преодолевались расстояния в 60-80 км на крейсерской скорости.

Велосипед имеет ряд преимуществ. Прежде всего, на нем легко держится аэробичная нагрузка (пульс 120-150) в течение длительного времени; используется мощный комплекс мышц; имеется возможность делать все это интересно (за это время я объездил весь город, район и побывал в соседних городах и во многих особенных местах); нет зависимости от спортзала и людей, а также от какого-либо графика.

Было испробовано множество режимов тренировок. Но в конце концов пришел к следующему: каждые три дня два раза по 60 км или более по самочувствию. При таком режиме есть один день отдыха (моему организму это было нужно), сжигается приличное число энергии (1 км — 40 ккал, т.е. в день 1200 ккал сверх); в неделю идет стабильный сброс веса в 1 кг как минимум.

Ездить приятнее за городом (воздух чище) и в вечернее или ночное время (физически намного лучше держится нагрузка). Но по окончанию теплого сезона велосипед ставится под замок.

Плавание

Включился в активное плавание достаточно поздно, но оно не давало ощутимого эффекта. Занятия у нас проводятся 2 раза в неделю по 45 минут, и можно максимум сжечь 1000 ккал в неделю. Поэтому его можно было считать приятным дополнением (;

Бег

Где-то 1 раз в неделю проводились пробежки. Дистанция составляла чуть более 6 км. Бег осуществлялся по ночам по шоссейному лесному маршруту. Не думаю что он активно влиял (~600-700 ккал), но был включен для общей физической подготовки.

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

В процессе сброса веса скорость держалась в пределах 5% на массу в месяц. Данное условие необходимо для того, чтобы организм успевал выводить все вещества разрушившихся жировых клеток (для облегчения данного процесса рекомендуется подключать баню), а также внутренние органы успевали перестраиваться геометрически.

Из изменений. По ощущениям улучшилось самочувствие, стало легче, улучшился сон. И это.. гардероб пора менять (;

Результатом доволен. Правда, его хотелось достигнуть за меньшее время. А сейчас будут стоять другие задачи - постепенное снижение веса до 77-78 кг более гуманными способами и изменение направленности тренировок.