А вот, кстати, вспомнилось

В педивикии наткнулся на статью про MathML. Если вкратце, то это такой мертворожденный язык набора математических формул на основе XML. Полюбуйтесь сами:

 <mrow>
  <mi>x</mi>
  <mo>=</mo>
  <mfrac>
    <mrow>
      <mrow>
        <mo>-</mo>
        <mi>b</mi>
      </mrow>
      <mo>±</mo>
      <msqrt>
        <mrow>
          <msup>
            <mi>b</mi>
            <mn>2</mn>
          </msup>
          <mo>-</mo>
          <mrow>
            <mn>4</mn>
            <mo>⁢</mo>
            <mi>a</mi>
            <mo>⁢</mo>
            <mi>c</mi>
          </mrow>
        </mrow>
      </msqrt>
    </mrow>
    <mrow>
      <mn>2</mn>
      <mo>⁢</mo>
      <mi>a</mi>
    </mrow>
  </mfrac>
 </mrow>

Правда, очень просто и понятно? Сомневаюсь, что человек сможет «увидеть» здесь формулу для корней квадратного уравнения. Для сравнения, в TeX она записывается так:

x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}

…и получается вот такая красота:

root2

В ФАКе по MathML действительно, упоминают про «избыточность» формата — но сами посудите, почему нельзя сделать MathML чуть поумнее? В формулах буквы, цифры и значки обычно имеют вполне определенный смысл и изображаются вполне определенными шрифтами — в TeX просто заранее определены классы символов и правила их изображения (например, значки бинарных операторов вроде ‘+’ обычно имеют «отбивки» слева и справа, а буквы пишутся курсивом). В MathML это приходится задавать вручную — то есть снабжать каждую букву тегом <mi>, а числа — <mn>. Вряд ли можно назвать такой формат и human-readable (а уж про writable говорить не приходится).

Это, кстати, не скрывается. В том же ФАКе пишут, что желательно пользоваться программами-генераторами для создания документов MathML (кстати, такой генератор есть в Windows 7, называется «Панель математического ввода», здорово умеет распознавать всякие каракули).

В общем, про что это я? А про то, что применение XML-подобных языков зачастую просто усложняет задачу. Иногда просто нельзя понять, зачем где-то применен XML и какие он имеет преимущества перед, скажем, ini-файлом. Итак, загибаем пальцы.

— human-readable/writeable — нужно далеко не всегда, а в сложных приложениях совершенно теряется.
— универсальность — в большинстве случаев нафиг не нужна, да и понимается она очень по-разному. W3C, например, «рекламируя» форматы на основе XML, утверждает, что и для XHTML, и для MathML, и для какого-нибудь SVG подойдет один и тот же «универсальный» XML-парсер. Но вот если нам не надо работать с десятью разными типами XML-документов, зачем заморачиваться такой «универсальностью»?
— «самодокументируемость» — без комментариев. Конечно, вот такое еще можно понять, но как разобраться в том же MathML без специального руководства?

custom-dll-definition

— текстовый формат — в свете написанного выше не совсем понятно, зачем это нужно. Человеку читать и писать XML надо не всегда, а для парсера все эти текстовые теги совершенно безразличны и только создают избыточность, которой, кстати, парсер пользоваться не имеет права, например, при обнаружении ошибок — в этом случае он должен сказать, что документ не является синтаксически корректным. Какое счастье, что многие XML-парсеры пытаются хоть как-то обработать даже не вполне корректные документы!

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

Через десяток-другой сообщений американцы были ознакомлены с теорией «золотого миллиарда», XML я обозвал технологией, придуманной по принципу «с жиру бесятся», а уж сжатие XML вообще не нужно.

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

Еще один клоун

Начал собирать личную коллекцию смешных персонажей из жежешечки, а также их тараканов в голове. Вот, к примеру, большой знаток философии [info]elter_jude пишет под заголовком «Философия — детям«:

Философов досократиков, учивших о материальном первоначале мира, о множестве и движении можно давать детям уже 5 — 7 лет, когда они начинают этим интересоваться. Тогда же, наверное, можно дать позитивистов: Спенсера и Конта, ввиду примитивности философии последних.
Фейербаха и просветителей давать бы лучше в 8 -10 лет, чтоб выработать у детей — ПРАВИЛЬНОЕ — т.е. никакое — отношение к религии.
С 10 до 12 лет не плохо было бы дать Аристотеля и Руссо. Классификация природы и любовь к ней.
С 12 до 16 в пору крушения идеалов лучше учить Канту.
А уже к совершеннолетию надо научить ребёнка мысли трёх ВЕЛИЧАЙШИХ философов — Платона, Гегеля и Маркса

Меня всегда радовали такие «высокообразованные» деятели, которые брали на себя ответственность определять, что правильно, а что нет. А особенно тут «радует» апломб, с которым товарищ навешивает ярлыки «примитивный» или «непримитивный».

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

