Меню

Главная
Случайная статья
Настройки
Обсуждение участника:Neolexx/VV-Voters-ArCom.JS
Материал из https://ru.wikipedia.org

Содержание

Защита от правок

Можно назвать страницу с .JS на конце, чтобы её могли править только администраторы и Вы. KPu3uC B Poccuu 08:45, 28 июня 2013 (UTC)[ответить]
Спасибо за идею, так и сделаю (с перенаправлением). --NeoLexx 20:23, 2 июля 2013 (UTC)[ответить]


Предложение

Neolexx, а нельзя сделать такую же программу для полной выборки всех избирателей в администраторы на сегодняшний день и по текущим правилам. Интересно, насколько легитимно они получают бессмертность?--93.78.47.20 20:49, 29 июня 2013 (UTC)[ответить]

Версия 0.9 (текущая)

В общем, всё работает, но на comp.lang.javascript некоему Томасу этот код был бы месяц вкусной и здоровой пищи для троллинга :-) Ну да бог с ним.
  • Программа одноразовая, то есть перезапустить с начала нельзя, нужно просто закрыть и запустить заново. Лень было морочиться.
  • Если решите остановить на середине, то кнопка "остановить" не моментальна, будет доработан текущий чанк в 500 записей. Подождите, будет бравурная музыка и окно подтверждения.
  • Данные сохраняются в файле с названием по схеме AK_YYYY-MM-DD.htm в той же директории, откуда запущена программа.
  • Пока всё, будут вопросы и баги — спрашивайте и указывайте.


--NeoLexx 20:32, 2 июля 2013 (UTC)[ответить]

Отзывы

У кого-нибудь, кроме автора, эта программа работает? — W2. 14:02, 3 июля 2013 (UTC)[ответить]
  • Ещё как минимум у 18 человек. Обратите внимание, что HTA приложения работают только под Windows (увы), зато под XP, Vista, 7, 8 -32 и -64 битных (ура). В минимальном варианте: выделите весь код, Ctrl+C, открыть Блокнот, Ctrl+V, Сохранить как, "VVoters-ARCOM.hta" (с кавычками), ниже в списке Кодировка выбрать Юникод, Сохранить. Двойной щелчок по новому файлу и вперёд. Если у вас одна из версий Windows и программа всё-таки не запускается, буду благодарен за любые детали. --NeoLexx 19:07, 3 июля 2013 (UTC)[ответить]
    • Знаю, что под Windows (увы). Под XP сообщило о несовместимости среды (увы), но долго разбираться в деталях не хочется, остальные приложения работают (ура). У меня скрипт всего несколько строк и численность избирателей получилась другая, просто интересно было бы сравнить списки. — W2. 03:42, 4 июля 2013 (UTC)[ответить]
      • Сообщение "Несовместимая среда" (с последующим закрытием программы) происходит только в двух случаях: 1) не выполняется условная компиляция, то есть IE снесён полностью или поломан или 2) установлен IE8 или старше. Я думаю последнее. У многих в России старые дистрибутивы XP SP2 с IE8, броузер по умолчанию другой и IE никогда не обновляется. Я бы настойчиво рекомендовал установить хотя бы IE9 а то и IE10. Древние IE компроментируют безопасность, даже если в Интернет вы выходите только на альтернативном броузере («добрые люди» некогда постарались).
        С другой стороны, текущая версия программы не требует каких-либо специфичных функций IE9 или IE10. Поэтому для запуска вы можете максимально снизить планку отсечения в функции init()
        @if (@_jscript_version > 5.8)
        измените на
        @if (@_jscript_version > 5)
        Если и после этого у вас будет сообщение о несовместимой среде, то ваша исталляция IE поломана.
        Что касается получаемых списков, то достаточно бесполезно сравнивать только сами списки, нужно сравнивать и списки, и алгоритмы и смотреть, у кого false positive/false negative и почему. Текущий алгоритм у меня в filterRecords() такой:
        1. .editcount >= 500 // у пользователя всего не менее 500 правок
        2. .blockexpiry не установлен или установлен но не равен 'unfinity'// пользователь сейчас не заблокирован или заблокирован но не бессрочно. Заблокированные участники голосовать не могут, но выборы идут несколько дней, и блокировка может закончится/быть увеличена до конца выборов. Это уже нужно смотреть (автом.) при самой рассылке приглашений.
        3. .registration более 7776000000 ms (90 суток) назад // то есть "жёсткое отсечение", +/- сутки бюрократы сами могут решить при желании, действовать строго формально или иначе.
        4. .userdailycontribs.timeFrameEdits >= 100 // за последние 180 суток (6 месяцев) сделано не менее 100 правок
      • Это минимальный набор фильтров как мне видится. А у вас список получается больше или меньше? Если вы не готовы выложить программу под свободной лицензией, то хотя бы каков текущий алгоритм? --NeoLexx 07:48, 4 июля 2013 (UTC)[ответить]
        • Поздние версии браузера несовместимы с XP, что мне не очень нужно, поскольку в целом редко использую Windows. Поправил на @if (@_jscript_version > 5) — выдало ошибку скрипта. Сравнение списков позволяет выявить либо неучтённых в одном, либо лишних в другом списке. Я беру автоподтвержденных, исключаю ботов, исключаю заблокированных, схожим образом проверяю общее количество правок и количество правок за 6 месяцев. По дате регистрации проверяю простым сравнением временных меток. Список получается короче, пока не знаю почему. — W2. 13:47, 4 июля 2013 (UTC)[ответить]
          • На мете как-то было упомянуто (не как правило, но как мнение), что одно дело потенциально извлекаемые через сторонние программы из открытых источников данные о пользователях, другое дело публикация таких данных в уже готовой для просмотра форме. Поэтому я пока не хочу публиковать или рассылать поимённые списки избирателей. Лучше вечером просмотрю программу и, если это не компроментирует безопасность, добавлю поддержку IE8, чтобы у вас запускалось. IE6/IE7 точно не будет, слишком много известных дыр и багов. --NeoLexx 14:27, 4 июля 2013 (UTC)[ответить]
            • Если не получится поправить, могу приватно отправить вам список для сверки. — W2. 15:27, 4 июля 2013 (UTC)[ответить]
              • Shoot! :-) --NeoLexx 16:15, 4 июля 2013 (UTC)[ответить]
              • Так как XMLHttpRequest объектом по умолчанию включён и в IE8, то единственной точкой остаётся новое свойство document.head Не тестировал, но замените в init()
                URL = document.head.getElementsByTagName('BASE')[0].href;
                на старый "автогенный" способ:
                URL = document.getElementsByTagName('HEAD')[0].getElementsByTagName('BASE')[0].href; --NeoLexx 16:29, 4 июля 2013 (UTC)[ответить]
                • OK. :) Теперь запустилась, но никого не нашла. — W2. 17:49, 4 июля 2013 (UTC)[ответить]
                  • Забавно... У меня тоже вдруг перестала искать, в том числе и исходный выложенный вариант. То есть за последние 12 часов как-то изменился ответ сервера. Сейчас посмотрю, в чём дело. --NeoLexx 17:56, 4 июля 2013 (UTC)[ответить]
                    • Ложная тревога, copy-paste текущей версии работает как прежде. Вспомнил, что ontimeout у XHR тоже раньше не было. То есть наколенной подработки под XP-IE8 больше делать не буду, нужно построчно выверять. Лень, но пусть будет. Помимо вас, ещё оказались люди с нетбуками и XP-SP2/IE8. Zver, DNA Project и все дела... Ладно, учтём региональную специфику :-) --NeoLexx 18:05, 4 июля 2013 (UTC)[ответить]
                      • SP3 со всеми обновлениями. :) Нашел неучтенных избирателей, их почему-то нет в списке автоподтвержденных. — W2. 18:57, 4 июля 2013 (UTC)[ответить]


