XML по своему замечательный формат, поскольку для его обработки требуется всего лишь память, равная максимальной длине всех вложенных тегов + максимальному количеству вложенных тегов (а если требуется обрабатывать не весь документ, а только подэлементы, то и того меньше). Но для того, что бы обрабатывать XML поточно (событийным способом) надо сначала знать, что он, как минимум, well-formed. Т.е. по идее, надо сначала засосать XML куда-нибудь (потенциально гигантского размера), убедиться, что он well-formed, а затем обрабатывать. Тогда как можно выделить специальный тег вроде <error xmlns="streaming_error" />, который бы сигнализировал последующим обработчикам о том, что на предыдущем шаге парсер или обработчик обнаружил условие ошибки.
Т.е. обработчики могут пропускать через себя XML без проверки на валидность, а в случае ошибки сигнализировать последующим обработчикам "ну не шмогла я". Соответственно, последний обработчик в цепочке может, получив эту информацию, в зависимости от заданной логики либо отбрасывать весь уровень XML, предшествующий сообщению об ошибке, либо отбрасывать весь XML документ, в котором содержится ошибка, либо приступить к восстановлению ошибочных данных.
Вопрос: где-нибудь описан стандарт подобного оповещения? Гугление особо ничего не дало.
Т.е. обработчики могут пропускать через себя XML без проверки на валидность, а в случае ошибки сигнализировать последующим обработчикам "ну не шмогла я". Соответственно, последний обработчик в цепочке может, получив эту информацию, в зависимости от заданной логики либо отбрасывать весь уровень XML, предшествующий сообщению об ошибке, либо отбрасывать весь XML документ, в котором содержится ошибка, либо приступить к восстановлению ошибочных данных.
Вопрос: где-нибудь описан стандарт подобного оповещения? Гугление особо ничего не дало.
XML по своему замечательный формат, поскольку для его обработки требуется всего лишь память, равная максимальной длине всех вложенных тегов + максимальному количеству вложенных тегов (а если требуется обрабатывать не весь документ, а только подэлементы, то и того меньше). Но для того, что бы обрабатывать XML поточно (событийным способом) надо сначала знать, что он, как минимум, well-formed. Т.е. по идее, надо сначала засосать XML куда-нибудь (потенциально гигантского размера), убедиться, что он well-formed, а затем обрабатывать. Тогда как можно выделить специальный тег вроде <error xmlns="streaming_error" />, который бы сигнализировал последующим обработчикам о том, что на предыдущем шаге парсер или обработчик обнаружил условие ошибки.
Т.е. обработчики могут пропускать через себя XML без проверки на валидность, а в случае ошибки сигнализировать последующим обработчикам "ну не шмогла я". Соответственно, последний обработчик в цепочке может, получив эту информацию, в зависимости от заданной логики либо отбрасывать весь уровень XML, предшествующий сообщению об ошибке, либо отбрасывать весь XML документ, в котором содержится ошибка, либо приступить к восстановлению ошибочных данных.
Вопрос: где-нибудь описан стандарт подобного оповещения? Гугление особо ничего не дало.
Т.е. обработчики могут пропускать через себя XML без проверки на валидность, а в случае ошибки сигнализировать последующим обработчикам "ну не шмогла я". Соответственно, последний обработчик в цепочке может, получив эту информацию, в зависимости от заданной логики либо отбрасывать весь уровень XML, предшествующий сообщению об ошибке, либо отбрасывать весь XML документ, в котором содержится ошибка, либо приступить к восстановлению ошибочных данных.
Вопрос: где-нибудь описан стандарт подобного оповещения? Гугление особо ничего не дало.
Современная почтовая программа
Jul. 6th, 2009 11:50 amСглюкнул почтовик на работе, поэтому решил, наконец, избавиться от этой проприетарщины (вообще, Бат хороший, но они практически не заботятся о качестве и даже не пытаются засунуть себя в коробки "превед-оплаты", что бы люди смогли им заплатить).
Попробовал Thunderbird - очень хорошо, только на моих объёмах не справляется (в Inbox`е было 50k писем, в основном DSNы, в архиве 17k, а вообще около 15k ежедневно приходит). Такие тривиальные, по моему мнению, операции, как фильтрование и удаление, блокируют основной тред - пользоваться невозможно. :( Для сжатия фолдера нужно место на диске примерно столько же, сколько он занимает до сжатия (на win32, по крайней мере). :(
Кто чем пользуется из локальных почтовиков? Основное требование: открытый формат почтовых баз (желательно mbox/maildir + какие-нибудь индексы). Ну и, желательно, расширяемый, что бы можно было любимые батовские фичи потихоньку перетащить.
И ещё, кто-нибудь подскажет конвертилку базы The Bat! (2.x) в нормальный формат? Экспортировать "как UNIX mailbox" не могу - сглюкнуло что-то, пишет "Could not _import_ что-то там".
P.S. Или стоит поставить свежий Thunderbird - у меня 2.0.0.19 - может помочь в плане производительности?
P.P.S. И ещё, неужели в Thunderbird нельзя отключить функцию помечания сообщения как прочитанного сразу при открытии в полном окне? В превьюшке тоже нельзя, но там, хотя бы есть установка большого интервала автопометки... :-(
Попробовал Thunderbird - очень хорошо, только на моих объёмах не справляется (в Inbox`е было 50k писем, в основном DSNы, в архиве 17k, а вообще около 15k ежедневно приходит). Такие тривиальные, по моему мнению, операции, как фильтрование и удаление, блокируют основной тред - пользоваться невозможно. :( Для сжатия фолдера нужно место на диске примерно столько же, сколько он занимает до сжатия (на win32, по крайней мере). :(
Кто чем пользуется из локальных почтовиков? Основное требование: открытый формат почтовых баз (желательно mbox/maildir + какие-нибудь индексы). Ну и, желательно, расширяемый, что бы можно было любимые батовские фичи потихоньку перетащить.
И ещё, кто-нибудь подскажет конвертилку базы The Bat! (2.x) в нормальный формат? Экспортировать "как UNIX mailbox" не могу - сглюкнуло что-то, пишет "Could not _import_ что-то там".
P.S. Или стоит поставить свежий Thunderbird - у меня 2.0.0.19 - может помочь в плане производительности?
P.P.S. И ещё, неужели в Thunderbird нельзя отключить функцию помечания сообщения как прочитанного сразу при открытии в полном окне? В превьюшке тоже нельзя, но там, хотя бы есть установка большого интервала автопометки... :-(
Современная почтовая программа
Jul. 6th, 2009 11:50 amСглюкнул почтовик на работе, поэтому решил, наконец, избавиться от этой проприетарщины (вообще, Бат хороший, но они практически не заботятся о качестве и даже не пытаются засунуть себя в коробки "превед-оплаты", что бы люди смогли им заплатить).
Попробовал Thunderbird - очень хорошо, только на моих объёмах не справляется (в Inbox`е было 50k писем, в основном DSNы, в архиве 17k, а вообще около 15k ежедневно приходит). Такие тривиальные, по моему мнению, операции, как фильтрование и удаление, блокируют основной тред - пользоваться невозможно. :( Для сжатия фолдера нужно место на диске примерно столько же, сколько он занимает до сжатия (на win32, по крайней мере). :(
Кто чем пользуется из локальных почтовиков? Основное требование: открытый формат почтовых баз (желательно mbox/maildir + какие-нибудь индексы). Ну и, желательно, расширяемый, что бы можно было любимые батовские фичи потихоньку перетащить.
И ещё, кто-нибудь подскажет конвертилку базы The Bat! (2.x) в нормальный формат? Экспортировать "как UNIX mailbox" не могу - сглюкнуло что-то, пишет "Could not _import_ что-то там".
P.S. Или стоит поставить свежий Thunderbird - у меня 2.0.0.19 - может помочь в плане производительности?
P.P.S. И ещё, неужели в Thunderbird нельзя отключить функцию помечания сообщения как прочитанного сразу при открытии в полном окне? В превьюшке тоже нельзя, но там, хотя бы есть установка большого интервала автопометки... :-(
Попробовал Thunderbird - очень хорошо, только на моих объёмах не справляется (в Inbox`е было 50k писем, в основном DSNы, в архиве 17k, а вообще около 15k ежедневно приходит). Такие тривиальные, по моему мнению, операции, как фильтрование и удаление, блокируют основной тред - пользоваться невозможно. :( Для сжатия фолдера нужно место на диске примерно столько же, сколько он занимает до сжатия (на win32, по крайней мере). :(
Кто чем пользуется из локальных почтовиков? Основное требование: открытый формат почтовых баз (желательно mbox/maildir + какие-нибудь индексы). Ну и, желательно, расширяемый, что бы можно было любимые батовские фичи потихоньку перетащить.
И ещё, кто-нибудь подскажет конвертилку базы The Bat! (2.x) в нормальный формат? Экспортировать "как UNIX mailbox" не могу - сглюкнуло что-то, пишет "Could not _import_ что-то там".
P.S. Или стоит поставить свежий Thunderbird - у меня 2.0.0.19 - может помочь в плане производительности?
P.P.S. И ещё, неужели в Thunderbird нельзя отключить функцию помечания сообщения как прочитанного сразу при открытии в полном окне? В превьюшке тоже нельзя, но там, хотя бы есть установка большого интервала автопометки... :-(
О демократии
Jun. 28th, 2009 10:38 amНашёл меткое описание паттерна "демократия".
the strongest minority wins over the weaker minorities- сильнейшее меньшинство побеждает [все] более слабые меньшинства.
О демократии
Jun. 28th, 2009 10:38 amНашёл меткое описание паттерна "демократия".
the strongest minority wins over the weaker minorities- сильнейшее меньшинство побеждает [все] более слабые меньшинства.
Хозяину-перловику на заметку
Jun. 5th, 2009 05:08 pmТекущая версия Template-Toolkit содержит баг в Stash::XS, из-за которого строковые методы при работе с Unicode (символьными) данными дают ошибку (работают с ними как с массивами байтов, если вообще работают).
Что бы исправить, надо либо поставить свежую девелоперскую версию Template-toolkit (v2.20_4), либо отключить использование Stash::XS по умолчанию при инсталляции CPAN`овского Template-toolkit (v2.20).
P.S. Ошибка найдена и пофиксена яндексовцами лишь недавно. Удивительно, что никто не "отметился" с просьбами о помощи в сети.
Что бы исправить, надо либо поставить свежую девелоперскую версию Template-toolkit (v2.20_4), либо отключить использование Stash::XS по умолчанию при инсталляции CPAN`овского Template-toolkit (v2.20).
P.S. Ошибка найдена и пофиксена яндексовцами лишь недавно. Удивительно, что никто не "отметился" с просьбами о помощи в сети.
Хозяину-перловику на заметку
Jun. 5th, 2009 05:08 pmТекущая версия Template-Toolkit содержит баг в Stash::XS, из-за которого строковые методы при работе с Unicode (символьными) данными дают ошибку (работают с ними как с массивами байтов, если вообще работают).
Что бы исправить, надо либо поставить свежую девелоперскую версию Template-toolkit (v2.20_4), либо отключить использование Stash::XS по умолчанию при инсталляции CPAN`овского Template-toolkit (v2.20).
P.S. Ошибка найдена и пофиксена яндексовцами лишь недавно. Удивительно, что никто не "отметился" с просьбами о помощи в сети.
Что бы исправить, надо либо поставить свежую девелоперскую версию Template-toolkit (v2.20_4), либо отключить использование Stash::XS по умолчанию при инсталляции CPAN`овского Template-toolkit (v2.20).
P.S. Ошибка найдена и пофиксена яндексовцами лишь недавно. Удивительно, что никто не "отметился" с просьбами о помощи в сети.
EVE Online
May. 30th, 2009 10:14 pmРеально, EVE Online - антиутопическая игра. Сейчас только что попался на таком трюке - мне дали курьерскую миссию с большим залогом. Я её уже почти выполнил, добрался до легендарной Джиты, и тут меня suicide-gank-нули... :) Половина активов, 240KK isk - в /dev/null.
( Мораль и killmail - под катом )
( Мораль и killmail - под катом )
EVE Online
May. 30th, 2009 10:14 pmРеально, EVE Online - антиутопическая игра. Сейчас только что попался на таком трюке - мне дали курьерскую миссию с большим залогом. Я её уже почти выполнил, добрался до легендарной Джиты, и тут меня suicide-gank-нули... :) Половина активов, 240KK isk - в /dev/null.
( Мораль и killmail - под катом )
( Мораль и killmail - под катом )
Ненатуралы среди нас
May. 29th, 2009 12:06 pmGuillaume Martres smarter at ubuntu.com
Wed Sep 24 19:25:22 BST 2008
[...]
kubuntu-default-settings (1:8.10-8) intrepid; urgency=low
[ Guillaume Martres ]
* laptop-buttons/kubuntu.xmodmap: Removed "keycode 118 = XF86Music", it's now used by
Xorg for the Insert key
P.S. Ненатуралы - не Guillaume, а xorg.
Wed Sep 24 19:25:22 BST 2008
[...]
kubuntu-default-settings (1:8.10-8) intrepid; urgency=low
[ Guillaume Martres ]
* laptop-buttons/kubuntu.xmodmap: Removed "keycode 118 = XF86Music", it's now used by
Xorg for the Insert key
P.S. Ненатуралы - не Guillaume, а xorg.
Ненатуралы среди нас
May. 29th, 2009 12:06 pmGuillaume Martres smarter at ubuntu.com
Wed Sep 24 19:25:22 BST 2008
[...]
kubuntu-default-settings (1:8.10-8) intrepid; urgency=low
[ Guillaume Martres ]
* laptop-buttons/kubuntu.xmodmap: Removed "keycode 118 = XF86Music", it's now used by
Xorg for the Insert key
P.S. Ненатуралы - не Guillaume, а xorg.
Wed Sep 24 19:25:22 BST 2008
[...]
kubuntu-default-settings (1:8.10-8) intrepid; urgency=low
[ Guillaume Martres ]
* laptop-buttons/kubuntu.xmodmap: Removed "keycode 118 = XF86Music", it's now used by
Xorg for the Insert key
P.S. Ненатуралы - не Guillaume, а xorg.
(no subject)
May. 17th, 2009 04:17 pmВчера запустили WolframAlpha - движок Mathematica, натравленный на большую базу знаний.
Довольно прикольно, только я не понял, как строить графики функций, которые используют графики значений из базы. Т.е, к примеру, график € к доллару:
(1eur in $)
Можно его промодулировать данными:
(eur in $)/$ * (russia population)
Но как его промодулировать произвольной функцией? Иными словами, как из запроса на график без переменной оси абсцисс получить график этой же функции, но, скажем, перемноженной на функцию от времени (к примеру, JulianDay(t) )?
Update:
Оказывается, (1eur in $)/$ уже теряет графиковую семантику, вместо ожидаемой коррекции размерности. Это тоже непонятно - как исправить?
Довольно прикольно, только я не понял, как строить графики функций, которые используют графики значений из базы. Т.е, к примеру, график € к доллару:
(1eur in $)
Можно его промодулировать данными:
(eur in $)/$ * (russia population)
Но как его промодулировать произвольной функцией? Иными словами, как из запроса на график без переменной оси абсцисс получить график этой же функции, но, скажем, перемноженной на функцию от времени (к примеру, JulianDay(t) )?
Update:
Оказывается, (1eur in $)/$ уже теряет графиковую семантику, вместо ожидаемой коррекции размерности. Это тоже непонятно - как исправить?
(no subject)
May. 17th, 2009 04:17 pmВчера запустили WolframAlpha - движок Mathematica, натравленный на большую базу знаний.
Довольно прикольно, только я не понял, как строить графики функций, которые используют графики значений из базы. Т.е, к примеру, график € к доллару:
(1eur in $)
Можно его промодулировать данными:
(eur in $)/$ * (russia population)
Но как его промодулировать произвольной функцией? Иными словами, как из запроса на график без переменной оси абсцисс получить график этой же функции, но, скажем, перемноженной на функцию от времени (к примеру, JulianDay(t) )?
Update:
Оказывается, (1eur in $)/$ уже теряет графиковую семантику, вместо ожидаемой коррекции размерности. Это тоже непонятно - как исправить?
Довольно прикольно, только я не понял, как строить графики функций, которые используют графики значений из базы. Т.е, к примеру, график € к доллару:
(1eur in $)
Можно его промодулировать данными:
(eur in $)/$ * (russia population)
Но как его промодулировать произвольной функцией? Иными словами, как из запроса на график без переменной оси абсцисс получить график этой же функции, но, скажем, перемноженной на функцию от времени (к примеру, JulianDay(t) )?
Update:
Оказывается, (1eur in $)/$ уже теряет графиковую семантику, вместо ожидаемой коррекции размерности. Это тоже непонятно - как исправить?