2 минуты 88 секунд

Вот интересно, если на таймере микроволновки выставить 2:88, то она проработает 3 минуты 28 секунд или 2 минуты 53 секунды?

Будни Chromium разработчика

Хотите знать как выглядит процесс коммита в Chromium? Есть у меня такие истории. Для затравки уточню терминологию. Chromium - это, фактически, open source версия Chrome. Если взять Chromium и добавить немного закрытого кода и логотип Google, то получится Chrome. А вот если добавить немного закрытого кода и логотип Яндекс, то получится Яндекс.Браузер. Исходники Chrome Remote Desktop, над которым работаю я с коллегами, тоже собираются из репозитория Chromium.

Так вот, про процесс коммита.

Read On →

Техническая поддержка пользователей

Пять минут хорошего настроения. Wiki страничка, описывающий сбор диагностики с машины пользователя, в случае, когда тот обращается за технической поддержкой, начинается с фразы: If you get an “OMG This SUCKS how do I uninstall this CRAP” kind of reasonable gentleman, you can point them to <ссылка на инструкцию по удалению>. Примерный перевод: Если вам попадётся “БОЖЕ МОЙ что за ХРЕНЬ как удалить эту ФИГНЮ” разновидность рационального джентльмена, вы можете направить его на эту станицу… Read On →

Трассировка описателей. Вторая серия

Краткое содержание первой части:

Не получается продолжить выполнение кода после того, как было сгенерировано исключение STATUS_INVALID_HANDLE - почему-то портится сохраненный контекст процессора. В частности, не сохраняются non-volatile регистры esi и edi.

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

Покопавшись в отладчике я понял в чем дело.

Read On →

Мир становится меньше

В аэропорту Lihue, Hawaii увидел прекрасное - 24 штуки настенных часов, которые, как я понимаю, призваны показать текущее время в каждой из существующих часовых зон. (Тут нужно заметить, что временных зон не 24, а где-то около 40. Более того, их число иногда меняется, но не будем придираться). Текущее время в … При взгляде на картинку у меня немедленно возникает два вопроса. Во-первых, кто это под Рейкъявиком профилонил переход на единое всеземное время? Read On →

Я составляю списки, а затем я составляю списки списков

Веселый тред на reddit.com: Как бы вы объяснили в чем состоит ваша работа человеку, который родился 1000 лет назад: Marketing? I’d just say I’m a whore. Using a self moving horseless cart I take Italian food to people who ask for it over vast distances. Sorcery Примерно каждый четвертый объявляется ведьмой и отправляется на костер: I’m a web developer working in aerospace. Fuck. You create illuminated manuscripts displaying the glory of machines that fly through the air. Read On →

Трассировка описателей (AKA handle tracing)

Начиная с Windows XP в ядро встроена поддержка трассировки описателей ядра (AKA handle tracing). Включение трассировки имеет двойной эффект. Во-первых, все операции с ядерными описателями сохраняются в циклический буфер (откуда их можно потом прочитать). Во-вторых, при любой попытке использовать несуществующий описатель генерируется исключение STATUS_INVALID_HANDLE. Фактически, проверка корректности операций с описателями в Application Verifier - это тонкая обертка вокруг функций трассировки, предоставляемых ядром. Расширение отладчика !htrace - аналогично.

Read On →

Невероятно

Шаттл на улицах Лос-Анджелеса: Очень красиво!

Там, где живет интернет

Первая, как утверждается, фотосессия датацентра Google: Прямая ссылка: Where the Internet lives.

Overclocking и его последствия

А сегодня мы с вами прослушаем лекцию о том, как избежать появления растительности на ладонях и чем её потом выводить…

Разбор crash dump-ов твоего приложения, собранных с пользовательских машин - занятие и увлекательное, и поучительное. Поучительное не столько потому, что демонстрирует твои собственные успехи во всей красе, но потому что не менее красиво показывает достижения других. Одновременно испытываешь и неловкость за содеянное (нахомутал, чего уж там) и гордость (да не так уж и нахомутал - посмотрите, как другие отличились), и облегчение (все одим миром мазаны). А сегодня мы разберем одно из часто встречающихся явлений - overclocking.

Read On →