2009-07-08

MediaWiki: серебряная пуля или швейцарский нож? (публикация в Открытых Системах)

Кстати, уже квартал назад опубликовал статью «MediaWiki: серебряная пуля или швейцарский нож?» в журнале «Открытые системы». Журнальный вариант, как обычно, продирался сквозь редакторскую бритву Оккама и, в общем, оказался сильно урезан. Оригинальную версию статьи (где-то год ей уже исполнился), можно прочитать здесь.

Сложно сказать, читает ли еще кто-то бумажную прессу, по крайней мере «Открытые Системы» это не IT-журналы нового типа, превратившиеся в чисто рекламно-вендорские буклеты.

Я вот «Открытые Системы» читаю. Особенно мне там нравится подход художника, рисующего иллюстрации, судя по всему, используя зачаточную 3D-функциональность Adobe Illustratoра — быстро накидать 3D-клипарт на 3D схему, топорно отрендерить ее с нескольких ракурсов и получить несколько готовых иллюстраций, даже со стилем. Эх, люблю и уважаю такой подход! Настоящий Lean: no waste of resources and reusability. Жаль, что нет таких же простых инструментов для грубых 3D-картинок среди open-source или хотя бы свободных, типа Inkscape (Blender, наверно, сложноват).

Отчеты о SEF-2009

Кстати, наконец удалось опубликовать отчеты о минской конференции SEF-2009, куда я ездил в мае.

Blogger [хейт-спич]

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

Так мне казалось, и поэтому использовать Blogger для ведения «корпоративного блога» (полуинсайдерские рассказы о компании, плюс вакансии) и т.п. компании выглядело правильным решением — зачем развертывать standalone блог, возиться с его администрированием, следить, что он индексируется (тем же Гуглом) и т.п., если гораздо проще эту информацию напрямую вкладывать в пасть Гуглу — в его же собственный блог-сервис. Если там что-то отвалится — миллион человек это заметит быстрее, чем ты.
Плюс демократичность и снижение градуса официоза — открыт для комментариев на общедоступной платформе, популярной в рунете у ITшников (без «попсовости» LJ, например). Ну и самый основной бонус — связка «Google Docs → Blogger» манила возможностью подключить к процессу тех, кого, видимо, уже бесполезно учить языкам разметки, даже HTML. Тут ведь не БазаЗнаний, с меняющимся контентом, требующим гибкость, семантическую разметку, контроль версий — посты «одноразовы», для ламеров их можно рожать даже по пути «M$Word → Google Docs → Blogger».
Проблемы конечно оставались → возможности настройки шаблонов очень ограничены (фиг, например, заменишь идиотский перевод «тегов» как, прости господи, «ярлыков»). Но опять, казалось что это безопасная стихия — повлиять на нее нельзя, но тебя она не раздавит — зачем ей это, особенно если ты приносишь ей небольшие жертвы, покупаешь AdWords-рекламу для ряда постов.
Так мне казалось.

Однако попал. Месяц назад мы с коллегой долго и упорно готовили качественный отчет о конференции SEF-2009. Да, мы oldschool, вместо современного подхода — сразу выплюнуть в твиттер сто знаков эмоций о событии непосредственно, мы рожали качественный репорт, с кистями и глазетом, с блекжеком и шлюхами — большой, многословный, академически пронизанный тематическими ссылками, и т.п. Отчет готовился быть большим, разбитым на три поста ([1,2,3], ибо все-таки блог-формат подразумевает некоторую краткость и сконцентированность на теме).
Наконец, все было готово в Google Docs и я приступил к публикации. Первый пост прошел без проблем, на втором — хлоп, «Ваш блог подозревается на спам…».
Поначалу ничего не предвещало беды — наверное многим знакомый варнинг: «Этот блог заблокирован в связи с возможным нарушением Условий предоставления услуг Blogger. Вы не сможете публиковать новые сообщения, пока блог не будет пересмотрен и разблокирован. Если вы не запросите пересмотр, блог будет удален в течение 20 дней.», капча, и ссылка для реквеста на разблокирования. Разумеется запросил, и был утешен следующим стандартным сообщением:

«Роботы Blogger, предназначенные для борьбы со спамом, обнаружили, что ваш блог обладает признаками спам-блога. (Что такое спам-блог?) Если вы это читаете, то ваш блог, вероятно, не содержит спама. Автоматическая система обнаружения спама работает, по сути, нечетко, и мы приносим искренние извинения за появление этой ошибки.

Мы получили ваш запрос на разблокирование 18 Июль 2009 г.. От лица всех роботов мы извиняемся за то, что заблокировали ваш блог. Потерпите немного, пока мы просмотрим ваш блог и убедимся в том, что в нём нет спама. …
P.S. Напоминание: если Вы не отправите запрос на проверку в течение 20 дней, Ваш блог будет удален.
»

Забавно, что если поставить язык интерфейса английским, то это выглядит более обнадеживающе — "Please fill out the form below to get a review. We'll take a look at your blog and unlock it in less than two business days."

