May 29th, 2010

moose, transparent

14-й век и hep

Читаю наконец историка Barbara Tuchman, которую мне много раз рекомендовали. По-русски ее как только не называют, но "Барбара Такман" встречается чаще других вариантов. Кажется, есть 18 возможных вариантов написания ее фамилии[1] и они все находятся гуглом).

Читаю A Distant Mirror: The Calamitous 14th Century. История 14-го века в Европе; повествование очень приблизительно организовано вокруг жизни конкретного франзузского дворянина, но вовсе не ограничено ею. Легко и очень интересно читается; проза Такман насыщена фактами и событиями, но совсем не отяжелена ими.

Вот отрывок из введения, который не мог не привлечь моего внимания:
It may be taken as axiomatic that any statement of fact about the Middle Ages may (and probably will) be met by a statement of the opposite or a different version. Women outnumbered men because men were killed off in the wars; men outnumbered women because women died in childbirth. Common people were familiar with the Bible; common people were unfamiliar with the Bible. Nobles were tax exempt; no, they were not tax exempt. French peasants were filthy and foul- smelling and lived on bread and onions; French peasants ate pork, fowl, and game and enjoyed frequent baths in the village bathhouses. The list could be extended indefinitely.

Contradictions, however, are part of life, not merely a matter of conflicting evidence. I would ask the reader to expect contradictions, not uniformity. No aspect of society, no habit, custom, movement, development, is without cross currents. Starving peasants in hovels live alongside prosperous peasants in featherbeds. Children are neglected and children are loved. Knights talk of honor and turn brigand. Amid depopulation and disaster, extravagance and splendor were never more extreme. No age is tidy or made of whole cloth, and none is a more checkered fabric than the Middle Ages.


Прочитал примерно четверть книги и заметил одну ошибку (хочу подчеркнуть, что это не меняет моего положительного мнения о книге). Collapse )

[1] Сноска для программистов: Barbara Tuchman -> Барбара Т[а|у][к|х|ч]м[а|е|э]н.
[2] Несколько примеров исключений. В иврите уже в талмудические времена активно пользовались акронимами. У ранних христиан была символика рыбы, потому что рыбу по-гречески ΙΧΘΥΣ можно было прочесть как акроним "Иисус Христос, Божий Сын, Спаситель"). AM/PM - примеры аббревиатур из латыни.
moose, transparent

junk dna (программистское)

Замечательный образ в записи Реймонда Чена:
MS-DOS is perhaps one of the strongest examples of requiring absolute unyielding backward compatibility. Hundreds if not thousands of programs scanned memory looking for specific byte sequences inside MS-DOS so it could patch them or hunted around inside MS-DOS's internal state variables so it could modify them. If you move one thing out of place, those programs stop working.

MS-DOS contains chunks of "junk DNA", code fragments which do nothing but waste space, but which exist so that programs which go scanning through memory looking for specific byte sequences will find them. (This principle is not dead; there's even some junk DNA in Explorer.)
Я не знал об этом. Я знал, что DOS и Windows проводили политику фанатичной совместимости с предыдущими версиями. Я знал, что во всех версиях Windows хранится и пополняется список "совместимых программ": когда Windows распознает, что бежит такая программа, она специально возвращает ей нестандартные результаты на определенные системные вызовы - потому что такие результаты возвращала какая-то прошлая версия, и данная программа этим пользуется, хоть они и были недокументированы.

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

Когда очередные победители будут в очередной раз писать историю первых десятилетий персональных компьютеров, давайте и это вспомним. Уверенная победа Майкрософта была обусловлена многими причинами: глупыми поступками IBM, недальновидностью Apple, агрессивной тактикой самого Майкрософта по экслюзивным сделкам с OEM... но еще и героическими усилиями во имя совместимости старых приложений с новыми версиями ОС и даже с новыми ОС. Никакой программист не хочет заниматься такой мутной херней - но важность ее для пользователей Майкрософт понимала лучше всех своих конкурентов.