Еще немножко про Штаты

Или что меня удивило в википедической статье про Левиттауны.

Начну со ссылки на одну дискуссию в ЖЖ.

http://szhaman.livejournal.com/797541.html?thread=17765221#t17765221

Товарищ [info]sorgon_74 искренне удивляется, как право частной собственности может облагаться какими-то ограничениями, да еще и разнящимися не просто в разных штатах — на разных улицах в одном городе! Невероятно, какое извращенное понимание «частной собственности» складывается у постсоветского человека.

В США договоры о покупке и продаже недвижимости часто имеют restrictive covenant — «ограничительное соглашение». В той дискуссии его тоже помянули, но почему-то только применительно к неграм. На самом деле это соглашение может ограничивать гораздо больше — например, цвет фасада здания, наличие на нем телевизионных антенн или даже состав проживающих в доме.

Почему-то возмущение вызывает тот факт, что такие ограничения устанавливают местные власти — но, кстати говоря, и у нас в России многие административные правонарушения определяются властями субъекта федерации. Москвичам советую, например, прочитать правила пользования метрополитеном — и общедоступно, и наглядно демонстрирует этот принцип. Разница только в том, что в США это реально «местное самоуправление» в масштабах мелкого городка или микрорайона, а у нас — в масштабах громадного «субъекта федерации».

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

О каком «самоуправлении» можно говорить, когда мозги забиты превратно понятым определением «священной частной собственности»? Какое «гражданское общество», какой «класс собственников», когда эти собственники отгораживаются друг от друга трехметровыми заборами и неспособны договориться о том, чтобы заказать самосвал гравия?

Про широкий экран

Прочитал про грядущие нововведения в файловом менеджере Windows 8 (да, я тормоз). Оказывается, в Microsoft подсчитали, что 83% пользователей работает за широкими экранами (в основном — 1366×768). Еще лет десять назад мне казалось, что разрешение 1024×768 — маловато. От перехода на следующее за ним 1280×960 (на девятнадцатидюймовом LG Flatron 915 FT+ это выглядело неплохо) меня удерживали две вещи — убогий TV-out в исполнении NVidia в Windows XP и недостаточная полоса пропускания мониторного кабеля — на больших разрешениях экран «мылил».

Время шло, я поменял монитор сначала на LG Flatron 1970H (1280×1024, к тому времени появилась возможность смотреть кино на TV-out без «клонирования» основного экрана), затем, раздолбав от злости ни в чем не повинный экран — на LG Flatron W2242T. Хочу заметить, что вертикального разрешения при последнем переходе не прибавилось, разве что оказалось проблемой найти недорогой матовый монитор с DVI-входом. О решении искать «недорогой монитор» я впоследствии пожалел, увидев монитор с IPS-матрицей. Впрочем, я отвлекся.

Оказалось, что на широком экране разрешение по вертикали — все равно страшный дефицит, зато по горизонтали добавилось 400 пикселей. Это я говорю о достаточно большом дисплее, у меня на работе вообще со сменой компьютера притащили что-то непонятное. Вместо Fujitsu-Siemens с битыми пикселями, но поддерживавшего 1280×1024, приволокли в громадной коробке (заполненной в основном пенопластом) Hewlett-Packard — но с любимым во всем мире разрешением 1366×768. В общем, получилась этакая «смотровая щель».

Интерфейс большинства нынешних программ делается по образцу MS Office начала 2000-х (а то и гораздо раньше), когда экраны имели соотношение сторон 5:4 или 3:2. Естественно, что вертикальные панели используют по минимуму. Кроме того, ширина «основной» части окна получается просто неприличной. При комфортном размере шрифта там оказываются настолько длинные строки, что читать становится просто некомфортно.

Кстати, маленькое отступление. В издательской системе TeX (точнее, LaTeX) введено довольно странное на первый взгляд «ограничение» — длина строки текста на листе не должна превышать 65-70 символов. На самом деле это довольно древнее «типографское» правило, связанное именно с особенностями чтения и восприятия текста. Если букв в строке больше — то для чтения приходится делать некомфортные движения глазами.

В той же Windows 7 предлагается «половинчатое» решение — окно можно развернуть на пол-экрана. Получается что-то вообще непотребное — типа двух совершенно квадратных или хуже того, вытянутых в высоту окошек, явно слишком узких. «Современные веяния» в пользовательских интерфейсах вообще предполагают, что менюшки надо размещать не на горизонтальной полоске, а на вертикальной — и плевать, что она выйдет широкой — места на экране хватит.

Самое, на мой взгляд, неудачное из «устоявшихся» решений — это панель задач внизу или вверху экрана. Она появилась там во времена Windows 95 (точнее, еще раньше — на Macintosh она присутствовала чуть ли не «от рождения», да и в OS/2 что-то такое было) — в общем, на «обычном» экране ее еще как-то можно было терпеть, а вот на широком, да еще и не очень большом, она превращается в раздражающую полоску, съедащую кучу места.

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