Офигеть, случилось невозможное — меня забанили в Гугле!

Итак, пошел отсчет времени. Несколько раз, каждый божий день я тыкался в интерфейс блоггера, чтобы убедиться, что воз и ныне там. В интерфейсе мне грозили карой, если не заполню запрос (нет, чтобы сразу указать, что «запрос выполнен — ждите ответа», а так, пугая — может мы ваш запрос потеряли, и если вы не ткнете здесь и сейчас — вам конец). Разумеется, напуганной такой перспективой, я раз за разом посылал запрос на разблокирования, получал знакомое «потерпите и ознакомьтесь что такое спам-блоги», и т.п.
Никакого прогресса (и даже элементарных оценок — «вы 2346249026 в очереди на ревью, мы разберемся с вами в течении 4-5 дней»), протухала актуальность тех постов-отчетов, которых мы собирались публиковать, заблокировалась возможность новых (включая объявления о вакансиях, которых мы кстати, спонсировали через Adwords) — всем, как говорится, пофиг.

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

Дальше я вышел на англоязычную ветку форума, и обнаружил там чумовое разьяснение, вроде как от причастного в Блоггеру американского чувака с простым американским ником «Mishka». Кратко: там приказано все быть паинькой и сидеть тихо, даже не дергать лишний раз запросы на разблокирования, ибо каждый такой дерг, якобы, выбрасывает вас в конец очереди. («Do not request another review before 10 business days because this is the equivalent of going to the back of the line and starting over.»). На мои замечания, о том, что это, как минимум, офигически негуманно, а как максимум — охреническое психологическое издевательство, разумеется ответа не было.
Но хорошо, был указан хоть какой-то путь эскалации проблемы — нет, не трекер проблем (эта технология, видимо, Гуглу еще неподвластна), а Форма Окончательного Призыва (на гуглдокс), которой можно воспользоваться только через 10 рабочих (рабочих, блять, бизнес-дней, не путать с календартными, жалкие лохи!) ожидания после Запроса Первого Уровня.

Был паинькой. Дождался и воспользовался заклинанием Окончательного Призыва. Результат — всем пофиг. Продолжил — нет реакции. Жаловаться в гугловую англоязычную ветку форума пока не хотел, ибо по понятиям, русскоязычные должны сидеть в русской ветке, а там, как я уже убедился всем пофиг.
Стал копать глубже. Вышел вроде как на идеолога антиспамерской борьбы в Блоггере, простого бритоголового (лысого?) парня по имени Чак.

Комменты к его зажигательным постам, (см. например тут) тоже полны человеческими страданиями, но парень непреклонно гнул свою линию, на беспощадную борьбу не смотря на жертвы (их он всегда ласково именовал «false positives»). И согласно ему — последний этап эскалации, после Первого и Окончательного Призывов — было жаловаться в ветку «Something is Broken». Ну да, мои предложения, как сделать борьбу гуманней, также пошли лесом.

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

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

И, о чудо! Прошли сутки и меня выпустили на волю. До сих пор не знаю — что сработало: жалоба в «Something is Broken», Призыв Первого Уровня с установленным в интерфейсе английским языком, или просто истечение 20 карантинных дней.
Но точно знаю — больше я этого не хочу.

А моралей будет две.

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

Проклятым сплоггерам, рулящим не отдельными спам-логами, а многотысячными сетями спам-блогов, понятное дело, это почти пофиг. Ну выбили 5% сплогов — послать автоматическое заявление на разблокирование, и продолжать. Ну забанят из этих 5% пару процентов — говно-вопрос, зарегистрируем еще.
Цитирую проклятого сплоггера: «Кроме технических средств автонаполнения сплогов необходимы средства слежения за блокировкой сплогов и средства автоматической подачи заявки на разблокирование. При наличие таких средств сплоги должны жить вечно.» [otissima.blogspot.com/2009/03/blog-post.html]

Кстати, для наивных, считающих, что капчи спасают от ботов — мне тут рассказали, как серьезные спамеры обходят ЛЮБЫЕ капчи, используя Великую Фап-Силу — это могу рассказать отдельно.

Страдают именно реальные авторы, которым нужно сделать запись здесь и сейчас (иначе поезд уйдет).

Охота на спамеров явно ведется тупейшими алгоритмами (лимитируются метрики типа число ссылок на пост и число постов в единицу времени). То, что пишущий автор — живой человек, зарегистрировался на гугле давным-давно, еще по приглашениям, пользуется почтой, документами, ридером, да вообще всеми сервисами, платит деньги за Adwords-рекламу, получает SMSы на реальный телефон, а, кстати, даже дебетовая карточка в  Google Checkout засвечена — пофиг.

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

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

Ну и очевидный вывод, что ничего критического и ценного на блоггере больше вести нельзя, я вовсе опускаю за тривиальностью.

Вы дочитали до конца этот хейт-спич, т.е. выслушали меня — огромное вам спасибо, мне стало легче.
Еще раз спасибо и извините, если посчитали себя задетым (например, работаете в Гугле), но я тоже реально зол.