И снова про музыку. С тех пор, как я последний раз объявлял, что я себе хочу, у меня большая часть этого появилась. На всякий случай публикую update — вдруг у кого из Челябинска что-то из этого есть, давайте меняться.
В ответ на мой, казалось бы, риторический вопрос о том, как выполнять задачи, если нет возможности повесить выполнялку на cron, а посетители на сайт не очень ходят, Вадим Артамонов написал, что нужно «заманить паука от поисковой системы». А ведь идея-то очень хорошая. Причём, хороша она даже если посетители ходят по сайту огромными толпами.
Если на cron повесить задачи не удаётся, то, как я думал, придётся делать, например, вот так: если очередной хит произошёл через N минут после предыдущего шага выполнялки, то мы делаем ещё один шаг. Однако это коряво, потому, что один шаг может легко занять сколько угодно времени. Посетителю не очень приятно будет ждать, пока загрузится страница, особенно учитывая, что она занимается своими делами, а вовсе не тем, что от неё хочет посетитель.
Но если посетитель — это поисковый паук, то почему бы ему и не подождать? Идею можно развить, дополнив поисковых пауков вообще всеми юзер-агентами, которые работают не в «реальном времени», например, RSS-читалками.
Значит, подводя итог, получаем следующее: если предыдущий шаг произошёл более N минут назад, а юзер-агент — не браузер, то делаем ещё один шаг.
Обнаружил, что оказывается свойства типа -moz-box-sizing соответствуют стандарту. В том смысле, что W3C резервируют синтаксис -id-blah-blah для расширений разных браузеров и даже перечисляет уже известные префиксы (-moz-, -o-, -atsc- и -wap-) прямо в спецификации.
Чувством юмора они тоже не обделены:
For example, if XYZ organization added a property to describe the color of the border on the East side of the display, they might call it -xyz-border-east-color.
Единственное, что я во всём этом не могу понять, дак это то, почему эта тема так болезненна для людей, не входящих в пресловутую блогосферу. Ну пишут все вокруг про то, как правильно писать блог, ну и чёрт с ними, разве нет?
Посмеялись над ними, сказали им, какие они дураки — или друг с другом это обсудили — и хватит. Ведь читают-то всё равно люди не их. Да и даже если бы их, к чему такие серьёзные переживания?
А вы говорите «Вордпресс». Ну, «Вордпресс». Интересно, это локализация плохая, или просто у «Вордпресс» настолько фиговые возможности локализации, что даже «to» нельзя исправить на «к заметке», а «am»/«pm» на нормальное 24-часовое представление времени?
У меня-то и такого нет, но просто зачем вообще заниматься локализацией, если её нельзя сделать по-человечески?
Как вы знаете, в диспетчере задач можно по каждой задаче посмотреть кучу разной интересной информации, в частности — сколько процессорного времени она уже съела. Дак вот, обратил я сейчас внимание на то, что, когда компьютер ничего особенного не делает, время задачи «Бездействие системы» растёт со скоростью 2 секунды в секунду! То есть, вот 59:11:18, 59:11:20, 59:11:22...
Видимо это как-то связано с тем, что HT воспринимается системой как два процессора, каждый бездельничает по секунде в секунду — итого получается две. Но всё равно весьма забавно.
Так, ну что ж, следующая превьюшка для интересующихся.
Я реализовал на некотором уровне STDL — System To-Do List. Теперь при отправке заметки создаётся новая задача, в качестве исходных данных которой даётся список урлов, встреченных в заметке (откуда отсеиваются ссылки на файлы). Задача выполняется путём вызова её «атомарной функции» до тех пор, пока та не вернёт true. Функция постепенно сходит на все страницы, поищет там RDF-информацию для автодискавери, составит список урлов, которые уже можно пинговать, попингует их.
В списке задач может быть одновременно несколько задач, но пока бывают только задачи рассылки трэкбэков. За прогрессом каждой из них можно следить по адресу /tasks, ссылка на который есть и в Панели управления.
Чтобы задачи хоть как-то сдвигались с положения «Новая — 0%», нужно периодически заставлять STDL делать очередной шаг на пути к успеху. Для этого есть служба /stdl_service. Предполагается, что она будет висеть на cron’е, но чтобы просто посмотреть-поиграться её можно вызывать из браузера. Для тех у кого нет возможности вешать службы на cron, будет предусмотрено её выполнение во время гуляния посетителей. Но вот что с вам делать, если у вас и посетителей нет, и на cron вы повесить ничего не сможете — я не знаю.
Задача рассылки трэкбэков создаётся в тот момент, когда вы первый раз отправляете новую заметку на сервер. Если вы её после этого редактируете, добавляя новые урлы, которые может иметь смысл пропинговать, они пока что игнорируются. Однако, если вы запостите заметку скрытой, её трэкбэки не начнут рассылаться, пока вы не сделаете её видимой. Скоро я сделаю, чтобы при редактировании заметки список урлов для рассылки трэкбэков обновлялся.
Добавлена поддержка autodiscovery. На страницах заметок теперь включена необходимая для этого RDF-информация.
Эта версия снова не поддерживает обновления и будет падать в 203-й стоп при попытке сделать его вручную.
Посмотрел новый фильм Гая Риччи «Револьвер». Загонный фильм какой-то. Нет, конечно талант делать фильмы, где до самого конца не понятно, кто есть кто, а в самом конце ты думаешь «блин, это же было так очевидно, как я сам не допёр», у этого человека есть. Однако, не лишним является ещё и такое качество фильма, как понятность смысла произошедшего. Хотя бы после самого конца.