Archive for Февраль 2009
X2S2(X2JS)
Вчера загорелся сделать одну вещь в вебе, концепцию которой назвал X2S2.
Но для начала решил сделать приветствующую строку на той нереализованной странице. И хотел сделать, чтобы она как бы печаталась, а не просто выводилась.
И загорелся я, и сделал совершенно другое ))
Теперь это отлаженный работающий движок на js, эмулирующий консольный терминал. Текст составляется в xml файле типа
<string [wait=milliseconds]><phrase [wait=ms] [delete=true]>текст</phrase>…[миллионы фраз]</string>[млиионы строчек]
:)
Не долго думая, набросал для проверки работы неплохой монолог.
Ну и конечно не мог не выпендриться, связав xml с xslt для красивого чтения строчек терминала.
И родился новый персонаж, для которого у меня появилось много идей.
Итак…
Падите ниц перед авторитетным человеконенавистническим стандартным терминалом X2S2 под производственным номером X2JS!
http://myday.kz/arthur/x2s2/
(обновления с идеями можно будет смотреть на этой же странице)
Также повесил его на страницу с нашими антисемитскими песнями, но пока не дописал для него текст ))
http://myday.kz/arthur/music/all_sadness_of_jew_people/
P.S. И да, не пытайтесь там серфить – смотреть там нечего еще ))
Верстка divная, верстка tableная – разницы ноль
На старости лет я решил поизучать один из обычных, последних, строгих DTD консорциума W3C для HTML документов.
И вдруг меня поразила идея, посмотреть, как описаны элементы div и table, чтобы попробовать ответить на вопрос, мучавший меня давно: как доказать клиенту, что принципиально разницы между версткой divами и tableами нет?
Результат не заставил себя ждать и оказался прямо на поверхности: счастью не было предела.
Вообще, иногда тупое быдло клиенты бывают очень наслышаны от еще более тупого быдла веб-интеллектуалов о том, что верстать сайты нужно исключительно divами, так как таблицы (table) должны содержать только и только информацию о каких-либо данных, ну как в обычных таблицах в повседневной жизни.
Проблема в том, что divами верстать не очень удобно, так как приходится бороться за одинаковое отображение во всех браузерах, которые просто обожают интерпретировать отображение divов с используемыми для них стилями, в особенности правилом flow, по-своему.
Иногда это можно пережить, но чаще всего быстрее и эффективнее сделать сайт, сверстанный таблицей – результат будет отличным и не будет требовать много времени для доработки макета.
Но как же доказать наслышанному тупому быдлу клиенту, который решил, что нужно использовать для верстки макета исключительно divы, что разницы принципиальной в верстке между divами и таблицами нет, кроме заметного повышения производительности труда?
Само собой, такое тупое быдло клиентское сознание очень любит строгости и всякую подобную чушь, раз быстро приняло нерушимым правилом тип верстки. А значит и играть нужно на этом.
Очень можно потешить самолюбие тупого быдла клиента тем, что мы используем строгий DTD xhtml1-strict.
А теперь доказательство!
Открываем этот DTD и ищем описание элементов div и table. Что же мы видим?
<!ELEMENT div %Flow;>
<!ELEMENT table (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
<!ELEMENT caption %Inline;>
<!ELEMENT thead (tr)+>
<!ELEMENT tfoot (tr)+>
<!ELEMENT tbody (tr)+>
<!ELEMENT colgroup (col)*>
<!ELEMENT col EMPTY>
<!ELEMENT tr (th|td)+>
<!ELEMENT th %Flow;>
<!ELEMENT td %Flow;>
В divе все понятно, а в таблице нас интересуют последние две строчки, поскольку именно th и td являются информационнохранящими ячейками таблицы. И что же мы видим? И div, и th/td хранят один и тот же тип информации! %Flow.
Для интереса можно взглянуть, что из себя представляет %Flow.
<!ENTITY % Flow «(#PCDATA | %block; | form | %inline; | %misc;)*»>
Ага! Это может быть любой символьной информацией или тегом <form>!
Но нам этого мало, верно? Нам нужно полностью подорвать мнение тупого быдла клиента о верном теге для верстки!
Для полного понимания посмотрим, что такое %block, %inline и %misc:
<!ENTITY % block «p | %heading; | div | %lists; | %blocktext; | fieldset | table»>
<!ENTITY % inline «a | %special; | %fontstyle; | %phrase; | %inline.forms;»>
<!ENTITY % misc «noscript | %misc.inline;»>
Погружаться в остальное нам уже нет смысла, самое главное в %block. А %block из себя представляет любой блочный тег, в том числе table и div, а то есть td/th может хранить в себе тот же div, именно который и имеет полное и исключительное право хранить информацию для верстки, по мнению нашего тупого быдла клиента!
А следовательно, для верстки можно использовать и divы, и таблицы!
Остается только повториться, что таблицы очень сильно повышают скорость процесса изготовления сайта.
Теория доказана, за сим откланяюсь, надеюсь кому-то будет полезно :)
Цивилизация в центре Азии
Товарища оштрафовали на шесть тысяч тенге. И не на месте забрали, как обычно делается, а квитанцию выписали. За переход дороги на красный свет.
Казахстан стремительно движется к цивилизации.
Единый доступ к циклу песен
Теперь цикл песен «Вся грусть еврейского народа» доступен на этой странице:
http://myday.kz/arthur/music/all_sadness_of_jew_people/
Быстренько набросал простенькую страницу.
Со временем улучшу ее, добавлю возможность комментировать песни и цикл весь целиком, ну и прочие фишки с аяксом.
Также, соответственно, будут добавляться новые песни.
Сейчас уже готово «Хавай могилы, или Жидоупырская плясовая» и «Холокост-фрейлехс». Следующая на подходе: «Песня мертвого аммонитянина».
Приятного антисемитского прослушивания!