Windows Internals, Part 1, Sixth Edition.

May 10th, 2012 3 comments

Ух ты, оказывается, первая часть 6-ой редакции Windows Internals вышла в марте: RTM’d today: Windows Internals, Sixth Edition, Part 1! В отличие от 5-ой редакции, в список резензентов которой я, можно сказать, попал просто за компанию – главным образом потому, что работал тогда в команде Window Kernel, в этот раз я ждал возможности поучаствовать в создании книги с нетерпением. В этот раз мне было что сказать – не даром я с Wow64 нянчился столько времени. Не смотря на это, я умудрился прошляпить рецензирование “своего” раздела про Wow64 и делал это в последную минуту – уже после того, как глава была закончена.

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

Acknowledgments

:-)

Битва титанов: Visual Studio 2010 против Sophos Antivirus.

May 4th, 2012 37 comments

По рассылке пришло описание бага ну просто феерической кавайности: http://connect.microsoft.com/VisualStudio/feedback/details/649139/vs2010-does-complete-rebuild-based-on-completely-unrelated-file. Если вкраце, то присутсвие Sophos Antivirus на машине, заставляет Visual Studio делать полный билд вместо инкрементального. Почему? Потому что MSBuild полагает, что файл “%ProgramData%\Sophos\Sophos Anti-Virus\config\Config.bops” (который, понятно, ни к MSBuild, ни к собираемому проекту никак не относится) является вводом каждого target’а в проекте. По какой-то причине, этот файл обновляется очень часто, что и вызывает полную пересборку всего проекта. WTF?

WTF?

Read more…

… плюс электрификация всей страны.

April 16th, 2012 1 comment

Попался на глаза вот такой камень в парке:

Камень с розеткой.

Ну а что, пожарный гидрант в лесу (на приличном расстоянии от ближайшего дома) я уже видел. Электричество тоже провели. Осталось Wi-Fi организовать и эскалатор поставить.

А вы знаете, что ваш браузер устарел?

April 15th, 2012 10 comments

Вот пример, почему проверка версии браузера – зло (и адъ, и Содомъ с Гоморрой):

Did you know that your Internet Explorer is out of date?

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

Я вот, кстати, не понимаю. От 99% проверок на версию браузера можно было бы отказаться, если бы браузеры поддерживали проверку поддерживаемых фич. Тогда продобные проверки выглядели бы не как “если версия IE > X.Y или версия Firefox > A.B или …”, а как “если поддерживается тег video”. Вон процессоры и операционные системы делают это спокон веков: IsProcessorFeaturePresent().

PS. И тем более не понимаю, если браузеры уже поддерживают проверку поддерживаемых фич (Я просто не в курсе как обстоят дела на этом фронте).

Иди на … (быстро-быстро).

April 12th, 2012 6 comments

Вот! pandora.com подсунула шикарную песню “Fuck you (Very Much)” в исполнении Lily Allen:

Пойду теперь в top.artlebedev.ru и буду постить её в ответ на каждый второй комментарий. :-P .

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

История “DeCSS хайку”.

April 7th, 2012 No comments

Now help me, Muse, for
I wish to tell a piece of
controversial math.

Сет Шоен, DeCSS хайку

История двенадцатилетней давности. 20 января 2000 года, судья Окружного суда Южного округа Нью-Йорка Льюис А. Каплан, рассматривая дело Universal City Studios et al. v. Reimerdes et al., выносит предварительный запрет на распространение ответчиком компьютерного кода для чтения зашифрованных DVD. Иск против ответчика был возбужден в соответствии с положениями Digital Millenium Copyright Act.

Обосновывая свое решение, судья Каплан указал, что положения Первой поправки о защите свободы слова не распространяются на исполняемый исходный код. Это противоречило решению Девятого окружного апелляционного суда США по “криптографическому” делу Бернштейна, утверждающему, что исходный код является формой речи, защищаемой Первой поправкой. В своем решении суд даже процитировал код на Scheme из декларации профессора MIT Харольда Абельсона, поясняющей почему исходный код является эффективным и, иногда, предпочитаемым способом коммуникации между людьми. Позднее Шестой окружной апелляционный суд США вынес решение о том, что независимо от функциональной важности кода, его выразительная природа заслуживает защиты Первой поправки.

Возникает вопрос. Если напрямую компилируемый и исполняемый код может быть ограничен в распространении согласно положениям DMCA, как утверждает судья Каплан, но текстовое описание того же алгоритма может распространяться свободно, то где именно проходит граница? Профессор Дэвид Турецкий из университета Карнеги-Меллон создал “галерею CSS дешифраторов” чтобы исследовать это противоречие и указать на абсурдность позиции судьи Каплан, что возможно юридически различить исходный код и другие формы письменной речи.

В галерее профессора собраны всевозможные формы одного и того же алгоритма расшифровки DVD: обычный код на C; код в виде GIF картинки; код, напечатанный на футболке; код на новом языке программирования, для которого (пока) не существует компилятора; несколько музыкальных версий и, наконец, поема.

Про последнюю, известную как “DeCSS хайку”, есть совершенно отдельная, стоящая прочтения, история. Но и сама поэма тоже ничего.

Now help me, Muse, for
I wish to tell a piece of
controversial math,

for which the lawyers
of DVD CCA
don’t forbear to sue:

that they alone should
know or have the right to teach
these skills and these rules.

(Now those six bytes, the
DVD CCA says
under penalty

of perjury, are
its trade secret, and you are
breaking the law if

you tell someone that,
for instance, the Xing player
used the following:

(далее идут заветные числа. :-) )

“Energy is just
the same as matter, but for
a little factor,

speed of light by speed
of light, and we are ourselves
frozen energy.”

Rejoice then, get some
popcorn out, and butter if
you aren’t vegan.

Автоматическая настройка яркости монитора.

March 28th, 2012 15 comments

Прогресс не стоит на месте. В моем новом Lenovo X220 стоит новый тачпад без нижнего ряда кнопок и с чуствительной нижней гранью. В результате, я научился: а) выразительно шипеть, безуспешно пытаясь выделить кусок текста; б) держать руки подальше от тачпада. Мотивы (помимо денежных) hardware engineers, внедривших это новшество, остались неизвестны.

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

Read more…