А в целом — впечатление такое, что разработчики пользовательских интерфейсов забыли о том, что сейчас большинство экранов — широкие, и все красивые «ленты» очень хотелось бы видеть расположенными не горизонтально, а вертикально.

Советских танковых орд псто

Наткнулся на интересную статью в немецком «Шпигеле». Вы не замечаете ничего странного на этих фотографиях?

00511445

И поближе:

tunnel-near

Нет, эти бетонные блоки — не творчество укуренного дизайнера. В случае начала войны в Европе предполагалось, что вся инфраструктура будет уничтожаться по мере наступления диких монгольских орд советских войск. Например, для блокирования тоннеля эти бетонные блоки общей массой 107 тонн подрывались, падали и «выкапывали» яму глубиной 6 метров. На автобанах предусматривались «колодцы» для закладывания взрывчатки, в том числе и маломощных ядерных зарядов.

Впечатление такое, что проектировщики этих систем предполагали, что танки могут двигаться только по дорогам, а через реки переправляться — только по мостам и туннелям, заботливо построенным немцами. А особенно оно усиливается после недавнего просмотра фильма A Bridge too Far, про англо-американскую Голландскую операцию 1944 года.

Если кто не смотрел фильм или не хочет читать Википедию, то кратенько расскажу содержание. После высадки в Нормандии (которую красочно снял режиссер Спилберг в «Спасти рядового Райана») союзники разработали хитрый план, согласно которому Берлин должен был быть взят к Рождеству, то есть до 25 декабря 1944 года. Для этого было необходимо форсировать Рейн. Вооружившись автоатласом, англичане с американцами нашли подходящее шоссе и решили ехать по нему. Предполагалось, что немцы радостно драпанут, как они драпали до этого в Нормандии. Впрочем, в 1944 году наиболее боеспособные части были на Восточном фронте, а на Западном встречались в основном старики, гитлерюгендовцы, власовцы и даже несколько Krankendivision — подразделений, составленных из ограниченно годных к строевой службе, так что расчет союзников мог оказаться верным.

По дороге имелось несколько мостов, поэтому решили действовать так — в тылу у немцев высаживается крупный десант (около 30 тысяч человек), захватывает переправы и удерживает их до подхода основных сил в виде 30 танкового корпуса. Все получилось немного не так, как планировали. Во-первых, десант не смог захватить все мосты — переправу через канал Вилгельмины немцы взорвали, мост в Неймегене десанту удержать не удалось. Во-вторых, высадившиеся части оказались без связи. Из-за этих «накладок» движение 30 корпуса замедлилось, к тому же (внезапно!) в районе Арнема оказалось две танковых дивизии СС, выведенных с Восточного фронта для пополнения. В конечном итоге 30 корпус так и не дошел до Арнема, остатки десанта были частично «эвакуированы», частично попали в немецкий плен.

Самое интересное тут то, что американцы, как это было показано в фильме, теряли драгоценное время из-за того, что танкисты были вынуждены дожидаться саперов из-за необходимости форсирования канала Вильгельмины и реки Ваал в Неймегене. Если река — это серьезное препятствие, то вот канал — это «речка-вонючка» шириной 30 метров и глубиной до 2,5 метров — в общем, при желании можно действительно «шапками закидать» и «враз переплюнуть».

Wilhelmina_001

Из-за того, что саперы особенно не торопились подвозить понтоны, на форсирование канала ушло чуть ли не полтора дня. Затем еще целый день был потрачен в Неймегене — ждали десантные лодки, которые должны были подвезти англичане. Интересно, кто мешал реквизировать плавсредства у местных жителей? Самое интересное — это то, что 30 танковый корпус остановился в итоге всего в нескольких километрах от Арнема, Рейн так и не форсировали и в итоге Голландская операция оказалась «выполненной на 90%». Фельдмаршал Монтгомери записал ее в список своих побед, но реально все усилия оказались напрасны — союзники форсировали Рейн только весной 1945.

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

В общем, как-то сомневаюсь я, чтобы заранее заложенные фугасы могли как-то остановить советские танки. Думаете, яму на автобане говном бы не закидали? Говорят, что русские люди вообще (от бедности?) более изобретательные, чем европейцы, и попав к ним, «наш человек» «на фоне инфантильных «тупых» иностранцев выглядит почти как продвинутый подросток-хулиган, попавший в дошкольную группу для слаборазвитых детей. Ведь он знает много несложных хитростей , которые позволили бы с легкостью отнимать у них игрушки и конфеты».

Могут ли слаборазвитые дети-имбецилы защититься от такого вот хулигана? Вот поэтому Збигнев Бжезинский и пугает всех «русской угрозой».