Кроме того, даже мой список пока неполон. Серверы в 2006-2008 несколько раз жёстко падали. Помимо грохнутой базы OTRS за несколько лет, есть и участники, на которых потеряли дату регистрации (.registration пустой строкой). В руВики их не так много, но они есть с вкладом за несколько лет и более 500 правок. Перед финальной версией их надо всех вычислить и отправить предложение запросить исправление аккаунта. Из-за падений серверов люди не должны терять заработанное трудом право голоса. Сейчас сажусь за backward compat для IE8. --NeoLexx 19:36, 4 июля 2013 (UTC)[ответить]
  • Думаю, достаточно исключить зарегистрированных менее 3 месяцев назад, у них есть «registration». Вероятно недочеты в списке автоподтвержденных тоже связаны со сбоями на серверах, поэтому пересчитал по всем участникам со вкладом от одной правки. По количеству получилось немного больше, чем у вас. — W2. 12:50, 5 июля 2013 (UTC)[ответить]
    • Увы (да, знаю, одно из моих любимых словечек :), но совсем просто не получится. Два первых контрпримера из предварительной фильтрации с утерянной датой регистрации: A.I. (так на минуточку, действующий администратор), A5b (тоже всё остальное в порядке). --NeoLexx 16:45, 5 июля 2013 (UTC)[ответить]
      • Если они есть в списке, отсутствие даты регистрации для решения задачи поиска избирателей не принципиально важно. — W2. 17:27, 5 июля 2013 (UTC)[ответить]
      • И почему снова увы? :) Я уже говорил, что можно сравнивать дату регистрации (registration) с текущей датой минус 3 месяца, [1] (20130705121212>20130405121212>20080101225650>0). 0 — при утраченной дате регистрации. — W2. 20:45, 5 июля 2013 (UTC)[ответить]
  • И у меня работает: «Список избирателей в арбитры на 4 июля 2013 года — 1741 имеющих право голоса из 312421 зарегистрированных (0.56 %) (276 без личных страниц, 0 без вики-почты)». С уважением, Demidenko 21:23, 3 июля 2013 (UTC)[ответить]


Вики-багзилла

Так, по уму, пора ставить на какую вики-багзиллу и ломать на мини-блоки с отдельными тредами. Но вики-багзилл у нас нет(?), потому просто постараюсь оперативно реагировать на замечания. --NeoLexx 19:19, 1 июня 2014 (UTC)[ответить]

Официальный релиз 1.0

Код для копирования заменён на окончательную версию 1.0 Проблемы выше были учтены и исправлены (что не значит невозможности появления новых :) --NeoLexx 10:30, 3 июня 2014 (UTC)[ответить]
Downgrade Counter